Google Analytics Dashboard for WP (GADWP) - Version 6.2.0

Version Description

Download this release

Release Info

Developer chriscct7
Plugin Icon 128x128 Google Analytics Dashboard for WP (GADWP)
Version 6.2.0
Comparing to
See all releases

Code changes from version 6.1.0 to 6.2.0

assets/gutenberg/css/editor.css ADDED
@@ -0,0 +1 @@
 
1
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");.exactmetrics-inline-buttons{display:-ms-grid;display:grid;-ms-grid-columns:(1fr)[2];grid-template-columns:repeat(2, 1fr)}.exactmetrics-switcher-button{border:0;border-radius:0;font-size:13px;font-weight:normal;color:#393F4C;padding:17px 15px;border-bottom:3px solid transparent;cursor:pointer;text-align:left;white-space:nowrap}.exactmetrics-switcher-button.active,.exactmetrics-switcher-button:hover,.exactmetrics-switcher-button:active,.exactmetrics-switcher-button:focus{outline:none;border-bottom:3px solid #117DB8}.exactmetrics-switcher-button.active{font-weight:bold}.exactmetrics-headline-analyzer-wrapper{font-family:"Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;position:relative}.exactmetrics-headline-analyzer-wrapper p{font-size:13px;color:#393F4C}.exactmetrics-headline-analyzer-wrapper .green{color:#1EC185}.exactmetrics-headline-analyzer-wrapper .orange{color:#F2994A}.exactmetrics-headline-analyzer-wrapper .red{color:#EB5757}.exactmetrics-headline-analyzer-wrapper .green-bg{background:#1EC185}.exactmetrics-headline-analyzer-wrapper .orange-bg{background:#F2994A}.exactmetrics-headline-analyzer-wrapper .red-bg{background:#EB5757}.exactmetrics-headline-analyzer-wrapper .components-panel__body-toggle.components-button{font-family:"Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;font-weight:bold;font-size:13px;color:#393F4C}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-empty-title-warning{text-align:center;padding:0 20px;margin:20px 0;font-size:13px;color:#393F4C}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-current-score-tab p{text-align:center}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-current-score-tab .exactmetrics-headline-analyzer-current-title{text-align:center;font-size:16px;color:#393F4C;margin:0 0 28px 0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-current-score-tab .exactmetrics-headline-analyzer-pie-chart-container{position:relative;width:160px;height:80px;margin:0 auto;margin-bottom:18px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-current-score-tab .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-current-score{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:30px;font-family:'Roboto', sans-serif;line-height:0%}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-current-score-tab .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-current-score p{margin-bottom:0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel h4{text-align:center;font-size:16px;color:#393F4C;margin:0 0 28px 0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .exactmetrics-headline-analyzer-pie-chart-container{position:relative;width:160px;height:80px;margin:0 auto;margin-bottom:18px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-new-score{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:30px;font-family:'Roboto', sans-serif;line-height:0%}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-new-score p{margin-bottom:0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .current-score{text-align:center}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .current-score h5{font-weight:bold;color:#393F4C;margin-top:0;margin-bottom:8px;text-align:center;font-size:13px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-score-panel .current-score p{margin-top:8px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-new-tab{margin-bottom:6px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-input-field{margin-bottom:6px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-input-field .components-base-control__label{display:block;max-width:100%;font-size:12px;margin-bottom:8px;color:#626D83}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-input-field input{padding:11px 12px;font-size:13px;border:1px solid #E2E4E7;color:#393F4C}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-button{padding-right:11px;font-size:13px;border-radius:3px;padding-left:11px;height:29px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-score-difference{font-size:20px;font-weight:bold;display:block;text-align:center;margin-top:0;margin-bottom:40px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-previous-scores li{font-size:13px;line-height:24px;color:#393F4C;margin-bottom:20px;padding-left:36px;position:relative;cursor:pointer}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-previous-scores li:last-child{margin-bottom:0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-previous-scores .exactmetrics-headline-analyzer-score{margin-left:-36px;position:absolute;top:0}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon .components-panel__body-toggle .components-panel__icon{position:absolute;right:40px;top:50%;margin-top:-8px}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon.red .components-panel__body-toggle .components-panel__icon path{fill:#EB5757}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon.orange .components-panel__body-toggle .components-panel__icon path{fill:#F2994A}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon.green .components-panel__body-toggle .components-panel__icon path{fill:#1EC185}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon-alternative{position:relative}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-has-icon-alternative .exactmetrics-headline-analyzer-panel-icon-alternative{position:absolute;top:14px;right:40px;font-weight:bold}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-word-balance .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-sentiment .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-types .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-character-count .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-word-count .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-beginning-ending-words .components-panel__row,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row{display:block}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-word-balance .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-sentiment .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-types .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-character-count .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-word-count .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-beginning-ending-words .components-panel__row h4,.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row h4{font-size:16px;color:#393F4C;font-weight:bold;margin:0 0 8px 0}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block{margin-top:28px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block h5{font-size:13px;color:#393F4C;margin-top:0;margin-bottom:12px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data{overflow:hidden}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span{display:block;float:left}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span.exactmetrics-headline-analyzer-words-block-percentage{width:30%;font-size:24px;font-weight:bold;line-height:20px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span.exactmetrics-headline-analyzer-words-block-goal{width:40%;font-size:12px;color:#9CA4B5}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span.exactmetrics-headline-analyzer-words-block-progressbar{width:30%;position:relative;height:8px;margin-top:4px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span.exactmetrics-headline-analyzer-words-block-progressbar .exactmetrics-headline-analyzer-progressbar-bg{width:100%;background:#EEF0F2;height:8px;z-index:9;position:absolute;top:0;left:0;border-radius:30px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-block-data span.exactmetrics-headline-analyzer-words-block-progressbar .exactmetrics-headline-analyzer-progressbar-part{position:absolute;height:8px;top:0;left:0;z-index:10;border-radius:30px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-tag-list{margin:0;padding:0;list-style:none;display:block;margin-top:12px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-tag-list li{display:inline-block;font-size:12px;color:#393F4C;background:#D6D9E0;border-radius:4px;font-family:'Roboto', sans-serif;padding:2px 9px;margin-right:8px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-words-block .exactmetrics-headline-analyzer-words-guideline{margin-top:8px;color:#4F4F4F}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-character-count p{text-align:left}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-character-count .exactmetrics-headline-analyzer-pie-chart-container{position:relative;width:160px;height:80px;margin:0 auto;margin-bottom:18px;margin-left:-40px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-character-count .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-character-length{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:30px;font-family:'Roboto', sans-serif;line-height:0%}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-character-count .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-status-on-character-length{position:absolute;left:144px;top:50%;font-size:16px;color:#393F4C;margin:-9px 0 0 0;font-weight:bold;width:130px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-word-count p{text-align:left}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-word-count .exactmetrics-headline-analyzer-pie-chart-container{position:relative;width:160px;height:80px;margin:0 auto;margin-bottom:18px;margin-left:-40px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-word-count .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-word-length{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:30px;font-family:'Roboto', sans-serif;line-height:0%}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-word-count .exactmetrics-headline-analyzer-pie-chart-container .exactmetrics-headline-analyzer-status-on-word-length{position:absolute;left:144px;top:50%;font-size:16px;color:#393F4C;margin:-9px 0 0 0;font-weight:bold;width:130px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-beginning-ending-words .exactmetrics-headline-analyzer-words{display:block;margin-bottom:12px}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-beginning-ending-words .exactmetrics-headline-analyzer-words span{font-size:14px;color:#fff;background:#7F899F;border-radius:6px;font-family:'Roboto', sans-serif;padding:6px 12px;display:inline-block}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-beginning-ending-words .exactmetrics-headline-analyzer-words-guideline{margin-top:20px;margin-bottom:0}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row h4{color:#4285F4;font-size:16px;margin:0;text-transform:none;margin-bottom:8px;margin-top:10px;font-family:Arial, Helvetica, sans-serif;font-weight:normal}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row .exactmetrics-headline-analyzer-post-url{margin-bottom:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row .exactmetrics-headline-analyzer-post-url a{color:#34A853;font-size:14px;font-family:Arial, Helvetica, sans-serif}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row .exactmetrics-headline-analyzer-post-url a:hover{opacity:0.8}.exactmetrics-headline-analyzer-wrapper .components-panel__body.exactmetrics-headline-analyzer-panel-search-preview .components-panel__row p{font-family:Arial, Helvetica, sans-serif}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-types .exactmetrics-headline-analyzer-panel-types-title{display:block;width:100%;font-size:13px;color:#393F4C}.exactmetrics-headline-analyzer-wrapper .exactmetrics-headline-analyzer-panel-types .exactmetrics-headline-analyzer-panel-types-title span{float:right;margin-right:25px;color:#393F4C;font-size:13px}.edit-post-header__settings button.components-button[exactmetrics-button-color]{font-family:"Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif}.edit-post-header__settings button.components-button[exactmetrics-button-color] svg{margin-right:8px}.edit-post-header__settings button.components-button[exactmetrics-button-color] span{font-size:14px;color:#fff}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']{background:#FAD1D1;border:1px solid #EB5757}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'].is-pressed{background:#EB5757 !important}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'].is-pressed svg path{fill:#fff}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'] svg path{fill:#EB5757}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'] span{color:#E73232}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']{background:#F8C9A0;border:1px solid #F2994A}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'].is-pressed{background:#F2994A !important}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'].is-pressed svg path{fill:#fff}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'] svg path{fill:#F08629}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'] span{color:#D66D0F}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']{background:#D3F8EA;border:1px solid #1EC185}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'].is-pressed{background:#1EC185 !important}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'].is-pressed svg path{fill:#fff}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'] svg path{fill:#1EC185}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'] span{color:#1BB17A}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'].is-pressed,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'].is-pressed,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:hover,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:active,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:focus,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'].is-pressed{box-shadow:none !important}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'].is-pressed svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'].is-pressed svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:hover svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:active svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:focus svg path,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'].is-pressed svg path{fill:#fff !important}.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:hover span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:active span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red']:focus span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='red'].is-pressed span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:hover span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:active span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green']:focus span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='green'].is-pressed span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:hover span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:active span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange']:focus span,.edit-post-header__settings button.components-button[exactmetrics-button-color][exactmetrics-button-color='orange'].is-pressed span{color:#fff}.edit-post-sidebar{scroll-behavior:smooth}.exactmetrics-headline-analyzer-score{color:#fff;font-size:11px;font-family:'Roboto', sans-serif;font-weight:bold;border-radius:50%;margin:0 auto;width:24px;height:24px;min-height:24px;display:inline-block;line-height:12px;padding-top:7px;text-align:center}.exactmetrics-headline-analyzer-bottom-notice{padding:15px 20px 0 15px;border-top:1px solid #e2e4e7}.exactmetrics-headline-analyzer-bottom-notice p{text-align:left}
assets/gutenberg/js/editor.js ADDED
@@ -0,0 +1,46248 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, {
40
+ /******/ configurable: false,
41
+ /******/ enumerable: true,
42
+ /******/ get: getter
43
+ /******/ });
44
+ /******/ }
45
+ /******/ };
46
+ /******/
47
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
48
+ /******/ __webpack_require__.n = function(module) {
49
+ /******/ var getter = module && module.__esModule ?
50
+ /******/ function getDefault() { return module['default']; } :
51
+ /******/ function getModuleExports() { return module; };
52
+ /******/ __webpack_require__.d(getter, 'a', getter);
53
+ /******/ return getter;
54
+ /******/ };
55
+ /******/
56
+ /******/ // Object.prototype.hasOwnProperty.call
57
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
58
+ /******/
59
+ /******/ // __webpack_public_path__
60
+ /******/ __webpack_require__.p = "";
61
+ /******/
62
+ /******/ // Load entry module and return exports
63
+ /******/ return __webpack_require__(__webpack_require__.s = 220);
64
+ /******/ })
65
+ /************************************************************************/
66
+ /******/ ([
67
+ /* 0 */
68
+ /***/ (function(module, exports, __webpack_require__) {
69
+
70
+ /* WEBPACK VAR INJECTION */(function(module) {var require;//! moment.js
71
+ //! version : 2.27.0
72
+ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
73
+ //! license : MIT
74
+ //! momentjs.com
75
+
76
+ ;(function (global, factory) {
77
+ true ? module.exports = factory() :
78
+ typeof define === 'function' && define.amd ? define(factory) :
79
+ global.moment = factory()
80
+ }(this, (function () { 'use strict';
81
+
82
+ var hookCallback;
83
+
84
+ function hooks() {
85
+ return hookCallback.apply(null, arguments);
86
+ }
87
+
88
+ // This is done to register the method called with moment()
89
+ // without creating circular dependencies.
90
+ function setHookCallback(callback) {
91
+ hookCallback = callback;
92
+ }
93
+
94
+ function isArray(input) {
95
+ return (
96
+ input instanceof Array ||
97
+ Object.prototype.toString.call(input) === '[object Array]'
98
+ );
99
+ }
100
+
101
+ function isObject(input) {
102
+ // IE8 will treat undefined and null as object if it wasn't for
103
+ // input != null
104
+ return (
105
+ input != null &&
106
+ Object.prototype.toString.call(input) === '[object Object]'
107
+ );
108
+ }
109
+
110
+ function hasOwnProp(a, b) {
111
+ return Object.prototype.hasOwnProperty.call(a, b);
112
+ }
113
+
114
+ function isObjectEmpty(obj) {
115
+ if (Object.getOwnPropertyNames) {
116
+ return Object.getOwnPropertyNames(obj).length === 0;
117
+ } else {
118
+ var k;
119
+ for (k in obj) {
120
+ if (hasOwnProp(obj, k)) {
121
+ return false;
122
+ }
123
+ }
124
+ return true;
125
+ }
126
+ }
127
+
128
+ function isUndefined(input) {
129
+ return input === void 0;
130
+ }
131
+
132
+ function isNumber(input) {
133
+ return (
134
+ typeof input === 'number' ||
135
+ Object.prototype.toString.call(input) === '[object Number]'
136
+ );
137
+ }
138
+
139
+ function isDate(input) {
140
+ return (
141
+ input instanceof Date ||
142
+ Object.prototype.toString.call(input) === '[object Date]'
143
+ );
144
+ }
145
+
146
+ function map(arr, fn) {
147
+ var res = [],
148
+ i;
149
+ for (i = 0; i < arr.length; ++i) {
150
+ res.push(fn(arr[i], i));
151
+ }
152
+ return res;
153
+ }
154
+
155
+ function extend(a, b) {
156
+ for (var i in b) {
157
+ if (hasOwnProp(b, i)) {
158
+ a[i] = b[i];
159
+ }
160
+ }
161
+
162
+ if (hasOwnProp(b, 'toString')) {
163
+ a.toString = b.toString;
164
+ }
165
+
166
+ if (hasOwnProp(b, 'valueOf')) {
167
+ a.valueOf = b.valueOf;
168
+ }
169
+
170
+ return a;
171
+ }
172
+
173
+ function createUTC(input, format, locale, strict) {
174
+ return createLocalOrUTC(input, format, locale, strict, true).utc();
175
+ }
176
+
177
+ function defaultParsingFlags() {
178
+ // We need to deep clone this object.
179
+ return {
180
+ empty: false,
181
+ unusedTokens: [],
182
+ unusedInput: [],
183
+ overflow: -2,
184
+ charsLeftOver: 0,
185
+ nullInput: false,
186
+ invalidEra: null,
187
+ invalidMonth: null,
188
+ invalidFormat: false,
189
+ userInvalidated: false,
190
+ iso: false,
191
+ parsedDateParts: [],
192
+ era: null,
193
+ meridiem: null,
194
+ rfc2822: false,
195
+ weekdayMismatch: false,
196
+ };
197
+ }
198
+
199
+ function getParsingFlags(m) {
200
+ if (m._pf == null) {
201
+ m._pf = defaultParsingFlags();
202
+ }
203
+ return m._pf;
204
+ }
205
+
206
+ var some;
207
+ if (Array.prototype.some) {
208
+ some = Array.prototype.some;
209
+ } else {
210
+ some = function (fun) {
211
+ var t = Object(this),
212
+ len = t.length >>> 0,
213
+ i;
214
+
215
+ for (i = 0; i < len; i++) {
216
+ if (i in t && fun.call(this, t[i], i, t)) {
217
+ return true;
218
+ }
219
+ }
220
+
221
+ return false;
222
+ };
223
+ }
224
+
225
+ function isValid(m) {
226
+ if (m._isValid == null) {
227
+ var flags = getParsingFlags(m),
228
+ parsedParts = some.call(flags.parsedDateParts, function (i) {
229
+ return i != null;
230
+ }),
231
+ isNowValid =
232
+ !isNaN(m._d.getTime()) &&
233
+ flags.overflow < 0 &&
234
+ !flags.empty &&
235
+ !flags.invalidEra &&
236
+ !flags.invalidMonth &&
237
+ !flags.invalidWeekday &&
238
+ !flags.weekdayMismatch &&
239
+ !flags.nullInput &&
240
+ !flags.invalidFormat &&
241
+ !flags.userInvalidated &&
242
+ (!flags.meridiem || (flags.meridiem && parsedParts));
243
+
244
+ if (m._strict) {
245
+ isNowValid =
246
+ isNowValid &&
247
+ flags.charsLeftOver === 0 &&
248
+ flags.unusedTokens.length === 0 &&
249
+ flags.bigHour === undefined;
250
+ }
251
+
252
+ if (Object.isFrozen == null || !Object.isFrozen(m)) {
253
+ m._isValid = isNowValid;
254
+ } else {
255
+ return isNowValid;
256
+ }
257
+ }
258
+ return m._isValid;
259
+ }
260
+
261
+ function createInvalid(flags) {
262
+ var m = createUTC(NaN);
263
+ if (flags != null) {
264
+ extend(getParsingFlags(m), flags);
265
+ } else {
266
+ getParsingFlags(m).userInvalidated = true;
267
+ }
268
+
269
+ return m;
270
+ }
271
+
272
+ // Plugins that add properties should also add the key here (null value),
273
+ // so we can properly clone ourselves.
274
+ var momentProperties = (hooks.momentProperties = []),
275
+ updateInProgress = false;
276
+
277
+ function copyConfig(to, from) {
278
+ var i, prop, val;
279
+
280
+ if (!isUndefined(from._isAMomentObject)) {
281
+ to._isAMomentObject = from._isAMomentObject;
282
+ }
283
+ if (!isUndefined(from._i)) {
284
+ to._i = from._i;
285
+ }
286
+ if (!isUndefined(from._f)) {
287
+ to._f = from._f;
288
+ }
289
+ if (!isUndefined(from._l)) {
290
+ to._l = from._l;
291
+ }
292
+ if (!isUndefined(from._strict)) {
293
+ to._strict = from._strict;
294
+ }
295
+ if (!isUndefined(from._tzm)) {
296
+ to._tzm = from._tzm;
297
+ }
298
+ if (!isUndefined(from._isUTC)) {
299
+ to._isUTC = from._isUTC;
300
+ }
301
+ if (!isUndefined(from._offset)) {
302
+ to._offset = from._offset;
303
+ }
304
+ if (!isUndefined(from._pf)) {
305
+ to._pf = getParsingFlags(from);
306
+ }
307
+ if (!isUndefined(from._locale)) {
308
+ to._locale = from._locale;
309
+ }
310
+
311
+ if (momentProperties.length > 0) {
312
+ for (i = 0; i < momentProperties.length; i++) {
313
+ prop = momentProperties[i];
314
+ val = from[prop];
315
+ if (!isUndefined(val)) {
316
+ to[prop] = val;
317
+ }
318
+ }
319
+ }
320
+
321
+ return to;
322
+ }
323
+
324
+ // Moment prototype object
325
+ function Moment(config) {
326
+ copyConfig(this, config);
327
+ this._d = new Date(config._d != null ? config._d.getTime() : NaN);
328
+ if (!this.isValid()) {
329
+ this._d = new Date(NaN);
330
+ }
331
+ // Prevent infinite loop in case updateOffset creates new moment
332
+ // objects.
333
+ if (updateInProgress === false) {
334
+ updateInProgress = true;
335
+ hooks.updateOffset(this);
336
+ updateInProgress = false;
337
+ }
338
+ }
339
+
340
+ function isMoment(obj) {
341
+ return (
342
+ obj instanceof Moment || (obj != null && obj._isAMomentObject != null)
343
+ );
344
+ }
345
+
346
+ function warn(msg) {
347
+ if (
348
+ hooks.suppressDeprecationWarnings === false &&
349
+ typeof console !== 'undefined' &&
350
+ console.warn
351
+ ) {
352
+ console.warn('Deprecation warning: ' + msg);
353
+ }
354
+ }
355
+
356
+ function deprecate(msg, fn) {
357
+ var firstTime = true;
358
+
359
+ return extend(function () {
360
+ if (hooks.deprecationHandler != null) {
361
+ hooks.deprecationHandler(null, msg);
362
+ }
363
+ if (firstTime) {
364
+ var args = [],
365
+ arg,
366
+ i,
367
+ key;
368
+ for (i = 0; i < arguments.length; i++) {
369
+ arg = '';
370
+ if (typeof arguments[i] === 'object') {
371
+ arg += '\n[' + i + '] ';
372
+ for (key in arguments[0]) {
373
+ if (hasOwnProp(arguments[0], key)) {
374
+ arg += key + ': ' + arguments[0][key] + ', ';
375
+ }
376
+ }
377
+ arg = arg.slice(0, -2); // Remove trailing comma and space
378
+ } else {
379
+ arg = arguments[i];
380
+ }
381
+ args.push(arg);
382
+ }
383
+ warn(
384
+ msg +
385
+ '\nArguments: ' +
386
+ Array.prototype.slice.call(args).join('') +
387
+ '\n' +
388
+ new Error().stack
389
+ );
390
+ firstTime = false;
391
+ }
392
+ return fn.apply(this, arguments);
393
+ }, fn);
394
+ }
395
+
396
+ var deprecations = {};
397
+
398
+ function deprecateSimple(name, msg) {
399
+ if (hooks.deprecationHandler != null) {
400
+ hooks.deprecationHandler(name, msg);
401
+ }
402
+ if (!deprecations[name]) {
403
+ warn(msg);
404
+ deprecations[name] = true;
405
+ }
406
+ }
407
+
408
+ hooks.suppressDeprecationWarnings = false;
409
+ hooks.deprecationHandler = null;
410
+
411
+ function isFunction(input) {
412
+ return (
413
+ (typeof Function !== 'undefined' && input instanceof Function) ||
414
+ Object.prototype.toString.call(input) === '[object Function]'
415
+ );
416
+ }
417
+
418
+ function set(config) {
419
+ var prop, i;
420
+ for (i in config) {
421
+ if (hasOwnProp(config, i)) {
422
+ prop = config[i];
423
+ if (isFunction(prop)) {
424
+ this[i] = prop;
425
+ } else {
426
+ this['_' + i] = prop;
427
+ }
428
+ }
429
+ }
430
+ this._config = config;
431
+ // Lenient ordinal parsing accepts just a number in addition to
432
+ // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
433
+ // TODO: Remove "ordinalParse" fallback in next major release.
434
+ this._dayOfMonthOrdinalParseLenient = new RegExp(
435
+ (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
436
+ '|' +
437
+ /\d{1,2}/.source
438
+ );
439
+ }
440
+
441
+ function mergeConfigs(parentConfig, childConfig) {
442
+ var res = extend({}, parentConfig),
443
+ prop;
444
+ for (prop in childConfig) {
445
+ if (hasOwnProp(childConfig, prop)) {
446
+ if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
447
+ res[prop] = {};
448
+ extend(res[prop], parentConfig[prop]);
449
+ extend(res[prop], childConfig[prop]);
450
+ } else if (childConfig[prop] != null) {
451
+ res[prop] = childConfig[prop];
452
+ } else {
453
+ delete res[prop];
454
+ }
455
+ }
456
+ }
457
+ for (prop in parentConfig) {
458
+ if (
459
+ hasOwnProp(parentConfig, prop) &&
460
+ !hasOwnProp(childConfig, prop) &&
461
+ isObject(parentConfig[prop])
462
+ ) {
463
+ // make sure changes to properties don't modify parent config
464
+ res[prop] = extend({}, res[prop]);
465
+ }
466
+ }
467
+ return res;
468
+ }
469
+
470
+ function Locale(config) {
471
+ if (config != null) {
472
+ this.set(config);
473
+ }
474
+ }
475
+
476
+ var keys;
477
+
478
+ if (Object.keys) {
479
+ keys = Object.keys;
480
+ } else {
481
+ keys = function (obj) {
482
+ var i,
483
+ res = [];
484
+ for (i in obj) {
485
+ if (hasOwnProp(obj, i)) {
486
+ res.push(i);
487
+ }
488
+ }
489
+ return res;
490
+ };
491
+ }
492
+
493
+ var defaultCalendar = {
494
+ sameDay: '[Today at] LT',
495
+ nextDay: '[Tomorrow at] LT',
496
+ nextWeek: 'dddd [at] LT',
497
+ lastDay: '[Yesterday at] LT',
498
+ lastWeek: '[Last] dddd [at] LT',
499
+ sameElse: 'L',
500
+ };
501
+
502
+ function calendar(key, mom, now) {
503
+ var output = this._calendar[key] || this._calendar['sameElse'];
504
+ return isFunction(output) ? output.call(mom, now) : output;
505
+ }
506
+
507
+ function zeroFill(number, targetLength, forceSign) {
508
+ var absNumber = '' + Math.abs(number),
509
+ zerosToFill = targetLength - absNumber.length,
510
+ sign = number >= 0;
511
+ return (
512
+ (sign ? (forceSign ? '+' : '') : '-') +
513
+ Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +
514
+ absNumber
515
+ );
516
+ }
517
+
518
+ var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
519
+ localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
520
+ formatFunctions = {},
521
+ formatTokenFunctions = {};
522
+
523
+ // token: 'M'
524
+ // padded: ['MM', 2]
525
+ // ordinal: 'Mo'
526
+ // callback: function () { this.month() + 1 }
527
+ function addFormatToken(token, padded, ordinal, callback) {
528
+ var func = callback;
529
+ if (typeof callback === 'string') {
530
+ func = function () {
531
+ return this[callback]();
532
+ };
533
+ }
534
+ if (token) {
535
+ formatTokenFunctions[token] = func;
536
+ }
537
+ if (padded) {
538
+ formatTokenFunctions[padded[0]] = function () {
539
+ return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
540
+ };
541
+ }
542
+ if (ordinal) {
543
+ formatTokenFunctions[ordinal] = function () {
544
+ return this.localeData().ordinal(
545
+ func.apply(this, arguments),
546
+ token
547
+ );
548
+ };
549
+ }
550
+ }
551
+
552
+ function removeFormattingTokens(input) {
553
+ if (input.match(/\[[\s\S]/)) {
554
+ return input.replace(/^\[|\]$/g, '');
555
+ }
556
+ return input.replace(/\\/g, '');
557
+ }
558
+
559
+ function makeFormatFunction(format) {
560
+ var array = format.match(formattingTokens),
561
+ i,
562
+ length;
563
+
564
+ for (i = 0, length = array.length; i < length; i++) {
565
+ if (formatTokenFunctions[array[i]]) {
566
+ array[i] = formatTokenFunctions[array[i]];
567
+ } else {
568
+ array[i] = removeFormattingTokens(array[i]);
569
+ }
570
+ }
571
+
572
+ return function (mom) {
573
+ var output = '',
574
+ i;
575
+ for (i = 0; i < length; i++) {
576
+ output += isFunction(array[i])
577
+ ? array[i].call(mom, format)
578
+ : array[i];
579
+ }
580
+ return output;
581
+ };
582
+ }
583
+
584
+ // format date using native date object
585
+ function formatMoment(m, format) {
586
+ if (!m.isValid()) {
587
+ return m.localeData().invalidDate();
588
+ }
589
+
590
+ format = expandFormat(format, m.localeData());
591
+ formatFunctions[format] =
592
+ formatFunctions[format] || makeFormatFunction(format);
593
+
594
+ return formatFunctions[format](m);
595
+ }
596
+
597
+ function expandFormat(format, locale) {
598
+ var i = 5;
599
+
600
+ function replaceLongDateFormatTokens(input) {
601
+ return locale.longDateFormat(input) || input;
602
+ }
603
+
604
+ localFormattingTokens.lastIndex = 0;
605
+ while (i >= 0 && localFormattingTokens.test(format)) {
606
+ format = format.replace(
607
+ localFormattingTokens,
608
+ replaceLongDateFormatTokens
609
+ );
610
+ localFormattingTokens.lastIndex = 0;
611
+ i -= 1;
612
+ }
613
+
614
+ return format;
615
+ }
616
+
617
+ var defaultLongDateFormat = {
618
+ LTS: 'h:mm:ss A',
619
+ LT: 'h:mm A',
620
+ L: 'MM/DD/YYYY',
621
+ LL: 'MMMM D, YYYY',
622
+ LLL: 'MMMM D, YYYY h:mm A',
623
+ LLLL: 'dddd, MMMM D, YYYY h:mm A',
624
+ };
625
+
626
+ function longDateFormat(key) {
627
+ var format = this._longDateFormat[key],
628
+ formatUpper = this._longDateFormat[key.toUpperCase()];
629
+
630
+ if (format || !formatUpper) {
631
+ return format;
632
+ }
633
+
634
+ this._longDateFormat[key] = formatUpper
635
+ .match(formattingTokens)
636
+ .map(function (tok) {
637
+ if (
638
+ tok === 'MMMM' ||
639
+ tok === 'MM' ||
640
+ tok === 'DD' ||
641
+ tok === 'dddd'
642
+ ) {
643
+ return tok.slice(1);
644
+ }
645
+ return tok;
646
+ })
647
+ .join('');
648
+
649
+ return this._longDateFormat[key];
650
+ }
651
+
652
+ var defaultInvalidDate = 'Invalid date';
653
+
654
+ function invalidDate() {
655
+ return this._invalidDate;
656
+ }
657
+
658
+ var defaultOrdinal = '%d',
659
+ defaultDayOfMonthOrdinalParse = /\d{1,2}/;
660
+
661
+ function ordinal(number) {
662
+ return this._ordinal.replace('%d', number);
663
+ }
664
+
665
+ var defaultRelativeTime = {
666
+ future: 'in %s',
667
+ past: '%s ago',
668
+ s: 'a few seconds',
669
+ ss: '%d seconds',
670
+ m: 'a minute',
671
+ mm: '%d minutes',
672
+ h: 'an hour',
673
+ hh: '%d hours',
674
+ d: 'a day',
675
+ dd: '%d days',
676
+ w: 'a week',
677
+ ww: '%d weeks',
678
+ M: 'a month',
679
+ MM: '%d months',
680
+ y: 'a year',
681
+ yy: '%d years',
682
+ };
683
+
684
+ function relativeTime(number, withoutSuffix, string, isFuture) {
685
+ var output = this._relativeTime[string];
686
+ return isFunction(output)
687
+ ? output(number, withoutSuffix, string, isFuture)
688
+ : output.replace(/%d/i, number);
689
+ }
690
+
691
+ function pastFuture(diff, output) {
692
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
693
+ return isFunction(format) ? format(output) : format.replace(/%s/i, output);
694
+ }
695
+
696
+ var aliases = {};
697
+
698
+ function addUnitAlias(unit, shorthand) {
699
+ var lowerCase = unit.toLowerCase();
700
+ aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
701
+ }
702
+
703
+ function normalizeUnits(units) {
704
+ return typeof units === 'string'
705
+ ? aliases[units] || aliases[units.toLowerCase()]
706
+ : undefined;
707
+ }
708
+
709
+ function normalizeObjectUnits(inputObject) {
710
+ var normalizedInput = {},
711
+ normalizedProp,
712
+ prop;
713
+
714
+ for (prop in inputObject) {
715
+ if (hasOwnProp(inputObject, prop)) {
716
+ normalizedProp = normalizeUnits(prop);
717
+ if (normalizedProp) {
718
+ normalizedInput[normalizedProp] = inputObject[prop];
719
+ }
720
+ }
721
+ }
722
+
723
+ return normalizedInput;
724
+ }
725
+
726
+ var priorities = {};
727
+
728
+ function addUnitPriority(unit, priority) {
729
+ priorities[unit] = priority;
730
+ }
731
+
732
+ function getPrioritizedUnits(unitsObj) {
733
+ var units = [],
734
+ u;
735
+ for (u in unitsObj) {
736
+ if (hasOwnProp(unitsObj, u)) {
737
+ units.push({ unit: u, priority: priorities[u] });
738
+ }
739
+ }
740
+ units.sort(function (a, b) {
741
+ return a.priority - b.priority;
742
+ });
743
+ return units;
744
+ }
745
+
746
+ function isLeapYear(year) {
747
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
748
+ }
749
+
750
+ function absFloor(number) {
751
+ if (number < 0) {
752
+ // -0 -> 0
753
+ return Math.ceil(number) || 0;
754
+ } else {
755
+ return Math.floor(number);
756
+ }
757
+ }
758
+
759
+ function toInt(argumentForCoercion) {
760
+ var coercedNumber = +argumentForCoercion,
761
+ value = 0;
762
+
763
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
764
+ value = absFloor(coercedNumber);
765
+ }
766
+
767
+ return value;
768
+ }
769
+
770
+ function makeGetSet(unit, keepTime) {
771
+ return function (value) {
772
+ if (value != null) {
773
+ set$1(this, unit, value);
774
+ hooks.updateOffset(this, keepTime);
775
+ return this;
776
+ } else {
777
+ return get(this, unit);
778
+ }
779
+ };
780
+ }
781
+
782
+ function get(mom, unit) {
783
+ return mom.isValid()
784
+ ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()
785
+ : NaN;
786
+ }
787
+
788
+ function set$1(mom, unit, value) {
789
+ if (mom.isValid() && !isNaN(value)) {
790
+ if (
791
+ unit === 'FullYear' &&
792
+ isLeapYear(mom.year()) &&
793
+ mom.month() === 1 &&
794
+ mom.date() === 29
795
+ ) {
796
+ value = toInt(value);
797
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](
798
+ value,
799
+ mom.month(),
800
+ daysInMonth(value, mom.month())
801
+ );
802
+ } else {
803
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
804
+ }
805
+ }
806
+ }
807
+
808
+ // MOMENTS
809
+
810
+ function stringGet(units) {
811
+ units = normalizeUnits(units);
812
+ if (isFunction(this[units])) {
813
+ return this[units]();
814
+ }
815
+ return this;
816
+ }
817
+
818
+ function stringSet(units, value) {
819
+ if (typeof units === 'object') {
820
+ units = normalizeObjectUnits(units);
821
+ var prioritized = getPrioritizedUnits(units),
822
+ i;
823
+ for (i = 0; i < prioritized.length; i++) {
824
+ this[prioritized[i].unit](units[prioritized[i].unit]);
825
+ }
826
+ } else {
827
+ units = normalizeUnits(units);
828
+ if (isFunction(this[units])) {
829
+ return this[units](value);
830
+ }
831
+ }
832
+ return this;
833
+ }
834
+
835
+ var match1 = /\d/, // 0 - 9
836
+ match2 = /\d\d/, // 00 - 99
837
+ match3 = /\d{3}/, // 000 - 999
838
+ match4 = /\d{4}/, // 0000 - 9999
839
+ match6 = /[+-]?\d{6}/, // -999999 - 999999
840
+ match1to2 = /\d\d?/, // 0 - 99
841
+ match3to4 = /\d\d\d\d?/, // 999 - 9999
842
+ match5to6 = /\d\d\d\d\d\d?/, // 99999 - 999999
843
+ match1to3 = /\d{1,3}/, // 0 - 999
844
+ match1to4 = /\d{1,4}/, // 0 - 9999
845
+ match1to6 = /[+-]?\d{1,6}/, // -999999 - 999999
846
+ matchUnsigned = /\d+/, // 0 - inf
847
+ matchSigned = /[+-]?\d+/, // -inf - inf
848
+ matchOffset = /Z|[+-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
849
+ matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z
850
+ matchTimestamp = /[+-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
851
+ // any word (or two) characters or numbers including two/three word month in arabic.
852
+ // includes scottish gaelic two word and hyphenated months
853
+ 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,
854
+ regexes;
855
+
856
+ regexes = {};
857
+
858
+ function addRegexToken(token, regex, strictRegex) {
859
+ regexes[token] = isFunction(regex)
860
+ ? regex
861
+ : function (isStrict, localeData) {
862
+ return isStrict && strictRegex ? strictRegex : regex;
863
+ };
864
+ }
865
+
866
+ function getParseRegexForToken(token, config) {
867
+ if (!hasOwnProp(regexes, token)) {
868
+ return new RegExp(unescapeFormat(token));
869
+ }
870
+
871
+ return regexes[token](config._strict, config._locale);
872
+ }
873
+
874
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
875
+ function unescapeFormat(s) {
876
+ return regexEscape(
877
+ s
878
+ .replace('\\', '')
879
+ .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (
880
+ matched,
881
+ p1,
882
+ p2,
883
+ p3,
884
+ p4
885
+ ) {
886
+ return p1 || p2 || p3 || p4;
887
+ })
888
+ );
889
+ }
890
+
891
+ function regexEscape(s) {
892
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
893
+ }
894
+
895
+ var tokens = {};
896
+
897
+ function addParseToken(token, callback) {
898
+ var i,
899
+ func = callback;
900
+ if (typeof token === 'string') {
901
+ token = [token];
902
+ }
903
+ if (isNumber(callback)) {
904
+ func = function (input, array) {
905
+ array[callback] = toInt(input);
906
+ };
907
+ }
908
+ for (i = 0; i < token.length; i++) {
909
+ tokens[token[i]] = func;
910
+ }
911
+ }
912
+
913
+ function addWeekParseToken(token, callback) {
914
+ addParseToken(token, function (input, array, config, token) {
915
+ config._w = config._w || {};
916
+ callback(input, config._w, config, token);
917
+ });
918
+ }
919
+
920
+ function addTimeToArrayFromToken(token, input, config) {
921
+ if (input != null && hasOwnProp(tokens, token)) {
922
+ tokens[token](input, config._a, config, token);
923
+ }
924
+ }
925
+
926
+ var YEAR = 0,
927
+ MONTH = 1,
928
+ DATE = 2,
929
+ HOUR = 3,
930
+ MINUTE = 4,
931
+ SECOND = 5,
932
+ MILLISECOND = 6,
933
+ WEEK = 7,
934
+ WEEKDAY = 8;
935
+
936
+ function mod(n, x) {
937
+ return ((n % x) + x) % x;
938
+ }
939
+
940
+ var indexOf;
941
+
942
+ if (Array.prototype.indexOf) {
943
+ indexOf = Array.prototype.indexOf;
944
+ } else {
945
+ indexOf = function (o) {
946
+ // I know
947
+ var i;
948
+ for (i = 0; i < this.length; ++i) {
949
+ if (this[i] === o) {
950
+ return i;
951
+ }
952
+ }
953
+ return -1;
954
+ };
955
+ }
956
+
957
+ function daysInMonth(year, month) {
958
+ if (isNaN(year) || isNaN(month)) {
959
+ return NaN;
960
+ }
961
+ var modMonth = mod(month, 12);
962
+ year += (month - modMonth) / 12;
963
+ return modMonth === 1
964
+ ? isLeapYear(year)
965
+ ? 29
966
+ : 28
967
+ : 31 - ((modMonth % 7) % 2);
968
+ }
969
+
970
+ // FORMATTING
971
+
972
+ addFormatToken('M', ['MM', 2], 'Mo', function () {
973
+ return this.month() + 1;
974
+ });
975
+
976
+ addFormatToken('MMM', 0, 0, function (format) {
977
+ return this.localeData().monthsShort(this, format);
978
+ });
979
+
980
+ addFormatToken('MMMM', 0, 0, function (format) {
981
+ return this.localeData().months(this, format);
982
+ });
983
+
984
+ // ALIASES
985
+
986
+ addUnitAlias('month', 'M');
987
+
988
+ // PRIORITY
989
+
990
+ addUnitPriority('month', 8);
991
+
992
+ // PARSING
993
+
994
+ addRegexToken('M', match1to2);
995
+ addRegexToken('MM', match1to2, match2);
996
+ addRegexToken('MMM', function (isStrict, locale) {
997
+ return locale.monthsShortRegex(isStrict);
998
+ });
999
+ addRegexToken('MMMM', function (isStrict, locale) {
1000
+ return locale.monthsRegex(isStrict);
1001
+ });
1002
+
1003
+ addParseToken(['M', 'MM'], function (input, array) {
1004
+ array[MONTH] = toInt(input) - 1;
1005
+ });
1006
+
1007
+ addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
1008
+ var month = config._locale.monthsParse(input, token, config._strict);
1009
+ // if we didn't find a month name, mark the date as invalid.
1010
+ if (month != null) {
1011
+ array[MONTH] = month;
1012
+ } else {
1013
+ getParsingFlags(config).invalidMonth = input;
1014
+ }
1015
+ });
1016
+
1017
+ // LOCALES
1018
+
1019
+ var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
1020
+ '_'
1021
+ ),
1022
+ defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(
1023
+ '_'
1024
+ ),
1025
+ MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
1026
+ defaultMonthsShortRegex = matchWord,
1027
+ defaultMonthsRegex = matchWord;
1028
+
1029
+ function localeMonths(m, format) {
1030
+ if (!m) {
1031
+ return isArray(this._months)
1032
+ ? this._months
1033
+ : this._months['standalone'];
1034
+ }
1035
+ return isArray(this._months)
1036
+ ? this._months[m.month()]
1037
+ : this._months[
1038
+ (this._months.isFormat || MONTHS_IN_FORMAT).test(format)
1039
+ ? 'format'
1040
+ : 'standalone'
1041
+ ][m.month()];
1042
+ }
1043
+
1044
+ function localeMonthsShort(m, format) {
1045
+ if (!m) {
1046
+ return isArray(this._monthsShort)
1047
+ ? this._monthsShort
1048
+ : this._monthsShort['standalone'];
1049
+ }
1050
+ return isArray(this._monthsShort)
1051
+ ? this._monthsShort[m.month()]
1052
+ : this._monthsShort[
1053
+ MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'
1054
+ ][m.month()];
1055
+ }
1056
+
1057
+ function handleStrictParse(monthName, format, strict) {
1058
+ var i,
1059
+ ii,
1060
+ mom,
1061
+ llc = monthName.toLocaleLowerCase();
1062
+ if (!this._monthsParse) {
1063
+ // this is not used
1064
+ this._monthsParse = [];
1065
+ this._longMonthsParse = [];
1066
+ this._shortMonthsParse = [];
1067
+ for (i = 0; i < 12; ++i) {
1068
+ mom = createUTC([2000, i]);
1069
+ this._shortMonthsParse[i] = this.monthsShort(
1070
+ mom,
1071
+ ''
1072
+ ).toLocaleLowerCase();
1073
+ this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
1074
+ }
1075
+ }
1076
+
1077
+ if (strict) {
1078
+ if (format === 'MMM') {
1079
+ ii = indexOf.call(this._shortMonthsParse, llc);
1080
+ return ii !== -1 ? ii : null;
1081
+ } else {
1082
+ ii = indexOf.call(this._longMonthsParse, llc);
1083
+ return ii !== -1 ? ii : null;
1084
+ }
1085
+ } else {
1086
+ if (format === 'MMM') {
1087
+ ii = indexOf.call(this._shortMonthsParse, llc);
1088
+ if (ii !== -1) {
1089
+ return ii;
1090
+ }
1091
+ ii = indexOf.call(this._longMonthsParse, llc);
1092
+ return ii !== -1 ? ii : null;
1093
+ } else {
1094
+ ii = indexOf.call(this._longMonthsParse, llc);
1095
+ if (ii !== -1) {
1096
+ return ii;
1097
+ }
1098
+ ii = indexOf.call(this._shortMonthsParse, llc);
1099
+ return ii !== -1 ? ii : null;
1100
+ }
1101
+ }
1102
+ }
1103
+
1104
+ function localeMonthsParse(monthName, format, strict) {
1105
+ var i, mom, regex;
1106
+
1107
+ if (this._monthsParseExact) {
1108
+ return handleStrictParse.call(this, monthName, format, strict);
1109
+ }
1110
+
1111
+ if (!this._monthsParse) {
1112
+ this._monthsParse = [];
1113
+ this._longMonthsParse = [];
1114
+ this._shortMonthsParse = [];
1115
+ }
1116
+
1117
+ // TODO: add sorting
1118
+ // Sorting makes sure if one month (or abbr) is a prefix of another
1119
+ // see sorting in computeMonthsParse
1120
+ for (i = 0; i < 12; i++) {
1121
+ // make the regex if we don't have it already
1122
+ mom = createUTC([2000, i]);
1123
+ if (strict && !this._longMonthsParse[i]) {
1124
+ this._longMonthsParse[i] = new RegExp(
1125
+ '^' + this.months(mom, '').replace('.', '') + '$',
1126
+ 'i'
1127
+ );
1128
+ this._shortMonthsParse[i] = new RegExp(
1129
+ '^' + this.monthsShort(mom, '').replace('.', '') + '$',
1130
+ 'i'
1131
+ );
1132
+ }
1133
+ if (!strict && !this._monthsParse[i]) {
1134
+ regex =
1135
+ '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
1136
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
1137
+ }
1138
+ // test the regex
1139
+ if (
1140
+ strict &&
1141
+ format === 'MMMM' &&
1142
+ this._longMonthsParse[i].test(monthName)
1143
+ ) {
1144
+ return i;
1145
+ } else if (
1146
+ strict &&
1147
+ format === 'MMM' &&
1148
+ this._shortMonthsParse[i].test(monthName)
1149
+ ) {
1150
+ return i;
1151
+ } else if (!strict && this._monthsParse[i].test(monthName)) {
1152
+ return i;
1153
+ }
1154
+ }
1155
+ }
1156
+
1157
+ // MOMENTS
1158
+
1159
+ function setMonth(mom, value) {
1160
+ var dayOfMonth;
1161
+
1162
+ if (!mom.isValid()) {
1163
+ // No op
1164
+ return mom;
1165
+ }
1166
+
1167
+ if (typeof value === 'string') {
1168
+ if (/^\d+$/.test(value)) {
1169
+ value = toInt(value);
1170
+ } else {
1171
+ value = mom.localeData().monthsParse(value);
1172
+ // TODO: Another silent failure?
1173
+ if (!isNumber(value)) {
1174
+ return mom;
1175
+ }
1176
+ }
1177
+ }
1178
+
1179
+ dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
1180
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
1181
+ return mom;
1182
+ }
1183
+
1184
+ function getSetMonth(value) {
1185
+ if (value != null) {
1186
+ setMonth(this, value);
1187
+ hooks.updateOffset(this, true);
1188
+ return this;
1189
+ } else {
1190
+ return get(this, 'Month');
1191
+ }
1192
+ }
1193
+
1194
+ function getDaysInMonth() {
1195
+ return daysInMonth(this.year(), this.month());
1196
+ }
1197
+
1198
+ function monthsShortRegex(isStrict) {
1199
+ if (this._monthsParseExact) {
1200
+ if (!hasOwnProp(this, '_monthsRegex')) {
1201
+ computeMonthsParse.call(this);
1202
+ }
1203
+ if (isStrict) {
1204
+ return this._monthsShortStrictRegex;
1205
+ } else {
1206
+ return this._monthsShortRegex;
1207
+ }
1208
+ } else {
1209
+ if (!hasOwnProp(this, '_monthsShortRegex')) {
1210
+ this._monthsShortRegex = defaultMonthsShortRegex;
1211
+ }
1212
+ return this._monthsShortStrictRegex && isStrict
1213
+ ? this._monthsShortStrictRegex
1214
+ : this._monthsShortRegex;
1215
+ }
1216
+ }
1217
+
1218
+ function monthsRegex(isStrict) {
1219
+ if (this._monthsParseExact) {
1220
+ if (!hasOwnProp(this, '_monthsRegex')) {
1221
+ computeMonthsParse.call(this);
1222
+ }
1223
+ if (isStrict) {
1224
+ return this._monthsStrictRegex;
1225
+ } else {
1226
+ return this._monthsRegex;
1227
+ }
1228
+ } else {
1229
+ if (!hasOwnProp(this, '_monthsRegex')) {
1230
+ this._monthsRegex = defaultMonthsRegex;
1231
+ }
1232
+ return this._monthsStrictRegex && isStrict
1233
+ ? this._monthsStrictRegex
1234
+ : this._monthsRegex;
1235
+ }
1236
+ }
1237
+
1238
+ function computeMonthsParse() {
1239
+ function cmpLenRev(a, b) {
1240
+ return b.length - a.length;
1241
+ }
1242
+
1243
+ var shortPieces = [],
1244
+ longPieces = [],
1245
+ mixedPieces = [],
1246
+ i,
1247
+ mom;
1248
+ for (i = 0; i < 12; i++) {
1249
+ // make the regex if we don't have it already
1250
+ mom = createUTC([2000, i]);
1251
+ shortPieces.push(this.monthsShort(mom, ''));
1252
+ longPieces.push(this.months(mom, ''));
1253
+ mixedPieces.push(this.months(mom, ''));
1254
+ mixedPieces.push(this.monthsShort(mom, ''));
1255
+ }
1256
+ // Sorting makes sure if one month (or abbr) is a prefix of another it
1257
+ // will match the longer piece.
1258
+ shortPieces.sort(cmpLenRev);
1259
+ longPieces.sort(cmpLenRev);
1260
+ mixedPieces.sort(cmpLenRev);
1261
+ for (i = 0; i < 12; i++) {
1262
+ shortPieces[i] = regexEscape(shortPieces[i]);
1263
+ longPieces[i] = regexEscape(longPieces[i]);
1264
+ }
1265
+ for (i = 0; i < 24; i++) {
1266
+ mixedPieces[i] = regexEscape(mixedPieces[i]);
1267
+ }
1268
+
1269
+ this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1270
+ this._monthsShortRegex = this._monthsRegex;
1271
+ this._monthsStrictRegex = new RegExp(
1272
+ '^(' + longPieces.join('|') + ')',
1273
+ 'i'
1274
+ );
1275
+ this._monthsShortStrictRegex = new RegExp(
1276
+ '^(' + shortPieces.join('|') + ')',
1277
+ 'i'
1278
+ );
1279
+ }
1280
+
1281
+ // FORMATTING
1282
+
1283
+ addFormatToken('Y', 0, 0, function () {
1284
+ var y = this.year();
1285
+ return y <= 9999 ? zeroFill(y, 4) : '+' + y;
1286
+ });
1287
+
1288
+ addFormatToken(0, ['YY', 2], 0, function () {
1289
+ return this.year() % 100;
1290
+ });
1291
+
1292
+ addFormatToken(0, ['YYYY', 4], 0, 'year');
1293
+ addFormatToken(0, ['YYYYY', 5], 0, 'year');
1294
+ addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
1295
+
1296
+ // ALIASES
1297
+
1298
+ addUnitAlias('year', 'y');
1299
+
1300
+ // PRIORITIES
1301
+
1302
+ addUnitPriority('year', 1);
1303
+
1304
+ // PARSING
1305
+
1306
+ addRegexToken('Y', matchSigned);
1307
+ addRegexToken('YY', match1to2, match2);
1308
+ addRegexToken('YYYY', match1to4, match4);
1309
+ addRegexToken('YYYYY', match1to6, match6);
1310
+ addRegexToken('YYYYYY', match1to6, match6);
1311
+
1312
+ addParseToken(['YYYYY', 'YYYYYY'], YEAR);
1313
+ addParseToken('YYYY', function (input, array) {
1314
+ array[YEAR] =
1315
+ input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
1316
+ });
1317
+ addParseToken('YY', function (input, array) {
1318
+ array[YEAR] = hooks.parseTwoDigitYear(input);
1319
+ });
1320
+ addParseToken('Y', function (input, array) {
1321
+ array[YEAR] = parseInt(input, 10);
1322
+ });
1323
+
1324
+ // HELPERS
1325
+
1326
+ function daysInYear(year) {
1327
+ return isLeapYear(year) ? 366 : 365;
1328
+ }
1329
+
1330
+ // HOOKS
1331
+
1332
+ hooks.parseTwoDigitYear = function (input) {
1333
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
1334
+ };
1335
+
1336
+ // MOMENTS
1337
+
1338
+ var getSetYear = makeGetSet('FullYear', true);
1339
+
1340
+ function getIsLeapYear() {
1341
+ return isLeapYear(this.year());
1342
+ }
1343
+
1344
+ function createDate(y, m, d, h, M, s, ms) {
1345
+ // can't just apply() to create a date:
1346
+ // https://stackoverflow.com/q/181348
1347
+ var date;
1348
+ // the date constructor remaps years 0-99 to 1900-1999
1349
+ if (y < 100 && y >= 0) {
1350
+ // preserve leap years using a full 400 year cycle, then reset
1351
+ date = new Date(y + 400, m, d, h, M, s, ms);
1352
+ if (isFinite(date.getFullYear())) {
1353
+ date.setFullYear(y);
1354
+ }
1355
+ } else {
1356
+ date = new Date(y, m, d, h, M, s, ms);
1357
+ }
1358
+
1359
+ return date;
1360
+ }
1361
+
1362
+ function createUTCDate(y) {
1363
+ var date, args;
1364
+ // the Date.UTC function remaps years 0-99 to 1900-1999
1365
+ if (y < 100 && y >= 0) {
1366
+ args = Array.prototype.slice.call(arguments);
1367
+ // preserve leap years using a full 400 year cycle, then reset
1368
+ args[0] = y + 400;
1369
+ date = new Date(Date.UTC.apply(null, args));
1370
+ if (isFinite(date.getUTCFullYear())) {
1371
+ date.setUTCFullYear(y);
1372
+ }
1373
+ } else {
1374
+ date = new Date(Date.UTC.apply(null, arguments));
1375
+ }
1376
+
1377
+ return date;
1378
+ }
1379
+
1380
+ // start-of-first-week - start-of-year
1381
+ function firstWeekOffset(year, dow, doy) {
1382
+ var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
1383
+ fwd = 7 + dow - doy,
1384
+ // first-week day local weekday -- which local weekday is fwd
1385
+ fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1386
+
1387
+ return -fwdlw + fwd - 1;
1388
+ }
1389
+
1390
+ // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1391
+ function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1392
+ var localWeekday = (7 + weekday - dow) % 7,
1393
+ weekOffset = firstWeekOffset(year, dow, doy),
1394
+ dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
1395
+ resYear,
1396
+ resDayOfYear;
1397
+
1398
+ if (dayOfYear <= 0) {
1399
+ resYear = year - 1;
1400
+ resDayOfYear = daysInYear(resYear) + dayOfYear;
1401
+ } else if (dayOfYear > daysInYear(year)) {
1402
+ resYear = year + 1;
1403
+ resDayOfYear = dayOfYear - daysInYear(year);
1404
+ } else {
1405
+ resYear = year;
1406
+ resDayOfYear = dayOfYear;
1407
+ }
1408
+
1409
+ return {
1410
+ year: resYear,
1411
+ dayOfYear: resDayOfYear,
1412
+ };
1413
+ }
1414
+
1415
+ function weekOfYear(mom, dow, doy) {
1416
+ var weekOffset = firstWeekOffset(mom.year(), dow, doy),
1417
+ week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
1418
+ resWeek,
1419
+ resYear;
1420
+
1421
+ if (week < 1) {
1422
+ resYear = mom.year() - 1;
1423
+ resWeek = week + weeksInYear(resYear, dow, doy);
1424
+ } else if (week > weeksInYear(mom.year(), dow, doy)) {
1425
+ resWeek = week - weeksInYear(mom.year(), dow, doy);
1426
+ resYear = mom.year() + 1;
1427
+ } else {
1428
+ resYear = mom.year();
1429
+ resWeek = week;
1430
+ }
1431
+
1432
+ return {
1433
+ week: resWeek,
1434
+ year: resYear,
1435
+ };
1436
+ }
1437
+
1438
+ function weeksInYear(year, dow, doy) {
1439
+ var weekOffset = firstWeekOffset(year, dow, doy),
1440
+ weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1441
+ return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1442
+ }
1443
+
1444
+ // FORMATTING
1445
+
1446
+ addFormatToken('w', ['ww', 2], 'wo', 'week');
1447
+ addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
1448
+
1449
+ // ALIASES
1450
+
1451
+ addUnitAlias('week', 'w');
1452
+ addUnitAlias('isoWeek', 'W');
1453
+
1454
+ // PRIORITIES
1455
+
1456
+ addUnitPriority('week', 5);
1457
+ addUnitPriority('isoWeek', 5);
1458
+
1459
+ // PARSING
1460
+
1461
+ addRegexToken('w', match1to2);
1462
+ addRegexToken('ww', match1to2, match2);
1463
+ addRegexToken('W', match1to2);
1464
+ addRegexToken('WW', match1to2, match2);
1465
+
1466
+ addWeekParseToken(['w', 'ww', 'W', 'WW'], function (
1467
+ input,
1468
+ week,
1469
+ config,
1470
+ token
1471
+ ) {
1472
+ week[token.substr(0, 1)] = toInt(input);
1473
+ });
1474
+
1475
+ // HELPERS
1476
+
1477
+ // LOCALES
1478
+
1479
+ function localeWeek(mom) {
1480
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
1481
+ }
1482
+
1483
+ var defaultLocaleWeek = {
1484
+ dow: 0, // Sunday is the first day of the week.
1485
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
1486
+ };
1487
+
1488
+ function localeFirstDayOfWeek() {
1489
+ return this._week.dow;
1490
+ }
1491
+
1492
+ function localeFirstDayOfYear() {
1493
+ return this._week.doy;
1494
+ }
1495
+
1496
+ // MOMENTS
1497
+
1498
+ function getSetWeek(input) {
1499
+ var week = this.localeData().week(this);
1500
+ return input == null ? week : this.add((input - week) * 7, 'd');
1501
+ }
1502
+
1503
+ function getSetISOWeek(input) {
1504
+ var week = weekOfYear(this, 1, 4).week;
1505
+ return input == null ? week : this.add((input - week) * 7, 'd');
1506
+ }
1507
+
1508
+ // FORMATTING
1509
+
1510
+ addFormatToken('d', 0, 'do', 'day');
1511
+
1512
+ addFormatToken('dd', 0, 0, function (format) {
1513
+ return this.localeData().weekdaysMin(this, format);
1514
+ });
1515
+
1516
+ addFormatToken('ddd', 0, 0, function (format) {
1517
+ return this.localeData().weekdaysShort(this, format);
1518
+ });
1519
+
1520
+ addFormatToken('dddd', 0, 0, function (format) {
1521
+ return this.localeData().weekdays(this, format);
1522
+ });
1523
+
1524
+ addFormatToken('e', 0, 0, 'weekday');
1525
+ addFormatToken('E', 0, 0, 'isoWeekday');
1526
+
1527
+ // ALIASES
1528
+
1529
+ addUnitAlias('day', 'd');
1530
+ addUnitAlias('weekday', 'e');
1531
+ addUnitAlias('isoWeekday', 'E');
1532
+
1533
+ // PRIORITY
1534
+ addUnitPriority('day', 11);
1535
+ addUnitPriority('weekday', 11);
1536
+ addUnitPriority('isoWeekday', 11);
1537
+
1538
+ // PARSING
1539
+
1540
+ addRegexToken('d', match1to2);
1541
+ addRegexToken('e', match1to2);
1542
+ addRegexToken('E', match1to2);
1543
+ addRegexToken('dd', function (isStrict, locale) {
1544
+ return locale.weekdaysMinRegex(isStrict);
1545
+ });
1546
+ addRegexToken('ddd', function (isStrict, locale) {
1547
+ return locale.weekdaysShortRegex(isStrict);
1548
+ });
1549
+ addRegexToken('dddd', function (isStrict, locale) {
1550
+ return locale.weekdaysRegex(isStrict);
1551
+ });
1552
+
1553
+ addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
1554
+ var weekday = config._locale.weekdaysParse(input, token, config._strict);
1555
+ // if we didn't get a weekday name, mark the date as invalid
1556
+ if (weekday != null) {
1557
+ week.d = weekday;
1558
+ } else {
1559
+ getParsingFlags(config).invalidWeekday = input;
1560
+ }
1561
+ });
1562
+
1563
+ addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
1564
+ week[token] = toInt(input);
1565
+ });
1566
+
1567
+ // HELPERS
1568
+
1569
+ function parseWeekday(input, locale) {
1570
+ if (typeof input !== 'string') {
1571
+ return input;
1572
+ }
1573
+
1574
+ if (!isNaN(input)) {
1575
+ return parseInt(input, 10);
1576
+ }
1577
+
1578
+ input = locale.weekdaysParse(input);
1579
+ if (typeof input === 'number') {
1580
+ return input;
1581
+ }
1582
+
1583
+ return null;
1584
+ }
1585
+
1586
+ function parseIsoWeekday(input, locale) {
1587
+ if (typeof input === 'string') {
1588
+ return locale.weekdaysParse(input) % 7 || 7;
1589
+ }
1590
+ return isNaN(input) ? null : input;
1591
+ }
1592
+
1593
+ // LOCALES
1594
+ function shiftWeekdays(ws, n) {
1595
+ return ws.slice(n, 7).concat(ws.slice(0, n));
1596
+ }
1597
+
1598
+ var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
1599
+ '_'
1600
+ ),
1601
+ defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
1602
+ defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
1603
+ defaultWeekdaysRegex = matchWord,
1604
+ defaultWeekdaysShortRegex = matchWord,
1605
+ defaultWeekdaysMinRegex = matchWord;
1606
+
1607
+ function localeWeekdays(m, format) {
1608
+ var weekdays = isArray(this._weekdays)
1609
+ ? this._weekdays
1610
+ : this._weekdays[
1611
+ m && m !== true && this._weekdays.isFormat.test(format)
1612
+ ? 'format'
1613
+ : 'standalone'
1614
+ ];
1615
+ return m === true
1616
+ ? shiftWeekdays(weekdays, this._week.dow)
1617
+ : m
1618
+ ? weekdays[m.day()]
1619
+ : weekdays;
1620
+ }
1621
+
1622
+ function localeWeekdaysShort(m) {
1623
+ return m === true
1624
+ ? shiftWeekdays(this._weekdaysShort, this._week.dow)
1625
+ : m
1626
+ ? this._weekdaysShort[m.day()]
1627
+ : this._weekdaysShort;
1628
+ }
1629
+
1630
+ function localeWeekdaysMin(m) {
1631
+ return m === true
1632
+ ? shiftWeekdays(this._weekdaysMin, this._week.dow)
1633
+ : m
1634
+ ? this._weekdaysMin[m.day()]
1635
+ : this._weekdaysMin;
1636
+ }
1637
+
1638
+ function handleStrictParse$1(weekdayName, format, strict) {
1639
+ var i,
1640
+ ii,
1641
+ mom,
1642
+ llc = weekdayName.toLocaleLowerCase();
1643
+ if (!this._weekdaysParse) {
1644
+ this._weekdaysParse = [];
1645
+ this._shortWeekdaysParse = [];
1646
+ this._minWeekdaysParse = [];
1647
+
1648
+ for (i = 0; i < 7; ++i) {
1649
+ mom = createUTC([2000, 1]).day(i);
1650
+ this._minWeekdaysParse[i] = this.weekdaysMin(
1651
+ mom,
1652
+ ''
1653
+ ).toLocaleLowerCase();
1654
+ this._shortWeekdaysParse[i] = this.weekdaysShort(
1655
+ mom,
1656
+ ''
1657
+ ).toLocaleLowerCase();
1658
+ this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
1659
+ }
1660
+ }
1661
+
1662
+ if (strict) {
1663
+ if (format === 'dddd') {
1664
+ ii = indexOf.call(this._weekdaysParse, llc);
1665
+ return ii !== -1 ? ii : null;
1666
+ } else if (format === 'ddd') {
1667
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1668
+ return ii !== -1 ? ii : null;
1669
+ } else {
1670
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1671
+ return ii !== -1 ? ii : null;
1672
+ }
1673
+ } else {
1674
+ if (format === 'dddd') {
1675
+ ii = indexOf.call(this._weekdaysParse, llc);
1676
+ if (ii !== -1) {
1677
+ return ii;
1678
+ }
1679
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1680
+ if (ii !== -1) {
1681
+ return ii;
1682
+ }
1683
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1684
+ return ii !== -1 ? ii : null;
1685
+ } else if (format === 'ddd') {
1686
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1687
+ if (ii !== -1) {
1688
+ return ii;
1689
+ }
1690
+ ii = indexOf.call(this._weekdaysParse, llc);
1691
+ if (ii !== -1) {
1692
+ return ii;
1693
+ }
1694
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1695
+ return ii !== -1 ? ii : null;
1696
+ } else {
1697
+ ii = indexOf.call(this._minWeekdaysParse, llc);
1698
+ if (ii !== -1) {
1699
+ return ii;
1700
+ }
1701
+ ii = indexOf.call(this._weekdaysParse, llc);
1702
+ if (ii !== -1) {
1703
+ return ii;
1704
+ }
1705
+ ii = indexOf.call(this._shortWeekdaysParse, llc);
1706
+ return ii !== -1 ? ii : null;
1707
+ }
1708
+ }
1709
+ }
1710
+
1711
+ function localeWeekdaysParse(weekdayName, format, strict) {
1712
+ var i, mom, regex;
1713
+
1714
+ if (this._weekdaysParseExact) {
1715
+ return handleStrictParse$1.call(this, weekdayName, format, strict);
1716
+ }
1717
+
1718
+ if (!this._weekdaysParse) {
1719
+ this._weekdaysParse = [];
1720
+ this._minWeekdaysParse = [];
1721
+ this._shortWeekdaysParse = [];
1722
+ this._fullWeekdaysParse = [];
1723
+ }
1724
+
1725
+ for (i = 0; i < 7; i++) {
1726
+ // make the regex if we don't have it already
1727
+
1728
+ mom = createUTC([2000, 1]).day(i);
1729
+ if (strict && !this._fullWeekdaysParse[i]) {
1730
+ this._fullWeekdaysParse[i] = new RegExp(
1731
+ '^' + this.weekdays(mom, '').replace('.', '\\.?') + '$',
1732
+ 'i'
1733
+ );
1734
+ this._shortWeekdaysParse[i] = new RegExp(
1735
+ '^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$',
1736
+ 'i'
1737
+ );
1738
+ this._minWeekdaysParse[i] = new RegExp(
1739
+ '^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$',
1740
+ 'i'
1741
+ );
1742
+ }
1743
+ if (!this._weekdaysParse[i]) {
1744
+ regex =
1745
+ '^' +
1746
+ this.weekdays(mom, '') +
1747
+ '|^' +
1748
+ this.weekdaysShort(mom, '') +
1749
+ '|^' +
1750
+ this.weekdaysMin(mom, '');
1751
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
1752
+ }
1753
+ // test the regex
1754
+ if (
1755
+ strict &&
1756
+ format === 'dddd' &&
1757
+ this._fullWeekdaysParse[i].test(weekdayName)
1758
+ ) {
1759
+ return i;
1760
+ } else if (
1761
+ strict &&
1762
+ format === 'ddd' &&
1763
+ this._shortWeekdaysParse[i].test(weekdayName)
1764
+ ) {
1765
+ return i;
1766
+ } else if (
1767
+ strict &&
1768
+ format === 'dd' &&
1769
+ this._minWeekdaysParse[i].test(weekdayName)
1770
+ ) {
1771
+ return i;
1772
+ } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
1773
+ return i;
1774
+ }
1775
+ }
1776
+ }
1777
+
1778
+ // MOMENTS
1779
+
1780
+ function getSetDayOfWeek(input) {
1781
+ if (!this.isValid()) {
1782
+ return input != null ? this : NaN;
1783
+ }
1784
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
1785
+ if (input != null) {
1786
+ input = parseWeekday(input, this.localeData());
1787
+ return this.add(input - day, 'd');
1788
+ } else {
1789
+ return day;
1790
+ }
1791
+ }
1792
+
1793
+ function getSetLocaleDayOfWeek(input) {
1794
+ if (!this.isValid()) {
1795
+ return input != null ? this : NaN;
1796
+ }
1797
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
1798
+ return input == null ? weekday : this.add(input - weekday, 'd');
1799
+ }
1800
+
1801
+ function getSetISODayOfWeek(input) {
1802
+ if (!this.isValid()) {
1803
+ return input != null ? this : NaN;
1804
+ }
1805
+
1806
+ // behaves the same as moment#day except
1807
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
1808
+ // as a setter, sunday should belong to the previous week.
1809
+
1810
+ if (input != null) {
1811
+ var weekday = parseIsoWeekday(input, this.localeData());
1812
+ return this.day(this.day() % 7 ? weekday : weekday - 7);
1813
+ } else {
1814
+ return this.day() || 7;
1815
+ }
1816
+ }
1817
+
1818
+ function weekdaysRegex(isStrict) {
1819
+ if (this._weekdaysParseExact) {
1820
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
1821
+ computeWeekdaysParse.call(this);
1822
+ }
1823
+ if (isStrict) {
1824
+ return this._weekdaysStrictRegex;
1825
+ } else {
1826
+ return this._weekdaysRegex;
1827
+ }
1828
+ } else {
1829
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
1830
+ this._weekdaysRegex = defaultWeekdaysRegex;
1831
+ }
1832
+ return this._weekdaysStrictRegex && isStrict
1833
+ ? this._weekdaysStrictRegex
1834
+ : this._weekdaysRegex;
1835
+ }
1836
+ }
1837
+
1838
+ function weekdaysShortRegex(isStrict) {
1839
+ if (this._weekdaysParseExact) {
1840
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
1841
+ computeWeekdaysParse.call(this);
1842
+ }
1843
+ if (isStrict) {
1844
+ return this._weekdaysShortStrictRegex;
1845
+ } else {
1846
+ return this._weekdaysShortRegex;
1847
+ }
1848
+ } else {
1849
+ if (!hasOwnProp(this, '_weekdaysShortRegex')) {
1850
+ this._weekdaysShortRegex = defaultWeekdaysShortRegex;
1851
+ }
1852
+ return this._weekdaysShortStrictRegex && isStrict
1853
+ ? this._weekdaysShortStrictRegex
1854
+ : this._weekdaysShortRegex;
1855
+ }
1856
+ }
1857
+
1858
+ function weekdaysMinRegex(isStrict) {
1859
+ if (this._weekdaysParseExact) {
1860
+ if (!hasOwnProp(this, '_weekdaysRegex')) {
1861
+ computeWeekdaysParse.call(this);
1862
+ }
1863
+ if (isStrict) {
1864
+ return this._weekdaysMinStrictRegex;
1865
+ } else {
1866
+ return this._weekdaysMinRegex;
1867
+ }
1868
+ } else {
1869
+ if (!hasOwnProp(this, '_weekdaysMinRegex')) {
1870
+ this._weekdaysMinRegex = defaultWeekdaysMinRegex;
1871
+ }
1872
+ return this._weekdaysMinStrictRegex && isStrict
1873
+ ? this._weekdaysMinStrictRegex
1874
+ : this._weekdaysMinRegex;
1875
+ }
1876
+ }
1877
+
1878
+ function computeWeekdaysParse() {
1879
+ function cmpLenRev(a, b) {
1880
+ return b.length - a.length;
1881
+ }
1882
+
1883
+ var minPieces = [],
1884
+ shortPieces = [],
1885
+ longPieces = [],
1886
+ mixedPieces = [],
1887
+ i,
1888
+ mom,
1889
+ minp,
1890
+ shortp,
1891
+ longp;
1892
+ for (i = 0; i < 7; i++) {
1893
+ // make the regex if we don't have it already
1894
+ mom = createUTC([2000, 1]).day(i);
1895
+ minp = regexEscape(this.weekdaysMin(mom, ''));
1896
+ shortp = regexEscape(this.weekdaysShort(mom, ''));
1897
+ longp = regexEscape(this.weekdays(mom, ''));
1898
+ minPieces.push(minp);
1899
+ shortPieces.push(shortp);
1900
+ longPieces.push(longp);
1901
+ mixedPieces.push(minp);
1902
+ mixedPieces.push(shortp);
1903
+ mixedPieces.push(longp);
1904
+ }
1905
+ // Sorting makes sure if one weekday (or abbr) is a prefix of another it
1906
+ // will match the longer piece.
1907
+ minPieces.sort(cmpLenRev);
1908
+ shortPieces.sort(cmpLenRev);
1909
+ longPieces.sort(cmpLenRev);
1910
+ mixedPieces.sort(cmpLenRev);
1911
+
1912
+ this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1913
+ this._weekdaysShortRegex = this._weekdaysRegex;
1914
+ this._weekdaysMinRegex = this._weekdaysRegex;
1915
+
1916
+ this._weekdaysStrictRegex = new RegExp(
1917
+ '^(' + longPieces.join('|') + ')',
1918
+ 'i'
1919
+ );
1920
+ this._weekdaysShortStrictRegex = new RegExp(
1921
+ '^(' + shortPieces.join('|') + ')',
1922
+ 'i'
1923
+ );
1924
+ this._weekdaysMinStrictRegex = new RegExp(
1925
+ '^(' + minPieces.join('|') + ')',
1926
+ 'i'
1927
+ );
1928
+ }
1929
+
1930
+ // FORMATTING
1931
+
1932
+ function hFormat() {
1933
+ return this.hours() % 12 || 12;
1934
+ }
1935
+
1936
+ function kFormat() {
1937
+ return this.hours() || 24;
1938
+ }
1939
+
1940
+ addFormatToken('H', ['HH', 2], 0, 'hour');
1941
+ addFormatToken('h', ['hh', 2], 0, hFormat);
1942
+ addFormatToken('k', ['kk', 2], 0, kFormat);
1943
+
1944
+ addFormatToken('hmm', 0, 0, function () {
1945
+ return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
1946
+ });
1947
+
1948
+ addFormatToken('hmmss', 0, 0, function () {
1949
+ return (
1950
+ '' +
1951
+ hFormat.apply(this) +
1952
+ zeroFill(this.minutes(), 2) +
1953
+ zeroFill(this.seconds(), 2)
1954
+ );
1955
+ });
1956
+
1957
+ addFormatToken('Hmm', 0, 0, function () {
1958
+ return '' + this.hours() + zeroFill(this.minutes(), 2);
1959
+ });
1960
+
1961
+ addFormatToken('Hmmss', 0, 0, function () {
1962
+ return (
1963
+ '' +
1964
+ this.hours() +
1965
+ zeroFill(this.minutes(), 2) +
1966
+ zeroFill(this.seconds(), 2)
1967
+ );
1968
+ });
1969
+
1970
+ function meridiem(token, lowercase) {
1971
+ addFormatToken(token, 0, 0, function () {
1972
+ return this.localeData().meridiem(
1973
+ this.hours(),
1974
+ this.minutes(),
1975
+ lowercase
1976
+ );
1977
+ });
1978
+ }
1979
+
1980
+ meridiem('a', true);
1981
+ meridiem('A', false);
1982
+
1983
+ // ALIASES
1984
+
1985
+ addUnitAlias('hour', 'h');
1986
+
1987
+ // PRIORITY
1988
+ addUnitPriority('hour', 13);
1989
+
1990
+ // PARSING
1991
+
1992
+ function matchMeridiem(isStrict, locale) {
1993
+ return locale._meridiemParse;
1994
+ }
1995
+
1996
+ addRegexToken('a', matchMeridiem);
1997
+ addRegexToken('A', matchMeridiem);
1998
+ addRegexToken('H', match1to2);
1999
+ addRegexToken('h', match1to2);
2000
+ addRegexToken('k', match1to2);
2001
+ addRegexToken('HH', match1to2, match2);
2002
+ addRegexToken('hh', match1to2, match2);
2003
+ addRegexToken('kk', match1to2, match2);
2004
+
2005
+ addRegexToken('hmm', match3to4);
2006
+ addRegexToken('hmmss', match5to6);
2007
+ addRegexToken('Hmm', match3to4);
2008
+ addRegexToken('Hmmss', match5to6);
2009
+
2010
+ addParseToken(['H', 'HH'], HOUR);
2011
+ addParseToken(['k', 'kk'], function (input, array, config) {
2012
+ var kInput = toInt(input);
2013
+ array[HOUR] = kInput === 24 ? 0 : kInput;
2014
+ });
2015
+ addParseToken(['a', 'A'], function (input, array, config) {
2016
+ config._isPm = config._locale.isPM(input);
2017
+ config._meridiem = input;
2018
+ });
2019
+ addParseToken(['h', 'hh'], function (input, array, config) {
2020
+ array[HOUR] = toInt(input);
2021
+ getParsingFlags(config).bigHour = true;
2022
+ });
2023
+ addParseToken('hmm', function (input, array, config) {
2024
+ var pos = input.length - 2;
2025
+ array[HOUR] = toInt(input.substr(0, pos));
2026
+ array[MINUTE] = toInt(input.substr(pos));
2027
+ getParsingFlags(config).bigHour = true;
2028
+ });
2029
+ addParseToken('hmmss', function (input, array, config) {
2030
+ var pos1 = input.length - 4,
2031
+ pos2 = input.length - 2;
2032
+ array[HOUR] = toInt(input.substr(0, pos1));
2033
+ array[MINUTE] = toInt(input.substr(pos1, 2));
2034
+ array[SECOND] = toInt(input.substr(pos2));
2035
+ getParsingFlags(config).bigHour = true;
2036
+ });
2037
+ addParseToken('Hmm', function (input, array, config) {
2038
+ var pos = input.length - 2;
2039
+ array[HOUR] = toInt(input.substr(0, pos));
2040
+ array[MINUTE] = toInt(input.substr(pos));
2041
+ });
2042
+ addParseToken('Hmmss', function (input, array, config) {
2043
+ var pos1 = input.length - 4,
2044
+ pos2 = input.length - 2;
2045
+ array[HOUR] = toInt(input.substr(0, pos1));
2046
+ array[MINUTE] = toInt(input.substr(pos1, 2));
2047
+ array[SECOND] = toInt(input.substr(pos2));
2048
+ });
2049
+
2050
+ // LOCALES
2051
+
2052
+ function localeIsPM(input) {
2053
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
2054
+ // Using charAt should be more compatible.
2055
+ return (input + '').toLowerCase().charAt(0) === 'p';
2056
+ }
2057
+
2058
+ var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
2059
+ // Setting the hour should keep the time, because the user explicitly
2060
+ // specified which hour they want. So trying to maintain the same hour (in
2061
+ // a new timezone) makes sense. Adding/subtracting hours does not follow
2062
+ // this rule.
2063
+ getSetHour = makeGetSet('Hours', true);
2064
+
2065
+ function localeMeridiem(hours, minutes, isLower) {
2066
+ if (hours > 11) {
2067
+ return isLower ? 'pm' : 'PM';
2068
+ } else {
2069
+ return isLower ? 'am' : 'AM';
2070
+ }
2071
+ }
2072
+
2073
+ var baseConfig = {
2074
+ calendar: defaultCalendar,
2075
+ longDateFormat: defaultLongDateFormat,
2076
+ invalidDate: defaultInvalidDate,
2077
+ ordinal: defaultOrdinal,
2078
+ dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
2079
+ relativeTime: defaultRelativeTime,
2080
+
2081
+ months: defaultLocaleMonths,
2082
+ monthsShort: defaultLocaleMonthsShort,
2083
+
2084
+ week: defaultLocaleWeek,
2085
+
2086
+ weekdays: defaultLocaleWeekdays,
2087
+ weekdaysMin: defaultLocaleWeekdaysMin,
2088
+ weekdaysShort: defaultLocaleWeekdaysShort,
2089
+
2090
+ meridiemParse: defaultLocaleMeridiemParse,
2091
+ };
2092
+
2093
+ // internal storage for locale config files
2094
+ var locales = {},
2095
+ localeFamilies = {},
2096
+ globalLocale;
2097
+
2098
+ function commonPrefix(arr1, arr2) {
2099
+ var i,
2100
+ minl = Math.min(arr1.length, arr2.length);
2101
+ for (i = 0; i < minl; i += 1) {
2102
+ if (arr1[i] !== arr2[i]) {
2103
+ return i;
2104
+ }
2105
+ }
2106
+ return minl;
2107
+ }
2108
+
2109
+ function normalizeLocale(key) {
2110
+ return key ? key.toLowerCase().replace('_', '-') : key;
2111
+ }
2112
+
2113
+ // pick the locale from the array
2114
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
2115
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
2116
+ function chooseLocale(names) {
2117
+ var i = 0,
2118
+ j,
2119
+ next,
2120
+ locale,
2121
+ split;
2122
+
2123
+ while (i < names.length) {
2124
+ split = normalizeLocale(names[i]).split('-');
2125
+ j = split.length;
2126
+ next = normalizeLocale(names[i + 1]);
2127
+ next = next ? next.split('-') : null;
2128
+ while (j > 0) {
2129
+ locale = loadLocale(split.slice(0, j).join('-'));
2130
+ if (locale) {
2131
+ return locale;
2132
+ }
2133
+ if (
2134
+ next &&
2135
+ next.length >= j &&
2136
+ commonPrefix(split, next) >= j - 1
2137
+ ) {
2138
+ //the next array item is better than a shallower substring of this one
2139
+ break;
2140
+ }
2141
+ j--;
2142
+ }
2143
+ i++;
2144
+ }
2145
+ return globalLocale;
2146
+ }
2147
+
2148
+ function loadLocale(name) {
2149
+ var oldLocale = null,
2150
+ aliasedRequire;
2151
+ // TODO: Find a better way to register and load all the locales in Node
2152
+ if (
2153
+ locales[name] === undefined &&
2154
+ typeof module !== 'undefined' &&
2155
+ module &&
2156
+ module.exports
2157
+ ) {
2158
+ try {
2159
+ oldLocale = globalLocale._abbr;
2160
+ aliasedRequire = require;
2161
+ __webpack_require__(283)("./" + name);
2162
+ getSetGlobalLocale(oldLocale);
2163
+ } catch (e) {
2164
+ // mark as not found to avoid repeating expensive file require call causing high CPU
2165
+ // when trying to find en-US, en_US, en-us for every format call
2166
+ locales[name] = null; // null means not found
2167
+ }
2168
+ }
2169
+ return locales[name];
2170
+ }
2171
+
2172
+ // This function will load locale and then set the global locale. If
2173
+ // no arguments are passed in, it will simply return the current global
2174
+ // locale key.
2175
+ function getSetGlobalLocale(key, values) {
2176
+ var data;
2177
+ if (key) {
2178
+ if (isUndefined(values)) {
2179
+ data = getLocale(key);
2180
+ } else {
2181
+ data = defineLocale(key, values);
2182
+ }
2183
+
2184
+ if (data) {
2185
+ // moment.duration._locale = moment._locale = data;
2186
+ globalLocale = data;
2187
+ } else {
2188
+ if (typeof console !== 'undefined' && console.warn) {
2189
+ //warn user if arguments are passed but the locale could not be set
2190
+ console.warn(
2191
+ 'Locale ' + key + ' not found. Did you forget to load it?'
2192
+ );
2193
+ }
2194
+ }
2195
+ }
2196
+
2197
+ return globalLocale._abbr;
2198
+ }
2199
+
2200
+ function defineLocale(name, config) {
2201
+ if (config !== null) {
2202
+ var locale,
2203
+ parentConfig = baseConfig;
2204
+ config.abbr = name;
2205
+ if (locales[name] != null) {
2206
+ deprecateSimple(
2207
+ 'defineLocaleOverride',
2208
+ 'use moment.updateLocale(localeName, config) to change ' +
2209
+ 'an existing locale. moment.defineLocale(localeName, ' +
2210
+ 'config) should only be used for creating a new locale ' +
2211
+ 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'
2212
+ );
2213
+ parentConfig = locales[name]._config;
2214
+ } else if (config.parentLocale != null) {
2215
+ if (locales[config.parentLocale] != null) {
2216
+ parentConfig = locales[config.parentLocale]._config;
2217
+ } else {
2218
+ locale = loadLocale(config.parentLocale);
2219
+ if (locale != null) {
2220
+ parentConfig = locale._config;
2221
+ } else {
2222
+ if (!localeFamilies[config.parentLocale]) {
2223
+ localeFamilies[config.parentLocale] = [];
2224
+ }
2225
+ localeFamilies[config.parentLocale].push({
2226
+ name: name,
2227
+ config: config,
2228
+ });
2229
+ return null;
2230
+ }
2231
+ }
2232
+ }
2233
+ locales[name] = new Locale(mergeConfigs(parentConfig, config));
2234
+
2235
+ if (localeFamilies[name]) {
2236
+ localeFamilies[name].forEach(function (x) {
2237
+ defineLocale(x.name, x.config);
2238
+ });
2239
+ }
2240
+
2241
+ // backwards compat for now: also set the locale
2242
+ // make sure we set the locale AFTER all child locales have been
2243
+ // created, so we won't end up with the child locale set.
2244
+ getSetGlobalLocale(name);
2245
+
2246
+ return locales[name];
2247
+ } else {
2248
+ // useful for testing
2249
+ delete locales[name];
2250
+ return null;
2251
+ }
2252
+ }
2253
+
2254
+ function updateLocale(name, config) {
2255
+ if (config != null) {
2256
+ var locale,
2257
+ tmpLocale,
2258
+ parentConfig = baseConfig;
2259
+
2260
+ if (locales[name] != null && locales[name].parentLocale != null) {
2261
+ // Update existing child locale in-place to avoid memory-leaks
2262
+ locales[name].set(mergeConfigs(locales[name]._config, config));
2263
+ } else {
2264
+ // MERGE
2265
+ tmpLocale = loadLocale(name);
2266
+ if (tmpLocale != null) {
2267
+ parentConfig = tmpLocale._config;
2268
+ }
2269
+ config = mergeConfigs(parentConfig, config);
2270
+ if (tmpLocale == null) {
2271
+ // updateLocale is called for creating a new locale
2272
+ // Set abbr so it will have a name (getters return
2273
+ // undefined otherwise).
2274
+ config.abbr = name;
2275
+ }
2276
+ locale = new Locale(config);
2277
+ locale.parentLocale = locales[name];
2278
+ locales[name] = locale;
2279
+ }
2280
+
2281
+ // backwards compat for now: also set the locale
2282
+ getSetGlobalLocale(name);
2283
+ } else {
2284
+ // pass null for config to unupdate, useful for tests
2285
+ if (locales[name] != null) {
2286
+ if (locales[name].parentLocale != null) {
2287
+ locales[name] = locales[name].parentLocale;
2288
+ if (name === getSetGlobalLocale()) {
2289
+ getSetGlobalLocale(name);
2290
+ }
2291
+ } else if (locales[name] != null) {
2292
+ delete locales[name];
2293
+ }
2294
+ }
2295
+ }
2296
+ return locales[name];
2297
+ }
2298
+
2299
+ // returns locale data
2300
+ function getLocale(key) {
2301
+ var locale;
2302
+
2303
+ if (key && key._locale && key._locale._abbr) {
2304
+ key = key._locale._abbr;
2305
+ }
2306
+
2307
+ if (!key) {
2308
+ return globalLocale;
2309
+ }
2310
+
2311
+ if (!isArray(key)) {
2312
+ //short-circuit everything else
2313
+ locale = loadLocale(key);
2314
+ if (locale) {
2315
+ return locale;
2316
+ }
2317
+ key = [key];
2318
+ }
2319
+
2320
+ return chooseLocale(key);
2321
+ }
2322
+
2323
+ function listLocales() {
2324
+ return keys(locales);
2325
+ }
2326
+
2327
+ function checkOverflow(m) {
2328
+ var overflow,
2329
+ a = m._a;
2330
+
2331
+ if (a && getParsingFlags(m).overflow === -2) {
2332
+ overflow =
2333
+ a[MONTH] < 0 || a[MONTH] > 11
2334
+ ? MONTH
2335
+ : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])
2336
+ ? DATE
2337
+ : a[HOUR] < 0 ||
2338
+ a[HOUR] > 24 ||
2339
+ (a[HOUR] === 24 &&
2340
+ (a[MINUTE] !== 0 ||
2341
+ a[SECOND] !== 0 ||
2342
+ a[MILLISECOND] !== 0))
2343
+ ? HOUR
2344
+ : a[MINUTE] < 0 || a[MINUTE] > 59
2345
+ ? MINUTE
2346
+ : a[SECOND] < 0 || a[SECOND] > 59
2347
+ ? SECOND
2348
+ : a[MILLISECOND] < 0 || a[MILLISECOND] > 999
2349
+ ? MILLISECOND
2350
+ : -1;
2351
+
2352
+ if (
2353
+ getParsingFlags(m)._overflowDayOfYear &&
2354
+ (overflow < YEAR || overflow > DATE)
2355
+ ) {
2356
+ overflow = DATE;
2357
+ }
2358
+ if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
2359
+ overflow = WEEK;
2360
+ }
2361
+ if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
2362
+ overflow = WEEKDAY;
2363
+ }
2364
+
2365
+ getParsingFlags(m).overflow = overflow;
2366
+ }
2367
+
2368
+ return m;
2369
+ }
2370
+
2371
+ // iso 8601 regex
2372
+ // 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)
2373
+ 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)?)?$/,
2374
+ 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)?)?$/,
2375
+ tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
2376
+ isoDates = [
2377
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
2378
+ ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
2379
+ ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
2380
+ ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
2381
+ ['YYYY-DDD', /\d{4}-\d{3}/],
2382
+ ['YYYY-MM', /\d{4}-\d\d/, false],
2383
+ ['YYYYYYMMDD', /[+-]\d{10}/],
2384
+ ['YYYYMMDD', /\d{8}/],
2385
+ ['GGGG[W]WWE', /\d{4}W\d{3}/],
2386
+ ['GGGG[W]WW', /\d{4}W\d{2}/, false],
2387
+ ['YYYYDDD', /\d{7}/],
2388
+ ['YYYYMM', /\d{6}/, false],
2389
+ ['YYYY', /\d{4}/, false],
2390
+ ],
2391
+ // iso time formats and regexes
2392
+ isoTimes = [
2393
+ ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
2394
+ ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
2395
+ ['HH:mm:ss', /\d\d:\d\d:\d\d/],
2396
+ ['HH:mm', /\d\d:\d\d/],
2397
+ ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
2398
+ ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
2399
+ ['HHmmss', /\d\d\d\d\d\d/],
2400
+ ['HHmm', /\d\d\d\d/],
2401
+ ['HH', /\d\d/],
2402
+ ],
2403
+ aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
2404
+ // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
2405
+ 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}))$/,
2406
+ obsOffsets = {
2407
+ UT: 0,
2408
+ GMT: 0,
2409
+ EDT: -4 * 60,
2410
+ EST: -5 * 60,
2411
+ CDT: -5 * 60,
2412
+ CST: -6 * 60,
2413
+ MDT: -6 * 60,
2414
+ MST: -7 * 60,
2415
+ PDT: -7 * 60,
2416
+ PST: -8 * 60,
2417
+ };
2418
+
2419
+ // date from iso format
2420
+ function configFromISO(config) {
2421
+ var i,
2422
+ l,
2423
+ string = config._i,
2424
+ match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
2425
+ allowTime,
2426
+ dateFormat,
2427
+ timeFormat,
2428
+ tzFormat;
2429
+
2430
+ if (match) {
2431
+ getParsingFlags(config).iso = true;
2432
+
2433
+ for (i = 0, l = isoDates.length; i < l; i++) {
2434
+ if (isoDates[i][1].exec(match[1])) {
2435
+ dateFormat = isoDates[i][0];
2436
+ allowTime = isoDates[i][2] !== false;
2437
+ break;
2438
+ }
2439
+ }
2440
+ if (dateFormat == null) {
2441
+ config._isValid = false;
2442
+ return;
2443
+ }
2444
+ if (match[3]) {
2445
+ for (i = 0, l = isoTimes.length; i < l; i++) {
2446
+ if (isoTimes[i][1].exec(match[3])) {
2447
+ // match[2] should be 'T' or space
2448
+ timeFormat = (match[2] || ' ') + isoTimes[i][0];
2449
+ break;
2450
+ }
2451
+ }
2452
+ if (timeFormat == null) {
2453
+ config._isValid = false;
2454
+ return;
2455
+ }
2456
+ }
2457
+ if (!allowTime && timeFormat != null) {
2458
+ config._isValid = false;
2459
+ return;
2460
+ }
2461
+ if (match[4]) {
2462
+ if (tzRegex.exec(match[4])) {
2463
+ tzFormat = 'Z';
2464
+ } else {
2465
+ config._isValid = false;
2466
+ return;
2467
+ }
2468
+ }
2469
+ config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
2470
+ configFromStringAndFormat(config);
2471
+ } else {
2472
+ config._isValid = false;
2473
+ }
2474
+ }
2475
+
2476
+ function extractFromRFC2822Strings(
2477
+ yearStr,
2478
+ monthStr,
2479
+ dayStr,
2480
+ hourStr,
2481
+ minuteStr,
2482
+ secondStr
2483
+ ) {
2484
+ var result = [
2485
+ untruncateYear(yearStr),
2486
+ defaultLocaleMonthsShort.indexOf(monthStr),
2487
+ parseInt(dayStr, 10),
2488
+ parseInt(hourStr, 10),
2489
+ parseInt(minuteStr, 10),
2490
+ ];
2491
+
2492
+ if (secondStr) {
2493
+ result.push(parseInt(secondStr, 10));
2494
+ }
2495
+
2496
+ return result;
2497
+ }
2498
+
2499
+ function untruncateYear(yearStr) {
2500
+ var year = parseInt(yearStr, 10);
2501
+ if (year <= 49) {
2502
+ return 2000 + year;
2503
+ } else if (year <= 999) {
2504
+ return 1900 + year;
2505
+ }
2506
+ return year;
2507
+ }
2508
+
2509
+ function preprocessRFC2822(s) {
2510
+ // Remove comments and folding whitespace and replace multiple-spaces with a single space
2511
+ return s
2512
+ .replace(/\([^)]*\)|[\n\t]/g, ' ')
2513
+ .replace(/(\s\s+)/g, ' ')
2514
+ .replace(/^\s\s*/, '')
2515
+ .replace(/\s\s*$/, '');
2516
+ }
2517
+
2518
+ function checkWeekday(weekdayStr, parsedInput, config) {
2519
+ if (weekdayStr) {
2520
+ // TODO: Replace the vanilla JS Date object with an independent day-of-week check.
2521
+ var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
2522
+ weekdayActual = new Date(
2523
+ parsedInput[0],
2524
+ parsedInput[1],
2525
+ parsedInput[2]
2526
+ ).getDay();
2527
+ if (weekdayProvided !== weekdayActual) {
2528
+ getParsingFlags(config).weekdayMismatch = true;
2529
+ config._isValid = false;
2530
+ return false;
2531
+ }
2532
+ }
2533
+ return true;
2534
+ }
2535
+
2536
+ function calculateOffset(obsOffset, militaryOffset, numOffset) {
2537
+ if (obsOffset) {
2538
+ return obsOffsets[obsOffset];
2539
+ } else if (militaryOffset) {
2540
+ // the only allowed military tz is Z
2541
+ return 0;
2542
+ } else {
2543
+ var hm = parseInt(numOffset, 10),
2544
+ m = hm % 100,
2545
+ h = (hm - m) / 100;
2546
+ return h * 60 + m;
2547
+ }
2548
+ }
2549
+
2550
+ // date and time from ref 2822 format
2551
+ function configFromRFC2822(config) {
2552
+ var match = rfc2822.exec(preprocessRFC2822(config._i)),
2553
+ parsedArray;
2554
+ if (match) {
2555
+ parsedArray = extractFromRFC2822Strings(
2556
+ match[4],
2557
+ match[3],
2558
+ match[2],
2559
+ match[5],
2560
+ match[6],
2561
+ match[7]
2562
+ );
2563
+ if (!checkWeekday(match[1], parsedArray, config)) {
2564
+ return;
2565
+ }
2566
+
2567
+ config._a = parsedArray;
2568
+ config._tzm = calculateOffset(match[8], match[9], match[10]);
2569
+
2570
+ config._d = createUTCDate.apply(null, config._a);
2571
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2572
+
2573
+ getParsingFlags(config).rfc2822 = true;
2574
+ } else {
2575
+ config._isValid = false;
2576
+ }
2577
+ }
2578
+
2579
+ // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict
2580
+ function configFromString(config) {
2581
+ var matched = aspNetJsonRegex.exec(config._i);
2582
+ if (matched !== null) {
2583
+ config._d = new Date(+matched[1]);
2584
+ return;
2585
+ }
2586
+
2587
+ configFromISO(config);
2588
+ if (config._isValid === false) {
2589
+ delete config._isValid;
2590
+ } else {
2591
+ return;
2592
+ }
2593
+
2594
+ configFromRFC2822(config);
2595
+ if (config._isValid === false) {
2596
+ delete config._isValid;
2597
+ } else {
2598
+ return;
2599
+ }
2600
+
2601
+ if (config._strict) {
2602
+ config._isValid = false;
2603
+ } else {
2604
+ // Final attempt, use Input Fallback
2605
+ hooks.createFromInputFallback(config);
2606
+ }
2607
+ }
2608
+
2609
+ hooks.createFromInputFallback = deprecate(
2610
+ 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
2611
+ 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
2612
+ 'discouraged and will be removed in an upcoming major release. Please refer to ' +
2613
+ 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
2614
+ function (config) {
2615
+ config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
2616
+ }
2617
+ );
2618
+
2619
+ // Pick the first defined of two or three arguments.
2620
+ function defaults(a, b, c) {
2621
+ if (a != null) {
2622
+ return a;
2623
+ }
2624
+ if (b != null) {
2625
+ return b;
2626
+ }
2627
+ return c;
2628
+ }
2629
+
2630
+ function currentDateArray(config) {
2631
+ // hooks is actually the exported moment object
2632
+ var nowValue = new Date(hooks.now());
2633
+ if (config._useUTC) {
2634
+ return [
2635
+ nowValue.getUTCFullYear(),
2636
+ nowValue.getUTCMonth(),
2637
+ nowValue.getUTCDate(),
2638
+ ];
2639
+ }
2640
+ return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
2641
+ }
2642
+
2643
+ // convert an array to a date.
2644
+ // the array should mirror the parameters below
2645
+ // note: all values past the year are optional and will default to the lowest possible value.
2646
+ // [year, month, day , hour, minute, second, millisecond]
2647
+ function configFromArray(config) {
2648
+ var i,
2649
+ date,
2650
+ input = [],
2651
+ currentDate,
2652
+ expectedWeekday,
2653
+ yearToUse;
2654
+
2655
+ if (config._d) {
2656
+ return;
2657
+ }
2658
+
2659
+ currentDate = currentDateArray(config);
2660
+
2661
+ //compute day of the year from weeks and weekdays
2662
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
2663
+ dayOfYearFromWeekInfo(config);
2664
+ }
2665
+
2666
+ //if the day of the year is set, figure out what it is
2667
+ if (config._dayOfYear != null) {
2668
+ yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
2669
+
2670
+ if (
2671
+ config._dayOfYear > daysInYear(yearToUse) ||
2672
+ config._dayOfYear === 0
2673
+ ) {
2674
+ getParsingFlags(config)._overflowDayOfYear = true;
2675
+ }
2676
+
2677
+ date = createUTCDate(yearToUse, 0, config._dayOfYear);
2678
+ config._a[MONTH] = date.getUTCMonth();
2679
+ config._a[DATE] = date.getUTCDate();
2680
+ }
2681
+
2682
+ // Default to current date.
2683
+ // * if no year, month, day of month are given, default to today
2684
+ // * if day of month is given, default month and year
2685
+ // * if month is given, default only year
2686
+ // * if year is given, don't default anything
2687
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
2688
+ config._a[i] = input[i] = currentDate[i];
2689
+ }
2690
+
2691
+ // Zero out whatever was not defaulted, including time
2692
+ for (; i < 7; i++) {
2693
+ config._a[i] = input[i] =
2694
+ config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];
2695
+ }
2696
+
2697
+ // Check for 24:00:00.000
2698
+ if (
2699
+ config._a[HOUR] === 24 &&
2700
+ config._a[MINUTE] === 0 &&
2701
+ config._a[SECOND] === 0 &&
2702
+ config._a[MILLISECOND] === 0
2703
+ ) {
2704
+ config._nextDay = true;
2705
+ config._a[HOUR] = 0;
2706
+ }
2707
+
2708
+ config._d = (config._useUTC ? createUTCDate : createDate).apply(
2709
+ null,
2710
+ input
2711
+ );
2712
+ expectedWeekday = config._useUTC
2713
+ ? config._d.getUTCDay()
2714
+ : config._d.getDay();
2715
+
2716
+ // Apply timezone offset from input. The actual utcOffset can be changed
2717
+ // with parseZone.
2718
+ if (config._tzm != null) {
2719
+ config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
2720
+ }
2721
+
2722
+ if (config._nextDay) {
2723
+ config._a[HOUR] = 24;
2724
+ }
2725
+
2726
+ // check for mismatching day of week
2727
+ if (
2728
+ config._w &&
2729
+ typeof config._w.d !== 'undefined' &&
2730
+ config._w.d !== expectedWeekday
2731
+ ) {
2732
+ getParsingFlags(config).weekdayMismatch = true;
2733
+ }
2734
+ }
2735
+
2736
+ function dayOfYearFromWeekInfo(config) {
2737
+ var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
2738
+
2739
+ w = config._w;
2740
+ if (w.GG != null || w.W != null || w.E != null) {
2741
+ dow = 1;
2742
+ doy = 4;
2743
+
2744
+ // TODO: We need to take the current isoWeekYear, but that depends on
2745
+ // how we interpret now (local, utc, fixed offset). So create
2746
+ // a now version of current config (take local/utc/offset flags, and
2747
+ // create now).
2748
+ weekYear = defaults(
2749
+ w.GG,
2750
+ config._a[YEAR],
2751
+ weekOfYear(createLocal(), 1, 4).year
2752
+ );
2753
+ week = defaults(w.W, 1);
2754
+ weekday = defaults(w.E, 1);
2755
+ if (weekday < 1 || weekday > 7) {
2756
+ weekdayOverflow = true;
2757
+ }
2758
+ } else {
2759
+ dow = config._locale._week.dow;
2760
+ doy = config._locale._week.doy;
2761
+
2762
+ curWeek = weekOfYear(createLocal(), dow, doy);
2763
+
2764
+ weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
2765
+
2766
+ // Default to current week.
2767
+ week = defaults(w.w, curWeek.week);
2768
+
2769
+ if (w.d != null) {
2770
+ // weekday -- low day numbers are considered next week
2771
+ weekday = w.d;
2772
+ if (weekday < 0 || weekday > 6) {
2773
+ weekdayOverflow = true;
2774
+ }
2775
+ } else if (w.e != null) {
2776
+ // local weekday -- counting starts from beginning of week
2777
+ weekday = w.e + dow;
2778
+ if (w.e < 0 || w.e > 6) {
2779
+ weekdayOverflow = true;
2780
+ }
2781
+ } else {
2782
+ // default to beginning of week
2783
+ weekday = dow;
2784
+ }
2785
+ }
2786
+ if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
2787
+ getParsingFlags(config)._overflowWeeks = true;
2788
+ } else if (weekdayOverflow != null) {
2789
+ getParsingFlags(config)._overflowWeekday = true;
2790
+ } else {
2791
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
2792
+ config._a[YEAR] = temp.year;
2793
+ config._dayOfYear = temp.dayOfYear;
2794
+ }
2795
+ }
2796
+
2797
+ // constant that refers to the ISO standard
2798
+ hooks.ISO_8601 = function () {};
2799
+
2800
+ // constant that refers to the RFC 2822 form
2801
+ hooks.RFC_2822 = function () {};
2802
+
2803
+ // date from string and format string
2804
+ function configFromStringAndFormat(config) {
2805
+ // TODO: Move this to another part of the creation flow to prevent circular deps
2806
+ if (config._f === hooks.ISO_8601) {
2807
+ configFromISO(config);
2808
+ return;
2809
+ }
2810
+ if (config._f === hooks.RFC_2822) {
2811
+ configFromRFC2822(config);
2812
+ return;
2813
+ }
2814
+ config._a = [];
2815
+ getParsingFlags(config).empty = true;
2816
+
2817
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
2818
+ var string = '' + config._i,
2819
+ i,
2820
+ parsedInput,
2821
+ tokens,
2822
+ token,
2823
+ skipped,
2824
+ stringLength = string.length,
2825
+ totalParsedInputLength = 0,
2826
+ era;
2827
+
2828
+ tokens =
2829
+ expandFormat(config._f, config._locale).match(formattingTokens) || [];
2830
+
2831
+ for (i = 0; i < tokens.length; i++) {
2832
+ token = tokens[i];
2833
+ parsedInput = (string.match(getParseRegexForToken(token, config)) ||
2834
+ [])[0];
2835
+ if (parsedInput) {
2836
+ skipped = string.substr(0, string.indexOf(parsedInput));
2837
+ if (skipped.length > 0) {
2838
+ getParsingFlags(config).unusedInput.push(skipped);
2839
+ }
2840
+ string = string.slice(
2841
+ string.indexOf(parsedInput) + parsedInput.length
2842
+ );
2843
+ totalParsedInputLength += parsedInput.length;
2844
+ }
2845
+ // don't parse if it's not a known token
2846
+ if (formatTokenFunctions[token]) {
2847
+ if (parsedInput) {
2848
+ getParsingFlags(config).empty = false;
2849
+ } else {
2850
+ getParsingFlags(config).unusedTokens.push(token);
2851
+ }
2852
+ addTimeToArrayFromToken(token, parsedInput, config);
2853
+ } else if (config._strict && !parsedInput) {
2854
+ getParsingFlags(config).unusedTokens.push(token);
2855
+ }
2856
+ }
2857
+
2858
+ // add remaining unparsed input length to the string
2859
+ getParsingFlags(config).charsLeftOver =
2860
+ stringLength - totalParsedInputLength;
2861
+ if (string.length > 0) {
2862
+ getParsingFlags(config).unusedInput.push(string);
2863
+ }
2864
+
2865
+ // clear _12h flag if hour is <= 12
2866
+ if (
2867
+ config._a[HOUR] <= 12 &&
2868
+ getParsingFlags(config).bigHour === true &&
2869
+ config._a[HOUR] > 0
2870
+ ) {
2871
+ getParsingFlags(config).bigHour = undefined;
2872
+ }
2873
+
2874
+ getParsingFlags(config).parsedDateParts = config._a.slice(0);
2875
+ getParsingFlags(config).meridiem = config._meridiem;
2876
+ // handle meridiem
2877
+ config._a[HOUR] = meridiemFixWrap(
2878
+ config._locale,
2879
+ config._a[HOUR],
2880
+ config._meridiem
2881
+ );
2882
+
2883
+ // handle era
2884
+ era = getParsingFlags(config).era;
2885
+ if (era !== null) {
2886
+ config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
2887
+ }
2888
+
2889
+ configFromArray(config);
2890
+ checkOverflow(config);
2891
+ }
2892
+
2893
+ function meridiemFixWrap(locale, hour, meridiem) {
2894
+ var isPm;
2895
+
2896
+ if (meridiem == null) {
2897
+ // nothing to do
2898
+ return hour;
2899
+ }
2900
+ if (locale.meridiemHour != null) {
2901
+ return locale.meridiemHour(hour, meridiem);
2902
+ } else if (locale.isPM != null) {
2903
+ // Fallback
2904
+ isPm = locale.isPM(meridiem);
2905
+ if (isPm && hour < 12) {
2906
+ hour += 12;
2907
+ }
2908
+ if (!isPm && hour === 12) {
2909
+ hour = 0;
2910
+ }
2911
+ return hour;
2912
+ } else {
2913
+ // this is not supposed to happen
2914
+ return hour;
2915
+ }
2916
+ }
2917
+
2918
+ // date from string and array of format strings
2919
+ function configFromStringAndArray(config) {
2920
+ var tempConfig,
2921
+ bestMoment,
2922
+ scoreToBeat,
2923
+ i,
2924
+ currentScore,
2925
+ validFormatFound,
2926
+ bestFormatIsValid = false;
2927
+
2928
+ if (config._f.length === 0) {
2929
+ getParsingFlags(config).invalidFormat = true;
2930
+ config._d = new Date(NaN);
2931
+ return;
2932
+ }
2933
+
2934
+ for (i = 0; i < config._f.length; i++) {
2935
+ currentScore = 0;
2936
+ validFormatFound = false;
2937
+ tempConfig = copyConfig({}, config);
2938
+ if (config._useUTC != null) {
2939
+ tempConfig._useUTC = config._useUTC;
2940
+ }
2941
+ tempConfig._f = config._f[i];
2942
+ configFromStringAndFormat(tempConfig);
2943
+
2944
+ if (isValid(tempConfig)) {
2945
+ validFormatFound = true;
2946
+ }
2947
+
2948
+ // if there is any input that was not parsed add a penalty for that format
2949
+ currentScore += getParsingFlags(tempConfig).charsLeftOver;
2950
+
2951
+ //or tokens
2952
+ currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
2953
+
2954
+ getParsingFlags(tempConfig).score = currentScore;
2955
+
2956
+ if (!bestFormatIsValid) {
2957
+ if (
2958
+ scoreToBeat == null ||
2959
+ currentScore < scoreToBeat ||
2960
+ validFormatFound
2961
+ ) {
2962
+ scoreToBeat = currentScore;
2963
+ bestMoment = tempConfig;
2964
+ if (validFormatFound) {
2965
+ bestFormatIsValid = true;
2966
+ }
2967
+ }
2968
+ } else {
2969
+ if (currentScore < scoreToBeat) {
2970
+ scoreToBeat = currentScore;
2971
+ bestMoment = tempConfig;
2972
+ }
2973
+ }
2974
+ }
2975
+
2976
+ extend(config, bestMoment || tempConfig);
2977
+ }
2978
+
2979
+ function configFromObject(config) {
2980
+ if (config._d) {
2981
+ return;
2982
+ }
2983
+
2984
+ var i = normalizeObjectUnits(config._i),
2985
+ dayOrDate = i.day === undefined ? i.date : i.day;
2986
+ config._a = map(
2987
+ [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],
2988
+ function (obj) {
2989
+ return obj && parseInt(obj, 10);
2990
+ }
2991
+ );
2992
+
2993
+ configFromArray(config);
2994
+ }
2995
+
2996
+ function createFromConfig(config) {
2997
+ var res = new Moment(checkOverflow(prepareConfig(config)));
2998
+ if (res._nextDay) {
2999
+ // Adding is smart enough around DST
3000
+ res.add(1, 'd');
3001
+ res._nextDay = undefined;
3002
+ }
3003
+
3004
+ return res;
3005
+ }
3006
+
3007
+ function prepareConfig(config) {
3008
+ var input = config._i,
3009
+ format = config._f;
3010
+
3011
+ config._locale = config._locale || getLocale(config._l);
3012
+
3013
+ if (input === null || (format === undefined && input === '')) {
3014
+ return createInvalid({ nullInput: true });
3015
+ }
3016
+
3017
+ if (typeof input === 'string') {
3018
+ config._i = input = config._locale.preparse(input);
3019
+ }
3020
+
3021
+ if (isMoment(input)) {
3022
+ return new Moment(checkOverflow(input));
3023
+ } else if (isDate(input)) {
3024
+ config._d = input;
3025
+ } else if (isArray(format)) {
3026
+ configFromStringAndArray(config);
3027
+ } else if (format) {
3028
+ configFromStringAndFormat(config);
3029
+ } else {
3030
+ configFromInput(config);
3031
+ }
3032
+
3033
+ if (!isValid(config)) {
3034
+ config._d = null;
3035
+ }
3036
+
3037
+ return config;
3038
+ }
3039
+
3040
+ function configFromInput(config) {
3041
+ var input = config._i;
3042
+ if (isUndefined(input)) {
3043
+ config._d = new Date(hooks.now());
3044
+ } else if (isDate(input)) {
3045
+ config._d = new Date(input.valueOf());
3046
+ } else if (typeof input === 'string') {
3047
+ configFromString(config);
3048
+ } else if (isArray(input)) {
3049
+ config._a = map(input.slice(0), function (obj) {
3050
+ return parseInt(obj, 10);
3051
+ });
3052
+ configFromArray(config);
3053
+ } else if (isObject(input)) {
3054
+ configFromObject(config);
3055
+ } else if (isNumber(input)) {
3056
+ // from milliseconds
3057
+ config._d = new Date(input);
3058
+ } else {
3059
+ hooks.createFromInputFallback(config);
3060
+ }
3061
+ }
3062
+
3063
+ function createLocalOrUTC(input, format, locale, strict, isUTC) {
3064
+ var c = {};
3065
+
3066
+ if (format === true || format === false) {
3067
+ strict = format;
3068
+ format = undefined;
3069
+ }
3070
+
3071
+ if (locale === true || locale === false) {
3072
+ strict = locale;
3073
+ locale = undefined;
3074
+ }
3075
+
3076
+ if (
3077
+ (isObject(input) && isObjectEmpty(input)) ||
3078
+ (isArray(input) && input.length === 0)
3079
+ ) {
3080
+ input = undefined;
3081
+ }
3082
+ // object construction must be done this way.
3083
+ // https://github.com/moment/moment/issues/1423
3084
+ c._isAMomentObject = true;
3085
+ c._useUTC = c._isUTC = isUTC;
3086
+ c._l = locale;
3087
+ c._i = input;
3088
+ c._f = format;
3089
+ c._strict = strict;
3090
+
3091
+ return createFromConfig(c);
3092
+ }
3093
+
3094
+ function createLocal(input, format, locale, strict) {
3095
+ return createLocalOrUTC(input, format, locale, strict, false);
3096
+ }
3097
+
3098
+ var prototypeMin = deprecate(
3099
+ 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
3100
+ function () {
3101
+ var other = createLocal.apply(null, arguments);
3102
+ if (this.isValid() && other.isValid()) {
3103
+ return other < this ? this : other;
3104
+ } else {
3105
+ return createInvalid();
3106
+ }
3107
+ }
3108
+ ),
3109
+ prototypeMax = deprecate(
3110
+ 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
3111
+ function () {
3112
+ var other = createLocal.apply(null, arguments);
3113
+ if (this.isValid() && other.isValid()) {
3114
+ return other > this ? this : other;
3115
+ } else {
3116
+ return createInvalid();
3117
+ }
3118
+ }
3119
+ );
3120
+
3121
+ // Pick a moment m from moments so that m[fn](other) is true for all
3122
+ // other. This relies on the function fn to be transitive.
3123
+ //
3124
+ // moments should either be an array of moment objects or an array, whose
3125
+ // first element is an array of moment objects.
3126
+ function pickBy(fn, moments) {
3127
+ var res, i;
3128
+ if (moments.length === 1 && isArray(moments[0])) {
3129
+ moments = moments[0];
3130
+ }
3131
+ if (!moments.length) {
3132
+ return createLocal();
3133
+ }
3134
+ res = moments[0];
3135
+ for (i = 1; i < moments.length; ++i) {
3136
+ if (!moments[i].isValid() || moments[i][fn](res)) {
3137
+ res = moments[i];
3138
+ }
3139
+ }
3140
+ return res;
3141
+ }
3142
+
3143
+ // TODO: Use [].sort instead?
3144
+ function min() {
3145
+ var args = [].slice.call(arguments, 0);
3146
+
3147
+ return pickBy('isBefore', args);
3148
+ }
3149
+
3150
+ function max() {
3151
+ var args = [].slice.call(arguments, 0);
3152
+
3153
+ return pickBy('isAfter', args);
3154
+ }
3155
+
3156
+ var now = function () {
3157
+ return Date.now ? Date.now() : +new Date();
3158
+ };
3159
+
3160
+ var ordering = [
3161
+ 'year',
3162
+ 'quarter',
3163
+ 'month',
3164
+ 'week',
3165
+ 'day',
3166
+ 'hour',
3167
+ 'minute',
3168
+ 'second',
3169
+ 'millisecond',
3170
+ ];
3171
+
3172
+ function isDurationValid(m) {
3173
+ var key,
3174
+ unitHasDecimal = false,
3175
+ i;
3176
+ for (key in m) {
3177
+ if (
3178
+ hasOwnProp(m, key) &&
3179
+ !(
3180
+ indexOf.call(ordering, key) !== -1 &&
3181
+ (m[key] == null || !isNaN(m[key]))
3182
+ )
3183
+ ) {
3184
+ return false;
3185
+ }
3186
+ }
3187
+
3188
+ for (i = 0; i < ordering.length; ++i) {
3189
+ if (m[ordering[i]]) {
3190
+ if (unitHasDecimal) {
3191
+ return false; // only allow non-integers for smallest unit
3192
+ }
3193
+ if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
3194
+ unitHasDecimal = true;
3195
+ }
3196
+ }
3197
+ }
3198
+
3199
+ return true;
3200
+ }
3201
+
3202
+ function isValid$1() {
3203
+ return this._isValid;
3204
+ }
3205
+
3206
+ function createInvalid$1() {
3207
+ return createDuration(NaN);
3208
+ }
3209
+
3210
+ function Duration(duration) {
3211
+ var normalizedInput = normalizeObjectUnits(duration),
3212
+ years = normalizedInput.year || 0,
3213
+ quarters = normalizedInput.quarter || 0,
3214
+ months = normalizedInput.month || 0,
3215
+ weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
3216
+ days = normalizedInput.day || 0,
3217
+ hours = normalizedInput.hour || 0,
3218
+ minutes = normalizedInput.minute || 0,
3219
+ seconds = normalizedInput.second || 0,
3220
+ milliseconds = normalizedInput.millisecond || 0;
3221
+
3222
+ this._isValid = isDurationValid(normalizedInput);
3223
+
3224
+ // representation for dateAddRemove
3225
+ this._milliseconds =
3226
+ +milliseconds +
3227
+ seconds * 1e3 + // 1000
3228
+ minutes * 6e4 + // 1000 * 60
3229
+ hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
3230
+ // Because of dateAddRemove treats 24 hours as different from a
3231
+ // day when working around DST, we need to store them separately
3232
+ this._days = +days + weeks * 7;
3233
+ // It is impossible to translate months into days without knowing
3234
+ // which months you are are talking about, so we have to store
3235
+ // it separately.
3236
+ this._months = +months + quarters * 3 + years * 12;
3237
+
3238
+ this._data = {};
3239
+
3240
+ this._locale = getLocale();
3241
+
3242
+ this._bubble();
3243
+ }
3244
+
3245
+ function isDuration(obj) {
3246
+ return obj instanceof Duration;
3247
+ }
3248
+
3249
+ function absRound(number) {
3250
+ if (number < 0) {
3251
+ return Math.round(-1 * number) * -1;
3252
+ } else {
3253
+ return Math.round(number);
3254
+ }
3255
+ }
3256
+
3257
+ // compare two arrays, return the number of differences
3258
+ function compareArrays(array1, array2, dontConvert) {
3259
+ var len = Math.min(array1.length, array2.length),
3260
+ lengthDiff = Math.abs(array1.length - array2.length),
3261
+ diffs = 0,
3262
+ i;
3263
+ for (i = 0; i < len; i++) {
3264
+ if (
3265
+ (dontConvert && array1[i] !== array2[i]) ||
3266
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))
3267
+ ) {
3268
+ diffs++;
3269
+ }
3270
+ }
3271
+ return diffs + lengthDiff;
3272
+ }
3273
+
3274
+ // FORMATTING
3275
+
3276
+ function offset(token, separator) {
3277
+ addFormatToken(token, 0, 0, function () {
3278
+ var offset = this.utcOffset(),
3279
+ sign = '+';
3280
+ if (offset < 0) {
3281
+ offset = -offset;
3282
+ sign = '-';
3283
+ }
3284
+ return (
3285
+ sign +
3286
+ zeroFill(~~(offset / 60), 2) +
3287
+ separator +
3288
+ zeroFill(~~offset % 60, 2)
3289
+ );
3290
+ });
3291
+ }
3292
+
3293
+ offset('Z', ':');
3294
+ offset('ZZ', '');
3295
+
3296
+ // PARSING
3297
+
3298
+ addRegexToken('Z', matchShortOffset);
3299
+ addRegexToken('ZZ', matchShortOffset);
3300
+ addParseToken(['Z', 'ZZ'], function (input, array, config) {
3301
+ config._useUTC = true;
3302
+ config._tzm = offsetFromString(matchShortOffset, input);
3303
+ });
3304
+
3305
+ // HELPERS
3306
+
3307
+ // timezone chunker
3308
+ // '+10:00' > ['10', '00']
3309
+ // '-1530' > ['-15', '30']
3310
+ var chunkOffset = /([\+\-]|\d\d)/gi;
3311
+
3312
+ function offsetFromString(matcher, string) {
3313
+ var matches = (string || '').match(matcher),
3314
+ chunk,
3315
+ parts,
3316
+ minutes;
3317
+
3318
+ if (matches === null) {
3319
+ return null;
3320
+ }
3321
+
3322
+ chunk = matches[matches.length - 1] || [];
3323
+ parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
3324
+ minutes = +(parts[1] * 60) + toInt(parts[2]);
3325
+
3326
+ return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
3327
+ }
3328
+
3329
+ // Return a moment from input, that is local/utc/zone equivalent to model.
3330
+ function cloneWithOffset(input, model) {
3331
+ var res, diff;
3332
+ if (model._isUTC) {
3333
+ res = model.clone();
3334
+ diff =
3335
+ (isMoment(input) || isDate(input)
3336
+ ? input.valueOf()
3337
+ : createLocal(input).valueOf()) - res.valueOf();
3338
+ // Use low-level api, because this fn is low-level api.
3339
+ res._d.setTime(res._d.valueOf() + diff);
3340
+ hooks.updateOffset(res, false);
3341
+ return res;
3342
+ } else {
3343
+ return createLocal(input).local();
3344
+ }
3345
+ }
3346
+
3347
+ function getDateOffset(m) {
3348
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
3349
+ // https://github.com/moment/moment/pull/1871
3350
+ return -Math.round(m._d.getTimezoneOffset());
3351
+ }
3352
+
3353
+ // HOOKS
3354
+
3355
+ // This function will be called whenever a moment is mutated.
3356
+ // It is intended to keep the offset in sync with the timezone.
3357
+ hooks.updateOffset = function () {};
3358
+
3359
+ // MOMENTS
3360
+
3361
+ // keepLocalTime = true means only change the timezone, without
3362
+ // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
3363
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
3364
+ // +0200, so we adjust the time as needed, to be valid.
3365
+ //
3366
+ // Keeping the time actually adds/subtracts (one hour)
3367
+ // from the actual represented time. That is why we call updateOffset
3368
+ // a second time. In case it wants us to change the offset again
3369
+ // _changeInProgress == true case, then we have to adjust, because
3370
+ // there is no such time in the given timezone.
3371
+ function getSetOffset(input, keepLocalTime, keepMinutes) {
3372
+ var offset = this._offset || 0,
3373
+ localAdjust;
3374
+ if (!this.isValid()) {
3375
+ return input != null ? this : NaN;
3376
+ }
3377
+ if (input != null) {
3378
+ if (typeof input === 'string') {
3379
+ input = offsetFromString(matchShortOffset, input);
3380
+ if (input === null) {
3381
+ return this;
3382
+ }
3383
+ } else if (Math.abs(input) < 16 && !keepMinutes) {
3384
+ input = input * 60;
3385
+ }
3386
+ if (!this._isUTC && keepLocalTime) {
3387
+ localAdjust = getDateOffset(this);
3388
+ }
3389
+ this._offset = input;
3390
+ this._isUTC = true;
3391
+ if (localAdjust != null) {
3392
+ this.add(localAdjust, 'm');
3393
+ }
3394
+ if (offset !== input) {
3395
+ if (!keepLocalTime || this._changeInProgress) {
3396
+ addSubtract(
3397
+ this,
3398
+ createDuration(input - offset, 'm'),
3399
+ 1,
3400
+ false
3401
+ );
3402
+ } else if (!this._changeInProgress) {
3403
+ this._changeInProgress = true;
3404
+ hooks.updateOffset(this, true);
3405
+ this._changeInProgress = null;
3406
+ }
3407
+ }
3408
+ return this;
3409
+ } else {
3410
+ return this._isUTC ? offset : getDateOffset(this);
3411
+ }
3412
+ }
3413
+
3414
+ function getSetZone(input, keepLocalTime) {
3415
+ if (input != null) {
3416
+ if (typeof input !== 'string') {
3417
+ input = -input;
3418
+ }
3419
+
3420
+ this.utcOffset(input, keepLocalTime);
3421
+
3422
+ return this;
3423
+ } else {
3424
+ return -this.utcOffset();
3425
+ }
3426
+ }
3427
+
3428
+ function setOffsetToUTC(keepLocalTime) {
3429
+ return this.utcOffset(0, keepLocalTime);
3430
+ }
3431
+
3432
+ function setOffsetToLocal(keepLocalTime) {
3433
+ if (this._isUTC) {
3434
+ this.utcOffset(0, keepLocalTime);
3435
+ this._isUTC = false;
3436
+
3437
+ if (keepLocalTime) {
3438
+ this.subtract(getDateOffset(this), 'm');
3439
+ }
3440
+ }
3441
+ return this;
3442
+ }
3443
+
3444
+ function setOffsetToParsedOffset() {
3445
+ if (this._tzm != null) {
3446
+ this.utcOffset(this._tzm, false, true);
3447
+ } else if (typeof this._i === 'string') {
3448
+ var tZone = offsetFromString(matchOffset, this._i);
3449
+ if (tZone != null) {
3450
+ this.utcOffset(tZone);
3451
+ } else {
3452
+ this.utcOffset(0, true);
3453
+ }
3454
+ }
3455
+ return this;
3456
+ }
3457
+
3458
+ function hasAlignedHourOffset(input) {
3459
+ if (!this.isValid()) {
3460
+ return false;
3461
+ }
3462
+ input = input ? createLocal(input).utcOffset() : 0;
3463
+
3464
+ return (this.utcOffset() - input) % 60 === 0;
3465
+ }
3466
+
3467
+ function isDaylightSavingTime() {
3468
+ return (
3469
+ this.utcOffset() > this.clone().month(0).utcOffset() ||
3470
+ this.utcOffset() > this.clone().month(5).utcOffset()
3471
+ );
3472
+ }
3473
+
3474
+ function isDaylightSavingTimeShifted() {
3475
+ if (!isUndefined(this._isDSTShifted)) {
3476
+ return this._isDSTShifted;
3477
+ }
3478
+
3479
+ var c = {},
3480
+ other;
3481
+
3482
+ copyConfig(c, this);
3483
+ c = prepareConfig(c);
3484
+
3485
+ if (c._a) {
3486
+ other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
3487
+ this._isDSTShifted =
3488
+ this.isValid() && compareArrays(c._a, other.toArray()) > 0;
3489
+ } else {
3490
+ this._isDSTShifted = false;
3491
+ }
3492
+
3493
+ return this._isDSTShifted;
3494
+ }
3495
+
3496
+ function isLocal() {
3497
+ return this.isValid() ? !this._isUTC : false;
3498
+ }
3499
+
3500
+ function isUtcOffset() {
3501
+ return this.isValid() ? this._isUTC : false;
3502
+ }
3503
+
3504
+ function isUtc() {
3505
+ return this.isValid() ? this._isUTC && this._offset === 0 : false;
3506
+ }
3507
+
3508
+ // ASP.NET json date format regex
3509
+ var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
3510
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
3511
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
3512
+ // and further modified to allow for strings containing both week and day
3513
+ isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
3514
+
3515
+ function createDuration(input, key) {
3516
+ var duration = input,
3517
+ // matching against regexp is expensive, do it on demand
3518
+ match = null,
3519
+ sign,
3520
+ ret,
3521
+ diffRes;
3522
+
3523
+ if (isDuration(input)) {
3524
+ duration = {
3525
+ ms: input._milliseconds,
3526
+ d: input._days,
3527
+ M: input._months,
3528
+ };
3529
+ } else if (isNumber(input) || !isNaN(+input)) {
3530
+ duration = {};
3531
+ if (key) {
3532
+ duration[key] = +input;
3533
+ } else {
3534
+ duration.milliseconds = +input;
3535
+ }
3536
+ } else if ((match = aspNetRegex.exec(input))) {
3537
+ sign = match[1] === '-' ? -1 : 1;
3538
+ duration = {
3539
+ y: 0,
3540
+ d: toInt(match[DATE]) * sign,
3541
+ h: toInt(match[HOUR]) * sign,
3542
+ m: toInt(match[MINUTE]) * sign,
3543
+ s: toInt(match[SECOND]) * sign,
3544
+ ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match
3545
+ };
3546
+ } else if ((match = isoRegex.exec(input))) {
3547
+ sign = match[1] === '-' ? -1 : 1;
3548
+ duration = {
3549
+ y: parseIso(match[2], sign),
3550
+ M: parseIso(match[3], sign),
3551
+ w: parseIso(match[4], sign),
3552
+ d: parseIso(match[5], sign),
3553
+ h: parseIso(match[6], sign),
3554
+ m: parseIso(match[7], sign),
3555
+ s: parseIso(match[8], sign),
3556
+ };
3557
+ } else if (duration == null) {
3558
+ // checks for null or undefined
3559
+ duration = {};
3560
+ } else if (
3561
+ typeof duration === 'object' &&
3562
+ ('from' in duration || 'to' in duration)
3563
+ ) {
3564
+ diffRes = momentsDifference(
3565
+ createLocal(duration.from),
3566
+ createLocal(duration.to)
3567
+ );
3568
+
3569
+ duration = {};
3570
+ duration.ms = diffRes.milliseconds;
3571
+ duration.M = diffRes.months;
3572
+ }
3573
+
3574
+ ret = new Duration(duration);
3575
+
3576
+ if (isDuration(input) && hasOwnProp(input, '_locale')) {
3577
+ ret._locale = input._locale;
3578
+ }
3579
+
3580
+ if (isDuration(input) && hasOwnProp(input, '_isValid')) {
3581
+ ret._isValid = input._isValid;
3582
+ }
3583
+
3584
+ return ret;
3585
+ }
3586
+
3587
+ createDuration.fn = Duration.prototype;
3588
+ createDuration.invalid = createInvalid$1;
3589
+
3590
+ function parseIso(inp, sign) {
3591
+ // We'd normally use ~~inp for this, but unfortunately it also
3592
+ // converts floats to ints.
3593
+ // inp may be undefined, so careful calling replace on it.
3594
+ var res = inp && parseFloat(inp.replace(',', '.'));
3595
+ // apply sign while we're at it
3596
+ return (isNaN(res) ? 0 : res) * sign;
3597
+ }
3598
+
3599
+ function positiveMomentsDifference(base, other) {
3600
+ var res = {};
3601
+
3602
+ res.months =
3603
+ other.month() - base.month() + (other.year() - base.year()) * 12;
3604
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
3605
+ --res.months;
3606
+ }
3607
+
3608
+ res.milliseconds = +other - +base.clone().add(res.months, 'M');
3609
+
3610
+ return res;
3611
+ }
3612
+
3613
+ function momentsDifference(base, other) {
3614
+ var res;
3615
+ if (!(base.isValid() && other.isValid())) {
3616
+ return { milliseconds: 0, months: 0 };
3617
+ }
3618
+
3619
+ other = cloneWithOffset(other, base);
3620
+ if (base.isBefore(other)) {
3621
+ res = positiveMomentsDifference(base, other);
3622
+ } else {
3623
+ res = positiveMomentsDifference(other, base);
3624
+ res.milliseconds = -res.milliseconds;
3625
+ res.months = -res.months;
3626
+ }
3627
+
3628
+ return res;
3629
+ }
3630
+
3631
+ // TODO: remove 'name' arg after deprecation is removed
3632
+ function createAdder(direction, name) {
3633
+ return function (val, period) {
3634
+ var dur, tmp;
3635
+ //invert the arguments, but complain about it
3636
+ if (period !== null && !isNaN(+period)) {
3637
+ deprecateSimple(
3638
+ name,
3639
+ 'moment().' +
3640
+ name +
3641
+ '(period, number) is deprecated. Please use moment().' +
3642
+ name +
3643
+ '(number, period). ' +
3644
+ 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'
3645
+ );
3646
+ tmp = val;
3647
+ val = period;
3648
+ period = tmp;
3649
+ }
3650
+
3651
+ dur = createDuration(val, period);
3652
+ addSubtract(this, dur, direction);
3653
+ return this;
3654
+ };
3655
+ }
3656
+
3657
+ function addSubtract(mom, duration, isAdding, updateOffset) {
3658
+ var milliseconds = duration._milliseconds,
3659
+ days = absRound(duration._days),
3660
+ months = absRound(duration._months);
3661
+
3662
+ if (!mom.isValid()) {
3663
+ // No op
3664
+ return;
3665
+ }
3666
+
3667
+ updateOffset = updateOffset == null ? true : updateOffset;
3668
+
3669
+ if (months) {
3670
+ setMonth(mom, get(mom, 'Month') + months * isAdding);
3671
+ }
3672
+ if (days) {
3673
+ set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
3674
+ }
3675
+ if (milliseconds) {
3676
+ mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
3677
+ }
3678
+ if (updateOffset) {
3679
+ hooks.updateOffset(mom, days || months);
3680
+ }
3681
+ }
3682
+
3683
+ var add = createAdder(1, 'add'),
3684
+ subtract = createAdder(-1, 'subtract');
3685
+
3686
+ function isString(input) {
3687
+ return typeof input === 'string' || input instanceof String;
3688
+ }
3689
+
3690
+ // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
3691
+ function isMomentInput(input) {
3692
+ return (
3693
+ isMoment(input) ||
3694
+ isDate(input) ||
3695
+ isString(input) ||
3696
+ isNumber(input) ||
3697
+ isNumberOrStringArray(input) ||
3698
+ isMomentInputObject(input) ||
3699
+ input === null ||
3700
+ input === undefined
3701
+ );
3702
+ }
3703
+
3704
+ function isMomentInputObject(input) {
3705
+ var objectTest = isObject(input) && !isObjectEmpty(input),
3706
+ propertyTest = false,
3707
+ properties = [
3708
+ 'years',
3709
+ 'year',
3710
+ 'y',
3711
+ 'months',
3712
+ 'month',
3713
+ 'M',
3714
+ 'days',
3715
+ 'day',
3716
+ 'd',
3717
+ 'dates',
3718
+ 'date',
3719
+ 'D',
3720
+ 'hours',
3721
+ 'hour',
3722
+ 'h',
3723
+ 'minutes',
3724
+ 'minute',
3725
+ 'm',
3726
+ 'seconds',
3727
+ 'second',
3728
+ 's',
3729
+ 'milliseconds',
3730
+ 'millisecond',
3731
+ 'ms',
3732
+ ],
3733
+ i,
3734
+ property;
3735
+
3736
+ for (i = 0; i < properties.length; i += 1) {
3737
+ property = properties[i];
3738
+ propertyTest = propertyTest || hasOwnProp(input, property);
3739
+ }
3740
+
3741
+ return objectTest && propertyTest;
3742
+ }
3743
+
3744
+ function isNumberOrStringArray(input) {
3745
+ var arrayTest = isArray(input),
3746
+ dataTypeTest = false;
3747
+ if (arrayTest) {
3748
+ dataTypeTest =
3749
+ input.filter(function (item) {
3750
+ return !isNumber(item) && isString(input);
3751
+ }).length === 0;
3752
+ }
3753
+ return arrayTest && dataTypeTest;
3754
+ }
3755
+
3756
+ function isCalendarSpec(input) {
3757
+ var objectTest = isObject(input) && !isObjectEmpty(input),
3758
+ propertyTest = false,
3759
+ properties = [
3760
+ 'sameDay',
3761
+ 'nextDay',
3762
+ 'lastDay',
3763
+ 'nextWeek',
3764
+ 'lastWeek',
3765
+ 'sameElse',
3766
+ ],
3767
+ i,
3768
+ property;
3769
+
3770
+ for (i = 0; i < properties.length; i += 1) {
3771
+ property = properties[i];
3772
+ propertyTest = propertyTest || hasOwnProp(input, property);
3773
+ }
3774
+
3775
+ return objectTest && propertyTest;
3776
+ }
3777
+
3778
+ function getCalendarFormat(myMoment, now) {
3779
+ var diff = myMoment.diff(now, 'days', true);
3780
+ return diff < -6
3781
+ ? 'sameElse'
3782
+ : diff < -1
3783
+ ? 'lastWeek'
3784
+ : diff < 0
3785
+ ? 'lastDay'
3786
+ : diff < 1
3787
+ ? 'sameDay'
3788
+ : diff < 2
3789
+ ? 'nextDay'
3790
+ : diff < 7
3791
+ ? 'nextWeek'
3792
+ : 'sameElse';
3793
+ }
3794
+
3795
+ function calendar$1(time, formats) {
3796
+ // Support for single parameter, formats only overload to the calendar function
3797
+ if (arguments.length === 1) {
3798
+ if (isMomentInput(arguments[0])) {
3799
+ time = arguments[0];
3800
+ formats = undefined;
3801
+ } else if (isCalendarSpec(arguments[0])) {
3802
+ formats = arguments[0];
3803
+ time = undefined;
3804
+ }
3805
+ }
3806
+ // We want to compare the start of today, vs this.
3807
+ // Getting start-of-today depends on whether we're local/utc/offset or not.
3808
+ var now = time || createLocal(),
3809
+ sod = cloneWithOffset(now, this).startOf('day'),
3810
+ format = hooks.calendarFormat(this, sod) || 'sameElse',
3811
+ output =
3812
+ formats &&
3813
+ (isFunction(formats[format])
3814
+ ? formats[format].call(this, now)
3815
+ : formats[format]);
3816
+
3817
+ return this.format(
3818
+ output || this.localeData().calendar(format, this, createLocal(now))
3819
+ );
3820
+ }
3821
+
3822
+ function clone() {
3823
+ return new Moment(this);
3824
+ }
3825
+
3826
+ function isAfter(input, units) {
3827
+ var localInput = isMoment(input) ? input : createLocal(input);
3828
+ if (!(this.isValid() && localInput.isValid())) {
3829
+ return false;
3830
+ }
3831
+ units = normalizeUnits(units) || 'millisecond';
3832
+ if (units === 'millisecond') {
3833
+ return this.valueOf() > localInput.valueOf();
3834
+ } else {
3835
+ return localInput.valueOf() < this.clone().startOf(units).valueOf();
3836
+ }
3837
+ }
3838
+
3839
+ function isBefore(input, units) {
3840
+ var localInput = isMoment(input) ? input : createLocal(input);
3841
+ if (!(this.isValid() && localInput.isValid())) {
3842
+ return false;
3843
+ }
3844
+ units = normalizeUnits(units) || 'millisecond';
3845
+ if (units === 'millisecond') {
3846
+ return this.valueOf() < localInput.valueOf();
3847
+ } else {
3848
+ return this.clone().endOf(units).valueOf() < localInput.valueOf();
3849
+ }
3850
+ }
3851
+
3852
+ function isBetween(from, to, units, inclusivity) {
3853
+ var localFrom = isMoment(from) ? from : createLocal(from),
3854
+ localTo = isMoment(to) ? to : createLocal(to);
3855
+ if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
3856
+ return false;
3857
+ }
3858
+ inclusivity = inclusivity || '()';
3859
+ return (
3860
+ (inclusivity[0] === '('
3861
+ ? this.isAfter(localFrom, units)
3862
+ : !this.isBefore(localFrom, units)) &&
3863
+ (inclusivity[1] === ')'
3864
+ ? this.isBefore(localTo, units)
3865
+ : !this.isAfter(localTo, units))
3866
+ );
3867
+ }
3868
+
3869
+ function isSame(input, units) {
3870
+ var localInput = isMoment(input) ? input : createLocal(input),
3871
+ inputMs;
3872
+ if (!(this.isValid() && localInput.isValid())) {
3873
+ return false;
3874
+ }
3875
+ units = normalizeUnits(units) || 'millisecond';
3876
+ if (units === 'millisecond') {
3877
+ return this.valueOf() === localInput.valueOf();
3878
+ } else {
3879
+ inputMs = localInput.valueOf();
3880
+ return (
3881
+ this.clone().startOf(units).valueOf() <= inputMs &&
3882
+ inputMs <= this.clone().endOf(units).valueOf()
3883
+ );
3884
+ }
3885
+ }
3886
+
3887
+ function isSameOrAfter(input, units) {
3888
+ return this.isSame(input, units) || this.isAfter(input, units);
3889
+ }
3890
+
3891
+ function isSameOrBefore(input, units) {
3892
+ return this.isSame(input, units) || this.isBefore(input, units);
3893
+ }
3894
+
3895
+ function diff(input, units, asFloat) {
3896
+ var that, zoneDelta, output;
3897
+
3898
+ if (!this.isValid()) {
3899
+ return NaN;
3900
+ }
3901
+
3902
+ that = cloneWithOffset(input, this);
3903
+
3904
+ if (!that.isValid()) {
3905
+ return NaN;
3906
+ }
3907
+
3908
+ zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
3909
+
3910
+ units = normalizeUnits(units);
3911
+
3912
+ switch (units) {
3913
+ case 'year':
3914
+ output = monthDiff(this, that) / 12;
3915
+ break;
3916
+ case 'month':
3917
+ output = monthDiff(this, that);
3918
+ break;
3919
+ case 'quarter':
3920
+ output = monthDiff(this, that) / 3;
3921
+ break;
3922
+ case 'second':
3923
+ output = (this - that) / 1e3;
3924
+ break; // 1000
3925
+ case 'minute':
3926
+ output = (this - that) / 6e4;
3927
+ break; // 1000 * 60
3928
+ case 'hour':
3929
+ output = (this - that) / 36e5;
3930
+ break; // 1000 * 60 * 60
3931
+ case 'day':
3932
+ output = (this - that - zoneDelta) / 864e5;
3933
+ break; // 1000 * 60 * 60 * 24, negate dst
3934
+ case 'week':
3935
+ output = (this - that - zoneDelta) / 6048e5;
3936
+ break; // 1000 * 60 * 60 * 24 * 7, negate dst
3937
+ default:
3938
+ output = this - that;
3939
+ }
3940
+
3941
+ return asFloat ? output : absFloor(output);
3942
+ }
3943
+
3944
+ function monthDiff(a, b) {
3945
+ if (a.date() < b.date()) {
3946
+ // end-of-month calculations work correct when the start month has more
3947
+ // days than the end month.
3948
+ return -monthDiff(b, a);
3949
+ }
3950
+ // difference in months
3951
+ var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
3952
+ // b is in (anchor - 1 month, anchor + 1 month)
3953
+ anchor = a.clone().add(wholeMonthDiff, 'months'),
3954
+ anchor2,
3955
+ adjust;
3956
+
3957
+ if (b - anchor < 0) {
3958
+ anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
3959
+ // linear across the month
3960
+ adjust = (b - anchor) / (anchor - anchor2);
3961
+ } else {
3962
+ anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
3963
+ // linear across the month
3964
+ adjust = (b - anchor) / (anchor2 - anchor);
3965
+ }
3966
+
3967
+ //check for negative zero, return zero if negative zero
3968
+ return -(wholeMonthDiff + adjust) || 0;
3969
+ }
3970
+
3971
+ hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
3972
+ hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
3973
+
3974
+ function toString() {
3975
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
3976
+ }
3977
+
3978
+ function toISOString(keepOffset) {
3979
+ if (!this.isValid()) {
3980
+ return null;
3981
+ }
3982
+ var utc = keepOffset !== true,
3983
+ m = utc ? this.clone().utc() : this;
3984
+ if (m.year() < 0 || m.year() > 9999) {
3985
+ return formatMoment(
3986
+ m,
3987
+ utc
3988
+ ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'
3989
+ : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'
3990
+ );
3991
+ }
3992
+ if (isFunction(Date.prototype.toISOString)) {
3993
+ // native implementation is ~50x faster, use it when we can
3994
+ if (utc) {
3995
+ return this.toDate().toISOString();
3996
+ } else {
3997
+ return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)
3998
+ .toISOString()
3999
+ .replace('Z', formatMoment(m, 'Z'));
4000
+ }
4001
+ }
4002
+ return formatMoment(
4003
+ m,
4004
+ utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'
4005
+ );
4006
+ }
4007
+
4008
+ /**
4009
+ * Return a human readable representation of a moment that can
4010
+ * also be evaluated to get a new moment which is the same
4011
+ *
4012
+ * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
4013
+ */
4014
+ function inspect() {
4015
+ if (!this.isValid()) {
4016
+ return 'moment.invalid(/* ' + this._i + ' */)';
4017
+ }
4018
+ var func = 'moment',
4019
+ zone = '',
4020
+ prefix,
4021
+ year,
4022
+ datetime,
4023
+ suffix;
4024
+ if (!this.isLocal()) {
4025
+ func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
4026
+ zone = 'Z';
4027
+ }
4028
+ prefix = '[' + func + '("]';
4029
+ year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
4030
+ datetime = '-MM-DD[T]HH:mm:ss.SSS';
4031
+ suffix = zone + '[")]';
4032
+
4033
+ return this.format(prefix + year + datetime + suffix);
4034
+ }
4035
+
4036
+ function format(inputString) {
4037
+ if (!inputString) {
4038
+ inputString = this.isUtc()
4039
+ ? hooks.defaultFormatUtc
4040
+ : hooks.defaultFormat;
4041
+ }
4042
+ var output = formatMoment(this, inputString);
4043
+ return this.localeData().postformat(output);
4044
+ }
4045
+
4046
+ function from(time, withoutSuffix) {
4047
+ if (
4048
+ this.isValid() &&
4049
+ ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
4050
+ ) {
4051
+ return createDuration({ to: this, from: time })
4052
+ .locale(this.locale())
4053
+ .humanize(!withoutSuffix);
4054
+ } else {
4055
+ return this.localeData().invalidDate();
4056
+ }
4057
+ }
4058
+
4059
+ function fromNow(withoutSuffix) {
4060
+ return this.from(createLocal(), withoutSuffix);
4061
+ }
4062
+
4063
+ function to(time, withoutSuffix) {
4064
+ if (
4065
+ this.isValid() &&
4066
+ ((isMoment(time) && time.isValid()) || createLocal(time).isValid())
4067
+ ) {
4068
+ return createDuration({ from: this, to: time })
4069
+ .locale(this.locale())
4070
+ .humanize(!withoutSuffix);
4071
+ } else {
4072
+ return this.localeData().invalidDate();
4073
+ }
4074
+ }
4075
+
4076
+ function toNow(withoutSuffix) {
4077
+ return this.to(createLocal(), withoutSuffix);
4078
+ }
4079
+
4080
+ // If passed a locale key, it will set the locale for this
4081
+ // instance. Otherwise, it will return the locale configuration
4082
+ // variables for this instance.
4083
+ function locale(key) {
4084
+ var newLocaleData;
4085
+
4086
+ if (key === undefined) {
4087
+ return this._locale._abbr;
4088
+ } else {
4089
+ newLocaleData = getLocale(key);
4090
+ if (newLocaleData != null) {
4091
+ this._locale = newLocaleData;
4092
+ }
4093
+ return this;
4094
+ }
4095
+ }
4096
+
4097
+ var lang = deprecate(
4098
+ 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
4099
+ function (key) {
4100
+ if (key === undefined) {
4101
+ return this.localeData();
4102
+ } else {
4103
+ return this.locale(key);
4104
+ }
4105
+ }
4106
+ );
4107
+
4108
+ function localeData() {
4109
+ return this._locale;
4110
+ }
4111
+
4112
+ var MS_PER_SECOND = 1000,
4113
+ MS_PER_MINUTE = 60 * MS_PER_SECOND,
4114
+ MS_PER_HOUR = 60 * MS_PER_MINUTE,
4115
+ MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
4116
+
4117
+ // actual modulo - handles negative numbers (for dates before 1970):
4118
+ function mod$1(dividend, divisor) {
4119
+ return ((dividend % divisor) + divisor) % divisor;
4120
+ }
4121
+
4122
+ function localStartOfDate(y, m, d) {
4123
+ // the date constructor remaps years 0-99 to 1900-1999
4124
+ if (y < 100 && y >= 0) {
4125
+ // preserve leap years using a full 400 year cycle, then reset
4126
+ return new Date(y + 400, m, d) - MS_PER_400_YEARS;
4127
+ } else {
4128
+ return new Date(y, m, d).valueOf();
4129
+ }
4130
+ }
4131
+
4132
+ function utcStartOfDate(y, m, d) {
4133
+ // Date.UTC remaps years 0-99 to 1900-1999
4134
+ if (y < 100 && y >= 0) {
4135
+ // preserve leap years using a full 400 year cycle, then reset
4136
+ return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
4137
+ } else {
4138
+ return Date.UTC(y, m, d);
4139
+ }
4140
+ }
4141
+
4142
+ function startOf(units) {
4143
+ var time, startOfDate;
4144
+ units = normalizeUnits(units);
4145
+ if (units === undefined || units === 'millisecond' || !this.isValid()) {
4146
+ return this;
4147
+ }
4148
+
4149
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
4150
+
4151
+ switch (units) {
4152
+ case 'year':
4153
+ time = startOfDate(this.year(), 0, 1);
4154
+ break;
4155
+ case 'quarter':
4156
+ time = startOfDate(
4157
+ this.year(),
4158
+ this.month() - (this.month() % 3),
4159
+ 1
4160
+ );
4161
+ break;
4162
+ case 'month':
4163
+ time = startOfDate(this.year(), this.month(), 1);
4164
+ break;
4165
+ case 'week':
4166
+ time = startOfDate(
4167
+ this.year(),
4168
+ this.month(),
4169
+ this.date() - this.weekday()
4170
+ );
4171
+ break;
4172
+ case 'isoWeek':
4173
+ time = startOfDate(
4174
+ this.year(),
4175
+ this.month(),
4176
+ this.date() - (this.isoWeekday() - 1)
4177
+ );
4178
+ break;
4179
+ case 'day':
4180
+ case 'date':
4181
+ time = startOfDate(this.year(), this.month(), this.date());
4182
+ break;
4183
+ case 'hour':
4184
+ time = this._d.valueOf();
4185
+ time -= mod$1(
4186
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
4187
+ MS_PER_HOUR
4188
+ );
4189
+ break;
4190
+ case 'minute':
4191
+ time = this._d.valueOf();
4192
+ time -= mod$1(time, MS_PER_MINUTE);
4193
+ break;
4194
+ case 'second':
4195
+ time = this._d.valueOf();
4196
+ time -= mod$1(time, MS_PER_SECOND);
4197
+ break;
4198
+ }
4199
+
4200
+ this._d.setTime(time);
4201
+ hooks.updateOffset(this, true);
4202
+ return this;
4203
+ }
4204
+
4205
+ function endOf(units) {
4206
+ var time, startOfDate;
4207
+ units = normalizeUnits(units);
4208
+ if (units === undefined || units === 'millisecond' || !this.isValid()) {
4209
+ return this;
4210
+ }
4211
+
4212
+ startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
4213
+
4214
+ switch (units) {
4215
+ case 'year':
4216
+ time = startOfDate(this.year() + 1, 0, 1) - 1;
4217
+ break;
4218
+ case 'quarter':
4219
+ time =
4220
+ startOfDate(
4221
+ this.year(),
4222
+ this.month() - (this.month() % 3) + 3,
4223
+ 1
4224
+ ) - 1;
4225
+ break;
4226
+ case 'month':
4227
+ time = startOfDate(this.year(), this.month() + 1, 1) - 1;
4228
+ break;
4229
+ case 'week':
4230
+ time =
4231
+ startOfDate(
4232
+ this.year(),
4233
+ this.month(),
4234
+ this.date() - this.weekday() + 7
4235
+ ) - 1;
4236
+ break;
4237
+ case 'isoWeek':
4238
+ time =
4239
+ startOfDate(
4240
+ this.year(),
4241
+ this.month(),
4242
+ this.date() - (this.isoWeekday() - 1) + 7
4243
+ ) - 1;
4244
+ break;
4245
+ case 'day':
4246
+ case 'date':
4247
+ time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
4248
+ break;
4249
+ case 'hour':
4250
+ time = this._d.valueOf();
4251
+ time +=
4252
+ MS_PER_HOUR -
4253
+ mod$1(
4254
+ time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),
4255
+ MS_PER_HOUR
4256
+ ) -
4257
+ 1;
4258
+ break;
4259
+ case 'minute':
4260
+ time = this._d.valueOf();
4261
+ time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
4262
+ break;
4263
+ case 'second':
4264
+ time = this._d.valueOf();
4265
+ time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
4266
+ break;
4267
+ }
4268
+
4269
+ this._d.setTime(time);
4270
+ hooks.updateOffset(this, true);
4271
+ return this;
4272
+ }
4273
+
4274
+ function valueOf() {
4275
+ return this._d.valueOf() - (this._offset || 0) * 60000;
4276
+ }
4277
+
4278
+ function unix() {
4279
+ return Math.floor(this.valueOf() / 1000);
4280
+ }
4281
+
4282
+ function toDate() {
4283
+ return new Date(this.valueOf());
4284
+ }
4285
+
4286
+ function toArray() {
4287
+ var m = this;
4288
+ return [
4289
+ m.year(),
4290
+ m.month(),
4291
+ m.date(),
4292
+ m.hour(),
4293
+ m.minute(),
4294
+ m.second(),
4295
+ m.millisecond(),
4296
+ ];
4297
+ }
4298
+
4299
+ function toObject() {
4300
+ var m = this;
4301
+ return {
4302
+ years: m.year(),
4303
+ months: m.month(),
4304
+ date: m.date(),
4305
+ hours: m.hours(),
4306
+ minutes: m.minutes(),
4307
+ seconds: m.seconds(),
4308
+ milliseconds: m.milliseconds(),
4309
+ };
4310
+ }
4311
+
4312
+ function toJSON() {
4313
+ // new Date(NaN).toJSON() === null
4314
+ return this.isValid() ? this.toISOString() : null;
4315
+ }
4316
+
4317
+ function isValid$2() {
4318
+ return isValid(this);
4319
+ }
4320
+
4321
+ function parsingFlags() {
4322
+ return extend({}, getParsingFlags(this));
4323
+ }
4324
+
4325
+ function invalidAt() {
4326
+ return getParsingFlags(this).overflow;
4327
+ }
4328
+
4329
+ function creationData() {
4330
+ return {
4331
+ input: this._i,
4332
+ format: this._f,
4333
+ locale: this._locale,
4334
+ isUTC: this._isUTC,
4335
+ strict: this._strict,
4336
+ };
4337
+ }
4338
+
4339
+ addFormatToken('N', 0, 0, 'eraAbbr');
4340
+ addFormatToken('NN', 0, 0, 'eraAbbr');
4341
+ addFormatToken('NNN', 0, 0, 'eraAbbr');
4342
+ addFormatToken('NNNN', 0, 0, 'eraName');
4343
+ addFormatToken('NNNNN', 0, 0, 'eraNarrow');
4344
+
4345
+ addFormatToken('y', ['y', 1], 'yo', 'eraYear');
4346
+ addFormatToken('y', ['yy', 2], 0, 'eraYear');
4347
+ addFormatToken('y', ['yyy', 3], 0, 'eraYear');
4348
+ addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
4349
+
4350
+ addRegexToken('N', matchEraAbbr);
4351
+ addRegexToken('NN', matchEraAbbr);
4352
+ addRegexToken('NNN', matchEraAbbr);
4353
+ addRegexToken('NNNN', matchEraName);
4354
+ addRegexToken('NNNNN', matchEraNarrow);
4355
+
4356
+ addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (
4357
+ input,
4358
+ array,
4359
+ config,
4360
+ token
4361
+ ) {
4362
+ var era = config._locale.erasParse(input, token, config._strict);
4363
+ if (era) {
4364
+ getParsingFlags(config).era = era;
4365
+ } else {
4366
+ getParsingFlags(config).invalidEra = input;
4367
+ }
4368
+ });
4369
+
4370
+ addRegexToken('y', matchUnsigned);
4371
+ addRegexToken('yy', matchUnsigned);
4372
+ addRegexToken('yyy', matchUnsigned);
4373
+ addRegexToken('yyyy', matchUnsigned);
4374
+ addRegexToken('yo', matchEraYearOrdinal);
4375
+
4376
+ addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
4377
+ addParseToken(['yo'], function (input, array, config, token) {
4378
+ var match;
4379
+ if (config._locale._eraYearOrdinalRegex) {
4380
+ match = input.match(config._locale._eraYearOrdinalRegex);
4381
+ }
4382
+
4383
+ if (config._locale.eraYearOrdinalParse) {
4384
+ array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
4385
+ } else {
4386
+ array[YEAR] = parseInt(input, 10);
4387
+ }
4388
+ });
4389
+
4390
+ function localeEras(m, format) {
4391
+ var i,
4392
+ l,
4393
+ date,
4394
+ eras = this._eras || getLocale('en')._eras;
4395
+ for (i = 0, l = eras.length; i < l; ++i) {
4396
+ switch (typeof eras[i].since) {
4397
+ case 'string':
4398
+ // truncate time
4399
+ date = hooks(eras[i].since).startOf('day');
4400
+ eras[i].since = date.valueOf();
4401
+ break;
4402
+ }
4403
+
4404
+ switch (typeof eras[i].until) {
4405
+ case 'undefined':
4406
+ eras[i].until = +Infinity;
4407
+ break;
4408
+ case 'string':
4409
+ // truncate time
4410
+ date = hooks(eras[i].until).startOf('day').valueOf();
4411
+ eras[i].until = date.valueOf();
4412
+ break;
4413
+ }
4414
+ }
4415
+ return eras;
4416
+ }
4417
+
4418
+ function localeErasParse(eraName, format, strict) {
4419
+ var i,
4420
+ l,
4421
+ eras = this.eras(),
4422
+ name,
4423
+ abbr,
4424
+ narrow;
4425
+ eraName = eraName.toUpperCase();
4426
+
4427
+ for (i = 0, l = eras.length; i < l; ++i) {
4428
+ name = eras[i].name.toUpperCase();
4429
+ abbr = eras[i].abbr.toUpperCase();
4430
+ narrow = eras[i].narrow.toUpperCase();
4431
+
4432
+ if (strict) {
4433
+ switch (format) {
4434
+ case 'N':
4435
+ case 'NN':
4436
+ case 'NNN':
4437
+ if (abbr === eraName) {
4438
+ return eras[i];
4439
+ }
4440
+ break;
4441
+
4442
+ case 'NNNN':
4443
+ if (name === eraName) {
4444
+ return eras[i];
4445
+ }
4446
+ break;
4447
+
4448
+ case 'NNNNN':
4449
+ if (narrow === eraName) {
4450
+ return eras[i];
4451
+ }
4452
+ break;
4453
+ }
4454
+ } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
4455
+ return eras[i];
4456
+ }
4457
+ }
4458
+ }
4459
+
4460
+ function localeErasConvertYear(era, year) {
4461
+ var dir = era.since <= era.until ? +1 : -1;
4462
+ if (year === undefined) {
4463
+ return hooks(era.since).year();
4464
+ } else {
4465
+ return hooks(era.since).year() + (year - era.offset) * dir;
4466
+ }
4467
+ }
4468
+
4469
+ function getEraName() {
4470
+ var i,
4471
+ l,
4472
+ val,
4473
+ eras = this.localeData().eras();
4474
+ for (i = 0, l = eras.length; i < l; ++i) {
4475
+ // truncate time
4476
+ val = this.startOf('day').valueOf();
4477
+
4478
+ if (eras[i].since <= val && val <= eras[i].until) {
4479
+ return eras[i].name;
4480
+ }
4481
+ if (eras[i].until <= val && val <= eras[i].since) {
4482
+ return eras[i].name;
4483
+ }
4484
+ }
4485
+
4486
+ return '';
4487
+ }
4488
+
4489
+ function getEraNarrow() {
4490
+ var i,
4491
+ l,
4492
+ val,
4493
+ eras = this.localeData().eras();
4494
+ for (i = 0, l = eras.length; i < l; ++i) {
4495
+ // truncate time
4496
+ val = this.startOf('day').valueOf();
4497
+
4498
+ if (eras[i].since <= val && val <= eras[i].until) {
4499
+ return eras[i].narrow;
4500
+ }
4501
+ if (eras[i].until <= val && val <= eras[i].since) {
4502
+ return eras[i].narrow;
4503
+ }
4504
+ }
4505
+
4506
+ return '';
4507
+ }
4508
+
4509
+ function getEraAbbr() {
4510
+ var i,
4511
+ l,
4512
+ val,
4513
+ eras = this.localeData().eras();
4514
+ for (i = 0, l = eras.length; i < l; ++i) {
4515
+ // truncate time
4516
+ val = this.startOf('day').valueOf();
4517
+
4518
+ if (eras[i].since <= val && val <= eras[i].until) {
4519
+ return eras[i].abbr;
4520
+ }
4521
+ if (eras[i].until <= val && val <= eras[i].since) {
4522
+ return eras[i].abbr;
4523
+ }
4524
+ }
4525
+
4526
+ return '';
4527
+ }
4528
+
4529
+ function getEraYear() {
4530
+ var i,
4531
+ l,
4532
+ dir,
4533
+ val,
4534
+ eras = this.localeData().eras();
4535
+ for (i = 0, l = eras.length; i < l; ++i) {
4536
+ dir = eras[i].since <= eras[i].until ? +1 : -1;
4537
+
4538
+ // truncate time
4539
+ val = this.startOf('day').valueOf();
4540
+
4541
+ if (
4542
+ (eras[i].since <= val && val <= eras[i].until) ||
4543
+ (eras[i].until <= val && val <= eras[i].since)
4544
+ ) {
4545
+ return (
4546
+ (this.year() - hooks(eras[i].since).year()) * dir +
4547
+ eras[i].offset
4548
+ );
4549
+ }
4550
+ }
4551
+
4552
+ return this.year();
4553
+ }
4554
+
4555
+ function erasNameRegex(isStrict) {
4556
+ if (!hasOwnProp(this, '_erasNameRegex')) {
4557
+ computeErasParse.call(this);
4558
+ }
4559
+ return isStrict ? this._erasNameRegex : this._erasRegex;
4560
+ }
4561
+
4562
+ function erasAbbrRegex(isStrict) {
4563
+ if (!hasOwnProp(this, '_erasAbbrRegex')) {
4564
+ computeErasParse.call(this);
4565
+ }
4566
+ return isStrict ? this._erasAbbrRegex : this._erasRegex;
4567
+ }
4568
+
4569
+ function erasNarrowRegex(isStrict) {
4570
+ if (!hasOwnProp(this, '_erasNarrowRegex')) {
4571
+ computeErasParse.call(this);
4572
+ }
4573
+ return isStrict ? this._erasNarrowRegex : this._erasRegex;
4574
+ }
4575
+
4576
+ function matchEraAbbr(isStrict, locale) {
4577
+ return locale.erasAbbrRegex(isStrict);
4578
+ }
4579
+
4580
+ function matchEraName(isStrict, locale) {
4581
+ return locale.erasNameRegex(isStrict);
4582
+ }
4583
+
4584
+ function matchEraNarrow(isStrict, locale) {
4585
+ return locale.erasNarrowRegex(isStrict);
4586
+ }
4587
+
4588
+ function matchEraYearOrdinal(isStrict, locale) {
4589
+ return locale._eraYearOrdinalRegex || matchUnsigned;
4590
+ }
4591
+
4592
+ function computeErasParse() {
4593
+ var abbrPieces = [],
4594
+ namePieces = [],
4595
+ narrowPieces = [],
4596
+ mixedPieces = [],
4597
+ i,
4598
+ l,
4599
+ eras = this.eras();
4600
+
4601
+ for (i = 0, l = eras.length; i < l; ++i) {
4602
+ namePieces.push(regexEscape(eras[i].name));
4603
+ abbrPieces.push(regexEscape(eras[i].abbr));
4604
+ narrowPieces.push(regexEscape(eras[i].narrow));
4605
+
4606
+ mixedPieces.push(regexEscape(eras[i].name));
4607
+ mixedPieces.push(regexEscape(eras[i].abbr));
4608
+ mixedPieces.push(regexEscape(eras[i].narrow));
4609
+ }
4610
+
4611
+ this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
4612
+ this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
4613
+ this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
4614
+ this._erasNarrowRegex = new RegExp(
4615
+ '^(' + narrowPieces.join('|') + ')',
4616
+ 'i'
4617
+ );
4618
+ }
4619
+
4620
+ // FORMATTING
4621
+
4622
+ addFormatToken(0, ['gg', 2], 0, function () {
4623
+ return this.weekYear() % 100;
4624
+ });
4625
+
4626
+ addFormatToken(0, ['GG', 2], 0, function () {
4627
+ return this.isoWeekYear() % 100;
4628
+ });
4629
+
4630
+ function addWeekYearFormatToken(token, getter) {
4631
+ addFormatToken(0, [token, token.length], 0, getter);
4632
+ }
4633
+
4634
+ addWeekYearFormatToken('gggg', 'weekYear');
4635
+ addWeekYearFormatToken('ggggg', 'weekYear');
4636
+ addWeekYearFormatToken('GGGG', 'isoWeekYear');
4637
+ addWeekYearFormatToken('GGGGG', 'isoWeekYear');
4638
+
4639
+ // ALIASES
4640
+
4641
+ addUnitAlias('weekYear', 'gg');
4642
+ addUnitAlias('isoWeekYear', 'GG');
4643
+
4644
+ // PRIORITY
4645
+
4646
+ addUnitPriority('weekYear', 1);
4647
+ addUnitPriority('isoWeekYear', 1);
4648
+
4649
+ // PARSING
4650
+
4651
+ addRegexToken('G', matchSigned);
4652
+ addRegexToken('g', matchSigned);
4653
+ addRegexToken('GG', match1to2, match2);
4654
+ addRegexToken('gg', match1to2, match2);
4655
+ addRegexToken('GGGG', match1to4, match4);
4656
+ addRegexToken('gggg', match1to4, match4);
4657
+ addRegexToken('GGGGG', match1to6, match6);
4658
+ addRegexToken('ggggg', match1to6, match6);
4659
+
4660
+ addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (
4661
+ input,
4662
+ week,
4663
+ config,
4664
+ token
4665
+ ) {
4666
+ week[token.substr(0, 2)] = toInt(input);
4667
+ });
4668
+
4669
+ addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
4670
+ week[token] = hooks.parseTwoDigitYear(input);
4671
+ });
4672
+
4673
+ // MOMENTS
4674
+
4675
+ function getSetWeekYear(input) {
4676
+ return getSetWeekYearHelper.call(
4677
+ this,
4678
+ input,
4679
+ this.week(),
4680
+ this.weekday(),
4681
+ this.localeData()._week.dow,
4682
+ this.localeData()._week.doy
4683
+ );
4684
+ }
4685
+
4686
+ function getSetISOWeekYear(input) {
4687
+ return getSetWeekYearHelper.call(
4688
+ this,
4689
+ input,
4690
+ this.isoWeek(),
4691
+ this.isoWeekday(),
4692
+ 1,
4693
+ 4
4694
+ );
4695
+ }
4696
+
4697
+ function getISOWeeksInYear() {
4698
+ return weeksInYear(this.year(), 1, 4);
4699
+ }
4700
+
4701
+ function getISOWeeksInISOWeekYear() {
4702
+ return weeksInYear(this.isoWeekYear(), 1, 4);
4703
+ }
4704
+
4705
+ function getWeeksInYear() {
4706
+ var weekInfo = this.localeData()._week;
4707
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
4708
+ }
4709
+
4710
+ function getWeeksInWeekYear() {
4711
+ var weekInfo = this.localeData()._week;
4712
+ return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
4713
+ }
4714
+
4715
+ function getSetWeekYearHelper(input, week, weekday, dow, doy) {
4716
+ var weeksTarget;
4717
+ if (input == null) {
4718
+ return weekOfYear(this, dow, doy).year;
4719
+ } else {
4720
+ weeksTarget = weeksInYear(input, dow, doy);
4721
+ if (week > weeksTarget) {
4722
+ week = weeksTarget;
4723
+ }
4724
+ return setWeekAll.call(this, input, week, weekday, dow, doy);
4725
+ }
4726
+ }
4727
+
4728
+ function setWeekAll(weekYear, week, weekday, dow, doy) {
4729
+ var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
4730
+ date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
4731
+
4732
+ this.year(date.getUTCFullYear());
4733
+ this.month(date.getUTCMonth());
4734
+ this.date(date.getUTCDate());
4735
+ return this;
4736
+ }
4737
+
4738
+ // FORMATTING
4739
+
4740
+ addFormatToken('Q', 0, 'Qo', 'quarter');
4741
+
4742
+ // ALIASES
4743
+
4744
+ addUnitAlias('quarter', 'Q');
4745
+
4746
+ // PRIORITY
4747
+
4748
+ addUnitPriority('quarter', 7);
4749
+
4750
+ // PARSING
4751
+
4752
+ addRegexToken('Q', match1);
4753
+ addParseToken('Q', function (input, array) {
4754
+ array[MONTH] = (toInt(input) - 1) * 3;
4755
+ });
4756
+
4757
+ // MOMENTS
4758
+
4759
+ function getSetQuarter(input) {
4760
+ return input == null
4761
+ ? Math.ceil((this.month() + 1) / 3)
4762
+ : this.month((input - 1) * 3 + (this.month() % 3));
4763
+ }
4764
+
4765
+ // FORMATTING
4766
+
4767
+ addFormatToken('D', ['DD', 2], 'Do', 'date');
4768
+
4769
+ // ALIASES
4770
+
4771
+ addUnitAlias('date', 'D');
4772
+
4773
+ // PRIORITY
4774
+ addUnitPriority('date', 9);
4775
+
4776
+ // PARSING
4777
+
4778
+ addRegexToken('D', match1to2);
4779
+ addRegexToken('DD', match1to2, match2);
4780
+ addRegexToken('Do', function (isStrict, locale) {
4781
+ // TODO: Remove "ordinalParse" fallback in next major release.
4782
+ return isStrict
4783
+ ? locale._dayOfMonthOrdinalParse || locale._ordinalParse
4784
+ : locale._dayOfMonthOrdinalParseLenient;
4785
+ });
4786
+
4787
+ addParseToken(['D', 'DD'], DATE);
4788
+ addParseToken('Do', function (input, array) {
4789
+ array[DATE] = toInt(input.match(match1to2)[0]);
4790
+ });
4791
+
4792
+ // MOMENTS
4793
+
4794
+ var getSetDayOfMonth = makeGetSet('Date', true);
4795
+
4796
+ // FORMATTING
4797
+
4798
+ addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
4799
+
4800
+ // ALIASES
4801
+
4802
+ addUnitAlias('dayOfYear', 'DDD');
4803
+
4804
+ // PRIORITY
4805
+ addUnitPriority('dayOfYear', 4);
4806
+
4807
+ // PARSING
4808
+
4809
+ addRegexToken('DDD', match1to3);
4810
+ addRegexToken('DDDD', match3);
4811
+ addParseToken(['DDD', 'DDDD'], function (input, array, config) {
4812
+ config._dayOfYear = toInt(input);
4813
+ });
4814
+
4815
+ // HELPERS
4816
+
4817
+ // MOMENTS
4818
+
4819
+ function getSetDayOfYear(input) {
4820
+ var dayOfYear =
4821
+ Math.round(
4822
+ (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5
4823
+ ) + 1;
4824
+ return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
4825
+ }
4826
+
4827
+ // FORMATTING
4828
+
4829
+ addFormatToken('m', ['mm', 2], 0, 'minute');
4830
+
4831
+ // ALIASES
4832
+
4833
+ addUnitAlias('minute', 'm');
4834
+
4835
+ // PRIORITY
4836
+
4837
+ addUnitPriority('minute', 14);
4838
+
4839
+ // PARSING
4840
+
4841
+ addRegexToken('m', match1to2);
4842
+ addRegexToken('mm', match1to2, match2);
4843
+ addParseToken(['m', 'mm'], MINUTE);
4844
+
4845
+ // MOMENTS
4846
+
4847
+ var getSetMinute = makeGetSet('Minutes', false);
4848
+
4849
+ // FORMATTING
4850
+
4851
+ addFormatToken('s', ['ss', 2], 0, 'second');
4852
+
4853
+ // ALIASES
4854
+
4855
+ addUnitAlias('second', 's');
4856
+
4857
+ // PRIORITY
4858
+
4859
+ addUnitPriority('second', 15);
4860
+
4861
+ // PARSING
4862
+
4863
+ addRegexToken('s', match1to2);
4864
+ addRegexToken('ss', match1to2, match2);
4865
+ addParseToken(['s', 'ss'], SECOND);
4866
+
4867
+ // MOMENTS
4868
+
4869
+ var getSetSecond = makeGetSet('Seconds', false);
4870
+
4871
+ // FORMATTING
4872
+
4873
+ addFormatToken('S', 0, 0, function () {
4874
+ return ~~(this.millisecond() / 100);
4875
+ });
4876
+
4877
+ addFormatToken(0, ['SS', 2], 0, function () {
4878
+ return ~~(this.millisecond() / 10);
4879
+ });
4880
+
4881
+ addFormatToken(0, ['SSS', 3], 0, 'millisecond');
4882
+ addFormatToken(0, ['SSSS', 4], 0, function () {
4883
+ return this.millisecond() * 10;
4884
+ });
4885
+ addFormatToken(0, ['SSSSS', 5], 0, function () {
4886
+ return this.millisecond() * 100;
4887
+ });
4888
+ addFormatToken(0, ['SSSSSS', 6], 0, function () {
4889
+ return this.millisecond() * 1000;
4890
+ });
4891
+ addFormatToken(0, ['SSSSSSS', 7], 0, function () {
4892
+ return this.millisecond() * 10000;
4893
+ });
4894
+ addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
4895
+ return this.millisecond() * 100000;
4896
+ });
4897
+ addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
4898
+ return this.millisecond() * 1000000;
4899
+ });
4900
+
4901
+ // ALIASES
4902
+
4903
+ addUnitAlias('millisecond', 'ms');
4904
+
4905
+ // PRIORITY
4906
+
4907
+ addUnitPriority('millisecond', 16);
4908
+
4909
+ // PARSING
4910
+
4911
+ addRegexToken('S', match1to3, match1);
4912
+ addRegexToken('SS', match1to3, match2);
4913
+ addRegexToken('SSS', match1to3, match3);
4914
+
4915
+ var token, getSetMillisecond;
4916
+ for (token = 'SSSS'; token.length <= 9; token += 'S') {
4917
+ addRegexToken(token, matchUnsigned);
4918
+ }
4919
+
4920
+ function parseMs(input, array) {
4921
+ array[MILLISECOND] = toInt(('0.' + input) * 1000);
4922
+ }
4923
+
4924
+ for (token = 'S'; token.length <= 9; token += 'S') {
4925
+ addParseToken(token, parseMs);
4926
+ }
4927
+
4928
+ getSetMillisecond = makeGetSet('Milliseconds', false);
4929
+
4930
+ // FORMATTING
4931
+
4932
+ addFormatToken('z', 0, 0, 'zoneAbbr');
4933
+ addFormatToken('zz', 0, 0, 'zoneName');
4934
+
4935
+ // MOMENTS
4936
+
4937
+ function getZoneAbbr() {
4938
+ return this._isUTC ? 'UTC' : '';
4939
+ }
4940
+
4941
+ function getZoneName() {
4942
+ return this._isUTC ? 'Coordinated Universal Time' : '';
4943
+ }
4944
+
4945
+ var proto = Moment.prototype;
4946
+
4947
+ proto.add = add;
4948
+ proto.calendar = calendar$1;
4949
+ proto.clone = clone;
4950
+ proto.diff = diff;
4951
+ proto.endOf = endOf;
4952
+ proto.format = format;
4953
+ proto.from = from;
4954
+ proto.fromNow = fromNow;
4955
+ proto.to = to;
4956
+ proto.toNow = toNow;
4957
+ proto.get = stringGet;
4958
+ proto.invalidAt = invalidAt;
4959
+ proto.isAfter = isAfter;
4960
+ proto.isBefore = isBefore;
4961
+ proto.isBetween = isBetween;
4962
+ proto.isSame = isSame;
4963
+ proto.isSameOrAfter = isSameOrAfter;
4964
+ proto.isSameOrBefore = isSameOrBefore;
4965
+ proto.isValid = isValid$2;
4966
+ proto.lang = lang;
4967
+ proto.locale = locale;
4968
+ proto.localeData = localeData;
4969
+ proto.max = prototypeMax;
4970
+ proto.min = prototypeMin;
4971
+ proto.parsingFlags = parsingFlags;
4972
+ proto.set = stringSet;
4973
+ proto.startOf = startOf;
4974
+ proto.subtract = subtract;
4975
+ proto.toArray = toArray;
4976
+ proto.toObject = toObject;
4977
+ proto.toDate = toDate;
4978
+ proto.toISOString = toISOString;
4979
+ proto.inspect = inspect;
4980
+ if (typeof Symbol !== 'undefined' && Symbol.for != null) {
4981
+ proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
4982
+ return 'Moment<' + this.format() + '>';
4983
+ };
4984
+ }
4985
+ proto.toJSON = toJSON;
4986
+ proto.toString = toString;
4987
+ proto.unix = unix;
4988
+ proto.valueOf = valueOf;
4989
+ proto.creationData = creationData;
4990
+ proto.eraName = getEraName;
4991
+ proto.eraNarrow = getEraNarrow;
4992
+ proto.eraAbbr = getEraAbbr;
4993
+ proto.eraYear = getEraYear;
4994
+ proto.year = getSetYear;
4995
+ proto.isLeapYear = getIsLeapYear;
4996
+ proto.weekYear = getSetWeekYear;
4997
+ proto.isoWeekYear = getSetISOWeekYear;
4998
+ proto.quarter = proto.quarters = getSetQuarter;
4999
+ proto.month = getSetMonth;
5000
+ proto.daysInMonth = getDaysInMonth;
5001
+ proto.week = proto.weeks = getSetWeek;
5002
+ proto.isoWeek = proto.isoWeeks = getSetISOWeek;
5003
+ proto.weeksInYear = getWeeksInYear;
5004
+ proto.weeksInWeekYear = getWeeksInWeekYear;
5005
+ proto.isoWeeksInYear = getISOWeeksInYear;
5006
+ proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
5007
+ proto.date = getSetDayOfMonth;
5008
+ proto.day = proto.days = getSetDayOfWeek;
5009
+ proto.weekday = getSetLocaleDayOfWeek;
5010
+ proto.isoWeekday = getSetISODayOfWeek;
5011
+ proto.dayOfYear = getSetDayOfYear;
5012
+ proto.hour = proto.hours = getSetHour;
5013
+ proto.minute = proto.minutes = getSetMinute;
5014
+ proto.second = proto.seconds = getSetSecond;
5015
+ proto.millisecond = proto.milliseconds = getSetMillisecond;
5016
+ proto.utcOffset = getSetOffset;
5017
+ proto.utc = setOffsetToUTC;
5018
+ proto.local = setOffsetToLocal;
5019
+ proto.parseZone = setOffsetToParsedOffset;
5020
+ proto.hasAlignedHourOffset = hasAlignedHourOffset;
5021
+ proto.isDST = isDaylightSavingTime;
5022
+ proto.isLocal = isLocal;
5023
+ proto.isUtcOffset = isUtcOffset;
5024
+ proto.isUtc = isUtc;
5025
+ proto.isUTC = isUtc;
5026
+ proto.zoneAbbr = getZoneAbbr;
5027
+ proto.zoneName = getZoneName;
5028
+ proto.dates = deprecate(
5029
+ 'dates accessor is deprecated. Use date instead.',
5030
+ getSetDayOfMonth
5031
+ );
5032
+ proto.months = deprecate(
5033
+ 'months accessor is deprecated. Use month instead',
5034
+ getSetMonth
5035
+ );
5036
+ proto.years = deprecate(
5037
+ 'years accessor is deprecated. Use year instead',
5038
+ getSetYear
5039
+ );
5040
+ proto.zone = deprecate(
5041
+ 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',
5042
+ getSetZone
5043
+ );
5044
+ proto.isDSTShifted = deprecate(
5045
+ 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',
5046
+ isDaylightSavingTimeShifted
5047
+ );
5048
+
5049
+ function createUnix(input) {
5050
+ return createLocal(input * 1000);
5051
+ }
5052
+
5053
+ function createInZone() {
5054
+ return createLocal.apply(null, arguments).parseZone();
5055
+ }
5056
+
5057
+ function preParsePostFormat(string) {
5058
+ return string;
5059
+ }
5060
+
5061
+ var proto$1 = Locale.prototype;
5062
+
5063
+ proto$1.calendar = calendar;
5064
+ proto$1.longDateFormat = longDateFormat;
5065
+ proto$1.invalidDate = invalidDate;
5066
+ proto$1.ordinal = ordinal;
5067
+ proto$1.preparse = preParsePostFormat;
5068
+ proto$1.postformat = preParsePostFormat;
5069
+ proto$1.relativeTime = relativeTime;
5070
+ proto$1.pastFuture = pastFuture;
5071
+ proto$1.set = set;
5072
+ proto$1.eras = localeEras;
5073
+ proto$1.erasParse = localeErasParse;
5074
+ proto$1.erasConvertYear = localeErasConvertYear;
5075
+ proto$1.erasAbbrRegex = erasAbbrRegex;
5076
+ proto$1.erasNameRegex = erasNameRegex;
5077
+ proto$1.erasNarrowRegex = erasNarrowRegex;
5078
+
5079
+ proto$1.months = localeMonths;
5080
+ proto$1.monthsShort = localeMonthsShort;
5081
+ proto$1.monthsParse = localeMonthsParse;
5082
+ proto$1.monthsRegex = monthsRegex;
5083
+ proto$1.monthsShortRegex = monthsShortRegex;
5084
+ proto$1.week = localeWeek;
5085
+ proto$1.firstDayOfYear = localeFirstDayOfYear;
5086
+ proto$1.firstDayOfWeek = localeFirstDayOfWeek;
5087
+
5088
+ proto$1.weekdays = localeWeekdays;
5089
+ proto$1.weekdaysMin = localeWeekdaysMin;
5090
+ proto$1.weekdaysShort = localeWeekdaysShort;
5091
+ proto$1.weekdaysParse = localeWeekdaysParse;
5092
+
5093
+ proto$1.weekdaysRegex = weekdaysRegex;
5094
+ proto$1.weekdaysShortRegex = weekdaysShortRegex;
5095
+ proto$1.weekdaysMinRegex = weekdaysMinRegex;
5096
+
5097
+ proto$1.isPM = localeIsPM;
5098
+ proto$1.meridiem = localeMeridiem;
5099
+
5100
+ function get$1(format, index, field, setter) {
5101
+ var locale = getLocale(),
5102
+ utc = createUTC().set(setter, index);
5103
+ return locale[field](utc, format);
5104
+ }
5105
+
5106
+ function listMonthsImpl(format, index, field) {
5107
+ if (isNumber(format)) {
5108
+ index = format;
5109
+ format = undefined;
5110
+ }
5111
+
5112
+ format = format || '';
5113
+
5114
+ if (index != null) {
5115
+ return get$1(format, index, field, 'month');
5116
+ }
5117
+
5118
+ var i,
5119
+ out = [];
5120
+ for (i = 0; i < 12; i++) {
5121
+ out[i] = get$1(format, i, field, 'month');
5122
+ }
5123
+ return out;
5124
+ }
5125
+
5126
+ // ()
5127
+ // (5)
5128
+ // (fmt, 5)
5129
+ // (fmt)
5130
+ // (true)
5131
+ // (true, 5)
5132
+ // (true, fmt, 5)
5133
+ // (true, fmt)
5134
+ function listWeekdaysImpl(localeSorted, format, index, field) {
5135
+ if (typeof localeSorted === 'boolean') {
5136
+ if (isNumber(format)) {
5137
+ index = format;
5138
+ format = undefined;
5139
+ }
5140
+
5141
+ format = format || '';
5142
+ } else {
5143
+ format = localeSorted;
5144
+ index = format;
5145
+ localeSorted = false;
5146
+
5147
+ if (isNumber(format)) {
5148
+ index = format;
5149
+ format = undefined;
5150
+ }
5151
+
5152
+ format = format || '';
5153
+ }
5154
+
5155
+ var locale = getLocale(),
5156
+ shift = localeSorted ? locale._week.dow : 0,
5157
+ i,
5158
+ out = [];
5159
+
5160
+ if (index != null) {
5161
+ return get$1(format, (index + shift) % 7, field, 'day');
5162
+ }
5163
+
5164
+ for (i = 0; i < 7; i++) {
5165
+ out[i] = get$1(format, (i + shift) % 7, field, 'day');
5166
+ }
5167
+ return out;
5168
+ }
5169
+
5170
+ function listMonths(format, index) {
5171
+ return listMonthsImpl(format, index, 'months');
5172
+ }
5173
+
5174
+ function listMonthsShort(format, index) {
5175
+ return listMonthsImpl(format, index, 'monthsShort');
5176
+ }
5177
+
5178
+ function listWeekdays(localeSorted, format, index) {
5179
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
5180
+ }
5181
+
5182
+ function listWeekdaysShort(localeSorted, format, index) {
5183
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
5184
+ }
5185
+
5186
+ function listWeekdaysMin(localeSorted, format, index) {
5187
+ return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
5188
+ }
5189
+
5190
+ getSetGlobalLocale('en', {
5191
+ eras: [
5192
+ {
5193
+ since: '0001-01-01',
5194
+ until: +Infinity,
5195
+ offset: 1,
5196
+ name: 'Anno Domini',
5197
+ narrow: 'AD',
5198
+ abbr: 'AD',
5199
+ },
5200
+ {
5201
+ since: '0000-12-31',
5202
+ until: -Infinity,
5203
+ offset: 1,
5204
+ name: 'Before Christ',
5205
+ narrow: 'BC',
5206
+ abbr: 'BC',
5207
+ },
5208
+ ],
5209
+ dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
5210
+ ordinal: function (number) {
5211
+ var b = number % 10,
5212
+ output =
5213
+ toInt((number % 100) / 10) === 1
5214
+ ? 'th'
5215
+ : b === 1
5216
+ ? 'st'
5217
+ : b === 2
5218
+ ? 'nd'
5219
+ : b === 3
5220
+ ? 'rd'
5221
+ : 'th';
5222
+ return number + output;
5223
+ },
5224
+ });
5225
+
5226
+ // Side effect imports
5227
+
5228
+ hooks.lang = deprecate(
5229
+ 'moment.lang is deprecated. Use moment.locale instead.',
5230
+ getSetGlobalLocale
5231
+ );
5232
+ hooks.langData = deprecate(
5233
+ 'moment.langData is deprecated. Use moment.localeData instead.',
5234
+ getLocale
5235
+ );
5236
+
5237
+ var mathAbs = Math.abs;
5238
+
5239
+ function abs() {
5240
+ var data = this._data;
5241
+
5242
+ this._milliseconds = mathAbs(this._milliseconds);
5243
+ this._days = mathAbs(this._days);
5244
+ this._months = mathAbs(this._months);
5245
+
5246
+ data.milliseconds = mathAbs(data.milliseconds);
5247
+ data.seconds = mathAbs(data.seconds);
5248
+ data.minutes = mathAbs(data.minutes);
5249
+ data.hours = mathAbs(data.hours);
5250
+ data.months = mathAbs(data.months);
5251
+ data.years = mathAbs(data.years);
5252
+
5253
+ return this;
5254
+ }
5255
+
5256
+ function addSubtract$1(duration, input, value, direction) {
5257
+ var other = createDuration(input, value);
5258
+
5259
+ duration._milliseconds += direction * other._milliseconds;
5260
+ duration._days += direction * other._days;
5261
+ duration._months += direction * other._months;
5262
+
5263
+ return duration._bubble();
5264
+ }
5265
+
5266
+ // supports only 2.0-style add(1, 's') or add(duration)
5267
+ function add$1(input, value) {
5268
+ return addSubtract$1(this, input, value, 1);
5269
+ }
5270
+
5271
+ // supports only 2.0-style subtract(1, 's') or subtract(duration)
5272
+ function subtract$1(input, value) {
5273
+ return addSubtract$1(this, input, value, -1);
5274
+ }
5275
+
5276
+ function absCeil(number) {
5277
+ if (number < 0) {
5278
+ return Math.floor(number);
5279
+ } else {
5280
+ return Math.ceil(number);
5281
+ }
5282
+ }
5283
+
5284
+ function bubble() {
5285
+ var milliseconds = this._milliseconds,
5286
+ days = this._days,
5287
+ months = this._months,
5288
+ data = this._data,
5289
+ seconds,
5290
+ minutes,
5291
+ hours,
5292
+ years,
5293
+ monthsFromDays;
5294
+
5295
+ // if we have a mix of positive and negative values, bubble down first
5296
+ // check: https://github.com/moment/moment/issues/2166
5297
+ if (
5298
+ !(
5299
+ (milliseconds >= 0 && days >= 0 && months >= 0) ||
5300
+ (milliseconds <= 0 && days <= 0 && months <= 0)
5301
+ )
5302
+ ) {
5303
+ milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
5304
+ days = 0;
5305
+ months = 0;
5306
+ }
5307
+
5308
+ // The following code bubbles up values, see the tests for
5309
+ // examples of what that means.
5310
+ data.milliseconds = milliseconds % 1000;
5311
+
5312
+ seconds = absFloor(milliseconds / 1000);
5313
+ data.seconds = seconds % 60;
5314
+
5315
+ minutes = absFloor(seconds / 60);
5316
+ data.minutes = minutes % 60;
5317
+
5318
+ hours = absFloor(minutes / 60);
5319
+ data.hours = hours % 24;
5320
+
5321
+ days += absFloor(hours / 24);
5322
+
5323
+ // convert days to months
5324
+ monthsFromDays = absFloor(daysToMonths(days));
5325
+ months += monthsFromDays;
5326
+ days -= absCeil(monthsToDays(monthsFromDays));
5327
+
5328
+ // 12 months -> 1 year
5329
+ years = absFloor(months / 12);
5330
+ months %= 12;
5331
+
5332
+ data.days = days;
5333
+ data.months = months;
5334
+ data.years = years;
5335
+
5336
+ return this;
5337
+ }
5338
+
5339
+ function daysToMonths(days) {
5340
+ // 400 years have 146097 days (taking into account leap year rules)
5341
+ // 400 years have 12 months === 4800
5342
+ return (days * 4800) / 146097;
5343
+ }
5344
+
5345
+ function monthsToDays(months) {
5346
+ // the reverse of daysToMonths
5347
+ return (months * 146097) / 4800;
5348
+ }
5349
+
5350
+ function as(units) {
5351
+ if (!this.isValid()) {
5352
+ return NaN;
5353
+ }
5354
+ var days,
5355
+ months,
5356
+ milliseconds = this._milliseconds;
5357
+
5358
+ units = normalizeUnits(units);
5359
+
5360
+ if (units === 'month' || units === 'quarter' || units === 'year') {
5361
+ days = this._days + milliseconds / 864e5;
5362
+ months = this._months + daysToMonths(days);
5363
+ switch (units) {
5364
+ case 'month':
5365
+ return months;
5366
+ case 'quarter':
5367
+ return months / 3;
5368
+ case 'year':
5369
+ return months / 12;
5370
+ }
5371
+ } else {
5372
+ // handle milliseconds separately because of floating point math errors (issue #1867)
5373
+ days = this._days + Math.round(monthsToDays(this._months));
5374
+ switch (units) {
5375
+ case 'week':
5376
+ return days / 7 + milliseconds / 6048e5;
5377
+ case 'day':
5378
+ return days + milliseconds / 864e5;
5379
+ case 'hour':
5380
+ return days * 24 + milliseconds / 36e5;
5381
+ case 'minute':
5382
+ return days * 1440 + milliseconds / 6e4;
5383
+ case 'second':
5384
+ return days * 86400 + milliseconds / 1000;
5385
+ // Math.floor prevents floating point math errors here
5386
+ case 'millisecond':
5387
+ return Math.floor(days * 864e5) + milliseconds;
5388
+ default:
5389
+ throw new Error('Unknown unit ' + units);
5390
+ }
5391
+ }
5392
+ }
5393
+
5394
+ // TODO: Use this.as('ms')?
5395
+ function valueOf$1() {
5396
+ if (!this.isValid()) {
5397
+ return NaN;
5398
+ }
5399
+ return (
5400
+ this._milliseconds +
5401
+ this._days * 864e5 +
5402
+ (this._months % 12) * 2592e6 +
5403
+ toInt(this._months / 12) * 31536e6
5404
+ );
5405
+ }
5406
+
5407
+ function makeAs(alias) {
5408
+ return function () {
5409
+ return this.as(alias);
5410
+ };
5411
+ }
5412
+
5413
+ var asMilliseconds = makeAs('ms'),
5414
+ asSeconds = makeAs('s'),
5415
+ asMinutes = makeAs('m'),
5416
+ asHours = makeAs('h'),
5417
+ asDays = makeAs('d'),
5418
+ asWeeks = makeAs('w'),
5419
+ asMonths = makeAs('M'),
5420
+ asQuarters = makeAs('Q'),
5421
+ asYears = makeAs('y');
5422
+
5423
+ function clone$1() {
5424
+ return createDuration(this);
5425
+ }
5426
+
5427
+ function get$2(units) {
5428
+ units = normalizeUnits(units);
5429
+ return this.isValid() ? this[units + 's']() : NaN;
5430
+ }
5431
+
5432
+ function makeGetter(name) {
5433
+ return function () {
5434
+ return this.isValid() ? this._data[name] : NaN;
5435
+ };
5436
+ }
5437
+
5438
+ var milliseconds = makeGetter('milliseconds'),
5439
+ seconds = makeGetter('seconds'),
5440
+ minutes = makeGetter('minutes'),
5441
+ hours = makeGetter('hours'),
5442
+ days = makeGetter('days'),
5443
+ months = makeGetter('months'),
5444
+ years = makeGetter('years');
5445
+
5446
+ function weeks() {
5447
+ return absFloor(this.days() / 7);
5448
+ }
5449
+
5450
+ var round = Math.round,
5451
+ thresholds = {
5452
+ ss: 44, // a few seconds to seconds
5453
+ s: 45, // seconds to minute
5454
+ m: 45, // minutes to hour
5455
+ h: 22, // hours to day
5456
+ d: 26, // days to month/week
5457
+ w: null, // weeks to month
5458
+ M: 11, // months to year
5459
+ };
5460
+
5461
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
5462
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
5463
+ return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
5464
+ }
5465
+
5466
+ function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
5467
+ var duration = createDuration(posNegDuration).abs(),
5468
+ seconds = round(duration.as('s')),
5469
+ minutes = round(duration.as('m')),
5470
+ hours = round(duration.as('h')),
5471
+ days = round(duration.as('d')),
5472
+ months = round(duration.as('M')),
5473
+ weeks = round(duration.as('w')),
5474
+ years = round(duration.as('y')),
5475
+ a =
5476
+ (seconds <= thresholds.ss && ['s', seconds]) ||
5477
+ (seconds < thresholds.s && ['ss', seconds]) ||
5478
+ (minutes <= 1 && ['m']) ||
5479
+ (minutes < thresholds.m && ['mm', minutes]) ||
5480
+ (hours <= 1 && ['h']) ||
5481
+ (hours < thresholds.h && ['hh', hours]) ||
5482
+ (days <= 1 && ['d']) ||
5483
+ (days < thresholds.d && ['dd', days]);
5484
+
5485
+ if (thresholds.w != null) {
5486
+ a =
5487
+ a ||
5488
+ (weeks <= 1 && ['w']) ||
5489
+ (weeks < thresholds.w && ['ww', weeks]);
5490
+ }
5491
+ a = a ||
5492
+ (months <= 1 && ['M']) ||
5493
+ (months < thresholds.M && ['MM', months]) ||
5494
+ (years <= 1 && ['y']) || ['yy', years];
5495
+
5496
+ a[2] = withoutSuffix;
5497
+ a[3] = +posNegDuration > 0;
5498
+ a[4] = locale;
5499
+ return substituteTimeAgo.apply(null, a);
5500
+ }
5501
+
5502
+ // This function allows you to set the rounding function for relative time strings
5503
+ function getSetRelativeTimeRounding(roundingFunction) {
5504
+ if (roundingFunction === undefined) {
5505
+ return round;
5506
+ }
5507
+ if (typeof roundingFunction === 'function') {
5508
+ round = roundingFunction;
5509
+ return true;
5510
+ }
5511
+ return false;
5512
+ }
5513
+
5514
+ // This function allows you to set a threshold for relative time strings
5515
+ function getSetRelativeTimeThreshold(threshold, limit) {
5516
+ if (thresholds[threshold] === undefined) {
5517
+ return false;
5518
+ }
5519
+ if (limit === undefined) {
5520
+ return thresholds[threshold];
5521
+ }
5522
+ thresholds[threshold] = limit;
5523
+ if (threshold === 's') {
5524
+ thresholds.ss = limit - 1;
5525
+ }
5526
+ return true;
5527
+ }
5528
+
5529
+ function humanize(argWithSuffix, argThresholds) {
5530
+ if (!this.isValid()) {
5531
+ return this.localeData().invalidDate();
5532
+ }
5533
+
5534
+ var withSuffix = false,
5535
+ th = thresholds,
5536
+ locale,
5537
+ output;
5538
+
5539
+ if (typeof argWithSuffix === 'object') {
5540
+ argThresholds = argWithSuffix;
5541
+ argWithSuffix = false;
5542
+ }
5543
+ if (typeof argWithSuffix === 'boolean') {
5544
+ withSuffix = argWithSuffix;
5545
+ }
5546
+ if (typeof argThresholds === 'object') {
5547
+ th = Object.assign({}, thresholds, argThresholds);
5548
+ if (argThresholds.s != null && argThresholds.ss == null) {
5549
+ th.ss = argThresholds.s - 1;
5550
+ }
5551
+ }
5552
+
5553
+ locale = this.localeData();
5554
+ output = relativeTime$1(this, !withSuffix, th, locale);
5555
+
5556
+ if (withSuffix) {
5557
+ output = locale.pastFuture(+this, output);
5558
+ }
5559
+
5560
+ return locale.postformat(output);
5561
+ }
5562
+
5563
+ var abs$1 = Math.abs;
5564
+
5565
+ function sign(x) {
5566
+ return (x > 0) - (x < 0) || +x;
5567
+ }
5568
+
5569
+ function toISOString$1() {
5570
+ // for ISO strings we do not use the normal bubbling rules:
5571
+ // * milliseconds bubble up until they become hours
5572
+ // * days do not bubble at all
5573
+ // * months bubble up until they become years
5574
+ // This is because there is no context-free conversion between hours and days
5575
+ // (think of clock changes)
5576
+ // and also not between days and months (28-31 days per month)
5577
+ if (!this.isValid()) {
5578
+ return this.localeData().invalidDate();
5579
+ }
5580
+
5581
+ var seconds = abs$1(this._milliseconds) / 1000,
5582
+ days = abs$1(this._days),
5583
+ months = abs$1(this._months),
5584
+ minutes,
5585
+ hours,
5586
+ years,
5587
+ s,
5588
+ total = this.asSeconds(),
5589
+ totalSign,
5590
+ ymSign,
5591
+ daysSign,
5592
+ hmsSign;
5593
+
5594
+ if (!total) {
5595
+ // this is the same as C#'s (Noda) and python (isodate)...
5596
+ // but not other JS (goog.date)
5597
+ return 'P0D';
5598
+ }
5599
+
5600
+ // 3600 seconds -> 60 minutes -> 1 hour
5601
+ minutes = absFloor(seconds / 60);
5602
+ hours = absFloor(minutes / 60);
5603
+ seconds %= 60;
5604
+ minutes %= 60;
5605
+
5606
+ // 12 months -> 1 year
5607
+ years = absFloor(months / 12);
5608
+ months %= 12;
5609
+
5610
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
5611
+ s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
5612
+
5613
+ totalSign = total < 0 ? '-' : '';
5614
+ ymSign = sign(this._months) !== sign(total) ? '-' : '';
5615
+ daysSign = sign(this._days) !== sign(total) ? '-' : '';
5616
+ hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
5617
+
5618
+ return (
5619
+ totalSign +
5620
+ 'P' +
5621
+ (years ? ymSign + years + 'Y' : '') +
5622
+ (months ? ymSign + months + 'M' : '') +
5623
+ (days ? daysSign + days + 'D' : '') +
5624
+ (hours || minutes || seconds ? 'T' : '') +
5625
+ (hours ? hmsSign + hours + 'H' : '') +
5626
+ (minutes ? hmsSign + minutes + 'M' : '') +
5627
+ (seconds ? hmsSign + s + 'S' : '')
5628
+ );
5629
+ }
5630
+
5631
+ var proto$2 = Duration.prototype;
5632
+
5633
+ proto$2.isValid = isValid$1;
5634
+ proto$2.abs = abs;
5635
+ proto$2.add = add$1;
5636
+ proto$2.subtract = subtract$1;
5637
+ proto$2.as = as;
5638
+ proto$2.asMilliseconds = asMilliseconds;
5639
+ proto$2.asSeconds = asSeconds;
5640
+ proto$2.asMinutes = asMinutes;
5641
+ proto$2.asHours = asHours;
5642
+ proto$2.asDays = asDays;
5643
+ proto$2.asWeeks = asWeeks;
5644
+ proto$2.asMonths = asMonths;
5645
+ proto$2.asQuarters = asQuarters;
5646
+ proto$2.asYears = asYears;
5647
+ proto$2.valueOf = valueOf$1;
5648
+ proto$2._bubble = bubble;
5649
+ proto$2.clone = clone$1;
5650
+ proto$2.get = get$2;
5651
+ proto$2.milliseconds = milliseconds;
5652
+ proto$2.seconds = seconds;
5653
+ proto$2.minutes = minutes;
5654
+ proto$2.hours = hours;
5655
+ proto$2.days = days;
5656
+ proto$2.weeks = weeks;
5657
+ proto$2.months = months;
5658
+ proto$2.years = years;
5659
+ proto$2.humanize = humanize;
5660
+ proto$2.toISOString = toISOString$1;
5661
+ proto$2.toString = toISOString$1;
5662
+ proto$2.toJSON = toISOString$1;
5663
+ proto$2.locale = locale;
5664
+ proto$2.localeData = localeData;
5665
+
5666
+ proto$2.toIsoString = deprecate(
5667
+ 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',
5668
+ toISOString$1
5669
+ );
5670
+ proto$2.lang = lang;
5671
+
5672
+ // FORMATTING
5673
+
5674
+ addFormatToken('X', 0, 0, 'unix');
5675
+ addFormatToken('x', 0, 0, 'valueOf');
5676
+
5677
+ // PARSING
5678
+
5679
+ addRegexToken('x', matchSigned);
5680
+ addRegexToken('X', matchTimestamp);
5681
+ addParseToken('X', function (input, array, config) {
5682
+ config._d = new Date(parseFloat(input) * 1000);
5683
+ });
5684
+ addParseToken('x', function (input, array, config) {
5685
+ config._d = new Date(toInt(input));
5686
+ });
5687
+
5688
+ //! moment.js
5689
+
5690
+ hooks.version = '2.27.0';
5691
+
5692
+ setHookCallback(createLocal);
5693
+
5694
+ hooks.fn = proto;
5695
+ hooks.min = min;
5696
+ hooks.max = max;
5697
+ hooks.now = now;
5698
+ hooks.utc = createUTC;
5699
+ hooks.unix = createUnix;
5700
+ hooks.months = listMonths;
5701
+ hooks.isDate = isDate;
5702
+ hooks.locale = getSetGlobalLocale;
5703
+ hooks.invalid = createInvalid;
5704
+ hooks.duration = createDuration;
5705
+ hooks.isMoment = isMoment;
5706
+ hooks.weekdays = listWeekdays;
5707
+ hooks.parseZone = createInZone;
5708
+ hooks.localeData = getLocale;
5709
+ hooks.isDuration = isDuration;
5710
+ hooks.monthsShort = listMonthsShort;
5711
+ hooks.weekdaysMin = listWeekdaysMin;
5712
+ hooks.defineLocale = defineLocale;
5713
+ hooks.updateLocale = updateLocale;
5714
+ hooks.locales = listLocales;
5715
+ hooks.weekdaysShort = listWeekdaysShort;
5716
+ hooks.normalizeUnits = normalizeUnits;
5717
+ hooks.relativeTimeRounding = getSetRelativeTimeRounding;
5718
+ hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
5719
+ hooks.calendarFormat = getCalendarFormat;
5720
+ hooks.prototype = proto;
5721
+
5722
+ // currently HTML5 input type only supports 24-hour formats
5723
+ hooks.HTML5_FMT = {
5724
+ DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" />
5725
+ DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" />
5726
+ DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" />
5727
+ DATE: 'YYYY-MM-DD', // <input type="date" />
5728
+ TIME: 'HH:mm', // <input type="time" />
5729
+ TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" />
5730
+ TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" />
5731
+ WEEK: 'GGGG-[W]WW', // <input type="week" />
5732
+ MONTH: 'YYYY-MM', // <input type="month" />
5733
+ };
5734
+
5735
+ return hooks;
5736
+
5737
+ })));
5738
+
5739
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)(module)))
5740
+
5741
+ /***/ }),
5742
+ /* 1 */
5743
+ /***/ (function(module, exports, __webpack_require__) {
5744
+
5745
+ "use strict";
5746
+
5747
+
5748
+ var bind = __webpack_require__(63);
5749
+
5750
+ /*global toString:true*/
5751
+
5752
+ // utils is a library of generic helper functions non-specific to axios
5753
+
5754
+ var toString = Object.prototype.toString;
5755
+
5756
+ /**
5757
+ * Determine if a value is an Array
5758
+ *
5759
+ * @param {Object} val The value to test
5760
+ * @returns {boolean} True if value is an Array, otherwise false
5761
+ */
5762
+ function isArray(val) {
5763
+ return toString.call(val) === '[object Array]';
5764
+ }
5765
+
5766
+ /**
5767
+ * Determine if a value is undefined
5768
+ *
5769
+ * @param {Object} val The value to test
5770
+ * @returns {boolean} True if the value is undefined, otherwise false
5771
+ */
5772
+ function isUndefined(val) {
5773
+ return typeof val === 'undefined';
5774
+ }
5775
+
5776
+ /**
5777
+ * Determine if a value is a Buffer
5778
+ *
5779
+ * @param {Object} val The value to test
5780
+ * @returns {boolean} True if value is a Buffer, otherwise false
5781
+ */
5782
+ function isBuffer(val) {
5783
+ return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
5784
+ && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
5785
+ }
5786
+
5787
+ /**
5788
+ * Determine if a value is an ArrayBuffer
5789
+ *
5790
+ * @param {Object} val The value to test
5791
+ * @returns {boolean} True if value is an ArrayBuffer, otherwise false
5792
+ */
5793
+ function isArrayBuffer(val) {
5794
+ return toString.call(val) === '[object ArrayBuffer]';
5795
+ }
5796
+
5797
+ /**
5798
+ * Determine if a value is a FormData
5799
+ *
5800
+ * @param {Object} val The value to test
5801
+ * @returns {boolean} True if value is an FormData, otherwise false
5802
+ */
5803
+ function isFormData(val) {
5804
+ return (typeof FormData !== 'undefined') && (val instanceof FormData);
5805
+ }
5806
+
5807
+ /**
5808
+ * Determine if a value is a view on an ArrayBuffer
5809
+ *
5810
+ * @param {Object} val The value to test
5811
+ * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
5812
+ */
5813
+ function isArrayBufferView(val) {
5814
+ var result;
5815
+ if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
5816
+ result = ArrayBuffer.isView(val);
5817
+ } else {
5818
+ result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
5819
+ }
5820
+ return result;
5821
+ }
5822
+
5823
+ /**
5824
+ * Determine if a value is a String
5825
+ *
5826
+ * @param {Object} val The value to test
5827
+ * @returns {boolean} True if value is a String, otherwise false
5828
+ */
5829
+ function isString(val) {
5830
+ return typeof val === 'string';
5831
+ }
5832
+
5833
+ /**
5834
+ * Determine if a value is a Number
5835
+ *
5836
+ * @param {Object} val The value to test
5837
+ * @returns {boolean} True if value is a Number, otherwise false
5838
+ */
5839
+ function isNumber(val) {
5840
+ return typeof val === 'number';
5841
+ }
5842
+
5843
+ /**
5844
+ * Determine if a value is an Object
5845
+ *
5846
+ * @param {Object} val The value to test
5847
+ * @returns {boolean} True if value is an Object, otherwise false
5848
+ */
5849
+ function isObject(val) {
5850
+ return val !== null && typeof val === 'object';
5851
+ }
5852
+
5853
+ /**
5854
+ * Determine if a value is a Date
5855
+ *
5856
+ * @param {Object} val The value to test
5857
+ * @returns {boolean} True if value is a Date, otherwise false
5858
+ */
5859
+ function isDate(val) {
5860
+ return toString.call(val) === '[object Date]';
5861
+ }
5862
+
5863
+ /**
5864
+ * Determine if a value is a File
5865
+ *
5866
+ * @param {Object} val The value to test
5867
+ * @returns {boolean} True if value is a File, otherwise false
5868
+ */
5869
+ function isFile(val) {
5870
+ return toString.call(val) === '[object File]';
5871
+ }
5872
+
5873
+ /**
5874
+ * Determine if a value is a Blob
5875
+ *
5876
+ * @param {Object} val The value to test
5877
+ * @returns {boolean} True if value is a Blob, otherwise false
5878
+ */
5879
+ function isBlob(val) {
5880
+ return toString.call(val) === '[object Blob]';
5881
+ }
5882
+
5883
+ /**
5884
+ * Determine if a value is a Function
5885
+ *
5886
+ * @param {Object} val The value to test
5887
+ * @returns {boolean} True if value is a Function, otherwise false
5888
+ */
5889
+ function isFunction(val) {
5890
+ return toString.call(val) === '[object Function]';
5891
+ }
5892
+
5893
+ /**
5894
+ * Determine if a value is a Stream
5895
+ *
5896
+ * @param {Object} val The value to test
5897
+ * @returns {boolean} True if value is a Stream, otherwise false
5898
+ */
5899
+ function isStream(val) {
5900
+ return isObject(val) && isFunction(val.pipe);
5901
+ }
5902
+
5903
+ /**
5904
+ * Determine if a value is a URLSearchParams object
5905
+ *
5906
+ * @param {Object} val The value to test
5907
+ * @returns {boolean} True if value is a URLSearchParams object, otherwise false
5908
+ */
5909
+ function isURLSearchParams(val) {
5910
+ return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
5911
+ }
5912
+
5913
+ /**
5914
+ * Trim excess whitespace off the beginning and end of a string
5915
+ *
5916
+ * @param {String} str The String to trim
5917
+ * @returns {String} The String freed of excess whitespace
5918
+ */
5919
+ function trim(str) {
5920
+ return str.replace(/^\s*/, '').replace(/\s*$/, '');
5921
+ }
5922
+
5923
+ /**
5924
+ * Determine if we're running in a standard browser environment
5925
+ *
5926
+ * This allows axios to run in a web worker, and react-native.
5927
+ * Both environments support XMLHttpRequest, but not fully standard globals.
5928
+ *
5929
+ * web workers:
5930
+ * typeof window -> undefined
5931
+ * typeof document -> undefined
5932
+ *
5933
+ * react-native:
5934
+ * navigator.product -> 'ReactNative'
5935
+ * nativescript
5936
+ * navigator.product -> 'NativeScript' or 'NS'
5937
+ */
5938
+ function isStandardBrowserEnv() {
5939
+ if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||
5940
+ navigator.product === 'NativeScript' ||
5941
+ navigator.product === 'NS')) {
5942
+ return false;
5943
+ }
5944
+ return (
5945
+ typeof window !== 'undefined' &&
5946
+ typeof document !== 'undefined'
5947
+ );
5948
+ }
5949
+
5950
+ /**
5951
+ * Iterate over an Array or an Object invoking a function for each item.
5952
+ *
5953
+ * If `obj` is an Array callback will be called passing
5954
+ * the value, index, and complete array for each item.
5955
+ *
5956
+ * If 'obj' is an Object callback will be called passing
5957
+ * the value, key, and complete object for each property.
5958
+ *
5959
+ * @param {Object|Array} obj The object to iterate
5960
+ * @param {Function} fn The callback to invoke for each item
5961
+ */
5962
+ function forEach(obj, fn) {
5963
+ // Don't bother if no value provided
5964
+ if (obj === null || typeof obj === 'undefined') {
5965
+ return;
5966
+ }
5967
+
5968
+ // Force an array if not already something iterable
5969
+ if (typeof obj !== 'object') {
5970
+ /*eslint no-param-reassign:0*/
5971
+ obj = [obj];
5972
+ }
5973
+
5974
+ if (isArray(obj)) {
5975
+ // Iterate over array values
5976
+ for (var i = 0, l = obj.length; i < l; i++) {
5977
+ fn.call(null, obj[i], i, obj);
5978
+ }
5979
+ } else {
5980
+ // Iterate over object keys
5981
+ for (var key in obj) {
5982
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
5983
+ fn.call(null, obj[key], key, obj);
5984
+ }
5985
+ }
5986
+ }
5987
+ }
5988
+
5989
+ /**
5990
+ * Accepts varargs expecting each argument to be an object, then
5991
+ * immutably merges the properties of each object and returns result.
5992
+ *
5993
+ * When multiple objects contain the same key the later object in
5994
+ * the arguments list will take precedence.
5995
+ *
5996
+ * Example:
5997
+ *
5998
+ * ```js
5999
+ * var result = merge({foo: 123}, {foo: 456});
6000
+ * console.log(result.foo); // outputs 456
6001
+ * ```
6002
+ *
6003
+ * @param {Object} obj1 Object to merge
6004
+ * @returns {Object} Result of all merge properties
6005
+ */
6006
+ function merge(/* obj1, obj2, obj3, ... */) {
6007
+ var result = {};
6008
+ function assignValue(val, key) {
6009
+ if (typeof result[key] === 'object' && typeof val === 'object') {
6010
+ result[key] = merge(result[key], val);
6011
+ } else {
6012
+ result[key] = val;
6013
+ }
6014
+ }
6015
+
6016
+ for (var i = 0, l = arguments.length; i < l; i++) {
6017
+ forEach(arguments[i], assignValue);
6018
+ }
6019
+ return result;
6020
+ }
6021
+
6022
+ /**
6023
+ * Function equal to merge with the difference being that no reference
6024
+ * to original objects is kept.
6025
+ *
6026
+ * @see merge
6027
+ * @param {Object} obj1 Object to merge
6028
+ * @returns {Object} Result of all merge properties
6029
+ */
6030
+ function deepMerge(/* obj1, obj2, obj3, ... */) {
6031
+ var result = {};
6032
+ function assignValue(val, key) {
6033
+ if (typeof result[key] === 'object' && typeof val === 'object') {
6034
+ result[key] = deepMerge(result[key], val);
6035
+ } else if (typeof val === 'object') {
6036
+ result[key] = deepMerge({}, val);
6037
+ } else {
6038
+ result[key] = val;
6039
+ }
6040
+ }
6041
+
6042
+ for (var i = 0, l = arguments.length; i < l; i++) {
6043
+ forEach(arguments[i], assignValue);
6044
+ }
6045
+ return result;
6046
+ }
6047
+
6048
+ /**
6049
+ * Extends object a by mutably adding to it the properties of object b.
6050
+ *
6051
+ * @param {Object} a The object to be extended
6052
+ * @param {Object} b The object to copy properties from
6053
+ * @param {Object} thisArg The object to bind function to
6054
+ * @return {Object} The resulting value of object a
6055
+ */
6056
+ function extend(a, b, thisArg) {
6057
+ forEach(b, function assignValue(val, key) {
6058
+ if (thisArg && typeof val === 'function') {
6059
+ a[key] = bind(val, thisArg);
6060
+ } else {
6061
+ a[key] = val;
6062
+ }
6063
+ });
6064
+ return a;
6065
+ }
6066
+
6067
+ module.exports = {
6068
+ isArray: isArray,
6069
+ isArrayBuffer: isArrayBuffer,
6070
+ isBuffer: isBuffer,
6071
+ isFormData: isFormData,
6072
+ isArrayBufferView: isArrayBufferView,
6073
+ isString: isString,
6074
+ isNumber: isNumber,
6075
+ isObject: isObject,
6076
+ isUndefined: isUndefined,
6077
+ isDate: isDate,
6078
+ isFile: isFile,
6079
+ isBlob: isBlob,
6080
+ isFunction: isFunction,
6081
+ isStream: isStream,
6082
+ isURLSearchParams: isURLSearchParams,
6083
+ isStandardBrowserEnv: isStandardBrowserEnv,
6084
+ forEach: forEach,
6085
+ merge: merge,
6086
+ deepMerge: deepMerge,
6087
+ extend: extend,
6088
+ trim: trim
6089
+ };
6090
+
6091
+
6092
+ /***/ }),
6093
+ /* 2 */
6094
+ /***/ (function(module, exports, __webpack_require__) {
6095
+
6096
+ var store = __webpack_require__(53)('wks');
6097
+ var uid = __webpack_require__(54);
6098
+ var Symbol = __webpack_require__(8).Symbol;
6099
+ var USE_SYMBOL = typeof Symbol == 'function';
6100
+
6101
+ var $exports = module.exports = function (name) {
6102
+ return store[name] || (store[name] =
6103
+ USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
6104
+ };
6105
+
6106
+ $exports.store = store;
6107
+
6108
+
6109
+ /***/ }),
6110
+ /* 3 */
6111
+ /***/ (function(module, exports, __webpack_require__) {
6112
+
6113
+ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
6114
+ Copyright (c) 2017 Jed Watson.
6115
+ Licensed under the MIT License (MIT), see
6116
+ http://jedwatson.github.io/classnames
6117
+ */
6118
+ /* global define */
6119
+
6120
+ (function () {
6121
+ 'use strict';
6122
+
6123
+ var hasOwn = {}.hasOwnProperty;
6124
+
6125
+ function classNames () {
6126
+ var classes = [];
6127
+
6128
+ for (var i = 0; i < arguments.length; i++) {
6129
+ var arg = arguments[i];
6130
+ if (!arg) continue;
6131
+
6132
+ var argType = typeof arg;
6133
+
6134
+ if (argType === 'string' || argType === 'number') {
6135
+ classes.push(arg);
6136
+ } else if (Array.isArray(arg) && arg.length) {
6137
+ var inner = classNames.apply(null, arg);
6138
+ if (inner) {
6139
+ classes.push(inner);
6140
+ }
6141
+ } else if (argType === 'object') {
6142
+ for (var key in arg) {
6143
+ if (hasOwn.call(arg, key) && arg[key]) {
6144
+ classes.push(key);
6145
+ }
6146
+ }
6147
+ }
6148
+ }
6149
+
6150
+ return classes.join(' ');
6151
+ }
6152
+
6153
+ if (typeof module !== 'undefined' && module.exports) {
6154
+ classNames.default = classNames;
6155
+ module.exports = classNames;
6156
+ } else if (true) {
6157
+ // register as 'classnames', consistent with npm package name
6158
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
6159
+ return classNames;
6160
+ }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
6161
+ __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
6162
+ } else {
6163
+ window.classNames = classNames;
6164
+ }
6165
+ }());
6166
+
6167
+
6168
+ /***/ }),
6169
+ /* 4 */
6170
+ /***/ (function(module, exports, __webpack_require__) {
6171
+
6172
+ var freeGlobal = __webpack_require__(208);
6173
+
6174
+ /** Detect free variable `self`. */
6175
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
6176
+
6177
+ /** Used as a reference to the global object. */
6178
+ var root = freeGlobal || freeSelf || Function('return this')();
6179
+
6180
+ module.exports = root;
6181
+
6182
+
6183
+ /***/ }),
6184
+ /* 5 */
6185
+ /***/ (function(module, exports) {
6186
+
6187
+ /**
6188
+ * Checks if `value` is classified as an `Array` object.
6189
+ *
6190
+ * @static
6191
+ * @memberOf _
6192
+ * @since 0.1.0
6193
+ * @category Lang
6194
+ * @param {*} value The value to check.
6195
+ * @returns {boolean} Returns `true` if `value` is an array, else `false`.
6196
+ * @example
6197
+ *
6198
+ * _.isArray([1, 2, 3]);
6199
+ * // => true
6200
+ *
6201
+ * _.isArray(document.body.children);
6202
+ * // => false
6203
+ *
6204
+ * _.isArray('abc');
6205
+ * // => false
6206
+ *
6207
+ * _.isArray(_.noop);
6208
+ * // => false
6209
+ */
6210
+ var isArray = Array.isArray;
6211
+
6212
+ module.exports = isArray;
6213
+
6214
+
6215
+ /***/ }),
6216
+ /* 6 */
6217
+ /***/ (function(module, exports) {
6218
+
6219
+ var core = module.exports = { version: '2.6.11' };
6220
+ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
6221
+
6222
+
6223
+ /***/ }),
6224
+ /* 7 */
6225
+ /***/ (function(module, exports, __webpack_require__) {
6226
+
6227
+ var baseIsNative = __webpack_require__(296),
6228
+ getValue = __webpack_require__(302);
6229
+
6230
+ /**
6231
+ * Gets the native function at `key` of `object`.
6232
+ *
6233
+ * @private
6234
+ * @param {Object} object The object to query.
6235
+ * @param {string} key The key of the method to get.
6236
+ * @returns {*} Returns the function if it's native, else `undefined`.
6237
+ */
6238
+ function getNative(object, key) {
6239
+ var value = getValue(object, key);
6240
+ return baseIsNative(value) ? value : undefined;
6241
+ }
6242
+
6243
+ module.exports = getNative;
6244
+
6245
+
6246
+ /***/ }),
6247
+ /* 8 */
6248
+ /***/ (function(module, exports) {
6249
+
6250
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
6251
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math
6252
+ ? window : typeof self != 'undefined' && self.Math == Math ? self
6253
+ // eslint-disable-next-line no-new-func
6254
+ : Function('return this')();
6255
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
6256
+
6257
+
6258
+ /***/ }),
6259
+ /* 9 */
6260
+ /***/ (function(module, exports) {
6261
+
6262
+ module.exports = {};
6263
+
6264
+
6265
+ /***/ }),
6266
+ /* 10 */
6267
+ /***/ (function(module, exports, __webpack_require__) {
6268
+
6269
+ var dP = __webpack_require__(16);
6270
+ var createDesc = __webpack_require__(31);
6271
+ module.exports = __webpack_require__(12) ? function (object, key, value) {
6272
+ return dP.f(object, key, createDesc(1, value));
6273
+ } : function (object, key, value) {
6274
+ object[key] = value;
6275
+ return object;
6276
+ };
6277
+
6278
+
6279
+ /***/ }),
6280
+ /* 11 */
6281
+ /***/ (function(module, exports, __webpack_require__) {
6282
+
6283
+ var isObject = __webpack_require__(29);
6284
+ module.exports = function (it) {
6285
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
6286
+ return it;
6287
+ };
6288
+
6289
+
6290
+ /***/ }),
6291
+ /* 12 */
6292
+ /***/ (function(module, exports, __webpack_require__) {
6293
+
6294
+ // Thank's IE8 for his funny defineProperty
6295
+ module.exports = !__webpack_require__(30)(function () {
6296
+ return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
6297
+ });
6298
+
6299
+
6300
+ /***/ }),
6301
+ /* 13 */
6302
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6303
+
6304
+ "use strict";
6305
+ var icons = {};
6306
+
6307
+ icons.headline = wp.element.createElement(
6308
+ "svg",
6309
+ { width: "15", height: "14", viewBox: "0 0 15 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6310
+ wp.element.createElement("path", { d: "M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z", fill: "white" })
6311
+ );
6312
+
6313
+ icons.headlineBlack = wp.element.createElement(
6314
+ "svg",
6315
+ { width: "15", height: "14", viewBox: "0 0 15 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6316
+ wp.element.createElement("path", { d: "M13.5 2V12H14.5C14.6458 12 14.7604 12.0521 14.8438 12.1562C14.9479 12.2396 15 12.3542 15 12.5V13.5C15 13.6458 14.9479 13.7604 14.8438 13.8438C14.7604 13.9479 14.6458 14 14.5 14H9.5C9.35417 14 9.22917 13.9479 9.125 13.8438C9.04167 13.7604 9 13.6458 9 13.5V12.5C9 12.3542 9.04167 12.2396 9.125 12.1562C9.22917 12.0521 9.35417 12 9.5 12H10.5V8H4.5V12H5.5C5.64583 12 5.76042 12.0521 5.84375 12.1562C5.94792 12.2396 6 12.3542 6 12.5V13.5C6 13.6458 5.94792 13.7604 5.84375 13.8438C5.76042 13.9479 5.64583 14 5.5 14H0.5C0.354167 14 0.229167 13.9479 0.125 13.8438C0.0416667 13.7604 0 13.6458 0 13.5V12.5C0 12.3542 0.0416667 12.2396 0.125 12.1562C0.229167 12.0521 0.354167 12 0.5 12H1.5V2H0.5C0.354167 2 0.229167 1.95833 0.125 1.875C0.0416667 1.77083 0 1.64583 0 1.5V0.5C0 0.354167 0.0416667 0.239583 0.125 0.15625C0.229167 0.0520833 0.354167 0 0.5 0H5.5C5.64583 0 5.76042 0.0520833 5.84375 0.15625C5.94792 0.239583 6 0.354167 6 0.5V1.5C6 1.64583 5.94792 1.77083 5.84375 1.875C5.76042 1.95833 5.64583 2 5.5 2H4.5V6H10.5V2H9.5C9.35417 2 9.22917 1.95833 9.125 1.875C9.04167 1.77083 9 1.64583 9 1.5V0.5C9 0.354167 9.04167 0.239583 9.125 0.15625C9.22917 0.0520833 9.35417 0 9.5 0H14.5C14.6458 0 14.7604 0.0520833 14.8438 0.15625C14.9479 0.239583 15 0.354167 15 0.5V1.5C15 1.64583 14.9479 1.77083 14.8438 1.875C14.7604 1.95833 14.6458 2 14.5 2H13.5Z", fill: "#000" })
6317
+ );
6318
+
6319
+ icons.warning = wp.element.createElement(
6320
+ "svg",
6321
+ { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6322
+ wp.element.createElement("path", { d: "M16 8C16 6.58065 15.6129 5.22581 14.9032 4C14.1935 2.77419 13.2258 1.80645 12 1.09677C10.7742 0.387097 9.41936 0 8 0C6.54839 0 5.22581 0.387097 4 1.09677C2.77419 1.80645 1.77419 2.77419 1.06452 4C0.354839 5.22581 0 6.58065 0 8C0 9.45161 0.354839 10.7742 1.06452 12C1.77419 13.2258 2.77419 14.2258 4 14.9355C5.22581 15.6452 6.54839 16 8 16C9.41936 16 10.7742 15.6452 12 14.9355C13.2258 14.2258 14.1935 13.2258 14.9032 12C15.6129 10.7742 16 9.45161 16 8ZM8 9.6129C8.3871 9.6129 8.74194 9.77419 9.03226 10.0645C9.32258 10.3548 9.48387 10.7097 9.48387 11.0968C9.48387 11.5161 9.32258 11.871 9.03226 12.1613C8.74194 12.4516 8.3871 12.5806 8 12.5806C7.58065 12.5806 7.22581 12.4516 6.93548 12.1613C6.64516 11.871 6.51613 11.5161 6.51613 11.0968C6.51613 10.7097 6.64516 10.3548 6.93548 10.0645C7.22581 9.77419 7.58065 9.6129 8 9.6129ZM6.58065 4.29032C6.58065 4.16129 6.6129 4.06452 6.67742 4C6.74194 3.93548 6.83871 3.87097 6.96774 3.87097H9.03226C9.12903 3.87097 9.22581 3.93548 9.29032 4C9.35484 4.06452 9.41936 4.16129 9.41936 4.29032L9.16129 8.67742C9.16129 8.77419 9.09677 8.87097 9.03226 8.93548C8.96774 9 8.87097 9.03226 8.77419 9.03226H7.22581C7.09677 9.03226 7 9 6.93548 8.93548C6.87097 8.87097 6.83871 8.77419 6.83871 8.67742L6.58065 4.29032Z", fill: "#F2994A" })
6323
+ );
6324
+
6325
+ icons.smile = wp.element.createElement(
6326
+ "svg",
6327
+ { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6328
+ wp.element.createElement("path", { d: "M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.7097 10.9032C11.7957 10.8172 11.8387 10.7204 11.8387 10.6129C11.8387 10.4839 11.8065 10.3871 11.7419 10.3226C11.6774 10.2366 11.5914 10.172 11.4839 10.129C11.3978 10.0645 11.3011 10.043 11.1935 10.0645C11.086 10.086 10.9892 10.1505 10.9032 10.2581C10.1505 11.1613 9.1828 11.6129 8 11.6129C6.8172 11.6129 5.84946 11.1613 5.09677 10.2581C5.01075 10.1505 4.91398 10.086 4.80645 10.0645C4.69892 10.043 4.5914 10.0645 4.48387 10.129C4.39785 10.172 4.32258 10.2366 4.25806 10.3226C4.19355 10.3871 4.16129 10.4839 4.16129 10.6129C4.16129 10.7204 4.2043 10.8172 4.29032 10.9032C5.25806 12.0645 6.49462 12.6452 8 12.6452C9.50538 12.6452 10.7419 12.0645 11.7097 10.9032Z", fill: "#1EC185" })
6329
+ );
6330
+
6331
+ icons.neutral = wp.element.createElement(
6332
+ "svg",
6333
+ { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6334
+ wp.element.createElement("path", { d: "M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM6.12903 5.74194C5.93548 5.52688 5.69892 5.41935 5.41935 5.41935C5.13978 5.41935 4.89247 5.52688 4.67742 5.74194C4.48387 5.93548 4.3871 6.17204 4.3871 6.45161C4.3871 6.73118 4.48387 6.97849 4.67742 7.19355C4.89247 7.3871 5.13978 7.48387 5.41935 7.48387C5.69892 7.48387 5.93548 7.3871 6.12903 7.19355C6.34409 6.97849 6.45161 6.73118 6.45161 6.45161C6.45161 6.17204 6.34409 5.93548 6.12903 5.74194ZM11.0968 11.6129C11.4409 11.6129 11.6129 11.4409 11.6129 11.0968C11.6129 10.7527 11.4409 10.5806 11.0968 10.5806H4.90323C4.55914 10.5806 4.3871 10.7527 4.3871 11.0968C4.3871 11.4409 4.55914 11.6129 4.90323 11.6129H11.0968ZM9.83871 7.19355C10.0538 7.3871 10.3011 7.48387 10.5806 7.48387C10.8602 7.48387 11.0968 7.3871 11.2903 7.19355C11.5054 6.97849 11.6129 6.73118 11.6129 6.45161C11.6129 6.17204 11.5054 5.93548 11.2903 5.74194C11.0968 5.52688 10.8602 5.41935 10.5806 5.41935C10.3011 5.41935 10.0538 5.52688 9.83871 5.74194C9.64516 5.93548 9.54839 6.17204 9.54839 6.45161C9.54839 6.73118 9.64516 6.97849 9.83871 7.19355Z", fill: "#626D83" })
6335
+ );
6336
+
6337
+ icons.negative = wp.element.createElement(
6338
+ "svg",
6339
+ { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6340
+ wp.element.createElement("path", { d: "M2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484ZM4.3871 7.48387C4.3871 7.76344 4.48387 8.01075 4.67742 8.22581C4.89247 8.41935 5.13978 8.51613 5.41935 8.51613C5.69892 8.51613 5.93548 8.41935 6.12903 8.22581C6.34409 8.01075 6.45161 7.76344 6.45161 7.48387C6.45161 7.44086 6.43011 7.35484 6.3871 7.22581C6.4086 7.22581 6.41935 7.22581 6.41935 7.22581C6.44086 7.22581 6.45161 7.22581 6.45161 7.22581C6.70968 7.22581 6.87097 7.10753 6.93548 6.87097C6.95699 6.78495 6.96774 6.70968 6.96774 6.64516C6.96774 6.58065 6.94624 6.52688 6.90323 6.48387C6.88172 6.41935 6.83871 6.36559 6.77419 6.32258C6.73118 6.27957 6.67742 6.24731 6.6129 6.22581L4.03226 5.45161C3.88172 5.4086 3.74194 5.41935 3.6129 5.48387C3.50538 5.54839 3.43011 5.64516 3.3871 5.77419C3.36559 5.86021 3.35484 5.93548 3.35484 6C3.37634 6.06452 3.39785 6.12903 3.41935 6.19355C3.44086 6.23656 3.47312 6.27957 3.51613 6.32258C3.58065 6.36559 3.65591 6.39785 3.74194 6.41935L4.70968 6.74194C4.49462 6.93548 4.3871 7.1828 4.3871 7.48387ZM9.80645 12.4516C9.93548 12.6237 10.0968 12.6882 10.2903 12.6452C10.4839 12.6021 10.6129 12.4946 10.6774 12.3226C10.7419 12.1505 10.7097 11.9785 10.5806 11.8065C9.91398 10.9892 9.05376 10.5806 8 10.5806C6.94624 10.5806 6.07527 10.9892 5.3871 11.8065C5.34409 11.871 5.31183 11.9462 5.29032 12.0323C5.26882 12.1183 5.26882 12.1935 5.29032 12.2581C5.31183 12.3226 5.34409 12.3871 5.3871 12.4516C5.43011 12.5161 5.48387 12.5699 5.54839 12.6129C5.6129 12.6344 5.67742 12.6559 5.74194 12.6774C5.82796 12.6774 5.90323 12.6667 5.96774 12.6452C6.05376 12.6021 6.12903 12.5376 6.19355 12.4516C6.64516 11.914 7.24731 11.6452 8 11.6452C8.75269 11.6452 9.35484 11.914 9.80645 12.4516ZM12.2903 6.41935C12.4194 6.37634 12.5161 6.30107 12.5806 6.19355C12.6452 6.06452 12.6559 5.92473 12.6129 5.77419C12.5914 5.68817 12.5484 5.6129 12.4839 5.54839C12.4194 5.48387 12.3441 5.45161 12.2581 5.45161C12.172 5.43011 12.086 5.43011 12 5.45161L9.41935 6.22581C9.26882 6.26882 9.16129 6.35484 9.09677 6.48387C9.03226 6.5914 9.02151 6.72043 9.06452 6.87097C9.12903 7.10753 9.29032 7.22581 9.54839 7.22581C9.56989 7.22581 9.5914 7.22581 9.6129 7.22581C9.56989 7.33333 9.54839 7.41935 9.54839 7.48387C9.54839 7.76344 9.64516 8.01075 9.83871 8.22581C10.0538 8.41935 10.3011 8.51613 10.5806 8.51613C10.8602 8.51613 11.0968 8.41935 11.2903 8.22581C11.5054 8.01075 11.6129 7.76344 11.6129 7.48387C11.6129 7.1828 11.5054 6.93548 11.2903 6.74194L12.2903 6.41935Z", fill: "#626D83" })
6341
+ );
6342
+
6343
+ icons.check = wp.element.createElement(
6344
+ "svg",
6345
+ { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
6346
+ wp.element.createElement("path", { d: "M13.6452 2.35484C15.2151 3.90323 16 5.78495 16 8C16 10.2151 15.2151 12.1075 13.6452 13.6774C12.0968 15.2258 10.2151 16 8 16C5.78495 16 3.89247 15.2258 2.32258 13.6774C0.774194 12.1075 0 10.2151 0 8C0 5.78495 0.774194 3.90323 2.32258 2.35484C3.89247 0.784946 5.78495 0 8 0C10.2151 0 12.0968 0.784946 13.6452 2.35484ZM7.06452 12.2258L13 6.29032C13.2581 6.05376 13.2581 5.8172 13 5.58065L12.2903 4.83871C12.0323 4.60215 11.7849 4.60215 11.5484 4.83871L6.70968 9.67742L4.45161 7.41935C4.21505 7.1828 3.96774 7.1828 3.70968 7.41935L3 8.16129C2.74194 8.39785 2.74194 8.63441 3 8.87097L6.35484 12.2258C6.5914 12.4839 6.82796 12.4839 7.06452 12.2258Z", fill: "#1EC185" })
6347
+ );
6348
+
6349
+ /* harmony default export */ __webpack_exports__["a"] = (icons);
6350
+
6351
+ /***/ }),
6352
+ /* 14 */
6353
+ /***/ (function(module, exports, __webpack_require__) {
6354
+
6355
+ var Symbol = __webpack_require__(21),
6356
+ getRawTag = __webpack_require__(298),
6357
+ objectToString = __webpack_require__(299);
6358
+
6359
+ /** `Object#toString` result references. */
6360
+ var nullTag = '[object Null]',
6361
+ undefinedTag = '[object Undefined]';
6362
+
6363
+ /** Built-in value references. */
6364
+ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
6365
+
6366
+ /**
6367
+ * The base implementation of `getTag` without fallbacks for buggy environments.
6368
+ *
6369
+ * @private
6370
+ * @param {*} value The value to query.
6371
+ * @returns {string} Returns the `toStringTag`.
6372
+ */
6373
+ function baseGetTag(value) {
6374
+ if (value == null) {
6375
+ return value === undefined ? undefinedTag : nullTag;
6376
+ }
6377
+ return (symToStringTag && symToStringTag in Object(value))
6378
+ ? getRawTag(value)
6379
+ : objectToString(value);
6380
+ }
6381
+
6382
+ module.exports = baseGetTag;
6383
+
6384
+
6385
+ /***/ }),
6386
+ /* 15 */
6387
+ /***/ (function(module, exports) {
6388
+
6389
+ /**
6390
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
6391
+ * and has a `typeof` result of "object".
6392
+ *
6393
+ * @static
6394
+ * @memberOf _
6395
+ * @since 4.0.0
6396
+ * @category Lang
6397
+ * @param {*} value The value to check.
6398
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
6399
+ * @example
6400
+ *
6401
+ * _.isObjectLike({});
6402
+ * // => true
6403
+ *
6404
+ * _.isObjectLike([1, 2, 3]);
6405
+ * // => true
6406
+ *
6407
+ * _.isObjectLike(_.noop);
6408
+ * // => false
6409
+ *
6410
+ * _.isObjectLike(null);
6411
+ * // => false
6412
+ */
6413
+ function isObjectLike(value) {
6414
+ return value != null && typeof value == 'object';
6415
+ }
6416
+
6417
+ module.exports = isObjectLike;
6418
+
6419
+
6420
+ /***/ }),
6421
+ /* 16 */
6422
+ /***/ (function(module, exports, __webpack_require__) {
6423
+
6424
+ var anObject = __webpack_require__(11);
6425
+ var IE8_DOM_DEFINE = __webpack_require__(228);
6426
+ var toPrimitive = __webpack_require__(229);
6427
+ var dP = Object.defineProperty;
6428
+
6429
+ exports.f = __webpack_require__(12) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
6430
+ anObject(O);
6431
+ P = toPrimitive(P, true);
6432
+ anObject(Attributes);
6433
+ if (IE8_DOM_DEFINE) try {
6434
+ return dP(O, P, Attributes);
6435
+ } catch (e) { /* empty */ }
6436
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
6437
+ if ('value' in Attributes) O[P] = Attributes.value;
6438
+ return O;
6439
+ };
6440
+
6441
+
6442
+ /***/ }),
6443
+ /* 17 */
6444
+ /***/ (function(module, exports) {
6445
+
6446
+ var hasOwnProperty = {}.hasOwnProperty;
6447
+ module.exports = function (it, key) {
6448
+ return hasOwnProperty.call(it, key);
6449
+ };
6450
+
6451
+
6452
+ /***/ }),
6453
+ /* 18 */
6454
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
6455
+
6456
+ "use strict";
6457
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_chartjs_2__ = __webpack_require__(277);
6458
+ var Fragment = wp.element.Fragment;
6459
+
6460
+
6461
+
6462
+
6463
+ var HeadlinePieChart = function HeadlinePieChart(props) {
6464
+ var score = props.barScore;
6465
+ var offSetValue = 100 - props.barScore;
6466
+ var color = props.barColor;
6467
+ var data = {
6468
+ datasets: [{
6469
+ data: [offSetValue, score],
6470
+ backgroundColor: ['#F2F2F2', color],
6471
+ hoverBackgroundColor: ['#F2F2F2', color],
6472
+ borderWidth: 0
6473
+ }]
6474
+ };
6475
+ var options = {
6476
+ cutoutPercentage: 70,
6477
+ animation: false,
6478
+ legend: {
6479
+ display: false
6480
+ },
6481
+ tooltips: {
6482
+ enabled: false
6483
+ }
6484
+ };
6485
+
6486
+ return wp.element.createElement(
6487
+ Fragment,
6488
+ null,
6489
+ wp.element.createElement(__WEBPACK_IMPORTED_MODULE_0_react_chartjs_2__["a" /* Doughnut */], { data: data, options: options })
6490
+ );
6491
+ };
6492
+
6493
+ /* harmony default export */ __webpack_exports__["a"] = (HeadlinePieChart);
6494
+
6495
+ /***/ }),
6496
+ /* 19 */
6497
+ /***/ (function(module, exports, __webpack_require__) {
6498
+
6499
+ var listCacheClear = __webpack_require__(286),
6500
+ listCacheDelete = __webpack_require__(287),
6501
+ listCacheGet = __webpack_require__(288),
6502
+ listCacheHas = __webpack_require__(289),
6503
+ listCacheSet = __webpack_require__(290);
6504
+
6505
+ /**
6506
+ * Creates an list cache object.
6507
+ *
6508
+ * @private
6509
+ * @constructor
6510
+ * @param {Array} [entries] The key-value pairs to cache.
6511
+ */
6512
+ function ListCache(entries) {
6513
+ var index = -1,
6514
+ length = entries == null ? 0 : entries.length;
6515
+
6516
+ this.clear();
6517
+ while (++index < length) {
6518
+ var entry = entries[index];
6519
+ this.set(entry[0], entry[1]);
6520
+ }
6521
+ }
6522
+
6523
+ // Add methods to `ListCache`.
6524
+ ListCache.prototype.clear = listCacheClear;
6525
+ ListCache.prototype['delete'] = listCacheDelete;
6526
+ ListCache.prototype.get = listCacheGet;
6527
+ ListCache.prototype.has = listCacheHas;
6528
+ ListCache.prototype.set = listCacheSet;
6529
+
6530
+ module.exports = ListCache;
6531
+
6532
+
6533
+ /***/ }),
6534
+ /* 20 */
6535
+ /***/ (function(module, exports, __webpack_require__) {
6536
+
6537
+ var eq = __webpack_require__(206);
6538
+
6539
+ /**
6540
+ * Gets the index at which the `key` is found in `array` of key-value pairs.
6541
+ *
6542
+ * @private
6543
+ * @param {Array} array The array to inspect.
6544
+ * @param {*} key The key to search for.
6545
+ * @returns {number} Returns the index of the matched value, else `-1`.
6546
+ */
6547
+ function assocIndexOf(array, key) {
6548
+ var length = array.length;
6549
+ while (length--) {
6550
+ if (eq(array[length][0], key)) {
6551
+ return length;
6552
+ }
6553
+ }
6554
+ return -1;
6555
+ }
6556
+
6557
+ module.exports = assocIndexOf;
6558
+
6559
+
6560
+ /***/ }),
6561
+ /* 21 */
6562
+ /***/ (function(module, exports, __webpack_require__) {
6563
+
6564
+ var root = __webpack_require__(4);
6565
+
6566
+ /** Built-in value references. */
6567
+ var Symbol = root.Symbol;
6568
+
6569
+ module.exports = Symbol;
6570
+
6571
+
6572
+ /***/ }),
6573
+ /* 22 */
6574
+ /***/ (function(module, exports, __webpack_require__) {
6575
+
6576
+ var getNative = __webpack_require__(7);
6577
+
6578
+ /* Built-in method references that are verified to be native. */
6579
+ var nativeCreate = getNative(Object, 'create');
6580
+
6581
+ module.exports = nativeCreate;
6582
+
6583
+
6584
+ /***/ }),
6585
+ /* 23 */
6586
+ /***/ (function(module, exports, __webpack_require__) {
6587
+
6588
+ var isKeyable = __webpack_require__(311);
6589
+
6590
+ /**
6591
+ * Gets the data for `map`.
6592
+ *
6593
+ * @private
6594
+ * @param {Object} map The map to query.
6595
+ * @param {string} key The reference key.
6596
+ * @returns {*} Returns the map data.
6597
+ */
6598
+ function getMapData(map, key) {
6599
+ var data = map.__data__;
6600
+ return isKeyable(key)
6601
+ ? data[typeof key == 'string' ? 'string' : 'hash']
6602
+ : data.map;
6603
+ }
6604
+
6605
+ module.exports = getMapData;
6606
+
6607
+
6608
+ /***/ }),
6609
+ /* 24 */
6610
+ /***/ (function(module, exports, __webpack_require__) {
6611
+
6612
+ var isSymbol = __webpack_require__(43);
6613
+
6614
+ /** Used as references for various `Number` constants. */
6615
+ var INFINITY = 1 / 0;
6616
+
6617
+ /**
6618
+ * Converts `value` to a string key if it's not a string or symbol.
6619
+ *
6620
+ * @private
6621
+ * @param {*} value The value to inspect.
6622
+ * @returns {string|symbol} Returns the key.
6623
+ */
6624
+ function toKey(value) {
6625
+ if (typeof value == 'string' || isSymbol(value)) {
6626
+ return value;
6627
+ }
6628
+ var result = (value + '');
6629
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
6630
+ }
6631
+
6632
+ module.exports = toKey;
6633
+
6634
+
6635
+ /***/ }),
6636
+ /* 25 */
6637
+ /***/ (function(module, exports, __webpack_require__) {
6638
+
6639
+ "use strict";
6640
+
6641
+ var $at = __webpack_require__(226)(true);
6642
+
6643
+ // 21.1.3.27 String.prototype[@@iterator]()
6644
+ __webpack_require__(45)(String, 'String', function (iterated) {
6645
+ this._t = String(iterated); // target
6646
+ this._i = 0; // next index
6647
+ // 21.1.5.2.1 %StringIteratorPrototype%.next()
6648
+ }, function () {
6649
+ var O = this._t;
6650
+ var index = this._i;
6651
+ var point;
6652
+ if (index >= O.length) return { value: undefined, done: true };
6653
+ point = $at(O, index);
6654
+ this._i += point.length;
6655
+ return { value: point, done: false };
6656
+ });
6657
+
6658
+
6659
+ /***/ }),
6660
+ /* 26 */
6661
+ /***/ (function(module, exports) {
6662
+
6663
+ // 7.1.4 ToInteger
6664
+ var ceil = Math.ceil;
6665
+ var floor = Math.floor;
6666
+ module.exports = function (it) {
6667
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
6668
+ };
6669
+
6670
+
6671
+ /***/ }),
6672
+ /* 27 */
6673
+ /***/ (function(module, exports) {
6674
+
6675
+ // 7.2.1 RequireObjectCoercible(argument)
6676
+ module.exports = function (it) {
6677
+ if (it == undefined) throw TypeError("Can't call method on " + it);
6678
+ return it;
6679
+ };
6680
+
6681
+
6682
+ /***/ }),
6683
+ /* 28 */
6684
+ /***/ (function(module, exports, __webpack_require__) {
6685
+
6686
+ var global = __webpack_require__(8);
6687
+ var core = __webpack_require__(6);
6688
+ var ctx = __webpack_require__(47);
6689
+ var hide = __webpack_require__(10);
6690
+ var has = __webpack_require__(17);
6691
+ var PROTOTYPE = 'prototype';
6692
+
6693
+ var $export = function (type, name, source) {
6694
+ var IS_FORCED = type & $export.F;
6695
+ var IS_GLOBAL = type & $export.G;
6696
+ var IS_STATIC = type & $export.S;
6697
+ var IS_PROTO = type & $export.P;
6698
+ var IS_BIND = type & $export.B;
6699
+ var IS_WRAP = type & $export.W;
6700
+ var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
6701
+ var expProto = exports[PROTOTYPE];
6702
+ var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
6703
+ var key, own, out;
6704
+ if (IS_GLOBAL) source = name;
6705
+ for (key in source) {
6706
+ // contains in native
6707
+ own = !IS_FORCED && target && target[key] !== undefined;
6708
+ if (own && has(exports, key)) continue;
6709
+ // export native or passed
6710
+ out = own ? target[key] : source[key];
6711
+ // prevent global pollution for namespaces
6712
+ exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
6713
+ // bind timers to global for call from export context
6714
+ : IS_BIND && own ? ctx(out, global)
6715
+ // wrap global constructors for prevent change them in library
6716
+ : IS_WRAP && target[key] == out ? (function (C) {
6717
+ var F = function (a, b, c) {
6718
+ if (this instanceof C) {
6719
+ switch (arguments.length) {
6720
+ case 0: return new C();
6721
+ case 1: return new C(a);
6722
+ case 2: return new C(a, b);
6723
+ } return new C(a, b, c);
6724
+ } return C.apply(this, arguments);
6725
+ };
6726
+ F[PROTOTYPE] = C[PROTOTYPE];
6727
+ return F;
6728
+ // make static versions for prototype methods
6729
+ })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
6730
+ // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
6731
+ if (IS_PROTO) {
6732
+ (exports.virtual || (exports.virtual = {}))[key] = out;
6733
+ // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
6734
+ if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
6735
+ }
6736
+ }
6737
+ };
6738
+ // type bitmap
6739
+ $export.F = 1; // forced
6740
+ $export.G = 2; // global
6741
+ $export.S = 4; // static
6742
+ $export.P = 8; // proto
6743
+ $export.B = 16; // bind
6744
+ $export.W = 32; // wrap
6745
+ $export.U = 64; // safe
6746
+ $export.R = 128; // real proto method for `library`
6747
+ module.exports = $export;
6748
+
6749
+
6750
+ /***/ }),
6751
+ /* 29 */
6752
+ /***/ (function(module, exports) {
6753
+
6754
+ module.exports = function (it) {
6755
+ return typeof it === 'object' ? it !== null : typeof it === 'function';
6756
+ };
6757
+
6758
+
6759
+ /***/ }),
6760
+ /* 30 */
6761
+ /***/ (function(module, exports) {
6762
+
6763
+ module.exports = function (exec) {
6764
+ try {
6765
+ return !!exec();
6766
+ } catch (e) {
6767
+ return true;
6768
+ }
6769
+ };
6770
+
6771
+
6772
+ /***/ }),
6773
+ /* 31 */
6774
+ /***/ (function(module, exports) {
6775
+
6776
+ module.exports = function (bitmap, value) {
6777
+ return {
6778
+ enumerable: !(bitmap & 1),
6779
+ configurable: !(bitmap & 2),
6780
+ writable: !(bitmap & 4),
6781
+ value: value
6782
+ };
6783
+ };
6784
+
6785
+
6786
+ /***/ }),
6787
+ /* 32 */
6788
+ /***/ (function(module, exports, __webpack_require__) {
6789
+
6790
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
6791
+ var IObject = __webpack_require__(50);
6792
+ var defined = __webpack_require__(27);
6793
+ module.exports = function (it) {
6794
+ return IObject(defined(it));
6795
+ };
6796
+
6797
+
6798
+ /***/ }),
6799
+ /* 33 */
6800
+ /***/ (function(module, exports, __webpack_require__) {
6801
+
6802
+ var shared = __webpack_require__(53)('keys');
6803
+ var uid = __webpack_require__(54);
6804
+ module.exports = function (key) {
6805
+ return shared[key] || (shared[key] = uid(key));
6806
+ };
6807
+
6808
+
6809
+ /***/ }),
6810
+ /* 34 */
6811
+ /***/ (function(module, exports, __webpack_require__) {
6812
+
6813
+ // 7.1.13 ToObject(argument)
6814
+ var defined = __webpack_require__(27);
6815
+ module.exports = function (it) {
6816
+ return Object(defined(it));
6817
+ };
6818
+
6819
+
6820
+ /***/ }),
6821
+ /* 35 */
6822
+ /***/ (function(module, exports) {
6823
+
6824
+ module.exports = function(module) {
6825
+ if(!module.webpackPolyfill) {
6826
+ module.deprecate = function() {};
6827
+ module.paths = [];
6828
+ // module.parent = undefined by default
6829
+ if(!module.children) module.children = [];
6830
+ Object.defineProperty(module, "loaded", {
6831
+ enumerable: true,
6832
+ get: function() {
6833
+ return module.l;
6834
+ }
6835
+ });
6836
+ Object.defineProperty(module, "id", {
6837
+ enumerable: true,
6838
+ get: function() {
6839
+ return module.i;
6840
+ }
6841
+ });
6842
+ module.webpackPolyfill = 1;
6843
+ }
6844
+ return module;
6845
+ };
6846
+
6847
+
6848
+ /***/ }),
6849
+ /* 36 */
6850
+ /***/ (function(module, exports, __webpack_require__) {
6851
+
6852
+ var baseIsEqualDeep = __webpack_require__(285),
6853
+ isObjectLike = __webpack_require__(15);
6854
+
6855
+ /**
6856
+ * The base implementation of `_.isEqual` which supports partial comparisons
6857
+ * and tracks traversed objects.
6858
+ *
6859
+ * @private
6860
+ * @param {*} value The value to compare.
6861
+ * @param {*} other The other value to compare.
6862
+ * @param {boolean} bitmask The bitmask flags.
6863
+ * 1 - Unordered comparison
6864
+ * 2 - Partial comparison
6865
+ * @param {Function} [customizer] The function to customize comparisons.
6866
+ * @param {Object} [stack] Tracks traversed `value` and `other` objects.
6867
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
6868
+ */
6869
+ function baseIsEqual(value, other, bitmask, customizer, stack) {
6870
+ if (value === other) {
6871
+ return true;
6872
+ }
6873
+ if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
6874
+ return value !== value && other !== other;
6875
+ }
6876
+ return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
6877
+ }
6878
+
6879
+ module.exports = baseIsEqual;
6880
+
6881
+
6882
+ /***/ }),
6883
+ /* 37 */
6884
+ /***/ (function(module, exports, __webpack_require__) {
6885
+
6886
+ var getNative = __webpack_require__(7),
6887
+ root = __webpack_require__(4);
6888
+
6889
+ /* Built-in method references that are verified to be native. */
6890
+ var Map = getNative(root, 'Map');
6891
+
6892
+ module.exports = Map;
6893
+
6894
+
6895
+ /***/ }),
6896
+ /* 38 */
6897
+ /***/ (function(module, exports) {
6898
+
6899
+ /**
6900
+ * Checks if `value` is the
6901
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
6902
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
6903
+ *
6904
+ * @static
6905
+ * @memberOf _
6906
+ * @since 0.1.0
6907
+ * @category Lang
6908
+ * @param {*} value The value to check.
6909
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
6910
+ * @example
6911
+ *
6912
+ * _.isObject({});
6913
+ * // => true
6914
+ *
6915
+ * _.isObject([1, 2, 3]);
6916
+ * // => true
6917
+ *
6918
+ * _.isObject(_.noop);
6919
+ * // => true
6920
+ *
6921
+ * _.isObject(null);
6922
+ * // => false
6923
+ */
6924
+ function isObject(value) {
6925
+ var type = typeof value;
6926
+ return value != null && (type == 'object' || type == 'function');
6927
+ }
6928
+
6929
+ module.exports = isObject;
6930
+
6931
+
6932
+ /***/ }),
6933
+ /* 39 */
6934
+ /***/ (function(module, exports, __webpack_require__) {
6935
+
6936
+ var mapCacheClear = __webpack_require__(303),
6937
+ mapCacheDelete = __webpack_require__(310),
6938
+ mapCacheGet = __webpack_require__(312),
6939
+ mapCacheHas = __webpack_require__(313),
6940
+ mapCacheSet = __webpack_require__(314);
6941
+
6942
+ /**
6943
+ * Creates a map cache object to store key-value pairs.
6944
+ *
6945
+ * @private
6946
+ * @constructor
6947
+ * @param {Array} [entries] The key-value pairs to cache.
6948
+ */
6949
+ function MapCache(entries) {
6950
+ var index = -1,
6951
+ length = entries == null ? 0 : entries.length;
6952
+
6953
+ this.clear();
6954
+ while (++index < length) {
6955
+ var entry = entries[index];
6956
+ this.set(entry[0], entry[1]);
6957
+ }
6958
+ }
6959
+
6960
+ // Add methods to `MapCache`.
6961
+ MapCache.prototype.clear = mapCacheClear;
6962
+ MapCache.prototype['delete'] = mapCacheDelete;
6963
+ MapCache.prototype.get = mapCacheGet;
6964
+ MapCache.prototype.has = mapCacheHas;
6965
+ MapCache.prototype.set = mapCacheSet;
6966
+
6967
+ module.exports = MapCache;
6968
+
6969
+
6970
+ /***/ }),
6971
+ /* 40 */
6972
+ /***/ (function(module, exports, __webpack_require__) {
6973
+
6974
+ var arrayLikeKeys = __webpack_require__(331),
6975
+ baseKeys = __webpack_require__(338),
6976
+ isArrayLike = __webpack_require__(215);
6977
+
6978
+ /**
6979
+ * Creates an array of the own enumerable property names of `object`.
6980
+ *
6981
+ * **Note:** Non-object values are coerced to objects. See the
6982
+ * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
6983
+ * for more details.
6984
+ *
6985
+ * @static
6986
+ * @since 0.1.0
6987
+ * @memberOf _
6988
+ * @category Object
6989
+ * @param {Object} object The object to query.
6990
+ * @returns {Array} Returns the array of property names.
6991
+ * @example
6992
+ *
6993
+ * function Foo() {
6994
+ * this.a = 1;
6995
+ * this.b = 2;
6996
+ * }
6997
+ *
6998
+ * Foo.prototype.c = 3;
6999
+ *
7000
+ * _.keys(new Foo);
7001
+ * // => ['a', 'b'] (iteration order is not guaranteed)
7002
+ *
7003
+ * _.keys('hi');
7004
+ * // => ['0', '1']
7005
+ */
7006
+ function keys(object) {
7007
+ return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
7008
+ }
7009
+
7010
+ module.exports = keys;
7011
+
7012
+
7013
+ /***/ }),
7014
+ /* 41 */
7015
+ /***/ (function(module, exports) {
7016
+
7017
+ /** Used as references for various `Number` constants. */
7018
+ var MAX_SAFE_INTEGER = 9007199254740991;
7019
+
7020
+ /**
7021
+ * Checks if `value` is a valid array-like length.
7022
+ *
7023
+ * **Note:** This method is loosely based on
7024
+ * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
7025
+ *
7026
+ * @static
7027
+ * @memberOf _
7028
+ * @since 4.0.0
7029
+ * @category Lang
7030
+ * @param {*} value The value to check.
7031
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
7032
+ * @example
7033
+ *
7034
+ * _.isLength(3);
7035
+ * // => true
7036
+ *
7037
+ * _.isLength(Number.MIN_VALUE);
7038
+ * // => false
7039
+ *
7040
+ * _.isLength(Infinity);
7041
+ * // => false
7042
+ *
7043
+ * _.isLength('3');
7044
+ * // => false
7045
+ */
7046
+ function isLength(value) {
7047
+ return typeof value == 'number' &&
7048
+ value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
7049
+ }
7050
+
7051
+ module.exports = isLength;
7052
+
7053
+
7054
+ /***/ }),
7055
+ /* 42 */
7056
+ /***/ (function(module, exports, __webpack_require__) {
7057
+
7058
+ var isArray = __webpack_require__(5),
7059
+ isSymbol = __webpack_require__(43);
7060
+
7061
+ /** Used to match property names within property paths. */
7062
+ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
7063
+ reIsPlainProp = /^\w*$/;
7064
+
7065
+ /**
7066
+ * Checks if `value` is a property name and not a property path.
7067
+ *
7068
+ * @private
7069
+ * @param {*} value The value to check.
7070
+ * @param {Object} [object] The object to query keys on.
7071
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
7072
+ */
7073
+ function isKey(value, object) {
7074
+ if (isArray(value)) {
7075
+ return false;
7076
+ }
7077
+ var type = typeof value;
7078
+ if (type == 'number' || type == 'symbol' || type == 'boolean' ||
7079
+ value == null || isSymbol(value)) {
7080
+ return true;
7081
+ }
7082
+ return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
7083
+ (object != null && value in Object(object));
7084
+ }
7085
+
7086
+ module.exports = isKey;
7087
+
7088
+
7089
+ /***/ }),
7090
+ /* 43 */
7091
+ /***/ (function(module, exports, __webpack_require__) {
7092
+
7093
+ var baseGetTag = __webpack_require__(14),
7094
+ isObjectLike = __webpack_require__(15);
7095
+
7096
+ /** `Object#toString` result references. */
7097
+ var symbolTag = '[object Symbol]';
7098
+
7099
+ /**
7100
+ * Checks if `value` is classified as a `Symbol` primitive or object.
7101
+ *
7102
+ * @static
7103
+ * @memberOf _
7104
+ * @since 4.0.0
7105
+ * @category Lang
7106
+ * @param {*} value The value to check.
7107
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
7108
+ * @example
7109
+ *
7110
+ * _.isSymbol(Symbol.iterator);
7111
+ * // => true
7112
+ *
7113
+ * _.isSymbol('abc');
7114
+ * // => false
7115
+ */
7116
+ function isSymbol(value) {
7117
+ return typeof value == 'symbol' ||
7118
+ (isObjectLike(value) && baseGetTag(value) == symbolTag);
7119
+ }
7120
+
7121
+ module.exports = isSymbol;
7122
+
7123
+
7124
+ /***/ }),
7125
+ /* 44 */
7126
+ /***/ (function(module, exports, __webpack_require__) {
7127
+
7128
+ "use strict";
7129
+
7130
+
7131
+ exports.__esModule = true;
7132
+
7133
+ var _from = __webpack_require__(224);
7134
+
7135
+ var _from2 = _interopRequireDefault(_from);
7136
+
7137
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7138
+
7139
+ exports.default = function (arr) {
7140
+ if (Array.isArray(arr)) {
7141
+ for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
7142
+ arr2[i] = arr[i];
7143
+ }
7144
+
7145
+ return arr2;
7146
+ } else {
7147
+ return (0, _from2.default)(arr);
7148
+ }
7149
+ };
7150
+
7151
+ /***/ }),
7152
+ /* 45 */
7153
+ /***/ (function(module, exports, __webpack_require__) {
7154
+
7155
+ "use strict";
7156
+
7157
+ var LIBRARY = __webpack_require__(46);
7158
+ var $export = __webpack_require__(28);
7159
+ var redefine = __webpack_require__(230);
7160
+ var hide = __webpack_require__(10);
7161
+ var Iterators = __webpack_require__(9);
7162
+ var $iterCreate = __webpack_require__(231);
7163
+ var setToStringTag = __webpack_require__(56);
7164
+ var getPrototypeOf = __webpack_require__(238);
7165
+ var ITERATOR = __webpack_require__(2)('iterator');
7166
+ var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
7167
+ var FF_ITERATOR = '@@iterator';
7168
+ var KEYS = 'keys';
7169
+ var VALUES = 'values';
7170
+
7171
+ var returnThis = function () { return this; };
7172
+
7173
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
7174
+ $iterCreate(Constructor, NAME, next);
7175
+ var getMethod = function (kind) {
7176
+ if (!BUGGY && kind in proto) return proto[kind];
7177
+ switch (kind) {
7178
+ case KEYS: return function keys() { return new Constructor(this, kind); };
7179
+ case VALUES: return function values() { return new Constructor(this, kind); };
7180
+ } return function entries() { return new Constructor(this, kind); };
7181
+ };
7182
+ var TAG = NAME + ' Iterator';
7183
+ var DEF_VALUES = DEFAULT == VALUES;
7184
+ var VALUES_BUG = false;
7185
+ var proto = Base.prototype;
7186
+ var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
7187
+ var $default = $native || getMethod(DEFAULT);
7188
+ var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
7189
+ var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
7190
+ var methods, key, IteratorPrototype;
7191
+ // Fix native
7192
+ if ($anyNative) {
7193
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
7194
+ if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
7195
+ // Set @@toStringTag to native iterators
7196
+ setToStringTag(IteratorPrototype, TAG, true);
7197
+ // fix for some old engines
7198
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
7199
+ }
7200
+ }
7201
+ // fix Array#{values, @@iterator}.name in V8 / FF
7202
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
7203
+ VALUES_BUG = true;
7204
+ $default = function values() { return $native.call(this); };
7205
+ }
7206
+ // Define iterator
7207
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
7208
+ hide(proto, ITERATOR, $default);
7209
+ }
7210
+ // Plug for library
7211
+ Iterators[NAME] = $default;
7212
+ Iterators[TAG] = returnThis;
7213
+ if (DEFAULT) {
7214
+ methods = {
7215
+ values: DEF_VALUES ? $default : getMethod(VALUES),
7216
+ keys: IS_SET ? $default : getMethod(KEYS),
7217
+ entries: $entries
7218
+ };
7219
+ if (FORCED) for (key in methods) {
7220
+ if (!(key in proto)) redefine(proto, key, methods[key]);
7221
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
7222
+ }
7223
+ return methods;
7224
+ };
7225
+
7226
+
7227
+ /***/ }),
7228
+ /* 46 */
7229
+ /***/ (function(module, exports) {
7230
+
7231
+ module.exports = true;
7232
+
7233
+
7234
+ /***/ }),
7235
+ /* 47 */
7236
+ /***/ (function(module, exports, __webpack_require__) {
7237
+
7238
+ // optional / simple context binding
7239
+ var aFunction = __webpack_require__(227);
7240
+ module.exports = function (fn, that, length) {
7241
+ aFunction(fn);
7242
+ if (that === undefined) return fn;
7243
+ switch (length) {
7244
+ case 1: return function (a) {
7245
+ return fn.call(that, a);
7246
+ };
7247
+ case 2: return function (a, b) {
7248
+ return fn.call(that, a, b);
7249
+ };
7250
+ case 3: return function (a, b, c) {
7251
+ return fn.call(that, a, b, c);
7252
+ };
7253
+ }
7254
+ return function (/* ...args */) {
7255
+ return fn.apply(that, arguments);
7256
+ };
7257
+ };
7258
+
7259
+
7260
+ /***/ }),
7261
+ /* 48 */
7262
+ /***/ (function(module, exports, __webpack_require__) {
7263
+
7264
+ var isObject = __webpack_require__(29);
7265
+ var document = __webpack_require__(8).document;
7266
+ // typeof document.createElement is 'object' in old IE
7267
+ var is = isObject(document) && isObject(document.createElement);
7268
+ module.exports = function (it) {
7269
+ return is ? document.createElement(it) : {};
7270
+ };
7271
+
7272
+
7273
+ /***/ }),
7274
+ /* 49 */
7275
+ /***/ (function(module, exports, __webpack_require__) {
7276
+
7277
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
7278
+ var $keys = __webpack_require__(234);
7279
+ var enumBugKeys = __webpack_require__(55);
7280
+
7281
+ module.exports = Object.keys || function keys(O) {
7282
+ return $keys(O, enumBugKeys);
7283
+ };
7284
+
7285
+
7286
+ /***/ }),
7287
+ /* 50 */
7288
+ /***/ (function(module, exports, __webpack_require__) {
7289
+
7290
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
7291
+ var cof = __webpack_require__(51);
7292
+ // eslint-disable-next-line no-prototype-builtins
7293
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
7294
+ return cof(it) == 'String' ? it.split('') : Object(it);
7295
+ };
7296
+
7297
+
7298
+ /***/ }),
7299
+ /* 51 */
7300
+ /***/ (function(module, exports) {
7301
+
7302
+ var toString = {}.toString;
7303
+
7304
+ module.exports = function (it) {
7305
+ return toString.call(it).slice(8, -1);
7306
+ };
7307
+
7308
+
7309
+ /***/ }),
7310
+ /* 52 */
7311
+ /***/ (function(module, exports, __webpack_require__) {
7312
+
7313
+ // 7.1.15 ToLength
7314
+ var toInteger = __webpack_require__(26);
7315
+ var min = Math.min;
7316
+ module.exports = function (it) {
7317
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
7318
+ };
7319
+
7320
+
7321
+ /***/ }),
7322
+ /* 53 */
7323
+ /***/ (function(module, exports, __webpack_require__) {
7324
+
7325
+ var core = __webpack_require__(6);
7326
+ var global = __webpack_require__(8);
7327
+ var SHARED = '__core-js_shared__';
7328
+ var store = global[SHARED] || (global[SHARED] = {});
7329
+
7330
+ (module.exports = function (key, value) {
7331
+ return store[key] || (store[key] = value !== undefined ? value : {});
7332
+ })('versions', []).push({
7333
+ version: core.version,
7334
+ mode: __webpack_require__(46) ? 'pure' : 'global',
7335
+ copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
7336
+ });
7337
+
7338
+
7339
+ /***/ }),
7340
+ /* 54 */
7341
+ /***/ (function(module, exports) {
7342
+
7343
+ var id = 0;
7344
+ var px = Math.random();
7345
+ module.exports = function (key) {
7346
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
7347
+ };
7348
+
7349
+
7350
+ /***/ }),
7351
+ /* 55 */
7352
+ /***/ (function(module, exports) {
7353
+
7354
+ // IE 8- don't enum bug keys
7355
+ module.exports = (
7356
+ 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
7357
+ ).split(',');
7358
+
7359
+
7360
+ /***/ }),
7361
+ /* 56 */
7362
+ /***/ (function(module, exports, __webpack_require__) {
7363
+
7364
+ var def = __webpack_require__(16).f;
7365
+ var has = __webpack_require__(17);
7366
+ var TAG = __webpack_require__(2)('toStringTag');
7367
+
7368
+ module.exports = function (it, tag, stat) {
7369
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
7370
+ };
7371
+
7372
+
7373
+ /***/ }),
7374
+ /* 57 */
7375
+ /***/ (function(module, exports, __webpack_require__) {
7376
+
7377
+ var classof = __webpack_require__(58);
7378
+ var ITERATOR = __webpack_require__(2)('iterator');
7379
+ var Iterators = __webpack_require__(9);
7380
+ module.exports = __webpack_require__(6).getIteratorMethod = function (it) {
7381
+ if (it != undefined) return it[ITERATOR]
7382
+ || it['@@iterator']
7383
+ || Iterators[classof(it)];
7384
+ };
7385
+
7386
+
7387
+ /***/ }),
7388
+ /* 58 */
7389
+ /***/ (function(module, exports, __webpack_require__) {
7390
+
7391
+ // getting tag from 19.1.3.6 Object.prototype.toString()
7392
+ var cof = __webpack_require__(51);
7393
+ var TAG = __webpack_require__(2)('toStringTag');
7394
+ // ES3 wrong here
7395
+ var ARG = cof(function () { return arguments; }()) == 'Arguments';
7396
+
7397
+ // fallback for IE11 Script Access Denied error
7398
+ var tryGet = function (it, key) {
7399
+ try {
7400
+ return it[key];
7401
+ } catch (e) { /* empty */ }
7402
+ };
7403
+
7404
+ module.exports = function (it) {
7405
+ var O, T, B;
7406
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
7407
+ // @@toStringTag case
7408
+ : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
7409
+ // builtinTag case
7410
+ : ARG ? cof(O)
7411
+ // ES3 arguments fallback
7412
+ : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
7413
+ };
7414
+
7415
+
7416
+ /***/ }),
7417
+ /* 59 */
7418
+ /***/ (function(module, exports, __webpack_require__) {
7419
+
7420
+ "use strict";
7421
+
7422
+
7423
+ exports.__esModule = true;
7424
+
7425
+ var _assign = __webpack_require__(244);
7426
+
7427
+ var _assign2 = _interopRequireDefault(_assign);
7428
+
7429
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7430
+
7431
+ exports.default = _assign2.default || function (target) {
7432
+ for (var i = 1; i < arguments.length; i++) {
7433
+ var source = arguments[i];
7434
+
7435
+ for (var key in source) {
7436
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7437
+ target[key] = source[key];
7438
+ }
7439
+ }
7440
+ }
7441
+
7442
+ return target;
7443
+ };
7444
+
7445
+ /***/ }),
7446
+ /* 60 */
7447
+ /***/ (function(module, exports, __webpack_require__) {
7448
+
7449
+ "use strict";
7450
+
7451
+
7452
+ exports.__esModule = true;
7453
+
7454
+ var _isIterable2 = __webpack_require__(250);
7455
+
7456
+ var _isIterable3 = _interopRequireDefault(_isIterable2);
7457
+
7458
+ var _getIterator2 = __webpack_require__(256);
7459
+
7460
+ var _getIterator3 = _interopRequireDefault(_getIterator2);
7461
+
7462
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7463
+
7464
+ exports.default = function () {
7465
+ function sliceIterator(arr, i) {
7466
+ var _arr = [];
7467
+ var _n = true;
7468
+ var _d = false;
7469
+ var _e = undefined;
7470
+
7471
+ try {
7472
+ for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {
7473
+ _arr.push(_s.value);
7474
+
7475
+ if (i && _arr.length === i) break;
7476
+ }
7477
+ } catch (err) {
7478
+ _d = true;
7479
+ _e = err;
7480
+ } finally {
7481
+ try {
7482
+ if (!_n && _i["return"]) _i["return"]();
7483
+ } finally {
7484
+ if (_d) throw _e;
7485
+ }
7486
+ }
7487
+
7488
+ return _arr;
7489
+ }
7490
+
7491
+ return function (arr, i) {
7492
+ if (Array.isArray(arr)) {
7493
+ return arr;
7494
+ } else if ((0, _isIterable3.default)(Object(arr))) {
7495
+ return sliceIterator(arr, i);
7496
+ } else {
7497
+ throw new TypeError("Invalid attempt to destructure non-iterable instance");
7498
+ }
7499
+ };
7500
+ }();
7501
+
7502
+ /***/ }),
7503
+ /* 61 */
7504
+ /***/ (function(module, exports, __webpack_require__) {
7505
+
7506
+ __webpack_require__(252);
7507
+ var global = __webpack_require__(8);
7508
+ var hide = __webpack_require__(10);
7509
+ var Iterators = __webpack_require__(9);
7510
+ var TO_STRING_TAG = __webpack_require__(2)('toStringTag');
7511
+
7512
+ var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
7513
+ 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
7514
+ 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
7515
+ 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
7516
+ 'TextTrackList,TouchList').split(',');
7517
+
7518
+ for (var i = 0; i < DOMIterables.length; i++) {
7519
+ var NAME = DOMIterables[i];
7520
+ var Collection = global[NAME];
7521
+ var proto = Collection && Collection.prototype;
7522
+ if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
7523
+ Iterators[NAME] = Iterators.Array;
7524
+ }
7525
+
7526
+
7527
+ /***/ }),
7528
+ /* 62 */
7529
+ /***/ (function(module, exports, __webpack_require__) {
7530
+
7531
+ module.exports = __webpack_require__(259);
7532
+
7533
+ /***/ }),
7534
+ /* 63 */
7535
+ /***/ (function(module, exports, __webpack_require__) {
7536
+
7537
+ "use strict";
7538
+
7539
+
7540
+ module.exports = function bind(fn, thisArg) {
7541
+ return function wrap() {
7542
+ var args = new Array(arguments.length);
7543
+ for (var i = 0; i < args.length; i++) {
7544
+ args[i] = arguments[i];
7545
+ }
7546
+ return fn.apply(thisArg, args);
7547
+ };
7548
+ };
7549
+
7550
+
7551
+ /***/ }),
7552
+ /* 64 */
7553
+ /***/ (function(module, exports, __webpack_require__) {
7554
+
7555
+ "use strict";
7556
+
7557
+
7558
+ var utils = __webpack_require__(1);
7559
+
7560
+ function encode(val) {
7561
+ return encodeURIComponent(val).
7562
+ replace(/%40/gi, '@').
7563
+ replace(/%3A/gi, ':').
7564
+ replace(/%24/g, '$').
7565
+ replace(/%2C/gi, ',').
7566
+ replace(/%20/g, '+').
7567
+ replace(/%5B/gi, '[').
7568
+ replace(/%5D/gi, ']');
7569
+ }
7570
+
7571
+ /**
7572
+ * Build a URL by appending params to the end
7573
+ *
7574
+ * @param {string} url The base of the url (e.g., http://www.google.com)
7575
+ * @param {object} [params] The params to be appended
7576
+ * @returns {string} The formatted url
7577
+ */
7578
+ module.exports = function buildURL(url, params, paramsSerializer) {
7579
+ /*eslint no-param-reassign:0*/
7580
+ if (!params) {
7581
+ return url;
7582
+ }
7583
+
7584
+ var serializedParams;
7585
+ if (paramsSerializer) {
7586
+ serializedParams = paramsSerializer(params);
7587
+ } else if (utils.isURLSearchParams(params)) {
7588
+ serializedParams = params.toString();
7589
+ } else {
7590
+ var parts = [];
7591
+
7592
+ utils.forEach(params, function serialize(val, key) {
7593
+ if (val === null || typeof val === 'undefined') {
7594
+ return;
7595
+ }
7596
+
7597
+ if (utils.isArray(val)) {
7598
+ key = key + '[]';
7599
+ } else {
7600
+ val = [val];
7601
+ }
7602
+
7603
+ utils.forEach(val, function parseValue(v) {
7604
+ if (utils.isDate(v)) {
7605
+ v = v.toISOString();
7606
+ } else if (utils.isObject(v)) {
7607
+ v = JSON.stringify(v);
7608
+ }
7609
+ parts.push(encode(key) + '=' + encode(v));
7610
+ });
7611
+ });
7612
+
7613
+ serializedParams = parts.join('&');
7614
+ }
7615
+
7616
+ if (serializedParams) {
7617
+ var hashmarkIndex = url.indexOf('#');
7618
+ if (hashmarkIndex !== -1) {
7619
+ url = url.slice(0, hashmarkIndex);
7620
+ }
7621
+
7622
+ url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
7623
+ }
7624
+
7625
+ return url;
7626
+ };
7627
+
7628
+
7629
+ /***/ }),
7630
+ /* 65 */
7631
+ /***/ (function(module, exports, __webpack_require__) {
7632
+
7633
+ "use strict";
7634
+
7635
+
7636
+ module.exports = function isCancel(value) {
7637
+ return !!(value && value.__CANCEL__);
7638
+ };
7639
+
7640
+
7641
+ /***/ }),
7642
+ /* 66 */
7643
+ /***/ (function(module, exports, __webpack_require__) {
7644
+
7645
+ "use strict";
7646
+ /* WEBPACK VAR INJECTION */(function(process) {
7647
+
7648
+ var utils = __webpack_require__(1);
7649
+ var normalizeHeaderName = __webpack_require__(264);
7650
+
7651
+ var DEFAULT_CONTENT_TYPE = {
7652
+ 'Content-Type': 'application/x-www-form-urlencoded'
7653
+ };
7654
+
7655
+ function setContentTypeIfUnset(headers, value) {
7656
+ if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
7657
+ headers['Content-Type'] = value;
7658
+ }
7659
+ }
7660
+
7661
+ function getDefaultAdapter() {
7662
+ var adapter;
7663
+ if (typeof XMLHttpRequest !== 'undefined') {
7664
+ // For browsers use XHR adapter
7665
+ adapter = __webpack_require__(68);
7666
+ } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
7667
+ // For node use HTTP adapter
7668
+ adapter = __webpack_require__(68);
7669
+ }
7670
+ return adapter;
7671
+ }
7672
+
7673
+ var defaults = {
7674
+ adapter: getDefaultAdapter(),
7675
+
7676
+ transformRequest: [function transformRequest(data, headers) {
7677
+ normalizeHeaderName(headers, 'Accept');
7678
+ normalizeHeaderName(headers, 'Content-Type');
7679
+ if (utils.isFormData(data) ||
7680
+ utils.isArrayBuffer(data) ||
7681
+ utils.isBuffer(data) ||
7682
+ utils.isStream(data) ||
7683
+ utils.isFile(data) ||
7684
+ utils.isBlob(data)
7685
+ ) {
7686
+ return data;
7687
+ }
7688
+ if (utils.isArrayBufferView(data)) {
7689
+ return data.buffer;
7690
+ }
7691
+ if (utils.isURLSearchParams(data)) {
7692
+ setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
7693
+ return data.toString();
7694
+ }
7695
+ if (utils.isObject(data)) {
7696
+ setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
7697
+ return JSON.stringify(data);
7698
+ }
7699
+ return data;
7700
+ }],
7701
+
7702
+ transformResponse: [function transformResponse(data) {
7703
+ /*eslint no-param-reassign:0*/
7704
+ if (typeof data === 'string') {
7705
+ try {
7706
+ data = JSON.parse(data);
7707
+ } catch (e) { /* Ignore */ }
7708
+ }
7709
+ return data;
7710
+ }],
7711
+
7712
+ /**
7713
+ * A timeout in milliseconds to abort a request. If set to 0 (default) a
7714
+ * timeout is not created.
7715
+ */
7716
+ timeout: 0,
7717
+
7718
+ xsrfCookieName: 'XSRF-TOKEN',
7719
+ xsrfHeaderName: 'X-XSRF-TOKEN',
7720
+
7721
+ maxContentLength: -1,
7722
+
7723
+ validateStatus: function validateStatus(status) {
7724
+ return status >= 200 && status < 300;
7725
+ }
7726
+ };
7727
+
7728
+ defaults.headers = {
7729
+ common: {
7730
+ 'Accept': 'application/json, text/plain, */*'
7731
+ }
7732
+ };
7733
+
7734
+ utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
7735
+ defaults.headers[method] = {};
7736
+ });
7737
+
7738
+ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
7739
+ defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
7740
+ });
7741
+
7742
+ module.exports = defaults;
7743
+
7744
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(67)))
7745
+
7746
+ /***/ }),
7747
+ /* 67 */
7748
+ /***/ (function(module, exports) {
7749
+
7750
+ // shim for using process in browser
7751
+ var process = module.exports = {};
7752
+
7753
+ // cached from whatever global is present so that test runners that stub it
7754
+ // don't break things. But we need to wrap it in a try catch in case it is
7755
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
7756
+ // function because try/catches deoptimize in certain engines.
7757
+
7758
+ var cachedSetTimeout;
7759
+ var cachedClearTimeout;
7760
+
7761
+ function defaultSetTimout() {
7762
+ throw new Error('setTimeout has not been defined');
7763
+ }
7764
+ function defaultClearTimeout () {
7765
+ throw new Error('clearTimeout has not been defined');
7766
+ }
7767
+ (function () {
7768
+ try {
7769
+ if (typeof setTimeout === 'function') {
7770
+ cachedSetTimeout = setTimeout;
7771
+ } else {
7772
+ cachedSetTimeout = defaultSetTimout;
7773
+ }
7774
+ } catch (e) {
7775
+ cachedSetTimeout = defaultSetTimout;
7776
+ }
7777
+ try {
7778
+ if (typeof clearTimeout === 'function') {
7779
+ cachedClearTimeout = clearTimeout;
7780
+ } else {
7781
+ cachedClearTimeout = defaultClearTimeout;
7782
+ }
7783
+ } catch (e) {
7784
+ cachedClearTimeout = defaultClearTimeout;
7785
+ }
7786
+ } ())
7787
+ function runTimeout(fun) {
7788
+ if (cachedSetTimeout === setTimeout) {
7789
+ //normal enviroments in sane situations
7790
+ return setTimeout(fun, 0);
7791
+ }
7792
+ // if setTimeout wasn't available but was latter defined
7793
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
7794
+ cachedSetTimeout = setTimeout;
7795
+ return setTimeout(fun, 0);
7796
+ }
7797
+ try {
7798
+ // when when somebody has screwed with setTimeout but no I.E. maddness
7799
+ return cachedSetTimeout(fun, 0);
7800
+ } catch(e){
7801
+ try {
7802
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
7803
+ return cachedSetTimeout.call(null, fun, 0);
7804
+ } catch(e){
7805
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
7806
+ return cachedSetTimeout.call(this, fun, 0);
7807
+ }
7808
+ }
7809
+
7810
+
7811
+ }
7812
+ function runClearTimeout(marker) {
7813
+ if (cachedClearTimeout === clearTimeout) {
7814
+ //normal enviroments in sane situations
7815
+ return clearTimeout(marker);
7816
+ }
7817
+ // if clearTimeout wasn't available but was latter defined
7818
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
7819
+ cachedClearTimeout = clearTimeout;
7820
+ return clearTimeout(marker);
7821
+ }
7822
+ try {
7823
+ // when when somebody has screwed with setTimeout but no I.E. maddness
7824
+ return cachedClearTimeout(marker);
7825
+ } catch (e){
7826
+ try {
7827
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
7828
+ return cachedClearTimeout.call(null, marker);
7829
+ } catch (e){
7830
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
7831
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
7832
+ return cachedClearTimeout.call(this, marker);
7833
+ }
7834
+ }
7835
+
7836
+
7837
+
7838
+ }
7839
+ var queue = [];
7840
+ var draining = false;
7841
+ var currentQueue;
7842
+ var queueIndex = -1;
7843
+
7844
+ function cleanUpNextTick() {
7845
+ if (!draining || !currentQueue) {
7846
+ return;
7847
+ }
7848
+ draining = false;
7849
+ if (currentQueue.length) {
7850
+ queue = currentQueue.concat(queue);
7851
+ } else {
7852
+ queueIndex = -1;
7853
+ }
7854
+ if (queue.length) {
7855
+ drainQueue();
7856
+ }
7857
+ }
7858
+
7859
+ function drainQueue() {
7860
+ if (draining) {
7861
+ return;
7862
+ }
7863
+ var timeout = runTimeout(cleanUpNextTick);
7864
+ draining = true;
7865
+
7866
+ var len = queue.length;
7867
+ while(len) {
7868
+ currentQueue = queue;
7869
+ queue = [];
7870
+ while (++queueIndex < len) {
7871
+ if (currentQueue) {
7872
+ currentQueue[queueIndex].run();
7873
+ }
7874
+ }
7875
+ queueIndex = -1;
7876
+ len = queue.length;
7877
+ }
7878
+ currentQueue = null;
7879
+ draining = false;
7880
+ runClearTimeout(timeout);
7881
+ }
7882
+
7883
+ process.nextTick = function (fun) {
7884
+ var args = new Array(arguments.length - 1);
7885
+ if (arguments.length > 1) {
7886
+ for (var i = 1; i < arguments.length; i++) {
7887
+ args[i - 1] = arguments[i];
7888
+ }
7889
+ }
7890
+ queue.push(new Item(fun, args));
7891
+ if (queue.length === 1 && !draining) {
7892
+ runTimeout(drainQueue);
7893
+ }
7894
+ };
7895
+
7896
+ // v8 likes predictible objects
7897
+ function Item(fun, array) {
7898
+ this.fun = fun;
7899
+ this.array = array;
7900
+ }
7901
+ Item.prototype.run = function () {
7902
+ this.fun.apply(null, this.array);
7903
+ };
7904
+ process.title = 'browser';
7905
+ process.browser = true;
7906
+ process.env = {};
7907
+ process.argv = [];
7908
+ process.version = ''; // empty string to avoid regexp issues
7909
+ process.versions = {};
7910
+
7911
+ function noop() {}
7912
+
7913
+ process.on = noop;
7914
+ process.addListener = noop;
7915
+ process.once = noop;
7916
+ process.off = noop;
7917
+ process.removeListener = noop;
7918
+ process.removeAllListeners = noop;
7919
+ process.emit = noop;
7920
+ process.prependListener = noop;
7921
+ process.prependOnceListener = noop;
7922
+
7923
+ process.listeners = function (name) { return [] }
7924
+
7925
+ process.binding = function (name) {
7926
+ throw new Error('process.binding is not supported');
7927
+ };
7928
+
7929
+ process.cwd = function () { return '/' };
7930
+ process.chdir = function (dir) {
7931
+ throw new Error('process.chdir is not supported');
7932
+ };
7933
+ process.umask = function() { return 0; };
7934
+
7935
+
7936
+ /***/ }),
7937
+ /* 68 */
7938
+ /***/ (function(module, exports, __webpack_require__) {
7939
+
7940
+ "use strict";
7941
+
7942
+
7943
+ var utils = __webpack_require__(1);
7944
+ var settle = __webpack_require__(265);
7945
+ var buildURL = __webpack_require__(64);
7946
+ var buildFullPath = __webpack_require__(267);
7947
+ var parseHeaders = __webpack_require__(270);
7948
+ var isURLSameOrigin = __webpack_require__(271);
7949
+ var createError = __webpack_require__(69);
7950
+
7951
+ module.exports = function xhrAdapter(config) {
7952
+ return new Promise(function dispatchXhrRequest(resolve, reject) {
7953
+ var requestData = config.data;
7954
+ var requestHeaders = config.headers;
7955
+
7956
+ if (utils.isFormData(requestData)) {
7957
+ delete requestHeaders['Content-Type']; // Let the browser set it
7958
+ }
7959
+
7960
+ var request = new XMLHttpRequest();
7961
+
7962
+ // HTTP basic authentication
7963
+ if (config.auth) {
7964
+ var username = config.auth.username || '';
7965
+ var password = config.auth.password || '';
7966
+ requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
7967
+ }
7968
+
7969
+ var fullPath = buildFullPath(config.baseURL, config.url);
7970
+ request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
7971
+
7972
+ // Set the request timeout in MS
7973
+ request.timeout = config.timeout;
7974
+
7975
+ // Listen for ready state
7976
+ request.onreadystatechange = function handleLoad() {
7977
+ if (!request || request.readyState !== 4) {
7978
+ return;
7979
+ }
7980
+
7981
+ // The request errored out and we didn't get a response, this will be
7982
+ // handled by onerror instead
7983
+ // With one exception: request that using file: protocol, most browsers
7984
+ // will return status as 0 even though it's a successful request
7985
+ if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
7986
+ return;
7987
+ }
7988
+
7989
+ // Prepare the response
7990
+ var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
7991
+ var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
7992
+ var response = {
7993
+ data: responseData,
7994
+ status: request.status,
7995
+ statusText: request.statusText,
7996
+ headers: responseHeaders,
7997
+ config: config,
7998
+ request: request
7999
+ };
8000
+
8001
+ settle(resolve, reject, response);
8002
+
8003
+ // Clean up request
8004
+ request = null;
8005
+ };
8006
+
8007
+ // Handle browser request cancellation (as opposed to a manual cancellation)
8008
+ request.onabort = function handleAbort() {
8009
+ if (!request) {
8010
+ return;
8011
+ }
8012
+
8013
+ reject(createError('Request aborted', config, 'ECONNABORTED', request));
8014
+
8015
+ // Clean up request
8016
+ request = null;
8017
+ };
8018
+
8019
+ // Handle low level network errors
8020
+ request.onerror = function handleError() {
8021
+ // Real errors are hidden from us by the browser
8022
+ // onerror should only fire if it's a network error
8023
+ reject(createError('Network Error', config, null, request));
8024
+
8025
+ // Clean up request
8026
+ request = null;
8027
+ };
8028
+
8029
+ // Handle timeout
8030
+ request.ontimeout = function handleTimeout() {
8031
+ var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
8032
+ if (config.timeoutErrorMessage) {
8033
+ timeoutErrorMessage = config.timeoutErrorMessage;
8034
+ }
8035
+ reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',
8036
+ request));
8037
+
8038
+ // Clean up request
8039
+ request = null;
8040
+ };
8041
+
8042
+ // Add xsrf header
8043
+ // This is only done if running in a standard browser environment.
8044
+ // Specifically not if we're in a web worker, or react-native.
8045
+ if (utils.isStandardBrowserEnv()) {
8046
+ var cookies = __webpack_require__(272);
8047
+
8048
+ // Add xsrf header
8049
+ var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?
8050
+ cookies.read(config.xsrfCookieName) :
8051
+ undefined;
8052
+
8053
+ if (xsrfValue) {
8054
+ requestHeaders[config.xsrfHeaderName] = xsrfValue;
8055
+ }
8056
+ }
8057
+
8058
+ // Add headers to the request
8059
+ if ('setRequestHeader' in request) {
8060
+ utils.forEach(requestHeaders, function setRequestHeader(val, key) {
8061
+ if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
8062
+ // Remove Content-Type if data is undefined
8063
+ delete requestHeaders[key];
8064
+ } else {
8065
+ // Otherwise add header to the request
8066
+ request.setRequestHeader(key, val);
8067
+ }
8068
+ });
8069
+ }
8070
+
8071
+ // Add withCredentials to request if needed
8072
+ if (!utils.isUndefined(config.withCredentials)) {
8073
+ request.withCredentials = !!config.withCredentials;
8074
+ }
8075
+
8076
+ // Add responseType to request if needed
8077
+ if (config.responseType) {
8078
+ try {
8079
+ request.responseType = config.responseType;
8080
+ } catch (e) {
8081
+ // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
8082
+ // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
8083
+ if (config.responseType !== 'json') {
8084
+ throw e;
8085
+ }
8086
+ }
8087
+ }
8088
+
8089
+ // Handle progress if needed
8090
+ if (typeof config.onDownloadProgress === 'function') {
8091
+ request.addEventListener('progress', config.onDownloadProgress);
8092
+ }
8093
+
8094
+ // Not all browsers support upload events
8095
+ if (typeof config.onUploadProgress === 'function' && request.upload) {
8096
+ request.upload.addEventListener('progress', config.onUploadProgress);
8097
+ }
8098
+
8099
+ if (config.cancelToken) {
8100
+ // Handle cancellation
8101
+ config.cancelToken.promise.then(function onCanceled(cancel) {
8102
+ if (!request) {
8103
+ return;
8104
+ }
8105
+
8106
+ request.abort();
8107
+ reject(cancel);
8108
+ // Clean up request
8109
+ request = null;
8110
+ });
8111
+ }
8112
+
8113
+ if (requestData === undefined) {
8114
+ requestData = null;
8115
+ }
8116
+
8117
+ // Send the request
8118
+ request.send(requestData);
8119
+ });
8120
+ };
8121
+
8122
+
8123
+ /***/ }),
8124
+ /* 69 */
8125
+ /***/ (function(module, exports, __webpack_require__) {
8126
+
8127
+ "use strict";
8128
+
8129
+
8130
+ var enhanceError = __webpack_require__(266);
8131
+
8132
+ /**
8133
+ * Create an Error with the specified message, config, error code, request and response.
8134
+ *
8135
+ * @param {string} message The error message.
8136
+ * @param {Object} config The config.
8137
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
8138
+ * @param {Object} [request] The request.
8139
+ * @param {Object} [response] The response.
8140
+ * @returns {Error} The created error.
8141
+ */
8142
+ module.exports = function createError(message, config, code, request, response) {
8143
+ var error = new Error(message);
8144
+ return enhanceError(error, config, code, request, response);
8145
+ };
8146
+
8147
+
8148
+ /***/ }),
8149
+ /* 70 */
8150
+ /***/ (function(module, exports, __webpack_require__) {
8151
+
8152
+ "use strict";
8153
+
8154
+
8155
+ var utils = __webpack_require__(1);
8156
+
8157
+ /**
8158
+ * Config-specific merge-function which creates a new config-object
8159
+ * by merging two configuration objects together.
8160
+ *
8161
+ * @param {Object} config1
8162
+ * @param {Object} config2
8163
+ * @returns {Object} New object resulting from merging config2 to config1
8164
+ */
8165
+ module.exports = function mergeConfig(config1, config2) {
8166
+ // eslint-disable-next-line no-param-reassign
8167
+ config2 = config2 || {};
8168
+ var config = {};
8169
+
8170
+ var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
8171
+ var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
8172
+ var defaultToConfig2Keys = [
8173
+ 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',
8174
+ 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',
8175
+ 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',
8176
+ 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',
8177
+ 'httpsAgent', 'cancelToken', 'socketPath'
8178
+ ];
8179
+
8180
+ utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
8181
+ if (typeof config2[prop] !== 'undefined') {
8182
+ config[prop] = config2[prop];
8183
+ }
8184
+ });
8185
+
8186
+ utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
8187
+ if (utils.isObject(config2[prop])) {
8188
+ config[prop] = utils.deepMerge(config1[prop], config2[prop]);
8189
+ } else if (typeof config2[prop] !== 'undefined') {
8190
+ config[prop] = config2[prop];
8191
+ } else if (utils.isObject(config1[prop])) {
8192
+ config[prop] = utils.deepMerge(config1[prop]);
8193
+ } else if (typeof config1[prop] !== 'undefined') {
8194
+ config[prop] = config1[prop];
8195
+ }
8196
+ });
8197
+
8198
+ utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
8199
+ if (typeof config2[prop] !== 'undefined') {
8200
+ config[prop] = config2[prop];
8201
+ } else if (typeof config1[prop] !== 'undefined') {
8202
+ config[prop] = config1[prop];
8203
+ }
8204
+ });
8205
+
8206
+ var axiosKeys = valueFromConfig2Keys
8207
+ .concat(mergeDeepPropertiesKeys)
8208
+ .concat(defaultToConfig2Keys);
8209
+
8210
+ var otherKeys = Object
8211
+ .keys(config2)
8212
+ .filter(function filterAxiosKeys(key) {
8213
+ return axiosKeys.indexOf(key) === -1;
8214
+ });
8215
+
8216
+ utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
8217
+ if (typeof config2[prop] !== 'undefined') {
8218
+ config[prop] = config2[prop];
8219
+ } else if (typeof config1[prop] !== 'undefined') {
8220
+ config[prop] = config1[prop];
8221
+ }
8222
+ });
8223
+
8224
+ return config;
8225
+ };
8226
+
8227
+
8228
+ /***/ }),
8229
+ /* 71 */
8230
+ /***/ (function(module, exports, __webpack_require__) {
8231
+
8232
+ "use strict";
8233
+
8234
+
8235
+ /**
8236
+ * A `Cancel` is an object that is thrown when an operation is canceled.
8237
+ *
8238
+ * @class
8239
+ * @param {string=} message The message.
8240
+ */
8241
+ function Cancel(message) {
8242
+ this.message = message;
8243
+ }
8244
+
8245
+ Cancel.prototype.toString = function toString() {
8246
+ return 'Cancel' + (this.message ? ': ' + this.message : '');
8247
+ };
8248
+
8249
+ Cancel.prototype.__CANCEL__ = true;
8250
+
8251
+ module.exports = Cancel;
8252
+
8253
+
8254
+ /***/ }),
8255
+ /* 72 */
8256
+ /***/ (function(module, exports, __webpack_require__) {
8257
+
8258
+ //! moment.js locale configuration
8259
+ //! locale : Afrikaans [af]
8260
+ //! author : Werner Mollentze : https://github.com/wernerm
8261
+
8262
+ ;(function (global, factory) {
8263
+ true ? factory(__webpack_require__(0)) :
8264
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8265
+ factory(global.moment)
8266
+ }(this, (function (moment) { 'use strict';
8267
+
8268
+ //! moment.js locale configuration
8269
+
8270
+ var af = moment.defineLocale('af', {
8271
+ months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(
8272
+ '_'
8273
+ ),
8274
+ monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
8275
+ weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(
8276
+ '_'
8277
+ ),
8278
+ weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
8279
+ weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
8280
+ meridiemParse: /vm|nm/i,
8281
+ isPM: function (input) {
8282
+ return /^nm$/i.test(input);
8283
+ },
8284
+ meridiem: function (hours, minutes, isLower) {
8285
+ if (hours < 12) {
8286
+ return isLower ? 'vm' : 'VM';
8287
+ } else {
8288
+ return isLower ? 'nm' : 'NM';
8289
+ }
8290
+ },
8291
+ longDateFormat: {
8292
+ LT: 'HH:mm',
8293
+ LTS: 'HH:mm:ss',
8294
+ L: 'DD/MM/YYYY',
8295
+ LL: 'D MMMM YYYY',
8296
+ LLL: 'D MMMM YYYY HH:mm',
8297
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
8298
+ },
8299
+ calendar: {
8300
+ sameDay: '[Vandag om] LT',
8301
+ nextDay: '[Môre om] LT',
8302
+ nextWeek: 'dddd [om] LT',
8303
+ lastDay: '[Gister om] LT',
8304
+ lastWeek: '[Laas] dddd [om] LT',
8305
+ sameElse: 'L',
8306
+ },
8307
+ relativeTime: {
8308
+ future: 'oor %s',
8309
+ past: '%s gelede',
8310
+ s: "'n paar sekondes",
8311
+ ss: '%d sekondes',
8312
+ m: "'n minuut",
8313
+ mm: '%d minute',
8314
+ h: "'n uur",
8315
+ hh: '%d ure',
8316
+ d: "'n dag",
8317
+ dd: '%d dae',
8318
+ M: "'n maand",
8319
+ MM: '%d maande',
8320
+ y: "'n jaar",
8321
+ yy: '%d jaar',
8322
+ },
8323
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
8324
+ ordinal: function (number) {
8325
+ return (
8326
+ number +
8327
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
8328
+ ); // Thanks to Joris Röling : https://github.com/jjupiter
8329
+ },
8330
+ week: {
8331
+ dow: 1, // Maandag is die eerste dag van die week.
8332
+ doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
8333
+ },
8334
+ });
8335
+
8336
+ return af;
8337
+
8338
+ })));
8339
+
8340
+
8341
+ /***/ }),
8342
+ /* 73 */
8343
+ /***/ (function(module, exports, __webpack_require__) {
8344
+
8345
+ //! moment.js locale configuration
8346
+ //! locale : Arabic [ar]
8347
+ //! author : Abdel Said: https://github.com/abdelsaid
8348
+ //! author : Ahmed Elkhatib
8349
+ //! author : forabi https://github.com/forabi
8350
+
8351
+ ;(function (global, factory) {
8352
+ true ? factory(__webpack_require__(0)) :
8353
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8354
+ factory(global.moment)
8355
+ }(this, (function (moment) { 'use strict';
8356
+
8357
+ //! moment.js locale configuration
8358
+
8359
+ var symbolMap = {
8360
+ '1': '١',
8361
+ '2': '٢',
8362
+ '3': '٣',
8363
+ '4': '٤',
8364
+ '5': '٥',
8365
+ '6': '٦',
8366
+ '7': '٧',
8367
+ '8': '٨',
8368
+ '9': '٩',
8369
+ '0': '٠',
8370
+ },
8371
+ numberMap = {
8372
+ '١': '1',
8373
+ '٢': '2',
8374
+ '٣': '3',
8375
+ '٤': '4',
8376
+ '٥': '5',
8377
+ '٦': '6',
8378
+ '٧': '7',
8379
+ '٨': '8',
8380
+ '٩': '9',
8381
+ '٠': '0',
8382
+ },
8383
+ pluralForm = function (n) {
8384
+ return n === 0
8385
+ ? 0
8386
+ : n === 1
8387
+ ? 1
8388
+ : n === 2
8389
+ ? 2
8390
+ : n % 100 >= 3 && n % 100 <= 10
8391
+ ? 3
8392
+ : n % 100 >= 11
8393
+ ? 4
8394
+ : 5;
8395
+ },
8396
+ plurals = {
8397
+ s: [
8398
+ 'أقل من ثانية',
8399
+ 'ثانية واحدة',
8400
+ ['ثانيتان', 'ثانيتين'],
8401
+ '%d ثوان',
8402
+ '%d ثانية',
8403
+ '%d ثانية',
8404
+ ],
8405
+ m: [
8406
+ 'أقل من دقيقة',
8407
+ 'دقيقة واحدة',
8408
+ ['دقيقتان', 'دقيقتين'],
8409
+ '%d دقائق',
8410
+ '%d دقيقة',
8411
+ '%d دقيقة',
8412
+ ],
8413
+ h: [
8414
+ 'أقل من ساعة',
8415
+ 'ساعة واحدة',
8416
+ ['ساعتان', 'ساعتين'],
8417
+ '%d ساعات',
8418
+ '%d ساعة',
8419
+ '%d ساعة',
8420
+ ],
8421
+ d: [
8422
+ 'أقل من يوم',
8423
+ 'يوم واحد',
8424
+ ['يومان', 'يومين'],
8425
+ '%d أيام',
8426
+ '%d يومًا',
8427
+ '%d يوم',
8428
+ ],
8429
+ M: [
8430
+ 'أقل من شهر',
8431
+ 'شهر واحد',
8432
+ ['شهران', 'شهرين'],
8433
+ '%d أشهر',
8434
+ '%d شهرا',
8435
+ '%d شهر',
8436
+ ],
8437
+ y: [
8438
+ 'أقل من عام',
8439
+ 'عام واحد',
8440
+ ['عامان', 'عامين'],
8441
+ '%d أعوام',
8442
+ '%d عامًا',
8443
+ '%d عام',
8444
+ ],
8445
+ },
8446
+ pluralize = function (u) {
8447
+ return function (number, withoutSuffix, string, isFuture) {
8448
+ var f = pluralForm(number),
8449
+ str = plurals[u][pluralForm(number)];
8450
+ if (f === 2) {
8451
+ str = str[withoutSuffix ? 0 : 1];
8452
+ }
8453
+ return str.replace(/%d/i, number);
8454
+ };
8455
+ },
8456
+ months = [
8457
+ 'يناير',
8458
+ 'فبراير',
8459
+ 'مارس',
8460
+ 'أبريل',
8461
+ 'مايو',
8462
+ 'يونيو',
8463
+ 'يوليو',
8464
+ 'أغسطس',
8465
+ 'سبتمبر',
8466
+ 'أكتوبر',
8467
+ 'نوفمبر',
8468
+ 'ديسمبر',
8469
+ ];
8470
+
8471
+ var ar = moment.defineLocale('ar', {
8472
+ months: months,
8473
+ monthsShort: months,
8474
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
8475
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
8476
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
8477
+ weekdaysParseExact: true,
8478
+ longDateFormat: {
8479
+ LT: 'HH:mm',
8480
+ LTS: 'HH:mm:ss',
8481
+ L: 'D/\u200FM/\u200FYYYY',
8482
+ LL: 'D MMMM YYYY',
8483
+ LLL: 'D MMMM YYYY HH:mm',
8484
+ LLLL: 'dddd D MMMM YYYY HH:mm',
8485
+ },
8486
+ meridiemParse: /ص|م/,
8487
+ isPM: function (input) {
8488
+ return 'م' === input;
8489
+ },
8490
+ meridiem: function (hour, minute, isLower) {
8491
+ if (hour < 12) {
8492
+ return 'ص';
8493
+ } else {
8494
+ return 'م';
8495
+ }
8496
+ },
8497
+ calendar: {
8498
+ sameDay: '[اليوم عند الساعة] LT',
8499
+ nextDay: '[غدًا عند الساعة] LT',
8500
+ nextWeek: 'dddd [عند الساعة] LT',
8501
+ lastDay: '[أمس عند الساعة] LT',
8502
+ lastWeek: 'dddd [عند الساعة] LT',
8503
+ sameElse: 'L',
8504
+ },
8505
+ relativeTime: {
8506
+ future: 'بعد %s',
8507
+ past: 'منذ %s',
8508
+ s: pluralize('s'),
8509
+ ss: pluralize('s'),
8510
+ m: pluralize('m'),
8511
+ mm: pluralize('m'),
8512
+ h: pluralize('h'),
8513
+ hh: pluralize('h'),
8514
+ d: pluralize('d'),
8515
+ dd: pluralize('d'),
8516
+ M: pluralize('M'),
8517
+ MM: pluralize('M'),
8518
+ y: pluralize('y'),
8519
+ yy: pluralize('y'),
8520
+ },
8521
+ preparse: function (string) {
8522
+ return string
8523
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
8524
+ return numberMap[match];
8525
+ })
8526
+ .replace(/،/g, ',');
8527
+ },
8528
+ postformat: function (string) {
8529
+ return string
8530
+ .replace(/\d/g, function (match) {
8531
+ return symbolMap[match];
8532
+ })
8533
+ .replace(/,/g, '،');
8534
+ },
8535
+ week: {
8536
+ dow: 6, // Saturday is the first day of the week.
8537
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
8538
+ },
8539
+ });
8540
+
8541
+ return ar;
8542
+
8543
+ })));
8544
+
8545
+
8546
+ /***/ }),
8547
+ /* 74 */
8548
+ /***/ (function(module, exports, __webpack_require__) {
8549
+
8550
+ //! moment.js locale configuration
8551
+ //! locale : Arabic (Algeria) [ar-dz]
8552
+ //! author : Amine Roukh: https://github.com/Amine27
8553
+ //! author : Abdel Said: https://github.com/abdelsaid
8554
+ //! author : Ahmed Elkhatib
8555
+ //! author : forabi https://github.com/forabi
8556
+ //! author : Noureddine LOUAHEDJ : https://github.com/noureddinem
8557
+
8558
+ ;(function (global, factory) {
8559
+ true ? factory(__webpack_require__(0)) :
8560
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8561
+ factory(global.moment)
8562
+ }(this, (function (moment) { 'use strict';
8563
+
8564
+ //! moment.js locale configuration
8565
+
8566
+ var pluralForm = function (n) {
8567
+ return n === 0
8568
+ ? 0
8569
+ : n === 1
8570
+ ? 1
8571
+ : n === 2
8572
+ ? 2
8573
+ : n % 100 >= 3 && n % 100 <= 10
8574
+ ? 3
8575
+ : n % 100 >= 11
8576
+ ? 4
8577
+ : 5;
8578
+ },
8579
+ plurals = {
8580
+ s: [
8581
+ 'أقل من ثانية',
8582
+ 'ثانية واحدة',
8583
+ ['ثانيتان', 'ثانيتين'],
8584
+ '%d ثوان',
8585
+ '%d ثانية',
8586
+ '%d ثانية',
8587
+ ],
8588
+ m: [
8589
+ 'أقل من دقيقة',
8590
+ 'دقيقة واحدة',
8591
+ ['دقيقتان', 'دقيقتين'],
8592
+ '%d دقائق',
8593
+ '%d دقيقة',
8594
+ '%d دقيقة',
8595
+ ],
8596
+ h: [
8597
+ 'أقل من ساعة',
8598
+ 'ساعة واحدة',
8599
+ ['ساعتان', 'ساعتين'],
8600
+ '%d ساعات',
8601
+ '%d ساعة',
8602
+ '%d ساعة',
8603
+ ],
8604
+ d: [
8605
+ 'أقل من يوم',
8606
+ 'يوم واحد',
8607
+ ['يومان', 'يومين'],
8608
+ '%d أيام',
8609
+ '%d يومًا',
8610
+ '%d يوم',
8611
+ ],
8612
+ M: [
8613
+ 'أقل من شهر',
8614
+ 'شهر واحد',
8615
+ ['شهران', 'شهرين'],
8616
+ '%d أشهر',
8617
+ '%d شهرا',
8618
+ '%d شهر',
8619
+ ],
8620
+ y: [
8621
+ 'أقل من عام',
8622
+ 'عام واحد',
8623
+ ['عامان', 'عامين'],
8624
+ '%d أعوام',
8625
+ '%d عامًا',
8626
+ '%d عام',
8627
+ ],
8628
+ },
8629
+ pluralize = function (u) {
8630
+ return function (number, withoutSuffix, string, isFuture) {
8631
+ var f = pluralForm(number),
8632
+ str = plurals[u][pluralForm(number)];
8633
+ if (f === 2) {
8634
+ str = str[withoutSuffix ? 0 : 1];
8635
+ }
8636
+ return str.replace(/%d/i, number);
8637
+ };
8638
+ },
8639
+ months = [
8640
+ 'جانفي',
8641
+ 'فيفري',
8642
+ 'مارس',
8643
+ 'أفريل',
8644
+ 'ماي',
8645
+ 'جوان',
8646
+ 'جويلية',
8647
+ 'أوت',
8648
+ 'سبتمبر',
8649
+ 'أكتوبر',
8650
+ 'نوفمبر',
8651
+ 'ديسمبر',
8652
+ ];
8653
+
8654
+ var arDz = moment.defineLocale('ar-dz', {
8655
+ months: months,
8656
+ monthsShort: months,
8657
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
8658
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
8659
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
8660
+ weekdaysParseExact: true,
8661
+ longDateFormat: {
8662
+ LT: 'HH:mm',
8663
+ LTS: 'HH:mm:ss',
8664
+ L: 'D/\u200FM/\u200FYYYY',
8665
+ LL: 'D MMMM YYYY',
8666
+ LLL: 'D MMMM YYYY HH:mm',
8667
+ LLLL: 'dddd D MMMM YYYY HH:mm',
8668
+ },
8669
+ meridiemParse: /ص|م/,
8670
+ isPM: function (input) {
8671
+ return 'م' === input;
8672
+ },
8673
+ meridiem: function (hour, minute, isLower) {
8674
+ if (hour < 12) {
8675
+ return 'ص';
8676
+ } else {
8677
+ return 'م';
8678
+ }
8679
+ },
8680
+ calendar: {
8681
+ sameDay: '[اليوم عند الساعة] LT',
8682
+ nextDay: '[غدًا عند الساعة] LT',
8683
+ nextWeek: 'dddd [عند الساعة] LT',
8684
+ lastDay: '[أمس عند الساعة] LT',
8685
+ lastWeek: 'dddd [عند الساعة] LT',
8686
+ sameElse: 'L',
8687
+ },
8688
+ relativeTime: {
8689
+ future: 'بعد %s',
8690
+ past: 'منذ %s',
8691
+ s: pluralize('s'),
8692
+ ss: pluralize('s'),
8693
+ m: pluralize('m'),
8694
+ mm: pluralize('m'),
8695
+ h: pluralize('h'),
8696
+ hh: pluralize('h'),
8697
+ d: pluralize('d'),
8698
+ dd: pluralize('d'),
8699
+ M: pluralize('M'),
8700
+ MM: pluralize('M'),
8701
+ y: pluralize('y'),
8702
+ yy: pluralize('y'),
8703
+ },
8704
+ postformat: function (string) {
8705
+ return string.replace(/,/g, '،');
8706
+ },
8707
+ week: {
8708
+ dow: 0, // Sunday is the first day of the week.
8709
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
8710
+ },
8711
+ });
8712
+
8713
+ return arDz;
8714
+
8715
+ })));
8716
+
8717
+
8718
+ /***/ }),
8719
+ /* 75 */
8720
+ /***/ (function(module, exports, __webpack_require__) {
8721
+
8722
+ //! moment.js locale configuration
8723
+ //! locale : Arabic (Kuwait) [ar-kw]
8724
+ //! author : Nusret Parlak: https://github.com/nusretparlak
8725
+
8726
+ ;(function (global, factory) {
8727
+ true ? factory(__webpack_require__(0)) :
8728
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8729
+ factory(global.moment)
8730
+ }(this, (function (moment) { 'use strict';
8731
+
8732
+ //! moment.js locale configuration
8733
+
8734
+ var arKw = moment.defineLocale('ar-kw', {
8735
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
8736
+ '_'
8737
+ ),
8738
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
8739
+ '_'
8740
+ ),
8741
+ weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
8742
+ weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
8743
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
8744
+ weekdaysParseExact: true,
8745
+ longDateFormat: {
8746
+ LT: 'HH:mm',
8747
+ LTS: 'HH:mm:ss',
8748
+ L: 'DD/MM/YYYY',
8749
+ LL: 'D MMMM YYYY',
8750
+ LLL: 'D MMMM YYYY HH:mm',
8751
+ LLLL: 'dddd D MMMM YYYY HH:mm',
8752
+ },
8753
+ calendar: {
8754
+ sameDay: '[اليوم على الساعة] LT',
8755
+ nextDay: '[غدا على الساعة] LT',
8756
+ nextWeek: 'dddd [على الساعة] LT',
8757
+ lastDay: '[أمس على الساعة] LT',
8758
+ lastWeek: 'dddd [على الساعة] LT',
8759
+ sameElse: 'L',
8760
+ },
8761
+ relativeTime: {
8762
+ future: 'في %s',
8763
+ past: 'منذ %s',
8764
+ s: 'ثوان',
8765
+ ss: '%d ثانية',
8766
+ m: 'دقيقة',
8767
+ mm: '%d دقائق',
8768
+ h: 'ساعة',
8769
+ hh: '%d ساعات',
8770
+ d: 'يوم',
8771
+ dd: '%d أيام',
8772
+ M: 'شهر',
8773
+ MM: '%d أشهر',
8774
+ y: 'سنة',
8775
+ yy: '%d سنوات',
8776
+ },
8777
+ week: {
8778
+ dow: 0, // Sunday is the first day of the week.
8779
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
8780
+ },
8781
+ });
8782
+
8783
+ return arKw;
8784
+
8785
+ })));
8786
+
8787
+
8788
+ /***/ }),
8789
+ /* 76 */
8790
+ /***/ (function(module, exports, __webpack_require__) {
8791
+
8792
+ //! moment.js locale configuration
8793
+ //! locale : Arabic (Lybia) [ar-ly]
8794
+ //! author : Ali Hmer: https://github.com/kikoanis
8795
+
8796
+ ;(function (global, factory) {
8797
+ true ? factory(__webpack_require__(0)) :
8798
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8799
+ factory(global.moment)
8800
+ }(this, (function (moment) { 'use strict';
8801
+
8802
+ //! moment.js locale configuration
8803
+
8804
+ var symbolMap = {
8805
+ '1': '1',
8806
+ '2': '2',
8807
+ '3': '3',
8808
+ '4': '4',
8809
+ '5': '5',
8810
+ '6': '6',
8811
+ '7': '7',
8812
+ '8': '8',
8813
+ '9': '9',
8814
+ '0': '0',
8815
+ },
8816
+ pluralForm = function (n) {
8817
+ return n === 0
8818
+ ? 0
8819
+ : n === 1
8820
+ ? 1
8821
+ : n === 2
8822
+ ? 2
8823
+ : n % 100 >= 3 && n % 100 <= 10
8824
+ ? 3
8825
+ : n % 100 >= 11
8826
+ ? 4
8827
+ : 5;
8828
+ },
8829
+ plurals = {
8830
+ s: [
8831
+ 'أقل من ثانية',
8832
+ 'ثانية واحدة',
8833
+ ['ثانيتان', 'ثانيتين'],
8834
+ '%d ثوان',
8835
+ '%d ثانية',
8836
+ '%d ثانية',
8837
+ ],
8838
+ m: [
8839
+ 'أقل من دقيقة',
8840
+ 'دقيقة واحدة',
8841
+ ['دقيقتان', 'دقيقتين'],
8842
+ '%d دقائق',
8843
+ '%d دقيقة',
8844
+ '%d دقيقة',
8845
+ ],
8846
+ h: [
8847
+ 'أقل من ساعة',
8848
+ 'ساعة واحدة',
8849
+ ['ساعتان', 'ساعتين'],
8850
+ '%d ساعات',
8851
+ '%d ساعة',
8852
+ '%d ساعة',
8853
+ ],
8854
+ d: [
8855
+ 'أقل من يوم',
8856
+ 'يوم واحد',
8857
+ ['يومان', 'يومين'],
8858
+ '%d أيام',
8859
+ '%d يومًا',
8860
+ '%d يوم',
8861
+ ],
8862
+ M: [
8863
+ 'أقل من شهر',
8864
+ 'شهر واحد',
8865
+ ['شهران', 'شهرين'],
8866
+ '%d أشهر',
8867
+ '%d شهرا',
8868
+ '%d شهر',
8869
+ ],
8870
+ y: [
8871
+ 'أقل من عام',
8872
+ 'عام واحد',
8873
+ ['عامان', 'عامين'],
8874
+ '%d أعوام',
8875
+ '%d عامًا',
8876
+ '%d عام',
8877
+ ],
8878
+ },
8879
+ pluralize = function (u) {
8880
+ return function (number, withoutSuffix, string, isFuture) {
8881
+ var f = pluralForm(number),
8882
+ str = plurals[u][pluralForm(number)];
8883
+ if (f === 2) {
8884
+ str = str[withoutSuffix ? 0 : 1];
8885
+ }
8886
+ return str.replace(/%d/i, number);
8887
+ };
8888
+ },
8889
+ months = [
8890
+ 'يناير',
8891
+ 'فبراير',
8892
+ 'مارس',
8893
+ 'أبريل',
8894
+ 'مايو',
8895
+ 'يونيو',
8896
+ 'يوليو',
8897
+ 'أغسطس',
8898
+ 'سبتمبر',
8899
+ 'أكتوبر',
8900
+ 'نوفمبر',
8901
+ 'ديسمبر',
8902
+ ];
8903
+
8904
+ var arLy = moment.defineLocale('ar-ly', {
8905
+ months: months,
8906
+ monthsShort: months,
8907
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
8908
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
8909
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
8910
+ weekdaysParseExact: true,
8911
+ longDateFormat: {
8912
+ LT: 'HH:mm',
8913
+ LTS: 'HH:mm:ss',
8914
+ L: 'D/\u200FM/\u200FYYYY',
8915
+ LL: 'D MMMM YYYY',
8916
+ LLL: 'D MMMM YYYY HH:mm',
8917
+ LLLL: 'dddd D MMMM YYYY HH:mm',
8918
+ },
8919
+ meridiemParse: /ص|م/,
8920
+ isPM: function (input) {
8921
+ return 'م' === input;
8922
+ },
8923
+ meridiem: function (hour, minute, isLower) {
8924
+ if (hour < 12) {
8925
+ return 'ص';
8926
+ } else {
8927
+ return 'م';
8928
+ }
8929
+ },
8930
+ calendar: {
8931
+ sameDay: '[اليوم عند الساعة] LT',
8932
+ nextDay: '[غدًا عند الساعة] LT',
8933
+ nextWeek: 'dddd [عند الساعة] LT',
8934
+ lastDay: '[أمس عند الساعة] LT',
8935
+ lastWeek: 'dddd [عند الساعة] LT',
8936
+ sameElse: 'L',
8937
+ },
8938
+ relativeTime: {
8939
+ future: 'بعد %s',
8940
+ past: 'منذ %s',
8941
+ s: pluralize('s'),
8942
+ ss: pluralize('s'),
8943
+ m: pluralize('m'),
8944
+ mm: pluralize('m'),
8945
+ h: pluralize('h'),
8946
+ hh: pluralize('h'),
8947
+ d: pluralize('d'),
8948
+ dd: pluralize('d'),
8949
+ M: pluralize('M'),
8950
+ MM: pluralize('M'),
8951
+ y: pluralize('y'),
8952
+ yy: pluralize('y'),
8953
+ },
8954
+ preparse: function (string) {
8955
+ return string.replace(/،/g, ',');
8956
+ },
8957
+ postformat: function (string) {
8958
+ return string
8959
+ .replace(/\d/g, function (match) {
8960
+ return symbolMap[match];
8961
+ })
8962
+ .replace(/,/g, '،');
8963
+ },
8964
+ week: {
8965
+ dow: 6, // Saturday is the first day of the week.
8966
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
8967
+ },
8968
+ });
8969
+
8970
+ return arLy;
8971
+
8972
+ })));
8973
+
8974
+
8975
+ /***/ }),
8976
+ /* 77 */
8977
+ /***/ (function(module, exports, __webpack_require__) {
8978
+
8979
+ //! moment.js locale configuration
8980
+ //! locale : Arabic (Morocco) [ar-ma]
8981
+ //! author : ElFadili Yassine : https://github.com/ElFadiliY
8982
+ //! author : Abdel Said : https://github.com/abdelsaid
8983
+
8984
+ ;(function (global, factory) {
8985
+ true ? factory(__webpack_require__(0)) :
8986
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
8987
+ factory(global.moment)
8988
+ }(this, (function (moment) { 'use strict';
8989
+
8990
+ //! moment.js locale configuration
8991
+
8992
+ var arMa = moment.defineLocale('ar-ma', {
8993
+ months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
8994
+ '_'
8995
+ ),
8996
+ monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(
8997
+ '_'
8998
+ ),
8999
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
9000
+ weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
9001
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
9002
+ weekdaysParseExact: true,
9003
+ longDateFormat: {
9004
+ LT: 'HH:mm',
9005
+ LTS: 'HH:mm:ss',
9006
+ L: 'DD/MM/YYYY',
9007
+ LL: 'D MMMM YYYY',
9008
+ LLL: 'D MMMM YYYY HH:mm',
9009
+ LLLL: 'dddd D MMMM YYYY HH:mm',
9010
+ },
9011
+ calendar: {
9012
+ sameDay: '[اليوم على الساعة] LT',
9013
+ nextDay: '[غدا على الساعة] LT',
9014
+ nextWeek: 'dddd [على الساعة] LT',
9015
+ lastDay: '[أمس على الساعة] LT',
9016
+ lastWeek: 'dddd [على الساعة] LT',
9017
+ sameElse: 'L',
9018
+ },
9019
+ relativeTime: {
9020
+ future: 'في %s',
9021
+ past: 'منذ %s',
9022
+ s: 'ثوان',
9023
+ ss: '%d ثانية',
9024
+ m: 'دقيقة',
9025
+ mm: '%d دقائق',
9026
+ h: 'ساعة',
9027
+ hh: '%d ساعات',
9028
+ d: 'يوم',
9029
+ dd: '%d أيام',
9030
+ M: 'شهر',
9031
+ MM: '%d أشهر',
9032
+ y: 'سنة',
9033
+ yy: '%d سنوات',
9034
+ },
9035
+ week: {
9036
+ dow: 6, // Saturday is the first day of the week.
9037
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
9038
+ },
9039
+ });
9040
+
9041
+ return arMa;
9042
+
9043
+ })));
9044
+
9045
+
9046
+ /***/ }),
9047
+ /* 78 */
9048
+ /***/ (function(module, exports, __webpack_require__) {
9049
+
9050
+ //! moment.js locale configuration
9051
+ //! locale : Arabic (Saudi Arabia) [ar-sa]
9052
+ //! author : Suhail Alkowaileet : https://github.com/xsoh
9053
+
9054
+ ;(function (global, factory) {
9055
+ true ? factory(__webpack_require__(0)) :
9056
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9057
+ factory(global.moment)
9058
+ }(this, (function (moment) { 'use strict';
9059
+
9060
+ //! moment.js locale configuration
9061
+
9062
+ var symbolMap = {
9063
+ '1': '١',
9064
+ '2': '٢',
9065
+ '3': '٣',
9066
+ '4': '٤',
9067
+ '5': '٥',
9068
+ '6': '٦',
9069
+ '7': '٧',
9070
+ '8': '٨',
9071
+ '9': '٩',
9072
+ '0': '٠',
9073
+ },
9074
+ numberMap = {
9075
+ '١': '1',
9076
+ '٢': '2',
9077
+ '٣': '3',
9078
+ '٤': '4',
9079
+ '٥': '5',
9080
+ '٦': '6',
9081
+ '٧': '7',
9082
+ '٨': '8',
9083
+ '٩': '9',
9084
+ '٠': '0',
9085
+ };
9086
+
9087
+ var arSa = moment.defineLocale('ar-sa', {
9088
+ months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
9089
+ '_'
9090
+ ),
9091
+ monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
9092
+ '_'
9093
+ ),
9094
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
9095
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
9096
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
9097
+ weekdaysParseExact: true,
9098
+ longDateFormat: {
9099
+ LT: 'HH:mm',
9100
+ LTS: 'HH:mm:ss',
9101
+ L: 'DD/MM/YYYY',
9102
+ LL: 'D MMMM YYYY',
9103
+ LLL: 'D MMMM YYYY HH:mm',
9104
+ LLLL: 'dddd D MMMM YYYY HH:mm',
9105
+ },
9106
+ meridiemParse: /ص|م/,
9107
+ isPM: function (input) {
9108
+ return 'م' === input;
9109
+ },
9110
+ meridiem: function (hour, minute, isLower) {
9111
+ if (hour < 12) {
9112
+ return 'ص';
9113
+ } else {
9114
+ return 'م';
9115
+ }
9116
+ },
9117
+ calendar: {
9118
+ sameDay: '[اليوم على الساعة] LT',
9119
+ nextDay: '[غدا على الساعة] LT',
9120
+ nextWeek: 'dddd [على الساعة] LT',
9121
+ lastDay: '[أمس على الساعة] LT',
9122
+ lastWeek: 'dddd [على الساعة] LT',
9123
+ sameElse: 'L',
9124
+ },
9125
+ relativeTime: {
9126
+ future: 'في %s',
9127
+ past: 'منذ %s',
9128
+ s: 'ثوان',
9129
+ ss: '%d ثانية',
9130
+ m: 'دقيقة',
9131
+ mm: '%d دقائق',
9132
+ h: 'ساعة',
9133
+ hh: '%d ساعات',
9134
+ d: 'يوم',
9135
+ dd: '%d أيام',
9136
+ M: 'شهر',
9137
+ MM: '%d أشهر',
9138
+ y: 'سنة',
9139
+ yy: '%d سنوات',
9140
+ },
9141
+ preparse: function (string) {
9142
+ return string
9143
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
9144
+ return numberMap[match];
9145
+ })
9146
+ .replace(/،/g, ',');
9147
+ },
9148
+ postformat: function (string) {
9149
+ return string
9150
+ .replace(/\d/g, function (match) {
9151
+ return symbolMap[match];
9152
+ })
9153
+ .replace(/,/g, '،');
9154
+ },
9155
+ week: {
9156
+ dow: 0, // Sunday is the first day of the week.
9157
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
9158
+ },
9159
+ });
9160
+
9161
+ return arSa;
9162
+
9163
+ })));
9164
+
9165
+
9166
+ /***/ }),
9167
+ /* 79 */
9168
+ /***/ (function(module, exports, __webpack_require__) {
9169
+
9170
+ //! moment.js locale configuration
9171
+ //! locale : Arabic (Tunisia) [ar-tn]
9172
+ //! author : Nader Toukabri : https://github.com/naderio
9173
+
9174
+ ;(function (global, factory) {
9175
+ true ? factory(__webpack_require__(0)) :
9176
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9177
+ factory(global.moment)
9178
+ }(this, (function (moment) { 'use strict';
9179
+
9180
+ //! moment.js locale configuration
9181
+
9182
+ var arTn = moment.defineLocale('ar-tn', {
9183
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
9184
+ '_'
9185
+ ),
9186
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(
9187
+ '_'
9188
+ ),
9189
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
9190
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
9191
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
9192
+ weekdaysParseExact: true,
9193
+ longDateFormat: {
9194
+ LT: 'HH:mm',
9195
+ LTS: 'HH:mm:ss',
9196
+ L: 'DD/MM/YYYY',
9197
+ LL: 'D MMMM YYYY',
9198
+ LLL: 'D MMMM YYYY HH:mm',
9199
+ LLLL: 'dddd D MMMM YYYY HH:mm',
9200
+ },
9201
+ calendar: {
9202
+ sameDay: '[اليوم على الساعة] LT',
9203
+ nextDay: '[غدا على الساعة] LT',
9204
+ nextWeek: 'dddd [على الساعة] LT',
9205
+ lastDay: '[أمس على الساعة] LT',
9206
+ lastWeek: 'dddd [على الساعة] LT',
9207
+ sameElse: 'L',
9208
+ },
9209
+ relativeTime: {
9210
+ future: 'في %s',
9211
+ past: 'منذ %s',
9212
+ s: 'ثوان',
9213
+ ss: '%d ثانية',
9214
+ m: 'دقيقة',
9215
+ mm: '%d دقائق',
9216
+ h: 'ساعة',
9217
+ hh: '%d ساعات',
9218
+ d: 'يوم',
9219
+ dd: '%d أيام',
9220
+ M: 'شهر',
9221
+ MM: '%d أشهر',
9222
+ y: 'سنة',
9223
+ yy: '%d سنوات',
9224
+ },
9225
+ week: {
9226
+ dow: 1, // Monday is the first day of the week.
9227
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
9228
+ },
9229
+ });
9230
+
9231
+ return arTn;
9232
+
9233
+ })));
9234
+
9235
+
9236
+ /***/ }),
9237
+ /* 80 */
9238
+ /***/ (function(module, exports, __webpack_require__) {
9239
+
9240
+ //! moment.js locale configuration
9241
+ //! locale : Azerbaijani [az]
9242
+ //! author : topchiyev : https://github.com/topchiyev
9243
+
9244
+ ;(function (global, factory) {
9245
+ true ? factory(__webpack_require__(0)) :
9246
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9247
+ factory(global.moment)
9248
+ }(this, (function (moment) { 'use strict';
9249
+
9250
+ //! moment.js locale configuration
9251
+
9252
+ var suffixes = {
9253
+ 1: '-inci',
9254
+ 5: '-inci',
9255
+ 8: '-inci',
9256
+ 70: '-inci',
9257
+ 80: '-inci',
9258
+ 2: '-nci',
9259
+ 7: '-nci',
9260
+ 20: '-nci',
9261
+ 50: '-nci',
9262
+ 3: '-üncü',
9263
+ 4: '-üncü',
9264
+ 100: '-üncü',
9265
+ 6: '-ncı',
9266
+ 9: '-uncu',
9267
+ 10: '-uncu',
9268
+ 30: '-uncu',
9269
+ 60: '-ıncı',
9270
+ 90: '-ıncı',
9271
+ };
9272
+
9273
+ var az = moment.defineLocale('az', {
9274
+ months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(
9275
+ '_'
9276
+ ),
9277
+ monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
9278
+ weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(
9279
+ '_'
9280
+ ),
9281
+ weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
9282
+ weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
9283
+ weekdaysParseExact: true,
9284
+ longDateFormat: {
9285
+ LT: 'HH:mm',
9286
+ LTS: 'HH:mm:ss',
9287
+ L: 'DD.MM.YYYY',
9288
+ LL: 'D MMMM YYYY',
9289
+ LLL: 'D MMMM YYYY HH:mm',
9290
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
9291
+ },
9292
+ calendar: {
9293
+ sameDay: '[bugün saat] LT',
9294
+ nextDay: '[sabah saat] LT',
9295
+ nextWeek: '[gələn həftə] dddd [saat] LT',
9296
+ lastDay: '[dünən] LT',
9297
+ lastWeek: '[keçən həftə] dddd [saat] LT',
9298
+ sameElse: 'L',
9299
+ },
9300
+ relativeTime: {
9301
+ future: '%s sonra',
9302
+ past: '%s əvvəl',
9303
+ s: 'birneçə saniyə',
9304
+ ss: '%d saniyə',
9305
+ m: 'bir dəqiqə',
9306
+ mm: '%d dəqiqə',
9307
+ h: 'bir saat',
9308
+ hh: '%d saat',
9309
+ d: 'bir gün',
9310
+ dd: '%d gün',
9311
+ M: 'bir ay',
9312
+ MM: '%d ay',
9313
+ y: 'bir il',
9314
+ yy: '%d il',
9315
+ },
9316
+ meridiemParse: /gecə|səhər|gündüz|axşam/,
9317
+ isPM: function (input) {
9318
+ return /^(gündüz|axşam)$/.test(input);
9319
+ },
9320
+ meridiem: function (hour, minute, isLower) {
9321
+ if (hour < 4) {
9322
+ return 'gecə';
9323
+ } else if (hour < 12) {
9324
+ return 'səhər';
9325
+ } else if (hour < 17) {
9326
+ return 'gündüz';
9327
+ } else {
9328
+ return 'axşam';
9329
+ }
9330
+ },
9331
+ dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
9332
+ ordinal: function (number) {
9333
+ if (number === 0) {
9334
+ // special case for zero
9335
+ return number + '-ıncı';
9336
+ }
9337
+ var a = number % 10,
9338
+ b = (number % 100) - a,
9339
+ c = number >= 100 ? 100 : null;
9340
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
9341
+ },
9342
+ week: {
9343
+ dow: 1, // Monday is the first day of the week.
9344
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
9345
+ },
9346
+ });
9347
+
9348
+ return az;
9349
+
9350
+ })));
9351
+
9352
+
9353
+ /***/ }),
9354
+ /* 81 */
9355
+ /***/ (function(module, exports, __webpack_require__) {
9356
+
9357
+ //! moment.js locale configuration
9358
+ //! locale : Belarusian [be]
9359
+ //! author : Dmitry Demidov : https://github.com/demidov91
9360
+ //! author: Praleska: http://praleska.pro/
9361
+ //! Author : Menelion Elensúle : https://github.com/Oire
9362
+
9363
+ ;(function (global, factory) {
9364
+ true ? factory(__webpack_require__(0)) :
9365
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9366
+ factory(global.moment)
9367
+ }(this, (function (moment) { 'use strict';
9368
+
9369
+ //! moment.js locale configuration
9370
+
9371
+ function plural(word, num) {
9372
+ var forms = word.split('_');
9373
+ return num % 10 === 1 && num % 100 !== 11
9374
+ ? forms[0]
9375
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
9376
+ ? forms[1]
9377
+ : forms[2];
9378
+ }
9379
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
9380
+ var format = {
9381
+ ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
9382
+ mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
9383
+ hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
9384
+ dd: 'дзень_дні_дзён',
9385
+ MM: 'месяц_месяцы_месяцаў',
9386
+ yy: 'год_гады_гадоў',
9387
+ };
9388
+ if (key === 'm') {
9389
+ return withoutSuffix ? 'хвіліна' : 'хвіліну';
9390
+ } else if (key === 'h') {
9391
+ return withoutSuffix ? 'гадзіна' : 'гадзіну';
9392
+ } else {
9393
+ return number + ' ' + plural(format[key], +number);
9394
+ }
9395
+ }
9396
+
9397
+ var be = moment.defineLocale('be', {
9398
+ months: {
9399
+ format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
9400
+ '_'
9401
+ ),
9402
+ standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
9403
+ '_'
9404
+ ),
9405
+ },
9406
+ monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(
9407
+ '_'
9408
+ ),
9409
+ weekdays: {
9410
+ format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
9411
+ '_'
9412
+ ),
9413
+ standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
9414
+ '_'
9415
+ ),
9416
+ isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/,
9417
+ },
9418
+ weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
9419
+ weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
9420
+ longDateFormat: {
9421
+ LT: 'HH:mm',
9422
+ LTS: 'HH:mm:ss',
9423
+ L: 'DD.MM.YYYY',
9424
+ LL: 'D MMMM YYYY г.',
9425
+ LLL: 'D MMMM YYYY г., HH:mm',
9426
+ LLLL: 'dddd, D MMMM YYYY г., HH:mm',
9427
+ },
9428
+ calendar: {
9429
+ sameDay: '[Сёння ў] LT',
9430
+ nextDay: '[Заўтра ў] LT',
9431
+ lastDay: '[Учора ў] LT',
9432
+ nextWeek: function () {
9433
+ return '[У] dddd [ў] LT';
9434
+ },
9435
+ lastWeek: function () {
9436
+ switch (this.day()) {
9437
+ case 0:
9438
+ case 3:
9439
+ case 5:
9440
+ case 6:
9441
+ return '[У мінулую] dddd [ў] LT';
9442
+ case 1:
9443
+ case 2:
9444
+ case 4:
9445
+ return '[У мінулы] dddd [ў] LT';
9446
+ }
9447
+ },
9448
+ sameElse: 'L',
9449
+ },
9450
+ relativeTime: {
9451
+ future: 'праз %s',
9452
+ past: '%s таму',
9453
+ s: 'некалькі секунд',
9454
+ m: relativeTimeWithPlural,
9455
+ mm: relativeTimeWithPlural,
9456
+ h: relativeTimeWithPlural,
9457
+ hh: relativeTimeWithPlural,
9458
+ d: 'дзень',
9459
+ dd: relativeTimeWithPlural,
9460
+ M: 'месяц',
9461
+ MM: relativeTimeWithPlural,
9462
+ y: 'год',
9463
+ yy: relativeTimeWithPlural,
9464
+ },
9465
+ meridiemParse: /ночы|раніцы|дня|вечара/,
9466
+ isPM: function (input) {
9467
+ return /^(дня|вечара)$/.test(input);
9468
+ },
9469
+ meridiem: function (hour, minute, isLower) {
9470
+ if (hour < 4) {
9471
+ return 'ночы';
9472
+ } else if (hour < 12) {
9473
+ return 'раніцы';
9474
+ } else if (hour < 17) {
9475
+ return 'дня';
9476
+ } else {
9477
+ return 'вечара';
9478
+ }
9479
+ },
9480
+ dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
9481
+ ordinal: function (number, period) {
9482
+ switch (period) {
9483
+ case 'M':
9484
+ case 'd':
9485
+ case 'DDD':
9486
+ case 'w':
9487
+ case 'W':
9488
+ return (number % 10 === 2 || number % 10 === 3) &&
9489
+ number % 100 !== 12 &&
9490
+ number % 100 !== 13
9491
+ ? number + '-і'
9492
+ : number + '-ы';
9493
+ case 'D':
9494
+ return number + '-га';
9495
+ default:
9496
+ return number;
9497
+ }
9498
+ },
9499
+ week: {
9500
+ dow: 1, // Monday is the first day of the week.
9501
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
9502
+ },
9503
+ });
9504
+
9505
+ return be;
9506
+
9507
+ })));
9508
+
9509
+
9510
+ /***/ }),
9511
+ /* 82 */
9512
+ /***/ (function(module, exports, __webpack_require__) {
9513
+
9514
+ //! moment.js locale configuration
9515
+ //! locale : Bulgarian [bg]
9516
+ //! author : Krasen Borisov : https://github.com/kraz
9517
+
9518
+ ;(function (global, factory) {
9519
+ true ? factory(__webpack_require__(0)) :
9520
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9521
+ factory(global.moment)
9522
+ }(this, (function (moment) { 'use strict';
9523
+
9524
+ //! moment.js locale configuration
9525
+
9526
+ var bg = moment.defineLocale('bg', {
9527
+ months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(
9528
+ '_'
9529
+ ),
9530
+ monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
9531
+ weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(
9532
+ '_'
9533
+ ),
9534
+ weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
9535
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
9536
+ longDateFormat: {
9537
+ LT: 'H:mm',
9538
+ LTS: 'H:mm:ss',
9539
+ L: 'D.MM.YYYY',
9540
+ LL: 'D MMMM YYYY',
9541
+ LLL: 'D MMMM YYYY H:mm',
9542
+ LLLL: 'dddd, D MMMM YYYY H:mm',
9543
+ },
9544
+ calendar: {
9545
+ sameDay: '[Днес в] LT',
9546
+ nextDay: '[Утре в] LT',
9547
+ nextWeek: 'dddd [в] LT',
9548
+ lastDay: '[Вчера в] LT',
9549
+ lastWeek: function () {
9550
+ switch (this.day()) {
9551
+ case 0:
9552
+ case 3:
9553
+ case 6:
9554
+ return '[Миналата] dddd [в] LT';
9555
+ case 1:
9556
+ case 2:
9557
+ case 4:
9558
+ case 5:
9559
+ return '[Миналия] dddd [в] LT';
9560
+ }
9561
+ },
9562
+ sameElse: 'L',
9563
+ },
9564
+ relativeTime: {
9565
+ future: 'след %s',
9566
+ past: 'преди %s',
9567
+ s: 'няколко секунди',
9568
+ ss: '%d секунди',
9569
+ m: 'минута',
9570
+ mm: '%d минути',
9571
+ h: 'час',
9572
+ hh: '%d часа',
9573
+ d: 'ден',
9574
+ dd: '%d дена',
9575
+ M: 'месец',
9576
+ MM: '%d месеца',
9577
+ y: 'година',
9578
+ yy: '%d години',
9579
+ },
9580
+ dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
9581
+ ordinal: function (number) {
9582
+ var lastDigit = number % 10,
9583
+ last2Digits = number % 100;
9584
+ if (number === 0) {
9585
+ return number + '-ев';
9586
+ } else if (last2Digits === 0) {
9587
+ return number + '-ен';
9588
+ } else if (last2Digits > 10 && last2Digits < 20) {
9589
+ return number + '-ти';
9590
+ } else if (lastDigit === 1) {
9591
+ return number + '-ви';
9592
+ } else if (lastDigit === 2) {
9593
+ return number + '-ри';
9594
+ } else if (lastDigit === 7 || lastDigit === 8) {
9595
+ return number + '-ми';
9596
+ } else {
9597
+ return number + '-ти';
9598
+ }
9599
+ },
9600
+ week: {
9601
+ dow: 1, // Monday is the first day of the week.
9602
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
9603
+ },
9604
+ });
9605
+
9606
+ return bg;
9607
+
9608
+ })));
9609
+
9610
+
9611
+ /***/ }),
9612
+ /* 83 */
9613
+ /***/ (function(module, exports, __webpack_require__) {
9614
+
9615
+ //! moment.js locale configuration
9616
+ //! locale : Bambara [bm]
9617
+ //! author : Estelle Comment : https://github.com/estellecomment
9618
+
9619
+ ;(function (global, factory) {
9620
+ true ? factory(__webpack_require__(0)) :
9621
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9622
+ factory(global.moment)
9623
+ }(this, (function (moment) { 'use strict';
9624
+
9625
+ //! moment.js locale configuration
9626
+
9627
+ var bm = moment.defineLocale('bm', {
9628
+ months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(
9629
+ '_'
9630
+ ),
9631
+ monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
9632
+ weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
9633
+ weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
9634
+ weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
9635
+ longDateFormat: {
9636
+ LT: 'HH:mm',
9637
+ LTS: 'HH:mm:ss',
9638
+ L: 'DD/MM/YYYY',
9639
+ LL: 'MMMM [tile] D [san] YYYY',
9640
+ LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
9641
+ LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
9642
+ },
9643
+ calendar: {
9644
+ sameDay: '[Bi lɛrɛ] LT',
9645
+ nextDay: '[Sini lɛrɛ] LT',
9646
+ nextWeek: 'dddd [don lɛrɛ] LT',
9647
+ lastDay: '[Kunu lɛrɛ] LT',
9648
+ lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',
9649
+ sameElse: 'L',
9650
+ },
9651
+ relativeTime: {
9652
+ future: '%s kɔnɔ',
9653
+ past: 'a bɛ %s bɔ',
9654
+ s: 'sanga dama dama',
9655
+ ss: 'sekondi %d',
9656
+ m: 'miniti kelen',
9657
+ mm: 'miniti %d',
9658
+ h: 'lɛrɛ kelen',
9659
+ hh: 'lɛrɛ %d',
9660
+ d: 'tile kelen',
9661
+ dd: 'tile %d',
9662
+ M: 'kalo kelen',
9663
+ MM: 'kalo %d',
9664
+ y: 'san kelen',
9665
+ yy: 'san %d',
9666
+ },
9667
+ week: {
9668
+ dow: 1, // Monday is the first day of the week.
9669
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
9670
+ },
9671
+ });
9672
+
9673
+ return bm;
9674
+
9675
+ })));
9676
+
9677
+
9678
+ /***/ }),
9679
+ /* 84 */
9680
+ /***/ (function(module, exports, __webpack_require__) {
9681
+
9682
+ //! moment.js locale configuration
9683
+ //! locale : Bengali [bn]
9684
+ //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
9685
+
9686
+ ;(function (global, factory) {
9687
+ true ? factory(__webpack_require__(0)) :
9688
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9689
+ factory(global.moment)
9690
+ }(this, (function (moment) { 'use strict';
9691
+
9692
+ //! moment.js locale configuration
9693
+
9694
+ var symbolMap = {
9695
+ '1': '১',
9696
+ '2': '২',
9697
+ '3': '৩',
9698
+ '4': '৪',
9699
+ '5': '৫',
9700
+ '6': '৬',
9701
+ '7': '৭',
9702
+ '8': '৮',
9703
+ '9': '৯',
9704
+ '0': '০',
9705
+ },
9706
+ numberMap = {
9707
+ '১': '1',
9708
+ '২': '2',
9709
+ '৩': '3',
9710
+ '৪': '4',
9711
+ '৫': '5',
9712
+ '৬': '6',
9713
+ '৭': '7',
9714
+ '৮': '8',
9715
+ '৯': '9',
9716
+ '০': '0',
9717
+ };
9718
+
9719
+ var bn = moment.defineLocale('bn', {
9720
+ months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(
9721
+ '_'
9722
+ ),
9723
+ monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(
9724
+ '_'
9725
+ ),
9726
+ weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(
9727
+ '_'
9728
+ ),
9729
+ weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
9730
+ weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),
9731
+ longDateFormat: {
9732
+ LT: 'A h:mm সময়',
9733
+ LTS: 'A h:mm:ss সময়',
9734
+ L: 'DD/MM/YYYY',
9735
+ LL: 'D MMMM YYYY',
9736
+ LLL: 'D MMMM YYYY, A h:mm সময়',
9737
+ LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',
9738
+ },
9739
+ calendar: {
9740
+ sameDay: '[আজ] LT',
9741
+ nextDay: '[আগামীকাল] LT',
9742
+ nextWeek: 'dddd, LT',
9743
+ lastDay: '[গতকাল] LT',
9744
+ lastWeek: '[গত] dddd, LT',
9745
+ sameElse: 'L',
9746
+ },
9747
+ relativeTime: {
9748
+ future: '%s পরে',
9749
+ past: '%s আগে',
9750
+ s: 'কয়েক সেকেন্ড',
9751
+ ss: '%d সেকেন্ড',
9752
+ m: 'এক মিনিট',
9753
+ mm: '%d মিনিট',
9754
+ h: 'এক ঘন্টা',
9755
+ hh: '%d ঘন্টা',
9756
+ d: 'এক দিন',
9757
+ dd: '%d দিন',
9758
+ M: 'এক মাস',
9759
+ MM: '%d মাস',
9760
+ y: 'এক বছর',
9761
+ yy: '%d বছর',
9762
+ },
9763
+ preparse: function (string) {
9764
+ return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
9765
+ return numberMap[match];
9766
+ });
9767
+ },
9768
+ postformat: function (string) {
9769
+ return string.replace(/\d/g, function (match) {
9770
+ return symbolMap[match];
9771
+ });
9772
+ },
9773
+ meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
9774
+ meridiemHour: function (hour, meridiem) {
9775
+ if (hour === 12) {
9776
+ hour = 0;
9777
+ }
9778
+ if (
9779
+ (meridiem === 'রাত' && hour >= 4) ||
9780
+ (meridiem === 'দুপুর' && hour < 5) ||
9781
+ meridiem === 'বিকাল'
9782
+ ) {
9783
+ return hour + 12;
9784
+ } else {
9785
+ return hour;
9786
+ }
9787
+ },
9788
+ meridiem: function (hour, minute, isLower) {
9789
+ if (hour < 4) {
9790
+ return 'রাত';
9791
+ } else if (hour < 10) {
9792
+ return 'সকাল';
9793
+ } else if (hour < 17) {
9794
+ return 'দুপুর';
9795
+ } else if (hour < 20) {
9796
+ return 'বিকাল';
9797
+ } else {
9798
+ return 'রাত';
9799
+ }
9800
+ },
9801
+ week: {
9802
+ dow: 0, // Sunday is the first day of the week.
9803
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
9804
+ },
9805
+ });
9806
+
9807
+ return bn;
9808
+
9809
+ })));
9810
+
9811
+
9812
+ /***/ }),
9813
+ /* 85 */
9814
+ /***/ (function(module, exports, __webpack_require__) {
9815
+
9816
+ //! moment.js locale configuration
9817
+ //! locale : Tibetan [bo]
9818
+ //! author : Thupten N. Chakrishar : https://github.com/vajradog
9819
+
9820
+ ;(function (global, factory) {
9821
+ true ? factory(__webpack_require__(0)) :
9822
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9823
+ factory(global.moment)
9824
+ }(this, (function (moment) { 'use strict';
9825
+
9826
+ //! moment.js locale configuration
9827
+
9828
+ var symbolMap = {
9829
+ '1': '༡',
9830
+ '2': '༢',
9831
+ '3': '༣',
9832
+ '4': '༤',
9833
+ '5': '༥',
9834
+ '6': '༦',
9835
+ '7': '༧',
9836
+ '8': '༨',
9837
+ '9': '༩',
9838
+ '0': '༠',
9839
+ },
9840
+ numberMap = {
9841
+ '༡': '1',
9842
+ '༢': '2',
9843
+ '༣': '3',
9844
+ '༤': '4',
9845
+ '༥': '5',
9846
+ '༦': '6',
9847
+ '༧': '7',
9848
+ '༨': '8',
9849
+ '༩': '9',
9850
+ '༠': '0',
9851
+ };
9852
+
9853
+ var bo = moment.defineLocale('bo', {
9854
+ months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(
9855
+ '_'
9856
+ ),
9857
+ monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(
9858
+ '_'
9859
+ ),
9860
+ monthsShortRegex: /^(ཟླ་\d{1,2})/,
9861
+ monthsParseExact: true,
9862
+ weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(
9863
+ '_'
9864
+ ),
9865
+ weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(
9866
+ '_'
9867
+ ),
9868
+ weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),
9869
+ longDateFormat: {
9870
+ LT: 'A h:mm',
9871
+ LTS: 'A h:mm:ss',
9872
+ L: 'DD/MM/YYYY',
9873
+ LL: 'D MMMM YYYY',
9874
+ LLL: 'D MMMM YYYY, A h:mm',
9875
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
9876
+ },
9877
+ calendar: {
9878
+ sameDay: '[དི་རིང] LT',
9879
+ nextDay: '[སང་ཉིན] LT',
9880
+ nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',
9881
+ lastDay: '[ཁ་སང] LT',
9882
+ lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
9883
+ sameElse: 'L',
9884
+ },
9885
+ relativeTime: {
9886
+ future: '%s ལ་',
9887
+ past: '%s སྔན་ལ',
9888
+ s: 'ལམ་སང',
9889
+ ss: '%d སྐར་ཆ།',
9890
+ m: 'སྐར་མ་གཅིག',
9891
+ mm: '%d སྐར་མ',
9892
+ h: 'ཆུ་ཚོད་གཅིག',
9893
+ hh: '%d ཆུ་ཚོད',
9894
+ d: 'ཉིན་གཅིག',
9895
+ dd: '%d ཉིན་',
9896
+ M: 'ཟླ་བ་གཅིག',
9897
+ MM: '%d ཟླ་བ',
9898
+ y: 'ལོ་གཅིག',
9899
+ yy: '%d ལོ',
9900
+ },
9901
+ preparse: function (string) {
9902
+ return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
9903
+ return numberMap[match];
9904
+ });
9905
+ },
9906
+ postformat: function (string) {
9907
+ return string.replace(/\d/g, function (match) {
9908
+ return symbolMap[match];
9909
+ });
9910
+ },
9911
+ meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
9912
+ meridiemHour: function (hour, meridiem) {
9913
+ if (hour === 12) {
9914
+ hour = 0;
9915
+ }
9916
+ if (
9917
+ (meridiem === 'མཚན་མོ' && hour >= 4) ||
9918
+ (meridiem === 'ཉིན་གུང' && hour < 5) ||
9919
+ meridiem === 'དགོང་དག'
9920
+ ) {
9921
+ return hour + 12;
9922
+ } else {
9923
+ return hour;
9924
+ }
9925
+ },
9926
+ meridiem: function (hour, minute, isLower) {
9927
+ if (hour < 4) {
9928
+ return 'མཚན་མོ';
9929
+ } else if (hour < 10) {
9930
+ return 'ཞོགས་ཀས';
9931
+ } else if (hour < 17) {
9932
+ return 'ཉིན་གུང';
9933
+ } else if (hour < 20) {
9934
+ return 'དགོང་དག';
9935
+ } else {
9936
+ return 'མཚན་མོ';
9937
+ }
9938
+ },
9939
+ week: {
9940
+ dow: 0, // Sunday is the first day of the week.
9941
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
9942
+ },
9943
+ });
9944
+
9945
+ return bo;
9946
+
9947
+ })));
9948
+
9949
+
9950
+ /***/ }),
9951
+ /* 86 */
9952
+ /***/ (function(module, exports, __webpack_require__) {
9953
+
9954
+ //! moment.js locale configuration
9955
+ //! locale : Breton [br]
9956
+ //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
9957
+
9958
+ ;(function (global, factory) {
9959
+ true ? factory(__webpack_require__(0)) :
9960
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9961
+ factory(global.moment)
9962
+ }(this, (function (moment) { 'use strict';
9963
+
9964
+ //! moment.js locale configuration
9965
+
9966
+ function relativeTimeWithMutation(number, withoutSuffix, key) {
9967
+ var format = {
9968
+ mm: 'munutenn',
9969
+ MM: 'miz',
9970
+ dd: 'devezh',
9971
+ };
9972
+ return number + ' ' + mutation(format[key], number);
9973
+ }
9974
+ function specialMutationForYears(number) {
9975
+ switch (lastNumber(number)) {
9976
+ case 1:
9977
+ case 3:
9978
+ case 4:
9979
+ case 5:
9980
+ case 9:
9981
+ return number + ' bloaz';
9982
+ default:
9983
+ return number + ' vloaz';
9984
+ }
9985
+ }
9986
+ function lastNumber(number) {
9987
+ if (number > 9) {
9988
+ return lastNumber(number % 10);
9989
+ }
9990
+ return number;
9991
+ }
9992
+ function mutation(text, number) {
9993
+ if (number === 2) {
9994
+ return softMutation(text);
9995
+ }
9996
+ return text;
9997
+ }
9998
+ function softMutation(text) {
9999
+ var mutationTable = {
10000
+ m: 'v',
10001
+ b: 'v',
10002
+ d: 'z',
10003
+ };
10004
+ if (mutationTable[text.charAt(0)] === undefined) {
10005
+ return text;
10006
+ }
10007
+ return mutationTable[text.charAt(0)] + text.substring(1);
10008
+ }
10009
+
10010
+ var monthsParse = [
10011
+ /^gen/i,
10012
+ /^c[ʼ\']hwe/i,
10013
+ /^meu/i,
10014
+ /^ebr/i,
10015
+ /^mae/i,
10016
+ /^(mez|eve)/i,
10017
+ /^gou/i,
10018
+ /^eos/i,
10019
+ /^gwe/i,
10020
+ /^her/i,
10021
+ /^du/i,
10022
+ /^ker/i,
10023
+ ],
10024
+ monthsRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
10025
+ monthsStrictRegex = /^(genver|c[ʼ\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,
10026
+ monthsShortStrictRegex = /^(gen|c[ʼ\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,
10027
+ fullWeekdaysParse = [
10028
+ /^sul/i,
10029
+ /^lun/i,
10030
+ /^meurzh/i,
10031
+ /^merc[ʼ\']her/i,
10032
+ /^yaou/i,
10033
+ /^gwener/i,
10034
+ /^sadorn/i,
10035
+ ],
10036
+ shortWeekdaysParse = [
10037
+ /^Sul/i,
10038
+ /^Lun/i,
10039
+ /^Meu/i,
10040
+ /^Mer/i,
10041
+ /^Yao/i,
10042
+ /^Gwe/i,
10043
+ /^Sad/i,
10044
+ ],
10045
+ minWeekdaysParse = [
10046
+ /^Su/i,
10047
+ /^Lu/i,
10048
+ /^Me([^r]|$)/i,
10049
+ /^Mer/i,
10050
+ /^Ya/i,
10051
+ /^Gw/i,
10052
+ /^Sa/i,
10053
+ ];
10054
+
10055
+ var br = moment.defineLocale('br', {
10056
+ months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(
10057
+ '_'
10058
+ ),
10059
+ monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
10060
+ weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),
10061
+ weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
10062
+ weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
10063
+ weekdaysParse: minWeekdaysParse,
10064
+ fullWeekdaysParse: fullWeekdaysParse,
10065
+ shortWeekdaysParse: shortWeekdaysParse,
10066
+ minWeekdaysParse: minWeekdaysParse,
10067
+
10068
+ monthsRegex: monthsRegex,
10069
+ monthsShortRegex: monthsRegex,
10070
+ monthsStrictRegex: monthsStrictRegex,
10071
+ monthsShortStrictRegex: monthsShortStrictRegex,
10072
+ monthsParse: monthsParse,
10073
+ longMonthsParse: monthsParse,
10074
+ shortMonthsParse: monthsParse,
10075
+
10076
+ longDateFormat: {
10077
+ LT: 'HH:mm',
10078
+ LTS: 'HH:mm:ss',
10079
+ L: 'DD/MM/YYYY',
10080
+ LL: 'D [a viz] MMMM YYYY',
10081
+ LLL: 'D [a viz] MMMM YYYY HH:mm',
10082
+ LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',
10083
+ },
10084
+ calendar: {
10085
+ sameDay: '[Hiziv da] LT',
10086
+ nextDay: '[Warcʼhoazh da] LT',
10087
+ nextWeek: 'dddd [da] LT',
10088
+ lastDay: '[Decʼh da] LT',
10089
+ lastWeek: 'dddd [paset da] LT',
10090
+ sameElse: 'L',
10091
+ },
10092
+ relativeTime: {
10093
+ future: 'a-benn %s',
10094
+ past: '%s ʼzo',
10095
+ s: 'un nebeud segondennoù',
10096
+ ss: '%d eilenn',
10097
+ m: 'ur vunutenn',
10098
+ mm: relativeTimeWithMutation,
10099
+ h: 'un eur',
10100
+ hh: '%d eur',
10101
+ d: 'un devezh',
10102
+ dd: relativeTimeWithMutation,
10103
+ M: 'ur miz',
10104
+ MM: relativeTimeWithMutation,
10105
+ y: 'ur bloaz',
10106
+ yy: specialMutationForYears,
10107
+ },
10108
+ dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
10109
+ ordinal: function (number) {
10110
+ var output = number === 1 ? 'añ' : 'vet';
10111
+ return number + output;
10112
+ },
10113
+ week: {
10114
+ dow: 1, // Monday is the first day of the week.
10115
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10116
+ },
10117
+ meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn
10118
+ isPM: function (token) {
10119
+ return token === 'g.m.';
10120
+ },
10121
+ meridiem: function (hour, minute, isLower) {
10122
+ return hour < 12 ? 'a.m.' : 'g.m.';
10123
+ },
10124
+ });
10125
+
10126
+ return br;
10127
+
10128
+ })));
10129
+
10130
+
10131
+ /***/ }),
10132
+ /* 87 */
10133
+ /***/ (function(module, exports, __webpack_require__) {
10134
+
10135
+ //! moment.js locale configuration
10136
+ //! locale : Bosnian [bs]
10137
+ //! author : Nedim Cholich : https://github.com/frontyard
10138
+ //! based on (hr) translation by Bojan Marković
10139
+
10140
+ ;(function (global, factory) {
10141
+ true ? factory(__webpack_require__(0)) :
10142
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10143
+ factory(global.moment)
10144
+ }(this, (function (moment) { 'use strict';
10145
+
10146
+ //! moment.js locale configuration
10147
+
10148
+ function translate(number, withoutSuffix, key) {
10149
+ var result = number + ' ';
10150
+ switch (key) {
10151
+ case 'ss':
10152
+ if (number === 1) {
10153
+ result += 'sekunda';
10154
+ } else if (number === 2 || number === 3 || number === 4) {
10155
+ result += 'sekunde';
10156
+ } else {
10157
+ result += 'sekundi';
10158
+ }
10159
+ return result;
10160
+ case 'm':
10161
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
10162
+ case 'mm':
10163
+ if (number === 1) {
10164
+ result += 'minuta';
10165
+ } else if (number === 2 || number === 3 || number === 4) {
10166
+ result += 'minute';
10167
+ } else {
10168
+ result += 'minuta';
10169
+ }
10170
+ return result;
10171
+ case 'h':
10172
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
10173
+ case 'hh':
10174
+ if (number === 1) {
10175
+ result += 'sat';
10176
+ } else if (number === 2 || number === 3 || number === 4) {
10177
+ result += 'sata';
10178
+ } else {
10179
+ result += 'sati';
10180
+ }
10181
+ return result;
10182
+ case 'dd':
10183
+ if (number === 1) {
10184
+ result += 'dan';
10185
+ } else {
10186
+ result += 'dana';
10187
+ }
10188
+ return result;
10189
+ case 'MM':
10190
+ if (number === 1) {
10191
+ result += 'mjesec';
10192
+ } else if (number === 2 || number === 3 || number === 4) {
10193
+ result += 'mjeseca';
10194
+ } else {
10195
+ result += 'mjeseci';
10196
+ }
10197
+ return result;
10198
+ case 'yy':
10199
+ if (number === 1) {
10200
+ result += 'godina';
10201
+ } else if (number === 2 || number === 3 || number === 4) {
10202
+ result += 'godine';
10203
+ } else {
10204
+ result += 'godina';
10205
+ }
10206
+ return result;
10207
+ }
10208
+ }
10209
+
10210
+ var bs = moment.defineLocale('bs', {
10211
+ months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(
10212
+ '_'
10213
+ ),
10214
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(
10215
+ '_'
10216
+ ),
10217
+ monthsParseExact: true,
10218
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
10219
+ '_'
10220
+ ),
10221
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
10222
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
10223
+ weekdaysParseExact: true,
10224
+ longDateFormat: {
10225
+ LT: 'H:mm',
10226
+ LTS: 'H:mm:ss',
10227
+ L: 'DD.MM.YYYY',
10228
+ LL: 'D. MMMM YYYY',
10229
+ LLL: 'D. MMMM YYYY H:mm',
10230
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
10231
+ },
10232
+ calendar: {
10233
+ sameDay: '[danas u] LT',
10234
+ nextDay: '[sutra u] LT',
10235
+ nextWeek: function () {
10236
+ switch (this.day()) {
10237
+ case 0:
10238
+ return '[u] [nedjelju] [u] LT';
10239
+ case 3:
10240
+ return '[u] [srijedu] [u] LT';
10241
+ case 6:
10242
+ return '[u] [subotu] [u] LT';
10243
+ case 1:
10244
+ case 2:
10245
+ case 4:
10246
+ case 5:
10247
+ return '[u] dddd [u] LT';
10248
+ }
10249
+ },
10250
+ lastDay: '[jučer u] LT',
10251
+ lastWeek: function () {
10252
+ switch (this.day()) {
10253
+ case 0:
10254
+ case 3:
10255
+ return '[prošlu] dddd [u] LT';
10256
+ case 6:
10257
+ return '[prošle] [subote] [u] LT';
10258
+ case 1:
10259
+ case 2:
10260
+ case 4:
10261
+ case 5:
10262
+ return '[prošli] dddd [u] LT';
10263
+ }
10264
+ },
10265
+ sameElse: 'L',
10266
+ },
10267
+ relativeTime: {
10268
+ future: 'za %s',
10269
+ past: 'prije %s',
10270
+ s: 'par sekundi',
10271
+ ss: translate,
10272
+ m: translate,
10273
+ mm: translate,
10274
+ h: translate,
10275
+ hh: translate,
10276
+ d: 'dan',
10277
+ dd: translate,
10278
+ M: 'mjesec',
10279
+ MM: translate,
10280
+ y: 'godinu',
10281
+ yy: translate,
10282
+ },
10283
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
10284
+ ordinal: '%d.',
10285
+ week: {
10286
+ dow: 1, // Monday is the first day of the week.
10287
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
10288
+ },
10289
+ });
10290
+
10291
+ return bs;
10292
+
10293
+ })));
10294
+
10295
+
10296
+ /***/ }),
10297
+ /* 88 */
10298
+ /***/ (function(module, exports, __webpack_require__) {
10299
+
10300
+ //! moment.js locale configuration
10301
+ //! locale : Catalan [ca]
10302
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
10303
+
10304
+ ;(function (global, factory) {
10305
+ true ? factory(__webpack_require__(0)) :
10306
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10307
+ factory(global.moment)
10308
+ }(this, (function (moment) { 'use strict';
10309
+
10310
+ //! moment.js locale configuration
10311
+
10312
+ var ca = moment.defineLocale('ca', {
10313
+ months: {
10314
+ standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(
10315
+ '_'
10316
+ ),
10317
+ 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(
10318
+ '_'
10319
+ ),
10320
+ isFormat: /D[oD]?(\s)+MMMM/,
10321
+ },
10322
+ monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(
10323
+ '_'
10324
+ ),
10325
+ monthsParseExact: true,
10326
+ weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(
10327
+ '_'
10328
+ ),
10329
+ weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
10330
+ weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
10331
+ weekdaysParseExact: true,
10332
+ longDateFormat: {
10333
+ LT: 'H:mm',
10334
+ LTS: 'H:mm:ss',
10335
+ L: 'DD/MM/YYYY',
10336
+ LL: 'D MMMM [de] YYYY',
10337
+ ll: 'D MMM YYYY',
10338
+ LLL: 'D MMMM [de] YYYY [a les] H:mm',
10339
+ lll: 'D MMM YYYY, H:mm',
10340
+ LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',
10341
+ llll: 'ddd D MMM YYYY, H:mm',
10342
+ },
10343
+ calendar: {
10344
+ sameDay: function () {
10345
+ return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
10346
+ },
10347
+ nextDay: function () {
10348
+ return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
10349
+ },
10350
+ nextWeek: function () {
10351
+ return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
10352
+ },
10353
+ lastDay: function () {
10354
+ return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';
10355
+ },
10356
+ lastWeek: function () {
10357
+ return (
10358
+ '[el] dddd [passat a ' +
10359
+ (this.hours() !== 1 ? 'les' : 'la') +
10360
+ '] LT'
10361
+ );
10362
+ },
10363
+ sameElse: 'L',
10364
+ },
10365
+ relativeTime: {
10366
+ future: "d'aquí %s",
10367
+ past: 'fa %s',
10368
+ s: 'uns segons',
10369
+ ss: '%d segons',
10370
+ m: 'un minut',
10371
+ mm: '%d minuts',
10372
+ h: 'una hora',
10373
+ hh: '%d hores',
10374
+ d: 'un dia',
10375
+ dd: '%d dies',
10376
+ M: 'un mes',
10377
+ MM: '%d mesos',
10378
+ y: 'un any',
10379
+ yy: '%d anys',
10380
+ },
10381
+ dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
10382
+ ordinal: function (number, period) {
10383
+ var output =
10384
+ number === 1
10385
+ ? 'r'
10386
+ : number === 2
10387
+ ? 'n'
10388
+ : number === 3
10389
+ ? 'r'
10390
+ : number === 4
10391
+ ? 't'
10392
+ : 'è';
10393
+ if (period === 'w' || period === 'W') {
10394
+ output = 'a';
10395
+ }
10396
+ return number + output;
10397
+ },
10398
+ week: {
10399
+ dow: 1, // Monday is the first day of the week.
10400
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10401
+ },
10402
+ });
10403
+
10404
+ return ca;
10405
+
10406
+ })));
10407
+
10408
+
10409
+ /***/ }),
10410
+ /* 89 */
10411
+ /***/ (function(module, exports, __webpack_require__) {
10412
+
10413
+ //! moment.js locale configuration
10414
+ //! locale : Czech [cs]
10415
+ //! author : petrbela : https://github.com/petrbela
10416
+
10417
+ ;(function (global, factory) {
10418
+ true ? factory(__webpack_require__(0)) :
10419
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10420
+ factory(global.moment)
10421
+ }(this, (function (moment) { 'use strict';
10422
+
10423
+ //! moment.js locale configuration
10424
+
10425
+ var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
10426
+ '_'
10427
+ ),
10428
+ monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
10429
+ monthsParse = [
10430
+ /^led/i,
10431
+ /^úno/i,
10432
+ /^bře/i,
10433
+ /^dub/i,
10434
+ /^kvě/i,
10435
+ /^(čvn|červen$|června)/i,
10436
+ /^(čvc|červenec|července)/i,
10437
+ /^srp/i,
10438
+ /^zář/i,
10439
+ /^říj/i,
10440
+ /^lis/i,
10441
+ /^pro/i,
10442
+ ],
10443
+ // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
10444
+ // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
10445
+ monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
10446
+
10447
+ function plural(n) {
10448
+ return n > 1 && n < 5 && ~~(n / 10) !== 1;
10449
+ }
10450
+ function translate(number, withoutSuffix, key, isFuture) {
10451
+ var result = number + ' ';
10452
+ switch (key) {
10453
+ case 's': // a few seconds / in a few seconds / a few seconds ago
10454
+ return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
10455
+ case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
10456
+ if (withoutSuffix || isFuture) {
10457
+ return result + (plural(number) ? 'sekundy' : 'sekund');
10458
+ } else {
10459
+ return result + 'sekundami';
10460
+ }
10461
+ case 'm': // a minute / in a minute / a minute ago
10462
+ return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
10463
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
10464
+ if (withoutSuffix || isFuture) {
10465
+ return result + (plural(number) ? 'minuty' : 'minut');
10466
+ } else {
10467
+ return result + 'minutami';
10468
+ }
10469
+ case 'h': // an hour / in an hour / an hour ago
10470
+ return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
10471
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
10472
+ if (withoutSuffix || isFuture) {
10473
+ return result + (plural(number) ? 'hodiny' : 'hodin');
10474
+ } else {
10475
+ return result + 'hodinami';
10476
+ }
10477
+ case 'd': // a day / in a day / a day ago
10478
+ return withoutSuffix || isFuture ? 'den' : 'dnem';
10479
+ case 'dd': // 9 days / in 9 days / 9 days ago
10480
+ if (withoutSuffix || isFuture) {
10481
+ return result + (plural(number) ? 'dny' : 'dní');
10482
+ } else {
10483
+ return result + 'dny';
10484
+ }
10485
+ case 'M': // a month / in a month / a month ago
10486
+ return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
10487
+ case 'MM': // 9 months / in 9 months / 9 months ago
10488
+ if (withoutSuffix || isFuture) {
10489
+ return result + (plural(number) ? 'měsíce' : 'měsíců');
10490
+ } else {
10491
+ return result + 'měsíci';
10492
+ }
10493
+ case 'y': // a year / in a year / a year ago
10494
+ return withoutSuffix || isFuture ? 'rok' : 'rokem';
10495
+ case 'yy': // 9 years / in 9 years / 9 years ago
10496
+ if (withoutSuffix || isFuture) {
10497
+ return result + (plural(number) ? 'roky' : 'let');
10498
+ } else {
10499
+ return result + 'lety';
10500
+ }
10501
+ }
10502
+ }
10503
+
10504
+ var cs = moment.defineLocale('cs', {
10505
+ months: months,
10506
+ monthsShort: monthsShort,
10507
+ monthsRegex: monthsRegex,
10508
+ monthsShortRegex: monthsRegex,
10509
+ // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
10510
+ // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
10511
+ monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
10512
+ monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
10513
+ monthsParse: monthsParse,
10514
+ longMonthsParse: monthsParse,
10515
+ shortMonthsParse: monthsParse,
10516
+ weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
10517
+ weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
10518
+ weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
10519
+ longDateFormat: {
10520
+ LT: 'H:mm',
10521
+ LTS: 'H:mm:ss',
10522
+ L: 'DD.MM.YYYY',
10523
+ LL: 'D. MMMM YYYY',
10524
+ LLL: 'D. MMMM YYYY H:mm',
10525
+ LLLL: 'dddd D. MMMM YYYY H:mm',
10526
+ l: 'D. M. YYYY',
10527
+ },
10528
+ calendar: {
10529
+ sameDay: '[dnes v] LT',
10530
+ nextDay: '[zítra v] LT',
10531
+ nextWeek: function () {
10532
+ switch (this.day()) {
10533
+ case 0:
10534
+ return '[v neděli v] LT';
10535
+ case 1:
10536
+ case 2:
10537
+ return '[v] dddd [v] LT';
10538
+ case 3:
10539
+ return '[ve středu v] LT';
10540
+ case 4:
10541
+ return '[ve čtvrtek v] LT';
10542
+ case 5:
10543
+ return '[v pátek v] LT';
10544
+ case 6:
10545
+ return '[v sobotu v] LT';
10546
+ }
10547
+ },
10548
+ lastDay: '[včera v] LT',
10549
+ lastWeek: function () {
10550
+ switch (this.day()) {
10551
+ case 0:
10552
+ return '[minulou neděli v] LT';
10553
+ case 1:
10554
+ case 2:
10555
+ return '[minulé] dddd [v] LT';
10556
+ case 3:
10557
+ return '[minulou středu v] LT';
10558
+ case 4:
10559
+ case 5:
10560
+ return '[minulý] dddd [v] LT';
10561
+ case 6:
10562
+ return '[minulou sobotu v] LT';
10563
+ }
10564
+ },
10565
+ sameElse: 'L',
10566
+ },
10567
+ relativeTime: {
10568
+ future: 'za %s',
10569
+ past: 'před %s',
10570
+ s: translate,
10571
+ ss: translate,
10572
+ m: translate,
10573
+ mm: translate,
10574
+ h: translate,
10575
+ hh: translate,
10576
+ d: translate,
10577
+ dd: translate,
10578
+ M: translate,
10579
+ MM: translate,
10580
+ y: translate,
10581
+ yy: translate,
10582
+ },
10583
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
10584
+ ordinal: '%d.',
10585
+ week: {
10586
+ dow: 1, // Monday is the first day of the week.
10587
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10588
+ },
10589
+ });
10590
+
10591
+ return cs;
10592
+
10593
+ })));
10594
+
10595
+
10596
+ /***/ }),
10597
+ /* 90 */
10598
+ /***/ (function(module, exports, __webpack_require__) {
10599
+
10600
+ //! moment.js locale configuration
10601
+ //! locale : Chuvash [cv]
10602
+ //! author : Anatoly Mironov : https://github.com/mirontoli
10603
+
10604
+ ;(function (global, factory) {
10605
+ true ? factory(__webpack_require__(0)) :
10606
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10607
+ factory(global.moment)
10608
+ }(this, (function (moment) { 'use strict';
10609
+
10610
+ //! moment.js locale configuration
10611
+
10612
+ var cv = moment.defineLocale('cv', {
10613
+ months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(
10614
+ '_'
10615
+ ),
10616
+ monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
10617
+ weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(
10618
+ '_'
10619
+ ),
10620
+ weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
10621
+ weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
10622
+ longDateFormat: {
10623
+ LT: 'HH:mm',
10624
+ LTS: 'HH:mm:ss',
10625
+ L: 'DD-MM-YYYY',
10626
+ LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
10627
+ LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
10628
+ LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
10629
+ },
10630
+ calendar: {
10631
+ sameDay: '[Паян] LT [сехетре]',
10632
+ nextDay: '[Ыран] LT [сехетре]',
10633
+ lastDay: '[Ӗнер] LT [сехетре]',
10634
+ nextWeek: '[Ҫитес] dddd LT [сехетре]',
10635
+ lastWeek: '[Иртнӗ] dddd LT [сехетре]',
10636
+ sameElse: 'L',
10637
+ },
10638
+ relativeTime: {
10639
+ future: function (output) {
10640
+ var affix = /сехет$/i.exec(output)
10641
+ ? 'рен'
10642
+ : /ҫул$/i.exec(output)
10643
+ ? 'тан'
10644
+ : 'ран';
10645
+ return output + affix;
10646
+ },
10647
+ past: '%s каялла',
10648
+ s: 'пӗр-ик ҫеккунт',
10649
+ ss: '%d ҫеккунт',
10650
+ m: 'пӗр минут',
10651
+ mm: '%d минут',
10652
+ h: 'пӗр сехет',
10653
+ hh: '%d сехет',
10654
+ d: 'пӗр кун',
10655
+ dd: '%d кун',
10656
+ M: 'пӗр уйӑх',
10657
+ MM: '%d уйӑх',
10658
+ y: 'пӗр ҫул',
10659
+ yy: '%d ҫул',
10660
+ },
10661
+ dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
10662
+ ordinal: '%d-мӗш',
10663
+ week: {
10664
+ dow: 1, // Monday is the first day of the week.
10665
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
10666
+ },
10667
+ });
10668
+
10669
+ return cv;
10670
+
10671
+ })));
10672
+
10673
+
10674
+ /***/ }),
10675
+ /* 91 */
10676
+ /***/ (function(module, exports, __webpack_require__) {
10677
+
10678
+ //! moment.js locale configuration
10679
+ //! locale : Welsh [cy]
10680
+ //! author : Robert Allen : https://github.com/robgallen
10681
+ //! author : https://github.com/ryangreaves
10682
+
10683
+ ;(function (global, factory) {
10684
+ true ? factory(__webpack_require__(0)) :
10685
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10686
+ factory(global.moment)
10687
+ }(this, (function (moment) { 'use strict';
10688
+
10689
+ //! moment.js locale configuration
10690
+
10691
+ var cy = moment.defineLocale('cy', {
10692
+ months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(
10693
+ '_'
10694
+ ),
10695
+ monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(
10696
+ '_'
10697
+ ),
10698
+ weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(
10699
+ '_'
10700
+ ),
10701
+ weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
10702
+ weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
10703
+ weekdaysParseExact: true,
10704
+ // time formats are the same as en-gb
10705
+ longDateFormat: {
10706
+ LT: 'HH:mm',
10707
+ LTS: 'HH:mm:ss',
10708
+ L: 'DD/MM/YYYY',
10709
+ LL: 'D MMMM YYYY',
10710
+ LLL: 'D MMMM YYYY HH:mm',
10711
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
10712
+ },
10713
+ calendar: {
10714
+ sameDay: '[Heddiw am] LT',
10715
+ nextDay: '[Yfory am] LT',
10716
+ nextWeek: 'dddd [am] LT',
10717
+ lastDay: '[Ddoe am] LT',
10718
+ lastWeek: 'dddd [diwethaf am] LT',
10719
+ sameElse: 'L',
10720
+ },
10721
+ relativeTime: {
10722
+ future: 'mewn %s',
10723
+ past: '%s yn ôl',
10724
+ s: 'ychydig eiliadau',
10725
+ ss: '%d eiliad',
10726
+ m: 'munud',
10727
+ mm: '%d munud',
10728
+ h: 'awr',
10729
+ hh: '%d awr',
10730
+ d: 'diwrnod',
10731
+ dd: '%d diwrnod',
10732
+ M: 'mis',
10733
+ MM: '%d mis',
10734
+ y: 'blwyddyn',
10735
+ yy: '%d flynedd',
10736
+ },
10737
+ dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
10738
+ // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
10739
+ ordinal: function (number) {
10740
+ var b = number,
10741
+ output = '',
10742
+ lookup = [
10743
+ '',
10744
+ 'af',
10745
+ 'il',
10746
+ 'ydd',
10747
+ 'ydd',
10748
+ 'ed',
10749
+ 'ed',
10750
+ 'ed',
10751
+ 'fed',
10752
+ 'fed',
10753
+ 'fed', // 1af to 10fed
10754
+ 'eg',
10755
+ 'fed',
10756
+ 'eg',
10757
+ 'eg',
10758
+ 'fed',
10759
+ 'eg',
10760
+ 'eg',
10761
+ 'fed',
10762
+ 'eg',
10763
+ 'fed', // 11eg to 20fed
10764
+ ];
10765
+ if (b > 20) {
10766
+ if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
10767
+ output = 'fed'; // not 30ain, 70ain or 90ain
10768
+ } else {
10769
+ output = 'ain';
10770
+ }
10771
+ } else if (b > 0) {
10772
+ output = lookup[b];
10773
+ }
10774
+ return number + output;
10775
+ },
10776
+ week: {
10777
+ dow: 1, // Monday is the first day of the week.
10778
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10779
+ },
10780
+ });
10781
+
10782
+ return cy;
10783
+
10784
+ })));
10785
+
10786
+
10787
+ /***/ }),
10788
+ /* 92 */
10789
+ /***/ (function(module, exports, __webpack_require__) {
10790
+
10791
+ //! moment.js locale configuration
10792
+ //! locale : Danish [da]
10793
+ //! author : Ulrik Nielsen : https://github.com/mrbase
10794
+
10795
+ ;(function (global, factory) {
10796
+ true ? factory(__webpack_require__(0)) :
10797
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10798
+ factory(global.moment)
10799
+ }(this, (function (moment) { 'use strict';
10800
+
10801
+ //! moment.js locale configuration
10802
+
10803
+ var da = moment.defineLocale('da', {
10804
+ months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(
10805
+ '_'
10806
+ ),
10807
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
10808
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
10809
+ weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
10810
+ weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
10811
+ longDateFormat: {
10812
+ LT: 'HH:mm',
10813
+ LTS: 'HH:mm:ss',
10814
+ L: 'DD.MM.YYYY',
10815
+ LL: 'D. MMMM YYYY',
10816
+ LLL: 'D. MMMM YYYY HH:mm',
10817
+ LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',
10818
+ },
10819
+ calendar: {
10820
+ sameDay: '[i dag kl.] LT',
10821
+ nextDay: '[i morgen kl.] LT',
10822
+ nextWeek: 'på dddd [kl.] LT',
10823
+ lastDay: '[i går kl.] LT',
10824
+ lastWeek: '[i] dddd[s kl.] LT',
10825
+ sameElse: 'L',
10826
+ },
10827
+ relativeTime: {
10828
+ future: 'om %s',
10829
+ past: '%s siden',
10830
+ s: 'få sekunder',
10831
+ ss: '%d sekunder',
10832
+ m: 'et minut',
10833
+ mm: '%d minutter',
10834
+ h: 'en time',
10835
+ hh: '%d timer',
10836
+ d: 'en dag',
10837
+ dd: '%d dage',
10838
+ M: 'en måned',
10839
+ MM: '%d måneder',
10840
+ y: 'et år',
10841
+ yy: '%d år',
10842
+ },
10843
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
10844
+ ordinal: '%d.',
10845
+ week: {
10846
+ dow: 1, // Monday is the first day of the week.
10847
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10848
+ },
10849
+ });
10850
+
10851
+ return da;
10852
+
10853
+ })));
10854
+
10855
+
10856
+ /***/ }),
10857
+ /* 93 */
10858
+ /***/ (function(module, exports, __webpack_require__) {
10859
+
10860
+ //! moment.js locale configuration
10861
+ //! locale : German [de]
10862
+ //! author : lluchs : https://github.com/lluchs
10863
+ //! author: Menelion Elensúle: https://github.com/Oire
10864
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
10865
+
10866
+ ;(function (global, factory) {
10867
+ true ? factory(__webpack_require__(0)) :
10868
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10869
+ factory(global.moment)
10870
+ }(this, (function (moment) { 'use strict';
10871
+
10872
+ //! moment.js locale configuration
10873
+
10874
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
10875
+ var format = {
10876
+ m: ['eine Minute', 'einer Minute'],
10877
+ h: ['eine Stunde', 'einer Stunde'],
10878
+ d: ['ein Tag', 'einem Tag'],
10879
+ dd: [number + ' Tage', number + ' Tagen'],
10880
+ w: ['eine Woche', 'einer Woche'],
10881
+ M: ['ein Monat', 'einem Monat'],
10882
+ MM: [number + ' Monate', number + ' Monaten'],
10883
+ y: ['ein Jahr', 'einem Jahr'],
10884
+ yy: [number + ' Jahre', number + ' Jahren'],
10885
+ };
10886
+ return withoutSuffix ? format[key][0] : format[key][1];
10887
+ }
10888
+
10889
+ var de = moment.defineLocale('de', {
10890
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
10891
+ '_'
10892
+ ),
10893
+ monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
10894
+ '_'
10895
+ ),
10896
+ monthsParseExact: true,
10897
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
10898
+ '_'
10899
+ ),
10900
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
10901
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
10902
+ weekdaysParseExact: true,
10903
+ longDateFormat: {
10904
+ LT: 'HH:mm',
10905
+ LTS: 'HH:mm:ss',
10906
+ L: 'DD.MM.YYYY',
10907
+ LL: 'D. MMMM YYYY',
10908
+ LLL: 'D. MMMM YYYY HH:mm',
10909
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
10910
+ },
10911
+ calendar: {
10912
+ sameDay: '[heute um] LT [Uhr]',
10913
+ sameElse: 'L',
10914
+ nextDay: '[morgen um] LT [Uhr]',
10915
+ nextWeek: 'dddd [um] LT [Uhr]',
10916
+ lastDay: '[gestern um] LT [Uhr]',
10917
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
10918
+ },
10919
+ relativeTime: {
10920
+ future: 'in %s',
10921
+ past: 'vor %s',
10922
+ s: 'ein paar Sekunden',
10923
+ ss: '%d Sekunden',
10924
+ m: processRelativeTime,
10925
+ mm: '%d Minuten',
10926
+ h: processRelativeTime,
10927
+ hh: '%d Stunden',
10928
+ d: processRelativeTime,
10929
+ dd: processRelativeTime,
10930
+ w: processRelativeTime,
10931
+ ww: '%d Wochen',
10932
+ M: processRelativeTime,
10933
+ MM: processRelativeTime,
10934
+ y: processRelativeTime,
10935
+ yy: processRelativeTime,
10936
+ },
10937
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
10938
+ ordinal: '%d.',
10939
+ week: {
10940
+ dow: 1, // Monday is the first day of the week.
10941
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
10942
+ },
10943
+ });
10944
+
10945
+ return de;
10946
+
10947
+ })));
10948
+
10949
+
10950
+ /***/ }),
10951
+ /* 94 */
10952
+ /***/ (function(module, exports, __webpack_require__) {
10953
+
10954
+ //! moment.js locale configuration
10955
+ //! locale : German (Austria) [de-at]
10956
+ //! author : lluchs : https://github.com/lluchs
10957
+ //! author: Menelion Elensúle: https://github.com/Oire
10958
+ //! author : Martin Groller : https://github.com/MadMG
10959
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
10960
+
10961
+ ;(function (global, factory) {
10962
+ true ? factory(__webpack_require__(0)) :
10963
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
10964
+ factory(global.moment)
10965
+ }(this, (function (moment) { 'use strict';
10966
+
10967
+ //! moment.js locale configuration
10968
+
10969
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
10970
+ var format = {
10971
+ m: ['eine Minute', 'einer Minute'],
10972
+ h: ['eine Stunde', 'einer Stunde'],
10973
+ d: ['ein Tag', 'einem Tag'],
10974
+ dd: [number + ' Tage', number + ' Tagen'],
10975
+ w: ['eine Woche', 'einer Woche'],
10976
+ M: ['ein Monat', 'einem Monat'],
10977
+ MM: [number + ' Monate', number + ' Monaten'],
10978
+ y: ['ein Jahr', 'einem Jahr'],
10979
+ yy: [number + ' Jahre', number + ' Jahren'],
10980
+ };
10981
+ return withoutSuffix ? format[key][0] : format[key][1];
10982
+ }
10983
+
10984
+ var deAt = moment.defineLocale('de-at', {
10985
+ months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
10986
+ '_'
10987
+ ),
10988
+ monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
10989
+ '_'
10990
+ ),
10991
+ monthsParseExact: true,
10992
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
10993
+ '_'
10994
+ ),
10995
+ weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
10996
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
10997
+ weekdaysParseExact: true,
10998
+ longDateFormat: {
10999
+ LT: 'HH:mm',
11000
+ LTS: 'HH:mm:ss',
11001
+ L: 'DD.MM.YYYY',
11002
+ LL: 'D. MMMM YYYY',
11003
+ LLL: 'D. MMMM YYYY HH:mm',
11004
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
11005
+ },
11006
+ calendar: {
11007
+ sameDay: '[heute um] LT [Uhr]',
11008
+ sameElse: 'L',
11009
+ nextDay: '[morgen um] LT [Uhr]',
11010
+ nextWeek: 'dddd [um] LT [Uhr]',
11011
+ lastDay: '[gestern um] LT [Uhr]',
11012
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
11013
+ },
11014
+ relativeTime: {
11015
+ future: 'in %s',
11016
+ past: 'vor %s',
11017
+ s: 'ein paar Sekunden',
11018
+ ss: '%d Sekunden',
11019
+ m: processRelativeTime,
11020
+ mm: '%d Minuten',
11021
+ h: processRelativeTime,
11022
+ hh: '%d Stunden',
11023
+ d: processRelativeTime,
11024
+ dd: processRelativeTime,
11025
+ w: processRelativeTime,
11026
+ ww: '%d Wochen',
11027
+ M: processRelativeTime,
11028
+ MM: processRelativeTime,
11029
+ y: processRelativeTime,
11030
+ yy: processRelativeTime,
11031
+ },
11032
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
11033
+ ordinal: '%d.',
11034
+ week: {
11035
+ dow: 1, // Monday is the first day of the week.
11036
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11037
+ },
11038
+ });
11039
+
11040
+ return deAt;
11041
+
11042
+ })));
11043
+
11044
+
11045
+ /***/ }),
11046
+ /* 95 */
11047
+ /***/ (function(module, exports, __webpack_require__) {
11048
+
11049
+ //! moment.js locale configuration
11050
+ //! locale : German (Switzerland) [de-ch]
11051
+ //! author : sschueller : https://github.com/sschueller
11052
+
11053
+ ;(function (global, factory) {
11054
+ true ? factory(__webpack_require__(0)) :
11055
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11056
+ factory(global.moment)
11057
+ }(this, (function (moment) { 'use strict';
11058
+
11059
+ //! moment.js locale configuration
11060
+
11061
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
11062
+ var format = {
11063
+ m: ['eine Minute', 'einer Minute'],
11064
+ h: ['eine Stunde', 'einer Stunde'],
11065
+ d: ['ein Tag', 'einem Tag'],
11066
+ dd: [number + ' Tage', number + ' Tagen'],
11067
+ w: ['eine Woche', 'einer Woche'],
11068
+ M: ['ein Monat', 'einem Monat'],
11069
+ MM: [number + ' Monate', number + ' Monaten'],
11070
+ y: ['ein Jahr', 'einem Jahr'],
11071
+ yy: [number + ' Jahre', number + ' Jahren'],
11072
+ };
11073
+ return withoutSuffix ? format[key][0] : format[key][1];
11074
+ }
11075
+
11076
+ var deCh = moment.defineLocale('de-ch', {
11077
+ months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(
11078
+ '_'
11079
+ ),
11080
+ monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(
11081
+ '_'
11082
+ ),
11083
+ monthsParseExact: true,
11084
+ weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(
11085
+ '_'
11086
+ ),
11087
+ weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
11088
+ weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
11089
+ weekdaysParseExact: true,
11090
+ longDateFormat: {
11091
+ LT: 'HH:mm',
11092
+ LTS: 'HH:mm:ss',
11093
+ L: 'DD.MM.YYYY',
11094
+ LL: 'D. MMMM YYYY',
11095
+ LLL: 'D. MMMM YYYY HH:mm',
11096
+ LLLL: 'dddd, D. MMMM YYYY HH:mm',
11097
+ },
11098
+ calendar: {
11099
+ sameDay: '[heute um] LT [Uhr]',
11100
+ sameElse: 'L',
11101
+ nextDay: '[morgen um] LT [Uhr]',
11102
+ nextWeek: 'dddd [um] LT [Uhr]',
11103
+ lastDay: '[gestern um] LT [Uhr]',
11104
+ lastWeek: '[letzten] dddd [um] LT [Uhr]',
11105
+ },
11106
+ relativeTime: {
11107
+ future: 'in %s',
11108
+ past: 'vor %s',
11109
+ s: 'ein paar Sekunden',
11110
+ ss: '%d Sekunden',
11111
+ m: processRelativeTime,
11112
+ mm: '%d Minuten',
11113
+ h: processRelativeTime,
11114
+ hh: '%d Stunden',
11115
+ d: processRelativeTime,
11116
+ dd: processRelativeTime,
11117
+ w: processRelativeTime,
11118
+ ww: '%d Wochen',
11119
+ M: processRelativeTime,
11120
+ MM: processRelativeTime,
11121
+ y: processRelativeTime,
11122
+ yy: processRelativeTime,
11123
+ },
11124
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
11125
+ ordinal: '%d.',
11126
+ week: {
11127
+ dow: 1, // Monday is the first day of the week.
11128
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11129
+ },
11130
+ });
11131
+
11132
+ return deCh;
11133
+
11134
+ })));
11135
+
11136
+
11137
+ /***/ }),
11138
+ /* 96 */
11139
+ /***/ (function(module, exports, __webpack_require__) {
11140
+
11141
+ //! moment.js locale configuration
11142
+ //! locale : Maldivian [dv]
11143
+ //! author : Jawish Hameed : https://github.com/jawish
11144
+
11145
+ ;(function (global, factory) {
11146
+ true ? factory(__webpack_require__(0)) :
11147
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11148
+ factory(global.moment)
11149
+ }(this, (function (moment) { 'use strict';
11150
+
11151
+ //! moment.js locale configuration
11152
+
11153
+ var months = [
11154
+ 'ޖެނުއަރީ',
11155
+ 'ފެބްރުއަރީ',
11156
+ 'މާރިޗު',
11157
+ 'އޭޕްރީލު',
11158
+ 'މޭ',
11159
+ 'ޖޫން',
11160
+ 'ޖުލައި',
11161
+ 'އޯގަސްޓު',
11162
+ 'ސެޕްޓެމްބަރު',
11163
+ 'އޮކްޓޯބަރު',
11164
+ 'ނޮވެމްބަރު',
11165
+ 'ޑިސެމްބަރު',
11166
+ ],
11167
+ weekdays = [
11168
+ 'އާދިއްތަ',
11169
+ 'ހޯމަ',
11170
+ 'އަންގާރަ',
11171
+ 'ބުދަ',
11172
+ 'ބުރާސްފަތި',
11173
+ 'ހުކުރު',
11174
+ 'ހޮނިހިރު',
11175
+ ];
11176
+
11177
+ var dv = moment.defineLocale('dv', {
11178
+ months: months,
11179
+ monthsShort: months,
11180
+ weekdays: weekdays,
11181
+ weekdaysShort: weekdays,
11182
+ weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
11183
+ longDateFormat: {
11184
+ LT: 'HH:mm',
11185
+ LTS: 'HH:mm:ss',
11186
+ L: 'D/M/YYYY',
11187
+ LL: 'D MMMM YYYY',
11188
+ LLL: 'D MMMM YYYY HH:mm',
11189
+ LLLL: 'dddd D MMMM YYYY HH:mm',
11190
+ },
11191
+ meridiemParse: /މކ|މފ/,
11192
+ isPM: function (input) {
11193
+ return 'މފ' === input;
11194
+ },
11195
+ meridiem: function (hour, minute, isLower) {
11196
+ if (hour < 12) {
11197
+ return 'މކ';
11198
+ } else {
11199
+ return 'މފ';
11200
+ }
11201
+ },
11202
+ calendar: {
11203
+ sameDay: '[މިއަދު] LT',
11204
+ nextDay: '[މާދަމާ] LT',
11205
+ nextWeek: 'dddd LT',
11206
+ lastDay: '[އިއްޔެ] LT',
11207
+ lastWeek: '[ފާއިތުވި] dddd LT',
11208
+ sameElse: 'L',
11209
+ },
11210
+ relativeTime: {
11211
+ future: 'ތެރޭގައި %s',
11212
+ past: 'ކުރިން %s',
11213
+ s: 'ސިކުންތުކޮޅެއް',
11214
+ ss: 'd% ސިކުންތު',
11215
+ m: 'މިނިޓެއް',
11216
+ mm: 'މިނިޓު %d',
11217
+ h: 'ގަޑިއިރެއް',
11218
+ hh: 'ގަޑިއިރު %d',
11219
+ d: 'ދުވަހެއް',
11220
+ dd: 'ދުވަސް %d',
11221
+ M: 'މަހެއް',
11222
+ MM: 'މަސް %d',
11223
+ y: 'އަހަރެއް',
11224
+ yy: 'އަހަރު %d',
11225
+ },
11226
+ preparse: function (string) {
11227
+ return string.replace(/،/g, ',');
11228
+ },
11229
+ postformat: function (string) {
11230
+ return string.replace(/,/g, '،');
11231
+ },
11232
+ week: {
11233
+ dow: 7, // Sunday is the first day of the week.
11234
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
11235
+ },
11236
+ });
11237
+
11238
+ return dv;
11239
+
11240
+ })));
11241
+
11242
+
11243
+ /***/ }),
11244
+ /* 97 */
11245
+ /***/ (function(module, exports, __webpack_require__) {
11246
+
11247
+ //! moment.js locale configuration
11248
+ //! locale : Greek [el]
11249
+ //! author : Aggelos Karalias : https://github.com/mehiel
11250
+
11251
+ ;(function (global, factory) {
11252
+ true ? factory(__webpack_require__(0)) :
11253
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11254
+ factory(global.moment)
11255
+ }(this, (function (moment) { 'use strict';
11256
+
11257
+ //! moment.js locale configuration
11258
+
11259
+ function isFunction(input) {
11260
+ return (
11261
+ (typeof Function !== 'undefined' && input instanceof Function) ||
11262
+ Object.prototype.toString.call(input) === '[object Function]'
11263
+ );
11264
+ }
11265
+
11266
+ var el = moment.defineLocale('el', {
11267
+ monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(
11268
+ '_'
11269
+ ),
11270
+ monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(
11271
+ '_'
11272
+ ),
11273
+ months: function (momentToFormat, format) {
11274
+ if (!momentToFormat) {
11275
+ return this._monthsNominativeEl;
11276
+ } else if (
11277
+ typeof format === 'string' &&
11278
+ /D/.test(format.substring(0, format.indexOf('MMMM')))
11279
+ ) {
11280
+ // if there is a day number before 'MMMM'
11281
+ return this._monthsGenitiveEl[momentToFormat.month()];
11282
+ } else {
11283
+ return this._monthsNominativeEl[momentToFormat.month()];
11284
+ }
11285
+ },
11286
+ monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
11287
+ weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(
11288
+ '_'
11289
+ ),
11290
+ weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
11291
+ weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
11292
+ meridiem: function (hours, minutes, isLower) {
11293
+ if (hours > 11) {
11294
+ return isLower ? 'μμ' : 'ΜΜ';
11295
+ } else {
11296
+ return isLower ? 'πμ' : 'ΠΜ';
11297
+ }
11298
+ },
11299
+ isPM: function (input) {
11300
+ return (input + '').toLowerCase()[0] === 'μ';
11301
+ },
11302
+ meridiemParse: /[ΠΜ]\.?Μ?\.?/i,
11303
+ longDateFormat: {
11304
+ LT: 'h:mm A',
11305
+ LTS: 'h:mm:ss A',
11306
+ L: 'DD/MM/YYYY',
11307
+ LL: 'D MMMM YYYY',
11308
+ LLL: 'D MMMM YYYY h:mm A',
11309
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
11310
+ },
11311
+ calendarEl: {
11312
+ sameDay: '[Σήμερα {}] LT',
11313
+ nextDay: '[Αύριο {}] LT',
11314
+ nextWeek: 'dddd [{}] LT',
11315
+ lastDay: '[Χθες {}] LT',
11316
+ lastWeek: function () {
11317
+ switch (this.day()) {
11318
+ case 6:
11319
+ return '[το προηγούμενο] dddd [{}] LT';
11320
+ default:
11321
+ return '[την προηγούμενη] dddd [{}] LT';
11322
+ }
11323
+ },
11324
+ sameElse: 'L',
11325
+ },
11326
+ calendar: function (key, mom) {
11327
+ var output = this._calendarEl[key],
11328
+ hours = mom && mom.hours();
11329
+ if (isFunction(output)) {
11330
+ output = output.apply(mom);
11331
+ }
11332
+ return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');
11333
+ },
11334
+ relativeTime: {
11335
+ future: 'σε %s',
11336
+ past: '%s πριν',
11337
+ s: 'λίγα δευτερόλεπτα',
11338
+ ss: '%d δευτερόλεπτα',
11339
+ m: 'ένα λεπτό',
11340
+ mm: '%d λεπτά',
11341
+ h: 'μία ώρα',
11342
+ hh: '%d ώρες',
11343
+ d: 'μία μέρα',
11344
+ dd: '%d μέρες',
11345
+ M: 'ένας μήνας',
11346
+ MM: '%d μήνες',
11347
+ y: 'ένας χρόνος',
11348
+ yy: '%d χρόνια',
11349
+ },
11350
+ dayOfMonthOrdinalParse: /\d{1,2}η/,
11351
+ ordinal: '%dη',
11352
+ week: {
11353
+ dow: 1, // Monday is the first day of the week.
11354
+ doy: 4, // The week that contains Jan 4st is the first week of the year.
11355
+ },
11356
+ });
11357
+
11358
+ return el;
11359
+
11360
+ })));
11361
+
11362
+
11363
+ /***/ }),
11364
+ /* 98 */
11365
+ /***/ (function(module, exports, __webpack_require__) {
11366
+
11367
+ //! moment.js locale configuration
11368
+ //! locale : English (Australia) [en-au]
11369
+ //! author : Jared Morse : https://github.com/jarcoal
11370
+
11371
+ ;(function (global, factory) {
11372
+ true ? factory(__webpack_require__(0)) :
11373
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11374
+ factory(global.moment)
11375
+ }(this, (function (moment) { 'use strict';
11376
+
11377
+ //! moment.js locale configuration
11378
+
11379
+ var enAu = moment.defineLocale('en-au', {
11380
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11381
+ '_'
11382
+ ),
11383
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11384
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11385
+ '_'
11386
+ ),
11387
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11388
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11389
+ longDateFormat: {
11390
+ LT: 'h:mm A',
11391
+ LTS: 'h:mm:ss A',
11392
+ L: 'DD/MM/YYYY',
11393
+ LL: 'D MMMM YYYY',
11394
+ LLL: 'D MMMM YYYY h:mm A',
11395
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
11396
+ },
11397
+ calendar: {
11398
+ sameDay: '[Today at] LT',
11399
+ nextDay: '[Tomorrow at] LT',
11400
+ nextWeek: 'dddd [at] LT',
11401
+ lastDay: '[Yesterday at] LT',
11402
+ lastWeek: '[Last] dddd [at] LT',
11403
+ sameElse: 'L',
11404
+ },
11405
+ relativeTime: {
11406
+ future: 'in %s',
11407
+ past: '%s ago',
11408
+ s: 'a few seconds',
11409
+ ss: '%d seconds',
11410
+ m: 'a minute',
11411
+ mm: '%d minutes',
11412
+ h: 'an hour',
11413
+ hh: '%d hours',
11414
+ d: 'a day',
11415
+ dd: '%d days',
11416
+ M: 'a month',
11417
+ MM: '%d months',
11418
+ y: 'a year',
11419
+ yy: '%d years',
11420
+ },
11421
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11422
+ ordinal: function (number) {
11423
+ var b = number % 10,
11424
+ output =
11425
+ ~~((number % 100) / 10) === 1
11426
+ ? 'th'
11427
+ : b === 1
11428
+ ? 'st'
11429
+ : b === 2
11430
+ ? 'nd'
11431
+ : b === 3
11432
+ ? 'rd'
11433
+ : 'th';
11434
+ return number + output;
11435
+ },
11436
+ week: {
11437
+ dow: 0, // Sunday is the first day of the week.
11438
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11439
+ },
11440
+ });
11441
+
11442
+ return enAu;
11443
+
11444
+ })));
11445
+
11446
+
11447
+ /***/ }),
11448
+ /* 99 */
11449
+ /***/ (function(module, exports, __webpack_require__) {
11450
+
11451
+ //! moment.js locale configuration
11452
+ //! locale : English (Canada) [en-ca]
11453
+ //! author : Jonathan Abourbih : https://github.com/jonbca
11454
+
11455
+ ;(function (global, factory) {
11456
+ true ? factory(__webpack_require__(0)) :
11457
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11458
+ factory(global.moment)
11459
+ }(this, (function (moment) { 'use strict';
11460
+
11461
+ //! moment.js locale configuration
11462
+
11463
+ var enCa = moment.defineLocale('en-ca', {
11464
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11465
+ '_'
11466
+ ),
11467
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11468
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11469
+ '_'
11470
+ ),
11471
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11472
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11473
+ longDateFormat: {
11474
+ LT: 'h:mm A',
11475
+ LTS: 'h:mm:ss A',
11476
+ L: 'YYYY-MM-DD',
11477
+ LL: 'MMMM D, YYYY',
11478
+ LLL: 'MMMM D, YYYY h:mm A',
11479
+ LLLL: 'dddd, MMMM D, YYYY h:mm A',
11480
+ },
11481
+ calendar: {
11482
+ sameDay: '[Today at] LT',
11483
+ nextDay: '[Tomorrow at] LT',
11484
+ nextWeek: 'dddd [at] LT',
11485
+ lastDay: '[Yesterday at] LT',
11486
+ lastWeek: '[Last] dddd [at] LT',
11487
+ sameElse: 'L',
11488
+ },
11489
+ relativeTime: {
11490
+ future: 'in %s',
11491
+ past: '%s ago',
11492
+ s: 'a few seconds',
11493
+ ss: '%d seconds',
11494
+ m: 'a minute',
11495
+ mm: '%d minutes',
11496
+ h: 'an hour',
11497
+ hh: '%d hours',
11498
+ d: 'a day',
11499
+ dd: '%d days',
11500
+ M: 'a month',
11501
+ MM: '%d months',
11502
+ y: 'a year',
11503
+ yy: '%d years',
11504
+ },
11505
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11506
+ ordinal: function (number) {
11507
+ var b = number % 10,
11508
+ output =
11509
+ ~~((number % 100) / 10) === 1
11510
+ ? 'th'
11511
+ : b === 1
11512
+ ? 'st'
11513
+ : b === 2
11514
+ ? 'nd'
11515
+ : b === 3
11516
+ ? 'rd'
11517
+ : 'th';
11518
+ return number + output;
11519
+ },
11520
+ });
11521
+
11522
+ return enCa;
11523
+
11524
+ })));
11525
+
11526
+
11527
+ /***/ }),
11528
+ /* 100 */
11529
+ /***/ (function(module, exports, __webpack_require__) {
11530
+
11531
+ //! moment.js locale configuration
11532
+ //! locale : English (United Kingdom) [en-gb]
11533
+ //! author : Chris Gedrim : https://github.com/chrisgedrim
11534
+
11535
+ ;(function (global, factory) {
11536
+ true ? factory(__webpack_require__(0)) :
11537
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11538
+ factory(global.moment)
11539
+ }(this, (function (moment) { 'use strict';
11540
+
11541
+ //! moment.js locale configuration
11542
+
11543
+ var enGb = moment.defineLocale('en-gb', {
11544
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11545
+ '_'
11546
+ ),
11547
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11548
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11549
+ '_'
11550
+ ),
11551
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11552
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11553
+ longDateFormat: {
11554
+ LT: 'HH:mm',
11555
+ LTS: 'HH:mm:ss',
11556
+ L: 'DD/MM/YYYY',
11557
+ LL: 'D MMMM YYYY',
11558
+ LLL: 'D MMMM YYYY HH:mm',
11559
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
11560
+ },
11561
+ calendar: {
11562
+ sameDay: '[Today at] LT',
11563
+ nextDay: '[Tomorrow at] LT',
11564
+ nextWeek: 'dddd [at] LT',
11565
+ lastDay: '[Yesterday at] LT',
11566
+ lastWeek: '[Last] dddd [at] LT',
11567
+ sameElse: 'L',
11568
+ },
11569
+ relativeTime: {
11570
+ future: 'in %s',
11571
+ past: '%s ago',
11572
+ s: 'a few seconds',
11573
+ ss: '%d seconds',
11574
+ m: 'a minute',
11575
+ mm: '%d minutes',
11576
+ h: 'an hour',
11577
+ hh: '%d hours',
11578
+ d: 'a day',
11579
+ dd: '%d days',
11580
+ M: 'a month',
11581
+ MM: '%d months',
11582
+ y: 'a year',
11583
+ yy: '%d years',
11584
+ },
11585
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11586
+ ordinal: function (number) {
11587
+ var b = number % 10,
11588
+ output =
11589
+ ~~((number % 100) / 10) === 1
11590
+ ? 'th'
11591
+ : b === 1
11592
+ ? 'st'
11593
+ : b === 2
11594
+ ? 'nd'
11595
+ : b === 3
11596
+ ? 'rd'
11597
+ : 'th';
11598
+ return number + output;
11599
+ },
11600
+ week: {
11601
+ dow: 1, // Monday is the first day of the week.
11602
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11603
+ },
11604
+ });
11605
+
11606
+ return enGb;
11607
+
11608
+ })));
11609
+
11610
+
11611
+ /***/ }),
11612
+ /* 101 */
11613
+ /***/ (function(module, exports, __webpack_require__) {
11614
+
11615
+ //! moment.js locale configuration
11616
+ //! locale : English (Ireland) [en-ie]
11617
+ //! author : Chris Cartlidge : https://github.com/chriscartlidge
11618
+
11619
+ ;(function (global, factory) {
11620
+ true ? factory(__webpack_require__(0)) :
11621
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11622
+ factory(global.moment)
11623
+ }(this, (function (moment) { 'use strict';
11624
+
11625
+ //! moment.js locale configuration
11626
+
11627
+ var enIe = moment.defineLocale('en-ie', {
11628
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11629
+ '_'
11630
+ ),
11631
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11632
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11633
+ '_'
11634
+ ),
11635
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11636
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11637
+ longDateFormat: {
11638
+ LT: 'HH:mm',
11639
+ LTS: 'HH:mm:ss',
11640
+ L: 'DD/MM/YYYY',
11641
+ LL: 'D MMMM YYYY',
11642
+ LLL: 'D MMMM YYYY HH:mm',
11643
+ LLLL: 'dddd D MMMM YYYY HH:mm',
11644
+ },
11645
+ calendar: {
11646
+ sameDay: '[Today at] LT',
11647
+ nextDay: '[Tomorrow at] LT',
11648
+ nextWeek: 'dddd [at] LT',
11649
+ lastDay: '[Yesterday at] LT',
11650
+ lastWeek: '[Last] dddd [at] LT',
11651
+ sameElse: 'L',
11652
+ },
11653
+ relativeTime: {
11654
+ future: 'in %s',
11655
+ past: '%s ago',
11656
+ s: 'a few seconds',
11657
+ ss: '%d seconds',
11658
+ m: 'a minute',
11659
+ mm: '%d minutes',
11660
+ h: 'an hour',
11661
+ hh: '%d hours',
11662
+ d: 'a day',
11663
+ dd: '%d days',
11664
+ M: 'a month',
11665
+ MM: '%d months',
11666
+ y: 'a year',
11667
+ yy: '%d years',
11668
+ },
11669
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11670
+ ordinal: function (number) {
11671
+ var b = number % 10,
11672
+ output =
11673
+ ~~((number % 100) / 10) === 1
11674
+ ? 'th'
11675
+ : b === 1
11676
+ ? 'st'
11677
+ : b === 2
11678
+ ? 'nd'
11679
+ : b === 3
11680
+ ? 'rd'
11681
+ : 'th';
11682
+ return number + output;
11683
+ },
11684
+ week: {
11685
+ dow: 1, // Monday is the first day of the week.
11686
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11687
+ },
11688
+ });
11689
+
11690
+ return enIe;
11691
+
11692
+ })));
11693
+
11694
+
11695
+ /***/ }),
11696
+ /* 102 */
11697
+ /***/ (function(module, exports, __webpack_require__) {
11698
+
11699
+ //! moment.js locale configuration
11700
+ //! locale : English (Israel) [en-il]
11701
+ //! author : Chris Gedrim : https://github.com/chrisgedrim
11702
+
11703
+ ;(function (global, factory) {
11704
+ true ? factory(__webpack_require__(0)) :
11705
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11706
+ factory(global.moment)
11707
+ }(this, (function (moment) { 'use strict';
11708
+
11709
+ //! moment.js locale configuration
11710
+
11711
+ var enIl = moment.defineLocale('en-il', {
11712
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11713
+ '_'
11714
+ ),
11715
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11716
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11717
+ '_'
11718
+ ),
11719
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11720
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11721
+ longDateFormat: {
11722
+ LT: 'HH:mm',
11723
+ LTS: 'HH:mm:ss',
11724
+ L: 'DD/MM/YYYY',
11725
+ LL: 'D MMMM YYYY',
11726
+ LLL: 'D MMMM YYYY HH:mm',
11727
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
11728
+ },
11729
+ calendar: {
11730
+ sameDay: '[Today at] LT',
11731
+ nextDay: '[Tomorrow at] LT',
11732
+ nextWeek: 'dddd [at] LT',
11733
+ lastDay: '[Yesterday at] LT',
11734
+ lastWeek: '[Last] dddd [at] LT',
11735
+ sameElse: 'L',
11736
+ },
11737
+ relativeTime: {
11738
+ future: 'in %s',
11739
+ past: '%s ago',
11740
+ s: 'a few seconds',
11741
+ ss: '%d seconds',
11742
+ m: 'a minute',
11743
+ mm: '%d minutes',
11744
+ h: 'an hour',
11745
+ hh: '%d hours',
11746
+ d: 'a day',
11747
+ dd: '%d days',
11748
+ M: 'a month',
11749
+ MM: '%d months',
11750
+ y: 'a year',
11751
+ yy: '%d years',
11752
+ },
11753
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11754
+ ordinal: function (number) {
11755
+ var b = number % 10,
11756
+ output =
11757
+ ~~((number % 100) / 10) === 1
11758
+ ? 'th'
11759
+ : b === 1
11760
+ ? 'st'
11761
+ : b === 2
11762
+ ? 'nd'
11763
+ : b === 3
11764
+ ? 'rd'
11765
+ : 'th';
11766
+ return number + output;
11767
+ },
11768
+ });
11769
+
11770
+ return enIl;
11771
+
11772
+ })));
11773
+
11774
+
11775
+ /***/ }),
11776
+ /* 103 */
11777
+ /***/ (function(module, exports, __webpack_require__) {
11778
+
11779
+ //! moment.js locale configuration
11780
+ //! locale : English (India) [en-in]
11781
+ //! author : Jatin Agrawal : https://github.com/jatinag22
11782
+
11783
+ ;(function (global, factory) {
11784
+ true ? factory(__webpack_require__(0)) :
11785
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11786
+ factory(global.moment)
11787
+ }(this, (function (moment) { 'use strict';
11788
+
11789
+ //! moment.js locale configuration
11790
+
11791
+ var enIn = moment.defineLocale('en-in', {
11792
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11793
+ '_'
11794
+ ),
11795
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11796
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11797
+ '_'
11798
+ ),
11799
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11800
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11801
+ longDateFormat: {
11802
+ LT: 'h:mm A',
11803
+ LTS: 'h:mm:ss A',
11804
+ L: 'DD/MM/YYYY',
11805
+ LL: 'D MMMM YYYY',
11806
+ LLL: 'D MMMM YYYY h:mm A',
11807
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
11808
+ },
11809
+ calendar: {
11810
+ sameDay: '[Today at] LT',
11811
+ nextDay: '[Tomorrow at] LT',
11812
+ nextWeek: 'dddd [at] LT',
11813
+ lastDay: '[Yesterday at] LT',
11814
+ lastWeek: '[Last] dddd [at] LT',
11815
+ sameElse: 'L',
11816
+ },
11817
+ relativeTime: {
11818
+ future: 'in %s',
11819
+ past: '%s ago',
11820
+ s: 'a few seconds',
11821
+ ss: '%d seconds',
11822
+ m: 'a minute',
11823
+ mm: '%d minutes',
11824
+ h: 'an hour',
11825
+ hh: '%d hours',
11826
+ d: 'a day',
11827
+ dd: '%d days',
11828
+ M: 'a month',
11829
+ MM: '%d months',
11830
+ y: 'a year',
11831
+ yy: '%d years',
11832
+ },
11833
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11834
+ ordinal: function (number) {
11835
+ var b = number % 10,
11836
+ output =
11837
+ ~~((number % 100) / 10) === 1
11838
+ ? 'th'
11839
+ : b === 1
11840
+ ? 'st'
11841
+ : b === 2
11842
+ ? 'nd'
11843
+ : b === 3
11844
+ ? 'rd'
11845
+ : 'th';
11846
+ return number + output;
11847
+ },
11848
+ week: {
11849
+ dow: 0, // Sunday is the first day of the week.
11850
+ doy: 6, // The week that contains Jan 1st is the first week of the year.
11851
+ },
11852
+ });
11853
+
11854
+ return enIn;
11855
+
11856
+ })));
11857
+
11858
+
11859
+ /***/ }),
11860
+ /* 104 */
11861
+ /***/ (function(module, exports, __webpack_require__) {
11862
+
11863
+ //! moment.js locale configuration
11864
+ //! locale : English (New Zealand) [en-nz]
11865
+ //! author : Luke McGregor : https://github.com/lukemcgregor
11866
+
11867
+ ;(function (global, factory) {
11868
+ true ? factory(__webpack_require__(0)) :
11869
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11870
+ factory(global.moment)
11871
+ }(this, (function (moment) { 'use strict';
11872
+
11873
+ //! moment.js locale configuration
11874
+
11875
+ var enNz = moment.defineLocale('en-nz', {
11876
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11877
+ '_'
11878
+ ),
11879
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11880
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11881
+ '_'
11882
+ ),
11883
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11884
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11885
+ longDateFormat: {
11886
+ LT: 'h:mm A',
11887
+ LTS: 'h:mm:ss A',
11888
+ L: 'DD/MM/YYYY',
11889
+ LL: 'D MMMM YYYY',
11890
+ LLL: 'D MMMM YYYY h:mm A',
11891
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
11892
+ },
11893
+ calendar: {
11894
+ sameDay: '[Today at] LT',
11895
+ nextDay: '[Tomorrow at] LT',
11896
+ nextWeek: 'dddd [at] LT',
11897
+ lastDay: '[Yesterday at] LT',
11898
+ lastWeek: '[Last] dddd [at] LT',
11899
+ sameElse: 'L',
11900
+ },
11901
+ relativeTime: {
11902
+ future: 'in %s',
11903
+ past: '%s ago',
11904
+ s: 'a few seconds',
11905
+ ss: '%d seconds',
11906
+ m: 'a minute',
11907
+ mm: '%d minutes',
11908
+ h: 'an hour',
11909
+ hh: '%d hours',
11910
+ d: 'a day',
11911
+ dd: '%d days',
11912
+ M: 'a month',
11913
+ MM: '%d months',
11914
+ y: 'a year',
11915
+ yy: '%d years',
11916
+ },
11917
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
11918
+ ordinal: function (number) {
11919
+ var b = number % 10,
11920
+ output =
11921
+ ~~((number % 100) / 10) === 1
11922
+ ? 'th'
11923
+ : b === 1
11924
+ ? 'st'
11925
+ : b === 2
11926
+ ? 'nd'
11927
+ : b === 3
11928
+ ? 'rd'
11929
+ : 'th';
11930
+ return number + output;
11931
+ },
11932
+ week: {
11933
+ dow: 1, // Monday is the first day of the week.
11934
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
11935
+ },
11936
+ });
11937
+
11938
+ return enNz;
11939
+
11940
+ })));
11941
+
11942
+
11943
+ /***/ }),
11944
+ /* 105 */
11945
+ /***/ (function(module, exports, __webpack_require__) {
11946
+
11947
+ //! moment.js locale configuration
11948
+ //! locale : English (Singapore) [en-sg]
11949
+ //! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
11950
+
11951
+ ;(function (global, factory) {
11952
+ true ? factory(__webpack_require__(0)) :
11953
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11954
+ factory(global.moment)
11955
+ }(this, (function (moment) { 'use strict';
11956
+
11957
+ //! moment.js locale configuration
11958
+
11959
+ var enSg = moment.defineLocale('en-sg', {
11960
+ months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(
11961
+ '_'
11962
+ ),
11963
+ monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
11964
+ weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(
11965
+ '_'
11966
+ ),
11967
+ weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
11968
+ weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
11969
+ longDateFormat: {
11970
+ LT: 'HH:mm',
11971
+ LTS: 'HH:mm:ss',
11972
+ L: 'DD/MM/YYYY',
11973
+ LL: 'D MMMM YYYY',
11974
+ LLL: 'D MMMM YYYY HH:mm',
11975
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
11976
+ },
11977
+ calendar: {
11978
+ sameDay: '[Today at] LT',
11979
+ nextDay: '[Tomorrow at] LT',
11980
+ nextWeek: 'dddd [at] LT',
11981
+ lastDay: '[Yesterday at] LT',
11982
+ lastWeek: '[Last] dddd [at] LT',
11983
+ sameElse: 'L',
11984
+ },
11985
+ relativeTime: {
11986
+ future: 'in %s',
11987
+ past: '%s ago',
11988
+ s: 'a few seconds',
11989
+ ss: '%d seconds',
11990
+ m: 'a minute',
11991
+ mm: '%d minutes',
11992
+ h: 'an hour',
11993
+ hh: '%d hours',
11994
+ d: 'a day',
11995
+ dd: '%d days',
11996
+ M: 'a month',
11997
+ MM: '%d months',
11998
+ y: 'a year',
11999
+ yy: '%d years',
12000
+ },
12001
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
12002
+ ordinal: function (number) {
12003
+ var b = number % 10,
12004
+ output =
12005
+ ~~((number % 100) / 10) === 1
12006
+ ? 'th'
12007
+ : b === 1
12008
+ ? 'st'
12009
+ : b === 2
12010
+ ? 'nd'
12011
+ : b === 3
12012
+ ? 'rd'
12013
+ : 'th';
12014
+ return number + output;
12015
+ },
12016
+ week: {
12017
+ dow: 1, // Monday is the first day of the week.
12018
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12019
+ },
12020
+ });
12021
+
12022
+ return enSg;
12023
+
12024
+ })));
12025
+
12026
+
12027
+ /***/ }),
12028
+ /* 106 */
12029
+ /***/ (function(module, exports, __webpack_require__) {
12030
+
12031
+ //! moment.js locale configuration
12032
+ //! locale : Esperanto [eo]
12033
+ //! author : Colin Dean : https://github.com/colindean
12034
+ //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
12035
+ //! comment : miestasmia corrected the translation by colindean
12036
+ //! comment : Vivakvo corrected the translation by colindean and miestasmia
12037
+
12038
+ ;(function (global, factory) {
12039
+ true ? factory(__webpack_require__(0)) :
12040
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12041
+ factory(global.moment)
12042
+ }(this, (function (moment) { 'use strict';
12043
+
12044
+ //! moment.js locale configuration
12045
+
12046
+ var eo = moment.defineLocale('eo', {
12047
+ months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(
12048
+ '_'
12049
+ ),
12050
+ monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),
12051
+ weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
12052
+ weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
12053
+ weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
12054
+ longDateFormat: {
12055
+ LT: 'HH:mm',
12056
+ LTS: 'HH:mm:ss',
12057
+ L: 'YYYY-MM-DD',
12058
+ LL: '[la] D[-an de] MMMM, YYYY',
12059
+ LLL: '[la] D[-an de] MMMM, YYYY HH:mm',
12060
+ LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',
12061
+ llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',
12062
+ },
12063
+ meridiemParse: /[ap]\.t\.m/i,
12064
+ isPM: function (input) {
12065
+ return input.charAt(0).toLowerCase() === 'p';
12066
+ },
12067
+ meridiem: function (hours, minutes, isLower) {
12068
+ if (hours > 11) {
12069
+ return isLower ? 'p.t.m.' : 'P.T.M.';
12070
+ } else {
12071
+ return isLower ? 'a.t.m.' : 'A.T.M.';
12072
+ }
12073
+ },
12074
+ calendar: {
12075
+ sameDay: '[Hodiaŭ je] LT',
12076
+ nextDay: '[Morgaŭ je] LT',
12077
+ nextWeek: 'dddd[n je] LT',
12078
+ lastDay: '[Hieraŭ je] LT',
12079
+ lastWeek: '[pasintan] dddd[n je] LT',
12080
+ sameElse: 'L',
12081
+ },
12082
+ relativeTime: {
12083
+ future: 'post %s',
12084
+ past: 'antaŭ %s',
12085
+ s: 'kelkaj sekundoj',
12086
+ ss: '%d sekundoj',
12087
+ m: 'unu minuto',
12088
+ mm: '%d minutoj',
12089
+ h: 'unu horo',
12090
+ hh: '%d horoj',
12091
+ d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo
12092
+ dd: '%d tagoj',
12093
+ M: 'unu monato',
12094
+ MM: '%d monatoj',
12095
+ y: 'unu jaro',
12096
+ yy: '%d jaroj',
12097
+ },
12098
+ dayOfMonthOrdinalParse: /\d{1,2}a/,
12099
+ ordinal: '%da',
12100
+ week: {
12101
+ dow: 1, // Monday is the first day of the week.
12102
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
12103
+ },
12104
+ });
12105
+
12106
+ return eo;
12107
+
12108
+ })));
12109
+
12110
+
12111
+ /***/ }),
12112
+ /* 107 */
12113
+ /***/ (function(module, exports, __webpack_require__) {
12114
+
12115
+ //! moment.js locale configuration
12116
+ //! locale : Spanish [es]
12117
+ //! author : Julio Napurí : https://github.com/julionc
12118
+
12119
+ ;(function (global, factory) {
12120
+ true ? factory(__webpack_require__(0)) :
12121
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12122
+ factory(global.moment)
12123
+ }(this, (function (moment) { 'use strict';
12124
+
12125
+ //! moment.js locale configuration
12126
+
12127
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
12128
+ '_'
12129
+ ),
12130
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
12131
+ monthsParse = [
12132
+ /^ene/i,
12133
+ /^feb/i,
12134
+ /^mar/i,
12135
+ /^abr/i,
12136
+ /^may/i,
12137
+ /^jun/i,
12138
+ /^jul/i,
12139
+ /^ago/i,
12140
+ /^sep/i,
12141
+ /^oct/i,
12142
+ /^nov/i,
12143
+ /^dic/i,
12144
+ ],
12145
+ 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;
12146
+
12147
+ var es = moment.defineLocale('es', {
12148
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
12149
+ '_'
12150
+ ),
12151
+ monthsShort: function (m, format) {
12152
+ if (!m) {
12153
+ return monthsShortDot;
12154
+ } else if (/-MMM-/.test(format)) {
12155
+ return monthsShort[m.month()];
12156
+ } else {
12157
+ return monthsShortDot[m.month()];
12158
+ }
12159
+ },
12160
+ monthsRegex: monthsRegex,
12161
+ monthsShortRegex: monthsRegex,
12162
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
12163
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
12164
+ monthsParse: monthsParse,
12165
+ longMonthsParse: monthsParse,
12166
+ shortMonthsParse: monthsParse,
12167
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
12168
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
12169
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
12170
+ weekdaysParseExact: true,
12171
+ longDateFormat: {
12172
+ LT: 'H:mm',
12173
+ LTS: 'H:mm:ss',
12174
+ L: 'DD/MM/YYYY',
12175
+ LL: 'D [de] MMMM [de] YYYY',
12176
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
12177
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
12178
+ },
12179
+ calendar: {
12180
+ sameDay: function () {
12181
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12182
+ },
12183
+ nextDay: function () {
12184
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12185
+ },
12186
+ nextWeek: function () {
12187
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12188
+ },
12189
+ lastDay: function () {
12190
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12191
+ },
12192
+ lastWeek: function () {
12193
+ return (
12194
+ '[el] dddd [pasado a la' +
12195
+ (this.hours() !== 1 ? 's' : '') +
12196
+ '] LT'
12197
+ );
12198
+ },
12199
+ sameElse: 'L',
12200
+ },
12201
+ relativeTime: {
12202
+ future: 'en %s',
12203
+ past: 'hace %s',
12204
+ s: 'unos segundos',
12205
+ ss: '%d segundos',
12206
+ m: 'un minuto',
12207
+ mm: '%d minutos',
12208
+ h: 'una hora',
12209
+ hh: '%d horas',
12210
+ d: 'un día',
12211
+ dd: '%d días',
12212
+ M: 'un mes',
12213
+ MM: '%d meses',
12214
+ y: 'un año',
12215
+ yy: '%d años',
12216
+ },
12217
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
12218
+ ordinal: '%dº',
12219
+ week: {
12220
+ dow: 1, // Monday is the first day of the week.
12221
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12222
+ },
12223
+ invalidDate: 'Fecha invalida',
12224
+ });
12225
+
12226
+ return es;
12227
+
12228
+ })));
12229
+
12230
+
12231
+ /***/ }),
12232
+ /* 108 */
12233
+ /***/ (function(module, exports, __webpack_require__) {
12234
+
12235
+ //! moment.js locale configuration
12236
+ //! locale : Spanish (Dominican Republic) [es-do]
12237
+
12238
+ ;(function (global, factory) {
12239
+ true ? factory(__webpack_require__(0)) :
12240
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12241
+ factory(global.moment)
12242
+ }(this, (function (moment) { 'use strict';
12243
+
12244
+ //! moment.js locale configuration
12245
+
12246
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
12247
+ '_'
12248
+ ),
12249
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
12250
+ monthsParse = [
12251
+ /^ene/i,
12252
+ /^feb/i,
12253
+ /^mar/i,
12254
+ /^abr/i,
12255
+ /^may/i,
12256
+ /^jun/i,
12257
+ /^jul/i,
12258
+ /^ago/i,
12259
+ /^sep/i,
12260
+ /^oct/i,
12261
+ /^nov/i,
12262
+ /^dic/i,
12263
+ ],
12264
+ 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;
12265
+
12266
+ var esDo = moment.defineLocale('es-do', {
12267
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
12268
+ '_'
12269
+ ),
12270
+ monthsShort: function (m, format) {
12271
+ if (!m) {
12272
+ return monthsShortDot;
12273
+ } else if (/-MMM-/.test(format)) {
12274
+ return monthsShort[m.month()];
12275
+ } else {
12276
+ return monthsShortDot[m.month()];
12277
+ }
12278
+ },
12279
+ monthsRegex: monthsRegex,
12280
+ monthsShortRegex: monthsRegex,
12281
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
12282
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
12283
+ monthsParse: monthsParse,
12284
+ longMonthsParse: monthsParse,
12285
+ shortMonthsParse: monthsParse,
12286
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
12287
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
12288
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
12289
+ weekdaysParseExact: true,
12290
+ longDateFormat: {
12291
+ LT: 'h:mm A',
12292
+ LTS: 'h:mm:ss A',
12293
+ L: 'DD/MM/YYYY',
12294
+ LL: 'D [de] MMMM [de] YYYY',
12295
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
12296
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
12297
+ },
12298
+ calendar: {
12299
+ sameDay: function () {
12300
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12301
+ },
12302
+ nextDay: function () {
12303
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12304
+ },
12305
+ nextWeek: function () {
12306
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12307
+ },
12308
+ lastDay: function () {
12309
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12310
+ },
12311
+ lastWeek: function () {
12312
+ return (
12313
+ '[el] dddd [pasado a la' +
12314
+ (this.hours() !== 1 ? 's' : '') +
12315
+ '] LT'
12316
+ );
12317
+ },
12318
+ sameElse: 'L',
12319
+ },
12320
+ relativeTime: {
12321
+ future: 'en %s',
12322
+ past: 'hace %s',
12323
+ s: 'unos segundos',
12324
+ ss: '%d segundos',
12325
+ m: 'un minuto',
12326
+ mm: '%d minutos',
12327
+ h: 'una hora',
12328
+ hh: '%d horas',
12329
+ d: 'un día',
12330
+ dd: '%d días',
12331
+ M: 'un mes',
12332
+ MM: '%d meses',
12333
+ y: 'un año',
12334
+ yy: '%d años',
12335
+ },
12336
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
12337
+ ordinal: '%dº',
12338
+ week: {
12339
+ dow: 1, // Monday is the first day of the week.
12340
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12341
+ },
12342
+ });
12343
+
12344
+ return esDo;
12345
+
12346
+ })));
12347
+
12348
+
12349
+ /***/ }),
12350
+ /* 109 */
12351
+ /***/ (function(module, exports, __webpack_require__) {
12352
+
12353
+ //! moment.js locale configuration
12354
+ //! locale : Spanish (United States) [es-us]
12355
+ //! author : bustta : https://github.com/bustta
12356
+ //! author : chrisrodz : https://github.com/chrisrodz
12357
+
12358
+ ;(function (global, factory) {
12359
+ true ? factory(__webpack_require__(0)) :
12360
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12361
+ factory(global.moment)
12362
+ }(this, (function (moment) { 'use strict';
12363
+
12364
+ //! moment.js locale configuration
12365
+
12366
+ var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(
12367
+ '_'
12368
+ ),
12369
+ monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
12370
+ monthsParse = [
12371
+ /^ene/i,
12372
+ /^feb/i,
12373
+ /^mar/i,
12374
+ /^abr/i,
12375
+ /^may/i,
12376
+ /^jun/i,
12377
+ /^jul/i,
12378
+ /^ago/i,
12379
+ /^sep/i,
12380
+ /^oct/i,
12381
+ /^nov/i,
12382
+ /^dic/i,
12383
+ ],
12384
+ 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;
12385
+
12386
+ var esUs = moment.defineLocale('es-us', {
12387
+ months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(
12388
+ '_'
12389
+ ),
12390
+ monthsShort: function (m, format) {
12391
+ if (!m) {
12392
+ return monthsShortDot;
12393
+ } else if (/-MMM-/.test(format)) {
12394
+ return monthsShort[m.month()];
12395
+ } else {
12396
+ return monthsShortDot[m.month()];
12397
+ }
12398
+ },
12399
+ monthsRegex: monthsRegex,
12400
+ monthsShortRegex: monthsRegex,
12401
+ monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
12402
+ monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
12403
+ monthsParse: monthsParse,
12404
+ longMonthsParse: monthsParse,
12405
+ shortMonthsParse: monthsParse,
12406
+ weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
12407
+ weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
12408
+ weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
12409
+ weekdaysParseExact: true,
12410
+ longDateFormat: {
12411
+ LT: 'h:mm A',
12412
+ LTS: 'h:mm:ss A',
12413
+ L: 'MM/DD/YYYY',
12414
+ LL: 'D [de] MMMM [de] YYYY',
12415
+ LLL: 'D [de] MMMM [de] YYYY h:mm A',
12416
+ LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',
12417
+ },
12418
+ calendar: {
12419
+ sameDay: function () {
12420
+ return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12421
+ },
12422
+ nextDay: function () {
12423
+ return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12424
+ },
12425
+ nextWeek: function () {
12426
+ return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12427
+ },
12428
+ lastDay: function () {
12429
+ return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
12430
+ },
12431
+ lastWeek: function () {
12432
+ return (
12433
+ '[el] dddd [pasado a la' +
12434
+ (this.hours() !== 1 ? 's' : '') +
12435
+ '] LT'
12436
+ );
12437
+ },
12438
+ sameElse: 'L',
12439
+ },
12440
+ relativeTime: {
12441
+ future: 'en %s',
12442
+ past: 'hace %s',
12443
+ s: 'unos segundos',
12444
+ ss: '%d segundos',
12445
+ m: 'un minuto',
12446
+ mm: '%d minutos',
12447
+ h: 'una hora',
12448
+ hh: '%d horas',
12449
+ d: 'un día',
12450
+ dd: '%d días',
12451
+ M: 'un mes',
12452
+ MM: '%d meses',
12453
+ y: 'un año',
12454
+ yy: '%d años',
12455
+ },
12456
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
12457
+ ordinal: '%dº',
12458
+ week: {
12459
+ dow: 0, // Sunday is the first day of the week.
12460
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
12461
+ },
12462
+ });
12463
+
12464
+ return esUs;
12465
+
12466
+ })));
12467
+
12468
+
12469
+ /***/ }),
12470
+ /* 110 */
12471
+ /***/ (function(module, exports, __webpack_require__) {
12472
+
12473
+ //! moment.js locale configuration
12474
+ //! locale : Estonian [et]
12475
+ //! author : Henry Kehlmann : https://github.com/madhenry
12476
+ //! improvements : Illimar Tambek : https://github.com/ragulka
12477
+
12478
+ ;(function (global, factory) {
12479
+ true ? factory(__webpack_require__(0)) :
12480
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12481
+ factory(global.moment)
12482
+ }(this, (function (moment) { 'use strict';
12483
+
12484
+ //! moment.js locale configuration
12485
+
12486
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
12487
+ var format = {
12488
+ s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
12489
+ ss: [number + 'sekundi', number + 'sekundit'],
12490
+ m: ['ühe minuti', 'üks minut'],
12491
+ mm: [number + ' minuti', number + ' minutit'],
12492
+ h: ['ühe tunni', 'tund aega', 'üks tund'],
12493
+ hh: [number + ' tunni', number + ' tundi'],
12494
+ d: ['ühe päeva', 'üks päev'],
12495
+ M: ['kuu aja', 'kuu aega', 'üks kuu'],
12496
+ MM: [number + ' kuu', number + ' kuud'],
12497
+ y: ['ühe aasta', 'aasta', 'üks aasta'],
12498
+ yy: [number + ' aasta', number + ' aastat'],
12499
+ };
12500
+ if (withoutSuffix) {
12501
+ return format[key][2] ? format[key][2] : format[key][1];
12502
+ }
12503
+ return isFuture ? format[key][0] : format[key][1];
12504
+ }
12505
+
12506
+ var et = moment.defineLocale('et', {
12507
+ months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(
12508
+ '_'
12509
+ ),
12510
+ monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(
12511
+ '_'
12512
+ ),
12513
+ weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(
12514
+ '_'
12515
+ ),
12516
+ weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),
12517
+ weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),
12518
+ longDateFormat: {
12519
+ LT: 'H:mm',
12520
+ LTS: 'H:mm:ss',
12521
+ L: 'DD.MM.YYYY',
12522
+ LL: 'D. MMMM YYYY',
12523
+ LLL: 'D. MMMM YYYY H:mm',
12524
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
12525
+ },
12526
+ calendar: {
12527
+ sameDay: '[Täna,] LT',
12528
+ nextDay: '[Homme,] LT',
12529
+ nextWeek: '[Järgmine] dddd LT',
12530
+ lastDay: '[Eile,] LT',
12531
+ lastWeek: '[Eelmine] dddd LT',
12532
+ sameElse: 'L',
12533
+ },
12534
+ relativeTime: {
12535
+ future: '%s pärast',
12536
+ past: '%s tagasi',
12537
+ s: processRelativeTime,
12538
+ ss: processRelativeTime,
12539
+ m: processRelativeTime,
12540
+ mm: processRelativeTime,
12541
+ h: processRelativeTime,
12542
+ hh: processRelativeTime,
12543
+ d: processRelativeTime,
12544
+ dd: '%d päeva',
12545
+ M: processRelativeTime,
12546
+ MM: processRelativeTime,
12547
+ y: processRelativeTime,
12548
+ yy: processRelativeTime,
12549
+ },
12550
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
12551
+ ordinal: '%d.',
12552
+ week: {
12553
+ dow: 1, // Monday is the first day of the week.
12554
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12555
+ },
12556
+ });
12557
+
12558
+ return et;
12559
+
12560
+ })));
12561
+
12562
+
12563
+ /***/ }),
12564
+ /* 111 */
12565
+ /***/ (function(module, exports, __webpack_require__) {
12566
+
12567
+ //! moment.js locale configuration
12568
+ //! locale : Basque [eu]
12569
+ //! author : Eneko Illarramendi : https://github.com/eillarra
12570
+
12571
+ ;(function (global, factory) {
12572
+ true ? factory(__webpack_require__(0)) :
12573
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12574
+ factory(global.moment)
12575
+ }(this, (function (moment) { 'use strict';
12576
+
12577
+ //! moment.js locale configuration
12578
+
12579
+ var eu = moment.defineLocale('eu', {
12580
+ months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(
12581
+ '_'
12582
+ ),
12583
+ monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(
12584
+ '_'
12585
+ ),
12586
+ monthsParseExact: true,
12587
+ weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(
12588
+ '_'
12589
+ ),
12590
+ weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),
12591
+ weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),
12592
+ weekdaysParseExact: true,
12593
+ longDateFormat: {
12594
+ LT: 'HH:mm',
12595
+ LTS: 'HH:mm:ss',
12596
+ L: 'YYYY-MM-DD',
12597
+ LL: 'YYYY[ko] MMMM[ren] D[a]',
12598
+ LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',
12599
+ LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
12600
+ l: 'YYYY-M-D',
12601
+ ll: 'YYYY[ko] MMM D[a]',
12602
+ lll: 'YYYY[ko] MMM D[a] HH:mm',
12603
+ llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',
12604
+ },
12605
+ calendar: {
12606
+ sameDay: '[gaur] LT[etan]',
12607
+ nextDay: '[bihar] LT[etan]',
12608
+ nextWeek: 'dddd LT[etan]',
12609
+ lastDay: '[atzo] LT[etan]',
12610
+ lastWeek: '[aurreko] dddd LT[etan]',
12611
+ sameElse: 'L',
12612
+ },
12613
+ relativeTime: {
12614
+ future: '%s barru',
12615
+ past: 'duela %s',
12616
+ s: 'segundo batzuk',
12617
+ ss: '%d segundo',
12618
+ m: 'minutu bat',
12619
+ mm: '%d minutu',
12620
+ h: 'ordu bat',
12621
+ hh: '%d ordu',
12622
+ d: 'egun bat',
12623
+ dd: '%d egun',
12624
+ M: 'hilabete bat',
12625
+ MM: '%d hilabete',
12626
+ y: 'urte bat',
12627
+ yy: '%d urte',
12628
+ },
12629
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
12630
+ ordinal: '%d.',
12631
+ week: {
12632
+ dow: 1, // Monday is the first day of the week.
12633
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
12634
+ },
12635
+ });
12636
+
12637
+ return eu;
12638
+
12639
+ })));
12640
+
12641
+
12642
+ /***/ }),
12643
+ /* 112 */
12644
+ /***/ (function(module, exports, __webpack_require__) {
12645
+
12646
+ //! moment.js locale configuration
12647
+ //! locale : Persian [fa]
12648
+ //! author : Ebrahim Byagowi : https://github.com/ebraminio
12649
+
12650
+ ;(function (global, factory) {
12651
+ true ? factory(__webpack_require__(0)) :
12652
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12653
+ factory(global.moment)
12654
+ }(this, (function (moment) { 'use strict';
12655
+
12656
+ //! moment.js locale configuration
12657
+
12658
+ var symbolMap = {
12659
+ '1': '۱',
12660
+ '2': '۲',
12661
+ '3': '۳',
12662
+ '4': '۴',
12663
+ '5': '۵',
12664
+ '6': '۶',
12665
+ '7': '۷',
12666
+ '8': '۸',
12667
+ '9': '۹',
12668
+ '0': '۰',
12669
+ },
12670
+ numberMap = {
12671
+ '۱': '1',
12672
+ '۲': '2',
12673
+ '۳': '3',
12674
+ '۴': '4',
12675
+ '۵': '5',
12676
+ '۶': '6',
12677
+ '۷': '7',
12678
+ '۸': '8',
12679
+ '۹': '9',
12680
+ '۰': '0',
12681
+ };
12682
+
12683
+ var fa = moment.defineLocale('fa', {
12684
+ months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
12685
+ '_'
12686
+ ),
12687
+ monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
12688
+ '_'
12689
+ ),
12690
+ weekdays: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
12691
+ '_'
12692
+ ),
12693
+ weekdaysShort: 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
12694
+ '_'
12695
+ ),
12696
+ weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
12697
+ weekdaysParseExact: true,
12698
+ longDateFormat: {
12699
+ LT: 'HH:mm',
12700
+ LTS: 'HH:mm:ss',
12701
+ L: 'DD/MM/YYYY',
12702
+ LL: 'D MMMM YYYY',
12703
+ LLL: 'D MMMM YYYY HH:mm',
12704
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
12705
+ },
12706
+ meridiemParse: /قبل از ظهر|بعد از ظهر/,
12707
+ isPM: function (input) {
12708
+ return /بعد از ظهر/.test(input);
12709
+ },
12710
+ meridiem: function (hour, minute, isLower) {
12711
+ if (hour < 12) {
12712
+ return 'قبل از ظهر';
12713
+ } else {
12714
+ return 'بعد از ظهر';
12715
+ }
12716
+ },
12717
+ calendar: {
12718
+ sameDay: '[امروز ساعت] LT',
12719
+ nextDay: '[فردا ساعت] LT',
12720
+ nextWeek: 'dddd [ساعت] LT',
12721
+ lastDay: '[دیروز ساعت] LT',
12722
+ lastWeek: 'dddd [پیش] [ساعت] LT',
12723
+ sameElse: 'L',
12724
+ },
12725
+ relativeTime: {
12726
+ future: 'در %s',
12727
+ past: '%s پیش',
12728
+ s: 'چند ثانیه',
12729
+ ss: '%d ثانیه',
12730
+ m: 'یک دقیقه',
12731
+ mm: '%d دقیقه',
12732
+ h: 'یک ساعت',
12733
+ hh: '%d ساعت',
12734
+ d: 'یک روز',
12735
+ dd: '%d روز',
12736
+ M: 'یک ماه',
12737
+ MM: '%d ماه',
12738
+ y: 'یک سال',
12739
+ yy: '%d سال',
12740
+ },
12741
+ preparse: function (string) {
12742
+ return string
12743
+ .replace(/[۰-۹]/g, function (match) {
12744
+ return numberMap[match];
12745
+ })
12746
+ .replace(/،/g, ',');
12747
+ },
12748
+ postformat: function (string) {
12749
+ return string
12750
+ .replace(/\d/g, function (match) {
12751
+ return symbolMap[match];
12752
+ })
12753
+ .replace(/,/g, '،');
12754
+ },
12755
+ dayOfMonthOrdinalParse: /\d{1,2}م/,
12756
+ ordinal: '%dم',
12757
+ week: {
12758
+ dow: 6, // Saturday is the first day of the week.
12759
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
12760
+ },
12761
+ });
12762
+
12763
+ return fa;
12764
+
12765
+ })));
12766
+
12767
+
12768
+ /***/ }),
12769
+ /* 113 */
12770
+ /***/ (function(module, exports, __webpack_require__) {
12771
+
12772
+ //! moment.js locale configuration
12773
+ //! locale : Finnish [fi]
12774
+ //! author : Tarmo Aidantausta : https://github.com/bleadof
12775
+
12776
+ ;(function (global, factory) {
12777
+ true ? factory(__webpack_require__(0)) :
12778
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12779
+ factory(global.moment)
12780
+ }(this, (function (moment) { 'use strict';
12781
+
12782
+ //! moment.js locale configuration
12783
+
12784
+ var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
12785
+ ' '
12786
+ ),
12787
+ numbersFuture = [
12788
+ 'nolla',
12789
+ 'yhden',
12790
+ 'kahden',
12791
+ 'kolmen',
12792
+ 'neljän',
12793
+ 'viiden',
12794
+ 'kuuden',
12795
+ numbersPast[7],
12796
+ numbersPast[8],
12797
+ numbersPast[9],
12798
+ ];
12799
+ function translate(number, withoutSuffix, key, isFuture) {
12800
+ var result = '';
12801
+ switch (key) {
12802
+ case 's':
12803
+ return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
12804
+ case 'ss':
12805
+ result = isFuture ? 'sekunnin' : 'sekuntia';
12806
+ break;
12807
+ case 'm':
12808
+ return isFuture ? 'minuutin' : 'minuutti';
12809
+ case 'mm':
12810
+ result = isFuture ? 'minuutin' : 'minuuttia';
12811
+ break;
12812
+ case 'h':
12813
+ return isFuture ? 'tunnin' : 'tunti';
12814
+ case 'hh':
12815
+ result = isFuture ? 'tunnin' : 'tuntia';
12816
+ break;
12817
+ case 'd':
12818
+ return isFuture ? 'päivän' : 'päivä';
12819
+ case 'dd':
12820
+ result = isFuture ? 'päivän' : 'päivää';
12821
+ break;
12822
+ case 'M':
12823
+ return isFuture ? 'kuukauden' : 'kuukausi';
12824
+ case 'MM':
12825
+ result = isFuture ? 'kuukauden' : 'kuukautta';
12826
+ break;
12827
+ case 'y':
12828
+ return isFuture ? 'vuoden' : 'vuosi';
12829
+ case 'yy':
12830
+ result = isFuture ? 'vuoden' : 'vuotta';
12831
+ break;
12832
+ }
12833
+ result = verbalNumber(number, isFuture) + ' ' + result;
12834
+ return result;
12835
+ }
12836
+ function verbalNumber(number, isFuture) {
12837
+ return number < 10
12838
+ ? isFuture
12839
+ ? numbersFuture[number]
12840
+ : numbersPast[number]
12841
+ : number;
12842
+ }
12843
+
12844
+ var fi = moment.defineLocale('fi', {
12845
+ months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
12846
+ '_'
12847
+ ),
12848
+ monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
12849
+ '_'
12850
+ ),
12851
+ weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
12852
+ '_'
12853
+ ),
12854
+ weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
12855
+ weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
12856
+ longDateFormat: {
12857
+ LT: 'HH.mm',
12858
+ LTS: 'HH.mm.ss',
12859
+ L: 'DD.MM.YYYY',
12860
+ LL: 'Do MMMM[ta] YYYY',
12861
+ LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
12862
+ LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
12863
+ l: 'D.M.YYYY',
12864
+ ll: 'Do MMM YYYY',
12865
+ lll: 'Do MMM YYYY, [klo] HH.mm',
12866
+ llll: 'ddd, Do MMM YYYY, [klo] HH.mm',
12867
+ },
12868
+ calendar: {
12869
+ sameDay: '[tänään] [klo] LT',
12870
+ nextDay: '[huomenna] [klo] LT',
12871
+ nextWeek: 'dddd [klo] LT',
12872
+ lastDay: '[eilen] [klo] LT',
12873
+ lastWeek: '[viime] dddd[na] [klo] LT',
12874
+ sameElse: 'L',
12875
+ },
12876
+ relativeTime: {
12877
+ future: '%s päästä',
12878
+ past: '%s sitten',
12879
+ s: translate,
12880
+ ss: translate,
12881
+ m: translate,
12882
+ mm: translate,
12883
+ h: translate,
12884
+ hh: translate,
12885
+ d: translate,
12886
+ dd: translate,
12887
+ M: translate,
12888
+ MM: translate,
12889
+ y: translate,
12890
+ yy: translate,
12891
+ },
12892
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
12893
+ ordinal: '%d.',
12894
+ week: {
12895
+ dow: 1, // Monday is the first day of the week.
12896
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12897
+ },
12898
+ });
12899
+
12900
+ return fi;
12901
+
12902
+ })));
12903
+
12904
+
12905
+ /***/ }),
12906
+ /* 114 */
12907
+ /***/ (function(module, exports, __webpack_require__) {
12908
+
12909
+ //! moment.js locale configuration
12910
+ //! locale : Filipino [fil]
12911
+ //! author : Dan Hagman : https://github.com/hagmandan
12912
+ //! author : Matthew Co : https://github.com/matthewdeeco
12913
+
12914
+ ;(function (global, factory) {
12915
+ true ? factory(__webpack_require__(0)) :
12916
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12917
+ factory(global.moment)
12918
+ }(this, (function (moment) { 'use strict';
12919
+
12920
+ //! moment.js locale configuration
12921
+
12922
+ var fil = moment.defineLocale('fil', {
12923
+ months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
12924
+ '_'
12925
+ ),
12926
+ monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
12927
+ weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
12928
+ '_'
12929
+ ),
12930
+ weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
12931
+ weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
12932
+ longDateFormat: {
12933
+ LT: 'HH:mm',
12934
+ LTS: 'HH:mm:ss',
12935
+ L: 'MM/D/YYYY',
12936
+ LL: 'MMMM D, YYYY',
12937
+ LLL: 'MMMM D, YYYY HH:mm',
12938
+ LLLL: 'dddd, MMMM DD, YYYY HH:mm',
12939
+ },
12940
+ calendar: {
12941
+ sameDay: 'LT [ngayong araw]',
12942
+ nextDay: '[Bukas ng] LT',
12943
+ nextWeek: 'LT [sa susunod na] dddd',
12944
+ lastDay: 'LT [kahapon]',
12945
+ lastWeek: 'LT [noong nakaraang] dddd',
12946
+ sameElse: 'L',
12947
+ },
12948
+ relativeTime: {
12949
+ future: 'sa loob ng %s',
12950
+ past: '%s ang nakalipas',
12951
+ s: 'ilang segundo',
12952
+ ss: '%d segundo',
12953
+ m: 'isang minuto',
12954
+ mm: '%d minuto',
12955
+ h: 'isang oras',
12956
+ hh: '%d oras',
12957
+ d: 'isang araw',
12958
+ dd: '%d araw',
12959
+ M: 'isang buwan',
12960
+ MM: '%d buwan',
12961
+ y: 'isang taon',
12962
+ yy: '%d taon',
12963
+ },
12964
+ dayOfMonthOrdinalParse: /\d{1,2}/,
12965
+ ordinal: function (number) {
12966
+ return number;
12967
+ },
12968
+ week: {
12969
+ dow: 1, // Monday is the first day of the week.
12970
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
12971
+ },
12972
+ });
12973
+
12974
+ return fil;
12975
+
12976
+ })));
12977
+
12978
+
12979
+ /***/ }),
12980
+ /* 115 */
12981
+ /***/ (function(module, exports, __webpack_require__) {
12982
+
12983
+ //! moment.js locale configuration
12984
+ //! locale : Faroese [fo]
12985
+ //! author : Ragnar Johannesen : https://github.com/ragnar123
12986
+ //! author : Kristian Sakarisson : https://github.com/sakarisson
12987
+
12988
+ ;(function (global, factory) {
12989
+ true ? factory(__webpack_require__(0)) :
12990
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
12991
+ factory(global.moment)
12992
+ }(this, (function (moment) { 'use strict';
12993
+
12994
+ //! moment.js locale configuration
12995
+
12996
+ var fo = moment.defineLocale('fo', {
12997
+ months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(
12998
+ '_'
12999
+ ),
13000
+ monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
13001
+ weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(
13002
+ '_'
13003
+ ),
13004
+ weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
13005
+ weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),
13006
+ longDateFormat: {
13007
+ LT: 'HH:mm',
13008
+ LTS: 'HH:mm:ss',
13009
+ L: 'DD/MM/YYYY',
13010
+ LL: 'D MMMM YYYY',
13011
+ LLL: 'D MMMM YYYY HH:mm',
13012
+ LLLL: 'dddd D. MMMM, YYYY HH:mm',
13013
+ },
13014
+ calendar: {
13015
+ sameDay: '[Í dag kl.] LT',
13016
+ nextDay: '[Í morgin kl.] LT',
13017
+ nextWeek: 'dddd [kl.] LT',
13018
+ lastDay: '[Í gjár kl.] LT',
13019
+ lastWeek: '[síðstu] dddd [kl] LT',
13020
+ sameElse: 'L',
13021
+ },
13022
+ relativeTime: {
13023
+ future: 'um %s',
13024
+ past: '%s síðani',
13025
+ s: 'fá sekund',
13026
+ ss: '%d sekundir',
13027
+ m: 'ein minuttur',
13028
+ mm: '%d minuttir',
13029
+ h: 'ein tími',
13030
+ hh: '%d tímar',
13031
+ d: 'ein dagur',
13032
+ dd: '%d dagar',
13033
+ M: 'ein mánaður',
13034
+ MM: '%d mánaðir',
13035
+ y: 'eitt ár',
13036
+ yy: '%d ár',
13037
+ },
13038
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
13039
+ ordinal: '%d.',
13040
+ week: {
13041
+ dow: 1, // Monday is the first day of the week.
13042
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13043
+ },
13044
+ });
13045
+
13046
+ return fo;
13047
+
13048
+ })));
13049
+
13050
+
13051
+ /***/ }),
13052
+ /* 116 */
13053
+ /***/ (function(module, exports, __webpack_require__) {
13054
+
13055
+ //! moment.js locale configuration
13056
+ //! locale : French [fr]
13057
+ //! author : John Fischer : https://github.com/jfroffice
13058
+
13059
+ ;(function (global, factory) {
13060
+ true ? factory(__webpack_require__(0)) :
13061
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13062
+ factory(global.moment)
13063
+ }(this, (function (moment) { 'use strict';
13064
+
13065
+ //! moment.js locale configuration
13066
+
13067
+ var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
13068
+ monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
13069
+ monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
13070
+ monthsParse = [
13071
+ /^janv/i,
13072
+ /^févr/i,
13073
+ /^mars/i,
13074
+ /^avr/i,
13075
+ /^mai/i,
13076
+ /^juin/i,
13077
+ /^juil/i,
13078
+ /^août/i,
13079
+ /^sept/i,
13080
+ /^oct/i,
13081
+ /^nov/i,
13082
+ /^déc/i,
13083
+ ];
13084
+
13085
+ var fr = moment.defineLocale('fr', {
13086
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
13087
+ '_'
13088
+ ),
13089
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
13090
+ '_'
13091
+ ),
13092
+ monthsRegex: monthsRegex,
13093
+ monthsShortRegex: monthsRegex,
13094
+ monthsStrictRegex: monthsStrictRegex,
13095
+ monthsShortStrictRegex: monthsShortStrictRegex,
13096
+ monthsParse: monthsParse,
13097
+ longMonthsParse: monthsParse,
13098
+ shortMonthsParse: monthsParse,
13099
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
13100
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
13101
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
13102
+ weekdaysParseExact: true,
13103
+ longDateFormat: {
13104
+ LT: 'HH:mm',
13105
+ LTS: 'HH:mm:ss',
13106
+ L: 'DD/MM/YYYY',
13107
+ LL: 'D MMMM YYYY',
13108
+ LLL: 'D MMMM YYYY HH:mm',
13109
+ LLLL: 'dddd D MMMM YYYY HH:mm',
13110
+ },
13111
+ calendar: {
13112
+ sameDay: '[Aujourd’hui à] LT',
13113
+ nextDay: '[Demain à] LT',
13114
+ nextWeek: 'dddd [à] LT',
13115
+ lastDay: '[Hier à] LT',
13116
+ lastWeek: 'dddd [dernier à] LT',
13117
+ sameElse: 'L',
13118
+ },
13119
+ relativeTime: {
13120
+ future: 'dans %s',
13121
+ past: 'il y a %s',
13122
+ s: 'quelques secondes',
13123
+ ss: '%d secondes',
13124
+ m: 'une minute',
13125
+ mm: '%d minutes',
13126
+ h: 'une heure',
13127
+ hh: '%d heures',
13128
+ d: 'un jour',
13129
+ dd: '%d jours',
13130
+ M: 'un mois',
13131
+ MM: '%d mois',
13132
+ y: 'un an',
13133
+ yy: '%d ans',
13134
+ },
13135
+ dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
13136
+ ordinal: function (number, period) {
13137
+ switch (period) {
13138
+ // TODO: Return 'e' when day of month > 1. Move this case inside
13139
+ // block for masculine words below.
13140
+ // See https://github.com/moment/moment/issues/3375
13141
+ case 'D':
13142
+ return number + (number === 1 ? 'er' : '');
13143
+
13144
+ // Words with masculine grammatical gender: mois, trimestre, jour
13145
+ default:
13146
+ case 'M':
13147
+ case 'Q':
13148
+ case 'DDD':
13149
+ case 'd':
13150
+ return number + (number === 1 ? 'er' : 'e');
13151
+
13152
+ // Words with feminine grammatical gender: semaine
13153
+ case 'w':
13154
+ case 'W':
13155
+ return number + (number === 1 ? 're' : 'e');
13156
+ }
13157
+ },
13158
+ week: {
13159
+ dow: 1, // Monday is the first day of the week.
13160
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13161
+ },
13162
+ });
13163
+
13164
+ return fr;
13165
+
13166
+ })));
13167
+
13168
+
13169
+ /***/ }),
13170
+ /* 117 */
13171
+ /***/ (function(module, exports, __webpack_require__) {
13172
+
13173
+ //! moment.js locale configuration
13174
+ //! locale : French (Canada) [fr-ca]
13175
+ //! author : Jonathan Abourbih : https://github.com/jonbca
13176
+
13177
+ ;(function (global, factory) {
13178
+ true ? factory(__webpack_require__(0)) :
13179
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13180
+ factory(global.moment)
13181
+ }(this, (function (moment) { 'use strict';
13182
+
13183
+ //! moment.js locale configuration
13184
+
13185
+ var frCa = moment.defineLocale('fr-ca', {
13186
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
13187
+ '_'
13188
+ ),
13189
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
13190
+ '_'
13191
+ ),
13192
+ monthsParseExact: true,
13193
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
13194
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
13195
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
13196
+ weekdaysParseExact: true,
13197
+ longDateFormat: {
13198
+ LT: 'HH:mm',
13199
+ LTS: 'HH:mm:ss',
13200
+ L: 'YYYY-MM-DD',
13201
+ LL: 'D MMMM YYYY',
13202
+ LLL: 'D MMMM YYYY HH:mm',
13203
+ LLLL: 'dddd D MMMM YYYY HH:mm',
13204
+ },
13205
+ calendar: {
13206
+ sameDay: '[Aujourd’hui à] LT',
13207
+ nextDay: '[Demain à] LT',
13208
+ nextWeek: 'dddd [à] LT',
13209
+ lastDay: '[Hier à] LT',
13210
+ lastWeek: 'dddd [dernier à] LT',
13211
+ sameElse: 'L',
13212
+ },
13213
+ relativeTime: {
13214
+ future: 'dans %s',
13215
+ past: 'il y a %s',
13216
+ s: 'quelques secondes',
13217
+ ss: '%d secondes',
13218
+ m: 'une minute',
13219
+ mm: '%d minutes',
13220
+ h: 'une heure',
13221
+ hh: '%d heures',
13222
+ d: 'un jour',
13223
+ dd: '%d jours',
13224
+ M: 'un mois',
13225
+ MM: '%d mois',
13226
+ y: 'un an',
13227
+ yy: '%d ans',
13228
+ },
13229
+ dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
13230
+ ordinal: function (number, period) {
13231
+ switch (period) {
13232
+ // Words with masculine grammatical gender: mois, trimestre, jour
13233
+ default:
13234
+ case 'M':
13235
+ case 'Q':
13236
+ case 'D':
13237
+ case 'DDD':
13238
+ case 'd':
13239
+ return number + (number === 1 ? 'er' : 'e');
13240
+
13241
+ // Words with feminine grammatical gender: semaine
13242
+ case 'w':
13243
+ case 'W':
13244
+ return number + (number === 1 ? 're' : 'e');
13245
+ }
13246
+ },
13247
+ });
13248
+
13249
+ return frCa;
13250
+
13251
+ })));
13252
+
13253
+
13254
+ /***/ }),
13255
+ /* 118 */
13256
+ /***/ (function(module, exports, __webpack_require__) {
13257
+
13258
+ //! moment.js locale configuration
13259
+ //! locale : French (Switzerland) [fr-ch]
13260
+ //! author : Gaspard Bucher : https://github.com/gaspard
13261
+
13262
+ ;(function (global, factory) {
13263
+ true ? factory(__webpack_require__(0)) :
13264
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13265
+ factory(global.moment)
13266
+ }(this, (function (moment) { 'use strict';
13267
+
13268
+ //! moment.js locale configuration
13269
+
13270
+ var frCh = moment.defineLocale('fr-ch', {
13271
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(
13272
+ '_'
13273
+ ),
13274
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(
13275
+ '_'
13276
+ ),
13277
+ monthsParseExact: true,
13278
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
13279
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
13280
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
13281
+ weekdaysParseExact: true,
13282
+ longDateFormat: {
13283
+ LT: 'HH:mm',
13284
+ LTS: 'HH:mm:ss',
13285
+ L: 'DD.MM.YYYY',
13286
+ LL: 'D MMMM YYYY',
13287
+ LLL: 'D MMMM YYYY HH:mm',
13288
+ LLLL: 'dddd D MMMM YYYY HH:mm',
13289
+ },
13290
+ calendar: {
13291
+ sameDay: '[Aujourd’hui à] LT',
13292
+ nextDay: '[Demain à] LT',
13293
+ nextWeek: 'dddd [à] LT',
13294
+ lastDay: '[Hier à] LT',
13295
+ lastWeek: 'dddd [dernier à] LT',
13296
+ sameElse: 'L',
13297
+ },
13298
+ relativeTime: {
13299
+ future: 'dans %s',
13300
+ past: 'il y a %s',
13301
+ s: 'quelques secondes',
13302
+ ss: '%d secondes',
13303
+ m: 'une minute',
13304
+ mm: '%d minutes',
13305
+ h: 'une heure',
13306
+ hh: '%d heures',
13307
+ d: 'un jour',
13308
+ dd: '%d jours',
13309
+ M: 'un mois',
13310
+ MM: '%d mois',
13311
+ y: 'un an',
13312
+ yy: '%d ans',
13313
+ },
13314
+ dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
13315
+ ordinal: function (number, period) {
13316
+ switch (period) {
13317
+ // Words with masculine grammatical gender: mois, trimestre, jour
13318
+ default:
13319
+ case 'M':
13320
+ case 'Q':
13321
+ case 'D':
13322
+ case 'DDD':
13323
+ case 'd':
13324
+ return number + (number === 1 ? 'er' : 'e');
13325
+
13326
+ // Words with feminine grammatical gender: semaine
13327
+ case 'w':
13328
+ case 'W':
13329
+ return number + (number === 1 ? 're' : 'e');
13330
+ }
13331
+ },
13332
+ week: {
13333
+ dow: 1, // Monday is the first day of the week.
13334
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13335
+ },
13336
+ });
13337
+
13338
+ return frCh;
13339
+
13340
+ })));
13341
+
13342
+
13343
+ /***/ }),
13344
+ /* 119 */
13345
+ /***/ (function(module, exports, __webpack_require__) {
13346
+
13347
+ //! moment.js locale configuration
13348
+ //! locale : Frisian [fy]
13349
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
13350
+
13351
+ ;(function (global, factory) {
13352
+ true ? factory(__webpack_require__(0)) :
13353
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13354
+ factory(global.moment)
13355
+ }(this, (function (moment) { 'use strict';
13356
+
13357
+ //! moment.js locale configuration
13358
+
13359
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(
13360
+ '_'
13361
+ ),
13362
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(
13363
+ '_'
13364
+ );
13365
+
13366
+ var fy = moment.defineLocale('fy', {
13367
+ months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(
13368
+ '_'
13369
+ ),
13370
+ monthsShort: function (m, format) {
13371
+ if (!m) {
13372
+ return monthsShortWithDots;
13373
+ } else if (/-MMM-/.test(format)) {
13374
+ return monthsShortWithoutDots[m.month()];
13375
+ } else {
13376
+ return monthsShortWithDots[m.month()];
13377
+ }
13378
+ },
13379
+ monthsParseExact: true,
13380
+ weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(
13381
+ '_'
13382
+ ),
13383
+ weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),
13384
+ weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
13385
+ weekdaysParseExact: true,
13386
+ longDateFormat: {
13387
+ LT: 'HH:mm',
13388
+ LTS: 'HH:mm:ss',
13389
+ L: 'DD-MM-YYYY',
13390
+ LL: 'D MMMM YYYY',
13391
+ LLL: 'D MMMM YYYY HH:mm',
13392
+ LLLL: 'dddd D MMMM YYYY HH:mm',
13393
+ },
13394
+ calendar: {
13395
+ sameDay: '[hjoed om] LT',
13396
+ nextDay: '[moarn om] LT',
13397
+ nextWeek: 'dddd [om] LT',
13398
+ lastDay: '[juster om] LT',
13399
+ lastWeek: '[ôfrûne] dddd [om] LT',
13400
+ sameElse: 'L',
13401
+ },
13402
+ relativeTime: {
13403
+ future: 'oer %s',
13404
+ past: '%s lyn',
13405
+ s: 'in pear sekonden',
13406
+ ss: '%d sekonden',
13407
+ m: 'ien minút',
13408
+ mm: '%d minuten',
13409
+ h: 'ien oere',
13410
+ hh: '%d oeren',
13411
+ d: 'ien dei',
13412
+ dd: '%d dagen',
13413
+ M: 'ien moanne',
13414
+ MM: '%d moannen',
13415
+ y: 'ien jier',
13416
+ yy: '%d jierren',
13417
+ },
13418
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
13419
+ ordinal: function (number) {
13420
+ return (
13421
+ number +
13422
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
13423
+ );
13424
+ },
13425
+ week: {
13426
+ dow: 1, // Monday is the first day of the week.
13427
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13428
+ },
13429
+ });
13430
+
13431
+ return fy;
13432
+
13433
+ })));
13434
+
13435
+
13436
+ /***/ }),
13437
+ /* 120 */
13438
+ /***/ (function(module, exports, __webpack_require__) {
13439
+
13440
+ //! moment.js locale configuration
13441
+ //! locale : Irish or Irish Gaelic [ga]
13442
+ //! author : André Silva : https://github.com/askpt
13443
+
13444
+ ;(function (global, factory) {
13445
+ true ? factory(__webpack_require__(0)) :
13446
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13447
+ factory(global.moment)
13448
+ }(this, (function (moment) { 'use strict';
13449
+
13450
+ //! moment.js locale configuration
13451
+
13452
+ var months = [
13453
+ 'Eanáir',
13454
+ 'Feabhra',
13455
+ 'Márta',
13456
+ 'Aibreán',
13457
+ 'Bealtaine',
13458
+ 'Meitheamh',
13459
+ 'Iúil',
13460
+ 'Lúnasa',
13461
+ 'Meán Fómhair',
13462
+ 'Deireadh Fómhair',
13463
+ 'Samhain',
13464
+ 'Nollaig',
13465
+ ],
13466
+ monthsShort = [
13467
+ 'Ean',
13468
+ 'Feabh',
13469
+ 'Márt',
13470
+ 'Aib',
13471
+ 'Beal',
13472
+ 'Meith',
13473
+ 'Iúil',
13474
+ 'Lún',
13475
+ 'M.F.',
13476
+ 'D.F.',
13477
+ 'Samh',
13478
+ 'Noll',
13479
+ ],
13480
+ weekdays = [
13481
+ 'Dé Domhnaigh',
13482
+ 'Dé Luain',
13483
+ 'Dé Máirt',
13484
+ 'Dé Céadaoin',
13485
+ 'Déardaoin',
13486
+ 'Dé hAoine',
13487
+ 'Dé Sathairn',
13488
+ ],
13489
+ weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],
13490
+ weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];
13491
+
13492
+ var ga = moment.defineLocale('ga', {
13493
+ months: months,
13494
+ monthsShort: monthsShort,
13495
+ monthsParseExact: true,
13496
+ weekdays: weekdays,
13497
+ weekdaysShort: weekdaysShort,
13498
+ weekdaysMin: weekdaysMin,
13499
+ longDateFormat: {
13500
+ LT: 'HH:mm',
13501
+ LTS: 'HH:mm:ss',
13502
+ L: 'DD/MM/YYYY',
13503
+ LL: 'D MMMM YYYY',
13504
+ LLL: 'D MMMM YYYY HH:mm',
13505
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
13506
+ },
13507
+ calendar: {
13508
+ sameDay: '[Inniu ag] LT',
13509
+ nextDay: '[Amárach ag] LT',
13510
+ nextWeek: 'dddd [ag] LT',
13511
+ lastDay: '[Inné ag] LT',
13512
+ lastWeek: 'dddd [seo caite] [ag] LT',
13513
+ sameElse: 'L',
13514
+ },
13515
+ relativeTime: {
13516
+ future: 'i %s',
13517
+ past: '%s ó shin',
13518
+ s: 'cúpla soicind',
13519
+ ss: '%d soicind',
13520
+ m: 'nóiméad',
13521
+ mm: '%d nóiméad',
13522
+ h: 'uair an chloig',
13523
+ hh: '%d uair an chloig',
13524
+ d: 'lá',
13525
+ dd: '%d lá',
13526
+ M: 'mí',
13527
+ MM: '%d míonna',
13528
+ y: 'bliain',
13529
+ yy: '%d bliain',
13530
+ },
13531
+ dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
13532
+ ordinal: function (number) {
13533
+ var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
13534
+ return number + output;
13535
+ },
13536
+ week: {
13537
+ dow: 1, // Monday is the first day of the week.
13538
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13539
+ },
13540
+ });
13541
+
13542
+ return ga;
13543
+
13544
+ })));
13545
+
13546
+
13547
+ /***/ }),
13548
+ /* 121 */
13549
+ /***/ (function(module, exports, __webpack_require__) {
13550
+
13551
+ //! moment.js locale configuration
13552
+ //! locale : Scottish Gaelic [gd]
13553
+ //! author : Jon Ashdown : https://github.com/jonashdown
13554
+
13555
+ ;(function (global, factory) {
13556
+ true ? factory(__webpack_require__(0)) :
13557
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13558
+ factory(global.moment)
13559
+ }(this, (function (moment) { 'use strict';
13560
+
13561
+ //! moment.js locale configuration
13562
+
13563
+ var months = [
13564
+ 'Am Faoilleach',
13565
+ 'An Gearran',
13566
+ 'Am Màrt',
13567
+ 'An Giblean',
13568
+ 'An Cèitean',
13569
+ 'An t-Ògmhios',
13570
+ 'An t-Iuchar',
13571
+ 'An Lùnastal',
13572
+ 'An t-Sultain',
13573
+ 'An Dàmhair',
13574
+ 'An t-Samhain',
13575
+ 'An Dùbhlachd',
13576
+ ],
13577
+ monthsShort = [
13578
+ 'Faoi',
13579
+ 'Gear',
13580
+ 'Màrt',
13581
+ 'Gibl',
13582
+ 'Cèit',
13583
+ 'Ògmh',
13584
+ 'Iuch',
13585
+ 'Lùn',
13586
+ 'Sult',
13587
+ 'Dàmh',
13588
+ 'Samh',
13589
+ 'Dùbh',
13590
+ ],
13591
+ weekdays = [
13592
+ 'Didòmhnaich',
13593
+ 'Diluain',
13594
+ 'Dimàirt',
13595
+ 'Diciadain',
13596
+ 'Diardaoin',
13597
+ 'Dihaoine',
13598
+ 'Disathairne',
13599
+ ],
13600
+ weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],
13601
+ weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
13602
+
13603
+ var gd = moment.defineLocale('gd', {
13604
+ months: months,
13605
+ monthsShort: monthsShort,
13606
+ monthsParseExact: true,
13607
+ weekdays: weekdays,
13608
+ weekdaysShort: weekdaysShort,
13609
+ weekdaysMin: weekdaysMin,
13610
+ longDateFormat: {
13611
+ LT: 'HH:mm',
13612
+ LTS: 'HH:mm:ss',
13613
+ L: 'DD/MM/YYYY',
13614
+ LL: 'D MMMM YYYY',
13615
+ LLL: 'D MMMM YYYY HH:mm',
13616
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
13617
+ },
13618
+ calendar: {
13619
+ sameDay: '[An-diugh aig] LT',
13620
+ nextDay: '[A-màireach aig] LT',
13621
+ nextWeek: 'dddd [aig] LT',
13622
+ lastDay: '[An-dè aig] LT',
13623
+ lastWeek: 'dddd [seo chaidh] [aig] LT',
13624
+ sameElse: 'L',
13625
+ },
13626
+ relativeTime: {
13627
+ future: 'ann an %s',
13628
+ past: 'bho chionn %s',
13629
+ s: 'beagan diogan',
13630
+ ss: '%d diogan',
13631
+ m: 'mionaid',
13632
+ mm: '%d mionaidean',
13633
+ h: 'uair',
13634
+ hh: '%d uairean',
13635
+ d: 'latha',
13636
+ dd: '%d latha',
13637
+ M: 'mìos',
13638
+ MM: '%d mìosan',
13639
+ y: 'bliadhna',
13640
+ yy: '%d bliadhna',
13641
+ },
13642
+ dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
13643
+ ordinal: function (number) {
13644
+ var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
13645
+ return number + output;
13646
+ },
13647
+ week: {
13648
+ dow: 1, // Monday is the first day of the week.
13649
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13650
+ },
13651
+ });
13652
+
13653
+ return gd;
13654
+
13655
+ })));
13656
+
13657
+
13658
+ /***/ }),
13659
+ /* 122 */
13660
+ /***/ (function(module, exports, __webpack_require__) {
13661
+
13662
+ //! moment.js locale configuration
13663
+ //! locale : Galician [gl]
13664
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
13665
+
13666
+ ;(function (global, factory) {
13667
+ true ? factory(__webpack_require__(0)) :
13668
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13669
+ factory(global.moment)
13670
+ }(this, (function (moment) { 'use strict';
13671
+
13672
+ //! moment.js locale configuration
13673
+
13674
+ var gl = moment.defineLocale('gl', {
13675
+ months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(
13676
+ '_'
13677
+ ),
13678
+ monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(
13679
+ '_'
13680
+ ),
13681
+ monthsParseExact: true,
13682
+ weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
13683
+ weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
13684
+ weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),
13685
+ weekdaysParseExact: true,
13686
+ longDateFormat: {
13687
+ LT: 'H:mm',
13688
+ LTS: 'H:mm:ss',
13689
+ L: 'DD/MM/YYYY',
13690
+ LL: 'D [de] MMMM [de] YYYY',
13691
+ LLL: 'D [de] MMMM [de] YYYY H:mm',
13692
+ LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',
13693
+ },
13694
+ calendar: {
13695
+ sameDay: function () {
13696
+ return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
13697
+ },
13698
+ nextDay: function () {
13699
+ return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';
13700
+ },
13701
+ nextWeek: function () {
13702
+ return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';
13703
+ },
13704
+ lastDay: function () {
13705
+ return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';
13706
+ },
13707
+ lastWeek: function () {
13708
+ return (
13709
+ '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'
13710
+ );
13711
+ },
13712
+ sameElse: 'L',
13713
+ },
13714
+ relativeTime: {
13715
+ future: function (str) {
13716
+ if (str.indexOf('un') === 0) {
13717
+ return 'n' + str;
13718
+ }
13719
+ return 'en ' + str;
13720
+ },
13721
+ past: 'hai %s',
13722
+ s: 'uns segundos',
13723
+ ss: '%d segundos',
13724
+ m: 'un minuto',
13725
+ mm: '%d minutos',
13726
+ h: 'unha hora',
13727
+ hh: '%d horas',
13728
+ d: 'un día',
13729
+ dd: '%d días',
13730
+ M: 'un mes',
13731
+ MM: '%d meses',
13732
+ y: 'un ano',
13733
+ yy: '%d anos',
13734
+ },
13735
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
13736
+ ordinal: '%dº',
13737
+ week: {
13738
+ dow: 1, // Monday is the first day of the week.
13739
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13740
+ },
13741
+ });
13742
+
13743
+ return gl;
13744
+
13745
+ })));
13746
+
13747
+
13748
+ /***/ }),
13749
+ /* 123 */
13750
+ /***/ (function(module, exports, __webpack_require__) {
13751
+
13752
+ //! moment.js locale configuration
13753
+ //! locale : Konkani Devanagari script [gom-deva]
13754
+ //! author : The Discoverer : https://github.com/WikiDiscoverer
13755
+
13756
+ ;(function (global, factory) {
13757
+ true ? factory(__webpack_require__(0)) :
13758
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13759
+ factory(global.moment)
13760
+ }(this, (function (moment) { 'use strict';
13761
+
13762
+ //! moment.js locale configuration
13763
+
13764
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
13765
+ var format = {
13766
+ s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],
13767
+ ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],
13768
+ m: ['एका मिणटान', 'एक मिनूट'],
13769
+ mm: [number + ' मिणटांनी', number + ' मिणटां'],
13770
+ h: ['एका वरान', 'एक वर'],
13771
+ hh: [number + ' वरांनी', number + ' वरां'],
13772
+ d: ['एका दिसान', 'एक दीस'],
13773
+ dd: [number + ' दिसांनी', number + ' दीस'],
13774
+ M: ['एका म्हयन्यान', 'एक म्हयनो'],
13775
+ MM: [number + ' म्हयन्यानी', number + ' म्हयने'],
13776
+ y: ['एका वर्सान', 'एक वर्स'],
13777
+ yy: [number + ' वर्सांनी', number + ' वर्सां'],
13778
+ };
13779
+ return isFuture ? format[key][0] : format[key][1];
13780
+ }
13781
+
13782
+ var gomDeva = moment.defineLocale('gom-deva', {
13783
+ months: {
13784
+ standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
13785
+ '_'
13786
+ ),
13787
+ format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(
13788
+ '_'
13789
+ ),
13790
+ isFormat: /MMMM(\s)+D[oD]?/,
13791
+ },
13792
+ monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
13793
+ '_'
13794
+ ),
13795
+ monthsParseExact: true,
13796
+ weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),
13797
+ weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),
13798
+ weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),
13799
+ weekdaysParseExact: true,
13800
+ longDateFormat: {
13801
+ LT: 'A h:mm [वाजतां]',
13802
+ LTS: 'A h:mm:ss [वाजतां]',
13803
+ L: 'DD-MM-YYYY',
13804
+ LL: 'D MMMM YYYY',
13805
+ LLL: 'D MMMM YYYY A h:mm [वाजतां]',
13806
+ LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',
13807
+ llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',
13808
+ },
13809
+ calendar: {
13810
+ sameDay: '[आयज] LT',
13811
+ nextDay: '[फाल्यां] LT',
13812
+ nextWeek: '[फुडलो] dddd[,] LT',
13813
+ lastDay: '[काल] LT',
13814
+ lastWeek: '[फाटलो] dddd[,] LT',
13815
+ sameElse: 'L',
13816
+ },
13817
+ relativeTime: {
13818
+ future: '%s',
13819
+ past: '%s आदीं',
13820
+ s: processRelativeTime,
13821
+ ss: processRelativeTime,
13822
+ m: processRelativeTime,
13823
+ mm: processRelativeTime,
13824
+ h: processRelativeTime,
13825
+ hh: processRelativeTime,
13826
+ d: processRelativeTime,
13827
+ dd: processRelativeTime,
13828
+ M: processRelativeTime,
13829
+ MM: processRelativeTime,
13830
+ y: processRelativeTime,
13831
+ yy: processRelativeTime,
13832
+ },
13833
+ dayOfMonthOrdinalParse: /\d{1,2}(वेर)/,
13834
+ ordinal: function (number, period) {
13835
+ switch (period) {
13836
+ // the ordinal 'वेर' only applies to day of the month
13837
+ case 'D':
13838
+ return number + 'वेर';
13839
+ default:
13840
+ case 'M':
13841
+ case 'Q':
13842
+ case 'DDD':
13843
+ case 'd':
13844
+ case 'w':
13845
+ case 'W':
13846
+ return number;
13847
+ }
13848
+ },
13849
+ week: {
13850
+ dow: 1, // Monday is the first day of the week.
13851
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13852
+ },
13853
+ meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,
13854
+ meridiemHour: function (hour, meridiem) {
13855
+ if (hour === 12) {
13856
+ hour = 0;
13857
+ }
13858
+ if (meridiem === 'राती') {
13859
+ return hour < 4 ? hour : hour + 12;
13860
+ } else if (meridiem === 'सकाळीं') {
13861
+ return hour;
13862
+ } else if (meridiem === 'दनपारां') {
13863
+ return hour > 12 ? hour : hour + 12;
13864
+ } else if (meridiem === 'सांजे') {
13865
+ return hour + 12;
13866
+ }
13867
+ },
13868
+ meridiem: function (hour, minute, isLower) {
13869
+ if (hour < 4) {
13870
+ return 'राती';
13871
+ } else if (hour < 12) {
13872
+ return 'सकाळीं';
13873
+ } else if (hour < 16) {
13874
+ return 'दनपारां';
13875
+ } else if (hour < 20) {
13876
+ return 'सांजे';
13877
+ } else {
13878
+ return 'राती';
13879
+ }
13880
+ },
13881
+ });
13882
+
13883
+ return gomDeva;
13884
+
13885
+ })));
13886
+
13887
+
13888
+ /***/ }),
13889
+ /* 124 */
13890
+ /***/ (function(module, exports, __webpack_require__) {
13891
+
13892
+ //! moment.js locale configuration
13893
+ //! locale : Konkani Latin script [gom-latn]
13894
+ //! author : The Discoverer : https://github.com/WikiDiscoverer
13895
+
13896
+ ;(function (global, factory) {
13897
+ true ? factory(__webpack_require__(0)) :
13898
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
13899
+ factory(global.moment)
13900
+ }(this, (function (moment) { 'use strict';
13901
+
13902
+ //! moment.js locale configuration
13903
+
13904
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
13905
+ var format = {
13906
+ s: ['thoddea sekondamni', 'thodde sekond'],
13907
+ ss: [number + ' sekondamni', number + ' sekond'],
13908
+ m: ['eka mintan', 'ek minut'],
13909
+ mm: [number + ' mintamni', number + ' mintam'],
13910
+ h: ['eka voran', 'ek vor'],
13911
+ hh: [number + ' voramni', number + ' voram'],
13912
+ d: ['eka disan', 'ek dis'],
13913
+ dd: [number + ' disamni', number + ' dis'],
13914
+ M: ['eka mhoinean', 'ek mhoino'],
13915
+ MM: [number + ' mhoineamni', number + ' mhoine'],
13916
+ y: ['eka vorsan', 'ek voros'],
13917
+ yy: [number + ' vorsamni', number + ' vorsam'],
13918
+ };
13919
+ return isFuture ? format[key][0] : format[key][1];
13920
+ }
13921
+
13922
+ var gomLatn = moment.defineLocale('gom-latn', {
13923
+ months: {
13924
+ standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(
13925
+ '_'
13926
+ ),
13927
+ format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(
13928
+ '_'
13929
+ ),
13930
+ isFormat: /MMMM(\s)+D[oD]?/,
13931
+ },
13932
+ monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(
13933
+ '_'
13934
+ ),
13935
+ monthsParseExact: true,
13936
+ weekdays: "Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split('_'),
13937
+ weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
13938
+ weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
13939
+ weekdaysParseExact: true,
13940
+ longDateFormat: {
13941
+ LT: 'A h:mm [vazta]',
13942
+ LTS: 'A h:mm:ss [vazta]',
13943
+ L: 'DD-MM-YYYY',
13944
+ LL: 'D MMMM YYYY',
13945
+ LLL: 'D MMMM YYYY A h:mm [vazta]',
13946
+ LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',
13947
+ llll: 'ddd, D MMM YYYY, A h:mm [vazta]',
13948
+ },
13949
+ calendar: {
13950
+ sameDay: '[Aiz] LT',
13951
+ nextDay: '[Faleam] LT',
13952
+ nextWeek: '[Fuddlo] dddd[,] LT',
13953
+ lastDay: '[Kal] LT',
13954
+ lastWeek: '[Fattlo] dddd[,] LT',
13955
+ sameElse: 'L',
13956
+ },
13957
+ relativeTime: {
13958
+ future: '%s',
13959
+ past: '%s adim',
13960
+ s: processRelativeTime,
13961
+ ss: processRelativeTime,
13962
+ m: processRelativeTime,
13963
+ mm: processRelativeTime,
13964
+ h: processRelativeTime,
13965
+ hh: processRelativeTime,
13966
+ d: processRelativeTime,
13967
+ dd: processRelativeTime,
13968
+ M: processRelativeTime,
13969
+ MM: processRelativeTime,
13970
+ y: processRelativeTime,
13971
+ yy: processRelativeTime,
13972
+ },
13973
+ dayOfMonthOrdinalParse: /\d{1,2}(er)/,
13974
+ ordinal: function (number, period) {
13975
+ switch (period) {
13976
+ // the ordinal 'er' only applies to day of the month
13977
+ case 'D':
13978
+ return number + 'er';
13979
+ default:
13980
+ case 'M':
13981
+ case 'Q':
13982
+ case 'DDD':
13983
+ case 'd':
13984
+ case 'w':
13985
+ case 'W':
13986
+ return number;
13987
+ }
13988
+ },
13989
+ week: {
13990
+ dow: 1, // Monday is the first day of the week.
13991
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
13992
+ },
13993
+ meridiemParse: /rati|sokallim|donparam|sanje/,
13994
+ meridiemHour: function (hour, meridiem) {
13995
+ if (hour === 12) {
13996
+ hour = 0;
13997
+ }
13998
+ if (meridiem === 'rati') {
13999
+ return hour < 4 ? hour : hour + 12;
14000
+ } else if (meridiem === 'sokallim') {
14001
+ return hour;
14002
+ } else if (meridiem === 'donparam') {
14003
+ return hour > 12 ? hour : hour + 12;
14004
+ } else if (meridiem === 'sanje') {
14005
+ return hour + 12;
14006
+ }
14007
+ },
14008
+ meridiem: function (hour, minute, isLower) {
14009
+ if (hour < 4) {
14010
+ return 'rati';
14011
+ } else if (hour < 12) {
14012
+ return 'sokallim';
14013
+ } else if (hour < 16) {
14014
+ return 'donparam';
14015
+ } else if (hour < 20) {
14016
+ return 'sanje';
14017
+ } else {
14018
+ return 'rati';
14019
+ }
14020
+ },
14021
+ });
14022
+
14023
+ return gomLatn;
14024
+
14025
+ })));
14026
+
14027
+
14028
+ /***/ }),
14029
+ /* 125 */
14030
+ /***/ (function(module, exports, __webpack_require__) {
14031
+
14032
+ //! moment.js locale configuration
14033
+ //! locale : Gujarati [gu]
14034
+ //! author : Kaushik Thanki : https://github.com/Kaushik1987
14035
+
14036
+ ;(function (global, factory) {
14037
+ true ? factory(__webpack_require__(0)) :
14038
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14039
+ factory(global.moment)
14040
+ }(this, (function (moment) { 'use strict';
14041
+
14042
+ //! moment.js locale configuration
14043
+
14044
+ var symbolMap = {
14045
+ '1': '૧',
14046
+ '2': '૨',
14047
+ '3': '૩',
14048
+ '4': '૪',
14049
+ '5': '૫',
14050
+ '6': '૬',
14051
+ '7': '૭',
14052
+ '8': '૮',
14053
+ '9': '૯',
14054
+ '0': '૦',
14055
+ },
14056
+ numberMap = {
14057
+ '૧': '1',
14058
+ '૨': '2',
14059
+ '૩': '3',
14060
+ '૪': '4',
14061
+ '૫': '5',
14062
+ '૬': '6',
14063
+ '૭': '7',
14064
+ '૮': '8',
14065
+ '૯': '9',
14066
+ '૦': '0',
14067
+ };
14068
+
14069
+ var gu = moment.defineLocale('gu', {
14070
+ months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(
14071
+ '_'
14072
+ ),
14073
+ monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(
14074
+ '_'
14075
+ ),
14076
+ monthsParseExact: true,
14077
+ weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(
14078
+ '_'
14079
+ ),
14080
+ weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
14081
+ weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
14082
+ longDateFormat: {
14083
+ LT: 'A h:mm વાગ્યે',
14084
+ LTS: 'A h:mm:ss વાગ્યે',
14085
+ L: 'DD/MM/YYYY',
14086
+ LL: 'D MMMM YYYY',
14087
+ LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
14088
+ LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',
14089
+ },
14090
+ calendar: {
14091
+ sameDay: '[આજ] LT',
14092
+ nextDay: '[કાલે] LT',
14093
+ nextWeek: 'dddd, LT',
14094
+ lastDay: '[ગઇકાલે] LT',
14095
+ lastWeek: '[પાછલા] dddd, LT',
14096
+ sameElse: 'L',
14097
+ },
14098
+ relativeTime: {
14099
+ future: '%s મા',
14100
+ past: '%s પહેલા',
14101
+ s: 'અમુક પળો',
14102
+ ss: '%d સેકંડ',
14103
+ m: 'એક મિનિટ',
14104
+ mm: '%d મિનિટ',
14105
+ h: 'એક કલાક',
14106
+ hh: '%d કલાક',
14107
+ d: 'એક દિવસ',
14108
+ dd: '%d દિવસ',
14109
+ M: 'એક મહિનો',
14110
+ MM: '%d મહિનો',
14111
+ y: 'એક વર્ષ',
14112
+ yy: '%d વર્ષ',
14113
+ },
14114
+ preparse: function (string) {
14115
+ return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
14116
+ return numberMap[match];
14117
+ });
14118
+ },
14119
+ postformat: function (string) {
14120
+ return string.replace(/\d/g, function (match) {
14121
+ return symbolMap[match];
14122
+ });
14123
+ },
14124
+ // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
14125
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
14126
+ meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
14127
+ meridiemHour: function (hour, meridiem) {
14128
+ if (hour === 12) {
14129
+ hour = 0;
14130
+ }
14131
+ if (meridiem === 'રાત') {
14132
+ return hour < 4 ? hour : hour + 12;
14133
+ } else if (meridiem === 'સવાર') {
14134
+ return hour;
14135
+ } else if (meridiem === 'બપોર') {
14136
+ return hour >= 10 ? hour : hour + 12;
14137
+ } else if (meridiem === 'સાંજ') {
14138
+ return hour + 12;
14139
+ }
14140
+ },
14141
+ meridiem: function (hour, minute, isLower) {
14142
+ if (hour < 4) {
14143
+ return 'રાત';
14144
+ } else if (hour < 10) {
14145
+ return 'સવાર';
14146
+ } else if (hour < 17) {
14147
+ return 'બપોર';
14148
+ } else if (hour < 20) {
14149
+ return 'સાંજ';
14150
+ } else {
14151
+ return 'રાત';
14152
+ }
14153
+ },
14154
+ week: {
14155
+ dow: 0, // Sunday is the first day of the week.
14156
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
14157
+ },
14158
+ });
14159
+
14160
+ return gu;
14161
+
14162
+ })));
14163
+
14164
+
14165
+ /***/ }),
14166
+ /* 126 */
14167
+ /***/ (function(module, exports, __webpack_require__) {
14168
+
14169
+ //! moment.js locale configuration
14170
+ //! locale : Hebrew [he]
14171
+ //! author : Tomer Cohen : https://github.com/tomer
14172
+ //! author : Moshe Simantov : https://github.com/DevelopmentIL
14173
+ //! author : Tal Ater : https://github.com/TalAter
14174
+
14175
+ ;(function (global, factory) {
14176
+ true ? factory(__webpack_require__(0)) :
14177
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14178
+ factory(global.moment)
14179
+ }(this, (function (moment) { 'use strict';
14180
+
14181
+ //! moment.js locale configuration
14182
+
14183
+ var he = moment.defineLocale('he', {
14184
+ months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(
14185
+ '_'
14186
+ ),
14187
+ monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(
14188
+ '_'
14189
+ ),
14190
+ weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
14191
+ weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
14192
+ weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),
14193
+ longDateFormat: {
14194
+ LT: 'HH:mm',
14195
+ LTS: 'HH:mm:ss',
14196
+ L: 'DD/MM/YYYY',
14197
+ LL: 'D [ב]MMMM YYYY',
14198
+ LLL: 'D [ב]MMMM YYYY HH:mm',
14199
+ LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',
14200
+ l: 'D/M/YYYY',
14201
+ ll: 'D MMM YYYY',
14202
+ lll: 'D MMM YYYY HH:mm',
14203
+ llll: 'ddd, D MMM YYYY HH:mm',
14204
+ },
14205
+ calendar: {
14206
+ sameDay: '[היום ב־]LT',
14207
+ nextDay: '[מחר ב־]LT',
14208
+ nextWeek: 'dddd [בשעה] LT',
14209
+ lastDay: '[אתמול ב־]LT',
14210
+ lastWeek: '[ביום] dddd [האחרון בשעה] LT',
14211
+ sameElse: 'L',
14212
+ },
14213
+ relativeTime: {
14214
+ future: 'בעוד %s',
14215
+ past: 'לפני %s',
14216
+ s: 'מספר שניות',
14217
+ ss: '%d שניות',
14218
+ m: 'דקה',
14219
+ mm: '%d דקות',
14220
+ h: 'שעה',
14221
+ hh: function (number) {
14222
+ if (number === 2) {
14223
+ return 'שעתיים';
14224
+ }
14225
+ return number + ' שעות';
14226
+ },
14227
+ d: 'יום',
14228
+ dd: function (number) {
14229
+ if (number === 2) {
14230
+ return 'יומיים';
14231
+ }
14232
+ return number + ' ימים';
14233
+ },
14234
+ M: 'חודש',
14235
+ MM: function (number) {
14236
+ if (number === 2) {
14237
+ return 'חודשיים';
14238
+ }
14239
+ return number + ' חודשים';
14240
+ },
14241
+ y: 'שנה',
14242
+ yy: function (number) {
14243
+ if (number === 2) {
14244
+ return 'שנתיים';
14245
+ } else if (number % 10 === 0 && number !== 10) {
14246
+ return number + ' שנה';
14247
+ }
14248
+ return number + ' שנים';
14249
+ },
14250
+ },
14251
+ meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
14252
+ isPM: function (input) {
14253
+ return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
14254
+ },
14255
+ meridiem: function (hour, minute, isLower) {
14256
+ if (hour < 5) {
14257
+ return 'לפנות בוקר';
14258
+ } else if (hour < 10) {
14259
+ return 'בבוקר';
14260
+ } else if (hour < 12) {
14261
+ return isLower ? 'לפנה"צ' : 'לפני הצהריים';
14262
+ } else if (hour < 18) {
14263
+ return isLower ? 'אחה"צ' : 'אחרי הצהריים';
14264
+ } else {
14265
+ return 'בערב';
14266
+ }
14267
+ },
14268
+ });
14269
+
14270
+ return he;
14271
+
14272
+ })));
14273
+
14274
+
14275
+ /***/ }),
14276
+ /* 127 */
14277
+ /***/ (function(module, exports, __webpack_require__) {
14278
+
14279
+ //! moment.js locale configuration
14280
+ //! locale : Hindi [hi]
14281
+ //! author : Mayank Singhal : https://github.com/mayanksinghal
14282
+
14283
+ ;(function (global, factory) {
14284
+ true ? factory(__webpack_require__(0)) :
14285
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14286
+ factory(global.moment)
14287
+ }(this, (function (moment) { 'use strict';
14288
+
14289
+ //! moment.js locale configuration
14290
+
14291
+ var symbolMap = {
14292
+ '1': '१',
14293
+ '2': '२',
14294
+ '3': '३',
14295
+ '4': '४',
14296
+ '5': '५',
14297
+ '6': '६',
14298
+ '7': '७',
14299
+ '8': '८',
14300
+ '9': '९',
14301
+ '0': '०',
14302
+ },
14303
+ numberMap = {
14304
+ '१': '1',
14305
+ '२': '2',
14306
+ '३': '3',
14307
+ '४': '4',
14308
+ '५': '5',
14309
+ '६': '6',
14310
+ '७': '7',
14311
+ '८': '8',
14312
+ '९': '9',
14313
+ '०': '0',
14314
+ };
14315
+
14316
+ var hi = moment.defineLocale('hi', {
14317
+ months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(
14318
+ '_'
14319
+ ),
14320
+ monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(
14321
+ '_'
14322
+ ),
14323
+ monthsParseExact: true,
14324
+ weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
14325
+ weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
14326
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
14327
+ longDateFormat: {
14328
+ LT: 'A h:mm बजे',
14329
+ LTS: 'A h:mm:ss बजे',
14330
+ L: 'DD/MM/YYYY',
14331
+ LL: 'D MMMM YYYY',
14332
+ LLL: 'D MMMM YYYY, A h:mm बजे',
14333
+ LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',
14334
+ },
14335
+ calendar: {
14336
+ sameDay: '[आज] LT',
14337
+ nextDay: '[कल] LT',
14338
+ nextWeek: 'dddd, LT',
14339
+ lastDay: '[कल] LT',
14340
+ lastWeek: '[पिछले] dddd, LT',
14341
+ sameElse: 'L',
14342
+ },
14343
+ relativeTime: {
14344
+ future: '%s में',
14345
+ past: '%s पहले',
14346
+ s: 'कुछ ही क्षण',
14347
+ ss: '%d सेकंड',
14348
+ m: 'एक मिनट',
14349
+ mm: '%d मिनट',
14350
+ h: 'एक घंटा',
14351
+ hh: '%d घंटे',
14352
+ d: 'एक दिन',
14353
+ dd: '%d दिन',
14354
+ M: 'एक महीने',
14355
+ MM: '%d महीने',
14356
+ y: 'एक वर्ष',
14357
+ yy: '%d वर्ष',
14358
+ },
14359
+ preparse: function (string) {
14360
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
14361
+ return numberMap[match];
14362
+ });
14363
+ },
14364
+ postformat: function (string) {
14365
+ return string.replace(/\d/g, function (match) {
14366
+ return symbolMap[match];
14367
+ });
14368
+ },
14369
+ // Hindi notation for meridiems are quite fuzzy in practice. While there exists
14370
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
14371
+ meridiemParse: /रात|सुबह|दोपहर|शाम/,
14372
+ meridiemHour: function (hour, meridiem) {
14373
+ if (hour === 12) {
14374
+ hour = 0;
14375
+ }
14376
+ if (meridiem === 'रात') {
14377
+ return hour < 4 ? hour : hour + 12;
14378
+ } else if (meridiem === 'सुबह') {
14379
+ return hour;
14380
+ } else if (meridiem === 'दोपहर') {
14381
+ return hour >= 10 ? hour : hour + 12;
14382
+ } else if (meridiem === 'शाम') {
14383
+ return hour + 12;
14384
+ }
14385
+ },
14386
+ meridiem: function (hour, minute, isLower) {
14387
+ if (hour < 4) {
14388
+ return 'रात';
14389
+ } else if (hour < 10) {
14390
+ return 'सुबह';
14391
+ } else if (hour < 17) {
14392
+ return 'दोपहर';
14393
+ } else if (hour < 20) {
14394
+ return 'शाम';
14395
+ } else {
14396
+ return 'रात';
14397
+ }
14398
+ },
14399
+ week: {
14400
+ dow: 0, // Sunday is the first day of the week.
14401
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
14402
+ },
14403
+ });
14404
+
14405
+ return hi;
14406
+
14407
+ })));
14408
+
14409
+
14410
+ /***/ }),
14411
+ /* 128 */
14412
+ /***/ (function(module, exports, __webpack_require__) {
14413
+
14414
+ //! moment.js locale configuration
14415
+ //! locale : Croatian [hr]
14416
+ //! author : Bojan Marković : https://github.com/bmarkovic
14417
+
14418
+ ;(function (global, factory) {
14419
+ true ? factory(__webpack_require__(0)) :
14420
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14421
+ factory(global.moment)
14422
+ }(this, (function (moment) { 'use strict';
14423
+
14424
+ //! moment.js locale configuration
14425
+
14426
+ function translate(number, withoutSuffix, key) {
14427
+ var result = number + ' ';
14428
+ switch (key) {
14429
+ case 'ss':
14430
+ if (number === 1) {
14431
+ result += 'sekunda';
14432
+ } else if (number === 2 || number === 3 || number === 4) {
14433
+ result += 'sekunde';
14434
+ } else {
14435
+ result += 'sekundi';
14436
+ }
14437
+ return result;
14438
+ case 'm':
14439
+ return withoutSuffix ? 'jedna minuta' : 'jedne minute';
14440
+ case 'mm':
14441
+ if (number === 1) {
14442
+ result += 'minuta';
14443
+ } else if (number === 2 || number === 3 || number === 4) {
14444
+ result += 'minute';
14445
+ } else {
14446
+ result += 'minuta';
14447
+ }
14448
+ return result;
14449
+ case 'h':
14450
+ return withoutSuffix ? 'jedan sat' : 'jednog sata';
14451
+ case 'hh':
14452
+ if (number === 1) {
14453
+ result += 'sat';
14454
+ } else if (number === 2 || number === 3 || number === 4) {
14455
+ result += 'sata';
14456
+ } else {
14457
+ result += 'sati';
14458
+ }
14459
+ return result;
14460
+ case 'dd':
14461
+ if (number === 1) {
14462
+ result += 'dan';
14463
+ } else {
14464
+ result += 'dana';
14465
+ }
14466
+ return result;
14467
+ case 'MM':
14468
+ if (number === 1) {
14469
+ result += 'mjesec';
14470
+ } else if (number === 2 || number === 3 || number === 4) {
14471
+ result += 'mjeseca';
14472
+ } else {
14473
+ result += 'mjeseci';
14474
+ }
14475
+ return result;
14476
+ case 'yy':
14477
+ if (number === 1) {
14478
+ result += 'godina';
14479
+ } else if (number === 2 || number === 3 || number === 4) {
14480
+ result += 'godine';
14481
+ } else {
14482
+ result += 'godina';
14483
+ }
14484
+ return result;
14485
+ }
14486
+ }
14487
+
14488
+ var hr = moment.defineLocale('hr', {
14489
+ months: {
14490
+ format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(
14491
+ '_'
14492
+ ),
14493
+ standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(
14494
+ '_'
14495
+ ),
14496
+ },
14497
+ monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(
14498
+ '_'
14499
+ ),
14500
+ monthsParseExact: true,
14501
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
14502
+ '_'
14503
+ ),
14504
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
14505
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
14506
+ weekdaysParseExact: true,
14507
+ longDateFormat: {
14508
+ LT: 'H:mm',
14509
+ LTS: 'H:mm:ss',
14510
+ L: 'DD.MM.YYYY',
14511
+ LL: 'Do MMMM YYYY',
14512
+ LLL: 'Do MMMM YYYY H:mm',
14513
+ LLLL: 'dddd, Do MMMM YYYY H:mm',
14514
+ },
14515
+ calendar: {
14516
+ sameDay: '[danas u] LT',
14517
+ nextDay: '[sutra u] LT',
14518
+ nextWeek: function () {
14519
+ switch (this.day()) {
14520
+ case 0:
14521
+ return '[u] [nedjelju] [u] LT';
14522
+ case 3:
14523
+ return '[u] [srijedu] [u] LT';
14524
+ case 6:
14525
+ return '[u] [subotu] [u] LT';
14526
+ case 1:
14527
+ case 2:
14528
+ case 4:
14529
+ case 5:
14530
+ return '[u] dddd [u] LT';
14531
+ }
14532
+ },
14533
+ lastDay: '[jučer u] LT',
14534
+ lastWeek: function () {
14535
+ switch (this.day()) {
14536
+ case 0:
14537
+ return '[prošlu] [nedjelju] [u] LT';
14538
+ case 3:
14539
+ return '[prošlu] [srijedu] [u] LT';
14540
+ case 6:
14541
+ return '[prošle] [subote] [u] LT';
14542
+ case 1:
14543
+ case 2:
14544
+ case 4:
14545
+ case 5:
14546
+ return '[prošli] dddd [u] LT';
14547
+ }
14548
+ },
14549
+ sameElse: 'L',
14550
+ },
14551
+ relativeTime: {
14552
+ future: 'za %s',
14553
+ past: 'prije %s',
14554
+ s: 'par sekundi',
14555
+ ss: translate,
14556
+ m: translate,
14557
+ mm: translate,
14558
+ h: translate,
14559
+ hh: translate,
14560
+ d: 'dan',
14561
+ dd: translate,
14562
+ M: 'mjesec',
14563
+ MM: translate,
14564
+ y: 'godinu',
14565
+ yy: translate,
14566
+ },
14567
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
14568
+ ordinal: '%d.',
14569
+ week: {
14570
+ dow: 1, // Monday is the first day of the week.
14571
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
14572
+ },
14573
+ });
14574
+
14575
+ return hr;
14576
+
14577
+ })));
14578
+
14579
+
14580
+ /***/ }),
14581
+ /* 129 */
14582
+ /***/ (function(module, exports, __webpack_require__) {
14583
+
14584
+ //! moment.js locale configuration
14585
+ //! locale : Hungarian [hu]
14586
+ //! author : Adam Brunner : https://github.com/adambrunner
14587
+
14588
+ ;(function (global, factory) {
14589
+ true ? factory(__webpack_require__(0)) :
14590
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14591
+ factory(global.moment)
14592
+ }(this, (function (moment) { 'use strict';
14593
+
14594
+ //! moment.js locale configuration
14595
+
14596
+ var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(
14597
+ ' '
14598
+ );
14599
+ function translate(number, withoutSuffix, key, isFuture) {
14600
+ var num = number;
14601
+ switch (key) {
14602
+ case 's':
14603
+ return isFuture || withoutSuffix
14604
+ ? 'néhány másodperc'
14605
+ : 'néhány másodperce';
14606
+ case 'ss':
14607
+ return num + (isFuture || withoutSuffix)
14608
+ ? ' másodperc'
14609
+ : ' másodperce';
14610
+ case 'm':
14611
+ return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
14612
+ case 'mm':
14613
+ return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
14614
+ case 'h':
14615
+ return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
14616
+ case 'hh':
14617
+ return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
14618
+ case 'd':
14619
+ return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
14620
+ case 'dd':
14621
+ return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
14622
+ case 'M':
14623
+ return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
14624
+ case 'MM':
14625
+ return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
14626
+ case 'y':
14627
+ return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
14628
+ case 'yy':
14629
+ return num + (isFuture || withoutSuffix ? ' év' : ' éve');
14630
+ }
14631
+ return '';
14632
+ }
14633
+ function week(isFuture) {
14634
+ return (
14635
+ (isFuture ? '' : '[múlt] ') +
14636
+ '[' +
14637
+ weekEndings[this.day()] +
14638
+ '] LT[-kor]'
14639
+ );
14640
+ }
14641
+
14642
+ var hu = moment.defineLocale('hu', {
14643
+ months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(
14644
+ '_'
14645
+ ),
14646
+ monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split(
14647
+ '_'
14648
+ ),
14649
+ weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
14650
+ weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
14651
+ weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),
14652
+ longDateFormat: {
14653
+ LT: 'H:mm',
14654
+ LTS: 'H:mm:ss',
14655
+ L: 'YYYY.MM.DD.',
14656
+ LL: 'YYYY. MMMM D.',
14657
+ LLL: 'YYYY. MMMM D. H:mm',
14658
+ LLLL: 'YYYY. MMMM D., dddd H:mm',
14659
+ },
14660
+ meridiemParse: /de|du/i,
14661
+ isPM: function (input) {
14662
+ return input.charAt(1).toLowerCase() === 'u';
14663
+ },
14664
+ meridiem: function (hours, minutes, isLower) {
14665
+ if (hours < 12) {
14666
+ return isLower === true ? 'de' : 'DE';
14667
+ } else {
14668
+ return isLower === true ? 'du' : 'DU';
14669
+ }
14670
+ },
14671
+ calendar: {
14672
+ sameDay: '[ma] LT[-kor]',
14673
+ nextDay: '[holnap] LT[-kor]',
14674
+ nextWeek: function () {
14675
+ return week.call(this, true);
14676
+ },
14677
+ lastDay: '[tegnap] LT[-kor]',
14678
+ lastWeek: function () {
14679
+ return week.call(this, false);
14680
+ },
14681
+ sameElse: 'L',
14682
+ },
14683
+ relativeTime: {
14684
+ future: '%s múlva',
14685
+ past: '%s',
14686
+ s: translate,
14687
+ ss: translate,
14688
+ m: translate,
14689
+ mm: translate,
14690
+ h: translate,
14691
+ hh: translate,
14692
+ d: translate,
14693
+ dd: translate,
14694
+ M: translate,
14695
+ MM: translate,
14696
+ y: translate,
14697
+ yy: translate,
14698
+ },
14699
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
14700
+ ordinal: '%d.',
14701
+ week: {
14702
+ dow: 1, // Monday is the first day of the week.
14703
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
14704
+ },
14705
+ });
14706
+
14707
+ return hu;
14708
+
14709
+ })));
14710
+
14711
+
14712
+ /***/ }),
14713
+ /* 130 */
14714
+ /***/ (function(module, exports, __webpack_require__) {
14715
+
14716
+ //! moment.js locale configuration
14717
+ //! locale : Armenian [hy-am]
14718
+ //! author : Armendarabyan : https://github.com/armendarabyan
14719
+
14720
+ ;(function (global, factory) {
14721
+ true ? factory(__webpack_require__(0)) :
14722
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14723
+ factory(global.moment)
14724
+ }(this, (function (moment) { 'use strict';
14725
+
14726
+ //! moment.js locale configuration
14727
+
14728
+ var hyAm = moment.defineLocale('hy-am', {
14729
+ months: {
14730
+ format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(
14731
+ '_'
14732
+ ),
14733
+ standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(
14734
+ '_'
14735
+ ),
14736
+ },
14737
+ monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
14738
+ weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(
14739
+ '_'
14740
+ ),
14741
+ weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
14742
+ weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
14743
+ longDateFormat: {
14744
+ LT: 'HH:mm',
14745
+ LTS: 'HH:mm:ss',
14746
+ L: 'DD.MM.YYYY',
14747
+ LL: 'D MMMM YYYY թ.',
14748
+ LLL: 'D MMMM YYYY թ., HH:mm',
14749
+ LLLL: 'dddd, D MMMM YYYY թ., HH:mm',
14750
+ },
14751
+ calendar: {
14752
+ sameDay: '[այսօր] LT',
14753
+ nextDay: '[վաղը] LT',
14754
+ lastDay: '[երեկ] LT',
14755
+ nextWeek: function () {
14756
+ return 'dddd [օրը ժամը] LT';
14757
+ },
14758
+ lastWeek: function () {
14759
+ return '[անցած] dddd [օրը ժամը] LT';
14760
+ },
14761
+ sameElse: 'L',
14762
+ },
14763
+ relativeTime: {
14764
+ future: '%s հետո',
14765
+ past: '%s առաջ',
14766
+ s: 'մի քանի վայրկյան',
14767
+ ss: '%d վայրկյան',
14768
+ m: 'րոպե',
14769
+ mm: '%d րոպե',
14770
+ h: 'ժամ',
14771
+ hh: '%d ժամ',
14772
+ d: 'օր',
14773
+ dd: '%d օր',
14774
+ M: 'ամիս',
14775
+ MM: '%d ամիս',
14776
+ y: 'տարի',
14777
+ yy: '%d տարի',
14778
+ },
14779
+ meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
14780
+ isPM: function (input) {
14781
+ return /^(ցերեկվա|երեկոյան)$/.test(input);
14782
+ },
14783
+ meridiem: function (hour) {
14784
+ if (hour < 4) {
14785
+ return 'գիշերվա';
14786
+ } else if (hour < 12) {
14787
+ return 'առավոտվա';
14788
+ } else if (hour < 17) {
14789
+ return 'ցերեկվա';
14790
+ } else {
14791
+ return 'երեկոյան';
14792
+ }
14793
+ },
14794
+ dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
14795
+ ordinal: function (number, period) {
14796
+ switch (period) {
14797
+ case 'DDD':
14798
+ case 'w':
14799
+ case 'W':
14800
+ case 'DDDo':
14801
+ if (number === 1) {
14802
+ return number + '-ին';
14803
+ }
14804
+ return number + '-րդ';
14805
+ default:
14806
+ return number;
14807
+ }
14808
+ },
14809
+ week: {
14810
+ dow: 1, // Monday is the first day of the week.
14811
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
14812
+ },
14813
+ });
14814
+
14815
+ return hyAm;
14816
+
14817
+ })));
14818
+
14819
+
14820
+ /***/ }),
14821
+ /* 131 */
14822
+ /***/ (function(module, exports, __webpack_require__) {
14823
+
14824
+ //! moment.js locale configuration
14825
+ //! locale : Indonesian [id]
14826
+ //! author : Mohammad Satrio Utomo : https://github.com/tyok
14827
+ //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
14828
+
14829
+ ;(function (global, factory) {
14830
+ true ? factory(__webpack_require__(0)) :
14831
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14832
+ factory(global.moment)
14833
+ }(this, (function (moment) { 'use strict';
14834
+
14835
+ //! moment.js locale configuration
14836
+
14837
+ var id = moment.defineLocale('id', {
14838
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(
14839
+ '_'
14840
+ ),
14841
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
14842
+ weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
14843
+ weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
14844
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
14845
+ longDateFormat: {
14846
+ LT: 'HH.mm',
14847
+ LTS: 'HH.mm.ss',
14848
+ L: 'DD/MM/YYYY',
14849
+ LL: 'D MMMM YYYY',
14850
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
14851
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
14852
+ },
14853
+ meridiemParse: /pagi|siang|sore|malam/,
14854
+ meridiemHour: function (hour, meridiem) {
14855
+ if (hour === 12) {
14856
+ hour = 0;
14857
+ }
14858
+ if (meridiem === 'pagi') {
14859
+ return hour;
14860
+ } else if (meridiem === 'siang') {
14861
+ return hour >= 11 ? hour : hour + 12;
14862
+ } else if (meridiem === 'sore' || meridiem === 'malam') {
14863
+ return hour + 12;
14864
+ }
14865
+ },
14866
+ meridiem: function (hours, minutes, isLower) {
14867
+ if (hours < 11) {
14868
+ return 'pagi';
14869
+ } else if (hours < 15) {
14870
+ return 'siang';
14871
+ } else if (hours < 19) {
14872
+ return 'sore';
14873
+ } else {
14874
+ return 'malam';
14875
+ }
14876
+ },
14877
+ calendar: {
14878
+ sameDay: '[Hari ini pukul] LT',
14879
+ nextDay: '[Besok pukul] LT',
14880
+ nextWeek: 'dddd [pukul] LT',
14881
+ lastDay: '[Kemarin pukul] LT',
14882
+ lastWeek: 'dddd [lalu pukul] LT',
14883
+ sameElse: 'L',
14884
+ },
14885
+ relativeTime: {
14886
+ future: 'dalam %s',
14887
+ past: '%s yang lalu',
14888
+ s: 'beberapa detik',
14889
+ ss: '%d detik',
14890
+ m: 'semenit',
14891
+ mm: '%d menit',
14892
+ h: 'sejam',
14893
+ hh: '%d jam',
14894
+ d: 'sehari',
14895
+ dd: '%d hari',
14896
+ M: 'sebulan',
14897
+ MM: '%d bulan',
14898
+ y: 'setahun',
14899
+ yy: '%d tahun',
14900
+ },
14901
+ week: {
14902
+ dow: 0, // Sunday is the first day of the week.
14903
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
14904
+ },
14905
+ });
14906
+
14907
+ return id;
14908
+
14909
+ })));
14910
+
14911
+
14912
+ /***/ }),
14913
+ /* 132 */
14914
+ /***/ (function(module, exports, __webpack_require__) {
14915
+
14916
+ //! moment.js locale configuration
14917
+ //! locale : Icelandic [is]
14918
+ //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
14919
+
14920
+ ;(function (global, factory) {
14921
+ true ? factory(__webpack_require__(0)) :
14922
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
14923
+ factory(global.moment)
14924
+ }(this, (function (moment) { 'use strict';
14925
+
14926
+ //! moment.js locale configuration
14927
+
14928
+ function plural(n) {
14929
+ if (n % 100 === 11) {
14930
+ return true;
14931
+ } else if (n % 10 === 1) {
14932
+ return false;
14933
+ }
14934
+ return true;
14935
+ }
14936
+ function translate(number, withoutSuffix, key, isFuture) {
14937
+ var result = number + ' ';
14938
+ switch (key) {
14939
+ case 's':
14940
+ return withoutSuffix || isFuture
14941
+ ? 'nokkrar sekúndur'
14942
+ : 'nokkrum sekúndum';
14943
+ case 'ss':
14944
+ if (plural(number)) {
14945
+ return (
14946
+ result +
14947
+ (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')
14948
+ );
14949
+ }
14950
+ return result + 'sekúnda';
14951
+ case 'm':
14952
+ return withoutSuffix ? 'mínúta' : 'mínútu';
14953
+ case 'mm':
14954
+ if (plural(number)) {
14955
+ return (
14956
+ result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')
14957
+ );
14958
+ } else if (withoutSuffix) {
14959
+ return result + 'mínúta';
14960
+ }
14961
+ return result + 'mínútu';
14962
+ case 'hh':
14963
+ if (plural(number)) {
14964
+ return (
14965
+ result +
14966
+ (withoutSuffix || isFuture
14967
+ ? 'klukkustundir'
14968
+ : 'klukkustundum')
14969
+ );
14970
+ }
14971
+ return result + 'klukkustund';
14972
+ case 'd':
14973
+ if (withoutSuffix) {
14974
+ return 'dagur';
14975
+ }
14976
+ return isFuture ? 'dag' : 'degi';
14977
+ case 'dd':
14978
+ if (plural(number)) {
14979
+ if (withoutSuffix) {
14980
+ return result + 'dagar';
14981
+ }
14982
+ return result + (isFuture ? 'daga' : 'dögum');
14983
+ } else if (withoutSuffix) {
14984
+ return result + 'dagur';
14985
+ }
14986
+ return result + (isFuture ? 'dag' : 'degi');
14987
+ case 'M':
14988
+ if (withoutSuffix) {
14989
+ return 'mánuður';
14990
+ }
14991
+ return isFuture ? 'mánuð' : 'mánuði';
14992
+ case 'MM':
14993
+ if (plural(number)) {
14994
+ if (withoutSuffix) {
14995
+ return result + 'mánuðir';
14996
+ }
14997
+ return result + (isFuture ? 'mánuði' : 'mánuðum');
14998
+ } else if (withoutSuffix) {
14999
+ return result + 'mánuður';
15000
+ }
15001
+ return result + (isFuture ? 'mánuð' : 'mánuði');
15002
+ case 'y':
15003
+ return withoutSuffix || isFuture ? 'ár' : 'ári';
15004
+ case 'yy':
15005
+ if (plural(number)) {
15006
+ return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
15007
+ }
15008
+ return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
15009
+ }
15010
+ }
15011
+
15012
+ var is = moment.defineLocale('is', {
15013
+ months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(
15014
+ '_'
15015
+ ),
15016
+ monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
15017
+ weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(
15018
+ '_'
15019
+ ),
15020
+ weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
15021
+ weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
15022
+ longDateFormat: {
15023
+ LT: 'H:mm',
15024
+ LTS: 'H:mm:ss',
15025
+ L: 'DD.MM.YYYY',
15026
+ LL: 'D. MMMM YYYY',
15027
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
15028
+ LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',
15029
+ },
15030
+ calendar: {
15031
+ sameDay: '[í dag kl.] LT',
15032
+ nextDay: '[á morgun kl.] LT',
15033
+ nextWeek: 'dddd [kl.] LT',
15034
+ lastDay: '[í gær kl.] LT',
15035
+ lastWeek: '[síðasta] dddd [kl.] LT',
15036
+ sameElse: 'L',
15037
+ },
15038
+ relativeTime: {
15039
+ future: 'eftir %s',
15040
+ past: 'fyrir %s síðan',
15041
+ s: translate,
15042
+ ss: translate,
15043
+ m: translate,
15044
+ mm: translate,
15045
+ h: 'klukkustund',
15046
+ hh: translate,
15047
+ d: translate,
15048
+ dd: translate,
15049
+ M: translate,
15050
+ MM: translate,
15051
+ y: translate,
15052
+ yy: translate,
15053
+ },
15054
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
15055
+ ordinal: '%d.',
15056
+ week: {
15057
+ dow: 1, // Monday is the first day of the week.
15058
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
15059
+ },
15060
+ });
15061
+
15062
+ return is;
15063
+
15064
+ })));
15065
+
15066
+
15067
+ /***/ }),
15068
+ /* 133 */
15069
+ /***/ (function(module, exports, __webpack_require__) {
15070
+
15071
+ //! moment.js locale configuration
15072
+ //! locale : Italian [it]
15073
+ //! author : Lorenzo : https://github.com/aliem
15074
+ //! author: Mattia Larentis: https://github.com/nostalgiaz
15075
+ //! author: Marco : https://github.com/Manfre98
15076
+
15077
+ ;(function (global, factory) {
15078
+ true ? factory(__webpack_require__(0)) :
15079
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15080
+ factory(global.moment)
15081
+ }(this, (function (moment) { 'use strict';
15082
+
15083
+ //! moment.js locale configuration
15084
+
15085
+ var it = moment.defineLocale('it', {
15086
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
15087
+ '_'
15088
+ ),
15089
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
15090
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
15091
+ '_'
15092
+ ),
15093
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
15094
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
15095
+ longDateFormat: {
15096
+ LT: 'HH:mm',
15097
+ LTS: 'HH:mm:ss',
15098
+ L: 'DD/MM/YYYY',
15099
+ LL: 'D MMMM YYYY',
15100
+ LLL: 'D MMMM YYYY HH:mm',
15101
+ LLLL: 'dddd D MMMM YYYY HH:mm',
15102
+ },
15103
+ calendar: {
15104
+ sameDay: function () {
15105
+ return (
15106
+ '[Oggi a' +
15107
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
15108
+ ']LT'
15109
+ );
15110
+ },
15111
+ nextDay: function () {
15112
+ return (
15113
+ '[Domani a' +
15114
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
15115
+ ']LT'
15116
+ );
15117
+ },
15118
+ nextWeek: function () {
15119
+ return (
15120
+ 'dddd [a' +
15121
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
15122
+ ']LT'
15123
+ );
15124
+ },
15125
+ lastDay: function () {
15126
+ return (
15127
+ '[Ieri a' +
15128
+ (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") +
15129
+ ']LT'
15130
+ );
15131
+ },
15132
+ lastWeek: function () {
15133
+ switch (this.day()) {
15134
+ case 0:
15135
+ return (
15136
+ '[La scorsa] dddd [a' +
15137
+ (this.hours() > 1
15138
+ ? 'lle '
15139
+ : this.hours() === 0
15140
+ ? ' '
15141
+ : "ll'") +
15142
+ ']LT'
15143
+ );
15144
+ default:
15145
+ return (
15146
+ '[Lo scorso] dddd [a' +
15147
+ (this.hours() > 1
15148
+ ? 'lle '
15149
+ : this.hours() === 0
15150
+ ? ' '
15151
+ : "ll'") +
15152
+ ']LT'
15153
+ );
15154
+ }
15155
+ },
15156
+ sameElse: 'L',
15157
+ },
15158
+ relativeTime: {
15159
+ future: 'tra %s',
15160
+ past: '%s fa',
15161
+ s: 'alcuni secondi',
15162
+ ss: '%d secondi',
15163
+ m: 'un minuto',
15164
+ mm: '%d minuti',
15165
+ h: "un'ora",
15166
+ hh: '%d ore',
15167
+ d: 'un giorno',
15168
+ dd: '%d giorni',
15169
+ M: 'un mese',
15170
+ MM: '%d mesi',
15171
+ y: 'un anno',
15172
+ yy: '%d anni',
15173
+ },
15174
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
15175
+ ordinal: '%dº',
15176
+ week: {
15177
+ dow: 1, // Monday is the first day of the week.
15178
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
15179
+ },
15180
+ });
15181
+
15182
+ return it;
15183
+
15184
+ })));
15185
+
15186
+
15187
+ /***/ }),
15188
+ /* 134 */
15189
+ /***/ (function(module, exports, __webpack_require__) {
15190
+
15191
+ //! moment.js locale configuration
15192
+ //! locale : Italian (Switzerland) [it-ch]
15193
+ //! author : xfh : https://github.com/xfh
15194
+
15195
+ ;(function (global, factory) {
15196
+ true ? factory(__webpack_require__(0)) :
15197
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15198
+ factory(global.moment)
15199
+ }(this, (function (moment) { 'use strict';
15200
+
15201
+ //! moment.js locale configuration
15202
+
15203
+ var itCh = moment.defineLocale('it-ch', {
15204
+ months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(
15205
+ '_'
15206
+ ),
15207
+ monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
15208
+ weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(
15209
+ '_'
15210
+ ),
15211
+ weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
15212
+ weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
15213
+ longDateFormat: {
15214
+ LT: 'HH:mm',
15215
+ LTS: 'HH:mm:ss',
15216
+ L: 'DD.MM.YYYY',
15217
+ LL: 'D MMMM YYYY',
15218
+ LLL: 'D MMMM YYYY HH:mm',
15219
+ LLLL: 'dddd D MMMM YYYY HH:mm',
15220
+ },
15221
+ calendar: {
15222
+ sameDay: '[Oggi alle] LT',
15223
+ nextDay: '[Domani alle] LT',
15224
+ nextWeek: 'dddd [alle] LT',
15225
+ lastDay: '[Ieri alle] LT',
15226
+ lastWeek: function () {
15227
+ switch (this.day()) {
15228
+ case 0:
15229
+ return '[la scorsa] dddd [alle] LT';
15230
+ default:
15231
+ return '[lo scorso] dddd [alle] LT';
15232
+ }
15233
+ },
15234
+ sameElse: 'L',
15235
+ },
15236
+ relativeTime: {
15237
+ future: function (s) {
15238
+ return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;
15239
+ },
15240
+ past: '%s fa',
15241
+ s: 'alcuni secondi',
15242
+ ss: '%d secondi',
15243
+ m: 'un minuto',
15244
+ mm: '%d minuti',
15245
+ h: "un'ora",
15246
+ hh: '%d ore',
15247
+ d: 'un giorno',
15248
+ dd: '%d giorni',
15249
+ M: 'un mese',
15250
+ MM: '%d mesi',
15251
+ y: 'un anno',
15252
+ yy: '%d anni',
15253
+ },
15254
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
15255
+ ordinal: '%dº',
15256
+ week: {
15257
+ dow: 1, // Monday is the first day of the week.
15258
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
15259
+ },
15260
+ });
15261
+
15262
+ return itCh;
15263
+
15264
+ })));
15265
+
15266
+
15267
+ /***/ }),
15268
+ /* 135 */
15269
+ /***/ (function(module, exports, __webpack_require__) {
15270
+
15271
+ //! moment.js locale configuration
15272
+ //! locale : Japanese [ja]
15273
+ //! author : LI Long : https://github.com/baryon
15274
+
15275
+ ;(function (global, factory) {
15276
+ true ? factory(__webpack_require__(0)) :
15277
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15278
+ factory(global.moment)
15279
+ }(this, (function (moment) { 'use strict';
15280
+
15281
+ //! moment.js locale configuration
15282
+
15283
+ var ja = moment.defineLocale('ja', {
15284
+ eras: [
15285
+ {
15286
+ since: '2019-05-01',
15287
+ offset: 1,
15288
+ name: '令和',
15289
+ narrow: '㋿',
15290
+ abbr: 'R',
15291
+ },
15292
+ {
15293
+ since: '1989-01-08',
15294
+ until: '2019-04-30',
15295
+ offset: 1,
15296
+ name: '平成',
15297
+ narrow: '㍻',
15298
+ abbr: 'H',
15299
+ },
15300
+ {
15301
+ since: '1926-12-25',
15302
+ until: '1989-01-07',
15303
+ offset: 1,
15304
+ name: '昭和',
15305
+ narrow: '㍼',
15306
+ abbr: 'S',
15307
+ },
15308
+ {
15309
+ since: '1912-07-30',
15310
+ until: '1926-12-24',
15311
+ offset: 1,
15312
+ name: '大正',
15313
+ narrow: '㍽',
15314
+ abbr: 'T',
15315
+ },
15316
+ {
15317
+ since: '1873-01-01',
15318
+ until: '1912-07-29',
15319
+ offset: 6,
15320
+ name: '明治',
15321
+ narrow: '㍾',
15322
+ abbr: 'M',
15323
+ },
15324
+ {
15325
+ since: '0001-01-01',
15326
+ until: '1873-12-31',
15327
+ offset: 1,
15328
+ name: '西暦',
15329
+ narrow: 'AD',
15330
+ abbr: 'AD',
15331
+ },
15332
+ {
15333
+ since: '0000-12-31',
15334
+ until: -Infinity,
15335
+ offset: 1,
15336
+ name: '紀元前',
15337
+ narrow: 'BC',
15338
+ abbr: 'BC',
15339
+ },
15340
+ ],
15341
+ eraYearOrdinalRegex: /(元|\d+)年/,
15342
+ eraYearOrdinalParse: function (input, match) {
15343
+ return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);
15344
+ },
15345
+ months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
15346
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
15347
+ '_'
15348
+ ),
15349
+ weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
15350
+ weekdaysShort: '日_月_火_水_木_金_土'.split('_'),
15351
+ weekdaysMin: '日_月_火_水_木_金_土'.split('_'),
15352
+ longDateFormat: {
15353
+ LT: 'HH:mm',
15354
+ LTS: 'HH:mm:ss',
15355
+ L: 'YYYY/MM/DD',
15356
+ LL: 'YYYY年M月D日',
15357
+ LLL: 'YYYY年M月D日 HH:mm',
15358
+ LLLL: 'YYYY年M月D日 dddd HH:mm',
15359
+ l: 'YYYY/MM/DD',
15360
+ ll: 'YYYY年M月D日',
15361
+ lll: 'YYYY年M月D日 HH:mm',
15362
+ llll: 'YYYY年M月D日(ddd) HH:mm',
15363
+ },
15364
+ meridiemParse: /午前|午後/i,
15365
+ isPM: function (input) {
15366
+ return input === '午後';
15367
+ },
15368
+ meridiem: function (hour, minute, isLower) {
15369
+ if (hour < 12) {
15370
+ return '午前';
15371
+ } else {
15372
+ return '午後';
15373
+ }
15374
+ },
15375
+ calendar: {
15376
+ sameDay: '[今日] LT',
15377
+ nextDay: '[明日] LT',
15378
+ nextWeek: function (now) {
15379
+ if (now.week() !== this.week()) {
15380
+ return '[来週]dddd LT';
15381
+ } else {
15382
+ return 'dddd LT';
15383
+ }
15384
+ },
15385
+ lastDay: '[昨日] LT',
15386
+ lastWeek: function (now) {
15387
+ if (this.week() !== now.week()) {
15388
+ return '[先週]dddd LT';
15389
+ } else {
15390
+ return 'dddd LT';
15391
+ }
15392
+ },
15393
+ sameElse: 'L',
15394
+ },
15395
+ dayOfMonthOrdinalParse: /\d{1,2}日/,
15396
+ ordinal: function (number, period) {
15397
+ switch (period) {
15398
+ case 'y':
15399
+ return number === 1 ? '元年' : number + '年';
15400
+ case 'd':
15401
+ case 'D':
15402
+ case 'DDD':
15403
+ return number + '日';
15404
+ default:
15405
+ return number;
15406
+ }
15407
+ },
15408
+ relativeTime: {
15409
+ future: '%s後',
15410
+ past: '%s前',
15411
+ s: '数秒',
15412
+ ss: '%d秒',
15413
+ m: '1分',
15414
+ mm: '%d分',
15415
+ h: '1時間',
15416
+ hh: '%d時間',
15417
+ d: '1日',
15418
+ dd: '%d日',
15419
+ M: '1ヶ月',
15420
+ MM: '%dヶ月',
15421
+ y: '1年',
15422
+ yy: '%d年',
15423
+ },
15424
+ });
15425
+
15426
+ return ja;
15427
+
15428
+ })));
15429
+
15430
+
15431
+ /***/ }),
15432
+ /* 136 */
15433
+ /***/ (function(module, exports, __webpack_require__) {
15434
+
15435
+ //! moment.js locale configuration
15436
+ //! locale : Javanese [jv]
15437
+ //! author : Rony Lantip : https://github.com/lantip
15438
+ //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
15439
+
15440
+ ;(function (global, factory) {
15441
+ true ? factory(__webpack_require__(0)) :
15442
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15443
+ factory(global.moment)
15444
+ }(this, (function (moment) { 'use strict';
15445
+
15446
+ //! moment.js locale configuration
15447
+
15448
+ var jv = moment.defineLocale('jv', {
15449
+ months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(
15450
+ '_'
15451
+ ),
15452
+ monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
15453
+ weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
15454
+ weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
15455
+ weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
15456
+ longDateFormat: {
15457
+ LT: 'HH.mm',
15458
+ LTS: 'HH.mm.ss',
15459
+ L: 'DD/MM/YYYY',
15460
+ LL: 'D MMMM YYYY',
15461
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
15462
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
15463
+ },
15464
+ meridiemParse: /enjing|siyang|sonten|ndalu/,
15465
+ meridiemHour: function (hour, meridiem) {
15466
+ if (hour === 12) {
15467
+ hour = 0;
15468
+ }
15469
+ if (meridiem === 'enjing') {
15470
+ return hour;
15471
+ } else if (meridiem === 'siyang') {
15472
+ return hour >= 11 ? hour : hour + 12;
15473
+ } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
15474
+ return hour + 12;
15475
+ }
15476
+ },
15477
+ meridiem: function (hours, minutes, isLower) {
15478
+ if (hours < 11) {
15479
+ return 'enjing';
15480
+ } else if (hours < 15) {
15481
+ return 'siyang';
15482
+ } else if (hours < 19) {
15483
+ return 'sonten';
15484
+ } else {
15485
+ return 'ndalu';
15486
+ }
15487
+ },
15488
+ calendar: {
15489
+ sameDay: '[Dinten puniko pukul] LT',
15490
+ nextDay: '[Mbenjang pukul] LT',
15491
+ nextWeek: 'dddd [pukul] LT',
15492
+ lastDay: '[Kala wingi pukul] LT',
15493
+ lastWeek: 'dddd [kepengker pukul] LT',
15494
+ sameElse: 'L',
15495
+ },
15496
+ relativeTime: {
15497
+ future: 'wonten ing %s',
15498
+ past: '%s ingkang kepengker',
15499
+ s: 'sawetawis detik',
15500
+ ss: '%d detik',
15501
+ m: 'setunggal menit',
15502
+ mm: '%d menit',
15503
+ h: 'setunggal jam',
15504
+ hh: '%d jam',
15505
+ d: 'sedinten',
15506
+ dd: '%d dinten',
15507
+ M: 'sewulan',
15508
+ MM: '%d wulan',
15509
+ y: 'setaun',
15510
+ yy: '%d taun',
15511
+ },
15512
+ week: {
15513
+ dow: 1, // Monday is the first day of the week.
15514
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
15515
+ },
15516
+ });
15517
+
15518
+ return jv;
15519
+
15520
+ })));
15521
+
15522
+
15523
+ /***/ }),
15524
+ /* 137 */
15525
+ /***/ (function(module, exports, __webpack_require__) {
15526
+
15527
+ //! moment.js locale configuration
15528
+ //! locale : Georgian [ka]
15529
+ //! author : Irakli Janiashvili : https://github.com/IrakliJani
15530
+
15531
+ ;(function (global, factory) {
15532
+ true ? factory(__webpack_require__(0)) :
15533
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15534
+ factory(global.moment)
15535
+ }(this, (function (moment) { 'use strict';
15536
+
15537
+ //! moment.js locale configuration
15538
+
15539
+ var ka = moment.defineLocale('ka', {
15540
+ months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(
15541
+ '_'
15542
+ ),
15543
+ monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
15544
+ weekdays: {
15545
+ standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(
15546
+ '_'
15547
+ ),
15548
+ format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(
15549
+ '_'
15550
+ ),
15551
+ isFormat: /(წინა|შემდეგ)/,
15552
+ },
15553
+ weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
15554
+ weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
15555
+ longDateFormat: {
15556
+ LT: 'HH:mm',
15557
+ LTS: 'HH:mm:ss',
15558
+ L: 'DD/MM/YYYY',
15559
+ LL: 'D MMMM YYYY',
15560
+ LLL: 'D MMMM YYYY HH:mm',
15561
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
15562
+ },
15563
+ calendar: {
15564
+ sameDay: '[დღეს] LT[-ზე]',
15565
+ nextDay: '[ხვალ] LT[-ზე]',
15566
+ lastDay: '[გუშინ] LT[-ზე]',
15567
+ nextWeek: '[შემდეგ] dddd LT[-ზე]',
15568
+ lastWeek: '[წინა] dddd LT-ზე',
15569
+ sameElse: 'L',
15570
+ },
15571
+ relativeTime: {
15572
+ future: function (s) {
15573
+ return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (
15574
+ $0,
15575
+ $1,
15576
+ $2
15577
+ ) {
15578
+ return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';
15579
+ });
15580
+ },
15581
+ past: function (s) {
15582
+ if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {
15583
+ return s.replace(/(ი|ე)$/, 'ის წინ');
15584
+ }
15585
+ if (/წელი/.test(s)) {
15586
+ return s.replace(/წელი$/, 'წლის წინ');
15587
+ }
15588
+ return s;
15589
+ },
15590
+ s: 'რამდენიმე წამი',
15591
+ ss: '%d წამი',
15592
+ m: 'წუთი',
15593
+ mm: '%d წუთი',
15594
+ h: 'საათი',
15595
+ hh: '%d საათი',
15596
+ d: 'დღე',
15597
+ dd: '%d დღე',
15598
+ M: 'თვე',
15599
+ MM: '%d თვე',
15600
+ y: 'წელი',
15601
+ yy: '%d წელი',
15602
+ },
15603
+ dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
15604
+ ordinal: function (number) {
15605
+ if (number === 0) {
15606
+ return number;
15607
+ }
15608
+ if (number === 1) {
15609
+ return number + '-ლი';
15610
+ }
15611
+ if (
15612
+ number < 20 ||
15613
+ (number <= 100 && number % 20 === 0) ||
15614
+ number % 100 === 0
15615
+ ) {
15616
+ return 'მე-' + number;
15617
+ }
15618
+ return number + '-ე';
15619
+ },
15620
+ week: {
15621
+ dow: 1,
15622
+ doy: 7,
15623
+ },
15624
+ });
15625
+
15626
+ return ka;
15627
+
15628
+ })));
15629
+
15630
+
15631
+ /***/ }),
15632
+ /* 138 */
15633
+ /***/ (function(module, exports, __webpack_require__) {
15634
+
15635
+ //! moment.js locale configuration
15636
+ //! locale : Kazakh [kk]
15637
+ //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
15638
+
15639
+ ;(function (global, factory) {
15640
+ true ? factory(__webpack_require__(0)) :
15641
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15642
+ factory(global.moment)
15643
+ }(this, (function (moment) { 'use strict';
15644
+
15645
+ //! moment.js locale configuration
15646
+
15647
+ var suffixes = {
15648
+ 0: '-ші',
15649
+ 1: '-ші',
15650
+ 2: '-ші',
15651
+ 3: '-ші',
15652
+ 4: '-ші',
15653
+ 5: '-ші',
15654
+ 6: '-шы',
15655
+ 7: '-ші',
15656
+ 8: '-ші',
15657
+ 9: '-шы',
15658
+ 10: '-шы',
15659
+ 20: '-шы',
15660
+ 30: '-шы',
15661
+ 40: '-шы',
15662
+ 50: '-ші',
15663
+ 60: '-шы',
15664
+ 70: '-ші',
15665
+ 80: '-ші',
15666
+ 90: '-шы',
15667
+ 100: '-ші',
15668
+ };
15669
+
15670
+ var kk = moment.defineLocale('kk', {
15671
+ months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(
15672
+ '_'
15673
+ ),
15674
+ monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
15675
+ weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(
15676
+ '_'
15677
+ ),
15678
+ weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
15679
+ weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
15680
+ longDateFormat: {
15681
+ LT: 'HH:mm',
15682
+ LTS: 'HH:mm:ss',
15683
+ L: 'DD.MM.YYYY',
15684
+ LL: 'D MMMM YYYY',
15685
+ LLL: 'D MMMM YYYY HH:mm',
15686
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
15687
+ },
15688
+ calendar: {
15689
+ sameDay: '[Бүгін сағат] LT',
15690
+ nextDay: '[Ертең сағат] LT',
15691
+ nextWeek: 'dddd [сағат] LT',
15692
+ lastDay: '[Кеше сағат] LT',
15693
+ lastWeek: '[Өткен аптаның] dddd [сағат] LT',
15694
+ sameElse: 'L',
15695
+ },
15696
+ relativeTime: {
15697
+ future: '%s ішінде',
15698
+ past: '%s бұрын',
15699
+ s: 'бірнеше секунд',
15700
+ ss: '%d секунд',
15701
+ m: 'бір минут',
15702
+ mm: '%d минут',
15703
+ h: 'бір сағат',
15704
+ hh: '%d сағат',
15705
+ d: 'бір күн',
15706
+ dd: '%d күн',
15707
+ M: 'бір ай',
15708
+ MM: '%d ай',
15709
+ y: 'бір жыл',
15710
+ yy: '%d жыл',
15711
+ },
15712
+ dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
15713
+ ordinal: function (number) {
15714
+ var a = number % 10,
15715
+ b = number >= 100 ? 100 : null;
15716
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
15717
+ },
15718
+ week: {
15719
+ dow: 1, // Monday is the first day of the week.
15720
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
15721
+ },
15722
+ });
15723
+
15724
+ return kk;
15725
+
15726
+ })));
15727
+
15728
+
15729
+ /***/ }),
15730
+ /* 139 */
15731
+ /***/ (function(module, exports, __webpack_require__) {
15732
+
15733
+ //! moment.js locale configuration
15734
+ //! locale : Cambodian [km]
15735
+ //! author : Kruy Vanna : https://github.com/kruyvanna
15736
+
15737
+ ;(function (global, factory) {
15738
+ true ? factory(__webpack_require__(0)) :
15739
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15740
+ factory(global.moment)
15741
+ }(this, (function (moment) { 'use strict';
15742
+
15743
+ //! moment.js locale configuration
15744
+
15745
+ var symbolMap = {
15746
+ '1': '១',
15747
+ '2': '២',
15748
+ '3': '៣',
15749
+ '4': '៤',
15750
+ '5': '៥',
15751
+ '6': '៦',
15752
+ '7': '៧',
15753
+ '8': '៨',
15754
+ '9': '៩',
15755
+ '0': '០',
15756
+ },
15757
+ numberMap = {
15758
+ '១': '1',
15759
+ '២': '2',
15760
+ '៣': '3',
15761
+ '៤': '4',
15762
+ '៥': '5',
15763
+ '៦': '6',
15764
+ '៧': '7',
15765
+ '៨': '8',
15766
+ '៩': '9',
15767
+ '០': '0',
15768
+ };
15769
+
15770
+ var km = moment.defineLocale('km', {
15771
+ months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
15772
+ '_'
15773
+ ),
15774
+ monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
15775
+ '_'
15776
+ ),
15777
+ weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
15778
+ weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
15779
+ weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
15780
+ weekdaysParseExact: true,
15781
+ longDateFormat: {
15782
+ LT: 'HH:mm',
15783
+ LTS: 'HH:mm:ss',
15784
+ L: 'DD/MM/YYYY',
15785
+ LL: 'D MMMM YYYY',
15786
+ LLL: 'D MMMM YYYY HH:mm',
15787
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
15788
+ },
15789
+ meridiemParse: /ព្រឹក|ល្ងាច/,
15790
+ isPM: function (input) {
15791
+ return input === 'ល្ងាច';
15792
+ },
15793
+ meridiem: function (hour, minute, isLower) {
15794
+ if (hour < 12) {
15795
+ return 'ព្រឹក';
15796
+ } else {
15797
+ return 'ល្ងាច';
15798
+ }
15799
+ },
15800
+ calendar: {
15801
+ sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
15802
+ nextDay: '[ស្អែក ម៉ោង] LT',
15803
+ nextWeek: 'dddd [ម៉ោង] LT',
15804
+ lastDay: '[ម្សិលមិញ ម៉ោង] LT',
15805
+ lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
15806
+ sameElse: 'L',
15807
+ },
15808
+ relativeTime: {
15809
+ future: '%sទៀត',
15810
+ past: '%sមុន',
15811
+ s: 'ប៉ុន្មានវិនាទី',
15812
+ ss: '%d វិនាទី',
15813
+ m: 'មួយនាទី',
15814
+ mm: '%d នាទី',
15815
+ h: 'មួយម៉ោង',
15816
+ hh: '%d ម៉ោង',
15817
+ d: 'មួយថ្ងៃ',
15818
+ dd: '%d ថ្ងៃ',
15819
+ M: 'មួយខែ',
15820
+ MM: '%d ខែ',
15821
+ y: 'មួយឆ្នាំ',
15822
+ yy: '%d ឆ្នាំ',
15823
+ },
15824
+ dayOfMonthOrdinalParse: /ទី\d{1,2}/,
15825
+ ordinal: 'ទី%d',
15826
+ preparse: function (string) {
15827
+ return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
15828
+ return numberMap[match];
15829
+ });
15830
+ },
15831
+ postformat: function (string) {
15832
+ return string.replace(/\d/g, function (match) {
15833
+ return symbolMap[match];
15834
+ });
15835
+ },
15836
+ week: {
15837
+ dow: 1, // Monday is the first day of the week.
15838
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
15839
+ },
15840
+ });
15841
+
15842
+ return km;
15843
+
15844
+ })));
15845
+
15846
+
15847
+ /***/ }),
15848
+ /* 140 */
15849
+ /***/ (function(module, exports, __webpack_require__) {
15850
+
15851
+ //! moment.js locale configuration
15852
+ //! locale : Kannada [kn]
15853
+ //! author : Rajeev Naik : https://github.com/rajeevnaikte
15854
+
15855
+ ;(function (global, factory) {
15856
+ true ? factory(__webpack_require__(0)) :
15857
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15858
+ factory(global.moment)
15859
+ }(this, (function (moment) { 'use strict';
15860
+
15861
+ //! moment.js locale configuration
15862
+
15863
+ var symbolMap = {
15864
+ '1': '೧',
15865
+ '2': '೨',
15866
+ '3': '೩',
15867
+ '4': '೪',
15868
+ '5': '೫',
15869
+ '6': '೬',
15870
+ '7': '೭',
15871
+ '8': '೮',
15872
+ '9': '೯',
15873
+ '0': '೦',
15874
+ },
15875
+ numberMap = {
15876
+ '೧': '1',
15877
+ '೨': '2',
15878
+ '೩': '3',
15879
+ '೪': '4',
15880
+ '೫': '5',
15881
+ '೬': '6',
15882
+ '೭': '7',
15883
+ '೮': '8',
15884
+ '೯': '9',
15885
+ '೦': '0',
15886
+ };
15887
+
15888
+ var kn = moment.defineLocale('kn', {
15889
+ months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(
15890
+ '_'
15891
+ ),
15892
+ monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(
15893
+ '_'
15894
+ ),
15895
+ monthsParseExact: true,
15896
+ weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(
15897
+ '_'
15898
+ ),
15899
+ weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
15900
+ weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
15901
+ longDateFormat: {
15902
+ LT: 'A h:mm',
15903
+ LTS: 'A h:mm:ss',
15904
+ L: 'DD/MM/YYYY',
15905
+ LL: 'D MMMM YYYY',
15906
+ LLL: 'D MMMM YYYY, A h:mm',
15907
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
15908
+ },
15909
+ calendar: {
15910
+ sameDay: '[ಇಂದು] LT',
15911
+ nextDay: '[ನಾಳೆ] LT',
15912
+ nextWeek: 'dddd, LT',
15913
+ lastDay: '[ನಿನ್ನೆ] LT',
15914
+ lastWeek: '[ಕೊನೆಯ] dddd, LT',
15915
+ sameElse: 'L',
15916
+ },
15917
+ relativeTime: {
15918
+ future: '%s ನಂತರ',
15919
+ past: '%s ಹಿಂದೆ',
15920
+ s: 'ಕೆಲವು ಕ್ಷಣಗಳು',
15921
+ ss: '%d ಸೆಕೆಂಡುಗಳು',
15922
+ m: 'ಒಂದು ನಿಮಿಷ',
15923
+ mm: '%d ನಿಮಿಷ',
15924
+ h: 'ಒಂದು ಗಂಟೆ',
15925
+ hh: '%d ಗಂಟೆ',
15926
+ d: 'ಒಂದು ದಿನ',
15927
+ dd: '%d ದಿನ',
15928
+ M: 'ಒಂದು ತಿಂಗಳು',
15929
+ MM: '%d ತಿಂಗಳು',
15930
+ y: 'ಒಂದು ವರ್ಷ',
15931
+ yy: '%d ವರ್ಷ',
15932
+ },
15933
+ preparse: function (string) {
15934
+ return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
15935
+ return numberMap[match];
15936
+ });
15937
+ },
15938
+ postformat: function (string) {
15939
+ return string.replace(/\d/g, function (match) {
15940
+ return symbolMap[match];
15941
+ });
15942
+ },
15943
+ meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
15944
+ meridiemHour: function (hour, meridiem) {
15945
+ if (hour === 12) {
15946
+ hour = 0;
15947
+ }
15948
+ if (meridiem === 'ರಾತ್ರಿ') {
15949
+ return hour < 4 ? hour : hour + 12;
15950
+ } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
15951
+ return hour;
15952
+ } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
15953
+ return hour >= 10 ? hour : hour + 12;
15954
+ } else if (meridiem === 'ಸಂಜೆ') {
15955
+ return hour + 12;
15956
+ }
15957
+ },
15958
+ meridiem: function (hour, minute, isLower) {
15959
+ if (hour < 4) {
15960
+ return 'ರಾತ್ರಿ';
15961
+ } else if (hour < 10) {
15962
+ return 'ಬೆಳಿಗ್ಗೆ';
15963
+ } else if (hour < 17) {
15964
+ return 'ಮಧ್ಯಾಹ್ನ';
15965
+ } else if (hour < 20) {
15966
+ return 'ಸಂಜೆ';
15967
+ } else {
15968
+ return 'ರಾತ್ರಿ';
15969
+ }
15970
+ },
15971
+ dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
15972
+ ordinal: function (number) {
15973
+ return number + 'ನೇ';
15974
+ },
15975
+ week: {
15976
+ dow: 0, // Sunday is the first day of the week.
15977
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
15978
+ },
15979
+ });
15980
+
15981
+ return kn;
15982
+
15983
+ })));
15984
+
15985
+
15986
+ /***/ }),
15987
+ /* 141 */
15988
+ /***/ (function(module, exports, __webpack_require__) {
15989
+
15990
+ //! moment.js locale configuration
15991
+ //! locale : Korean [ko]
15992
+ //! author : Kyungwook, Park : https://github.com/kyungw00k
15993
+ //! author : Jeeeyul Lee <jeeeyul@gmail.com>
15994
+
15995
+ ;(function (global, factory) {
15996
+ true ? factory(__webpack_require__(0)) :
15997
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
15998
+ factory(global.moment)
15999
+ }(this, (function (moment) { 'use strict';
16000
+
16001
+ //! moment.js locale configuration
16002
+
16003
+ var ko = moment.defineLocale('ko', {
16004
+ months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
16005
+ monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(
16006
+ '_'
16007
+ ),
16008
+ weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
16009
+ weekdaysShort: '일_월_화_수_목_금_토'.split('_'),
16010
+ weekdaysMin: '일_월_화_수_목_금_토'.split('_'),
16011
+ longDateFormat: {
16012
+ LT: 'A h:mm',
16013
+ LTS: 'A h:mm:ss',
16014
+ L: 'YYYY.MM.DD.',
16015
+ LL: 'YYYY년 MMMM D일',
16016
+ LLL: 'YYYY년 MMMM D일 A h:mm',
16017
+ LLLL: 'YYYY년 MMMM D일 dddd A h:mm',
16018
+ l: 'YYYY.MM.DD.',
16019
+ ll: 'YYYY년 MMMM D일',
16020
+ lll: 'YYYY년 MMMM D일 A h:mm',
16021
+ llll: 'YYYY년 MMMM D일 dddd A h:mm',
16022
+ },
16023
+ calendar: {
16024
+ sameDay: '오늘 LT',
16025
+ nextDay: '내일 LT',
16026
+ nextWeek: 'dddd LT',
16027
+ lastDay: '어제 LT',
16028
+ lastWeek: '지난주 dddd LT',
16029
+ sameElse: 'L',
16030
+ },
16031
+ relativeTime: {
16032
+ future: '%s 후',
16033
+ past: '%s 전',
16034
+ s: '몇 초',
16035
+ ss: '%d초',
16036
+ m: '1분',
16037
+ mm: '%d분',
16038
+ h: '한 시간',
16039
+ hh: '%d시간',
16040
+ d: '하루',
16041
+ dd: '%d일',
16042
+ M: '한 달',
16043
+ MM: '%d달',
16044
+ y: '일 년',
16045
+ yy: '%d년',
16046
+ },
16047
+ dayOfMonthOrdinalParse: /\d{1,2}(일|월|주)/,
16048
+ ordinal: function (number, period) {
16049
+ switch (period) {
16050
+ case 'd':
16051
+ case 'D':
16052
+ case 'DDD':
16053
+ return number + '일';
16054
+ case 'M':
16055
+ return number + '월';
16056
+ case 'w':
16057
+ case 'W':
16058
+ return number + '주';
16059
+ default:
16060
+ return number;
16061
+ }
16062
+ },
16063
+ meridiemParse: /오전|오후/,
16064
+ isPM: function (token) {
16065
+ return token === '오후';
16066
+ },
16067
+ meridiem: function (hour, minute, isUpper) {
16068
+ return hour < 12 ? '오전' : '오후';
16069
+ },
16070
+ });
16071
+
16072
+ return ko;
16073
+
16074
+ })));
16075
+
16076
+
16077
+ /***/ }),
16078
+ /* 142 */
16079
+ /***/ (function(module, exports, __webpack_require__) {
16080
+
16081
+ //! moment.js locale configuration
16082
+ //! locale : Kurdish [ku]
16083
+ //! author : Shahram Mebashar : https://github.com/ShahramMebashar
16084
+
16085
+ ;(function (global, factory) {
16086
+ true ? factory(__webpack_require__(0)) :
16087
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16088
+ factory(global.moment)
16089
+ }(this, (function (moment) { 'use strict';
16090
+
16091
+ //! moment.js locale configuration
16092
+
16093
+ var symbolMap = {
16094
+ '1': '١',
16095
+ '2': '٢',
16096
+ '3': '٣',
16097
+ '4': '٤',
16098
+ '5': '٥',
16099
+ '6': '٦',
16100
+ '7': '٧',
16101
+ '8': '٨',
16102
+ '9': '٩',
16103
+ '0': '٠',
16104
+ },
16105
+ numberMap = {
16106
+ '١': '1',
16107
+ '٢': '2',
16108
+ '٣': '3',
16109
+ '٤': '4',
16110
+ '٥': '5',
16111
+ '٦': '6',
16112
+ '٧': '7',
16113
+ '٨': '8',
16114
+ '٩': '9',
16115
+ '٠': '0',
16116
+ },
16117
+ months = [
16118
+ 'کانونی دووەم',
16119
+ 'شوبات',
16120
+ 'ئازار',
16121
+ 'نیسان',
16122
+ 'ئایار',
16123
+ 'حوزەیران',
16124
+ 'تەمموز',
16125
+ 'ئاب',
16126
+ 'ئەیلوول',
16127
+ 'تشرینی یەكەم',
16128
+ 'تشرینی دووەم',
16129
+ 'كانونی یەکەم',
16130
+ ];
16131
+
16132
+ var ku = moment.defineLocale('ku', {
16133
+ months: months,
16134
+ monthsShort: months,
16135
+ weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(
16136
+ '_'
16137
+ ),
16138
+ weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(
16139
+ '_'
16140
+ ),
16141
+ weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),
16142
+ weekdaysParseExact: true,
16143
+ longDateFormat: {
16144
+ LT: 'HH:mm',
16145
+ LTS: 'HH:mm:ss',
16146
+ L: 'DD/MM/YYYY',
16147
+ LL: 'D MMMM YYYY',
16148
+ LLL: 'D MMMM YYYY HH:mm',
16149
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
16150
+ },
16151
+ meridiemParse: /ئێواره‌|به‌یانی/,
16152
+ isPM: function (input) {
16153
+ return /ئێواره‌/.test(input);
16154
+ },
16155
+ meridiem: function (hour, minute, isLower) {
16156
+ if (hour < 12) {
16157
+ return 'به‌یانی';
16158
+ } else {
16159
+ return 'ئێواره‌';
16160
+ }
16161
+ },
16162
+ calendar: {
16163
+ sameDay: '[ئه‌مرۆ كاتژمێر] LT',
16164
+ nextDay: '[به‌یانی كاتژمێر] LT',
16165
+ nextWeek: 'dddd [كاتژمێر] LT',
16166
+ lastDay: '[دوێنێ كاتژمێر] LT',
16167
+ lastWeek: 'dddd [كاتژمێر] LT',
16168
+ sameElse: 'L',
16169
+ },
16170
+ relativeTime: {
16171
+ future: 'له‌ %s',
16172
+ past: '%s',
16173
+ s: 'چه‌ند چركه‌یه‌ك',
16174
+ ss: 'چركه‌ %d',
16175
+ m: 'یه‌ك خوله‌ك',
16176
+ mm: '%d خوله‌ك',
16177
+ h: 'یه‌ك كاتژمێر',
16178
+ hh: '%d كاتژمێر',
16179
+ d: 'یه‌ك ڕۆژ',
16180
+ dd: '%d ڕۆژ',
16181
+ M: 'یه‌ك مانگ',
16182
+ MM: '%d مانگ',
16183
+ y: 'یه‌ك ساڵ',
16184
+ yy: '%d ساڵ',
16185
+ },
16186
+ preparse: function (string) {
16187
+ return string
16188
+ .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
16189
+ return numberMap[match];
16190
+ })
16191
+ .replace(/،/g, ',');
16192
+ },
16193
+ postformat: function (string) {
16194
+ return string
16195
+ .replace(/\d/g, function (match) {
16196
+ return symbolMap[match];
16197
+ })
16198
+ .replace(/,/g, '،');
16199
+ },
16200
+ week: {
16201
+ dow: 6, // Saturday is the first day of the week.
16202
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
16203
+ },
16204
+ });
16205
+
16206
+ return ku;
16207
+
16208
+ })));
16209
+
16210
+
16211
+ /***/ }),
16212
+ /* 143 */
16213
+ /***/ (function(module, exports, __webpack_require__) {
16214
+
16215
+ //! moment.js locale configuration
16216
+ //! locale : Kyrgyz [ky]
16217
+ //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
16218
+
16219
+ ;(function (global, factory) {
16220
+ true ? factory(__webpack_require__(0)) :
16221
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16222
+ factory(global.moment)
16223
+ }(this, (function (moment) { 'use strict';
16224
+
16225
+ //! moment.js locale configuration
16226
+
16227
+ var suffixes = {
16228
+ 0: '-чү',
16229
+ 1: '-чи',
16230
+ 2: '-чи',
16231
+ 3: '-чү',
16232
+ 4: '-чү',
16233
+ 5: '-чи',
16234
+ 6: '-чы',
16235
+ 7: '-чи',
16236
+ 8: '-чи',
16237
+ 9: '-чу',
16238
+ 10: '-чу',
16239
+ 20: '-чы',
16240
+ 30: '-чу',
16241
+ 40: '-чы',
16242
+ 50: '-чү',
16243
+ 60: '-чы',
16244
+ 70: '-чи',
16245
+ 80: '-чи',
16246
+ 90: '-чу',
16247
+ 100: '-чү',
16248
+ };
16249
+
16250
+ var ky = moment.defineLocale('ky', {
16251
+ months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
16252
+ '_'
16253
+ ),
16254
+ monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(
16255
+ '_'
16256
+ ),
16257
+ weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(
16258
+ '_'
16259
+ ),
16260
+ weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
16261
+ weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
16262
+ longDateFormat: {
16263
+ LT: 'HH:mm',
16264
+ LTS: 'HH:mm:ss',
16265
+ L: 'DD.MM.YYYY',
16266
+ LL: 'D MMMM YYYY',
16267
+ LLL: 'D MMMM YYYY HH:mm',
16268
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
16269
+ },
16270
+ calendar: {
16271
+ sameDay: '[Бүгүн саат] LT',
16272
+ nextDay: '[Эртең саат] LT',
16273
+ nextWeek: 'dddd [саат] LT',
16274
+ lastDay: '[Кечээ саат] LT',
16275
+ lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',
16276
+ sameElse: 'L',
16277
+ },
16278
+ relativeTime: {
16279
+ future: '%s ичинде',
16280
+ past: '%s мурун',
16281
+ s: 'бирнече секунд',
16282
+ ss: '%d секунд',
16283
+ m: 'бир мүнөт',
16284
+ mm: '%d мүнөт',
16285
+ h: 'бир саат',
16286
+ hh: '%d саат',
16287
+ d: 'бир күн',
16288
+ dd: '%d күн',
16289
+ M: 'бир ай',
16290
+ MM: '%d ай',
16291
+ y: 'бир жыл',
16292
+ yy: '%d жыл',
16293
+ },
16294
+ dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
16295
+ ordinal: function (number) {
16296
+ var a = number % 10,
16297
+ b = number >= 100 ? 100 : null;
16298
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
16299
+ },
16300
+ week: {
16301
+ dow: 1, // Monday is the first day of the week.
16302
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
16303
+ },
16304
+ });
16305
+
16306
+ return ky;
16307
+
16308
+ })));
16309
+
16310
+
16311
+ /***/ }),
16312
+ /* 144 */
16313
+ /***/ (function(module, exports, __webpack_require__) {
16314
+
16315
+ //! moment.js locale configuration
16316
+ //! locale : Luxembourgish [lb]
16317
+ //! author : mweimerskirch : https://github.com/mweimerskirch
16318
+ //! author : David Raison : https://github.com/kwisatz
16319
+
16320
+ ;(function (global, factory) {
16321
+ true ? factory(__webpack_require__(0)) :
16322
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16323
+ factory(global.moment)
16324
+ }(this, (function (moment) { 'use strict';
16325
+
16326
+ //! moment.js locale configuration
16327
+
16328
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
16329
+ var format = {
16330
+ m: ['eng Minutt', 'enger Minutt'],
16331
+ h: ['eng Stonn', 'enger Stonn'],
16332
+ d: ['een Dag', 'engem Dag'],
16333
+ M: ['ee Mount', 'engem Mount'],
16334
+ y: ['ee Joer', 'engem Joer'],
16335
+ };
16336
+ return withoutSuffix ? format[key][0] : format[key][1];
16337
+ }
16338
+ function processFutureTime(string) {
16339
+ var number = string.substr(0, string.indexOf(' '));
16340
+ if (eifelerRegelAppliesToNumber(number)) {
16341
+ return 'a ' + string;
16342
+ }
16343
+ return 'an ' + string;
16344
+ }
16345
+ function processPastTime(string) {
16346
+ var number = string.substr(0, string.indexOf(' '));
16347
+ if (eifelerRegelAppliesToNumber(number)) {
16348
+ return 'viru ' + string;
16349
+ }
16350
+ return 'virun ' + string;
16351
+ }
16352
+ /**
16353
+ * Returns true if the word before the given number loses the '-n' ending.
16354
+ * e.g. 'an 10 Deeg' but 'a 5 Deeg'
16355
+ *
16356
+ * @param number {integer}
16357
+ * @returns {boolean}
16358
+ */
16359
+ function eifelerRegelAppliesToNumber(number) {
16360
+ number = parseInt(number, 10);
16361
+ if (isNaN(number)) {
16362
+ return false;
16363
+ }
16364
+ if (number < 0) {
16365
+ // Negative Number --> always true
16366
+ return true;
16367
+ } else if (number < 10) {
16368
+ // Only 1 digit
16369
+ if (4 <= number && number <= 7) {
16370
+ return true;
16371
+ }
16372
+ return false;
16373
+ } else if (number < 100) {
16374
+ // 2 digits
16375
+ var lastDigit = number % 10,
16376
+ firstDigit = number / 10;
16377
+ if (lastDigit === 0) {
16378
+ return eifelerRegelAppliesToNumber(firstDigit);
16379
+ }
16380
+ return eifelerRegelAppliesToNumber(lastDigit);
16381
+ } else if (number < 10000) {
16382
+ // 3 or 4 digits --> recursively check first digit
16383
+ while (number >= 10) {
16384
+ number = number / 10;
16385
+ }
16386
+ return eifelerRegelAppliesToNumber(number);
16387
+ } else {
16388
+ // Anything larger than 4 digits: recursively check first n-3 digits
16389
+ number = number / 1000;
16390
+ return eifelerRegelAppliesToNumber(number);
16391
+ }
16392
+ }
16393
+
16394
+ var lb = moment.defineLocale('lb', {
16395
+ months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(
16396
+ '_'
16397
+ ),
16398
+ monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(
16399
+ '_'
16400
+ ),
16401
+ monthsParseExact: true,
16402
+ weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(
16403
+ '_'
16404
+ ),
16405
+ weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
16406
+ weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
16407
+ weekdaysParseExact: true,
16408
+ longDateFormat: {
16409
+ LT: 'H:mm [Auer]',
16410
+ LTS: 'H:mm:ss [Auer]',
16411
+ L: 'DD.MM.YYYY',
16412
+ LL: 'D. MMMM YYYY',
16413
+ LLL: 'D. MMMM YYYY H:mm [Auer]',
16414
+ LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',
16415
+ },
16416
+ calendar: {
16417
+ sameDay: '[Haut um] LT',
16418
+ sameElse: 'L',
16419
+ nextDay: '[Muer um] LT',
16420
+ nextWeek: 'dddd [um] LT',
16421
+ lastDay: '[Gëschter um] LT',
16422
+ lastWeek: function () {
16423
+ // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
16424
+ switch (this.day()) {
16425
+ case 2:
16426
+ case 4:
16427
+ return '[Leschten] dddd [um] LT';
16428
+ default:
16429
+ return '[Leschte] dddd [um] LT';
16430
+ }
16431
+ },
16432
+ },
16433
+ relativeTime: {
16434
+ future: processFutureTime,
16435
+ past: processPastTime,
16436
+ s: 'e puer Sekonnen',
16437
+ ss: '%d Sekonnen',
16438
+ m: processRelativeTime,
16439
+ mm: '%d Minutten',
16440
+ h: processRelativeTime,
16441
+ hh: '%d Stonnen',
16442
+ d: processRelativeTime,
16443
+ dd: '%d Deeg',
16444
+ M: processRelativeTime,
16445
+ MM: '%d Méint',
16446
+ y: processRelativeTime,
16447
+ yy: '%d Joer',
16448
+ },
16449
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
16450
+ ordinal: '%d.',
16451
+ week: {
16452
+ dow: 1, // Monday is the first day of the week.
16453
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
16454
+ },
16455
+ });
16456
+
16457
+ return lb;
16458
+
16459
+ })));
16460
+
16461
+
16462
+ /***/ }),
16463
+ /* 145 */
16464
+ /***/ (function(module, exports, __webpack_require__) {
16465
+
16466
+ //! moment.js locale configuration
16467
+ //! locale : Lao [lo]
16468
+ //! author : Ryan Hart : https://github.com/ryanhart2
16469
+
16470
+ ;(function (global, factory) {
16471
+ true ? factory(__webpack_require__(0)) :
16472
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16473
+ factory(global.moment)
16474
+ }(this, (function (moment) { 'use strict';
16475
+
16476
+ //! moment.js locale configuration
16477
+
16478
+ var lo = moment.defineLocale('lo', {
16479
+ months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
16480
+ '_'
16481
+ ),
16482
+ monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(
16483
+ '_'
16484
+ ),
16485
+ weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
16486
+ weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
16487
+ weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
16488
+ weekdaysParseExact: true,
16489
+ longDateFormat: {
16490
+ LT: 'HH:mm',
16491
+ LTS: 'HH:mm:ss',
16492
+ L: 'DD/MM/YYYY',
16493
+ LL: 'D MMMM YYYY',
16494
+ LLL: 'D MMMM YYYY HH:mm',
16495
+ LLLL: 'ວັນdddd D MMMM YYYY HH:mm',
16496
+ },
16497
+ meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
16498
+ isPM: function (input) {
16499
+ return input === 'ຕອນແລງ';
16500
+ },
16501
+ meridiem: function (hour, minute, isLower) {
16502
+ if (hour < 12) {
16503
+ return 'ຕອນເຊົ້າ';
16504
+ } else {
16505
+ return 'ຕອນແລງ';
16506
+ }
16507
+ },
16508
+ calendar: {
16509
+ sameDay: '[ມື້ນີ້ເວລາ] LT',
16510
+ nextDay: '[ມື້ອື່ນເວລາ] LT',
16511
+ nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',
16512
+ lastDay: '[ມື້ວານນີ້ເວລາ] LT',
16513
+ lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
16514
+ sameElse: 'L',
16515
+ },
16516
+ relativeTime: {
16517
+ future: 'ອີກ %s',
16518
+ past: '%sຜ່ານມາ',
16519
+ s: 'ບໍ່ເທົ່າໃດວິນາທີ',
16520
+ ss: '%d ວິນາທີ',
16521
+ m: '1 ນາທີ',
16522
+ mm: '%d ນາທີ',
16523
+ h: '1 ຊົ່ວໂມງ',
16524
+ hh: '%d ຊົ່ວໂມງ',
16525
+ d: '1 ມື້',
16526
+ dd: '%d ມື້',
16527
+ M: '1 ເດືອນ',
16528
+ MM: '%d ເດືອນ',
16529
+ y: '1 ປີ',
16530
+ yy: '%d ປີ',
16531
+ },
16532
+ dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
16533
+ ordinal: function (number) {
16534
+ return 'ທີ່' + number;
16535
+ },
16536
+ });
16537
+
16538
+ return lo;
16539
+
16540
+ })));
16541
+
16542
+
16543
+ /***/ }),
16544
+ /* 146 */
16545
+ /***/ (function(module, exports, __webpack_require__) {
16546
+
16547
+ //! moment.js locale configuration
16548
+ //! locale : Lithuanian [lt]
16549
+ //! author : Mindaugas Mozūras : https://github.com/mmozuras
16550
+
16551
+ ;(function (global, factory) {
16552
+ true ? factory(__webpack_require__(0)) :
16553
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16554
+ factory(global.moment)
16555
+ }(this, (function (moment) { 'use strict';
16556
+
16557
+ //! moment.js locale configuration
16558
+
16559
+ var units = {
16560
+ ss: 'sekundė_sekundžių_sekundes',
16561
+ m: 'minutė_minutės_minutę',
16562
+ mm: 'minutės_minučių_minutes',
16563
+ h: 'valanda_valandos_valandą',
16564
+ hh: 'valandos_valandų_valandas',
16565
+ d: 'diena_dienos_dieną',
16566
+ dd: 'dienos_dienų_dienas',
16567
+ M: 'mėnuo_mėnesio_mėnesį',
16568
+ MM: 'mėnesiai_mėnesių_mėnesius',
16569
+ y: 'metai_metų_metus',
16570
+ yy: 'metai_metų_metus',
16571
+ };
16572
+ function translateSeconds(number, withoutSuffix, key, isFuture) {
16573
+ if (withoutSuffix) {
16574
+ return 'kelios sekundės';
16575
+ } else {
16576
+ return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
16577
+ }
16578
+ }
16579
+ function translateSingular(number, withoutSuffix, key, isFuture) {
16580
+ return withoutSuffix
16581
+ ? forms(key)[0]
16582
+ : isFuture
16583
+ ? forms(key)[1]
16584
+ : forms(key)[2];
16585
+ }
16586
+ function special(number) {
16587
+ return number % 10 === 0 || (number > 10 && number < 20);
16588
+ }
16589
+ function forms(key) {
16590
+ return units[key].split('_');
16591
+ }
16592
+ function translate(number, withoutSuffix, key, isFuture) {
16593
+ var result = number + ' ';
16594
+ if (number === 1) {
16595
+ return (
16596
+ result + translateSingular(number, withoutSuffix, key[0], isFuture)
16597
+ );
16598
+ } else if (withoutSuffix) {
16599
+ return result + (special(number) ? forms(key)[1] : forms(key)[0]);
16600
+ } else {
16601
+ if (isFuture) {
16602
+ return result + forms(key)[1];
16603
+ } else {
16604
+ return result + (special(number) ? forms(key)[1] : forms(key)[2]);
16605
+ }
16606
+ }
16607
+ }
16608
+ var lt = moment.defineLocale('lt', {
16609
+ months: {
16610
+ format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
16611
+ '_'
16612
+ ),
16613
+ standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
16614
+ '_'
16615
+ ),
16616
+ isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,
16617
+ },
16618
+ monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
16619
+ weekdays: {
16620
+ format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
16621
+ '_'
16622
+ ),
16623
+ standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
16624
+ '_'
16625
+ ),
16626
+ isFormat: /dddd HH:mm/,
16627
+ },
16628
+ weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
16629
+ weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
16630
+ weekdaysParseExact: true,
16631
+ longDateFormat: {
16632
+ LT: 'HH:mm',
16633
+ LTS: 'HH:mm:ss',
16634
+ L: 'YYYY-MM-DD',
16635
+ LL: 'YYYY [m.] MMMM D [d.]',
16636
+ LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
16637
+ LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
16638
+ l: 'YYYY-MM-DD',
16639
+ ll: 'YYYY [m.] MMMM D [d.]',
16640
+ lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
16641
+ llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',
16642
+ },
16643
+ calendar: {
16644
+ sameDay: '[Šiandien] LT',
16645
+ nextDay: '[Rytoj] LT',
16646
+ nextWeek: 'dddd LT',
16647
+ lastDay: '[Vakar] LT',
16648
+ lastWeek: '[Praėjusį] dddd LT',
16649
+ sameElse: 'L',
16650
+ },
16651
+ relativeTime: {
16652
+ future: 'po %s',
16653
+ past: 'prieš %s',
16654
+ s: translateSeconds,
16655
+ ss: translate,
16656
+ m: translateSingular,
16657
+ mm: translate,
16658
+ h: translateSingular,
16659
+ hh: translate,
16660
+ d: translateSingular,
16661
+ dd: translate,
16662
+ M: translateSingular,
16663
+ MM: translate,
16664
+ y: translateSingular,
16665
+ yy: translate,
16666
+ },
16667
+ dayOfMonthOrdinalParse: /\d{1,2}-oji/,
16668
+ ordinal: function (number) {
16669
+ return number + '-oji';
16670
+ },
16671
+ week: {
16672
+ dow: 1, // Monday is the first day of the week.
16673
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
16674
+ },
16675
+ });
16676
+
16677
+ return lt;
16678
+
16679
+ })));
16680
+
16681
+
16682
+ /***/ }),
16683
+ /* 147 */
16684
+ /***/ (function(module, exports, __webpack_require__) {
16685
+
16686
+ //! moment.js locale configuration
16687
+ //! locale : Latvian [lv]
16688
+ //! author : Kristaps Karlsons : https://github.com/skakri
16689
+ //! author : Jānis Elmeris : https://github.com/JanisE
16690
+
16691
+ ;(function (global, factory) {
16692
+ true ? factory(__webpack_require__(0)) :
16693
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16694
+ factory(global.moment)
16695
+ }(this, (function (moment) { 'use strict';
16696
+
16697
+ //! moment.js locale configuration
16698
+
16699
+ var units = {
16700
+ ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
16701
+ m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
16702
+ mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),
16703
+ h: 'stundas_stundām_stunda_stundas'.split('_'),
16704
+ hh: 'stundas_stundām_stunda_stundas'.split('_'),
16705
+ d: 'dienas_dienām_diena_dienas'.split('_'),
16706
+ dd: 'dienas_dienām_diena_dienas'.split('_'),
16707
+ M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
16708
+ MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
16709
+ y: 'gada_gadiem_gads_gadi'.split('_'),
16710
+ yy: 'gada_gadiem_gads_gadi'.split('_'),
16711
+ };
16712
+ /**
16713
+ * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
16714
+ */
16715
+ function format(forms, number, withoutSuffix) {
16716
+ if (withoutSuffix) {
16717
+ // E.g. "21 minūte", "3 minūtes".
16718
+ return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
16719
+ } else {
16720
+ // E.g. "21 minūtes" as in "pēc 21 minūtes".
16721
+ // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
16722
+ return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
16723
+ }
16724
+ }
16725
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
16726
+ return number + ' ' + format(units[key], number, withoutSuffix);
16727
+ }
16728
+ function relativeTimeWithSingular(number, withoutSuffix, key) {
16729
+ return format(units[key], number, withoutSuffix);
16730
+ }
16731
+ function relativeSeconds(number, withoutSuffix) {
16732
+ return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
16733
+ }
16734
+
16735
+ var lv = moment.defineLocale('lv', {
16736
+ months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(
16737
+ '_'
16738
+ ),
16739
+ monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
16740
+ weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(
16741
+ '_'
16742
+ ),
16743
+ weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),
16744
+ weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),
16745
+ weekdaysParseExact: true,
16746
+ longDateFormat: {
16747
+ LT: 'HH:mm',
16748
+ LTS: 'HH:mm:ss',
16749
+ L: 'DD.MM.YYYY.',
16750
+ LL: 'YYYY. [gada] D. MMMM',
16751
+ LLL: 'YYYY. [gada] D. MMMM, HH:mm',
16752
+ LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',
16753
+ },
16754
+ calendar: {
16755
+ sameDay: '[Šodien pulksten] LT',
16756
+ nextDay: '[Rīt pulksten] LT',
16757
+ nextWeek: 'dddd [pulksten] LT',
16758
+ lastDay: '[Vakar pulksten] LT',
16759
+ lastWeek: '[Pagājušā] dddd [pulksten] LT',
16760
+ sameElse: 'L',
16761
+ },
16762
+ relativeTime: {
16763
+ future: 'pēc %s',
16764
+ past: 'pirms %s',
16765
+ s: relativeSeconds,
16766
+ ss: relativeTimeWithPlural,
16767
+ m: relativeTimeWithSingular,
16768
+ mm: relativeTimeWithPlural,
16769
+ h: relativeTimeWithSingular,
16770
+ hh: relativeTimeWithPlural,
16771
+ d: relativeTimeWithSingular,
16772
+ dd: relativeTimeWithPlural,
16773
+ M: relativeTimeWithSingular,
16774
+ MM: relativeTimeWithPlural,
16775
+ y: relativeTimeWithSingular,
16776
+ yy: relativeTimeWithPlural,
16777
+ },
16778
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
16779
+ ordinal: '%d.',
16780
+ week: {
16781
+ dow: 1, // Monday is the first day of the week.
16782
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
16783
+ },
16784
+ });
16785
+
16786
+ return lv;
16787
+
16788
+ })));
16789
+
16790
+
16791
+ /***/ }),
16792
+ /* 148 */
16793
+ /***/ (function(module, exports, __webpack_require__) {
16794
+
16795
+ //! moment.js locale configuration
16796
+ //! locale : Montenegrin [me]
16797
+ //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
16798
+
16799
+ ;(function (global, factory) {
16800
+ true ? factory(__webpack_require__(0)) :
16801
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16802
+ factory(global.moment)
16803
+ }(this, (function (moment) { 'use strict';
16804
+
16805
+ //! moment.js locale configuration
16806
+
16807
+ var translator = {
16808
+ words: {
16809
+ //Different grammatical cases
16810
+ ss: ['sekund', 'sekunda', 'sekundi'],
16811
+ m: ['jedan minut', 'jednog minuta'],
16812
+ mm: ['minut', 'minuta', 'minuta'],
16813
+ h: ['jedan sat', 'jednog sata'],
16814
+ hh: ['sat', 'sata', 'sati'],
16815
+ dd: ['dan', 'dana', 'dana'],
16816
+ MM: ['mjesec', 'mjeseca', 'mjeseci'],
16817
+ yy: ['godina', 'godine', 'godina'],
16818
+ },
16819
+ correctGrammaticalCase: function (number, wordKey) {
16820
+ return number === 1
16821
+ ? wordKey[0]
16822
+ : number >= 2 && number <= 4
16823
+ ? wordKey[1]
16824
+ : wordKey[2];
16825
+ },
16826
+ translate: function (number, withoutSuffix, key) {
16827
+ var wordKey = translator.words[key];
16828
+ if (key.length === 1) {
16829
+ return withoutSuffix ? wordKey[0] : wordKey[1];
16830
+ } else {
16831
+ return (
16832
+ number +
16833
+ ' ' +
16834
+ translator.correctGrammaticalCase(number, wordKey)
16835
+ );
16836
+ }
16837
+ },
16838
+ };
16839
+
16840
+ var me = moment.defineLocale('me', {
16841
+ months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
16842
+ '_'
16843
+ ),
16844
+ monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
16845
+ '_'
16846
+ ),
16847
+ monthsParseExact: true,
16848
+ weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(
16849
+ '_'
16850
+ ),
16851
+ weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
16852
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
16853
+ weekdaysParseExact: true,
16854
+ longDateFormat: {
16855
+ LT: 'H:mm',
16856
+ LTS: 'H:mm:ss',
16857
+ L: 'DD.MM.YYYY',
16858
+ LL: 'D. MMMM YYYY',
16859
+ LLL: 'D. MMMM YYYY H:mm',
16860
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
16861
+ },
16862
+ calendar: {
16863
+ sameDay: '[danas u] LT',
16864
+ nextDay: '[sjutra u] LT',
16865
+
16866
+ nextWeek: function () {
16867
+ switch (this.day()) {
16868
+ case 0:
16869
+ return '[u] [nedjelju] [u] LT';
16870
+ case 3:
16871
+ return '[u] [srijedu] [u] LT';
16872
+ case 6:
16873
+ return '[u] [subotu] [u] LT';
16874
+ case 1:
16875
+ case 2:
16876
+ case 4:
16877
+ case 5:
16878
+ return '[u] dddd [u] LT';
16879
+ }
16880
+ },
16881
+ lastDay: '[juče u] LT',
16882
+ lastWeek: function () {
16883
+ var lastWeekDays = [
16884
+ '[prošle] [nedjelje] [u] LT',
16885
+ '[prošlog] [ponedjeljka] [u] LT',
16886
+ '[prošlog] [utorka] [u] LT',
16887
+ '[prošle] [srijede] [u] LT',
16888
+ '[prošlog] [četvrtka] [u] LT',
16889
+ '[prošlog] [petka] [u] LT',
16890
+ '[prošle] [subote] [u] LT',
16891
+ ];
16892
+ return lastWeekDays[this.day()];
16893
+ },
16894
+ sameElse: 'L',
16895
+ },
16896
+ relativeTime: {
16897
+ future: 'za %s',
16898
+ past: 'prije %s',
16899
+ s: 'nekoliko sekundi',
16900
+ ss: translator.translate,
16901
+ m: translator.translate,
16902
+ mm: translator.translate,
16903
+ h: translator.translate,
16904
+ hh: translator.translate,
16905
+ d: 'dan',
16906
+ dd: translator.translate,
16907
+ M: 'mjesec',
16908
+ MM: translator.translate,
16909
+ y: 'godinu',
16910
+ yy: translator.translate,
16911
+ },
16912
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
16913
+ ordinal: '%d.',
16914
+ week: {
16915
+ dow: 1, // Monday is the first day of the week.
16916
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
16917
+ },
16918
+ });
16919
+
16920
+ return me;
16921
+
16922
+ })));
16923
+
16924
+
16925
+ /***/ }),
16926
+ /* 149 */
16927
+ /***/ (function(module, exports, __webpack_require__) {
16928
+
16929
+ //! moment.js locale configuration
16930
+ //! locale : Maori [mi]
16931
+ //! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
16932
+
16933
+ ;(function (global, factory) {
16934
+ true ? factory(__webpack_require__(0)) :
16935
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
16936
+ factory(global.moment)
16937
+ }(this, (function (moment) { 'use strict';
16938
+
16939
+ //! moment.js locale configuration
16940
+
16941
+ var mi = moment.defineLocale('mi', {
16942
+ 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(
16943
+ '_'
16944
+ ),
16945
+ monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(
16946
+ '_'
16947
+ ),
16948
+ monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
16949
+ monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
16950
+ monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
16951
+ monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
16952
+ weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
16953
+ weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
16954
+ weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
16955
+ longDateFormat: {
16956
+ LT: 'HH:mm',
16957
+ LTS: 'HH:mm:ss',
16958
+ L: 'DD/MM/YYYY',
16959
+ LL: 'D MMMM YYYY',
16960
+ LLL: 'D MMMM YYYY [i] HH:mm',
16961
+ LLLL: 'dddd, D MMMM YYYY [i] HH:mm',
16962
+ },
16963
+ calendar: {
16964
+ sameDay: '[i teie mahana, i] LT',
16965
+ nextDay: '[apopo i] LT',
16966
+ nextWeek: 'dddd [i] LT',
16967
+ lastDay: '[inanahi i] LT',
16968
+ lastWeek: 'dddd [whakamutunga i] LT',
16969
+ sameElse: 'L',
16970
+ },
16971
+ relativeTime: {
16972
+ future: 'i roto i %s',
16973
+ past: '%s i mua',
16974
+ s: 'te hēkona ruarua',
16975
+ ss: '%d hēkona',
16976
+ m: 'he meneti',
16977
+ mm: '%d meneti',
16978
+ h: 'te haora',
16979
+ hh: '%d haora',
16980
+ d: 'he ra',
16981
+ dd: '%d ra',
16982
+ M: 'he marama',
16983
+ MM: '%d marama',
16984
+ y: 'he tau',
16985
+ yy: '%d tau',
16986
+ },
16987
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
16988
+ ordinal: '%dº',
16989
+ week: {
16990
+ dow: 1, // Monday is the first day of the week.
16991
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
16992
+ },
16993
+ });
16994
+
16995
+ return mi;
16996
+
16997
+ })));
16998
+
16999
+
17000
+ /***/ }),
17001
+ /* 150 */
17002
+ /***/ (function(module, exports, __webpack_require__) {
17003
+
17004
+ //! moment.js locale configuration
17005
+ //! locale : Macedonian [mk]
17006
+ //! author : Borislav Mickov : https://github.com/B0k0
17007
+ //! author : Sashko Todorov : https://github.com/bkyceh
17008
+
17009
+ ;(function (global, factory) {
17010
+ true ? factory(__webpack_require__(0)) :
17011
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17012
+ factory(global.moment)
17013
+ }(this, (function (moment) { 'use strict';
17014
+
17015
+ //! moment.js locale configuration
17016
+
17017
+ var mk = moment.defineLocale('mk', {
17018
+ months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(
17019
+ '_'
17020
+ ),
17021
+ monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
17022
+ weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(
17023
+ '_'
17024
+ ),
17025
+ weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
17026
+ weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),
17027
+ longDateFormat: {
17028
+ LT: 'H:mm',
17029
+ LTS: 'H:mm:ss',
17030
+ L: 'D.MM.YYYY',
17031
+ LL: 'D MMMM YYYY',
17032
+ LLL: 'D MMMM YYYY H:mm',
17033
+ LLLL: 'dddd, D MMMM YYYY H:mm',
17034
+ },
17035
+ calendar: {
17036
+ sameDay: '[Денес во] LT',
17037
+ nextDay: '[Утре во] LT',
17038
+ nextWeek: '[Во] dddd [во] LT',
17039
+ lastDay: '[Вчера во] LT',
17040
+ lastWeek: function () {
17041
+ switch (this.day()) {
17042
+ case 0:
17043
+ case 3:
17044
+ case 6:
17045
+ return '[Изминатата] dddd [во] LT';
17046
+ case 1:
17047
+ case 2:
17048
+ case 4:
17049
+ case 5:
17050
+ return '[Изминатиот] dddd [во] LT';
17051
+ }
17052
+ },
17053
+ sameElse: 'L',
17054
+ },
17055
+ relativeTime: {
17056
+ future: 'за %s',
17057
+ past: 'пред %s',
17058
+ s: 'неколку секунди',
17059
+ ss: '%d секунди',
17060
+ m: 'една минута',
17061
+ mm: '%d минути',
17062
+ h: 'еден час',
17063
+ hh: '%d часа',
17064
+ d: 'еден ден',
17065
+ dd: '%d дена',
17066
+ M: 'еден месец',
17067
+ MM: '%d месеци',
17068
+ y: 'една година',
17069
+ yy: '%d години',
17070
+ },
17071
+ dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
17072
+ ordinal: function (number) {
17073
+ var lastDigit = number % 10,
17074
+ last2Digits = number % 100;
17075
+ if (number === 0) {
17076
+ return number + '-ев';
17077
+ } else if (last2Digits === 0) {
17078
+ return number + '-ен';
17079
+ } else if (last2Digits > 10 && last2Digits < 20) {
17080
+ return number + '-ти';
17081
+ } else if (lastDigit === 1) {
17082
+ return number + '-ви';
17083
+ } else if (lastDigit === 2) {
17084
+ return number + '-ри';
17085
+ } else if (lastDigit === 7 || lastDigit === 8) {
17086
+ return number + '-ми';
17087
+ } else {
17088
+ return number + '-ти';
17089
+ }
17090
+ },
17091
+ week: {
17092
+ dow: 1, // Monday is the first day of the week.
17093
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
17094
+ },
17095
+ });
17096
+
17097
+ return mk;
17098
+
17099
+ })));
17100
+
17101
+
17102
+ /***/ }),
17103
+ /* 151 */
17104
+ /***/ (function(module, exports, __webpack_require__) {
17105
+
17106
+ //! moment.js locale configuration
17107
+ //! locale : Malayalam [ml]
17108
+ //! author : Floyd Pink : https://github.com/floydpink
17109
+
17110
+ ;(function (global, factory) {
17111
+ true ? factory(__webpack_require__(0)) :
17112
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17113
+ factory(global.moment)
17114
+ }(this, (function (moment) { 'use strict';
17115
+
17116
+ //! moment.js locale configuration
17117
+
17118
+ var ml = moment.defineLocale('ml', {
17119
+ months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(
17120
+ '_'
17121
+ ),
17122
+ monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(
17123
+ '_'
17124
+ ),
17125
+ monthsParseExact: true,
17126
+ weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(
17127
+ '_'
17128
+ ),
17129
+ weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
17130
+ weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
17131
+ longDateFormat: {
17132
+ LT: 'A h:mm -നു',
17133
+ LTS: 'A h:mm:ss -നു',
17134
+ L: 'DD/MM/YYYY',
17135
+ LL: 'D MMMM YYYY',
17136
+ LLL: 'D MMMM YYYY, A h:mm -നു',
17137
+ LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',
17138
+ },
17139
+ calendar: {
17140
+ sameDay: '[ഇന്ന്] LT',
17141
+ nextDay: '[നാളെ] LT',
17142
+ nextWeek: 'dddd, LT',
17143
+ lastDay: '[ഇന്നലെ] LT',
17144
+ lastWeek: '[കഴിഞ്ഞ] dddd, LT',
17145
+ sameElse: 'L',
17146
+ },
17147
+ relativeTime: {
17148
+ future: '%s കഴിഞ്ഞ്',
17149
+ past: '%s മുൻപ്',
17150
+ s: 'അൽപ നിമിഷങ്ങൾ',
17151
+ ss: '%d സെക്കൻഡ്',
17152
+ m: 'ഒരു മിനിറ്റ്',
17153
+ mm: '%d മിനിറ്റ്',
17154
+ h: 'ഒരു മണിക്കൂർ',
17155
+ hh: '%d മണിക്കൂർ',
17156
+ d: 'ഒരു ദിവസം',
17157
+ dd: '%d ദിവസം',
17158
+ M: 'ഒരു മാസം',
17159
+ MM: '%d മാസം',
17160
+ y: 'ഒരു വർഷം',
17161
+ yy: '%d വർഷം',
17162
+ },
17163
+ meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
17164
+ meridiemHour: function (hour, meridiem) {
17165
+ if (hour === 12) {
17166
+ hour = 0;
17167
+ }
17168
+ if (
17169
+ (meridiem === 'രാത്രി' && hour >= 4) ||
17170
+ meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
17171
+ meridiem === 'വൈകുന്നേരം'
17172
+ ) {
17173
+ return hour + 12;
17174
+ } else {
17175
+ return hour;
17176
+ }
17177
+ },
17178
+ meridiem: function (hour, minute, isLower) {
17179
+ if (hour < 4) {
17180
+ return 'രാത്രി';
17181
+ } else if (hour < 12) {
17182
+ return 'രാവിലെ';
17183
+ } else if (hour < 17) {
17184
+ return 'ഉച്ച കഴിഞ്ഞ്';
17185
+ } else if (hour < 20) {
17186
+ return 'വൈകുന്നേരം';
17187
+ } else {
17188
+ return 'രാത്രി';
17189
+ }
17190
+ },
17191
+ });
17192
+
17193
+ return ml;
17194
+
17195
+ })));
17196
+
17197
+
17198
+ /***/ }),
17199
+ /* 152 */
17200
+ /***/ (function(module, exports, __webpack_require__) {
17201
+
17202
+ //! moment.js locale configuration
17203
+ //! locale : Mongolian [mn]
17204
+ //! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
17205
+
17206
+ ;(function (global, factory) {
17207
+ true ? factory(__webpack_require__(0)) :
17208
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17209
+ factory(global.moment)
17210
+ }(this, (function (moment) { 'use strict';
17211
+
17212
+ //! moment.js locale configuration
17213
+
17214
+ function translate(number, withoutSuffix, key, isFuture) {
17215
+ switch (key) {
17216
+ case 's':
17217
+ return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
17218
+ case 'ss':
17219
+ return number + (withoutSuffix ? ' секунд' : ' секундын');
17220
+ case 'm':
17221
+ case 'mm':
17222
+ return number + (withoutSuffix ? ' минут' : ' минутын');
17223
+ case 'h':
17224
+ case 'hh':
17225
+ return number + (withoutSuffix ? ' цаг' : ' цагийн');
17226
+ case 'd':
17227
+ case 'dd':
17228
+ return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
17229
+ case 'M':
17230
+ case 'MM':
17231
+ return number + (withoutSuffix ? ' сар' : ' сарын');
17232
+ case 'y':
17233
+ case 'yy':
17234
+ return number + (withoutSuffix ? ' жил' : ' жилийн');
17235
+ default:
17236
+ return number;
17237
+ }
17238
+ }
17239
+
17240
+ var mn = moment.defineLocale('mn', {
17241
+ months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(
17242
+ '_'
17243
+ ),
17244
+ monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(
17245
+ '_'
17246
+ ),
17247
+ monthsParseExact: true,
17248
+ weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
17249
+ weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
17250
+ weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
17251
+ weekdaysParseExact: true,
17252
+ longDateFormat: {
17253
+ LT: 'HH:mm',
17254
+ LTS: 'HH:mm:ss',
17255
+ L: 'YYYY-MM-DD',
17256
+ LL: 'YYYY оны MMMMын D',
17257
+ LLL: 'YYYY оны MMMMын D HH:mm',
17258
+ LLLL: 'dddd, YYYY оны MMMMын D HH:mm',
17259
+ },
17260
+ meridiemParse: /ҮӨ|ҮХ/i,
17261
+ isPM: function (input) {
17262
+ return input === 'ҮХ';
17263
+ },
17264
+ meridiem: function (hour, minute, isLower) {
17265
+ if (hour < 12) {
17266
+ return 'ҮӨ';
17267
+ } else {
17268
+ return 'ҮХ';
17269
+ }
17270
+ },
17271
+ calendar: {
17272
+ sameDay: '[Өнөөдөр] LT',
17273
+ nextDay: '[Маргааш] LT',
17274
+ nextWeek: '[Ирэх] dddd LT',
17275
+ lastDay: '[Өчигдөр] LT',
17276
+ lastWeek: '[Өнгөрсөн] dddd LT',
17277
+ sameElse: 'L',
17278
+ },
17279
+ relativeTime: {
17280
+ future: '%s дараа',
17281
+ past: '%s өмнө',
17282
+ s: translate,
17283
+ ss: translate,
17284
+ m: translate,
17285
+ mm: translate,
17286
+ h: translate,
17287
+ hh: translate,
17288
+ d: translate,
17289
+ dd: translate,
17290
+ M: translate,
17291
+ MM: translate,
17292
+ y: translate,
17293
+ yy: translate,
17294
+ },
17295
+ dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
17296
+ ordinal: function (number, period) {
17297
+ switch (period) {
17298
+ case 'd':
17299
+ case 'D':
17300
+ case 'DDD':
17301
+ return number + ' өдөр';
17302
+ default:
17303
+ return number;
17304
+ }
17305
+ },
17306
+ });
17307
+
17308
+ return mn;
17309
+
17310
+ })));
17311
+
17312
+
17313
+ /***/ }),
17314
+ /* 153 */
17315
+ /***/ (function(module, exports, __webpack_require__) {
17316
+
17317
+ //! moment.js locale configuration
17318
+ //! locale : Marathi [mr]
17319
+ //! author : Harshad Kale : https://github.com/kalehv
17320
+ //! author : Vivek Athalye : https://github.com/vnathalye
17321
+
17322
+ ;(function (global, factory) {
17323
+ true ? factory(__webpack_require__(0)) :
17324
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17325
+ factory(global.moment)
17326
+ }(this, (function (moment) { 'use strict';
17327
+
17328
+ //! moment.js locale configuration
17329
+
17330
+ var symbolMap = {
17331
+ '1': '१',
17332
+ '2': '२',
17333
+ '3': '३',
17334
+ '4': '४',
17335
+ '5': '५',
17336
+ '6': '६',
17337
+ '7': '७',
17338
+ '8': '८',
17339
+ '9': '९',
17340
+ '0': '०',
17341
+ },
17342
+ numberMap = {
17343
+ '१': '1',
17344
+ '२': '2',
17345
+ '३': '3',
17346
+ '४': '4',
17347
+ '५': '5',
17348
+ '६': '6',
17349
+ '७': '7',
17350
+ '८': '8',
17351
+ '९': '9',
17352
+ '०': '0',
17353
+ };
17354
+
17355
+ function relativeTimeMr(number, withoutSuffix, string, isFuture) {
17356
+ var output = '';
17357
+ if (withoutSuffix) {
17358
+ switch (string) {
17359
+ case 's':
17360
+ output = 'काही सेकंद';
17361
+ break;
17362
+ case 'ss':
17363
+ output = '%d सेकंद';
17364
+ break;
17365
+ case 'm':
17366
+ output = 'एक मिनिट';
17367
+ break;
17368
+ case 'mm':
17369
+ output = '%d मिनिटे';
17370
+ break;
17371
+ case 'h':
17372
+ output = 'एक तास';
17373
+ break;
17374
+ case 'hh':
17375
+ output = '%d तास';
17376
+ break;
17377
+ case 'd':
17378
+ output = 'एक दिवस';
17379
+ break;
17380
+ case 'dd':
17381
+ output = '%d दिवस';
17382
+ break;
17383
+ case 'M':
17384
+ output = 'एक महिना';
17385
+ break;
17386
+ case 'MM':
17387
+ output = '%d महिने';
17388
+ break;
17389
+ case 'y':
17390
+ output = 'एक वर्ष';
17391
+ break;
17392
+ case 'yy':
17393
+ output = '%d वर्षे';
17394
+ break;
17395
+ }
17396
+ } else {
17397
+ switch (string) {
17398
+ case 's':
17399
+ output = 'काही सेकंदां';
17400
+ break;
17401
+ case 'ss':
17402
+ output = '%d सेकंदां';
17403
+ break;
17404
+ case 'm':
17405
+ output = 'एका मिनिटा';
17406
+ break;
17407
+ case 'mm':
17408
+ output = '%d मिनिटां';
17409
+ break;
17410
+ case 'h':
17411
+ output = 'एका तासा';
17412
+ break;
17413
+ case 'hh':
17414
+ output = '%d तासां';
17415
+ break;
17416
+ case 'd':
17417
+ output = 'एका दिवसा';
17418
+ break;
17419
+ case 'dd':
17420
+ output = '%d दिवसां';
17421
+ break;
17422
+ case 'M':
17423
+ output = 'एका महिन्या';
17424
+ break;
17425
+ case 'MM':
17426
+ output = '%d महिन्यां';
17427
+ break;
17428
+ case 'y':
17429
+ output = 'एका वर्षा';
17430
+ break;
17431
+ case 'yy':
17432
+ output = '%d वर्षां';
17433
+ break;
17434
+ }
17435
+ }
17436
+ return output.replace(/%d/i, number);
17437
+ }
17438
+
17439
+ var mr = moment.defineLocale('mr', {
17440
+ months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(
17441
+ '_'
17442
+ ),
17443
+ monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(
17444
+ '_'
17445
+ ),
17446
+ monthsParseExact: true,
17447
+ weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
17448
+ weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
17449
+ weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),
17450
+ longDateFormat: {
17451
+ LT: 'A h:mm वाजता',
17452
+ LTS: 'A h:mm:ss वाजता',
17453
+ L: 'DD/MM/YYYY',
17454
+ LL: 'D MMMM YYYY',
17455
+ LLL: 'D MMMM YYYY, A h:mm वाजता',
17456
+ LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',
17457
+ },
17458
+ calendar: {
17459
+ sameDay: '[आज] LT',
17460
+ nextDay: '[उद्या] LT',
17461
+ nextWeek: 'dddd, LT',
17462
+ lastDay: '[काल] LT',
17463
+ lastWeek: '[मागील] dddd, LT',
17464
+ sameElse: 'L',
17465
+ },
17466
+ relativeTime: {
17467
+ future: '%sमध्ये',
17468
+ past: '%sपूर्वी',
17469
+ s: relativeTimeMr,
17470
+ ss: relativeTimeMr,
17471
+ m: relativeTimeMr,
17472
+ mm: relativeTimeMr,
17473
+ h: relativeTimeMr,
17474
+ hh: relativeTimeMr,
17475
+ d: relativeTimeMr,
17476
+ dd: relativeTimeMr,
17477
+ M: relativeTimeMr,
17478
+ MM: relativeTimeMr,
17479
+ y: relativeTimeMr,
17480
+ yy: relativeTimeMr,
17481
+ },
17482
+ preparse: function (string) {
17483
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
17484
+ return numberMap[match];
17485
+ });
17486
+ },
17487
+ postformat: function (string) {
17488
+ return string.replace(/\d/g, function (match) {
17489
+ return symbolMap[match];
17490
+ });
17491
+ },
17492
+ meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,
17493
+ meridiemHour: function (hour, meridiem) {
17494
+ if (hour === 12) {
17495
+ hour = 0;
17496
+ }
17497
+ if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {
17498
+ return hour;
17499
+ } else if (
17500
+ meridiem === 'दुपारी' ||
17501
+ meridiem === 'सायंकाळी' ||
17502
+ meridiem === 'रात्री'
17503
+ ) {
17504
+ return hour >= 12 ? hour : hour + 12;
17505
+ }
17506
+ },
17507
+ meridiem: function (hour, minute, isLower) {
17508
+ if (hour >= 0 && hour < 6) {
17509
+ return 'पहाटे';
17510
+ } else if (hour < 12) {
17511
+ return 'सकाळी';
17512
+ } else if (hour < 17) {
17513
+ return 'दुपारी';
17514
+ } else if (hour < 20) {
17515
+ return 'सायंकाळी';
17516
+ } else {
17517
+ return 'रात्री';
17518
+ }
17519
+ },
17520
+ week: {
17521
+ dow: 0, // Sunday is the first day of the week.
17522
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
17523
+ },
17524
+ });
17525
+
17526
+ return mr;
17527
+
17528
+ })));
17529
+
17530
+
17531
+ /***/ }),
17532
+ /* 154 */
17533
+ /***/ (function(module, exports, __webpack_require__) {
17534
+
17535
+ //! moment.js locale configuration
17536
+ //! locale : Malay [ms]
17537
+ //! author : Weldan Jamili : https://github.com/weldan
17538
+
17539
+ ;(function (global, factory) {
17540
+ true ? factory(__webpack_require__(0)) :
17541
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17542
+ factory(global.moment)
17543
+ }(this, (function (moment) { 'use strict';
17544
+
17545
+ //! moment.js locale configuration
17546
+
17547
+ var ms = moment.defineLocale('ms', {
17548
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
17549
+ '_'
17550
+ ),
17551
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
17552
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
17553
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
17554
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
17555
+ longDateFormat: {
17556
+ LT: 'HH.mm',
17557
+ LTS: 'HH.mm.ss',
17558
+ L: 'DD/MM/YYYY',
17559
+ LL: 'D MMMM YYYY',
17560
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
17561
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
17562
+ },
17563
+ meridiemParse: /pagi|tengahari|petang|malam/,
17564
+ meridiemHour: function (hour, meridiem) {
17565
+ if (hour === 12) {
17566
+ hour = 0;
17567
+ }
17568
+ if (meridiem === 'pagi') {
17569
+ return hour;
17570
+ } else if (meridiem === 'tengahari') {
17571
+ return hour >= 11 ? hour : hour + 12;
17572
+ } else if (meridiem === 'petang' || meridiem === 'malam') {
17573
+ return hour + 12;
17574
+ }
17575
+ },
17576
+ meridiem: function (hours, minutes, isLower) {
17577
+ if (hours < 11) {
17578
+ return 'pagi';
17579
+ } else if (hours < 15) {
17580
+ return 'tengahari';
17581
+ } else if (hours < 19) {
17582
+ return 'petang';
17583
+ } else {
17584
+ return 'malam';
17585
+ }
17586
+ },
17587
+ calendar: {
17588
+ sameDay: '[Hari ini pukul] LT',
17589
+ nextDay: '[Esok pukul] LT',
17590
+ nextWeek: 'dddd [pukul] LT',
17591
+ lastDay: '[Kelmarin pukul] LT',
17592
+ lastWeek: 'dddd [lepas pukul] LT',
17593
+ sameElse: 'L',
17594
+ },
17595
+ relativeTime: {
17596
+ future: 'dalam %s',
17597
+ past: '%s yang lepas',
17598
+ s: 'beberapa saat',
17599
+ ss: '%d saat',
17600
+ m: 'seminit',
17601
+ mm: '%d minit',
17602
+ h: 'sejam',
17603
+ hh: '%d jam',
17604
+ d: 'sehari',
17605
+ dd: '%d hari',
17606
+ M: 'sebulan',
17607
+ MM: '%d bulan',
17608
+ y: 'setahun',
17609
+ yy: '%d tahun',
17610
+ },
17611
+ week: {
17612
+ dow: 1, // Monday is the first day of the week.
17613
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
17614
+ },
17615
+ });
17616
+
17617
+ return ms;
17618
+
17619
+ })));
17620
+
17621
+
17622
+ /***/ }),
17623
+ /* 155 */
17624
+ /***/ (function(module, exports, __webpack_require__) {
17625
+
17626
+ //! moment.js locale configuration
17627
+ //! locale : Malay [ms-my]
17628
+ //! note : DEPRECATED, the correct one is [ms]
17629
+ //! author : Weldan Jamili : https://github.com/weldan
17630
+
17631
+ ;(function (global, factory) {
17632
+ true ? factory(__webpack_require__(0)) :
17633
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17634
+ factory(global.moment)
17635
+ }(this, (function (moment) { 'use strict';
17636
+
17637
+ //! moment.js locale configuration
17638
+
17639
+ var msMy = moment.defineLocale('ms-my', {
17640
+ months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(
17641
+ '_'
17642
+ ),
17643
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
17644
+ weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
17645
+ weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
17646
+ weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
17647
+ longDateFormat: {
17648
+ LT: 'HH.mm',
17649
+ LTS: 'HH.mm.ss',
17650
+ L: 'DD/MM/YYYY',
17651
+ LL: 'D MMMM YYYY',
17652
+ LLL: 'D MMMM YYYY [pukul] HH.mm',
17653
+ LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',
17654
+ },
17655
+ meridiemParse: /pagi|tengahari|petang|malam/,
17656
+ meridiemHour: function (hour, meridiem) {
17657
+ if (hour === 12) {
17658
+ hour = 0;
17659
+ }
17660
+ if (meridiem === 'pagi') {
17661
+ return hour;
17662
+ } else if (meridiem === 'tengahari') {
17663
+ return hour >= 11 ? hour : hour + 12;
17664
+ } else if (meridiem === 'petang' || meridiem === 'malam') {
17665
+ return hour + 12;
17666
+ }
17667
+ },
17668
+ meridiem: function (hours, minutes, isLower) {
17669
+ if (hours < 11) {
17670
+ return 'pagi';
17671
+ } else if (hours < 15) {
17672
+ return 'tengahari';
17673
+ } else if (hours < 19) {
17674
+ return 'petang';
17675
+ } else {
17676
+ return 'malam';
17677
+ }
17678
+ },
17679
+ calendar: {
17680
+ sameDay: '[Hari ini pukul] LT',
17681
+ nextDay: '[Esok pukul] LT',
17682
+ nextWeek: 'dddd [pukul] LT',
17683
+ lastDay: '[Kelmarin pukul] LT',
17684
+ lastWeek: 'dddd [lepas pukul] LT',
17685
+ sameElse: 'L',
17686
+ },
17687
+ relativeTime: {
17688
+ future: 'dalam %s',
17689
+ past: '%s yang lepas',
17690
+ s: 'beberapa saat',
17691
+ ss: '%d saat',
17692
+ m: 'seminit',
17693
+ mm: '%d minit',
17694
+ h: 'sejam',
17695
+ hh: '%d jam',
17696
+ d: 'sehari',
17697
+ dd: '%d hari',
17698
+ M: 'sebulan',
17699
+ MM: '%d bulan',
17700
+ y: 'setahun',
17701
+ yy: '%d tahun',
17702
+ },
17703
+ week: {
17704
+ dow: 1, // Monday is the first day of the week.
17705
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
17706
+ },
17707
+ });
17708
+
17709
+ return msMy;
17710
+
17711
+ })));
17712
+
17713
+
17714
+ /***/ }),
17715
+ /* 156 */
17716
+ /***/ (function(module, exports, __webpack_require__) {
17717
+
17718
+ //! moment.js locale configuration
17719
+ //! locale : Maltese (Malta) [mt]
17720
+ //! author : Alessandro Maruccia : https://github.com/alesma
17721
+
17722
+ ;(function (global, factory) {
17723
+ true ? factory(__webpack_require__(0)) :
17724
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17725
+ factory(global.moment)
17726
+ }(this, (function (moment) { 'use strict';
17727
+
17728
+ //! moment.js locale configuration
17729
+
17730
+ var mt = moment.defineLocale('mt', {
17731
+ months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(
17732
+ '_'
17733
+ ),
17734
+ monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
17735
+ weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(
17736
+ '_'
17737
+ ),
17738
+ weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
17739
+ weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
17740
+ longDateFormat: {
17741
+ LT: 'HH:mm',
17742
+ LTS: 'HH:mm:ss',
17743
+ L: 'DD/MM/YYYY',
17744
+ LL: 'D MMMM YYYY',
17745
+ LLL: 'D MMMM YYYY HH:mm',
17746
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
17747
+ },
17748
+ calendar: {
17749
+ sameDay: '[Illum fil-]LT',
17750
+ nextDay: '[Għada fil-]LT',
17751
+ nextWeek: 'dddd [fil-]LT',
17752
+ lastDay: '[Il-bieraħ fil-]LT',
17753
+ lastWeek: 'dddd [li għadda] [fil-]LT',
17754
+ sameElse: 'L',
17755
+ },
17756
+ relativeTime: {
17757
+ future: 'f’ %s',
17758
+ past: '%s ilu',
17759
+ s: 'ftit sekondi',
17760
+ ss: '%d sekondi',
17761
+ m: 'minuta',
17762
+ mm: '%d minuti',
17763
+ h: 'siegħa',
17764
+ hh: '%d siegħat',
17765
+ d: 'ġurnata',
17766
+ dd: '%d ġranet',
17767
+ M: 'xahar',
17768
+ MM: '%d xhur',
17769
+ y: 'sena',
17770
+ yy: '%d sni',
17771
+ },
17772
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
17773
+ ordinal: '%dº',
17774
+ week: {
17775
+ dow: 1, // Monday is the first day of the week.
17776
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
17777
+ },
17778
+ });
17779
+
17780
+ return mt;
17781
+
17782
+ })));
17783
+
17784
+
17785
+ /***/ }),
17786
+ /* 157 */
17787
+ /***/ (function(module, exports, __webpack_require__) {
17788
+
17789
+ //! moment.js locale configuration
17790
+ //! locale : Burmese [my]
17791
+ //! author : Squar team, mysquar.com
17792
+ //! author : David Rossellat : https://github.com/gholadr
17793
+ //! author : Tin Aung Lin : https://github.com/thanyawzinmin
17794
+
17795
+ ;(function (global, factory) {
17796
+ true ? factory(__webpack_require__(0)) :
17797
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17798
+ factory(global.moment)
17799
+ }(this, (function (moment) { 'use strict';
17800
+
17801
+ //! moment.js locale configuration
17802
+
17803
+ var symbolMap = {
17804
+ '1': '၁',
17805
+ '2': '၂',
17806
+ '3': '၃',
17807
+ '4': '၄',
17808
+ '5': '၅',
17809
+ '6': '၆',
17810
+ '7': '၇',
17811
+ '8': '၈',
17812
+ '9': '၉',
17813
+ '0': '၀',
17814
+ },
17815
+ numberMap = {
17816
+ '၁': '1',
17817
+ '၂': '2',
17818
+ '၃': '3',
17819
+ '၄': '4',
17820
+ '၅': '5',
17821
+ '၆': '6',
17822
+ '၇': '7',
17823
+ '၈': '8',
17824
+ '၉': '9',
17825
+ '၀': '0',
17826
+ };
17827
+
17828
+ var my = moment.defineLocale('my', {
17829
+ months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(
17830
+ '_'
17831
+ ),
17832
+ monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
17833
+ weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(
17834
+ '_'
17835
+ ),
17836
+ weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
17837
+ weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
17838
+
17839
+ longDateFormat: {
17840
+ LT: 'HH:mm',
17841
+ LTS: 'HH:mm:ss',
17842
+ L: 'DD/MM/YYYY',
17843
+ LL: 'D MMMM YYYY',
17844
+ LLL: 'D MMMM YYYY HH:mm',
17845
+ LLLL: 'dddd D MMMM YYYY HH:mm',
17846
+ },
17847
+ calendar: {
17848
+ sameDay: '[ယနေ.] LT [မှာ]',
17849
+ nextDay: '[မနက်ဖြန်] LT [မှာ]',
17850
+ nextWeek: 'dddd LT [မှာ]',
17851
+ lastDay: '[မနေ.က] LT [မှာ]',
17852
+ lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
17853
+ sameElse: 'L',
17854
+ },
17855
+ relativeTime: {
17856
+ future: 'လာမည့် %s မှာ',
17857
+ past: 'လွန်ခဲ့သော %s က',
17858
+ s: 'စက္ကန်.အနည်းငယ်',
17859
+ ss: '%d စက္ကန့်',
17860
+ m: 'တစ်မိနစ်',
17861
+ mm: '%d မိနစ်',
17862
+ h: 'တစ်နာရီ',
17863
+ hh: '%d နာရီ',
17864
+ d: 'တစ်ရက်',
17865
+ dd: '%d ရက်',
17866
+ M: 'တစ်လ',
17867
+ MM: '%d လ',
17868
+ y: 'တစ်နှစ်',
17869
+ yy: '%d နှစ်',
17870
+ },
17871
+ preparse: function (string) {
17872
+ return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
17873
+ return numberMap[match];
17874
+ });
17875
+ },
17876
+ postformat: function (string) {
17877
+ return string.replace(/\d/g, function (match) {
17878
+ return symbolMap[match];
17879
+ });
17880
+ },
17881
+ week: {
17882
+ dow: 1, // Monday is the first day of the week.
17883
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
17884
+ },
17885
+ });
17886
+
17887
+ return my;
17888
+
17889
+ })));
17890
+
17891
+
17892
+ /***/ }),
17893
+ /* 158 */
17894
+ /***/ (function(module, exports, __webpack_require__) {
17895
+
17896
+ //! moment.js locale configuration
17897
+ //! locale : Norwegian Bokmål [nb]
17898
+ //! authors : Espen Hovlandsdal : https://github.com/rexxars
17899
+ //! Sigurd Gartmann : https://github.com/sigurdga
17900
+ //! Stephen Ramthun : https://github.com/stephenramthun
17901
+
17902
+ ;(function (global, factory) {
17903
+ true ? factory(__webpack_require__(0)) :
17904
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17905
+ factory(global.moment)
17906
+ }(this, (function (moment) { 'use strict';
17907
+
17908
+ //! moment.js locale configuration
17909
+
17910
+ var nb = moment.defineLocale('nb', {
17911
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
17912
+ '_'
17913
+ ),
17914
+ monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
17915
+ '_'
17916
+ ),
17917
+ monthsParseExact: true,
17918
+ weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
17919
+ weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
17920
+ weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
17921
+ weekdaysParseExact: true,
17922
+ longDateFormat: {
17923
+ LT: 'HH:mm',
17924
+ LTS: 'HH:mm:ss',
17925
+ L: 'DD.MM.YYYY',
17926
+ LL: 'D. MMMM YYYY',
17927
+ LLL: 'D. MMMM YYYY [kl.] HH:mm',
17928
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
17929
+ },
17930
+ calendar: {
17931
+ sameDay: '[i dag kl.] LT',
17932
+ nextDay: '[i morgen kl.] LT',
17933
+ nextWeek: 'dddd [kl.] LT',
17934
+ lastDay: '[i går kl.] LT',
17935
+ lastWeek: '[forrige] dddd [kl.] LT',
17936
+ sameElse: 'L',
17937
+ },
17938
+ relativeTime: {
17939
+ future: 'om %s',
17940
+ past: '%s siden',
17941
+ s: 'noen sekunder',
17942
+ ss: '%d sekunder',
17943
+ m: 'ett minutt',
17944
+ mm: '%d minutter',
17945
+ h: 'en time',
17946
+ hh: '%d timer',
17947
+ d: 'en dag',
17948
+ dd: '%d dager',
17949
+ M: 'en måned',
17950
+ MM: '%d måneder',
17951
+ y: 'ett år',
17952
+ yy: '%d år',
17953
+ },
17954
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
17955
+ ordinal: '%d.',
17956
+ week: {
17957
+ dow: 1, // Monday is the first day of the week.
17958
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
17959
+ },
17960
+ });
17961
+
17962
+ return nb;
17963
+
17964
+ })));
17965
+
17966
+
17967
+ /***/ }),
17968
+ /* 159 */
17969
+ /***/ (function(module, exports, __webpack_require__) {
17970
+
17971
+ //! moment.js locale configuration
17972
+ //! locale : Nepalese [ne]
17973
+ //! author : suvash : https://github.com/suvash
17974
+
17975
+ ;(function (global, factory) {
17976
+ true ? factory(__webpack_require__(0)) :
17977
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
17978
+ factory(global.moment)
17979
+ }(this, (function (moment) { 'use strict';
17980
+
17981
+ //! moment.js locale configuration
17982
+
17983
+ var symbolMap = {
17984
+ '1': '१',
17985
+ '2': '२',
17986
+ '3': '३',
17987
+ '4': '४',
17988
+ '5': '५',
17989
+ '6': '६',
17990
+ '7': '७',
17991
+ '8': '८',
17992
+ '9': '९',
17993
+ '0': '०',
17994
+ },
17995
+ numberMap = {
17996
+ '१': '1',
17997
+ '२': '2',
17998
+ '३': '3',
17999
+ '४': '4',
18000
+ '५': '5',
18001
+ '६': '6',
18002
+ '७': '7',
18003
+ '८': '8',
18004
+ '९': '9',
18005
+ '०': '0',
18006
+ };
18007
+
18008
+ var ne = moment.defineLocale('ne', {
18009
+ months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(
18010
+ '_'
18011
+ ),
18012
+ monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(
18013
+ '_'
18014
+ ),
18015
+ monthsParseExact: true,
18016
+ weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(
18017
+ '_'
18018
+ ),
18019
+ weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
18020
+ weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
18021
+ weekdaysParseExact: true,
18022
+ longDateFormat: {
18023
+ LT: 'Aको h:mm बजे',
18024
+ LTS: 'Aको h:mm:ss बजे',
18025
+ L: 'DD/MM/YYYY',
18026
+ LL: 'D MMMM YYYY',
18027
+ LLL: 'D MMMM YYYY, Aको h:mm बजे',
18028
+ LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',
18029
+ },
18030
+ preparse: function (string) {
18031
+ return string.replace(/[१२३४५६७८९०]/g, function (match) {
18032
+ return numberMap[match];
18033
+ });
18034
+ },
18035
+ postformat: function (string) {
18036
+ return string.replace(/\d/g, function (match) {
18037
+ return symbolMap[match];
18038
+ });
18039
+ },
18040
+ meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
18041
+ meridiemHour: function (hour, meridiem) {
18042
+ if (hour === 12) {
18043
+ hour = 0;
18044
+ }
18045
+ if (meridiem === 'राति') {
18046
+ return hour < 4 ? hour : hour + 12;
18047
+ } else if (meridiem === 'बिहान') {
18048
+ return hour;
18049
+ } else if (meridiem === 'दिउँसो') {
18050
+ return hour >= 10 ? hour : hour + 12;
18051
+ } else if (meridiem === 'साँझ') {
18052
+ return hour + 12;
18053
+ }
18054
+ },
18055
+ meridiem: function (hour, minute, isLower) {
18056
+ if (hour < 3) {
18057
+ return 'राति';
18058
+ } else if (hour < 12) {
18059
+ return 'बिहान';
18060
+ } else if (hour < 16) {
18061
+ return 'दिउँसो';
18062
+ } else if (hour < 20) {
18063
+ return 'साँझ';
18064
+ } else {
18065
+ return 'राति';
18066
+ }
18067
+ },
18068
+ calendar: {
18069
+ sameDay: '[आज] LT',
18070
+ nextDay: '[भोलि] LT',
18071
+ nextWeek: '[आउँदो] dddd[,] LT',
18072
+ lastDay: '[हिजो] LT',
18073
+ lastWeek: '[गएको] dddd[,] LT',
18074
+ sameElse: 'L',
18075
+ },
18076
+ relativeTime: {
18077
+ future: '%sमा',
18078
+ past: '%s अगाडि',
18079
+ s: 'केही क्षण',
18080
+ ss: '%d सेकेण्ड',
18081
+ m: 'एक मिनेट',
18082
+ mm: '%d मिनेट',
18083
+ h: 'एक घण्टा',
18084
+ hh: '%d घण्टा',
18085
+ d: 'एक दिन',
18086
+ dd: '%d दिन',
18087
+ M: 'एक महिना',
18088
+ MM: '%d महिना',
18089
+ y: 'एक बर्ष',
18090
+ yy: '%d बर्ष',
18091
+ },
18092
+ week: {
18093
+ dow: 0, // Sunday is the first day of the week.
18094
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
18095
+ },
18096
+ });
18097
+
18098
+ return ne;
18099
+
18100
+ })));
18101
+
18102
+
18103
+ /***/ }),
18104
+ /* 160 */
18105
+ /***/ (function(module, exports, __webpack_require__) {
18106
+
18107
+ //! moment.js locale configuration
18108
+ //! locale : Dutch [nl]
18109
+ //! author : Joris Röling : https://github.com/jorisroling
18110
+ //! author : Jacob Middag : https://github.com/middagj
18111
+
18112
+ ;(function (global, factory) {
18113
+ true ? factory(__webpack_require__(0)) :
18114
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18115
+ factory(global.moment)
18116
+ }(this, (function (moment) { 'use strict';
18117
+
18118
+ //! moment.js locale configuration
18119
+
18120
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
18121
+ '_'
18122
+ ),
18123
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
18124
+ '_'
18125
+ ),
18126
+ monthsParse = [
18127
+ /^jan/i,
18128
+ /^feb/i,
18129
+ /^maart|mrt.?$/i,
18130
+ /^apr/i,
18131
+ /^mei$/i,
18132
+ /^jun[i.]?$/i,
18133
+ /^jul[i.]?$/i,
18134
+ /^aug/i,
18135
+ /^sep/i,
18136
+ /^okt/i,
18137
+ /^nov/i,
18138
+ /^dec/i,
18139
+ ],
18140
+ monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
18141
+
18142
+ var nl = moment.defineLocale('nl', {
18143
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
18144
+ '_'
18145
+ ),
18146
+ monthsShort: function (m, format) {
18147
+ if (!m) {
18148
+ return monthsShortWithDots;
18149
+ } else if (/-MMM-/.test(format)) {
18150
+ return monthsShortWithoutDots[m.month()];
18151
+ } else {
18152
+ return monthsShortWithDots[m.month()];
18153
+ }
18154
+ },
18155
+
18156
+ monthsRegex: monthsRegex,
18157
+ monthsShortRegex: monthsRegex,
18158
+ monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
18159
+ monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
18160
+
18161
+ monthsParse: monthsParse,
18162
+ longMonthsParse: monthsParse,
18163
+ shortMonthsParse: monthsParse,
18164
+
18165
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
18166
+ '_'
18167
+ ),
18168
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
18169
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
18170
+ weekdaysParseExact: true,
18171
+ longDateFormat: {
18172
+ LT: 'HH:mm',
18173
+ LTS: 'HH:mm:ss',
18174
+ L: 'DD-MM-YYYY',
18175
+ LL: 'D MMMM YYYY',
18176
+ LLL: 'D MMMM YYYY HH:mm',
18177
+ LLLL: 'dddd D MMMM YYYY HH:mm',
18178
+ },
18179
+ calendar: {
18180
+ sameDay: '[vandaag om] LT',
18181
+ nextDay: '[morgen om] LT',
18182
+ nextWeek: 'dddd [om] LT',
18183
+ lastDay: '[gisteren om] LT',
18184
+ lastWeek: '[afgelopen] dddd [om] LT',
18185
+ sameElse: 'L',
18186
+ },
18187
+ relativeTime: {
18188
+ future: 'over %s',
18189
+ past: '%s geleden',
18190
+ s: 'een paar seconden',
18191
+ ss: '%d seconden',
18192
+ m: 'één minuut',
18193
+ mm: '%d minuten',
18194
+ h: 'één uur',
18195
+ hh: '%d uur',
18196
+ d: 'één dag',
18197
+ dd: '%d dagen',
18198
+ M: 'één maand',
18199
+ MM: '%d maanden',
18200
+ y: 'één jaar',
18201
+ yy: '%d jaar',
18202
+ },
18203
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
18204
+ ordinal: function (number) {
18205
+ return (
18206
+ number +
18207
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
18208
+ );
18209
+ },
18210
+ week: {
18211
+ dow: 1, // Monday is the first day of the week.
18212
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
18213
+ },
18214
+ });
18215
+
18216
+ return nl;
18217
+
18218
+ })));
18219
+
18220
+
18221
+ /***/ }),
18222
+ /* 161 */
18223
+ /***/ (function(module, exports, __webpack_require__) {
18224
+
18225
+ //! moment.js locale configuration
18226
+ //! locale : Dutch (Belgium) [nl-be]
18227
+ //! author : Joris Röling : https://github.com/jorisroling
18228
+ //! author : Jacob Middag : https://github.com/middagj
18229
+
18230
+ ;(function (global, factory) {
18231
+ true ? factory(__webpack_require__(0)) :
18232
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18233
+ factory(global.moment)
18234
+ }(this, (function (moment) { 'use strict';
18235
+
18236
+ //! moment.js locale configuration
18237
+
18238
+ var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(
18239
+ '_'
18240
+ ),
18241
+ monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(
18242
+ '_'
18243
+ ),
18244
+ monthsParse = [
18245
+ /^jan/i,
18246
+ /^feb/i,
18247
+ /^maart|mrt.?$/i,
18248
+ /^apr/i,
18249
+ /^mei$/i,
18250
+ /^jun[i.]?$/i,
18251
+ /^jul[i.]?$/i,
18252
+ /^aug/i,
18253
+ /^sep/i,
18254
+ /^okt/i,
18255
+ /^nov/i,
18256
+ /^dec/i,
18257
+ ],
18258
+ monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
18259
+
18260
+ var nlBe = moment.defineLocale('nl-be', {
18261
+ months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(
18262
+ '_'
18263
+ ),
18264
+ monthsShort: function (m, format) {
18265
+ if (!m) {
18266
+ return monthsShortWithDots;
18267
+ } else if (/-MMM-/.test(format)) {
18268
+ return monthsShortWithoutDots[m.month()];
18269
+ } else {
18270
+ return monthsShortWithDots[m.month()];
18271
+ }
18272
+ },
18273
+
18274
+ monthsRegex: monthsRegex,
18275
+ monthsShortRegex: monthsRegex,
18276
+ monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
18277
+ monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
18278
+
18279
+ monthsParse: monthsParse,
18280
+ longMonthsParse: monthsParse,
18281
+ shortMonthsParse: monthsParse,
18282
+
18283
+ weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(
18284
+ '_'
18285
+ ),
18286
+ weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
18287
+ weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
18288
+ weekdaysParseExact: true,
18289
+ longDateFormat: {
18290
+ LT: 'HH:mm',
18291
+ LTS: 'HH:mm:ss',
18292
+ L: 'DD/MM/YYYY',
18293
+ LL: 'D MMMM YYYY',
18294
+ LLL: 'D MMMM YYYY HH:mm',
18295
+ LLLL: 'dddd D MMMM YYYY HH:mm',
18296
+ },
18297
+ calendar: {
18298
+ sameDay: '[vandaag om] LT',
18299
+ nextDay: '[morgen om] LT',
18300
+ nextWeek: 'dddd [om] LT',
18301
+ lastDay: '[gisteren om] LT',
18302
+ lastWeek: '[afgelopen] dddd [om] LT',
18303
+ sameElse: 'L',
18304
+ },
18305
+ relativeTime: {
18306
+ future: 'over %s',
18307
+ past: '%s geleden',
18308
+ s: 'een paar seconden',
18309
+ ss: '%d seconden',
18310
+ m: 'één minuut',
18311
+ mm: '%d minuten',
18312
+ h: 'één uur',
18313
+ hh: '%d uur',
18314
+ d: 'één dag',
18315
+ dd: '%d dagen',
18316
+ M: 'één maand',
18317
+ MM: '%d maanden',
18318
+ y: 'één jaar',
18319
+ yy: '%d jaar',
18320
+ },
18321
+ dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
18322
+ ordinal: function (number) {
18323
+ return (
18324
+ number +
18325
+ (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')
18326
+ );
18327
+ },
18328
+ week: {
18329
+ dow: 1, // Monday is the first day of the week.
18330
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
18331
+ },
18332
+ });
18333
+
18334
+ return nlBe;
18335
+
18336
+ })));
18337
+
18338
+
18339
+ /***/ }),
18340
+ /* 162 */
18341
+ /***/ (function(module, exports, __webpack_require__) {
18342
+
18343
+ //! moment.js locale configuration
18344
+ //! locale : Nynorsk [nn]
18345
+ //! authors : https://github.com/mechuwind
18346
+ //! Stephen Ramthun : https://github.com/stephenramthun
18347
+
18348
+ ;(function (global, factory) {
18349
+ true ? factory(__webpack_require__(0)) :
18350
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18351
+ factory(global.moment)
18352
+ }(this, (function (moment) { 'use strict';
18353
+
18354
+ //! moment.js locale configuration
18355
+
18356
+ var nn = moment.defineLocale('nn', {
18357
+ months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(
18358
+ '_'
18359
+ ),
18360
+ monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(
18361
+ '_'
18362
+ ),
18363
+ monthsParseExact: true,
18364
+ weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
18365
+ weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
18366
+ weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
18367
+ weekdaysParseExact: true,
18368
+ longDateFormat: {
18369
+ LT: 'HH:mm',
18370
+ LTS: 'HH:mm:ss',
18371
+ L: 'DD.MM.YYYY',
18372
+ LL: 'D. MMMM YYYY',
18373
+ LLL: 'D. MMMM YYYY [kl.] H:mm',
18374
+ LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',
18375
+ },
18376
+ calendar: {
18377
+ sameDay: '[I dag klokka] LT',
18378
+ nextDay: '[I morgon klokka] LT',
18379
+ nextWeek: 'dddd [klokka] LT',
18380
+ lastDay: '[I går klokka] LT',
18381
+ lastWeek: '[Føregåande] dddd [klokka] LT',
18382
+ sameElse: 'L',
18383
+ },
18384
+ relativeTime: {
18385
+ future: 'om %s',
18386
+ past: '%s sidan',
18387
+ s: 'nokre sekund',
18388
+ ss: '%d sekund',
18389
+ m: 'eit minutt',
18390
+ mm: '%d minutt',
18391
+ h: 'ein time',
18392
+ hh: '%d timar',
18393
+ d: 'ein dag',
18394
+ dd: '%d dagar',
18395
+ M: 'ein månad',
18396
+ MM: '%d månader',
18397
+ y: 'eit år',
18398
+ yy: '%d år',
18399
+ },
18400
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
18401
+ ordinal: '%d.',
18402
+ week: {
18403
+ dow: 1, // Monday is the first day of the week.
18404
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
18405
+ },
18406
+ });
18407
+
18408
+ return nn;
18409
+
18410
+ })));
18411
+
18412
+
18413
+ /***/ }),
18414
+ /* 163 */
18415
+ /***/ (function(module, exports, __webpack_require__) {
18416
+
18417
+ //! moment.js locale configuration
18418
+ //! locale : Occitan, lengadocian dialecte [oc-lnc]
18419
+ //! author : Quentin PAGÈS : https://github.com/Quenty31
18420
+
18421
+ ;(function (global, factory) {
18422
+ true ? factory(__webpack_require__(0)) :
18423
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18424
+ factory(global.moment)
18425
+ }(this, (function (moment) { 'use strict';
18426
+
18427
+ //! moment.js locale configuration
18428
+
18429
+ var ocLnc = moment.defineLocale('oc-lnc', {
18430
+ months: {
18431
+ standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(
18432
+ '_'
18433
+ ),
18434
+ format: "de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre".split(
18435
+ '_'
18436
+ ),
18437
+ isFormat: /D[oD]?(\s)+MMMM/,
18438
+ },
18439
+ monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(
18440
+ '_'
18441
+ ),
18442
+ monthsParseExact: true,
18443
+ weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(
18444
+ '_'
18445
+ ),
18446
+ weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),
18447
+ weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),
18448
+ weekdaysParseExact: true,
18449
+ longDateFormat: {
18450
+ LT: 'H:mm',
18451
+ LTS: 'H:mm:ss',
18452
+ L: 'DD/MM/YYYY',
18453
+ LL: 'D MMMM [de] YYYY',
18454
+ ll: 'D MMM YYYY',
18455
+ LLL: 'D MMMM [de] YYYY [a] H:mm',
18456
+ lll: 'D MMM YYYY, H:mm',
18457
+ LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',
18458
+ llll: 'ddd D MMM YYYY, H:mm',
18459
+ },
18460
+ calendar: {
18461
+ sameDay: '[uèi a] LT',
18462
+ nextDay: '[deman a] LT',
18463
+ nextWeek: 'dddd [a] LT',
18464
+ lastDay: '[ièr a] LT',
18465
+ lastWeek: 'dddd [passat a] LT',
18466
+ sameElse: 'L',
18467
+ },
18468
+ relativeTime: {
18469
+ future: "d'aquí %s",
18470
+ past: 'fa %s',
18471
+ s: 'unas segondas',
18472
+ ss: '%d segondas',
18473
+ m: 'una minuta',
18474
+ mm: '%d minutas',
18475
+ h: 'una ora',
18476
+ hh: '%d oras',
18477
+ d: 'un jorn',
18478
+ dd: '%d jorns',
18479
+ M: 'un mes',
18480
+ MM: '%d meses',
18481
+ y: 'un an',
18482
+ yy: '%d ans',
18483
+ },
18484
+ dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
18485
+ ordinal: function (number, period) {
18486
+ var output =
18487
+ number === 1
18488
+ ? 'r'
18489
+ : number === 2
18490
+ ? 'n'
18491
+ : number === 3
18492
+ ? 'r'
18493
+ : number === 4
18494
+ ? 't'
18495
+ : 'è';
18496
+ if (period === 'w' || period === 'W') {
18497
+ output = 'a';
18498
+ }
18499
+ return number + output;
18500
+ },
18501
+ week: {
18502
+ dow: 1, // Monday is the first day of the week.
18503
+ doy: 4,
18504
+ },
18505
+ });
18506
+
18507
+ return ocLnc;
18508
+
18509
+ })));
18510
+
18511
+
18512
+ /***/ }),
18513
+ /* 164 */
18514
+ /***/ (function(module, exports, __webpack_require__) {
18515
+
18516
+ //! moment.js locale configuration
18517
+ //! locale : Punjabi (India) [pa-in]
18518
+ //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
18519
+
18520
+ ;(function (global, factory) {
18521
+ true ? factory(__webpack_require__(0)) :
18522
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18523
+ factory(global.moment)
18524
+ }(this, (function (moment) { 'use strict';
18525
+
18526
+ //! moment.js locale configuration
18527
+
18528
+ var symbolMap = {
18529
+ '1': '੧',
18530
+ '2': '੨',
18531
+ '3': '੩',
18532
+ '4': '੪',
18533
+ '5': '੫',
18534
+ '6': '੬',
18535
+ '7': '੭',
18536
+ '8': '੮',
18537
+ '9': '੯',
18538
+ '0': '੦',
18539
+ },
18540
+ numberMap = {
18541
+ '੧': '1',
18542
+ '੨': '2',
18543
+ '੩': '3',
18544
+ '੪': '4',
18545
+ '੫': '5',
18546
+ '੬': '6',
18547
+ '੭': '7',
18548
+ '੮': '8',
18549
+ '੯': '9',
18550
+ '੦': '0',
18551
+ };
18552
+
18553
+ var paIn = moment.defineLocale('pa-in', {
18554
+ // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
18555
+ months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
18556
+ '_'
18557
+ ),
18558
+ monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(
18559
+ '_'
18560
+ ),
18561
+ weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(
18562
+ '_'
18563
+ ),
18564
+ weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
18565
+ weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
18566
+ longDateFormat: {
18567
+ LT: 'A h:mm ਵਜੇ',
18568
+ LTS: 'A h:mm:ss ਵਜੇ',
18569
+ L: 'DD/MM/YYYY',
18570
+ LL: 'D MMMM YYYY',
18571
+ LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',
18572
+ LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',
18573
+ },
18574
+ calendar: {
18575
+ sameDay: '[ਅਜ] LT',
18576
+ nextDay: '[ਕਲ] LT',
18577
+ nextWeek: '[ਅਗਲਾ] dddd, LT',
18578
+ lastDay: '[ਕਲ] LT',
18579
+ lastWeek: '[ਪਿਛਲੇ] dddd, LT',
18580
+ sameElse: 'L',
18581
+ },
18582
+ relativeTime: {
18583
+ future: '%s ਵਿੱਚ',
18584
+ past: '%s ਪਿਛਲੇ',
18585
+ s: 'ਕੁਝ ਸਕਿੰਟ',
18586
+ ss: '%d ਸਕਿੰਟ',
18587
+ m: 'ਇਕ ਮਿੰਟ',
18588
+ mm: '%d ਮਿੰਟ',
18589
+ h: 'ਇੱਕ ਘੰਟਾ',
18590
+ hh: '%d ਘੰਟੇ',
18591
+ d: 'ਇੱਕ ਦਿਨ',
18592
+ dd: '%d ਦਿਨ',
18593
+ M: 'ਇੱਕ ਮਹੀਨਾ',
18594
+ MM: '%d ਮਹੀਨੇ',
18595
+ y: 'ਇੱਕ ਸਾਲ',
18596
+ yy: '%d ਸਾਲ',
18597
+ },
18598
+ preparse: function (string) {
18599
+ return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
18600
+ return numberMap[match];
18601
+ });
18602
+ },
18603
+ postformat: function (string) {
18604
+ return string.replace(/\d/g, function (match) {
18605
+ return symbolMap[match];
18606
+ });
18607
+ },
18608
+ // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
18609
+ // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
18610
+ meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
18611
+ meridiemHour: function (hour, meridiem) {
18612
+ if (hour === 12) {
18613
+ hour = 0;
18614
+ }
18615
+ if (meridiem === 'ਰਾਤ') {
18616
+ return hour < 4 ? hour : hour + 12;
18617
+ } else if (meridiem === 'ਸਵੇਰ') {
18618
+ return hour;
18619
+ } else if (meridiem === 'ਦੁਪਹਿਰ') {
18620
+ return hour >= 10 ? hour : hour + 12;
18621
+ } else if (meridiem === 'ਸ਼ਾਮ') {
18622
+ return hour + 12;
18623
+ }
18624
+ },
18625
+ meridiem: function (hour, minute, isLower) {
18626
+ if (hour < 4) {
18627
+ return 'ਰਾਤ';
18628
+ } else if (hour < 10) {
18629
+ return 'ਸਵੇਰ';
18630
+ } else if (hour < 17) {
18631
+ return 'ਦੁਪਹਿਰ';
18632
+ } else if (hour < 20) {
18633
+ return 'ਸ਼ਾਮ';
18634
+ } else {
18635
+ return 'ਰਾਤ';
18636
+ }
18637
+ },
18638
+ week: {
18639
+ dow: 0, // Sunday is the first day of the week.
18640
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
18641
+ },
18642
+ });
18643
+
18644
+ return paIn;
18645
+
18646
+ })));
18647
+
18648
+
18649
+ /***/ }),
18650
+ /* 165 */
18651
+ /***/ (function(module, exports, __webpack_require__) {
18652
+
18653
+ //! moment.js locale configuration
18654
+ //! locale : Polish [pl]
18655
+ //! author : Rafal Hirsz : https://github.com/evoL
18656
+
18657
+ ;(function (global, factory) {
18658
+ true ? factory(__webpack_require__(0)) :
18659
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18660
+ factory(global.moment)
18661
+ }(this, (function (moment) { 'use strict';
18662
+
18663
+ //! moment.js locale configuration
18664
+
18665
+ var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
18666
+ '_'
18667
+ ),
18668
+ monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
18669
+ '_'
18670
+ );
18671
+ function plural(n) {
18672
+ return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
18673
+ }
18674
+ function translate(number, withoutSuffix, key) {
18675
+ var result = number + ' ';
18676
+ switch (key) {
18677
+ case 'ss':
18678
+ return result + (plural(number) ? 'sekundy' : 'sekund');
18679
+ case 'm':
18680
+ return withoutSuffix ? 'minuta' : 'minutę';
18681
+ case 'mm':
18682
+ return result + (plural(number) ? 'minuty' : 'minut');
18683
+ case 'h':
18684
+ return withoutSuffix ? 'godzina' : 'godzinę';
18685
+ case 'hh':
18686
+ return result + (plural(number) ? 'godziny' : 'godzin');
18687
+ case 'MM':
18688
+ return result + (plural(number) ? 'miesiące' : 'miesięcy');
18689
+ case 'yy':
18690
+ return result + (plural(number) ? 'lata' : 'lat');
18691
+ }
18692
+ }
18693
+
18694
+ var pl = moment.defineLocale('pl', {
18695
+ months: function (momentToFormat, format) {
18696
+ if (!momentToFormat) {
18697
+ return monthsNominative;
18698
+ } else if (format === '') {
18699
+ // Hack: if format empty we know this is used to generate
18700
+ // RegExp by moment. Give then back both valid forms of months
18701
+ // in RegExp ready format.
18702
+ return (
18703
+ '(' +
18704
+ monthsSubjective[momentToFormat.month()] +
18705
+ '|' +
18706
+ monthsNominative[momentToFormat.month()] +
18707
+ ')'
18708
+ );
18709
+ } else if (/D MMMM/.test(format)) {
18710
+ return monthsSubjective[momentToFormat.month()];
18711
+ } else {
18712
+ return monthsNominative[momentToFormat.month()];
18713
+ }
18714
+ },
18715
+ monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
18716
+ weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(
18717
+ '_'
18718
+ ),
18719
+ weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
18720
+ weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
18721
+ longDateFormat: {
18722
+ LT: 'HH:mm',
18723
+ LTS: 'HH:mm:ss',
18724
+ L: 'DD.MM.YYYY',
18725
+ LL: 'D MMMM YYYY',
18726
+ LLL: 'D MMMM YYYY HH:mm',
18727
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
18728
+ },
18729
+ calendar: {
18730
+ sameDay: '[Dziś o] LT',
18731
+ nextDay: '[Jutro o] LT',
18732
+ nextWeek: function () {
18733
+ switch (this.day()) {
18734
+ case 0:
18735
+ return '[W niedzielę o] LT';
18736
+
18737
+ case 2:
18738
+ return '[We wtorek o] LT';
18739
+
18740
+ case 3:
18741
+ return '[W środę o] LT';
18742
+
18743
+ case 6:
18744
+ return '[W sobotę o] LT';
18745
+
18746
+ default:
18747
+ return '[W] dddd [o] LT';
18748
+ }
18749
+ },
18750
+ lastDay: '[Wczoraj o] LT',
18751
+ lastWeek: function () {
18752
+ switch (this.day()) {
18753
+ case 0:
18754
+ return '[W zeszłą niedzielę o] LT';
18755
+ case 3:
18756
+ return '[W zeszłą środę o] LT';
18757
+ case 6:
18758
+ return '[W zeszłą sobotę o] LT';
18759
+ default:
18760
+ return '[W zeszły] dddd [o] LT';
18761
+ }
18762
+ },
18763
+ sameElse: 'L',
18764
+ },
18765
+ relativeTime: {
18766
+ future: 'za %s',
18767
+ past: '%s temu',
18768
+ s: 'kilka sekund',
18769
+ ss: translate,
18770
+ m: translate,
18771
+ mm: translate,
18772
+ h: translate,
18773
+ hh: translate,
18774
+ d: '1 dzień',
18775
+ dd: '%d dni',
18776
+ M: 'miesiąc',
18777
+ MM: translate,
18778
+ y: 'rok',
18779
+ yy: translate,
18780
+ },
18781
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
18782
+ ordinal: '%d.',
18783
+ week: {
18784
+ dow: 1, // Monday is the first day of the week.
18785
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
18786
+ },
18787
+ });
18788
+
18789
+ return pl;
18790
+
18791
+ })));
18792
+
18793
+
18794
+ /***/ }),
18795
+ /* 166 */
18796
+ /***/ (function(module, exports, __webpack_require__) {
18797
+
18798
+ //! moment.js locale configuration
18799
+ //! locale : Portuguese [pt]
18800
+ //! author : Jefferson : https://github.com/jalex79
18801
+
18802
+ ;(function (global, factory) {
18803
+ true ? factory(__webpack_require__(0)) :
18804
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18805
+ factory(global.moment)
18806
+ }(this, (function (moment) { 'use strict';
18807
+
18808
+ //! moment.js locale configuration
18809
+
18810
+ var pt = moment.defineLocale('pt', {
18811
+ months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
18812
+ '_'
18813
+ ),
18814
+ monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
18815
+ weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(
18816
+ '_'
18817
+ ),
18818
+ weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
18819
+ weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
18820
+ weekdaysParseExact: true,
18821
+ longDateFormat: {
18822
+ LT: 'HH:mm',
18823
+ LTS: 'HH:mm:ss',
18824
+ L: 'DD/MM/YYYY',
18825
+ LL: 'D [de] MMMM [de] YYYY',
18826
+ LLL: 'D [de] MMMM [de] YYYY HH:mm',
18827
+ LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',
18828
+ },
18829
+ calendar: {
18830
+ sameDay: '[Hoje às] LT',
18831
+ nextDay: '[Amanhã às] LT',
18832
+ nextWeek: 'dddd [às] LT',
18833
+ lastDay: '[Ontem às] LT',
18834
+ lastWeek: function () {
18835
+ return this.day() === 0 || this.day() === 6
18836
+ ? '[Último] dddd [às] LT' // Saturday + Sunday
18837
+ : '[Última] dddd [às] LT'; // Monday - Friday
18838
+ },
18839
+ sameElse: 'L',
18840
+ },
18841
+ relativeTime: {
18842
+ future: 'em %s',
18843
+ past: 'há %s',
18844
+ s: 'segundos',
18845
+ ss: '%d segundos',
18846
+ m: 'um minuto',
18847
+ mm: '%d minutos',
18848
+ h: 'uma hora',
18849
+ hh: '%d horas',
18850
+ d: 'um dia',
18851
+ dd: '%d dias',
18852
+ M: 'um mês',
18853
+ MM: '%d meses',
18854
+ y: 'um ano',
18855
+ yy: '%d anos',
18856
+ },
18857
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
18858
+ ordinal: '%dº',
18859
+ week: {
18860
+ dow: 1, // Monday is the first day of the week.
18861
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
18862
+ },
18863
+ });
18864
+
18865
+ return pt;
18866
+
18867
+ })));
18868
+
18869
+
18870
+ /***/ }),
18871
+ /* 167 */
18872
+ /***/ (function(module, exports, __webpack_require__) {
18873
+
18874
+ //! moment.js locale configuration
18875
+ //! locale : Portuguese (Brazil) [pt-br]
18876
+ //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
18877
+
18878
+ ;(function (global, factory) {
18879
+ true ? factory(__webpack_require__(0)) :
18880
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18881
+ factory(global.moment)
18882
+ }(this, (function (moment) { 'use strict';
18883
+
18884
+ //! moment.js locale configuration
18885
+
18886
+ var ptBr = moment.defineLocale('pt-br', {
18887
+ months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(
18888
+ '_'
18889
+ ),
18890
+ monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
18891
+ weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(
18892
+ '_'
18893
+ ),
18894
+ weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
18895
+ weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
18896
+ weekdaysParseExact: true,
18897
+ longDateFormat: {
18898
+ LT: 'HH:mm',
18899
+ LTS: 'HH:mm:ss',
18900
+ L: 'DD/MM/YYYY',
18901
+ LL: 'D [de] MMMM [de] YYYY',
18902
+ LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
18903
+ LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',
18904
+ },
18905
+ calendar: {
18906
+ sameDay: '[Hoje às] LT',
18907
+ nextDay: '[Amanhã às] LT',
18908
+ nextWeek: 'dddd [às] LT',
18909
+ lastDay: '[Ontem às] LT',
18910
+ lastWeek: function () {
18911
+ return this.day() === 0 || this.day() === 6
18912
+ ? '[Último] dddd [às] LT' // Saturday + Sunday
18913
+ : '[Última] dddd [às] LT'; // Monday - Friday
18914
+ },
18915
+ sameElse: 'L',
18916
+ },
18917
+ relativeTime: {
18918
+ future: 'em %s',
18919
+ past: 'há %s',
18920
+ s: 'poucos segundos',
18921
+ ss: '%d segundos',
18922
+ m: 'um minuto',
18923
+ mm: '%d minutos',
18924
+ h: 'uma hora',
18925
+ hh: '%d horas',
18926
+ d: 'um dia',
18927
+ dd: '%d dias',
18928
+ M: 'um mês',
18929
+ MM: '%d meses',
18930
+ y: 'um ano',
18931
+ yy: '%d anos',
18932
+ },
18933
+ dayOfMonthOrdinalParse: /\d{1,2}º/,
18934
+ ordinal: '%dº',
18935
+ });
18936
+
18937
+ return ptBr;
18938
+
18939
+ })));
18940
+
18941
+
18942
+ /***/ }),
18943
+ /* 168 */
18944
+ /***/ (function(module, exports, __webpack_require__) {
18945
+
18946
+ //! moment.js locale configuration
18947
+ //! locale : Romanian [ro]
18948
+ //! author : Vlad Gurdiga : https://github.com/gurdiga
18949
+ //! author : Valentin Agachi : https://github.com/avaly
18950
+ //! author : Emanuel Cepoi : https://github.com/cepem
18951
+
18952
+ ;(function (global, factory) {
18953
+ true ? factory(__webpack_require__(0)) :
18954
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
18955
+ factory(global.moment)
18956
+ }(this, (function (moment) { 'use strict';
18957
+
18958
+ //! moment.js locale configuration
18959
+
18960
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
18961
+ var format = {
18962
+ ss: 'secunde',
18963
+ mm: 'minute',
18964
+ hh: 'ore',
18965
+ dd: 'zile',
18966
+ MM: 'luni',
18967
+ yy: 'ani',
18968
+ },
18969
+ separator = ' ';
18970
+ if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
18971
+ separator = ' de ';
18972
+ }
18973
+ return number + separator + format[key];
18974
+ }
18975
+
18976
+ var ro = moment.defineLocale('ro', {
18977
+ months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(
18978
+ '_'
18979
+ ),
18980
+ monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(
18981
+ '_'
18982
+ ),
18983
+ monthsParseExact: true,
18984
+ weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
18985
+ weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
18986
+ weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
18987
+ longDateFormat: {
18988
+ LT: 'H:mm',
18989
+ LTS: 'H:mm:ss',
18990
+ L: 'DD.MM.YYYY',
18991
+ LL: 'D MMMM YYYY',
18992
+ LLL: 'D MMMM YYYY H:mm',
18993
+ LLLL: 'dddd, D MMMM YYYY H:mm',
18994
+ },
18995
+ calendar: {
18996
+ sameDay: '[azi la] LT',
18997
+ nextDay: '[mâine la] LT',
18998
+ nextWeek: 'dddd [la] LT',
18999
+ lastDay: '[ieri la] LT',
19000
+ lastWeek: '[fosta] dddd [la] LT',
19001
+ sameElse: 'L',
19002
+ },
19003
+ relativeTime: {
19004
+ future: 'peste %s',
19005
+ past: '%s în urmă',
19006
+ s: 'câteva secunde',
19007
+ ss: relativeTimeWithPlural,
19008
+ m: 'un minut',
19009
+ mm: relativeTimeWithPlural,
19010
+ h: 'o oră',
19011
+ hh: relativeTimeWithPlural,
19012
+ d: 'o zi',
19013
+ dd: relativeTimeWithPlural,
19014
+ M: 'o lună',
19015
+ MM: relativeTimeWithPlural,
19016
+ y: 'un an',
19017
+ yy: relativeTimeWithPlural,
19018
+ },
19019
+ week: {
19020
+ dow: 1, // Monday is the first day of the week.
19021
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
19022
+ },
19023
+ });
19024
+
19025
+ return ro;
19026
+
19027
+ })));
19028
+
19029
+
19030
+ /***/ }),
19031
+ /* 169 */
19032
+ /***/ (function(module, exports, __webpack_require__) {
19033
+
19034
+ //! moment.js locale configuration
19035
+ //! locale : Russian [ru]
19036
+ //! author : Viktorminator : https://github.com/Viktorminator
19037
+ //! author : Menelion Elensúle : https://github.com/Oire
19038
+ //! author : Коренберг Марк : https://github.com/socketpair
19039
+
19040
+ ;(function (global, factory) {
19041
+ true ? factory(__webpack_require__(0)) :
19042
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19043
+ factory(global.moment)
19044
+ }(this, (function (moment) { 'use strict';
19045
+
19046
+ //! moment.js locale configuration
19047
+
19048
+ function plural(word, num) {
19049
+ var forms = word.split('_');
19050
+ return num % 10 === 1 && num % 100 !== 11
19051
+ ? forms[0]
19052
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
19053
+ ? forms[1]
19054
+ : forms[2];
19055
+ }
19056
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
19057
+ var format = {
19058
+ ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
19059
+ mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
19060
+ hh: 'час_часа_часов',
19061
+ dd: 'день_дня_дней',
19062
+ MM: 'месяц_месяца_месяцев',
19063
+ yy: 'год_года_лет',
19064
+ };
19065
+ if (key === 'm') {
19066
+ return withoutSuffix ? 'минута' : 'минуту';
19067
+ } else {
19068
+ return number + ' ' + plural(format[key], +number);
19069
+ }
19070
+ }
19071
+ var monthsParse = [
19072
+ /^янв/i,
19073
+ /^фев/i,
19074
+ /^мар/i,
19075
+ /^апр/i,
19076
+ /^ма[йя]/i,
19077
+ /^июн/i,
19078
+ /^июл/i,
19079
+ /^авг/i,
19080
+ /^сен/i,
19081
+ /^окт/i,
19082
+ /^ноя/i,
19083
+ /^дек/i,
19084
+ ];
19085
+
19086
+ // http://new.gramota.ru/spravka/rules/139-prop : § 103
19087
+ // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
19088
+ // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
19089
+ var ru = moment.defineLocale('ru', {
19090
+ months: {
19091
+ format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(
19092
+ '_'
19093
+ ),
19094
+ standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(
19095
+ '_'
19096
+ ),
19097
+ },
19098
+ monthsShort: {
19099
+ // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку?
19100
+ format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(
19101
+ '_'
19102
+ ),
19103
+ standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(
19104
+ '_'
19105
+ ),
19106
+ },
19107
+ weekdays: {
19108
+ standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(
19109
+ '_'
19110
+ ),
19111
+ format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(
19112
+ '_'
19113
+ ),
19114
+ isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,
19115
+ },
19116
+ weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
19117
+ weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
19118
+ monthsParse: monthsParse,
19119
+ longMonthsParse: monthsParse,
19120
+ shortMonthsParse: monthsParse,
19121
+
19122
+ // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
19123
+ monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
19124
+
19125
+ // копия предыдущего
19126
+ monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
19127
+
19128
+ // полные названия с падежами
19129
+ monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
19130
+
19131
+ // Выражение, которое соответствует только сокращённым формам
19132
+ monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
19133
+ longDateFormat: {
19134
+ LT: 'H:mm',
19135
+ LTS: 'H:mm:ss',
19136
+ L: 'DD.MM.YYYY',
19137
+ LL: 'D MMMM YYYY г.',
19138
+ LLL: 'D MMMM YYYY г., H:mm',
19139
+ LLLL: 'dddd, D MMMM YYYY г., H:mm',
19140
+ },
19141
+ calendar: {
19142
+ sameDay: '[Сегодня, в] LT',
19143
+ nextDay: '[Завтра, в] LT',
19144
+ lastDay: '[Вчера, в] LT',
19145
+ nextWeek: function (now) {
19146
+ if (now.week() !== this.week()) {
19147
+ switch (this.day()) {
19148
+ case 0:
19149
+ return '[В следующее] dddd, [в] LT';
19150
+ case 1:
19151
+ case 2:
19152
+ case 4:
19153
+ return '[В следующий] dddd, [в] LT';
19154
+ case 3:
19155
+ case 5:
19156
+ case 6:
19157
+ return '[В следующую] dddd, [в] LT';
19158
+ }
19159
+ } else {
19160
+ if (this.day() === 2) {
19161
+ return '[Во] dddd, [в] LT';
19162
+ } else {
19163
+ return '[В] dddd, [в] LT';
19164
+ }
19165
+ }
19166
+ },
19167
+ lastWeek: function (now) {
19168
+ if (now.week() !== this.week()) {
19169
+ switch (this.day()) {
19170
+ case 0:
19171
+ return '[В прошлое] dddd, [в] LT';
19172
+ case 1:
19173
+ case 2:
19174
+ case 4:
19175
+ return '[В прошлый] dddd, [в] LT';
19176
+ case 3:
19177
+ case 5:
19178
+ case 6:
19179
+ return '[В прошлую] dddd, [в] LT';
19180
+ }
19181
+ } else {
19182
+ if (this.day() === 2) {
19183
+ return '[Во] dddd, [в] LT';
19184
+ } else {
19185
+ return '[В] dddd, [в] LT';
19186
+ }
19187
+ }
19188
+ },
19189
+ sameElse: 'L',
19190
+ },
19191
+ relativeTime: {
19192
+ future: 'через %s',
19193
+ past: '%s назад',
19194
+ s: 'несколько секунд',
19195
+ ss: relativeTimeWithPlural,
19196
+ m: relativeTimeWithPlural,
19197
+ mm: relativeTimeWithPlural,
19198
+ h: 'час',
19199
+ hh: relativeTimeWithPlural,
19200
+ d: 'день',
19201
+ dd: relativeTimeWithPlural,
19202
+ M: 'месяц',
19203
+ MM: relativeTimeWithPlural,
19204
+ y: 'год',
19205
+ yy: relativeTimeWithPlural,
19206
+ },
19207
+ meridiemParse: /ночи|утра|дня|вечера/i,
19208
+ isPM: function (input) {
19209
+ return /^(дня|вечера)$/.test(input);
19210
+ },
19211
+ meridiem: function (hour, minute, isLower) {
19212
+ if (hour < 4) {
19213
+ return 'ночи';
19214
+ } else if (hour < 12) {
19215
+ return 'утра';
19216
+ } else if (hour < 17) {
19217
+ return 'дня';
19218
+ } else {
19219
+ return 'вечера';
19220
+ }
19221
+ },
19222
+ dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
19223
+ ordinal: function (number, period) {
19224
+ switch (period) {
19225
+ case 'M':
19226
+ case 'd':
19227
+ case 'DDD':
19228
+ return number + '-й';
19229
+ case 'D':
19230
+ return number + '-го';
19231
+ case 'w':
19232
+ case 'W':
19233
+ return number + '-я';
19234
+ default:
19235
+ return number;
19236
+ }
19237
+ },
19238
+ week: {
19239
+ dow: 1, // Monday is the first day of the week.
19240
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
19241
+ },
19242
+ });
19243
+
19244
+ return ru;
19245
+
19246
+ })));
19247
+
19248
+
19249
+ /***/ }),
19250
+ /* 170 */
19251
+ /***/ (function(module, exports, __webpack_require__) {
19252
+
19253
+ //! moment.js locale configuration
19254
+ //! locale : Sindhi [sd]
19255
+ //! author : Narain Sagar : https://github.com/narainsagar
19256
+
19257
+ ;(function (global, factory) {
19258
+ true ? factory(__webpack_require__(0)) :
19259
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19260
+ factory(global.moment)
19261
+ }(this, (function (moment) { 'use strict';
19262
+
19263
+ //! moment.js locale configuration
19264
+
19265
+ var months = [
19266
+ 'جنوري',
19267
+ 'فيبروري',
19268
+ 'مارچ',
19269
+ 'اپريل',
19270
+ 'مئي',
19271
+ 'جون',
19272
+ 'جولاءِ',
19273
+ 'آگسٽ',
19274
+ 'سيپٽمبر',
19275
+ 'آڪٽوبر',
19276
+ 'نومبر',
19277
+ 'ڊسمبر',
19278
+ ],
19279
+ days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];
19280
+
19281
+ var sd = moment.defineLocale('sd', {
19282
+ months: months,
19283
+ monthsShort: months,
19284
+ weekdays: days,
19285
+ weekdaysShort: days,
19286
+ weekdaysMin: days,
19287
+ longDateFormat: {
19288
+ LT: 'HH:mm',
19289
+ LTS: 'HH:mm:ss',
19290
+ L: 'DD/MM/YYYY',
19291
+ LL: 'D MMMM YYYY',
19292
+ LLL: 'D MMMM YYYY HH:mm',
19293
+ LLLL: 'dddd، D MMMM YYYY HH:mm',
19294
+ },
19295
+ meridiemParse: /صبح|شام/,
19296
+ isPM: function (input) {
19297
+ return 'شام' === input;
19298
+ },
19299
+ meridiem: function (hour, minute, isLower) {
19300
+ if (hour < 12) {
19301
+ return 'صبح';
19302
+ }
19303
+ return 'شام';
19304
+ },
19305
+ calendar: {
19306
+ sameDay: '[اڄ] LT',
19307
+ nextDay: '[سڀاڻي] LT',
19308
+ nextWeek: 'dddd [اڳين هفتي تي] LT',
19309
+ lastDay: '[ڪالهه] LT',
19310
+ lastWeek: '[گزريل هفتي] dddd [تي] LT',
19311
+ sameElse: 'L',
19312
+ },
19313
+ relativeTime: {
19314
+ future: '%s پوء',
19315
+ past: '%s اڳ',
19316
+ s: 'چند سيڪنڊ',
19317
+ ss: '%d سيڪنڊ',
19318
+ m: 'هڪ منٽ',
19319
+ mm: '%d منٽ',
19320
+ h: 'هڪ ڪلاڪ',
19321
+ hh: '%d ڪلاڪ',
19322
+ d: 'هڪ ڏينهن',
19323
+ dd: '%d ڏينهن',
19324
+ M: 'هڪ مهينو',
19325
+ MM: '%d مهينا',
19326
+ y: 'هڪ سال',
19327
+ yy: '%d سال',
19328
+ },
19329
+ preparse: function (string) {
19330
+ return string.replace(/،/g, ',');
19331
+ },
19332
+ postformat: function (string) {
19333
+ return string.replace(/,/g, '،');
19334
+ },
19335
+ week: {
19336
+ dow: 1, // Monday is the first day of the week.
19337
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
19338
+ },
19339
+ });
19340
+
19341
+ return sd;
19342
+
19343
+ })));
19344
+
19345
+
19346
+ /***/ }),
19347
+ /* 171 */
19348
+ /***/ (function(module, exports, __webpack_require__) {
19349
+
19350
+ //! moment.js locale configuration
19351
+ //! locale : Northern Sami [se]
19352
+ //! authors : Bård Rolstad Henriksen : https://github.com/karamell
19353
+
19354
+ ;(function (global, factory) {
19355
+ true ? factory(__webpack_require__(0)) :
19356
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19357
+ factory(global.moment)
19358
+ }(this, (function (moment) { 'use strict';
19359
+
19360
+ //! moment.js locale configuration
19361
+
19362
+ var se = moment.defineLocale('se', {
19363
+ 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(
19364
+ '_'
19365
+ ),
19366
+ monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(
19367
+ '_'
19368
+ ),
19369
+ weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(
19370
+ '_'
19371
+ ),
19372
+ weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
19373
+ weekdaysMin: 's_v_m_g_d_b_L'.split('_'),
19374
+ longDateFormat: {
19375
+ LT: 'HH:mm',
19376
+ LTS: 'HH:mm:ss',
19377
+ L: 'DD.MM.YYYY',
19378
+ LL: 'MMMM D. [b.] YYYY',
19379
+ LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',
19380
+ LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',
19381
+ },
19382
+ calendar: {
19383
+ sameDay: '[otne ti] LT',
19384
+ nextDay: '[ihttin ti] LT',
19385
+ nextWeek: 'dddd [ti] LT',
19386
+ lastDay: '[ikte ti] LT',
19387
+ lastWeek: '[ovddit] dddd [ti] LT',
19388
+ sameElse: 'L',
19389
+ },
19390
+ relativeTime: {
19391
+ future: '%s geažes',
19392
+ past: 'maŋit %s',
19393
+ s: 'moadde sekunddat',
19394
+ ss: '%d sekunddat',
19395
+ m: 'okta minuhta',
19396
+ mm: '%d minuhtat',
19397
+ h: 'okta diimmu',
19398
+ hh: '%d diimmut',
19399
+ d: 'okta beaivi',
19400
+ dd: '%d beaivvit',
19401
+ M: 'okta mánnu',
19402
+ MM: '%d mánut',
19403
+ y: 'okta jahki',
19404
+ yy: '%d jagit',
19405
+ },
19406
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
19407
+ ordinal: '%d.',
19408
+ week: {
19409
+ dow: 1, // Monday is the first day of the week.
19410
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
19411
+ },
19412
+ });
19413
+
19414
+ return se;
19415
+
19416
+ })));
19417
+
19418
+
19419
+ /***/ }),
19420
+ /* 172 */
19421
+ /***/ (function(module, exports, __webpack_require__) {
19422
+
19423
+ //! moment.js locale configuration
19424
+ //! locale : Sinhalese [si]
19425
+ //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
19426
+
19427
+ ;(function (global, factory) {
19428
+ true ? factory(__webpack_require__(0)) :
19429
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19430
+ factory(global.moment)
19431
+ }(this, (function (moment) { 'use strict';
19432
+
19433
+ //! moment.js locale configuration
19434
+
19435
+ /*jshint -W100*/
19436
+ var si = moment.defineLocale('si', {
19437
+ months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(
19438
+ '_'
19439
+ ),
19440
+ monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(
19441
+ '_'
19442
+ ),
19443
+ weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(
19444
+ '_'
19445
+ ),
19446
+ weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
19447
+ weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
19448
+ weekdaysParseExact: true,
19449
+ longDateFormat: {
19450
+ LT: 'a h:mm',
19451
+ LTS: 'a h:mm:ss',
19452
+ L: 'YYYY/MM/DD',
19453
+ LL: 'YYYY MMMM D',
19454
+ LLL: 'YYYY MMMM D, a h:mm',
19455
+ LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',
19456
+ },
19457
+ calendar: {
19458
+ sameDay: '[අද] LT[ට]',
19459
+ nextDay: '[හෙට] LT[ට]',
19460
+ nextWeek: 'dddd LT[ට]',
19461
+ lastDay: '[ඊයේ] LT[ට]',
19462
+ lastWeek: '[පසුගිය] dddd LT[ට]',
19463
+ sameElse: 'L',
19464
+ },
19465
+ relativeTime: {
19466
+ future: '%sකින්',
19467
+ past: '%sකට පෙර',
19468
+ s: 'තත්පර කිහිපය',
19469
+ ss: 'තත්පර %d',
19470
+ m: 'මිනිත්තුව',
19471
+ mm: 'මිනිත්තු %d',
19472
+ h: 'පැය',
19473
+ hh: 'පැය %d',
19474
+ d: 'දිනය',
19475
+ dd: 'දින %d',
19476
+ M: 'මාසය',
19477
+ MM: 'මාස %d',
19478
+ y: 'වසර',
19479
+ yy: 'වසර %d',
19480
+ },
19481
+ dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
19482
+ ordinal: function (number) {
19483
+ return number + ' වැනි';
19484
+ },
19485
+ meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
19486
+ isPM: function (input) {
19487
+ return input === 'ප.ව.' || input === 'පස් වරු';
19488
+ },
19489
+ meridiem: function (hours, minutes, isLower) {
19490
+ if (hours > 11) {
19491
+ return isLower ? 'ප.ව.' : 'පස් වරු';
19492
+ } else {
19493
+ return isLower ? 'පෙ.ව.' : 'පෙර වරු';
19494
+ }
19495
+ },
19496
+ });
19497
+
19498
+ return si;
19499
+
19500
+ })));
19501
+
19502
+
19503
+ /***/ }),
19504
+ /* 173 */
19505
+ /***/ (function(module, exports, __webpack_require__) {
19506
+
19507
+ //! moment.js locale configuration
19508
+ //! locale : Slovak [sk]
19509
+ //! author : Martin Minka : https://github.com/k2s
19510
+ //! based on work of petrbela : https://github.com/petrbela
19511
+
19512
+ ;(function (global, factory) {
19513
+ true ? factory(__webpack_require__(0)) :
19514
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19515
+ factory(global.moment)
19516
+ }(this, (function (moment) { 'use strict';
19517
+
19518
+ //! moment.js locale configuration
19519
+
19520
+ var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(
19521
+ '_'
19522
+ ),
19523
+ monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
19524
+ function plural(n) {
19525
+ return n > 1 && n < 5;
19526
+ }
19527
+ function translate(number, withoutSuffix, key, isFuture) {
19528
+ var result = number + ' ';
19529
+ switch (key) {
19530
+ case 's': // a few seconds / in a few seconds / a few seconds ago
19531
+ return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';
19532
+ case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
19533
+ if (withoutSuffix || isFuture) {
19534
+ return result + (plural(number) ? 'sekundy' : 'sekúnd');
19535
+ } else {
19536
+ return result + 'sekundami';
19537
+ }
19538
+ case 'm': // a minute / in a minute / a minute ago
19539
+ return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';
19540
+ case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
19541
+ if (withoutSuffix || isFuture) {
19542
+ return result + (plural(number) ? 'minúty' : 'minút');
19543
+ } else {
19544
+ return result + 'minútami';
19545
+ }
19546
+ case 'h': // an hour / in an hour / an hour ago
19547
+ return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
19548
+ case 'hh': // 9 hours / in 9 hours / 9 hours ago
19549
+ if (withoutSuffix || isFuture) {
19550
+ return result + (plural(number) ? 'hodiny' : 'hodín');
19551
+ } else {
19552
+ return result + 'hodinami';
19553
+ }
19554
+ case 'd': // a day / in a day / a day ago
19555
+ return withoutSuffix || isFuture ? 'deň' : 'dňom';
19556
+ case 'dd': // 9 days / in 9 days / 9 days ago
19557
+ if (withoutSuffix || isFuture) {
19558
+ return result + (plural(number) ? 'dni' : 'dní');
19559
+ } else {
19560
+ return result + 'dňami';
19561
+ }
19562
+ case 'M': // a month / in a month / a month ago
19563
+ return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';
19564
+ case 'MM': // 9 months / in 9 months / 9 months ago
19565
+ if (withoutSuffix || isFuture) {
19566
+ return result + (plural(number) ? 'mesiace' : 'mesiacov');
19567
+ } else {
19568
+ return result + 'mesiacmi';
19569
+ }
19570
+ case 'y': // a year / in a year / a year ago
19571
+ return withoutSuffix || isFuture ? 'rok' : 'rokom';
19572
+ case 'yy': // 9 years / in 9 years / 9 years ago
19573
+ if (withoutSuffix || isFuture) {
19574
+ return result + (plural(number) ? 'roky' : 'rokov');
19575
+ } else {
19576
+ return result + 'rokmi';
19577
+ }
19578
+ }
19579
+ }
19580
+
19581
+ var sk = moment.defineLocale('sk', {
19582
+ months: months,
19583
+ monthsShort: monthsShort,
19584
+ weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
19585
+ weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),
19586
+ weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),
19587
+ longDateFormat: {
19588
+ LT: 'H:mm',
19589
+ LTS: 'H:mm:ss',
19590
+ L: 'DD.MM.YYYY',
19591
+ LL: 'D. MMMM YYYY',
19592
+ LLL: 'D. MMMM YYYY H:mm',
19593
+ LLLL: 'dddd D. MMMM YYYY H:mm',
19594
+ },
19595
+ calendar: {
19596
+ sameDay: '[dnes o] LT',
19597
+ nextDay: '[zajtra o] LT',
19598
+ nextWeek: function () {
19599
+ switch (this.day()) {
19600
+ case 0:
19601
+ return '[v nedeľu o] LT';
19602
+ case 1:
19603
+ case 2:
19604
+ return '[v] dddd [o] LT';
19605
+ case 3:
19606
+ return '[v stredu o] LT';
19607
+ case 4:
19608
+ return '[vo štvrtok o] LT';
19609
+ case 5:
19610
+ return '[v piatok o] LT';
19611
+ case 6:
19612
+ return '[v sobotu o] LT';
19613
+ }
19614
+ },
19615
+ lastDay: '[včera o] LT',
19616
+ lastWeek: function () {
19617
+ switch (this.day()) {
19618
+ case 0:
19619
+ return '[minulú nedeľu o] LT';
19620
+ case 1:
19621
+ case 2:
19622
+ return '[minulý] dddd [o] LT';
19623
+ case 3:
19624
+ return '[minulú stredu o] LT';
19625
+ case 4:
19626
+ case 5:
19627
+ return '[minulý] dddd [o] LT';
19628
+ case 6:
19629
+ return '[minulú sobotu o] LT';
19630
+ }
19631
+ },
19632
+ sameElse: 'L',
19633
+ },
19634
+ relativeTime: {
19635
+ future: 'za %s',
19636
+ past: 'pred %s',
19637
+ s: translate,
19638
+ ss: translate,
19639
+ m: translate,
19640
+ mm: translate,
19641
+ h: translate,
19642
+ hh: translate,
19643
+ d: translate,
19644
+ dd: translate,
19645
+ M: translate,
19646
+ MM: translate,
19647
+ y: translate,
19648
+ yy: translate,
19649
+ },
19650
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
19651
+ ordinal: '%d.',
19652
+ week: {
19653
+ dow: 1, // Monday is the first day of the week.
19654
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
19655
+ },
19656
+ });
19657
+
19658
+ return sk;
19659
+
19660
+ })));
19661
+
19662
+
19663
+ /***/ }),
19664
+ /* 174 */
19665
+ /***/ (function(module, exports, __webpack_require__) {
19666
+
19667
+ //! moment.js locale configuration
19668
+ //! locale : Slovenian [sl]
19669
+ //! author : Robert Sedovšek : https://github.com/sedovsek
19670
+
19671
+ ;(function (global, factory) {
19672
+ true ? factory(__webpack_require__(0)) :
19673
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19674
+ factory(global.moment)
19675
+ }(this, (function (moment) { 'use strict';
19676
+
19677
+ //! moment.js locale configuration
19678
+
19679
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
19680
+ var result = number + ' ';
19681
+ switch (key) {
19682
+ case 's':
19683
+ return withoutSuffix || isFuture
19684
+ ? 'nekaj sekund'
19685
+ : 'nekaj sekundami';
19686
+ case 'ss':
19687
+ if (number === 1) {
19688
+ result += withoutSuffix ? 'sekundo' : 'sekundi';
19689
+ } else if (number === 2) {
19690
+ result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
19691
+ } else if (number < 5) {
19692
+ result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
19693
+ } else {
19694
+ result += 'sekund';
19695
+ }
19696
+ return result;
19697
+ case 'm':
19698
+ return withoutSuffix ? 'ena minuta' : 'eno minuto';
19699
+ case 'mm':
19700
+ if (number === 1) {
19701
+ result += withoutSuffix ? 'minuta' : 'minuto';
19702
+ } else if (number === 2) {
19703
+ result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
19704
+ } else if (number < 5) {
19705
+ result += withoutSuffix || isFuture ? 'minute' : 'minutami';
19706
+ } else {
19707
+ result += withoutSuffix || isFuture ? 'minut' : 'minutami';
19708
+ }
19709
+ return result;
19710
+ case 'h':
19711
+ return withoutSuffix ? 'ena ura' : 'eno uro';
19712
+ case 'hh':
19713
+ if (number === 1) {
19714
+ result += withoutSuffix ? 'ura' : 'uro';
19715
+ } else if (number === 2) {
19716
+ result += withoutSuffix || isFuture ? 'uri' : 'urama';
19717
+ } else if (number < 5) {
19718
+ result += withoutSuffix || isFuture ? 'ure' : 'urami';
19719
+ } else {
19720
+ result += withoutSuffix || isFuture ? 'ur' : 'urami';
19721
+ }
19722
+ return result;
19723
+ case 'd':
19724
+ return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
19725
+ case 'dd':
19726
+ if (number === 1) {
19727
+ result += withoutSuffix || isFuture ? 'dan' : 'dnem';
19728
+ } else if (number === 2) {
19729
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
19730
+ } else {
19731
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
19732
+ }
19733
+ return result;
19734
+ case 'M':
19735
+ return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
19736
+ case 'MM':
19737
+ if (number === 1) {
19738
+ result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
19739
+ } else if (number === 2) {
19740
+ result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
19741
+ } else if (number < 5) {
19742
+ result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
19743
+ } else {
19744
+ result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
19745
+ }
19746
+ return result;
19747
+ case 'y':
19748
+ return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
19749
+ case 'yy':
19750
+ if (number === 1) {
19751
+ result += withoutSuffix || isFuture ? 'leto' : 'letom';
19752
+ } else if (number === 2) {
19753
+ result += withoutSuffix || isFuture ? 'leti' : 'letoma';
19754
+ } else if (number < 5) {
19755
+ result += withoutSuffix || isFuture ? 'leta' : 'leti';
19756
+ } else {
19757
+ result += withoutSuffix || isFuture ? 'let' : 'leti';
19758
+ }
19759
+ return result;
19760
+ }
19761
+ }
19762
+
19763
+ var sl = moment.defineLocale('sl', {
19764
+ months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(
19765
+ '_'
19766
+ ),
19767
+ monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(
19768
+ '_'
19769
+ ),
19770
+ monthsParseExact: true,
19771
+ weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
19772
+ weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
19773
+ weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
19774
+ weekdaysParseExact: true,
19775
+ longDateFormat: {
19776
+ LT: 'H:mm',
19777
+ LTS: 'H:mm:ss',
19778
+ L: 'DD. MM. YYYY',
19779
+ LL: 'D. MMMM YYYY',
19780
+ LLL: 'D. MMMM YYYY H:mm',
19781
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
19782
+ },
19783
+ calendar: {
19784
+ sameDay: '[danes ob] LT',
19785
+ nextDay: '[jutri ob] LT',
19786
+
19787
+ nextWeek: function () {
19788
+ switch (this.day()) {
19789
+ case 0:
19790
+ return '[v] [nedeljo] [ob] LT';
19791
+ case 3:
19792
+ return '[v] [sredo] [ob] LT';
19793
+ case 6:
19794
+ return '[v] [soboto] [ob] LT';
19795
+ case 1:
19796
+ case 2:
19797
+ case 4:
19798
+ case 5:
19799
+ return '[v] dddd [ob] LT';
19800
+ }
19801
+ },
19802
+ lastDay: '[včeraj ob] LT',
19803
+ lastWeek: function () {
19804
+ switch (this.day()) {
19805
+ case 0:
19806
+ return '[prejšnjo] [nedeljo] [ob] LT';
19807
+ case 3:
19808
+ return '[prejšnjo] [sredo] [ob] LT';
19809
+ case 6:
19810
+ return '[prejšnjo] [soboto] [ob] LT';
19811
+ case 1:
19812
+ case 2:
19813
+ case 4:
19814
+ case 5:
19815
+ return '[prejšnji] dddd [ob] LT';
19816
+ }
19817
+ },
19818
+ sameElse: 'L',
19819
+ },
19820
+ relativeTime: {
19821
+ future: 'čez %s',
19822
+ past: 'pred %s',
19823
+ s: processRelativeTime,
19824
+ ss: processRelativeTime,
19825
+ m: processRelativeTime,
19826
+ mm: processRelativeTime,
19827
+ h: processRelativeTime,
19828
+ hh: processRelativeTime,
19829
+ d: processRelativeTime,
19830
+ dd: processRelativeTime,
19831
+ M: processRelativeTime,
19832
+ MM: processRelativeTime,
19833
+ y: processRelativeTime,
19834
+ yy: processRelativeTime,
19835
+ },
19836
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
19837
+ ordinal: '%d.',
19838
+ week: {
19839
+ dow: 1, // Monday is the first day of the week.
19840
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
19841
+ },
19842
+ });
19843
+
19844
+ return sl;
19845
+
19846
+ })));
19847
+
19848
+
19849
+ /***/ }),
19850
+ /* 175 */
19851
+ /***/ (function(module, exports, __webpack_require__) {
19852
+
19853
+ //! moment.js locale configuration
19854
+ //! locale : Albanian [sq]
19855
+ //! author : Flakërim Ismani : https://github.com/flakerimi
19856
+ //! author : Menelion Elensúle : https://github.com/Oire
19857
+ //! author : Oerd Cukalla : https://github.com/oerd
19858
+
19859
+ ;(function (global, factory) {
19860
+ true ? factory(__webpack_require__(0)) :
19861
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19862
+ factory(global.moment)
19863
+ }(this, (function (moment) { 'use strict';
19864
+
19865
+ //! moment.js locale configuration
19866
+
19867
+ var sq = moment.defineLocale('sq', {
19868
+ months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(
19869
+ '_'
19870
+ ),
19871
+ monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
19872
+ weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(
19873
+ '_'
19874
+ ),
19875
+ weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
19876
+ weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),
19877
+ weekdaysParseExact: true,
19878
+ meridiemParse: /PD|MD/,
19879
+ isPM: function (input) {
19880
+ return input.charAt(0) === 'M';
19881
+ },
19882
+ meridiem: function (hours, minutes, isLower) {
19883
+ return hours < 12 ? 'PD' : 'MD';
19884
+ },
19885
+ longDateFormat: {
19886
+ LT: 'HH:mm',
19887
+ LTS: 'HH:mm:ss',
19888
+ L: 'DD/MM/YYYY',
19889
+ LL: 'D MMMM YYYY',
19890
+ LLL: 'D MMMM YYYY HH:mm',
19891
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
19892
+ },
19893
+ calendar: {
19894
+ sameDay: '[Sot në] LT',
19895
+ nextDay: '[Nesër në] LT',
19896
+ nextWeek: 'dddd [në] LT',
19897
+ lastDay: '[Dje në] LT',
19898
+ lastWeek: 'dddd [e kaluar në] LT',
19899
+ sameElse: 'L',
19900
+ },
19901
+ relativeTime: {
19902
+ future: 'në %s',
19903
+ past: '%s më parë',
19904
+ s: 'disa sekonda',
19905
+ ss: '%d sekonda',
19906
+ m: 'një minutë',
19907
+ mm: '%d minuta',
19908
+ h: 'një orë',
19909
+ hh: '%d orë',
19910
+ d: 'një ditë',
19911
+ dd: '%d ditë',
19912
+ M: 'një muaj',
19913
+ MM: '%d muaj',
19914
+ y: 'një vit',
19915
+ yy: '%d vite',
19916
+ },
19917
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
19918
+ ordinal: '%d.',
19919
+ week: {
19920
+ dow: 1, // Monday is the first day of the week.
19921
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
19922
+ },
19923
+ });
19924
+
19925
+ return sq;
19926
+
19927
+ })));
19928
+
19929
+
19930
+ /***/ }),
19931
+ /* 176 */
19932
+ /***/ (function(module, exports, __webpack_require__) {
19933
+
19934
+ //! moment.js locale configuration
19935
+ //! locale : Serbian [sr]
19936
+ //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
19937
+
19938
+ ;(function (global, factory) {
19939
+ true ? factory(__webpack_require__(0)) :
19940
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
19941
+ factory(global.moment)
19942
+ }(this, (function (moment) { 'use strict';
19943
+
19944
+ //! moment.js locale configuration
19945
+
19946
+ var translator = {
19947
+ words: {
19948
+ //Different grammatical cases
19949
+ ss: ['sekunda', 'sekunde', 'sekundi'],
19950
+ m: ['jedan minut', 'jedne minute'],
19951
+ mm: ['minut', 'minute', 'minuta'],
19952
+ h: ['jedan sat', 'jednog sata'],
19953
+ hh: ['sat', 'sata', 'sati'],
19954
+ dd: ['dan', 'dana', 'dana'],
19955
+ MM: ['mesec', 'meseca', 'meseci'],
19956
+ yy: ['godina', 'godine', 'godina'],
19957
+ },
19958
+ correctGrammaticalCase: function (number, wordKey) {
19959
+ return number === 1
19960
+ ? wordKey[0]
19961
+ : number >= 2 && number <= 4
19962
+ ? wordKey[1]
19963
+ : wordKey[2];
19964
+ },
19965
+ translate: function (number, withoutSuffix, key) {
19966
+ var wordKey = translator.words[key];
19967
+ if (key.length === 1) {
19968
+ return withoutSuffix ? wordKey[0] : wordKey[1];
19969
+ } else {
19970
+ return (
19971
+ number +
19972
+ ' ' +
19973
+ translator.correctGrammaticalCase(number, wordKey)
19974
+ );
19975
+ }
19976
+ },
19977
+ };
19978
+
19979
+ var sr = moment.defineLocale('sr', {
19980
+ months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(
19981
+ '_'
19982
+ ),
19983
+ monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(
19984
+ '_'
19985
+ ),
19986
+ monthsParseExact: true,
19987
+ weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(
19988
+ '_'
19989
+ ),
19990
+ weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
19991
+ weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
19992
+ weekdaysParseExact: true,
19993
+ longDateFormat: {
19994
+ LT: 'H:mm',
19995
+ LTS: 'H:mm:ss',
19996
+ L: 'DD.MM.YYYY',
19997
+ LL: 'D. MMMM YYYY',
19998
+ LLL: 'D. MMMM YYYY H:mm',
19999
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
20000
+ },
20001
+ calendar: {
20002
+ sameDay: '[danas u] LT',
20003
+ nextDay: '[sutra u] LT',
20004
+ nextWeek: function () {
20005
+ switch (this.day()) {
20006
+ case 0:
20007
+ return '[u] [nedelju] [u] LT';
20008
+ case 3:
20009
+ return '[u] [sredu] [u] LT';
20010
+ case 6:
20011
+ return '[u] [subotu] [u] LT';
20012
+ case 1:
20013
+ case 2:
20014
+ case 4:
20015
+ case 5:
20016
+ return '[u] dddd [u] LT';
20017
+ }
20018
+ },
20019
+ lastDay: '[juče u] LT',
20020
+ lastWeek: function () {
20021
+ var lastWeekDays = [
20022
+ '[prošle] [nedelje] [u] LT',
20023
+ '[prošlog] [ponedeljka] [u] LT',
20024
+ '[prošlog] [utorka] [u] LT',
20025
+ '[prošle] [srede] [u] LT',
20026
+ '[prošlog] [četvrtka] [u] LT',
20027
+ '[prošlog] [petka] [u] LT',
20028
+ '[prošle] [subote] [u] LT',
20029
+ ];
20030
+ return lastWeekDays[this.day()];
20031
+ },
20032
+ sameElse: 'L',
20033
+ },
20034
+ relativeTime: {
20035
+ future: 'za %s',
20036
+ past: 'pre %s',
20037
+ s: 'nekoliko sekundi',
20038
+ ss: translator.translate,
20039
+ m: translator.translate,
20040
+ mm: translator.translate,
20041
+ h: translator.translate,
20042
+ hh: translator.translate,
20043
+ d: 'dan',
20044
+ dd: translator.translate,
20045
+ M: 'mesec',
20046
+ MM: translator.translate,
20047
+ y: 'godinu',
20048
+ yy: translator.translate,
20049
+ },
20050
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
20051
+ ordinal: '%d.',
20052
+ week: {
20053
+ dow: 1, // Monday is the first day of the week.
20054
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
20055
+ },
20056
+ });
20057
+
20058
+ return sr;
20059
+
20060
+ })));
20061
+
20062
+
20063
+ /***/ }),
20064
+ /* 177 */
20065
+ /***/ (function(module, exports, __webpack_require__) {
20066
+
20067
+ //! moment.js locale configuration
20068
+ //! locale : Serbian Cyrillic [sr-cyrl]
20069
+ //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
20070
+
20071
+ ;(function (global, factory) {
20072
+ true ? factory(__webpack_require__(0)) :
20073
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20074
+ factory(global.moment)
20075
+ }(this, (function (moment) { 'use strict';
20076
+
20077
+ //! moment.js locale configuration
20078
+
20079
+ var translator = {
20080
+ words: {
20081
+ //Different grammatical cases
20082
+ ss: ['секунда', 'секунде', 'секунди'],
20083
+ m: ['један минут', 'једне минуте'],
20084
+ mm: ['минут', 'минуте', 'минута'],
20085
+ h: ['један сат', 'једног сата'],
20086
+ hh: ['сат', 'сата', 'сати'],
20087
+ dd: ['дан', 'дана', 'дана'],
20088
+ MM: ['месец', 'месеца', 'месеци'],
20089
+ yy: ['година', 'године', 'година'],
20090
+ },
20091
+ correctGrammaticalCase: function (number, wordKey) {
20092
+ return number === 1
20093
+ ? wordKey[0]
20094
+ : number >= 2 && number <= 4
20095
+ ? wordKey[1]
20096
+ : wordKey[2];
20097
+ },
20098
+ translate: function (number, withoutSuffix, key) {
20099
+ var wordKey = translator.words[key];
20100
+ if (key.length === 1) {
20101
+ return withoutSuffix ? wordKey[0] : wordKey[1];
20102
+ } else {
20103
+ return (
20104
+ number +
20105
+ ' ' +
20106
+ translator.correctGrammaticalCase(number, wordKey)
20107
+ );
20108
+ }
20109
+ },
20110
+ };
20111
+
20112
+ var srCyrl = moment.defineLocale('sr-cyrl', {
20113
+ months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(
20114
+ '_'
20115
+ ),
20116
+ monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(
20117
+ '_'
20118
+ ),
20119
+ monthsParseExact: true,
20120
+ weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
20121
+ weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
20122
+ weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
20123
+ weekdaysParseExact: true,
20124
+ longDateFormat: {
20125
+ LT: 'H:mm',
20126
+ LTS: 'H:mm:ss',
20127
+ L: 'DD.MM.YYYY',
20128
+ LL: 'D. MMMM YYYY',
20129
+ LLL: 'D. MMMM YYYY H:mm',
20130
+ LLLL: 'dddd, D. MMMM YYYY H:mm',
20131
+ },
20132
+ calendar: {
20133
+ sameDay: '[данас у] LT',
20134
+ nextDay: '[сутра у] LT',
20135
+ nextWeek: function () {
20136
+ switch (this.day()) {
20137
+ case 0:
20138
+ return '[у] [недељу] [у] LT';
20139
+ case 3:
20140
+ return '[у] [среду] [у] LT';
20141
+ case 6:
20142
+ return '[у] [суботу] [у] LT';
20143
+ case 1:
20144
+ case 2:
20145
+ case 4:
20146
+ case 5:
20147
+ return '[у] dddd [у] LT';
20148
+ }
20149
+ },
20150
+ lastDay: '[јуче у] LT',
20151
+ lastWeek: function () {
20152
+ var lastWeekDays = [
20153
+ '[прошле] [недеље] [у] LT',
20154
+ '[прошлог] [понедељка] [у] LT',
20155
+ '[прошлог] [уторка] [у] LT',
20156
+ '[прошле] [среде] [у] LT',
20157
+ '[прошлог] [четвртка] [у] LT',
20158
+ '[прошлог] [петка] [у] LT',
20159
+ '[прошле] [суботе] [у] LT',
20160
+ ];
20161
+ return lastWeekDays[this.day()];
20162
+ },
20163
+ sameElse: 'L',
20164
+ },
20165
+ relativeTime: {
20166
+ future: 'за %s',
20167
+ past: 'пре %s',
20168
+ s: 'неколико секунди',
20169
+ ss: translator.translate,
20170
+ m: translator.translate,
20171
+ mm: translator.translate,
20172
+ h: translator.translate,
20173
+ hh: translator.translate,
20174
+ d: 'дан',
20175
+ dd: translator.translate,
20176
+ M: 'месец',
20177
+ MM: translator.translate,
20178
+ y: 'годину',
20179
+ yy: translator.translate,
20180
+ },
20181
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
20182
+ ordinal: '%d.',
20183
+ week: {
20184
+ dow: 1, // Monday is the first day of the week.
20185
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
20186
+ },
20187
+ });
20188
+
20189
+ return srCyrl;
20190
+
20191
+ })));
20192
+
20193
+
20194
+ /***/ }),
20195
+ /* 178 */
20196
+ /***/ (function(module, exports, __webpack_require__) {
20197
+
20198
+ //! moment.js locale configuration
20199
+ //! locale : siSwati [ss]
20200
+ //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
20201
+
20202
+ ;(function (global, factory) {
20203
+ true ? factory(__webpack_require__(0)) :
20204
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20205
+ factory(global.moment)
20206
+ }(this, (function (moment) { 'use strict';
20207
+
20208
+ //! moment.js locale configuration
20209
+
20210
+ var ss = moment.defineLocale('ss', {
20211
+ months: "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split(
20212
+ '_'
20213
+ ),
20214
+ monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
20215
+ weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(
20216
+ '_'
20217
+ ),
20218
+ weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
20219
+ weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
20220
+ weekdaysParseExact: true,
20221
+ longDateFormat: {
20222
+ LT: 'h:mm A',
20223
+ LTS: 'h:mm:ss A',
20224
+ L: 'DD/MM/YYYY',
20225
+ LL: 'D MMMM YYYY',
20226
+ LLL: 'D MMMM YYYY h:mm A',
20227
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
20228
+ },
20229
+ calendar: {
20230
+ sameDay: '[Namuhla nga] LT',
20231
+ nextDay: '[Kusasa nga] LT',
20232
+ nextWeek: 'dddd [nga] LT',
20233
+ lastDay: '[Itolo nga] LT',
20234
+ lastWeek: 'dddd [leliphelile] [nga] LT',
20235
+ sameElse: 'L',
20236
+ },
20237
+ relativeTime: {
20238
+ future: 'nga %s',
20239
+ past: 'wenteka nga %s',
20240
+ s: 'emizuzwana lomcane',
20241
+ ss: '%d mzuzwana',
20242
+ m: 'umzuzu',
20243
+ mm: '%d emizuzu',
20244
+ h: 'lihora',
20245
+ hh: '%d emahora',
20246
+ d: 'lilanga',
20247
+ dd: '%d emalanga',
20248
+ M: 'inyanga',
20249
+ MM: '%d tinyanga',
20250
+ y: 'umnyaka',
20251
+ yy: '%d iminyaka',
20252
+ },
20253
+ meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
20254
+ meridiem: function (hours, minutes, isLower) {
20255
+ if (hours < 11) {
20256
+ return 'ekuseni';
20257
+ } else if (hours < 15) {
20258
+ return 'emini';
20259
+ } else if (hours < 19) {
20260
+ return 'entsambama';
20261
+ } else {
20262
+ return 'ebusuku';
20263
+ }
20264
+ },
20265
+ meridiemHour: function (hour, meridiem) {
20266
+ if (hour === 12) {
20267
+ hour = 0;
20268
+ }
20269
+ if (meridiem === 'ekuseni') {
20270
+ return hour;
20271
+ } else if (meridiem === 'emini') {
20272
+ return hour >= 11 ? hour : hour + 12;
20273
+ } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
20274
+ if (hour === 0) {
20275
+ return 0;
20276
+ }
20277
+ return hour + 12;
20278
+ }
20279
+ },
20280
+ dayOfMonthOrdinalParse: /\d{1,2}/,
20281
+ ordinal: '%d',
20282
+ week: {
20283
+ dow: 1, // Monday is the first day of the week.
20284
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
20285
+ },
20286
+ });
20287
+
20288
+ return ss;
20289
+
20290
+ })));
20291
+
20292
+
20293
+ /***/ }),
20294
+ /* 179 */
20295
+ /***/ (function(module, exports, __webpack_require__) {
20296
+
20297
+ //! moment.js locale configuration
20298
+ //! locale : Swedish [sv]
20299
+ //! author : Jens Alm : https://github.com/ulmus
20300
+
20301
+ ;(function (global, factory) {
20302
+ true ? factory(__webpack_require__(0)) :
20303
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20304
+ factory(global.moment)
20305
+ }(this, (function (moment) { 'use strict';
20306
+
20307
+ //! moment.js locale configuration
20308
+
20309
+ var sv = moment.defineLocale('sv', {
20310
+ months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(
20311
+ '_'
20312
+ ),
20313
+ monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
20314
+ weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
20315
+ weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
20316
+ weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
20317
+ longDateFormat: {
20318
+ LT: 'HH:mm',
20319
+ LTS: 'HH:mm:ss',
20320
+ L: 'YYYY-MM-DD',
20321
+ LL: 'D MMMM YYYY',
20322
+ LLL: 'D MMMM YYYY [kl.] HH:mm',
20323
+ LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
20324
+ lll: 'D MMM YYYY HH:mm',
20325
+ llll: 'ddd D MMM YYYY HH:mm',
20326
+ },
20327
+ calendar: {
20328
+ sameDay: '[Idag] LT',
20329
+ nextDay: '[Imorgon] LT',
20330
+ lastDay: '[Igår] LT',
20331
+ nextWeek: '[På] dddd LT',
20332
+ lastWeek: '[I] dddd[s] LT',
20333
+ sameElse: 'L',
20334
+ },
20335
+ relativeTime: {
20336
+ future: 'om %s',
20337
+ past: 'för %s sedan',
20338
+ s: 'några sekunder',
20339
+ ss: '%d sekunder',
20340
+ m: 'en minut',
20341
+ mm: '%d minuter',
20342
+ h: 'en timme',
20343
+ hh: '%d timmar',
20344
+ d: 'en dag',
20345
+ dd: '%d dagar',
20346
+ M: 'en månad',
20347
+ MM: '%d månader',
20348
+ y: 'ett år',
20349
+ yy: '%d år',
20350
+ },
20351
+ dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
20352
+ ordinal: function (number) {
20353
+ var b = number % 10,
20354
+ output =
20355
+ ~~((number % 100) / 10) === 1
20356
+ ? ':e'
20357
+ : b === 1
20358
+ ? ':a'
20359
+ : b === 2
20360
+ ? ':a'
20361
+ : b === 3
20362
+ ? ':e'
20363
+ : ':e';
20364
+ return number + output;
20365
+ },
20366
+ week: {
20367
+ dow: 1, // Monday is the first day of the week.
20368
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
20369
+ },
20370
+ });
20371
+
20372
+ return sv;
20373
+
20374
+ })));
20375
+
20376
+
20377
+ /***/ }),
20378
+ /* 180 */
20379
+ /***/ (function(module, exports, __webpack_require__) {
20380
+
20381
+ //! moment.js locale configuration
20382
+ //! locale : Swahili [sw]
20383
+ //! author : Fahad Kassim : https://github.com/fadsel
20384
+
20385
+ ;(function (global, factory) {
20386
+ true ? factory(__webpack_require__(0)) :
20387
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20388
+ factory(global.moment)
20389
+ }(this, (function (moment) { 'use strict';
20390
+
20391
+ //! moment.js locale configuration
20392
+
20393
+ var sw = moment.defineLocale('sw', {
20394
+ months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(
20395
+ '_'
20396
+ ),
20397
+ monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
20398
+ weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(
20399
+ '_'
20400
+ ),
20401
+ weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
20402
+ weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
20403
+ weekdaysParseExact: true,
20404
+ longDateFormat: {
20405
+ LT: 'hh:mm A',
20406
+ LTS: 'HH:mm:ss',
20407
+ L: 'DD.MM.YYYY',
20408
+ LL: 'D MMMM YYYY',
20409
+ LLL: 'D MMMM YYYY HH:mm',
20410
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
20411
+ },
20412
+ calendar: {
20413
+ sameDay: '[leo saa] LT',
20414
+ nextDay: '[kesho saa] LT',
20415
+ nextWeek: '[wiki ijayo] dddd [saat] LT',
20416
+ lastDay: '[jana] LT',
20417
+ lastWeek: '[wiki iliyopita] dddd [saat] LT',
20418
+ sameElse: 'L',
20419
+ },
20420
+ relativeTime: {
20421
+ future: '%s baadaye',
20422
+ past: 'tokea %s',
20423
+ s: 'hivi punde',
20424
+ ss: 'sekunde %d',
20425
+ m: 'dakika moja',
20426
+ mm: 'dakika %d',
20427
+ h: 'saa limoja',
20428
+ hh: 'masaa %d',
20429
+ d: 'siku moja',
20430
+ dd: 'siku %d',
20431
+ M: 'mwezi mmoja',
20432
+ MM: 'miezi %d',
20433
+ y: 'mwaka mmoja',
20434
+ yy: 'miaka %d',
20435
+ },
20436
+ week: {
20437
+ dow: 1, // Monday is the first day of the week.
20438
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
20439
+ },
20440
+ });
20441
+
20442
+ return sw;
20443
+
20444
+ })));
20445
+
20446
+
20447
+ /***/ }),
20448
+ /* 181 */
20449
+ /***/ (function(module, exports, __webpack_require__) {
20450
+
20451
+ //! moment.js locale configuration
20452
+ //! locale : Tamil [ta]
20453
+ //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
20454
+
20455
+ ;(function (global, factory) {
20456
+ true ? factory(__webpack_require__(0)) :
20457
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20458
+ factory(global.moment)
20459
+ }(this, (function (moment) { 'use strict';
20460
+
20461
+ //! moment.js locale configuration
20462
+
20463
+ var symbolMap = {
20464
+ '1': '௧',
20465
+ '2': '௨',
20466
+ '3': '௩',
20467
+ '4': '௪',
20468
+ '5': '௫',
20469
+ '6': '௬',
20470
+ '7': '௭',
20471
+ '8': '௮',
20472
+ '9': '௯',
20473
+ '0': '௦',
20474
+ },
20475
+ numberMap = {
20476
+ '௧': '1',
20477
+ '௨': '2',
20478
+ '௩': '3',
20479
+ '௪': '4',
20480
+ '௫': '5',
20481
+ '௬': '6',
20482
+ '௭': '7',
20483
+ '௮': '8',
20484
+ '௯': '9',
20485
+ '௦': '0',
20486
+ };
20487
+
20488
+ var ta = moment.defineLocale('ta', {
20489
+ months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
20490
+ '_'
20491
+ ),
20492
+ monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(
20493
+ '_'
20494
+ ),
20495
+ weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(
20496
+ '_'
20497
+ ),
20498
+ weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(
20499
+ '_'
20500
+ ),
20501
+ weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
20502
+ longDateFormat: {
20503
+ LT: 'HH:mm',
20504
+ LTS: 'HH:mm:ss',
20505
+ L: 'DD/MM/YYYY',
20506
+ LL: 'D MMMM YYYY',
20507
+ LLL: 'D MMMM YYYY, HH:mm',
20508
+ LLLL: 'dddd, D MMMM YYYY, HH:mm',
20509
+ },
20510
+ calendar: {
20511
+ sameDay: '[இன்று] LT',
20512
+ nextDay: '[நாளை] LT',
20513
+ nextWeek: 'dddd, LT',
20514
+ lastDay: '[நேற்று] LT',
20515
+ lastWeek: '[கடந்த வாரம்] dddd, LT',
20516
+ sameElse: 'L',
20517
+ },
20518
+ relativeTime: {
20519
+ future: '%s இல்',
20520
+ past: '%s முன்',
20521
+ s: 'ஒரு சில விநாடிகள்',
20522
+ ss: '%d விநாடிகள்',
20523
+ m: 'ஒரு நிமிடம்',
20524
+ mm: '%d நிமிடங்கள்',
20525
+ h: 'ஒரு மணி நேரம்',
20526
+ hh: '%d மணி நேரம்',
20527
+ d: 'ஒரு நாள்',
20528
+ dd: '%d நாட்கள்',
20529
+ M: 'ஒரு மாதம்',
20530
+ MM: '%d மாதங்கள்',
20531
+ y: 'ஒரு வருடம்',
20532
+ yy: '%d ஆண்டுகள்',
20533
+ },
20534
+ dayOfMonthOrdinalParse: /\d{1,2}வது/,
20535
+ ordinal: function (number) {
20536
+ return number + 'வது';
20537
+ },
20538
+ preparse: function (string) {
20539
+ return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
20540
+ return numberMap[match];
20541
+ });
20542
+ },
20543
+ postformat: function (string) {
20544
+ return string.replace(/\d/g, function (match) {
20545
+ return symbolMap[match];
20546
+ });
20547
+ },
20548
+ // refer http://ta.wikipedia.org/s/1er1
20549
+ meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
20550
+ meridiem: function (hour, minute, isLower) {
20551
+ if (hour < 2) {
20552
+ return ' யாமம்';
20553
+ } else if (hour < 6) {
20554
+ return ' வைகறை'; // வைகறை
20555
+ } else if (hour < 10) {
20556
+ return ' காலை'; // காலை
20557
+ } else if (hour < 14) {
20558
+ return ' நண்பகல்'; // நண்பகல்
20559
+ } else if (hour < 18) {
20560
+ return ' எற்பாடு'; // எற்பாடு
20561
+ } else if (hour < 22) {
20562
+ return ' மாலை'; // மாலை
20563
+ } else {
20564
+ return ' யாமம்';
20565
+ }
20566
+ },
20567
+ meridiemHour: function (hour, meridiem) {
20568
+ if (hour === 12) {
20569
+ hour = 0;
20570
+ }
20571
+ if (meridiem === 'யாமம்') {
20572
+ return hour < 2 ? hour : hour + 12;
20573
+ } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
20574
+ return hour;
20575
+ } else if (meridiem === 'நண்பகல்') {
20576
+ return hour >= 10 ? hour : hour + 12;
20577
+ } else {
20578
+ return hour + 12;
20579
+ }
20580
+ },
20581
+ week: {
20582
+ dow: 0, // Sunday is the first day of the week.
20583
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
20584
+ },
20585
+ });
20586
+
20587
+ return ta;
20588
+
20589
+ })));
20590
+
20591
+
20592
+ /***/ }),
20593
+ /* 182 */
20594
+ /***/ (function(module, exports, __webpack_require__) {
20595
+
20596
+ //! moment.js locale configuration
20597
+ //! locale : Telugu [te]
20598
+ //! author : Krishna Chaitanya Thota : https://github.com/kcthota
20599
+
20600
+ ;(function (global, factory) {
20601
+ true ? factory(__webpack_require__(0)) :
20602
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20603
+ factory(global.moment)
20604
+ }(this, (function (moment) { 'use strict';
20605
+
20606
+ //! moment.js locale configuration
20607
+
20608
+ var te = moment.defineLocale('te', {
20609
+ months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(
20610
+ '_'
20611
+ ),
20612
+ monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(
20613
+ '_'
20614
+ ),
20615
+ monthsParseExact: true,
20616
+ weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(
20617
+ '_'
20618
+ ),
20619
+ weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
20620
+ weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
20621
+ longDateFormat: {
20622
+ LT: 'A h:mm',
20623
+ LTS: 'A h:mm:ss',
20624
+ L: 'DD/MM/YYYY',
20625
+ LL: 'D MMMM YYYY',
20626
+ LLL: 'D MMMM YYYY, A h:mm',
20627
+ LLLL: 'dddd, D MMMM YYYY, A h:mm',
20628
+ },
20629
+ calendar: {
20630
+ sameDay: '[నేడు] LT',
20631
+ nextDay: '[రేపు] LT',
20632
+ nextWeek: 'dddd, LT',
20633
+ lastDay: '[నిన్న] LT',
20634
+ lastWeek: '[గత] dddd, LT',
20635
+ sameElse: 'L',
20636
+ },
20637
+ relativeTime: {
20638
+ future: '%s లో',
20639
+ past: '%s క్రితం',
20640
+ s: 'కొన్ని క్షణాలు',
20641
+ ss: '%d సెకన్లు',
20642
+ m: 'ఒక నిమిషం',
20643
+ mm: '%d నిమిషాలు',
20644
+ h: 'ఒక గంట',
20645
+ hh: '%d గంటలు',
20646
+ d: 'ఒక రోజు',
20647
+ dd: '%d రోజులు',
20648
+ M: 'ఒక నెల',
20649
+ MM: '%d నెలలు',
20650
+ y: 'ఒక సంవత్సరం',
20651
+ yy: '%d సంవత్సరాలు',
20652
+ },
20653
+ dayOfMonthOrdinalParse: /\d{1,2}వ/,
20654
+ ordinal: '%dవ',
20655
+ meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
20656
+ meridiemHour: function (hour, meridiem) {
20657
+ if (hour === 12) {
20658
+ hour = 0;
20659
+ }
20660
+ if (meridiem === 'రాత్రి') {
20661
+ return hour < 4 ? hour : hour + 12;
20662
+ } else if (meridiem === 'ఉదయం') {
20663
+ return hour;
20664
+ } else if (meridiem === 'మధ్యాహ్నం') {
20665
+ return hour >= 10 ? hour : hour + 12;
20666
+ } else if (meridiem === 'సాయంత్రం') {
20667
+ return hour + 12;
20668
+ }
20669
+ },
20670
+ meridiem: function (hour, minute, isLower) {
20671
+ if (hour < 4) {
20672
+ return 'రాత్రి';
20673
+ } else if (hour < 10) {
20674
+ return 'ఉదయం';
20675
+ } else if (hour < 17) {
20676
+ return 'మధ్యాహ్నం';
20677
+ } else if (hour < 20) {
20678
+ return 'సాయంత్రం';
20679
+ } else {
20680
+ return 'రాత్రి';
20681
+ }
20682
+ },
20683
+ week: {
20684
+ dow: 0, // Sunday is the first day of the week.
20685
+ doy: 6, // The week that contains Jan 6th is the first week of the year.
20686
+ },
20687
+ });
20688
+
20689
+ return te;
20690
+
20691
+ })));
20692
+
20693
+
20694
+ /***/ }),
20695
+ /* 183 */
20696
+ /***/ (function(module, exports, __webpack_require__) {
20697
+
20698
+ //! moment.js locale configuration
20699
+ //! locale : Tetun Dili (East Timor) [tet]
20700
+ //! author : Joshua Brooks : https://github.com/joshbrooks
20701
+ //! author : Onorio De J. Afonso : https://github.com/marobo
20702
+ //! author : Sonia Simoes : https://github.com/soniasimoes
20703
+
20704
+ ;(function (global, factory) {
20705
+ true ? factory(__webpack_require__(0)) :
20706
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20707
+ factory(global.moment)
20708
+ }(this, (function (moment) { 'use strict';
20709
+
20710
+ //! moment.js locale configuration
20711
+
20712
+ var tet = moment.defineLocale('tet', {
20713
+ months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(
20714
+ '_'
20715
+ ),
20716
+ monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
20717
+ weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
20718
+ weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
20719
+ weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
20720
+ longDateFormat: {
20721
+ LT: 'HH:mm',
20722
+ LTS: 'HH:mm:ss',
20723
+ L: 'DD/MM/YYYY',
20724
+ LL: 'D MMMM YYYY',
20725
+ LLL: 'D MMMM YYYY HH:mm',
20726
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
20727
+ },
20728
+ calendar: {
20729
+ sameDay: '[Ohin iha] LT',
20730
+ nextDay: '[Aban iha] LT',
20731
+ nextWeek: 'dddd [iha] LT',
20732
+ lastDay: '[Horiseik iha] LT',
20733
+ lastWeek: 'dddd [semana kotuk] [iha] LT',
20734
+ sameElse: 'L',
20735
+ },
20736
+ relativeTime: {
20737
+ future: 'iha %s',
20738
+ past: '%s liuba',
20739
+ s: 'segundu balun',
20740
+ ss: 'segundu %d',
20741
+ m: 'minutu ida',
20742
+ mm: 'minutu %d',
20743
+ h: 'oras ida',
20744
+ hh: 'oras %d',
20745
+ d: 'loron ida',
20746
+ dd: 'loron %d',
20747
+ M: 'fulan ida',
20748
+ MM: 'fulan %d',
20749
+ y: 'tinan ida',
20750
+ yy: 'tinan %d',
20751
+ },
20752
+ dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
20753
+ ordinal: function (number) {
20754
+ var b = number % 10,
20755
+ output =
20756
+ ~~((number % 100) / 10) === 1
20757
+ ? 'th'
20758
+ : b === 1
20759
+ ? 'st'
20760
+ : b === 2
20761
+ ? 'nd'
20762
+ : b === 3
20763
+ ? 'rd'
20764
+ : 'th';
20765
+ return number + output;
20766
+ },
20767
+ week: {
20768
+ dow: 1, // Monday is the first day of the week.
20769
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
20770
+ },
20771
+ });
20772
+
20773
+ return tet;
20774
+
20775
+ })));
20776
+
20777
+
20778
+ /***/ }),
20779
+ /* 184 */
20780
+ /***/ (function(module, exports, __webpack_require__) {
20781
+
20782
+ //! moment.js locale configuration
20783
+ //! locale : Tajik [tg]
20784
+ //! author : Orif N. Jr. : https://github.com/orif-jr
20785
+
20786
+ ;(function (global, factory) {
20787
+ true ? factory(__webpack_require__(0)) :
20788
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20789
+ factory(global.moment)
20790
+ }(this, (function (moment) { 'use strict';
20791
+
20792
+ //! moment.js locale configuration
20793
+
20794
+ var suffixes = {
20795
+ 0: '-ум',
20796
+ 1: '-ум',
20797
+ 2: '-юм',
20798
+ 3: '-юм',
20799
+ 4: '-ум',
20800
+ 5: '-ум',
20801
+ 6: '-ум',
20802
+ 7: '-ум',
20803
+ 8: '-ум',
20804
+ 9: '-ум',
20805
+ 10: '-ум',
20806
+ 12: '-ум',
20807
+ 13: '-ум',
20808
+ 20: '-ум',
20809
+ 30: '-юм',
20810
+ 40: '-ум',
20811
+ 50: '-ум',
20812
+ 60: '-ум',
20813
+ 70: '-ум',
20814
+ 80: '-ум',
20815
+ 90: '-ум',
20816
+ 100: '-ум',
20817
+ };
20818
+
20819
+ var tg = moment.defineLocale('tg', {
20820
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
20821
+ '_'
20822
+ ),
20823
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
20824
+ weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(
20825
+ '_'
20826
+ ),
20827
+ weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
20828
+ weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
20829
+ longDateFormat: {
20830
+ LT: 'HH:mm',
20831
+ LTS: 'HH:mm:ss',
20832
+ L: 'DD/MM/YYYY',
20833
+ LL: 'D MMMM YYYY',
20834
+ LLL: 'D MMMM YYYY HH:mm',
20835
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
20836
+ },
20837
+ calendar: {
20838
+ sameDay: '[Имрӯз соати] LT',
20839
+ nextDay: '[Пагоҳ соати] LT',
20840
+ lastDay: '[Дирӯз соати] LT',
20841
+ nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',
20842
+ lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',
20843
+ sameElse: 'L',
20844
+ },
20845
+ relativeTime: {
20846
+ future: 'баъди %s',
20847
+ past: '%s пеш',
20848
+ s: 'якчанд сония',
20849
+ m: 'як дақиқа',
20850
+ mm: '%d дақиқа',
20851
+ h: 'як соат',
20852
+ hh: '%d соат',
20853
+ d: 'як рӯз',
20854
+ dd: '%d рӯз',
20855
+ M: 'як моҳ',
20856
+ MM: '%d моҳ',
20857
+ y: 'як сол',
20858
+ yy: '%d сол',
20859
+ },
20860
+ meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
20861
+ meridiemHour: function (hour, meridiem) {
20862
+ if (hour === 12) {
20863
+ hour = 0;
20864
+ }
20865
+ if (meridiem === 'шаб') {
20866
+ return hour < 4 ? hour : hour + 12;
20867
+ } else if (meridiem === 'субҳ') {
20868
+ return hour;
20869
+ } else if (meridiem === 'рӯз') {
20870
+ return hour >= 11 ? hour : hour + 12;
20871
+ } else if (meridiem === 'бегоҳ') {
20872
+ return hour + 12;
20873
+ }
20874
+ },
20875
+ meridiem: function (hour, minute, isLower) {
20876
+ if (hour < 4) {
20877
+ return 'шаб';
20878
+ } else if (hour < 11) {
20879
+ return 'субҳ';
20880
+ } else if (hour < 16) {
20881
+ return 'рӯз';
20882
+ } else if (hour < 19) {
20883
+ return 'бегоҳ';
20884
+ } else {
20885
+ return 'шаб';
20886
+ }
20887
+ },
20888
+ dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
20889
+ ordinal: function (number) {
20890
+ var a = number % 10,
20891
+ b = number >= 100 ? 100 : null;
20892
+ return number + (suffixes[number] || suffixes[a] || suffixes[b]);
20893
+ },
20894
+ week: {
20895
+ dow: 1, // Monday is the first day of the week.
20896
+ doy: 7, // The week that contains Jan 1th is the first week of the year.
20897
+ },
20898
+ });
20899
+
20900
+ return tg;
20901
+
20902
+ })));
20903
+
20904
+
20905
+ /***/ }),
20906
+ /* 185 */
20907
+ /***/ (function(module, exports, __webpack_require__) {
20908
+
20909
+ //! moment.js locale configuration
20910
+ //! locale : Thai [th]
20911
+ //! author : Kridsada Thanabulpong : https://github.com/sirn
20912
+
20913
+ ;(function (global, factory) {
20914
+ true ? factory(__webpack_require__(0)) :
20915
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20916
+ factory(global.moment)
20917
+ }(this, (function (moment) { 'use strict';
20918
+
20919
+ //! moment.js locale configuration
20920
+
20921
+ var th = moment.defineLocale('th', {
20922
+ months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(
20923
+ '_'
20924
+ ),
20925
+ monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(
20926
+ '_'
20927
+ ),
20928
+ monthsParseExact: true,
20929
+ weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
20930
+ weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
20931
+ weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
20932
+ weekdaysParseExact: true,
20933
+ longDateFormat: {
20934
+ LT: 'H:mm',
20935
+ LTS: 'H:mm:ss',
20936
+ L: 'DD/MM/YYYY',
20937
+ LL: 'D MMMM YYYY',
20938
+ LLL: 'D MMMM YYYY เวลา H:mm',
20939
+ LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',
20940
+ },
20941
+ meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
20942
+ isPM: function (input) {
20943
+ return input === 'หลังเที่ยง';
20944
+ },
20945
+ meridiem: function (hour, minute, isLower) {
20946
+ if (hour < 12) {
20947
+ return 'ก่อนเที่ยง';
20948
+ } else {
20949
+ return 'หลังเที่ยง';
20950
+ }
20951
+ },
20952
+ calendar: {
20953
+ sameDay: '[วันนี้ เวลา] LT',
20954
+ nextDay: '[พรุ่งนี้ เวลา] LT',
20955
+ nextWeek: 'dddd[หน้า เวลา] LT',
20956
+ lastDay: '[เมื่อวานนี้ เวลา] LT',
20957
+ lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',
20958
+ sameElse: 'L',
20959
+ },
20960
+ relativeTime: {
20961
+ future: 'อีก %s',
20962
+ past: '%sที่แล้ว',
20963
+ s: 'ไม่กี่วินาที',
20964
+ ss: '%d วินาที',
20965
+ m: '1 นาที',
20966
+ mm: '%d นาที',
20967
+ h: '1 ชั่วโมง',
20968
+ hh: '%d ชั่วโมง',
20969
+ d: '1 วัน',
20970
+ dd: '%d วัน',
20971
+ M: '1 เดือน',
20972
+ MM: '%d เดือน',
20973
+ y: '1 ปี',
20974
+ yy: '%d ปี',
20975
+ },
20976
+ });
20977
+
20978
+ return th;
20979
+
20980
+ })));
20981
+
20982
+
20983
+ /***/ }),
20984
+ /* 186 */
20985
+ /***/ (function(module, exports, __webpack_require__) {
20986
+
20987
+ //! moment.js locale configuration
20988
+ //! locale : Turkmen [trk]
20989
+ //! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy
20990
+
20991
+ ;(function (global, factory) {
20992
+ true ? factory(__webpack_require__(0)) :
20993
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
20994
+ factory(global.moment)
20995
+ }(this, (function (moment) { 'use strict';
20996
+
20997
+ //! moment.js locale configuration
20998
+
20999
+ var suffixes = {
21000
+ 1: "'inji",
21001
+ 5: "'inji",
21002
+ 8: "'inji",
21003
+ 70: "'inji",
21004
+ 80: "'inji",
21005
+ 2: "'nji",
21006
+ 7: "'nji",
21007
+ 20: "'nji",
21008
+ 50: "'nji",
21009
+ 3: "'ünji",
21010
+ 4: "'ünji",
21011
+ 100: "'ünji",
21012
+ 6: "'njy",
21013
+ 9: "'unjy",
21014
+ 10: "'unjy",
21015
+ 30: "'unjy",
21016
+ 60: "'ynjy",
21017
+ 90: "'ynjy",
21018
+ };
21019
+
21020
+ var tk = moment.defineLocale('tk', {
21021
+ months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(
21022
+ '_'
21023
+ ),
21024
+ monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),
21025
+ weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(
21026
+ '_'
21027
+ ),
21028
+ weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),
21029
+ weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),
21030
+ longDateFormat: {
21031
+ LT: 'HH:mm',
21032
+ LTS: 'HH:mm:ss',
21033
+ L: 'DD.MM.YYYY',
21034
+ LL: 'D MMMM YYYY',
21035
+ LLL: 'D MMMM YYYY HH:mm',
21036
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
21037
+ },
21038
+ calendar: {
21039
+ sameDay: '[bugün sagat] LT',
21040
+ nextDay: '[ertir sagat] LT',
21041
+ nextWeek: '[indiki] dddd [sagat] LT',
21042
+ lastDay: '[düýn] LT',
21043
+ lastWeek: '[geçen] dddd [sagat] LT',
21044
+ sameElse: 'L',
21045
+ },
21046
+ relativeTime: {
21047
+ future: '%s soň',
21048
+ past: '%s öň',
21049
+ s: 'birnäçe sekunt',
21050
+ m: 'bir minut',
21051
+ mm: '%d minut',
21052
+ h: 'bir sagat',
21053
+ hh: '%d sagat',
21054
+ d: 'bir gün',
21055
+ dd: '%d gün',
21056
+ M: 'bir aý',
21057
+ MM: '%d aý',
21058
+ y: 'bir ýyl',
21059
+ yy: '%d ýyl',
21060
+ },
21061
+ ordinal: function (number, period) {
21062
+ switch (period) {
21063
+ case 'd':
21064
+ case 'D':
21065
+ case 'Do':
21066
+ case 'DD':
21067
+ return number;
21068
+ default:
21069
+ if (number === 0) {
21070
+ // special case for zero
21071
+ return number + "'unjy";
21072
+ }
21073
+ var a = number % 10,
21074
+ b = (number % 100) - a,
21075
+ c = number >= 100 ? 100 : null;
21076
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
21077
+ }
21078
+ },
21079
+ week: {
21080
+ dow: 1, // Monday is the first day of the week.
21081
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
21082
+ },
21083
+ });
21084
+
21085
+ return tk;
21086
+
21087
+ })));
21088
+
21089
+
21090
+ /***/ }),
21091
+ /* 187 */
21092
+ /***/ (function(module, exports, __webpack_require__) {
21093
+
21094
+ //! moment.js locale configuration
21095
+ //! locale : Tagalog (Philippines) [tl-ph]
21096
+ //! author : Dan Hagman : https://github.com/hagmandan
21097
+
21098
+ ;(function (global, factory) {
21099
+ true ? factory(__webpack_require__(0)) :
21100
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21101
+ factory(global.moment)
21102
+ }(this, (function (moment) { 'use strict';
21103
+
21104
+ //! moment.js locale configuration
21105
+
21106
+ var tlPh = moment.defineLocale('tl-ph', {
21107
+ months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(
21108
+ '_'
21109
+ ),
21110
+ monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
21111
+ weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(
21112
+ '_'
21113
+ ),
21114
+ weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
21115
+ weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
21116
+ longDateFormat: {
21117
+ LT: 'HH:mm',
21118
+ LTS: 'HH:mm:ss',
21119
+ L: 'MM/D/YYYY',
21120
+ LL: 'MMMM D, YYYY',
21121
+ LLL: 'MMMM D, YYYY HH:mm',
21122
+ LLLL: 'dddd, MMMM DD, YYYY HH:mm',
21123
+ },
21124
+ calendar: {
21125
+ sameDay: 'LT [ngayong araw]',
21126
+ nextDay: '[Bukas ng] LT',
21127
+ nextWeek: 'LT [sa susunod na] dddd',
21128
+ lastDay: 'LT [kahapon]',
21129
+ lastWeek: 'LT [noong nakaraang] dddd',
21130
+ sameElse: 'L',
21131
+ },
21132
+ relativeTime: {
21133
+ future: 'sa loob ng %s',
21134
+ past: '%s ang nakalipas',
21135
+ s: 'ilang segundo',
21136
+ ss: '%d segundo',
21137
+ m: 'isang minuto',
21138
+ mm: '%d minuto',
21139
+ h: 'isang oras',
21140
+ hh: '%d oras',
21141
+ d: 'isang araw',
21142
+ dd: '%d araw',
21143
+ M: 'isang buwan',
21144
+ MM: '%d buwan',
21145
+ y: 'isang taon',
21146
+ yy: '%d taon',
21147
+ },
21148
+ dayOfMonthOrdinalParse: /\d{1,2}/,
21149
+ ordinal: function (number) {
21150
+ return number;
21151
+ },
21152
+ week: {
21153
+ dow: 1, // Monday is the first day of the week.
21154
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
21155
+ },
21156
+ });
21157
+
21158
+ return tlPh;
21159
+
21160
+ })));
21161
+
21162
+
21163
+ /***/ }),
21164
+ /* 188 */
21165
+ /***/ (function(module, exports, __webpack_require__) {
21166
+
21167
+ //! moment.js locale configuration
21168
+ //! locale : Klingon [tlh]
21169
+ //! author : Dominika Kruk : https://github.com/amaranthrose
21170
+
21171
+ ;(function (global, factory) {
21172
+ true ? factory(__webpack_require__(0)) :
21173
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21174
+ factory(global.moment)
21175
+ }(this, (function (moment) { 'use strict';
21176
+
21177
+ //! moment.js locale configuration
21178
+
21179
+ var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
21180
+
21181
+ function translateFuture(output) {
21182
+ var time = output;
21183
+ time =
21184
+ output.indexOf('jaj') !== -1
21185
+ ? time.slice(0, -3) + 'leS'
21186
+ : output.indexOf('jar') !== -1
21187
+ ? time.slice(0, -3) + 'waQ'
21188
+ : output.indexOf('DIS') !== -1
21189
+ ? time.slice(0, -3) + 'nem'
21190
+ : time + ' pIq';
21191
+ return time;
21192
+ }
21193
+
21194
+ function translatePast(output) {
21195
+ var time = output;
21196
+ time =
21197
+ output.indexOf('jaj') !== -1
21198
+ ? time.slice(0, -3) + 'Hu’'
21199
+ : output.indexOf('jar') !== -1
21200
+ ? time.slice(0, -3) + 'wen'
21201
+ : output.indexOf('DIS') !== -1
21202
+ ? time.slice(0, -3) + 'ben'
21203
+ : time + ' ret';
21204
+ return time;
21205
+ }
21206
+
21207
+ function translate(number, withoutSuffix, string, isFuture) {
21208
+ var numberNoun = numberAsNoun(number);
21209
+ switch (string) {
21210
+ case 'ss':
21211
+ return numberNoun + ' lup';
21212
+ case 'mm':
21213
+ return numberNoun + ' tup';
21214
+ case 'hh':
21215
+ return numberNoun + ' rep';
21216
+ case 'dd':
21217
+ return numberNoun + ' jaj';
21218
+ case 'MM':
21219
+ return numberNoun + ' jar';
21220
+ case 'yy':
21221
+ return numberNoun + ' DIS';
21222
+ }
21223
+ }
21224
+
21225
+ function numberAsNoun(number) {
21226
+ var hundred = Math.floor((number % 1000) / 100),
21227
+ ten = Math.floor((number % 100) / 10),
21228
+ one = number % 10,
21229
+ word = '';
21230
+ if (hundred > 0) {
21231
+ word += numbersNouns[hundred] + 'vatlh';
21232
+ }
21233
+ if (ten > 0) {
21234
+ word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';
21235
+ }
21236
+ if (one > 0) {
21237
+ word += (word !== '' ? ' ' : '') + numbersNouns[one];
21238
+ }
21239
+ return word === '' ? 'pagh' : word;
21240
+ }
21241
+
21242
+ var tlh = moment.defineLocale('tlh', {
21243
+ 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(
21244
+ '_'
21245
+ ),
21246
+ 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(
21247
+ '_'
21248
+ ),
21249
+ monthsParseExact: true,
21250
+ weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
21251
+ '_'
21252
+ ),
21253
+ weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
21254
+ '_'
21255
+ ),
21256
+ weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(
21257
+ '_'
21258
+ ),
21259
+ longDateFormat: {
21260
+ LT: 'HH:mm',
21261
+ LTS: 'HH:mm:ss',
21262
+ L: 'DD.MM.YYYY',
21263
+ LL: 'D MMMM YYYY',
21264
+ LLL: 'D MMMM YYYY HH:mm',
21265
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
21266
+ },
21267
+ calendar: {
21268
+ sameDay: '[DaHjaj] LT',
21269
+ nextDay: '[wa’leS] LT',
21270
+ nextWeek: 'LLL',
21271
+ lastDay: '[wa’Hu’] LT',
21272
+ lastWeek: 'LLL',
21273
+ sameElse: 'L',
21274
+ },
21275
+ relativeTime: {
21276
+ future: translateFuture,
21277
+ past: translatePast,
21278
+ s: 'puS lup',
21279
+ ss: translate,
21280
+ m: 'wa’ tup',
21281
+ mm: translate,
21282
+ h: 'wa’ rep',
21283
+ hh: translate,
21284
+ d: 'wa’ jaj',
21285
+ dd: translate,
21286
+ M: 'wa’ jar',
21287
+ MM: translate,
21288
+ y: 'wa’ DIS',
21289
+ yy: translate,
21290
+ },
21291
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
21292
+ ordinal: '%d.',
21293
+ week: {
21294
+ dow: 1, // Monday is the first day of the week.
21295
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
21296
+ },
21297
+ });
21298
+
21299
+ return tlh;
21300
+
21301
+ })));
21302
+
21303
+
21304
+ /***/ }),
21305
+ /* 189 */
21306
+ /***/ (function(module, exports, __webpack_require__) {
21307
+
21308
+ //! moment.js locale configuration
21309
+ //! locale : Turkish [tr]
21310
+ //! authors : Erhan Gundogan : https://github.com/erhangundogan,
21311
+ //! Burak Yiğit Kaya: https://github.com/BYK
21312
+
21313
+ ;(function (global, factory) {
21314
+ true ? factory(__webpack_require__(0)) :
21315
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21316
+ factory(global.moment)
21317
+ }(this, (function (moment) { 'use strict';
21318
+
21319
+ //! moment.js locale configuration
21320
+
21321
+ var suffixes = {
21322
+ 1: "'inci",
21323
+ 5: "'inci",
21324
+ 8: "'inci",
21325
+ 70: "'inci",
21326
+ 80: "'inci",
21327
+ 2: "'nci",
21328
+ 7: "'nci",
21329
+ 20: "'nci",
21330
+ 50: "'nci",
21331
+ 3: "'üncü",
21332
+ 4: "'üncü",
21333
+ 100: "'üncü",
21334
+ 6: "'ncı",
21335
+ 9: "'uncu",
21336
+ 10: "'uncu",
21337
+ 30: "'uncu",
21338
+ 60: "'ıncı",
21339
+ 90: "'ıncı",
21340
+ };
21341
+
21342
+ var tr = moment.defineLocale('tr', {
21343
+ months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(
21344
+ '_'
21345
+ ),
21346
+ monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
21347
+ weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(
21348
+ '_'
21349
+ ),
21350
+ weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
21351
+ weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
21352
+ meridiem: function (hours, minutes, isLower) {
21353
+ if (hours < 12) {
21354
+ return isLower ? 'öö' : 'ÖÖ';
21355
+ } else {
21356
+ return isLower ? 'ös' : 'ÖS';
21357
+ }
21358
+ },
21359
+ meridiemParse: /öö|ÖÖ|ös|ÖS/,
21360
+ isPM: function (input) {
21361
+ return input === 'ös' || input === 'ÖS';
21362
+ },
21363
+ longDateFormat: {
21364
+ LT: 'HH:mm',
21365
+ LTS: 'HH:mm:ss',
21366
+ L: 'DD.MM.YYYY',
21367
+ LL: 'D MMMM YYYY',
21368
+ LLL: 'D MMMM YYYY HH:mm',
21369
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
21370
+ },
21371
+ calendar: {
21372
+ sameDay: '[bugün saat] LT',
21373
+ nextDay: '[yarın saat] LT',
21374
+ nextWeek: '[gelecek] dddd [saat] LT',
21375
+ lastDay: '[dün] LT',
21376
+ lastWeek: '[geçen] dddd [saat] LT',
21377
+ sameElse: 'L',
21378
+ },
21379
+ relativeTime: {
21380
+ future: '%s sonra',
21381
+ past: '%s önce',
21382
+ s: 'birkaç saniye',
21383
+ ss: '%d saniye',
21384
+ m: 'bir dakika',
21385
+ mm: '%d dakika',
21386
+ h: 'bir saat',
21387
+ hh: '%d saat',
21388
+ d: 'bir gün',
21389
+ dd: '%d gün',
21390
+ M: 'bir ay',
21391
+ MM: '%d ay',
21392
+ y: 'bir yıl',
21393
+ yy: '%d yıl',
21394
+ },
21395
+ ordinal: function (number, period) {
21396
+ switch (period) {
21397
+ case 'd':
21398
+ case 'D':
21399
+ case 'Do':
21400
+ case 'DD':
21401
+ return number;
21402
+ default:
21403
+ if (number === 0) {
21404
+ // special case for zero
21405
+ return number + "'ıncı";
21406
+ }
21407
+ var a = number % 10,
21408
+ b = (number % 100) - a,
21409
+ c = number >= 100 ? 100 : null;
21410
+ return number + (suffixes[a] || suffixes[b] || suffixes[c]);
21411
+ }
21412
+ },
21413
+ week: {
21414
+ dow: 1, // Monday is the first day of the week.
21415
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
21416
+ },
21417
+ });
21418
+
21419
+ return tr;
21420
+
21421
+ })));
21422
+
21423
+
21424
+ /***/ }),
21425
+ /* 190 */
21426
+ /***/ (function(module, exports, __webpack_require__) {
21427
+
21428
+ //! moment.js locale configuration
21429
+ //! locale : Talossan [tzl]
21430
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
21431
+ //! author : Iustì Canun
21432
+
21433
+ ;(function (global, factory) {
21434
+ true ? factory(__webpack_require__(0)) :
21435
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21436
+ factory(global.moment)
21437
+ }(this, (function (moment) { 'use strict';
21438
+
21439
+ //! moment.js locale configuration
21440
+
21441
+ // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
21442
+ // This is currently too difficult (maybe even impossible) to add.
21443
+ var tzl = moment.defineLocale('tzl', {
21444
+ months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(
21445
+ '_'
21446
+ ),
21447
+ monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
21448
+ weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
21449
+ weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
21450
+ weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
21451
+ longDateFormat: {
21452
+ LT: 'HH.mm',
21453
+ LTS: 'HH.mm.ss',
21454
+ L: 'DD.MM.YYYY',
21455
+ LL: 'D. MMMM [dallas] YYYY',
21456
+ LLL: 'D. MMMM [dallas] YYYY HH.mm',
21457
+ LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',
21458
+ },
21459
+ meridiemParse: /d\'o|d\'a/i,
21460
+ isPM: function (input) {
21461
+ return "d'o" === input.toLowerCase();
21462
+ },
21463
+ meridiem: function (hours, minutes, isLower) {
21464
+ if (hours > 11) {
21465
+ return isLower ? "d'o" : "D'O";
21466
+ } else {
21467
+ return isLower ? "d'a" : "D'A";
21468
+ }
21469
+ },
21470
+ calendar: {
21471
+ sameDay: '[oxhi à] LT',
21472
+ nextDay: '[demà à] LT',
21473
+ nextWeek: 'dddd [à] LT',
21474
+ lastDay: '[ieiri à] LT',
21475
+ lastWeek: '[sür el] dddd [lasteu à] LT',
21476
+ sameElse: 'L',
21477
+ },
21478
+ relativeTime: {
21479
+ future: 'osprei %s',
21480
+ past: 'ja%s',
21481
+ s: processRelativeTime,
21482
+ ss: processRelativeTime,
21483
+ m: processRelativeTime,
21484
+ mm: processRelativeTime,
21485
+ h: processRelativeTime,
21486
+ hh: processRelativeTime,
21487
+ d: processRelativeTime,
21488
+ dd: processRelativeTime,
21489
+ M: processRelativeTime,
21490
+ MM: processRelativeTime,
21491
+ y: processRelativeTime,
21492
+ yy: processRelativeTime,
21493
+ },
21494
+ dayOfMonthOrdinalParse: /\d{1,2}\./,
21495
+ ordinal: '%d.',
21496
+ week: {
21497
+ dow: 1, // Monday is the first day of the week.
21498
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
21499
+ },
21500
+ });
21501
+
21502
+ function processRelativeTime(number, withoutSuffix, key, isFuture) {
21503
+ var format = {
21504
+ s: ['viensas secunds', "'iensas secunds"],
21505
+ ss: [number + ' secunds', '' + number + ' secunds'],
21506
+ m: ["'n míut", "'iens míut"],
21507
+ mm: [number + ' míuts', '' + number + ' míuts'],
21508
+ h: ["'n þora", "'iensa þora"],
21509
+ hh: [number + ' þoras', '' + number + ' þoras'],
21510
+ d: ["'n ziua", "'iensa ziua"],
21511
+ dd: [number + ' ziuas', '' + number + ' ziuas'],
21512
+ M: ["'n mes", "'iens mes"],
21513
+ MM: [number + ' mesen', '' + number + ' mesen'],
21514
+ y: ["'n ar", "'iens ar"],
21515
+ yy: [number + ' ars', '' + number + ' ars'],
21516
+ };
21517
+ return isFuture
21518
+ ? format[key][0]
21519
+ : withoutSuffix
21520
+ ? format[key][0]
21521
+ : format[key][1];
21522
+ }
21523
+
21524
+ return tzl;
21525
+
21526
+ })));
21527
+
21528
+
21529
+ /***/ }),
21530
+ /* 191 */
21531
+ /***/ (function(module, exports, __webpack_require__) {
21532
+
21533
+ //! moment.js locale configuration
21534
+ //! locale : Central Atlas Tamazight [tzm]
21535
+ //! author : Abdel Said : https://github.com/abdelsaid
21536
+
21537
+ ;(function (global, factory) {
21538
+ true ? factory(__webpack_require__(0)) :
21539
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21540
+ factory(global.moment)
21541
+ }(this, (function (moment) { 'use strict';
21542
+
21543
+ //! moment.js locale configuration
21544
+
21545
+ var tzm = moment.defineLocale('tzm', {
21546
+ months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
21547
+ '_'
21548
+ ),
21549
+ monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(
21550
+ '_'
21551
+ ),
21552
+ weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
21553
+ weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
21554
+ weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
21555
+ longDateFormat: {
21556
+ LT: 'HH:mm',
21557
+ LTS: 'HH:mm:ss',
21558
+ L: 'DD/MM/YYYY',
21559
+ LL: 'D MMMM YYYY',
21560
+ LLL: 'D MMMM YYYY HH:mm',
21561
+ LLLL: 'dddd D MMMM YYYY HH:mm',
21562
+ },
21563
+ calendar: {
21564
+ sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
21565
+ nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
21566
+ nextWeek: 'dddd [ⴴ] LT',
21567
+ lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
21568
+ lastWeek: 'dddd [ⴴ] LT',
21569
+ sameElse: 'L',
21570
+ },
21571
+ relativeTime: {
21572
+ future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
21573
+ past: 'ⵢⴰⵏ %s',
21574
+ s: 'ⵉⵎⵉⴽ',
21575
+ ss: '%d ⵉⵎⵉⴽ',
21576
+ m: 'ⵎⵉⵏⵓⴺ',
21577
+ mm: '%d ⵎⵉⵏⵓⴺ',
21578
+ h: 'ⵙⴰⵄⴰ',
21579
+ hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
21580
+ d: 'ⴰⵙⵙ',
21581
+ dd: '%d oⵙⵙⴰⵏ',
21582
+ M: 'ⴰⵢoⵓⵔ',
21583
+ MM: '%d ⵉⵢⵢⵉⵔⵏ',
21584
+ y: 'ⴰⵙⴳⴰⵙ',
21585
+ yy: '%d ⵉⵙⴳⴰⵙⵏ',
21586
+ },
21587
+ week: {
21588
+ dow: 6, // Saturday is the first day of the week.
21589
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
21590
+ },
21591
+ });
21592
+
21593
+ return tzm;
21594
+
21595
+ })));
21596
+
21597
+
21598
+ /***/ }),
21599
+ /* 192 */
21600
+ /***/ (function(module, exports, __webpack_require__) {
21601
+
21602
+ //! moment.js locale configuration
21603
+ //! locale : Central Atlas Tamazight Latin [tzm-latn]
21604
+ //! author : Abdel Said : https://github.com/abdelsaid
21605
+
21606
+ ;(function (global, factory) {
21607
+ true ? factory(__webpack_require__(0)) :
21608
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21609
+ factory(global.moment)
21610
+ }(this, (function (moment) { 'use strict';
21611
+
21612
+ //! moment.js locale configuration
21613
+
21614
+ var tzmLatn = moment.defineLocale('tzm-latn', {
21615
+ months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
21616
+ '_'
21617
+ ),
21618
+ monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(
21619
+ '_'
21620
+ ),
21621
+ weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
21622
+ weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
21623
+ weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
21624
+ longDateFormat: {
21625
+ LT: 'HH:mm',
21626
+ LTS: 'HH:mm:ss',
21627
+ L: 'DD/MM/YYYY',
21628
+ LL: 'D MMMM YYYY',
21629
+ LLL: 'D MMMM YYYY HH:mm',
21630
+ LLLL: 'dddd D MMMM YYYY HH:mm',
21631
+ },
21632
+ calendar: {
21633
+ sameDay: '[asdkh g] LT',
21634
+ nextDay: '[aska g] LT',
21635
+ nextWeek: 'dddd [g] LT',
21636
+ lastDay: '[assant g] LT',
21637
+ lastWeek: 'dddd [g] LT',
21638
+ sameElse: 'L',
21639
+ },
21640
+ relativeTime: {
21641
+ future: 'dadkh s yan %s',
21642
+ past: 'yan %s',
21643
+ s: 'imik',
21644
+ ss: '%d imik',
21645
+ m: 'minuḍ',
21646
+ mm: '%d minuḍ',
21647
+ h: 'saɛa',
21648
+ hh: '%d tassaɛin',
21649
+ d: 'ass',
21650
+ dd: '%d ossan',
21651
+ M: 'ayowr',
21652
+ MM: '%d iyyirn',
21653
+ y: 'asgas',
21654
+ yy: '%d isgasn',
21655
+ },
21656
+ week: {
21657
+ dow: 6, // Saturday is the first day of the week.
21658
+ doy: 12, // The week that contains Jan 12th is the first week of the year.
21659
+ },
21660
+ });
21661
+
21662
+ return tzmLatn;
21663
+
21664
+ })));
21665
+
21666
+
21667
+ /***/ }),
21668
+ /* 193 */
21669
+ /***/ (function(module, exports, __webpack_require__) {
21670
+
21671
+ //! moment.js language configuration
21672
+ //! locale : Uyghur (China) [ug-cn]
21673
+ //! author: boyaq : https://github.com/boyaq
21674
+
21675
+ ;(function (global, factory) {
21676
+ true ? factory(__webpack_require__(0)) :
21677
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21678
+ factory(global.moment)
21679
+ }(this, (function (moment) { 'use strict';
21680
+
21681
+ //! moment.js language configuration
21682
+
21683
+ var ugCn = moment.defineLocale('ug-cn', {
21684
+ months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
21685
+ '_'
21686
+ ),
21687
+ monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
21688
+ '_'
21689
+ ),
21690
+ weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
21691
+ '_'
21692
+ ),
21693
+ weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
21694
+ weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
21695
+ longDateFormat: {
21696
+ LT: 'HH:mm',
21697
+ LTS: 'HH:mm:ss',
21698
+ L: 'YYYY-MM-DD',
21699
+ LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
21700
+ LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
21701
+ LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
21702
+ },
21703
+ meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
21704
+ meridiemHour: function (hour, meridiem) {
21705
+ if (hour === 12) {
21706
+ hour = 0;
21707
+ }
21708
+ if (
21709
+ meridiem === 'يېرىم كېچە' ||
21710
+ meridiem === 'سەھەر' ||
21711
+ meridiem === 'چۈشتىن بۇرۇن'
21712
+ ) {
21713
+ return hour;
21714
+ } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
21715
+ return hour + 12;
21716
+ } else {
21717
+ return hour >= 11 ? hour : hour + 12;
21718
+ }
21719
+ },
21720
+ meridiem: function (hour, minute, isLower) {
21721
+ var hm = hour * 100 + minute;
21722
+ if (hm < 600) {
21723
+ return 'يېرىم كېچە';
21724
+ } else if (hm < 900) {
21725
+ return 'سەھەر';
21726
+ } else if (hm < 1130) {
21727
+ return 'چۈشتىن بۇرۇن';
21728
+ } else if (hm < 1230) {
21729
+ return 'چۈش';
21730
+ } else if (hm < 1800) {
21731
+ return 'چۈشتىن كېيىن';
21732
+ } else {
21733
+ return 'كەچ';
21734
+ }
21735
+ },
21736
+ calendar: {
21737
+ sameDay: '[بۈگۈن سائەت] LT',
21738
+ nextDay: '[ئەتە سائەت] LT',
21739
+ nextWeek: '[كېلەركى] dddd [سائەت] LT',
21740
+ lastDay: '[تۆنۈگۈن] LT',
21741
+ lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
21742
+ sameElse: 'L',
21743
+ },
21744
+ relativeTime: {
21745
+ future: '%s كېيىن',
21746
+ past: '%s بۇرۇن',
21747
+ s: 'نەچچە سېكونت',
21748
+ ss: '%d سېكونت',
21749
+ m: 'بىر مىنۇت',
21750
+ mm: '%d مىنۇت',
21751
+ h: 'بىر سائەت',
21752
+ hh: '%d سائەت',
21753
+ d: 'بىر كۈن',
21754
+ dd: '%d كۈن',
21755
+ M: 'بىر ئاي',
21756
+ MM: '%d ئاي',
21757
+ y: 'بىر يىل',
21758
+ yy: '%d يىل',
21759
+ },
21760
+
21761
+ dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
21762
+ ordinal: function (number, period) {
21763
+ switch (period) {
21764
+ case 'd':
21765
+ case 'D':
21766
+ case 'DDD':
21767
+ return number + '-كۈنى';
21768
+ case 'w':
21769
+ case 'W':
21770
+ return number + '-ھەپتە';
21771
+ default:
21772
+ return number;
21773
+ }
21774
+ },
21775
+ preparse: function (string) {
21776
+ return string.replace(/،/g, ',');
21777
+ },
21778
+ postformat: function (string) {
21779
+ return string.replace(/,/g, '،');
21780
+ },
21781
+ week: {
21782
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
21783
+ dow: 1, // Monday is the first day of the week.
21784
+ doy: 7, // The week that contains Jan 1st is the first week of the year.
21785
+ },
21786
+ });
21787
+
21788
+ return ugCn;
21789
+
21790
+ })));
21791
+
21792
+
21793
+ /***/ }),
21794
+ /* 194 */
21795
+ /***/ (function(module, exports, __webpack_require__) {
21796
+
21797
+ //! moment.js locale configuration
21798
+ //! locale : Ukrainian [uk]
21799
+ //! author : zemlanin : https://github.com/zemlanin
21800
+ //! Author : Menelion Elensúle : https://github.com/Oire
21801
+
21802
+ ;(function (global, factory) {
21803
+ true ? factory(__webpack_require__(0)) :
21804
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21805
+ factory(global.moment)
21806
+ }(this, (function (moment) { 'use strict';
21807
+
21808
+ //! moment.js locale configuration
21809
+
21810
+ function plural(word, num) {
21811
+ var forms = word.split('_');
21812
+ return num % 10 === 1 && num % 100 !== 11
21813
+ ? forms[0]
21814
+ : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
21815
+ ? forms[1]
21816
+ : forms[2];
21817
+ }
21818
+ function relativeTimeWithPlural(number, withoutSuffix, key) {
21819
+ var format = {
21820
+ ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
21821
+ mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
21822
+ hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
21823
+ dd: 'день_дні_днів',
21824
+ MM: 'місяць_місяці_місяців',
21825
+ yy: 'рік_роки_років',
21826
+ };
21827
+ if (key === 'm') {
21828
+ return withoutSuffix ? 'хвилина' : 'хвилину';
21829
+ } else if (key === 'h') {
21830
+ return withoutSuffix ? 'година' : 'годину';
21831
+ } else {
21832
+ return number + ' ' + plural(format[key], +number);
21833
+ }
21834
+ }
21835
+ function weekdaysCaseReplace(m, format) {
21836
+ var weekdays = {
21837
+ nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(
21838
+ '_'
21839
+ ),
21840
+ accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(
21841
+ '_'
21842
+ ),
21843
+ genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(
21844
+ '_'
21845
+ ),
21846
+ },
21847
+ nounCase;
21848
+
21849
+ if (m === true) {
21850
+ return weekdays['nominative']
21851
+ .slice(1, 7)
21852
+ .concat(weekdays['nominative'].slice(0, 1));
21853
+ }
21854
+ if (!m) {
21855
+ return weekdays['nominative'];
21856
+ }
21857
+
21858
+ nounCase = /(\[[ВвУу]\]) ?dddd/.test(format)
21859
+ ? 'accusative'
21860
+ : /\[?(?:минулої|наступної)? ?\] ?dddd/.test(format)
21861
+ ? 'genitive'
21862
+ : 'nominative';
21863
+ return weekdays[nounCase][m.day()];
21864
+ }
21865
+ function processHoursFunction(str) {
21866
+ return function () {
21867
+ return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
21868
+ };
21869
+ }
21870
+
21871
+ var uk = moment.defineLocale('uk', {
21872
+ months: {
21873
+ format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(
21874
+ '_'
21875
+ ),
21876
+ standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(
21877
+ '_'
21878
+ ),
21879
+ },
21880
+ monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(
21881
+ '_'
21882
+ ),
21883
+ weekdays: weekdaysCaseReplace,
21884
+ weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
21885
+ weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
21886
+ longDateFormat: {
21887
+ LT: 'HH:mm',
21888
+ LTS: 'HH:mm:ss',
21889
+ L: 'DD.MM.YYYY',
21890
+ LL: 'D MMMM YYYY р.',
21891
+ LLL: 'D MMMM YYYY р., HH:mm',
21892
+ LLLL: 'dddd, D MMMM YYYY р., HH:mm',
21893
+ },
21894
+ calendar: {
21895
+ sameDay: processHoursFunction('[Сьогодні '),
21896
+ nextDay: processHoursFunction('[Завтра '),
21897
+ lastDay: processHoursFunction('[Вчора '),
21898
+ nextWeek: processHoursFunction('[У] dddd ['),
21899
+ lastWeek: function () {
21900
+ switch (this.day()) {
21901
+ case 0:
21902
+ case 3:
21903
+ case 5:
21904
+ case 6:
21905
+ return processHoursFunction('[Минулої] dddd [').call(this);
21906
+ case 1:
21907
+ case 2:
21908
+ case 4:
21909
+ return processHoursFunction('[Минулого] dddd [').call(this);
21910
+ }
21911
+ },
21912
+ sameElse: 'L',
21913
+ },
21914
+ relativeTime: {
21915
+ future: 'за %s',
21916
+ past: '%s тому',
21917
+ s: 'декілька секунд',
21918
+ ss: relativeTimeWithPlural,
21919
+ m: relativeTimeWithPlural,
21920
+ mm: relativeTimeWithPlural,
21921
+ h: 'годину',
21922
+ hh: relativeTimeWithPlural,
21923
+ d: 'день',
21924
+ dd: relativeTimeWithPlural,
21925
+ M: 'місяць',
21926
+ MM: relativeTimeWithPlural,
21927
+ y: 'рік',
21928
+ yy: relativeTimeWithPlural,
21929
+ },
21930
+ // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
21931
+ meridiemParse: /ночі|ранку|дня|вечора/,
21932
+ isPM: function (input) {
21933
+ return /^(дня|вечора)$/.test(input);
21934
+ },
21935
+ meridiem: function (hour, minute, isLower) {
21936
+ if (hour < 4) {
21937
+ return 'ночі';
21938
+ } else if (hour < 12) {
21939
+ return 'ранку';
21940
+ } else if (hour < 17) {
21941
+ return 'дня';
21942
+ } else {
21943
+ return 'вечора';
21944
+ }
21945
+ },
21946
+ dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
21947
+ ordinal: function (number, period) {
21948
+ switch (period) {
21949
+ case 'M':
21950
+ case 'd':
21951
+ case 'DDD':
21952
+ case 'w':
21953
+ case 'W':
21954
+ return number + '-й';
21955
+ case 'D':
21956
+ return number + '-го';
21957
+ default:
21958
+ return number;
21959
+ }
21960
+ },
21961
+ week: {
21962
+ dow: 1, // Monday is the first day of the week.
21963
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
21964
+ },
21965
+ });
21966
+
21967
+ return uk;
21968
+
21969
+ })));
21970
+
21971
+
21972
+ /***/ }),
21973
+ /* 195 */
21974
+ /***/ (function(module, exports, __webpack_require__) {
21975
+
21976
+ //! moment.js locale configuration
21977
+ //! locale : Urdu [ur]
21978
+ //! author : Sawood Alam : https://github.com/ibnesayeed
21979
+ //! author : Zack : https://github.com/ZackVision
21980
+
21981
+ ;(function (global, factory) {
21982
+ true ? factory(__webpack_require__(0)) :
21983
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
21984
+ factory(global.moment)
21985
+ }(this, (function (moment) { 'use strict';
21986
+
21987
+ //! moment.js locale configuration
21988
+
21989
+ var months = [
21990
+ 'جنوری',
21991
+ 'فروری',
21992
+ 'مارچ',
21993
+ 'اپریل',
21994
+ 'مئی',
21995
+ 'جون',
21996
+ 'جولائی',
21997
+ 'اگست',
21998
+ 'ستمبر',
21999
+ 'اکتوبر',
22000
+ 'نومبر',
22001
+ 'دسمبر',
22002
+ ],
22003
+ days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];
22004
+
22005
+ var ur = moment.defineLocale('ur', {
22006
+ months: months,
22007
+ monthsShort: months,
22008
+ weekdays: days,
22009
+ weekdaysShort: days,
22010
+ weekdaysMin: days,
22011
+ longDateFormat: {
22012
+ LT: 'HH:mm',
22013
+ LTS: 'HH:mm:ss',
22014
+ L: 'DD/MM/YYYY',
22015
+ LL: 'D MMMM YYYY',
22016
+ LLL: 'D MMMM YYYY HH:mm',
22017
+ LLLL: 'dddd، D MMMM YYYY HH:mm',
22018
+ },
22019
+ meridiemParse: /صبح|شام/,
22020
+ isPM: function (input) {
22021
+ return 'شام' === input;
22022
+ },
22023
+ meridiem: function (hour, minute, isLower) {
22024
+ if (hour < 12) {
22025
+ return 'صبح';
22026
+ }
22027
+ return 'شام';
22028
+ },
22029
+ calendar: {
22030
+ sameDay: '[آج بوقت] LT',
22031
+ nextDay: '[کل بوقت] LT',
22032
+ nextWeek: 'dddd [بوقت] LT',
22033
+ lastDay: '[گذشتہ روز بوقت] LT',
22034
+ lastWeek: '[گذشتہ] dddd [بوقت] LT',
22035
+ sameElse: 'L',
22036
+ },
22037
+ relativeTime: {
22038
+ future: '%s بعد',
22039
+ past: '%s قبل',
22040
+ s: 'چند سیکنڈ',
22041
+ ss: '%d سیکنڈ',
22042
+ m: 'ایک منٹ',
22043
+ mm: '%d منٹ',
22044
+ h: 'ایک گھنٹہ',
22045
+ hh: '%d گھنٹے',
22046
+ d: 'ایک دن',
22047
+ dd: '%d دن',
22048
+ M: 'ایک ماہ',
22049
+ MM: '%d ماہ',
22050
+ y: 'ایک سال',
22051
+ yy: '%d سال',
22052
+ },
22053
+ preparse: function (string) {
22054
+ return string.replace(/،/g, ',');
22055
+ },
22056
+ postformat: function (string) {
22057
+ return string.replace(/,/g, '،');
22058
+ },
22059
+ week: {
22060
+ dow: 1, // Monday is the first day of the week.
22061
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
22062
+ },
22063
+ });
22064
+
22065
+ return ur;
22066
+
22067
+ })));
22068
+
22069
+
22070
+ /***/ }),
22071
+ /* 196 */
22072
+ /***/ (function(module, exports, __webpack_require__) {
22073
+
22074
+ //! moment.js locale configuration
22075
+ //! locale : Uzbek [uz]
22076
+ //! author : Sardor Muminov : https://github.com/muminoff
22077
+
22078
+ ;(function (global, factory) {
22079
+ true ? factory(__webpack_require__(0)) :
22080
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22081
+ factory(global.moment)
22082
+ }(this, (function (moment) { 'use strict';
22083
+
22084
+ //! moment.js locale configuration
22085
+
22086
+ var uz = moment.defineLocale('uz', {
22087
+ months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(
22088
+ '_'
22089
+ ),
22090
+ monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
22091
+ weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
22092
+ weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
22093
+ weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
22094
+ longDateFormat: {
22095
+ LT: 'HH:mm',
22096
+ LTS: 'HH:mm:ss',
22097
+ L: 'DD/MM/YYYY',
22098
+ LL: 'D MMMM YYYY',
22099
+ LLL: 'D MMMM YYYY HH:mm',
22100
+ LLLL: 'D MMMM YYYY, dddd HH:mm',
22101
+ },
22102
+ calendar: {
22103
+ sameDay: '[Бугун соат] LT [да]',
22104
+ nextDay: '[Эртага] LT [да]',
22105
+ nextWeek: 'dddd [куни соат] LT [да]',
22106
+ lastDay: '[Кеча соат] LT [да]',
22107
+ lastWeek: '[Утган] dddd [куни соат] LT [да]',
22108
+ sameElse: 'L',
22109
+ },
22110
+ relativeTime: {
22111
+ future: 'Якин %s ичида',
22112
+ past: 'Бир неча %s олдин',
22113
+ s: 'фурсат',
22114
+ ss: '%d фурсат',
22115
+ m: 'бир дакика',
22116
+ mm: '%d дакика',
22117
+ h: 'бир соат',
22118
+ hh: '%d соат',
22119
+ d: 'бир кун',
22120
+ dd: '%d кун',
22121
+ M: 'бир ой',
22122
+ MM: '%d ой',
22123
+ y: 'бир йил',
22124
+ yy: '%d йил',
22125
+ },
22126
+ week: {
22127
+ dow: 1, // Monday is the first day of the week.
22128
+ doy: 7, // The week that contains Jan 4th is the first week of the year.
22129
+ },
22130
+ });
22131
+
22132
+ return uz;
22133
+
22134
+ })));
22135
+
22136
+
22137
+ /***/ }),
22138
+ /* 197 */
22139
+ /***/ (function(module, exports, __webpack_require__) {
22140
+
22141
+ //! moment.js locale configuration
22142
+ //! locale : Uzbek Latin [uz-latn]
22143
+ //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
22144
+
22145
+ ;(function (global, factory) {
22146
+ true ? factory(__webpack_require__(0)) :
22147
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22148
+ factory(global.moment)
22149
+ }(this, (function (moment) { 'use strict';
22150
+
22151
+ //! moment.js locale configuration
22152
+
22153
+ var uzLatn = moment.defineLocale('uz-latn', {
22154
+ months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(
22155
+ '_'
22156
+ ),
22157
+ monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
22158
+ weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(
22159
+ '_'
22160
+ ),
22161
+ weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
22162
+ weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
22163
+ longDateFormat: {
22164
+ LT: 'HH:mm',
22165
+ LTS: 'HH:mm:ss',
22166
+ L: 'DD/MM/YYYY',
22167
+ LL: 'D MMMM YYYY',
22168
+ LLL: 'D MMMM YYYY HH:mm',
22169
+ LLLL: 'D MMMM YYYY, dddd HH:mm',
22170
+ },
22171
+ calendar: {
22172
+ sameDay: '[Bugun soat] LT [da]',
22173
+ nextDay: '[Ertaga] LT [da]',
22174
+ nextWeek: 'dddd [kuni soat] LT [da]',
22175
+ lastDay: '[Kecha soat] LT [da]',
22176
+ lastWeek: "[O'tgan] dddd [kuni soat] LT [da]",
22177
+ sameElse: 'L',
22178
+ },
22179
+ relativeTime: {
22180
+ future: 'Yaqin %s ichida',
22181
+ past: 'Bir necha %s oldin',
22182
+ s: 'soniya',
22183
+ ss: '%d soniya',
22184
+ m: 'bir daqiqa',
22185
+ mm: '%d daqiqa',
22186
+ h: 'bir soat',
22187
+ hh: '%d soat',
22188
+ d: 'bir kun',
22189
+ dd: '%d kun',
22190
+ M: 'bir oy',
22191
+ MM: '%d oy',
22192
+ y: 'bir yil',
22193
+ yy: '%d yil',
22194
+ },
22195
+ week: {
22196
+ dow: 1, // Monday is the first day of the week.
22197
+ doy: 7, // The week that contains Jan 7th is the first week of the year.
22198
+ },
22199
+ });
22200
+
22201
+ return uzLatn;
22202
+
22203
+ })));
22204
+
22205
+
22206
+ /***/ }),
22207
+ /* 198 */
22208
+ /***/ (function(module, exports, __webpack_require__) {
22209
+
22210
+ //! moment.js locale configuration
22211
+ //! locale : Vietnamese [vi]
22212
+ //! author : Bang Nguyen : https://github.com/bangnk
22213
+ //! author : Chien Kira : https://github.com/chienkira
22214
+
22215
+ ;(function (global, factory) {
22216
+ true ? factory(__webpack_require__(0)) :
22217
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22218
+ factory(global.moment)
22219
+ }(this, (function (moment) { 'use strict';
22220
+
22221
+ //! moment.js locale configuration
22222
+
22223
+ var vi = moment.defineLocale('vi', {
22224
+ 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(
22225
+ '_'
22226
+ ),
22227
+ monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(
22228
+ '_'
22229
+ ),
22230
+ monthsParseExact: true,
22231
+ weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(
22232
+ '_'
22233
+ ),
22234
+ weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
22235
+ weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
22236
+ weekdaysParseExact: true,
22237
+ meridiemParse: /sa|ch/i,
22238
+ isPM: function (input) {
22239
+ return /^ch$/i.test(input);
22240
+ },
22241
+ meridiem: function (hours, minutes, isLower) {
22242
+ if (hours < 12) {
22243
+ return isLower ? 'sa' : 'SA';
22244
+ } else {
22245
+ return isLower ? 'ch' : 'CH';
22246
+ }
22247
+ },
22248
+ longDateFormat: {
22249
+ LT: 'HH:mm',
22250
+ LTS: 'HH:mm:ss',
22251
+ L: 'DD/MM/YYYY',
22252
+ LL: 'D MMMM [năm] YYYY',
22253
+ LLL: 'D MMMM [năm] YYYY HH:mm',
22254
+ LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',
22255
+ l: 'DD/M/YYYY',
22256
+ ll: 'D MMM YYYY',
22257
+ lll: 'D MMM YYYY HH:mm',
22258
+ llll: 'ddd, D MMM YYYY HH:mm',
22259
+ },
22260
+ calendar: {
22261
+ sameDay: '[Hôm nay lúc] LT',
22262
+ nextDay: '[Ngày mai lúc] LT',
22263
+ nextWeek: 'dddd [tuần tới lúc] LT',
22264
+ lastDay: '[Hôm qua lúc] LT',
22265
+ lastWeek: 'dddd [tuần trước lúc] LT',
22266
+ sameElse: 'L',
22267
+ },
22268
+ relativeTime: {
22269
+ future: '%s tới',
22270
+ past: '%s trước',
22271
+ s: 'vài giây',
22272
+ ss: '%d giây',
22273
+ m: 'một phút',
22274
+ mm: '%d phút',
22275
+ h: 'một giờ',
22276
+ hh: '%d giờ',
22277
+ d: 'một ngày',
22278
+ dd: '%d ngày',
22279
+ M: 'một tháng',
22280
+ MM: '%d tháng',
22281
+ y: 'một năm',
22282
+ yy: '%d năm',
22283
+ },
22284
+ dayOfMonthOrdinalParse: /\d{1,2}/,
22285
+ ordinal: function (number) {
22286
+ return number;
22287
+ },
22288
+ week: {
22289
+ dow: 1, // Monday is the first day of the week.
22290
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
22291
+ },
22292
+ });
22293
+
22294
+ return vi;
22295
+
22296
+ })));
22297
+
22298
+
22299
+ /***/ }),
22300
+ /* 199 */
22301
+ /***/ (function(module, exports, __webpack_require__) {
22302
+
22303
+ //! moment.js locale configuration
22304
+ //! locale : Pseudo [x-pseudo]
22305
+ //! author : Andrew Hood : https://github.com/andrewhood125
22306
+
22307
+ ;(function (global, factory) {
22308
+ true ? factory(__webpack_require__(0)) :
22309
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22310
+ factory(global.moment)
22311
+ }(this, (function (moment) { 'use strict';
22312
+
22313
+ //! moment.js locale configuration
22314
+
22315
+ var xPseudo = moment.defineLocale('x-pseudo', {
22316
+ 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(
22317
+ '_'
22318
+ ),
22319
+ monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(
22320
+ '_'
22321
+ ),
22322
+ monthsParseExact: true,
22323
+ weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(
22324
+ '_'
22325
+ ),
22326
+ weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
22327
+ weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
22328
+ weekdaysParseExact: true,
22329
+ longDateFormat: {
22330
+ LT: 'HH:mm',
22331
+ L: 'DD/MM/YYYY',
22332
+ LL: 'D MMMM YYYY',
22333
+ LLL: 'D MMMM YYYY HH:mm',
22334
+ LLLL: 'dddd, D MMMM YYYY HH:mm',
22335
+ },
22336
+ calendar: {
22337
+ sameDay: '[T~ódá~ý át] LT',
22338
+ nextDay: '[T~ómó~rró~w át] LT',
22339
+ nextWeek: 'dddd [át] LT',
22340
+ lastDay: '[Ý~ést~érdá~ý át] LT',
22341
+ lastWeek: '[L~ást] dddd [át] LT',
22342
+ sameElse: 'L',
22343
+ },
22344
+ relativeTime: {
22345
+ future: 'í~ñ %s',
22346
+ past: '%s á~gó',
22347
+ s: 'á ~féw ~sécó~ñds',
22348
+ ss: '%d s~écóñ~ds',
22349
+ m: 'á ~míñ~úté',
22350
+ mm: '%d m~íñú~tés',
22351
+ h: 'á~ñ hó~úr',
22352
+ hh: '%d h~óúrs',
22353
+ d: 'á ~dáý',
22354
+ dd: '%d d~áýs',
22355
+ M: 'á ~móñ~th',
22356
+ MM: '%d m~óñt~hs',
22357
+ y: 'á ~ýéár',
22358
+ yy: '%d ý~éárs',
22359
+ },
22360
+ dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
22361
+ ordinal: function (number) {
22362
+ var b = number % 10,
22363
+ output =
22364
+ ~~((number % 100) / 10) === 1
22365
+ ? 'th'
22366
+ : b === 1
22367
+ ? 'st'
22368
+ : b === 2
22369
+ ? 'nd'
22370
+ : b === 3
22371
+ ? 'rd'
22372
+ : 'th';
22373
+ return number + output;
22374
+ },
22375
+ week: {
22376
+ dow: 1, // Monday is the first day of the week.
22377
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
22378
+ },
22379
+ });
22380
+
22381
+ return xPseudo;
22382
+
22383
+ })));
22384
+
22385
+
22386
+ /***/ }),
22387
+ /* 200 */
22388
+ /***/ (function(module, exports, __webpack_require__) {
22389
+
22390
+ //! moment.js locale configuration
22391
+ //! locale : Yoruba Nigeria [yo]
22392
+ //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
22393
+
22394
+ ;(function (global, factory) {
22395
+ true ? factory(__webpack_require__(0)) :
22396
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22397
+ factory(global.moment)
22398
+ }(this, (function (moment) { 'use strict';
22399
+
22400
+ //! moment.js locale configuration
22401
+
22402
+ var yo = moment.defineLocale('yo', {
22403
+ months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(
22404
+ '_'
22405
+ ),
22406
+ monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
22407
+ weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
22408
+ weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
22409
+ weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
22410
+ longDateFormat: {
22411
+ LT: 'h:mm A',
22412
+ LTS: 'h:mm:ss A',
22413
+ L: 'DD/MM/YYYY',
22414
+ LL: 'D MMMM YYYY',
22415
+ LLL: 'D MMMM YYYY h:mm A',
22416
+ LLLL: 'dddd, D MMMM YYYY h:mm A',
22417
+ },
22418
+ calendar: {
22419
+ sameDay: '[Ònì ni] LT',
22420
+ nextDay: '[Ọ̀la ni] LT',
22421
+ nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT",
22422
+ lastDay: '[Àna ni] LT',
22423
+ lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
22424
+ sameElse: 'L',
22425
+ },
22426
+ relativeTime: {
22427
+ future: 'ní %s',
22428
+ past: '%s kọjá',
22429
+ s: 'ìsẹjú aayá die',
22430
+ ss: 'aayá %d',
22431
+ m: 'ìsẹjú kan',
22432
+ mm: 'ìsẹjú %d',
22433
+ h: 'wákati kan',
22434
+ hh: 'wákati %d',
22435
+ d: 'ọjọ́ kan',
22436
+ dd: 'ọjọ́ %d',
22437
+ M: 'osù kan',
22438
+ MM: 'osù %d',
22439
+ y: 'ọdún kan',
22440
+ yy: 'ọdún %d',
22441
+ },
22442
+ dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/,
22443
+ ordinal: 'ọjọ́ %d',
22444
+ week: {
22445
+ dow: 1, // Monday is the first day of the week.
22446
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
22447
+ },
22448
+ });
22449
+
22450
+ return yo;
22451
+
22452
+ })));
22453
+
22454
+
22455
+ /***/ }),
22456
+ /* 201 */
22457
+ /***/ (function(module, exports, __webpack_require__) {
22458
+
22459
+ //! moment.js locale configuration
22460
+ //! locale : Chinese (China) [zh-cn]
22461
+ //! author : suupic : https://github.com/suupic
22462
+ //! author : Zeno Zeng : https://github.com/zenozeng
22463
+ //! author : uu109 : https://github.com/uu109
22464
+
22465
+ ;(function (global, factory) {
22466
+ true ? factory(__webpack_require__(0)) :
22467
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22468
+ factory(global.moment)
22469
+ }(this, (function (moment) { 'use strict';
22470
+
22471
+ //! moment.js locale configuration
22472
+
22473
+ var zhCn = moment.defineLocale('zh-cn', {
22474
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
22475
+ '_'
22476
+ ),
22477
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
22478
+ '_'
22479
+ ),
22480
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
22481
+ weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
22482
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
22483
+ longDateFormat: {
22484
+ LT: 'HH:mm',
22485
+ LTS: 'HH:mm:ss',
22486
+ L: 'YYYY/MM/DD',
22487
+ LL: 'YYYY年M月D日',
22488
+ LLL: 'YYYY年M月D日Ah点mm分',
22489
+ LLLL: 'YYYY年M月D日ddddAh点mm分',
22490
+ l: 'YYYY/M/D',
22491
+ ll: 'YYYY年M月D日',
22492
+ lll: 'YYYY年M月D日 HH:mm',
22493
+ llll: 'YYYY年M月D日dddd HH:mm',
22494
+ },
22495
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
22496
+ meridiemHour: function (hour, meridiem) {
22497
+ if (hour === 12) {
22498
+ hour = 0;
22499
+ }
22500
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
22501
+ return hour;
22502
+ } else if (meridiem === '下午' || meridiem === '晚上') {
22503
+ return hour + 12;
22504
+ } else {
22505
+ // '中午'
22506
+ return hour >= 11 ? hour : hour + 12;
22507
+ }
22508
+ },
22509
+ meridiem: function (hour, minute, isLower) {
22510
+ var hm = hour * 100 + minute;
22511
+ if (hm < 600) {
22512
+ return '凌晨';
22513
+ } else if (hm < 900) {
22514
+ return '早上';
22515
+ } else if (hm < 1130) {
22516
+ return '上午';
22517
+ } else if (hm < 1230) {
22518
+ return '中午';
22519
+ } else if (hm < 1800) {
22520
+ return '下午';
22521
+ } else {
22522
+ return '晚上';
22523
+ }
22524
+ },
22525
+ calendar: {
22526
+ sameDay: '[今天]LT',
22527
+ nextDay: '[明天]LT',
22528
+ nextWeek: function (now) {
22529
+ if (now.week() !== this.week()) {
22530
+ return '[下]dddLT';
22531
+ } else {
22532
+ return '[本]dddLT';
22533
+ }
22534
+ },
22535
+ lastDay: '[昨天]LT',
22536
+ lastWeek: function (now) {
22537
+ if (this.week() !== now.week()) {
22538
+ return '[上]dddLT';
22539
+ } else {
22540
+ return '[本]dddLT';
22541
+ }
22542
+ },
22543
+ sameElse: 'L',
22544
+ },
22545
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
22546
+ ordinal: function (number, period) {
22547
+ switch (period) {
22548
+ case 'd':
22549
+ case 'D':
22550
+ case 'DDD':
22551
+ return number + '日';
22552
+ case 'M':
22553
+ return number + '月';
22554
+ case 'w':
22555
+ case 'W':
22556
+ return number + '周';
22557
+ default:
22558
+ return number;
22559
+ }
22560
+ },
22561
+ relativeTime: {
22562
+ future: '%s后',
22563
+ past: '%s前',
22564
+ s: '几秒',
22565
+ ss: '%d 秒',
22566
+ m: '1 分钟',
22567
+ mm: '%d 分钟',
22568
+ h: '1 小时',
22569
+ hh: '%d 小时',
22570
+ d: '1 天',
22571
+ dd: '%d 天',
22572
+ M: '1 个月',
22573
+ MM: '%d 个月',
22574
+ y: '1 年',
22575
+ yy: '%d 年',
22576
+ },
22577
+ week: {
22578
+ // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
22579
+ dow: 1, // Monday is the first day of the week.
22580
+ doy: 4, // The week that contains Jan 4th is the first week of the year.
22581
+ },
22582
+ });
22583
+
22584
+ return zhCn;
22585
+
22586
+ })));
22587
+
22588
+
22589
+ /***/ }),
22590
+ /* 202 */
22591
+ /***/ (function(module, exports, __webpack_require__) {
22592
+
22593
+ //! moment.js locale configuration
22594
+ //! locale : Chinese (Hong Kong) [zh-hk]
22595
+ //! author : Ben : https://github.com/ben-lin
22596
+ //! author : Chris Lam : https://github.com/hehachris
22597
+ //! author : Konstantin : https://github.com/skfd
22598
+ //! author : Anthony : https://github.com/anthonylau
22599
+
22600
+ ;(function (global, factory) {
22601
+ true ? factory(__webpack_require__(0)) :
22602
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22603
+ factory(global.moment)
22604
+ }(this, (function (moment) { 'use strict';
22605
+
22606
+ //! moment.js locale configuration
22607
+
22608
+ var zhHk = moment.defineLocale('zh-hk', {
22609
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
22610
+ '_'
22611
+ ),
22612
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
22613
+ '_'
22614
+ ),
22615
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
22616
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
22617
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
22618
+ longDateFormat: {
22619
+ LT: 'HH:mm',
22620
+ LTS: 'HH:mm:ss',
22621
+ L: 'YYYY/MM/DD',
22622
+ LL: 'YYYY年M月D日',
22623
+ LLL: 'YYYY年M月D日 HH:mm',
22624
+ LLLL: 'YYYY年M月D日dddd HH:mm',
22625
+ l: 'YYYY/M/D',
22626
+ ll: 'YYYY年M月D日',
22627
+ lll: 'YYYY年M月D日 HH:mm',
22628
+ llll: 'YYYY年M月D日dddd HH:mm',
22629
+ },
22630
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
22631
+ meridiemHour: function (hour, meridiem) {
22632
+ if (hour === 12) {
22633
+ hour = 0;
22634
+ }
22635
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
22636
+ return hour;
22637
+ } else if (meridiem === '中午') {
22638
+ return hour >= 11 ? hour : hour + 12;
22639
+ } else if (meridiem === '下午' || meridiem === '晚上') {
22640
+ return hour + 12;
22641
+ }
22642
+ },
22643
+ meridiem: function (hour, minute, isLower) {
22644
+ var hm = hour * 100 + minute;
22645
+ if (hm < 600) {
22646
+ return '凌晨';
22647
+ } else if (hm < 900) {
22648
+ return '早上';
22649
+ } else if (hm < 1200) {
22650
+ return '上午';
22651
+ } else if (hm === 1200) {
22652
+ return '中午';
22653
+ } else if (hm < 1800) {
22654
+ return '下午';
22655
+ } else {
22656
+ return '晚上';
22657
+ }
22658
+ },
22659
+ calendar: {
22660
+ sameDay: '[今天]LT',
22661
+ nextDay: '[明天]LT',
22662
+ nextWeek: '[下]ddddLT',
22663
+ lastDay: '[昨天]LT',
22664
+ lastWeek: '[上]ddddLT',
22665
+ sameElse: 'L',
22666
+ },
22667
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
22668
+ ordinal: function (number, period) {
22669
+ switch (period) {
22670
+ case 'd':
22671
+ case 'D':
22672
+ case 'DDD':
22673
+ return number + '日';
22674
+ case 'M':
22675
+ return number + '月';
22676
+ case 'w':
22677
+ case 'W':
22678
+ return number + '週';
22679
+ default:
22680
+ return number;
22681
+ }
22682
+ },
22683
+ relativeTime: {
22684
+ future: '%s後',
22685
+ past: '%s前',
22686
+ s: '幾秒',
22687
+ ss: '%d 秒',
22688
+ m: '1 分鐘',
22689
+ mm: '%d 分鐘',
22690
+ h: '1 小時',
22691
+ hh: '%d 小時',
22692
+ d: '1 天',
22693
+ dd: '%d 天',
22694
+ M: '1 個月',
22695
+ MM: '%d 個月',
22696
+ y: '1 年',
22697
+ yy: '%d 年',
22698
+ },
22699
+ });
22700
+
22701
+ return zhHk;
22702
+
22703
+ })));
22704
+
22705
+
22706
+ /***/ }),
22707
+ /* 203 */
22708
+ /***/ (function(module, exports, __webpack_require__) {
22709
+
22710
+ //! moment.js locale configuration
22711
+ //! locale : Chinese (Macau) [zh-mo]
22712
+ //! author : Ben : https://github.com/ben-lin
22713
+ //! author : Chris Lam : https://github.com/hehachris
22714
+ //! author : Tan Yuanhong : https://github.com/le0tan
22715
+
22716
+ ;(function (global, factory) {
22717
+ true ? factory(__webpack_require__(0)) :
22718
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22719
+ factory(global.moment)
22720
+ }(this, (function (moment) { 'use strict';
22721
+
22722
+ //! moment.js locale configuration
22723
+
22724
+ var zhMo = moment.defineLocale('zh-mo', {
22725
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
22726
+ '_'
22727
+ ),
22728
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
22729
+ '_'
22730
+ ),
22731
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
22732
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
22733
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
22734
+ longDateFormat: {
22735
+ LT: 'HH:mm',
22736
+ LTS: 'HH:mm:ss',
22737
+ L: 'DD/MM/YYYY',
22738
+ LL: 'YYYY年M月D日',
22739
+ LLL: 'YYYY年M月D日 HH:mm',
22740
+ LLLL: 'YYYY年M月D日dddd HH:mm',
22741
+ l: 'D/M/YYYY',
22742
+ ll: 'YYYY年M月D日',
22743
+ lll: 'YYYY年M月D日 HH:mm',
22744
+ llll: 'YYYY年M月D日dddd HH:mm',
22745
+ },
22746
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
22747
+ meridiemHour: function (hour, meridiem) {
22748
+ if (hour === 12) {
22749
+ hour = 0;
22750
+ }
22751
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
22752
+ return hour;
22753
+ } else if (meridiem === '中午') {
22754
+ return hour >= 11 ? hour : hour + 12;
22755
+ } else if (meridiem === '下午' || meridiem === '晚上') {
22756
+ return hour + 12;
22757
+ }
22758
+ },
22759
+ meridiem: function (hour, minute, isLower) {
22760
+ var hm = hour * 100 + minute;
22761
+ if (hm < 600) {
22762
+ return '凌晨';
22763
+ } else if (hm < 900) {
22764
+ return '早上';
22765
+ } else if (hm < 1130) {
22766
+ return '上午';
22767
+ } else if (hm < 1230) {
22768
+ return '中午';
22769
+ } else if (hm < 1800) {
22770
+ return '下午';
22771
+ } else {
22772
+ return '晚上';
22773
+ }
22774
+ },
22775
+ calendar: {
22776
+ sameDay: '[今天] LT',
22777
+ nextDay: '[明天] LT',
22778
+ nextWeek: '[下]dddd LT',
22779
+ lastDay: '[昨天] LT',
22780
+ lastWeek: '[上]dddd LT',
22781
+ sameElse: 'L',
22782
+ },
22783
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
22784
+ ordinal: function (number, period) {
22785
+ switch (period) {
22786
+ case 'd':
22787
+ case 'D':
22788
+ case 'DDD':
22789
+ return number + '日';
22790
+ case 'M':
22791
+ return number + '月';
22792
+ case 'w':
22793
+ case 'W':
22794
+ return number + '週';
22795
+ default:
22796
+ return number;
22797
+ }
22798
+ },
22799
+ relativeTime: {
22800
+ future: '%s內',
22801
+ past: '%s前',
22802
+ s: '幾秒',
22803
+ ss: '%d 秒',
22804
+ m: '1 分鐘',
22805
+ mm: '%d 分鐘',
22806
+ h: '1 小時',
22807
+ hh: '%d 小時',
22808
+ d: '1 天',
22809
+ dd: '%d 天',
22810
+ M: '1 個月',
22811
+ MM: '%d 個月',
22812
+ y: '1 年',
22813
+ yy: '%d 年',
22814
+ },
22815
+ });
22816
+
22817
+ return zhMo;
22818
+
22819
+ })));
22820
+
22821
+
22822
+ /***/ }),
22823
+ /* 204 */
22824
+ /***/ (function(module, exports, __webpack_require__) {
22825
+
22826
+ //! moment.js locale configuration
22827
+ //! locale : Chinese (Taiwan) [zh-tw]
22828
+ //! author : Ben : https://github.com/ben-lin
22829
+ //! author : Chris Lam : https://github.com/hehachris
22830
+
22831
+ ;(function (global, factory) {
22832
+ true ? factory(__webpack_require__(0)) :
22833
+ typeof define === 'function' && define.amd ? define(['../moment'], factory) :
22834
+ factory(global.moment)
22835
+ }(this, (function (moment) { 'use strict';
22836
+
22837
+ //! moment.js locale configuration
22838
+
22839
+ var zhTw = moment.defineLocale('zh-tw', {
22840
+ months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(
22841
+ '_'
22842
+ ),
22843
+ monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(
22844
+ '_'
22845
+ ),
22846
+ weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
22847
+ weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),
22848
+ weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
22849
+ longDateFormat: {
22850
+ LT: 'HH:mm',
22851
+ LTS: 'HH:mm:ss',
22852
+ L: 'YYYY/MM/DD',
22853
+ LL: 'YYYY年M月D日',
22854
+ LLL: 'YYYY年M月D日 HH:mm',
22855
+ LLLL: 'YYYY年M月D日dddd HH:mm',
22856
+ l: 'YYYY/M/D',
22857
+ ll: 'YYYY年M月D日',
22858
+ lll: 'YYYY年M月D日 HH:mm',
22859
+ llll: 'YYYY年M月D日dddd HH:mm',
22860
+ },
22861
+ meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
22862
+ meridiemHour: function (hour, meridiem) {
22863
+ if (hour === 12) {
22864
+ hour = 0;
22865
+ }
22866
+ if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
22867
+ return hour;
22868
+ } else if (meridiem === '中午') {
22869
+ return hour >= 11 ? hour : hour + 12;
22870
+ } else if (meridiem === '下午' || meridiem === '晚上') {
22871
+ return hour + 12;
22872
+ }
22873
+ },
22874
+ meridiem: function (hour, minute, isLower) {
22875
+ var hm = hour * 100 + minute;
22876
+ if (hm < 600) {
22877
+ return '凌晨';
22878
+ } else if (hm < 900) {
22879
+ return '早上';
22880
+ } else if (hm < 1130) {
22881
+ return '上午';
22882
+ } else if (hm < 1230) {
22883
+ return '中午';
22884
+ } else if (hm < 1800) {
22885
+ return '下午';
22886
+ } else {
22887
+ return '晚上';
22888
+ }
22889
+ },
22890
+ calendar: {
22891
+ sameDay: '[今天] LT',
22892
+ nextDay: '[明天] LT',
22893
+ nextWeek: '[下]dddd LT',
22894
+ lastDay: '[昨天] LT',
22895
+ lastWeek: '[上]dddd LT',
22896
+ sameElse: 'L',
22897
+ },
22898
+ dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
22899
+ ordinal: function (number, period) {
22900
+ switch (period) {
22901
+ case 'd':
22902
+ case 'D':
22903
+ case 'DDD':
22904
+ return number + '日';
22905
+ case 'M':
22906
+ return number + '月';
22907
+ case 'w':
22908
+ case 'W':
22909
+ return number + '週';
22910
+ default:
22911
+ return number;
22912
+ }
22913
+ },
22914
+ relativeTime: {
22915
+ future: '%s後',
22916
+ past: '%s前',
22917
+ s: '幾秒',
22918
+ ss: '%d 秒',
22919
+ m: '1 分鐘',
22920
+ mm: '%d 分鐘',
22921
+ h: '1 小時',
22922
+ hh: '%d 小時',
22923
+ d: '1 天',
22924
+ dd: '%d 天',
22925
+ M: '1 個月',
22926
+ MM: '%d 個月',
22927
+ y: '1 年',
22928
+ yy: '%d 年',
22929
+ },
22930
+ });
22931
+
22932
+ return zhTw;
22933
+
22934
+ })));
22935
+
22936
+
22937
+ /***/ }),
22938
+ /* 205 */
22939
+ /***/ (function(module, exports, __webpack_require__) {
22940
+
22941
+ var ListCache = __webpack_require__(19),
22942
+ stackClear = __webpack_require__(291),
22943
+ stackDelete = __webpack_require__(292),
22944
+ stackGet = __webpack_require__(293),
22945
+ stackHas = __webpack_require__(294),
22946
+ stackSet = __webpack_require__(295);
22947
+
22948
+ /**
22949
+ * Creates a stack cache object to store key-value pairs.
22950
+ *
22951
+ * @private
22952
+ * @constructor
22953
+ * @param {Array} [entries] The key-value pairs to cache.
22954
+ */
22955
+ function Stack(entries) {
22956
+ var data = this.__data__ = new ListCache(entries);
22957
+ this.size = data.size;
22958
+ }
22959
+
22960
+ // Add methods to `Stack`.
22961
+ Stack.prototype.clear = stackClear;
22962
+ Stack.prototype['delete'] = stackDelete;
22963
+ Stack.prototype.get = stackGet;
22964
+ Stack.prototype.has = stackHas;
22965
+ Stack.prototype.set = stackSet;
22966
+
22967
+ module.exports = Stack;
22968
+
22969
+
22970
+ /***/ }),
22971
+ /* 206 */
22972
+ /***/ (function(module, exports) {
22973
+
22974
+ /**
22975
+ * Performs a
22976
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
22977
+ * comparison between two values to determine if they are equivalent.
22978
+ *
22979
+ * @static
22980
+ * @memberOf _
22981
+ * @since 4.0.0
22982
+ * @category Lang
22983
+ * @param {*} value The value to compare.
22984
+ * @param {*} other The other value to compare.
22985
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
22986
+ * @example
22987
+ *
22988
+ * var object = { 'a': 1 };
22989
+ * var other = { 'a': 1 };
22990
+ *
22991
+ * _.eq(object, object);
22992
+ * // => true
22993
+ *
22994
+ * _.eq(object, other);
22995
+ * // => false
22996
+ *
22997
+ * _.eq('a', 'a');
22998
+ * // => true
22999
+ *
23000
+ * _.eq('a', Object('a'));
23001
+ * // => false
23002
+ *
23003
+ * _.eq(NaN, NaN);
23004
+ * // => true
23005
+ */
23006
+ function eq(value, other) {
23007
+ return value === other || (value !== value && other !== other);
23008
+ }
23009
+
23010
+ module.exports = eq;
23011
+
23012
+
23013
+ /***/ }),
23014
+ /* 207 */
23015
+ /***/ (function(module, exports, __webpack_require__) {
23016
+
23017
+ var baseGetTag = __webpack_require__(14),
23018
+ isObject = __webpack_require__(38);
23019
+
23020
+ /** `Object#toString` result references. */
23021
+ var asyncTag = '[object AsyncFunction]',
23022
+ funcTag = '[object Function]',
23023
+ genTag = '[object GeneratorFunction]',
23024
+ proxyTag = '[object Proxy]';
23025
+
23026
+ /**
23027
+ * Checks if `value` is classified as a `Function` object.
23028
+ *
23029
+ * @static
23030
+ * @memberOf _
23031
+ * @since 0.1.0
23032
+ * @category Lang
23033
+ * @param {*} value The value to check.
23034
+ * @returns {boolean} Returns `true` if `value` is a function, else `false`.
23035
+ * @example
23036
+ *
23037
+ * _.isFunction(_);
23038
+ * // => true
23039
+ *
23040
+ * _.isFunction(/abc/);
23041
+ * // => false
23042
+ */
23043
+ function isFunction(value) {
23044
+ if (!isObject(value)) {
23045
+ return false;
23046
+ }
23047
+ // The use of `Object#toString` avoids issues with the `typeof` operator
23048
+ // in Safari 9 which returns 'object' for typed arrays and other constructors.
23049
+ var tag = baseGetTag(value);
23050
+ return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
23051
+ }
23052
+
23053
+ module.exports = isFunction;
23054
+
23055
+
23056
+ /***/ }),
23057
+ /* 208 */
23058
+ /***/ (function(module, exports, __webpack_require__) {
23059
+
23060
+ /* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
23061
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
23062
+
23063
+ module.exports = freeGlobal;
23064
+
23065
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(297)))
23066
+
23067
+ /***/ }),
23068
+ /* 209 */
23069
+ /***/ (function(module, exports) {
23070
+
23071
+ /** Used for built-in method references. */
23072
+ var funcProto = Function.prototype;
23073
+
23074
+ /** Used to resolve the decompiled source of functions. */
23075
+ var funcToString = funcProto.toString;
23076
+
23077
+ /**
23078
+ * Converts `func` to its source code.
23079
+ *
23080
+ * @private
23081
+ * @param {Function} func The function to convert.
23082
+ * @returns {string} Returns the source code.
23083
+ */
23084
+ function toSource(func) {
23085
+ if (func != null) {
23086
+ try {
23087
+ return funcToString.call(func);
23088
+ } catch (e) {}
23089
+ try {
23090
+ return (func + '');
23091
+ } catch (e) {}
23092
+ }
23093
+ return '';
23094
+ }
23095
+
23096
+ module.exports = toSource;
23097
+
23098
+
23099
+ /***/ }),
23100
+ /* 210 */
23101
+ /***/ (function(module, exports, __webpack_require__) {
23102
+
23103
+ var SetCache = __webpack_require__(315),
23104
+ arraySome = __webpack_require__(318),
23105
+ cacheHas = __webpack_require__(319);
23106
+
23107
+ /** Used to compose bitmasks for value comparisons. */
23108
+ var COMPARE_PARTIAL_FLAG = 1,
23109
+ COMPARE_UNORDERED_FLAG = 2;
23110
+
23111
+ /**
23112
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
23113
+ * partial deep comparisons.
23114
+ *
23115
+ * @private
23116
+ * @param {Array} array The array to compare.
23117
+ * @param {Array} other The other array to compare.
23118
+ * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
23119
+ * @param {Function} customizer The function to customize comparisons.
23120
+ * @param {Function} equalFunc The function to determine equivalents of values.
23121
+ * @param {Object} stack Tracks traversed `array` and `other` objects.
23122
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
23123
+ */
23124
+ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
23125
+ var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
23126
+ arrLength = array.length,
23127
+ othLength = other.length;
23128
+
23129
+ if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
23130
+ return false;
23131
+ }
23132
+ // Assume cyclic values are equal.
23133
+ var stacked = stack.get(array);
23134
+ if (stacked && stack.get(other)) {
23135
+ return stacked == other;
23136
+ }
23137
+ var index = -1,
23138
+ result = true,
23139
+ seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
23140
+
23141
+ stack.set(array, other);
23142
+ stack.set(other, array);
23143
+
23144
+ // Ignore non-index properties.
23145
+ while (++index < arrLength) {
23146
+ var arrValue = array[index],
23147
+ othValue = other[index];
23148
+
23149
+ if (customizer) {
23150
+ var compared = isPartial
23151
+ ? customizer(othValue, arrValue, index, other, array, stack)
23152
+ : customizer(arrValue, othValue, index, array, other, stack);
23153
+ }
23154
+ if (compared !== undefined) {
23155
+ if (compared) {
23156
+ continue;
23157
+ }
23158
+ result = false;
23159
+ break;
23160
+ }
23161
+ // Recursively compare arrays (susceptible to call stack limits).
23162
+ if (seen) {
23163
+ if (!arraySome(other, function(othValue, othIndex) {
23164
+ if (!cacheHas(seen, othIndex) &&
23165
+ (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
23166
+ return seen.push(othIndex);
23167
+ }
23168
+ })) {
23169
+ result = false;
23170
+ break;
23171
+ }
23172
+ } else if (!(
23173
+ arrValue === othValue ||
23174
+ equalFunc(arrValue, othValue, bitmask, customizer, stack)
23175
+ )) {
23176
+ result = false;
23177
+ break;
23178
+ }
23179
+ }
23180
+ stack['delete'](array);
23181
+ stack['delete'](other);
23182
+ return result;
23183
+ }
23184
+
23185
+ module.exports = equalArrays;
23186
+
23187
+
23188
+ /***/ }),
23189
+ /* 211 */
23190
+ /***/ (function(module, exports, __webpack_require__) {
23191
+
23192
+ var baseIsArguments = __webpack_require__(333),
23193
+ isObjectLike = __webpack_require__(15);
23194
+
23195
+ /** Used for built-in method references. */
23196
+ var objectProto = Object.prototype;
23197
+
23198
+ /** Used to check objects for own properties. */
23199
+ var hasOwnProperty = objectProto.hasOwnProperty;
23200
+
23201
+ /** Built-in value references. */
23202
+ var propertyIsEnumerable = objectProto.propertyIsEnumerable;
23203
+
23204
+ /**
23205
+ * Checks if `value` is likely an `arguments` object.
23206
+ *
23207
+ * @static
23208
+ * @memberOf _
23209
+ * @since 0.1.0
23210
+ * @category Lang
23211
+ * @param {*} value The value to check.
23212
+ * @returns {boolean} Returns `true` if `value` is an `arguments` object,
23213
+ * else `false`.
23214
+ * @example
23215
+ *
23216
+ * _.isArguments(function() { return arguments; }());
23217
+ * // => true
23218
+ *
23219
+ * _.isArguments([1, 2, 3]);
23220
+ * // => false
23221
+ */
23222
+ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
23223
+ return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
23224
+ !propertyIsEnumerable.call(value, 'callee');
23225
+ };
23226
+
23227
+ module.exports = isArguments;
23228
+
23229
+
23230
+ /***/ }),
23231
+ /* 212 */
23232
+ /***/ (function(module, exports, __webpack_require__) {
23233
+
23234
+ /* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(4),
23235
+ stubFalse = __webpack_require__(334);
23236
+
23237
+ /** Detect free variable `exports`. */
23238
+ var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
23239
+
23240
+ /** Detect free variable `module`. */
23241
+ var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
23242
+
23243
+ /** Detect the popular CommonJS extension `module.exports`. */
23244
+ var moduleExports = freeModule && freeModule.exports === freeExports;
23245
+
23246
+ /** Built-in value references. */
23247
+ var Buffer = moduleExports ? root.Buffer : undefined;
23248
+
23249
+ /* Built-in method references for those with the same name as other `lodash` methods. */
23250
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
23251
+
23252
+ /**
23253
+ * Checks if `value` is a buffer.
23254
+ *
23255
+ * @static
23256
+ * @memberOf _
23257
+ * @since 4.3.0
23258
+ * @category Lang
23259
+ * @param {*} value The value to check.
23260
+ * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
23261
+ * @example
23262
+ *
23263
+ * _.isBuffer(new Buffer(2));
23264
+ * // => true
23265
+ *
23266
+ * _.isBuffer(new Uint8Array(2));
23267
+ * // => false
23268
+ */
23269
+ var isBuffer = nativeIsBuffer || stubFalse;
23270
+
23271
+ module.exports = isBuffer;
23272
+
23273
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(35)(module)))
23274
+
23275
+ /***/ }),
23276
+ /* 213 */
23277
+ /***/ (function(module, exports) {
23278
+
23279
+ /** Used as references for various `Number` constants. */
23280
+ var MAX_SAFE_INTEGER = 9007199254740991;
23281
+
23282
+ /** Used to detect unsigned integer values. */
23283
+ var reIsUint = /^(?:0|[1-9]\d*)$/;
23284
+
23285
+ /**
23286
+ * Checks if `value` is a valid array-like index.
23287
+ *
23288
+ * @private
23289
+ * @param {*} value The value to check.
23290
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
23291
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
23292
+ */
23293
+ function isIndex(value, length) {
23294
+ var type = typeof value;
23295
+ length = length == null ? MAX_SAFE_INTEGER : length;
23296
+
23297
+ return !!length &&
23298
+ (type == 'number' ||
23299
+ (type != 'symbol' && reIsUint.test(value))) &&
23300
+ (value > -1 && value % 1 == 0 && value < length);
23301
+ }
23302
+
23303
+ module.exports = isIndex;
23304
+
23305
+
23306
+ /***/ }),
23307
+ /* 214 */
23308
+ /***/ (function(module, exports, __webpack_require__) {
23309
+
23310
+ var baseIsTypedArray = __webpack_require__(335),
23311
+ baseUnary = __webpack_require__(336),
23312
+ nodeUtil = __webpack_require__(337);
23313
+
23314
+ /* Node.js helper references. */
23315
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
23316
+
23317
+ /**
23318
+ * Checks if `value` is classified as a typed array.
23319
+ *
23320
+ * @static
23321
+ * @memberOf _
23322
+ * @since 3.0.0
23323
+ * @category Lang
23324
+ * @param {*} value The value to check.
23325
+ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
23326
+ * @example
23327
+ *
23328
+ * _.isTypedArray(new Uint8Array);
23329
+ * // => true
23330
+ *
23331
+ * _.isTypedArray([]);
23332
+ * // => false
23333
+ */
23334
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
23335
+
23336
+ module.exports = isTypedArray;
23337
+
23338
+
23339
+ /***/ }),
23340
+ /* 215 */
23341
+ /***/ (function(module, exports, __webpack_require__) {
23342
+
23343
+ var isFunction = __webpack_require__(207),
23344
+ isLength = __webpack_require__(41);
23345
+
23346
+ /**
23347
+ * Checks if `value` is array-like. A value is considered array-like if it's
23348
+ * not a function and has a `value.length` that's an integer greater than or
23349
+ * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
23350
+ *
23351
+ * @static
23352
+ * @memberOf _
23353
+ * @since 4.0.0
23354
+ * @category Lang
23355
+ * @param {*} value The value to check.
23356
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
23357
+ * @example
23358
+ *
23359
+ * _.isArrayLike([1, 2, 3]);
23360
+ * // => true
23361
+ *
23362
+ * _.isArrayLike(document.body.children);
23363
+ * // => true
23364
+ *
23365
+ * _.isArrayLike('abc');
23366
+ * // => true
23367
+ *
23368
+ * _.isArrayLike(_.noop);
23369
+ * // => false
23370
+ */
23371
+ function isArrayLike(value) {
23372
+ return value != null && isLength(value.length) && !isFunction(value);
23373
+ }
23374
+
23375
+ module.exports = isArrayLike;
23376
+
23377
+
23378
+ /***/ }),
23379
+ /* 216 */
23380
+ /***/ (function(module, exports, __webpack_require__) {
23381
+
23382
+ var isObject = __webpack_require__(38);
23383
+
23384
+ /**
23385
+ * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
23386
+ *
23387
+ * @private
23388
+ * @param {*} value The value to check.
23389
+ * @returns {boolean} Returns `true` if `value` if suitable for strict
23390
+ * equality comparisons, else `false`.
23391
+ */
23392
+ function isStrictComparable(value) {
23393
+ return value === value && !isObject(value);
23394
+ }
23395
+
23396
+ module.exports = isStrictComparable;
23397
+
23398
+
23399
+ /***/ }),
23400
+ /* 217 */
23401
+ /***/ (function(module, exports) {
23402
+
23403
+ /**
23404
+ * A specialized version of `matchesProperty` for source values suitable
23405
+ * for strict equality comparisons, i.e. `===`.
23406
+ *
23407
+ * @private
23408
+ * @param {string} key The key of the property to get.
23409
+ * @param {*} srcValue The value to match.
23410
+ * @returns {Function} Returns the new spec function.
23411
+ */
23412
+ function matchesStrictComparable(key, srcValue) {
23413
+ return function(object) {
23414
+ if (object == null) {
23415
+ return false;
23416
+ }
23417
+ return object[key] === srcValue &&
23418
+ (srcValue !== undefined || (key in Object(object)));
23419
+ };
23420
+ }
23421
+
23422
+ module.exports = matchesStrictComparable;
23423
+
23424
+
23425
+ /***/ }),
23426
+ /* 218 */
23427
+ /***/ (function(module, exports, __webpack_require__) {
23428
+
23429
+ var castPath = __webpack_require__(219),
23430
+ toKey = __webpack_require__(24);
23431
+
23432
+ /**
23433
+ * The base implementation of `_.get` without support for default values.
23434
+ *
23435
+ * @private
23436
+ * @param {Object} object The object to query.
23437
+ * @param {Array|string} path The path of the property to get.
23438
+ * @returns {*} Returns the resolved value.
23439
+ */
23440
+ function baseGet(object, path) {
23441
+ path = castPath(path, object);
23442
+
23443
+ var index = 0,
23444
+ length = path.length;
23445
+
23446
+ while (object != null && index < length) {
23447
+ object = object[toKey(path[index++])];
23448
+ }
23449
+ return (index && index == length) ? object : undefined;
23450
+ }
23451
+
23452
+ module.exports = baseGet;
23453
+
23454
+
23455
+ /***/ }),
23456
+ /* 219 */
23457
+ /***/ (function(module, exports, __webpack_require__) {
23458
+
23459
+ var isArray = __webpack_require__(5),
23460
+ isKey = __webpack_require__(42),
23461
+ stringToPath = __webpack_require__(364),
23462
+ toString = __webpack_require__(367);
23463
+
23464
+ /**
23465
+ * Casts `value` to a path array if it's not one.
23466
+ *
23467
+ * @private
23468
+ * @param {*} value The value to inspect.
23469
+ * @param {Object} [object] The object to query keys on.
23470
+ * @returns {Array} Returns the cast property path array.
23471
+ */
23472
+ function castPath(value, object) {
23473
+ if (isArray(value)) {
23474
+ return value;
23475
+ }
23476
+ return isKey(value, object) ? [value] : stringToPath(toString(value));
23477
+ }
23478
+
23479
+ module.exports = castPath;
23480
+
23481
+
23482
+ /***/ }),
23483
+ /* 220 */
23484
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
23485
+
23486
+ "use strict";
23487
+ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
23488
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assets_scss_GUTENBERG_APP_THEME_editor_scss__ = __webpack_require__(221);
23489
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__assets_scss_GUTENBERG_APP_THEME_editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__assets_scss_GUTENBERG_APP_THEME_editor_scss__);
23490
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__plugins___ = __webpack_require__(222);
23491
+ /**
23492
+ * Import styles & files
23493
+ */
23494
+ var setLocaleData = wp.i18n.setLocaleData;
23495
+
23496
+
23497
+ if ('undefined' !== typeof window.exactmetrics_gutenberg_tool_vars.translations) {
23498
+ setLocaleData(window.exactmetrics_gutenberg_tool_vars.translations, "google-analytics-for-wordpress");
23499
+ }
23500
+
23501
+
23502
+
23503
+ // import plugins
23504
+
23505
+
23506
+ /***/ }),
23507
+ /* 221 */
23508
+ /***/ (function(module, exports) {
23509
+
23510
+ // removed by extract-text-webpack-plugin
23511
+
23512
+ /***/ }),
23513
+ /* 222 */
23514
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
23515
+
23516
+ "use strict";
23517
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__GUTENBERG_APP_THEME_Headline_Analyzer__ = __webpack_require__(223);
23518
+ /**
23519
+ * Import Sidebar Plugins
23520
+ */
23521
+
23522
+
23523
+
23524
+ /***/ }),
23525
+ /* 223 */
23526
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
23527
+
23528
+ "use strict";
23529
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray__ = __webpack_require__(44);
23530
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray__);
23531
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__ = __webpack_require__(59);
23532
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__);
23533
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_slicedToArray__ = __webpack_require__(60);
23534
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_slicedToArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_slicedToArray__);
23535
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons__ = __webpack_require__(13);
23536
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios__ = __webpack_require__(62);
23537
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_axios__);
23538
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_HeadlineSwitcher__ = __webpack_require__(275);
23539
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_HeadlinePanelPreviousScores__ = __webpack_require__(379);
23540
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_HeadlinePanelWordBalance__ = __webpack_require__(380);
23541
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_HeadlinePanelSentiment__ = __webpack_require__(382);
23542
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_HeadlinePanelType__ = __webpack_require__(383);
23543
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_HeadlinePanelCharacterCount__ = __webpack_require__(384);
23544
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_HeadlinePanelWordCount__ = __webpack_require__(385);
23545
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_HeadlinePanelStartEndWords__ = __webpack_require__(386);
23546
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_HeadlinePanelSearchPreview__ = __webpack_require__(387);
23547
+
23548
+
23549
+
23550
+ var __ = wp.i18n.__;
23551
+ var _wp$element = wp.element,
23552
+ Fragment = _wp$element.Fragment,
23553
+ useState = _wp$element.useState,
23554
+ useEffect = _wp$element.useEffect;
23555
+ var registerPlugin = wp.plugins.registerPlugin;
23556
+ var _wp$editPost = wp.editPost,
23557
+ PluginSidebar = _wp$editPost.PluginSidebar,
23558
+ PluginSidebarMoreMenuItem = _wp$editPost.PluginSidebarMoreMenuItem;
23559
+ var select = wp.data.select;
23560
+
23561
+
23562
+
23563
+
23564
+
23565
+
23566
+
23567
+
23568
+
23569
+
23570
+
23571
+
23572
+
23573
+
23574
+ var ExactMetricsHeadlineAnalyzer = function ExactMetricsHeadlineAnalyzer(props) {
23575
+ var postTitle = select("core/editor").getEditedPostAttribute('title');
23576
+ var textHeadlineAnalyzer = __("Headline Analyzer", "google-analytics-for-wordpress");
23577
+ var emptyTitleWarning = __("Write your post title to see the analyzer data. This Headline Analyzer tool enables you to write irresistible SEO headlines that drive traffic, shares, and rank better in search results.", "google-analytics-for-wordpress");
23578
+
23579
+ var _useState = useState({}),
23580
+ _useState2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_slicedToArray___default()(_useState, 2),
23581
+ analyzer = _useState2[0],
23582
+ setAnalyzer = _useState2[1];
23583
+
23584
+ var pinnedIcon = document.querySelector(".components-button[aria-label='" + textHeadlineAnalyzer + "'] svg");
23585
+ var previousScores = 'undefined' !== typeof analyzer.previousHeadlinesData ? analyzer.previousHeadlinesData : [];
23586
+
23587
+ if (pinnedIcon) {
23588
+ var scoreTag = document.createElement('span');
23589
+ if (analyzer.dataExist && 'undefined' !== typeof analyzer.currentHeadlineData.score) {
23590
+ var currentScore = analyzer.currentHeadlineData.score;
23591
+ var classOnScore = currentScore < 40 ? 'red' : currentScore <= 60 ? 'orange' : 'green';
23592
+ pinnedIcon.parentNode.setAttribute('monstrinsights-button-color', classOnScore);
23593
+ if (!pinnedIcon.nextElementSibling) {
23594
+ scoreTag.innerHTML = currentScore + "/100";
23595
+ pinnedIcon.parentNode.insertBefore(scoreTag, pinnedIcon.nextSibling);
23596
+ } else {
23597
+ pinnedIcon.nextElementSibling.innerHTML = currentScore + "/100";
23598
+ }
23599
+ } else {
23600
+ pinnedIcon.parentNode.setAttribute('monstrinsights-button-color', 'red');
23601
+ if (!pinnedIcon.nextElementSibling) {
23602
+ scoreTag.innerHTML = '00/100';
23603
+ pinnedIcon.parentNode.insertBefore(scoreTag, pinnedIcon.nextSibling);
23604
+ } else {
23605
+ pinnedIcon.nextElementSibling.innerHTML = '00/100';
23606
+ }
23607
+ }
23608
+ }
23609
+
23610
+ var updateAnalyzerData = function updateAnalyzerData(data) {
23611
+ setAnalyzer(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, analyzer, data));
23612
+ };
23613
+
23614
+ useEffect(function () {
23615
+ var formData = new FormData();
23616
+
23617
+ formData.append('_ajax_nonce', exactmetrics_gutenberg_tool_vars.nonce);
23618
+ formData.append('action', 'exactmetrics_gutenberg_headline_analyzer_get_results');
23619
+ formData.append('dataType', 'json');
23620
+ formData.append('q', postTitle);
23621
+
23622
+ __WEBPACK_IMPORTED_MODULE_4_axios___default.a.post(exactmetrics_gutenberg_tool_vars.ajaxurl, formData).then(function (response) {
23623
+ var newAnalyzerData = {
23624
+ dataExist: false
23625
+ };
23626
+ if (response.data.data.analysed) {
23627
+ newAnalyzerData.currentHeadlineData = response.data.data;
23628
+ newAnalyzerData.headlineData = response.data.data;
23629
+ newAnalyzerData.dataExist = true;
23630
+ if ('undefined' !== typeof analyzer.headlineData) {
23631
+ newAnalyzerData.previousHeadlinesData = [analyzer.headlineData].concat(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_toConsumableArray___default()(previousScores));
23632
+ };
23633
+ }
23634
+ setAnalyzer(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, analyzer, newAnalyzerData));
23635
+ }).catch(function (error) {
23636
+ var newAnalyzerData = {
23637
+ dataExist: false
23638
+ };
23639
+ setAnalyzer(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, analyzer, newAnalyzerData));
23640
+ console.log(error);
23641
+ });
23642
+ }, [postTitle]);
23643
+
23644
+ return wp.element.createElement(
23645
+ Fragment,
23646
+ null,
23647
+ wp.element.createElement(
23648
+ PluginSidebarMoreMenuItem,
23649
+ {
23650
+ target: "exactmetrics-headline-analyzer" },
23651
+ textHeadlineAnalyzer
23652
+ ),
23653
+ wp.element.createElement(
23654
+ PluginSidebar,
23655
+ {
23656
+ name: "exactmetrics-headline-analyzer",
23657
+ title: textHeadlineAnalyzer,
23658
+ className: "exactmetrics-headline-analyzer-wrapper",
23659
+ icon: __WEBPACK_IMPORTED_MODULE_3__icons__["a" /* default */].headline },
23660
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_5__components_HeadlineSwitcher__["a" /* default */], {
23661
+ analyzer: analyzer,
23662
+ setAnalyzer: updateAnalyzerData }) : wp.element.createElement(
23663
+ "p",
23664
+ { className: "exactmetrics-headline-analyzer-empty-title-warning" },
23665
+ emptyTitleWarning
23666
+ ),
23667
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed && previousScores.length > 0 ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_6__components_HeadlinePanelPreviousScores__["a" /* default */], {
23668
+ analyzer: analyzer,
23669
+ setAnalyzer: updateAnalyzerData }) : '',
23670
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_7__components_HeadlinePanelWordBalance__["a" /* default */], { data: analyzer.headlineData }) : '',
23671
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_8__components_HeadlinePanelSentiment__["a" /* default */], { data: analyzer.headlineData }) : '',
23672
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_9__components_HeadlinePanelType__["a" /* default */], { data: analyzer.headlineData }) : '',
23673
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_10__components_HeadlinePanelCharacterCount__["a" /* default */], { data: analyzer.headlineData }) : '',
23674
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_11__components_HeadlinePanelWordCount__["a" /* default */], { data: analyzer.headlineData }) : '',
23675
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_12__components_HeadlinePanelStartEndWords__["a" /* default */], { data: analyzer.headlineData }) : '',
23676
+ 'undefined' !== typeof analyzer.headlineData && analyzer.dataExist && analyzer.headlineData.analysed ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_13__components_HeadlinePanelSearchPreview__["a" /* default */], { data: analyzer.headlineData }) : ''
23677
+ )
23678
+ );
23679
+ };
23680
+
23681
+ // register & render editor sidebar plugin for post_type `post` only
23682
+ if ('undefined' !== typeof exactmetrics_gutenberg_tool_vars && exactmetrics_gutenberg_tool_vars.allowed_post_types.includes(exactmetrics_gutenberg_tool_vars.current_post_type) && exactmetrics_gutenberg_tool_vars.is_headline_analyzer_enabled) {
23683
+ registerPlugin("exactmetrics-headline-analyzer", {
23684
+ icon: __WEBPACK_IMPORTED_MODULE_3__icons__["a" /* default */].headlineBlack,
23685
+ render: ExactMetricsHeadlineAnalyzer
23686
+ });
23687
+ }
23688
+
23689
+ /***/ }),
23690
+ /* 224 */
23691
+ /***/ (function(module, exports, __webpack_require__) {
23692
+
23693
+ module.exports = { "default": __webpack_require__(225), __esModule: true };
23694
+
23695
+ /***/ }),
23696
+ /* 225 */
23697
+ /***/ (function(module, exports, __webpack_require__) {
23698
+
23699
+ __webpack_require__(25);
23700
+ __webpack_require__(239);
23701
+ module.exports = __webpack_require__(6).Array.from;
23702
+
23703
+
23704
+ /***/ }),
23705
+ /* 226 */
23706
+ /***/ (function(module, exports, __webpack_require__) {
23707
+
23708
+ var toInteger = __webpack_require__(26);
23709
+ var defined = __webpack_require__(27);
23710
+ // true -> String#at
23711
+ // false -> String#codePointAt
23712
+ module.exports = function (TO_STRING) {
23713
+ return function (that, pos) {
23714
+ var s = String(defined(that));
23715
+ var i = toInteger(pos);
23716
+ var l = s.length;
23717
+ var a, b;
23718
+ if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
23719
+ a = s.charCodeAt(i);
23720
+ return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
23721
+ ? TO_STRING ? s.charAt(i) : a
23722
+ : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
23723
+ };
23724
+ };
23725
+
23726
+
23727
+ /***/ }),
23728
+ /* 227 */
23729
+ /***/ (function(module, exports) {
23730
+
23731
+ module.exports = function (it) {
23732
+ if (typeof it != 'function') throw TypeError(it + ' is not a function!');
23733
+ return it;
23734
+ };
23735
+
23736
+
23737
+ /***/ }),
23738
+ /* 228 */
23739
+ /***/ (function(module, exports, __webpack_require__) {
23740
+
23741
+ module.exports = !__webpack_require__(12) && !__webpack_require__(30)(function () {
23742
+ return Object.defineProperty(__webpack_require__(48)('div'), 'a', { get: function () { return 7; } }).a != 7;
23743
+ });
23744
+
23745
+
23746
+ /***/ }),
23747
+ /* 229 */
23748
+ /***/ (function(module, exports, __webpack_require__) {
23749
+
23750
+ // 7.1.1 ToPrimitive(input [, PreferredType])
23751
+ var isObject = __webpack_require__(29);
23752
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
23753
+ // and the second argument - flag - preferred type is a string
23754
+ module.exports = function (it, S) {
23755
+ if (!isObject(it)) return it;
23756
+ var fn, val;
23757
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
23758
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
23759
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
23760
+ throw TypeError("Can't convert object to primitive value");
23761
+ };
23762
+
23763
+
23764
+ /***/ }),
23765
+ /* 230 */
23766
+ /***/ (function(module, exports, __webpack_require__) {
23767
+
23768
+ module.exports = __webpack_require__(10);
23769
+
23770
+
23771
+ /***/ }),
23772
+ /* 231 */
23773
+ /***/ (function(module, exports, __webpack_require__) {
23774
+
23775
+ "use strict";
23776
+
23777
+ var create = __webpack_require__(232);
23778
+ var descriptor = __webpack_require__(31);
23779
+ var setToStringTag = __webpack_require__(56);
23780
+ var IteratorPrototype = {};
23781
+
23782
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
23783
+ __webpack_require__(10)(IteratorPrototype, __webpack_require__(2)('iterator'), function () { return this; });
23784
+
23785
+ module.exports = function (Constructor, NAME, next) {
23786
+ Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
23787
+ setToStringTag(Constructor, NAME + ' Iterator');
23788
+ };
23789
+
23790
+
23791
+ /***/ }),
23792
+ /* 232 */
23793
+ /***/ (function(module, exports, __webpack_require__) {
23794
+
23795
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
23796
+ var anObject = __webpack_require__(11);
23797
+ var dPs = __webpack_require__(233);
23798
+ var enumBugKeys = __webpack_require__(55);
23799
+ var IE_PROTO = __webpack_require__(33)('IE_PROTO');
23800
+ var Empty = function () { /* empty */ };
23801
+ var PROTOTYPE = 'prototype';
23802
+
23803
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
23804
+ var createDict = function () {
23805
+ // Thrash, waste and sodomy: IE GC bug
23806
+ var iframe = __webpack_require__(48)('iframe');
23807
+ var i = enumBugKeys.length;
23808
+ var lt = '<';
23809
+ var gt = '>';
23810
+ var iframeDocument;
23811
+ iframe.style.display = 'none';
23812
+ __webpack_require__(237).appendChild(iframe);
23813
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
23814
+ // createDict = iframe.contentWindow.Object;
23815
+ // html.removeChild(iframe);
23816
+ iframeDocument = iframe.contentWindow.document;
23817
+ iframeDocument.open();
23818
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
23819
+ iframeDocument.close();
23820
+ createDict = iframeDocument.F;
23821
+ while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
23822
+ return createDict();
23823
+ };
23824
+
23825
+ module.exports = Object.create || function create(O, Properties) {
23826
+ var result;
23827
+ if (O !== null) {
23828
+ Empty[PROTOTYPE] = anObject(O);
23829
+ result = new Empty();
23830
+ Empty[PROTOTYPE] = null;
23831
+ // add "__proto__" for Object.getPrototypeOf polyfill
23832
+ result[IE_PROTO] = O;
23833
+ } else result = createDict();
23834
+ return Properties === undefined ? result : dPs(result, Properties);
23835
+ };
23836
+
23837
+
23838
+ /***/ }),
23839
+ /* 233 */
23840
+ /***/ (function(module, exports, __webpack_require__) {
23841
+
23842
+ var dP = __webpack_require__(16);
23843
+ var anObject = __webpack_require__(11);
23844
+ var getKeys = __webpack_require__(49);
23845
+
23846
+ module.exports = __webpack_require__(12) ? Object.defineProperties : function defineProperties(O, Properties) {
23847
+ anObject(O);
23848
+ var keys = getKeys(Properties);
23849
+ var length = keys.length;
23850
+ var i = 0;
23851
+ var P;
23852
+ while (length > i) dP.f(O, P = keys[i++], Properties[P]);
23853
+ return O;
23854
+ };
23855
+
23856
+
23857
+ /***/ }),
23858
+ /* 234 */
23859
+ /***/ (function(module, exports, __webpack_require__) {
23860
+
23861
+ var has = __webpack_require__(17);
23862
+ var toIObject = __webpack_require__(32);
23863
+ var arrayIndexOf = __webpack_require__(235)(false);
23864
+ var IE_PROTO = __webpack_require__(33)('IE_PROTO');
23865
+
23866
+ module.exports = function (object, names) {
23867
+ var O = toIObject(object);
23868
+ var i = 0;
23869
+ var result = [];
23870
+ var key;
23871
+ for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
23872
+ // Don't enum bug & hidden keys
23873
+ while (names.length > i) if (has(O, key = names[i++])) {
23874
+ ~arrayIndexOf(result, key) || result.push(key);
23875
+ }
23876
+ return result;
23877
+ };
23878
+
23879
+
23880
+ /***/ }),
23881
+ /* 235 */
23882
+ /***/ (function(module, exports, __webpack_require__) {
23883
+
23884
+ // false -> Array#indexOf
23885
+ // true -> Array#includes
23886
+ var toIObject = __webpack_require__(32);
23887
+ var toLength = __webpack_require__(52);
23888
+ var toAbsoluteIndex = __webpack_require__(236);
23889
+ module.exports = function (IS_INCLUDES) {
23890
+ return function ($this, el, fromIndex) {
23891
+ var O = toIObject($this);
23892
+ var length = toLength(O.length);
23893
+ var index = toAbsoluteIndex(fromIndex, length);
23894
+ var value;
23895
+ // Array#includes uses SameValueZero equality algorithm
23896
+ // eslint-disable-next-line no-self-compare
23897
+ if (IS_INCLUDES && el != el) while (length > index) {
23898
+ value = O[index++];
23899
+ // eslint-disable-next-line no-self-compare
23900
+ if (value != value) return true;
23901
+ // Array#indexOf ignores holes, Array#includes - not
23902
+ } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
23903
+ if (O[index] === el) return IS_INCLUDES || index || 0;
23904
+ } return !IS_INCLUDES && -1;
23905
+ };
23906
+ };
23907
+
23908
+
23909
+ /***/ }),
23910
+ /* 236 */
23911
+ /***/ (function(module, exports, __webpack_require__) {
23912
+
23913
+ var toInteger = __webpack_require__(26);
23914
+ var max = Math.max;
23915
+ var min = Math.min;
23916
+ module.exports = function (index, length) {
23917
+ index = toInteger(index);
23918
+ return index < 0 ? max(index + length, 0) : min(index, length);
23919
+ };
23920
+
23921
+
23922
+ /***/ }),
23923
+ /* 237 */
23924
+ /***/ (function(module, exports, __webpack_require__) {
23925
+
23926
+ var document = __webpack_require__(8).document;
23927
+ module.exports = document && document.documentElement;
23928
+
23929
+
23930
+ /***/ }),
23931
+ /* 238 */
23932
+ /***/ (function(module, exports, __webpack_require__) {
23933
+
23934
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
23935
+ var has = __webpack_require__(17);
23936
+ var toObject = __webpack_require__(34);
23937
+ var IE_PROTO = __webpack_require__(33)('IE_PROTO');
23938
+ var ObjectProto = Object.prototype;
23939
+
23940
+ module.exports = Object.getPrototypeOf || function (O) {
23941
+ O = toObject(O);
23942
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
23943
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
23944
+ return O.constructor.prototype;
23945
+ } return O instanceof Object ? ObjectProto : null;
23946
+ };
23947
+
23948
+
23949
+ /***/ }),
23950
+ /* 239 */
23951
+ /***/ (function(module, exports, __webpack_require__) {
23952
+
23953
+ "use strict";
23954
+
23955
+ var ctx = __webpack_require__(47);
23956
+ var $export = __webpack_require__(28);
23957
+ var toObject = __webpack_require__(34);
23958
+ var call = __webpack_require__(240);
23959
+ var isArrayIter = __webpack_require__(241);
23960
+ var toLength = __webpack_require__(52);
23961
+ var createProperty = __webpack_require__(242);
23962
+ var getIterFn = __webpack_require__(57);
23963
+
23964
+ $export($export.S + $export.F * !__webpack_require__(243)(function (iter) { Array.from(iter); }), 'Array', {
23965
+ // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
23966
+ from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
23967
+ var O = toObject(arrayLike);
23968
+ var C = typeof this == 'function' ? this : Array;
23969
+ var aLen = arguments.length;
23970
+ var mapfn = aLen > 1 ? arguments[1] : undefined;
23971
+ var mapping = mapfn !== undefined;
23972
+ var index = 0;
23973
+ var iterFn = getIterFn(O);
23974
+ var length, result, step, iterator;
23975
+ if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
23976
+ // if object isn't iterable or it's array with default iterator - use simple case
23977
+ if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
23978
+ for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
23979
+ createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
23980
+ }
23981
+ } else {
23982
+ length = toLength(O.length);
23983
+ for (result = new C(length); length > index; index++) {
23984
+ createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
23985
+ }
23986
+ }
23987
+ result.length = index;
23988
+ return result;
23989
+ }
23990
+ });
23991
+
23992
+
23993
+ /***/ }),
23994
+ /* 240 */
23995
+ /***/ (function(module, exports, __webpack_require__) {
23996
+
23997
+ // call something on iterator step with safe closing on error
23998
+ var anObject = __webpack_require__(11);
23999
+ module.exports = function (iterator, fn, value, entries) {
24000
+ try {
24001
+ return entries ? fn(anObject(value)[0], value[1]) : fn(value);
24002
+ // 7.4.6 IteratorClose(iterator, completion)
24003
+ } catch (e) {
24004
+ var ret = iterator['return'];
24005
+ if (ret !== undefined) anObject(ret.call(iterator));
24006
+ throw e;
24007
+ }
24008
+ };
24009
+
24010
+
24011
+ /***/ }),
24012
+ /* 241 */
24013
+ /***/ (function(module, exports, __webpack_require__) {
24014
+
24015
+ // check on default Array iterator
24016
+ var Iterators = __webpack_require__(9);
24017
+ var ITERATOR = __webpack_require__(2)('iterator');
24018
+ var ArrayProto = Array.prototype;
24019
+
24020
+ module.exports = function (it) {
24021
+ return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
24022
+ };
24023
+
24024
+
24025
+ /***/ }),
24026
+ /* 242 */
24027
+ /***/ (function(module, exports, __webpack_require__) {
24028
+
24029
+ "use strict";
24030
+
24031
+ var $defineProperty = __webpack_require__(16);
24032
+ var createDesc = __webpack_require__(31);
24033
+
24034
+ module.exports = function (object, index, value) {
24035
+ if (index in object) $defineProperty.f(object, index, createDesc(0, value));
24036
+ else object[index] = value;
24037
+ };
24038
+
24039
+
24040
+ /***/ }),
24041
+ /* 243 */
24042
+ /***/ (function(module, exports, __webpack_require__) {
24043
+
24044
+ var ITERATOR = __webpack_require__(2)('iterator');
24045
+ var SAFE_CLOSING = false;
24046
+
24047
+ try {
24048
+ var riter = [7][ITERATOR]();
24049
+ riter['return'] = function () { SAFE_CLOSING = true; };
24050
+ // eslint-disable-next-line no-throw-literal
24051
+ Array.from(riter, function () { throw 2; });
24052
+ } catch (e) { /* empty */ }
24053
+
24054
+ module.exports = function (exec, skipClosing) {
24055
+ if (!skipClosing && !SAFE_CLOSING) return false;
24056
+ var safe = false;
24057
+ try {
24058
+ var arr = [7];
24059
+ var iter = arr[ITERATOR]();
24060
+ iter.next = function () { return { done: safe = true }; };
24061
+ arr[ITERATOR] = function () { return iter; };
24062
+ exec(arr);
24063
+ } catch (e) { /* empty */ }
24064
+ return safe;
24065
+ };
24066
+
24067
+
24068
+ /***/ }),
24069
+ /* 244 */
24070
+ /***/ (function(module, exports, __webpack_require__) {
24071
+
24072
+ module.exports = { "default": __webpack_require__(245), __esModule: true };
24073
+
24074
+ /***/ }),
24075
+ /* 245 */
24076
+ /***/ (function(module, exports, __webpack_require__) {
24077
+
24078
+ __webpack_require__(246);
24079
+ module.exports = __webpack_require__(6).Object.assign;
24080
+
24081
+
24082
+ /***/ }),
24083
+ /* 246 */
24084
+ /***/ (function(module, exports, __webpack_require__) {
24085
+
24086
+ // 19.1.3.1 Object.assign(target, source)
24087
+ var $export = __webpack_require__(28);
24088
+
24089
+ $export($export.S + $export.F, 'Object', { assign: __webpack_require__(247) });
24090
+
24091
+
24092
+ /***/ }),
24093
+ /* 247 */
24094
+ /***/ (function(module, exports, __webpack_require__) {
24095
+
24096
+ "use strict";
24097
+
24098
+ // 19.1.2.1 Object.assign(target, source, ...)
24099
+ var DESCRIPTORS = __webpack_require__(12);
24100
+ var getKeys = __webpack_require__(49);
24101
+ var gOPS = __webpack_require__(248);
24102
+ var pIE = __webpack_require__(249);
24103
+ var toObject = __webpack_require__(34);
24104
+ var IObject = __webpack_require__(50);
24105
+ var $assign = Object.assign;
24106
+
24107
+ // should work with symbols and should have deterministic property order (V8 bug)
24108
+ module.exports = !$assign || __webpack_require__(30)(function () {
24109
+ var A = {};
24110
+ var B = {};
24111
+ // eslint-disable-next-line no-undef
24112
+ var S = Symbol();
24113
+ var K = 'abcdefghijklmnopqrst';
24114
+ A[S] = 7;
24115
+ K.split('').forEach(function (k) { B[k] = k; });
24116
+ return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
24117
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
24118
+ var T = toObject(target);
24119
+ var aLen = arguments.length;
24120
+ var index = 1;
24121
+ var getSymbols = gOPS.f;
24122
+ var isEnum = pIE.f;
24123
+ while (aLen > index) {
24124
+ var S = IObject(arguments[index++]);
24125
+ var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);
24126
+ var length = keys.length;
24127
+ var j = 0;
24128
+ var key;
24129
+ while (length > j) {
24130
+ key = keys[j++];
24131
+ if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];
24132
+ }
24133
+ } return T;
24134
+ } : $assign;
24135
+
24136
+
24137
+ /***/ }),
24138
+ /* 248 */
24139
+ /***/ (function(module, exports) {
24140
+
24141
+ exports.f = Object.getOwnPropertySymbols;
24142
+
24143
+
24144
+ /***/ }),
24145
+ /* 249 */
24146
+ /***/ (function(module, exports) {
24147
+
24148
+ exports.f = {}.propertyIsEnumerable;
24149
+
24150
+
24151
+ /***/ }),
24152
+ /* 250 */
24153
+ /***/ (function(module, exports, __webpack_require__) {
24154
+
24155
+ module.exports = { "default": __webpack_require__(251), __esModule: true };
24156
+
24157
+ /***/ }),
24158
+ /* 251 */
24159
+ /***/ (function(module, exports, __webpack_require__) {
24160
+
24161
+ __webpack_require__(61);
24162
+ __webpack_require__(25);
24163
+ module.exports = __webpack_require__(255);
24164
+
24165
+
24166
+ /***/ }),
24167
+ /* 252 */
24168
+ /***/ (function(module, exports, __webpack_require__) {
24169
+
24170
+ "use strict";
24171
+
24172
+ var addToUnscopables = __webpack_require__(253);
24173
+ var step = __webpack_require__(254);
24174
+ var Iterators = __webpack_require__(9);
24175
+ var toIObject = __webpack_require__(32);
24176
+
24177
+ // 22.1.3.4 Array.prototype.entries()
24178
+ // 22.1.3.13 Array.prototype.keys()
24179
+ // 22.1.3.29 Array.prototype.values()
24180
+ // 22.1.3.30 Array.prototype[@@iterator]()
24181
+ module.exports = __webpack_require__(45)(Array, 'Array', function (iterated, kind) {
24182
+ this._t = toIObject(iterated); // target
24183
+ this._i = 0; // next index
24184
+ this._k = kind; // kind
24185
+ // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
24186
+ }, function () {
24187
+ var O = this._t;
24188
+ var kind = this._k;
24189
+ var index = this._i++;
24190
+ if (!O || index >= O.length) {
24191
+ this._t = undefined;
24192
+ return step(1);
24193
+ }
24194
+ if (kind == 'keys') return step(0, index);
24195
+ if (kind == 'values') return step(0, O[index]);
24196
+ return step(0, [index, O[index]]);
24197
+ }, 'values');
24198
+
24199
+ // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
24200
+ Iterators.Arguments = Iterators.Array;
24201
+
24202
+ addToUnscopables('keys');
24203
+ addToUnscopables('values');
24204
+ addToUnscopables('entries');
24205
+
24206
+
24207
+ /***/ }),
24208
+ /* 253 */
24209
+ /***/ (function(module, exports) {
24210
+
24211
+ module.exports = function () { /* empty */ };
24212
+
24213
+
24214
+ /***/ }),
24215
+ /* 254 */
24216
+ /***/ (function(module, exports) {
24217
+
24218
+ module.exports = function (done, value) {
24219
+ return { value: value, done: !!done };
24220
+ };
24221
+
24222
+
24223
+ /***/ }),
24224
+ /* 255 */
24225
+ /***/ (function(module, exports, __webpack_require__) {
24226
+
24227
+ var classof = __webpack_require__(58);
24228
+ var ITERATOR = __webpack_require__(2)('iterator');
24229
+ var Iterators = __webpack_require__(9);
24230
+ module.exports = __webpack_require__(6).isIterable = function (it) {
24231
+ var O = Object(it);
24232
+ return O[ITERATOR] !== undefined
24233
+ || '@@iterator' in O
24234
+ // eslint-disable-next-line no-prototype-builtins
24235
+ || Iterators.hasOwnProperty(classof(O));
24236
+ };
24237
+
24238
+
24239
+ /***/ }),
24240
+ /* 256 */
24241
+ /***/ (function(module, exports, __webpack_require__) {
24242
+
24243
+ module.exports = { "default": __webpack_require__(257), __esModule: true };
24244
+
24245
+ /***/ }),
24246
+ /* 257 */
24247
+ /***/ (function(module, exports, __webpack_require__) {
24248
+
24249
+ __webpack_require__(61);
24250
+ __webpack_require__(25);
24251
+ module.exports = __webpack_require__(258);
24252
+
24253
+
24254
+ /***/ }),
24255
+ /* 258 */
24256
+ /***/ (function(module, exports, __webpack_require__) {
24257
+
24258
+ var anObject = __webpack_require__(11);
24259
+ var get = __webpack_require__(57);
24260
+ module.exports = __webpack_require__(6).getIterator = function (it) {
24261
+ var iterFn = get(it);
24262
+ if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
24263
+ return anObject(iterFn.call(it));
24264
+ };
24265
+
24266
+
24267
+ /***/ }),
24268
+ /* 259 */
24269
+ /***/ (function(module, exports, __webpack_require__) {
24270
+
24271
+ "use strict";
24272
+
24273
+
24274
+ var utils = __webpack_require__(1);
24275
+ var bind = __webpack_require__(63);
24276
+ var Axios = __webpack_require__(260);
24277
+ var mergeConfig = __webpack_require__(70);
24278
+ var defaults = __webpack_require__(66);
24279
+
24280
+ /**
24281
+ * Create an instance of Axios
24282
+ *
24283
+ * @param {Object} defaultConfig The default config for the instance
24284
+ * @return {Axios} A new instance of Axios
24285
+ */
24286
+ function createInstance(defaultConfig) {
24287
+ var context = new Axios(defaultConfig);
24288
+ var instance = bind(Axios.prototype.request, context);
24289
+
24290
+ // Copy axios.prototype to instance
24291
+ utils.extend(instance, Axios.prototype, context);
24292
+
24293
+ // Copy context to instance
24294
+ utils.extend(instance, context);
24295
+
24296
+ return instance;
24297
+ }
24298
+
24299
+ // Create the default instance to be exported
24300
+ var axios = createInstance(defaults);
24301
+
24302
+ // Expose Axios class to allow class inheritance
24303
+ axios.Axios = Axios;
24304
+
24305
+ // Factory for creating new instances
24306
+ axios.create = function create(instanceConfig) {
24307
+ return createInstance(mergeConfig(axios.defaults, instanceConfig));
24308
+ };
24309
+
24310
+ // Expose Cancel & CancelToken
24311
+ axios.Cancel = __webpack_require__(71);
24312
+ axios.CancelToken = __webpack_require__(273);
24313
+ axios.isCancel = __webpack_require__(65);
24314
+
24315
+ // Expose all/spread
24316
+ axios.all = function all(promises) {
24317
+ return Promise.all(promises);
24318
+ };
24319
+ axios.spread = __webpack_require__(274);
24320
+
24321
+ module.exports = axios;
24322
+
24323
+ // Allow use of default import syntax in TypeScript
24324
+ module.exports.default = axios;
24325
+
24326
+
24327
+ /***/ }),
24328
+ /* 260 */
24329
+ /***/ (function(module, exports, __webpack_require__) {
24330
+
24331
+ "use strict";
24332
+
24333
+
24334
+ var utils = __webpack_require__(1);
24335
+ var buildURL = __webpack_require__(64);
24336
+ var InterceptorManager = __webpack_require__(261);
24337
+ var dispatchRequest = __webpack_require__(262);
24338
+ var mergeConfig = __webpack_require__(70);
24339
+
24340
+ /**
24341
+ * Create a new instance of Axios
24342
+ *
24343
+ * @param {Object} instanceConfig The default config for the instance
24344
+ */
24345
+ function Axios(instanceConfig) {
24346
+ this.defaults = instanceConfig;
24347
+ this.interceptors = {
24348
+ request: new InterceptorManager(),
24349
+ response: new InterceptorManager()
24350
+ };
24351
+ }
24352
+
24353
+ /**
24354
+ * Dispatch a request
24355
+ *
24356
+ * @param {Object} config The config specific for this request (merged with this.defaults)
24357
+ */
24358
+ Axios.prototype.request = function request(config) {
24359
+ /*eslint no-param-reassign:0*/
24360
+ // Allow for axios('example/url'[, config]) a la fetch API
24361
+ if (typeof config === 'string') {
24362
+ config = arguments[1] || {};
24363
+ config.url = arguments[0];
24364
+ } else {
24365
+ config = config || {};
24366
+ }
24367
+
24368
+ config = mergeConfig(this.defaults, config);
24369
+
24370
+ // Set config.method
24371
+ if (config.method) {
24372
+ config.method = config.method.toLowerCase();
24373
+ } else if (this.defaults.method) {
24374
+ config.method = this.defaults.method.toLowerCase();
24375
+ } else {
24376
+ config.method = 'get';
24377
+ }
24378
+
24379
+ // Hook up interceptors middleware
24380
+ var chain = [dispatchRequest, undefined];
24381
+ var promise = Promise.resolve(config);
24382
+
24383
+ this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
24384
+ chain.unshift(interceptor.fulfilled, interceptor.rejected);
24385
+ });
24386
+
24387
+ this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
24388
+ chain.push(interceptor.fulfilled, interceptor.rejected);
24389
+ });
24390
+
24391
+ while (chain.length) {
24392
+ promise = promise.then(chain.shift(), chain.shift());
24393
+ }
24394
+
24395
+ return promise;
24396
+ };
24397
+
24398
+ Axios.prototype.getUri = function getUri(config) {
24399
+ config = mergeConfig(this.defaults, config);
24400
+ return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
24401
+ };
24402
+
24403
+ // Provide aliases for supported request methods
24404
+ utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
24405
+ /*eslint func-names:0*/
24406
+ Axios.prototype[method] = function(url, config) {
24407
+ return this.request(utils.merge(config || {}, {
24408
+ method: method,
24409
+ url: url
24410
+ }));
24411
+ };
24412
+ });
24413
+
24414
+ utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
24415
+ /*eslint func-names:0*/
24416
+ Axios.prototype[method] = function(url, data, config) {
24417
+ return this.request(utils.merge(config || {}, {
24418
+ method: method,
24419
+ url: url,
24420
+ data: data
24421
+ }));
24422
+ };
24423
+ });
24424
+
24425
+ module.exports = Axios;
24426
+
24427
+
24428
+ /***/ }),
24429
+ /* 261 */
24430
+ /***/ (function(module, exports, __webpack_require__) {
24431
+
24432
+ "use strict";
24433
+
24434
+
24435
+ var utils = __webpack_require__(1);
24436
+
24437
+ function InterceptorManager() {
24438
+ this.handlers = [];
24439
+ }
24440
+
24441
+ /**
24442
+ * Add a new interceptor to the stack
24443
+ *
24444
+ * @param {Function} fulfilled The function to handle `then` for a `Promise`
24445
+ * @param {Function} rejected The function to handle `reject` for a `Promise`
24446
+ *
24447
+ * @return {Number} An ID used to remove interceptor later
24448
+ */
24449
+ InterceptorManager.prototype.use = function use(fulfilled, rejected) {
24450
+ this.handlers.push({
24451
+ fulfilled: fulfilled,
24452
+ rejected: rejected
24453
+ });
24454
+ return this.handlers.length - 1;
24455
+ };
24456
+
24457
+ /**
24458
+ * Remove an interceptor from the stack
24459
+ *
24460
+ * @param {Number} id The ID that was returned by `use`
24461
+ */
24462
+ InterceptorManager.prototype.eject = function eject(id) {
24463
+ if (this.handlers[id]) {
24464
+ this.handlers[id] = null;
24465
+ }
24466
+ };
24467
+
24468
+ /**
24469
+ * Iterate over all the registered interceptors
24470
+ *
24471
+ * This method is particularly useful for skipping over any
24472
+ * interceptors that may have become `null` calling `eject`.
24473
+ *
24474
+ * @param {Function} fn The function to call for each interceptor
24475
+ */
24476
+ InterceptorManager.prototype.forEach = function forEach(fn) {
24477
+ utils.forEach(this.handlers, function forEachHandler(h) {
24478
+ if (h !== null) {
24479
+ fn(h);
24480
+ }
24481
+ });
24482
+ };
24483
+
24484
+ module.exports = InterceptorManager;
24485
+
24486
+
24487
+ /***/ }),
24488
+ /* 262 */
24489
+ /***/ (function(module, exports, __webpack_require__) {
24490
+
24491
+ "use strict";
24492
+
24493
+
24494
+ var utils = __webpack_require__(1);
24495
+ var transformData = __webpack_require__(263);
24496
+ var isCancel = __webpack_require__(65);
24497
+ var defaults = __webpack_require__(66);
24498
+
24499
+ /**
24500
+ * Throws a `Cancel` if cancellation has been requested.
24501
+ */
24502
+ function throwIfCancellationRequested(config) {
24503
+ if (config.cancelToken) {
24504
+ config.cancelToken.throwIfRequested();
24505
+ }
24506
+ }
24507
+
24508
+ /**
24509
+ * Dispatch a request to the server using the configured adapter.
24510
+ *
24511
+ * @param {object} config The config that is to be used for the request
24512
+ * @returns {Promise} The Promise to be fulfilled
24513
+ */
24514
+ module.exports = function dispatchRequest(config) {
24515
+ throwIfCancellationRequested(config);
24516
+
24517
+ // Ensure headers exist
24518
+ config.headers = config.headers || {};
24519
+
24520
+ // Transform request data
24521
+ config.data = transformData(
24522
+ config.data,
24523
+ config.headers,
24524
+ config.transformRequest
24525
+ );
24526
+
24527
+ // Flatten headers
24528
+ config.headers = utils.merge(
24529
+ config.headers.common || {},
24530
+ config.headers[config.method] || {},
24531
+ config.headers
24532
+ );
24533
+
24534
+ utils.forEach(
24535
+ ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
24536
+ function cleanHeaderConfig(method) {
24537
+ delete config.headers[method];
24538
+ }
24539
+ );
24540
+
24541
+ var adapter = config.adapter || defaults.adapter;
24542
+
24543
+ return adapter(config).then(function onAdapterResolution(response) {
24544
+ throwIfCancellationRequested(config);
24545
+
24546
+ // Transform response data
24547
+ response.data = transformData(
24548
+ response.data,
24549
+ response.headers,
24550
+ config.transformResponse
24551
+ );
24552
+
24553
+ return response;
24554
+ }, function onAdapterRejection(reason) {
24555
+ if (!isCancel(reason)) {
24556
+ throwIfCancellationRequested(config);
24557
+
24558
+ // Transform response data
24559
+ if (reason && reason.response) {
24560
+ reason.response.data = transformData(
24561
+ reason.response.data,
24562
+ reason.response.headers,
24563
+ config.transformResponse
24564
+ );
24565
+ }
24566
+ }
24567
+
24568
+ return Promise.reject(reason);
24569
+ });
24570
+ };
24571
+
24572
+
24573
+ /***/ }),
24574
+ /* 263 */
24575
+ /***/ (function(module, exports, __webpack_require__) {
24576
+
24577
+ "use strict";
24578
+
24579
+
24580
+ var utils = __webpack_require__(1);
24581
+
24582
+ /**
24583
+ * Transform the data for a request or a response
24584
+ *
24585
+ * @param {Object|String} data The data to be transformed
24586
+ * @param {Array} headers The headers for the request or response
24587
+ * @param {Array|Function} fns A single function or Array of functions
24588
+ * @returns {*} The resulting transformed data
24589
+ */
24590
+ module.exports = function transformData(data, headers, fns) {
24591
+ /*eslint no-param-reassign:0*/
24592
+ utils.forEach(fns, function transform(fn) {
24593
+ data = fn(data, headers);
24594
+ });
24595
+
24596
+ return data;
24597
+ };
24598
+
24599
+
24600
+ /***/ }),
24601
+ /* 264 */
24602
+ /***/ (function(module, exports, __webpack_require__) {
24603
+
24604
+ "use strict";
24605
+
24606
+
24607
+ var utils = __webpack_require__(1);
24608
+
24609
+ module.exports = function normalizeHeaderName(headers, normalizedName) {
24610
+ utils.forEach(headers, function processHeader(value, name) {
24611
+ if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
24612
+ headers[normalizedName] = value;
24613
+ delete headers[name];
24614
+ }
24615
+ });
24616
+ };
24617
+
24618
+
24619
+ /***/ }),
24620
+ /* 265 */
24621
+ /***/ (function(module, exports, __webpack_require__) {
24622
+
24623
+ "use strict";
24624
+
24625
+
24626
+ var createError = __webpack_require__(69);
24627
+
24628
+ /**
24629
+ * Resolve or reject a Promise based on response status.
24630
+ *
24631
+ * @param {Function} resolve A function that resolves the promise.
24632
+ * @param {Function} reject A function that rejects the promise.
24633
+ * @param {object} response The response.
24634
+ */
24635
+ module.exports = function settle(resolve, reject, response) {
24636
+ var validateStatus = response.config.validateStatus;
24637
+ if (!validateStatus || validateStatus(response.status)) {
24638
+ resolve(response);
24639
+ } else {
24640
+ reject(createError(
24641
+ 'Request failed with status code ' + response.status,
24642
+ response.config,
24643
+ null,
24644
+ response.request,
24645
+ response
24646
+ ));
24647
+ }
24648
+ };
24649
+
24650
+
24651
+ /***/ }),
24652
+ /* 266 */
24653
+ /***/ (function(module, exports, __webpack_require__) {
24654
+
24655
+ "use strict";
24656
+
24657
+
24658
+ /**
24659
+ * Update an Error with the specified config, error code, and response.
24660
+ *
24661
+ * @param {Error} error The error to update.
24662
+ * @param {Object} config The config.
24663
+ * @param {string} [code] The error code (for example, 'ECONNABORTED').
24664
+ * @param {Object} [request] The request.
24665
+ * @param {Object} [response] The response.
24666
+ * @returns {Error} The error.
24667
+ */
24668
+ module.exports = function enhanceError(error, config, code, request, response) {
24669
+ error.config = config;
24670
+ if (code) {
24671
+ error.code = code;
24672
+ }
24673
+
24674
+ error.request = request;
24675
+ error.response = response;
24676
+ error.isAxiosError = true;
24677
+
24678
+ error.toJSON = function() {
24679
+ return {
24680
+ // Standard
24681
+ message: this.message,
24682
+ name: this.name,
24683
+ // Microsoft
24684
+ description: this.description,
24685
+ number: this.number,
24686
+ // Mozilla
24687
+ fileName: this.fileName,
24688
+ lineNumber: this.lineNumber,
24689
+ columnNumber: this.columnNumber,
24690
+ stack: this.stack,
24691
+ // Axios
24692
+ config: this.config,
24693
+ code: this.code
24694
+ };
24695
+ };
24696
+ return error;
24697
+ };
24698
+
24699
+
24700
+ /***/ }),
24701
+ /* 267 */
24702
+ /***/ (function(module, exports, __webpack_require__) {
24703
+
24704
+ "use strict";
24705
+
24706
+
24707
+ var isAbsoluteURL = __webpack_require__(268);
24708
+ var combineURLs = __webpack_require__(269);
24709
+
24710
+ /**
24711
+ * Creates a new URL by combining the baseURL with the requestedURL,
24712
+ * only when the requestedURL is not already an absolute URL.
24713
+ * If the requestURL is absolute, this function returns the requestedURL untouched.
24714
+ *
24715
+ * @param {string} baseURL The base URL
24716
+ * @param {string} requestedURL Absolute or relative URL to combine
24717
+ * @returns {string} The combined full path
24718
+ */
24719
+ module.exports = function buildFullPath(baseURL, requestedURL) {
24720
+ if (baseURL && !isAbsoluteURL(requestedURL)) {
24721
+ return combineURLs(baseURL, requestedURL);
24722
+ }
24723
+ return requestedURL;
24724
+ };
24725
+
24726
+
24727
+ /***/ }),
24728
+ /* 268 */
24729
+ /***/ (function(module, exports, __webpack_require__) {
24730
+
24731
+ "use strict";
24732
+
24733
+
24734
+ /**
24735
+ * Determines whether the specified URL is absolute
24736
+ *
24737
+ * @param {string} url The URL to test
24738
+ * @returns {boolean} True if the specified URL is absolute, otherwise false
24739
+ */
24740
+ module.exports = function isAbsoluteURL(url) {
24741
+ // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
24742
+ // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
24743
+ // by any combination of letters, digits, plus, period, or hyphen.
24744
+ return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
24745
+ };
24746
+
24747
+
24748
+ /***/ }),
24749
+ /* 269 */
24750
+ /***/ (function(module, exports, __webpack_require__) {
24751
+
24752
+ "use strict";
24753
+
24754
+
24755
+ /**
24756
+ * Creates a new URL by combining the specified URLs
24757
+ *
24758
+ * @param {string} baseURL The base URL
24759
+ * @param {string} relativeURL The relative URL
24760
+ * @returns {string} The combined URL
24761
+ */
24762
+ module.exports = function combineURLs(baseURL, relativeURL) {
24763
+ return relativeURL
24764
+ ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
24765
+ : baseURL;
24766
+ };
24767
+
24768
+
24769
+ /***/ }),
24770
+ /* 270 */
24771
+ /***/ (function(module, exports, __webpack_require__) {
24772
+
24773
+ "use strict";
24774
+
24775
+
24776
+ var utils = __webpack_require__(1);
24777
+
24778
+ // Headers whose duplicates are ignored by node
24779
+ // c.f. https://nodejs.org/api/http.html#http_message_headers
24780
+ var ignoreDuplicateOf = [
24781
+ 'age', 'authorization', 'content-length', 'content-type', 'etag',
24782
+ 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
24783
+ 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
24784
+ 'referer', 'retry-after', 'user-agent'
24785
+ ];
24786
+
24787
+ /**
24788
+ * Parse headers into an object
24789
+ *
24790
+ * ```
24791
+ * Date: Wed, 27 Aug 2014 08:58:49 GMT
24792
+ * Content-Type: application/json
24793
+ * Connection: keep-alive
24794
+ * Transfer-Encoding: chunked
24795
+ * ```
24796
+ *
24797
+ * @param {String} headers Headers needing to be parsed
24798
+ * @returns {Object} Headers parsed into an object
24799
+ */
24800
+ module.exports = function parseHeaders(headers) {
24801
+ var parsed = {};
24802
+ var key;
24803
+ var val;
24804
+ var i;
24805
+
24806
+ if (!headers) { return parsed; }
24807
+
24808
+ utils.forEach(headers.split('\n'), function parser(line) {
24809
+ i = line.indexOf(':');
24810
+ key = utils.trim(line.substr(0, i)).toLowerCase();
24811
+ val = utils.trim(line.substr(i + 1));
24812
+
24813
+ if (key) {
24814
+ if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
24815
+ return;
24816
+ }
24817
+ if (key === 'set-cookie') {
24818
+ parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
24819
+ } else {
24820
+ parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
24821
+ }
24822
+ }
24823
+ });
24824
+
24825
+ return parsed;
24826
+ };
24827
+
24828
+
24829
+ /***/ }),
24830
+ /* 271 */
24831
+ /***/ (function(module, exports, __webpack_require__) {
24832
+
24833
+ "use strict";
24834
+
24835
+
24836
+ var utils = __webpack_require__(1);
24837
+
24838
+ module.exports = (
24839
+ utils.isStandardBrowserEnv() ?
24840
+
24841
+ // Standard browser envs have full support of the APIs needed to test
24842
+ // whether the request URL is of the same origin as current location.
24843
+ (function standardBrowserEnv() {
24844
+ var msie = /(msie|trident)/i.test(navigator.userAgent);
24845
+ var urlParsingNode = document.createElement('a');
24846
+ var originURL;
24847
+
24848
+ /**
24849
+ * Parse a URL to discover it's components
24850
+ *
24851
+ * @param {String} url The URL to be parsed
24852
+ * @returns {Object}
24853
+ */
24854
+ function resolveURL(url) {
24855
+ var href = url;
24856
+
24857
+ if (msie) {
24858
+ // IE needs attribute set twice to normalize properties
24859
+ urlParsingNode.setAttribute('href', href);
24860
+ href = urlParsingNode.href;
24861
+ }
24862
+
24863
+ urlParsingNode.setAttribute('href', href);
24864
+
24865
+ // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
24866
+ return {
24867
+ href: urlParsingNode.href,
24868
+ protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
24869
+ host: urlParsingNode.host,
24870
+ search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
24871
+ hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
24872
+ hostname: urlParsingNode.hostname,
24873
+ port: urlParsingNode.port,
24874
+ pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
24875
+ urlParsingNode.pathname :
24876
+ '/' + urlParsingNode.pathname
24877
+ };
24878
+ }
24879
+
24880
+ originURL = resolveURL(window.location.href);
24881
+
24882
+ /**
24883
+ * Determine if a URL shares the same origin as the current location
24884
+ *
24885
+ * @param {String} requestURL The URL to test
24886
+ * @returns {boolean} True if URL shares the same origin, otherwise false
24887
+ */
24888
+ return function isURLSameOrigin(requestURL) {
24889
+ var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
24890
+ return (parsed.protocol === originURL.protocol &&
24891
+ parsed.host === originURL.host);
24892
+ };
24893
+ })() :
24894
+
24895
+ // Non standard browser envs (web workers, react-native) lack needed support.
24896
+ (function nonStandardBrowserEnv() {
24897
+ return function isURLSameOrigin() {
24898
+ return true;
24899
+ };
24900
+ })()
24901
+ );
24902
+
24903
+
24904
+ /***/ }),
24905
+ /* 272 */
24906
+ /***/ (function(module, exports, __webpack_require__) {
24907
+
24908
+ "use strict";
24909
+
24910
+
24911
+ var utils = __webpack_require__(1);
24912
+
24913
+ module.exports = (
24914
+ utils.isStandardBrowserEnv() ?
24915
+
24916
+ // Standard browser envs support document.cookie
24917
+ (function standardBrowserEnv() {
24918
+ return {
24919
+ write: function write(name, value, expires, path, domain, secure) {
24920
+ var cookie = [];
24921
+ cookie.push(name + '=' + encodeURIComponent(value));
24922
+
24923
+ if (utils.isNumber(expires)) {
24924
+ cookie.push('expires=' + new Date(expires).toGMTString());
24925
+ }
24926
+
24927
+ if (utils.isString(path)) {
24928
+ cookie.push('path=' + path);
24929
+ }
24930
+
24931
+ if (utils.isString(domain)) {
24932
+ cookie.push('domain=' + domain);
24933
+ }
24934
+
24935
+ if (secure === true) {
24936
+ cookie.push('secure');
24937
+ }
24938
+
24939
+ document.cookie = cookie.join('; ');
24940
+ },
24941
+
24942
+ read: function read(name) {
24943
+ var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
24944
+ return (match ? decodeURIComponent(match[3]) : null);
24945
+ },
24946
+
24947
+ remove: function remove(name) {
24948
+ this.write(name, '', Date.now() - 86400000);
24949
+ }
24950
+ };
24951
+ })() :
24952
+
24953
+ // Non standard browser env (web workers, react-native) lack needed support.
24954
+ (function nonStandardBrowserEnv() {
24955
+ return {
24956
+ write: function write() {},
24957
+ read: function read() { return null; },
24958
+ remove: function remove() {}
24959
+ };
24960
+ })()
24961
+ );
24962
+
24963
+
24964
+ /***/ }),
24965
+ /* 273 */
24966
+ /***/ (function(module, exports, __webpack_require__) {
24967
+
24968
+ "use strict";
24969
+
24970
+
24971
+ var Cancel = __webpack_require__(71);
24972
+
24973
+ /**
24974
+ * A `CancelToken` is an object that can be used to request cancellation of an operation.
24975
+ *
24976
+ * @class
24977
+ * @param {Function} executor The executor function.
24978
+ */
24979
+ function CancelToken(executor) {
24980
+ if (typeof executor !== 'function') {
24981
+ throw new TypeError('executor must be a function.');
24982
+ }
24983
+
24984
+ var resolvePromise;
24985
+ this.promise = new Promise(function promiseExecutor(resolve) {
24986
+ resolvePromise = resolve;
24987
+ });
24988
+
24989
+ var token = this;
24990
+ executor(function cancel(message) {
24991
+ if (token.reason) {
24992
+ // Cancellation has already been requested
24993
+ return;
24994
+ }
24995
+
24996
+ token.reason = new Cancel(message);
24997
+ resolvePromise(token.reason);
24998
+ });
24999
+ }
25000
+
25001
+ /**
25002
+ * Throws a `Cancel` if cancellation has been requested.
25003
+ */
25004
+ CancelToken.prototype.throwIfRequested = function throwIfRequested() {
25005
+ if (this.reason) {
25006
+ throw this.reason;
25007
+ }
25008
+ };
25009
+
25010
+ /**
25011
+ * Returns an object that contains a new `CancelToken` and a function that, when called,
25012
+ * cancels the `CancelToken`.
25013
+ */
25014
+ CancelToken.source = function source() {
25015
+ var cancel;
25016
+ var token = new CancelToken(function executor(c) {
25017
+ cancel = c;
25018
+ });
25019
+ return {
25020
+ token: token,
25021
+ cancel: cancel
25022
+ };
25023
+ };
25024
+
25025
+ module.exports = CancelToken;
25026
+
25027
+
25028
+ /***/ }),
25029
+ /* 274 */
25030
+ /***/ (function(module, exports, __webpack_require__) {
25031
+
25032
+ "use strict";
25033
+
25034
+
25035
+ /**
25036
+ * Syntactic sugar for invoking a function and expanding an array for arguments.
25037
+ *
25038
+ * Common use case would be to use `Function.prototype.apply`.
25039
+ *
25040
+ * ```js
25041
+ * function f(x, y, z) {}
25042
+ * var args = [1, 2, 3];
25043
+ * f.apply(null, args);
25044
+ * ```
25045
+ *
25046
+ * With `spread` this example can be re-written.
25047
+ *
25048
+ * ```js
25049
+ * spread(function(x, y, z) {})([1, 2, 3]);
25050
+ * ```
25051
+ *
25052
+ * @param {Function} callback
25053
+ * @returns {Function}
25054
+ */
25055
+ module.exports = function spread(callback) {
25056
+ return function wrap(arr) {
25057
+ return callback.apply(null, arr);
25058
+ };
25059
+ };
25060
+
25061
+
25062
+ /***/ }),
25063
+ /* 275 */
25064
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
25065
+
25066
+ "use strict";
25067
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__ = __webpack_require__(60);
25068
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__);
25069
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(3);
25070
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);
25071
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__HeadlineTabCurrentScore__ = __webpack_require__(276);
25072
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__HeadlineTabNewScore__ = __webpack_require__(377);
25073
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__HeadlinePanelNewScore__ = __webpack_require__(378);
25074
+
25075
+ var __ = wp.i18n.__;
25076
+ var _wp$element = wp.element,
25077
+ Fragment = _wp$element.Fragment,
25078
+ useState = _wp$element.useState,
25079
+ useEffect = _wp$element.useEffect;
25080
+
25081
+
25082
+
25083
+
25084
+
25085
+
25086
+
25087
+ var HeadlineSwitcher = function HeadlineSwitcher(props) {
25088
+ var textCurrentScore = __("Current Score", "google-analytics-for-wordpress");
25089
+ var textNewHeadline = __("Try New Headline", "google-analytics-for-wordpress");
25090
+
25091
+ var _useState = useState("current-score"),
25092
+ _useState2 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default()(_useState, 2),
25093
+ activeTab = _useState2[0],
25094
+ setActiveTab = _useState2[1];
25095
+
25096
+ var activeCurrentScore = function activeCurrentScore() {
25097
+ return setActiveTab("current-score");
25098
+ };
25099
+ var activeNewHeadline = function activeNewHeadline() {
25100
+ return setActiveTab("new-headline");
25101
+ };
25102
+ var isNewData = 'undefined' !== typeof props.analyzer.isNewData ? props.analyzer.isNewData : false;
25103
+
25104
+ useEffect(function () {
25105
+ props.setAnalyzer({
25106
+ activeTab: activeTab
25107
+ });
25108
+ }, [activeTab]);
25109
+
25110
+ return wp.element.createElement(
25111
+ Fragment,
25112
+ null,
25113
+ wp.element.createElement(
25114
+ "div",
25115
+ { className: "exactmetrics-inline-buttons" },
25116
+ wp.element.createElement(
25117
+ "button",
25118
+ {
25119
+ onClick: activeCurrentScore,
25120
+ className: __WEBPACK_IMPORTED_MODULE_1_classnames___default()("exactmetrics-switcher-button", {
25121
+ "active": "current-score" === activeTab
25122
+ }) },
25123
+ textCurrentScore
25124
+ ),
25125
+ wp.element.createElement(
25126
+ "button",
25127
+ {
25128
+ onClick: activeNewHeadline,
25129
+ className: __WEBPACK_IMPORTED_MODULE_1_classnames___default()("exactmetrics-switcher-button", {
25130
+ "active": "new-headline" === activeTab
25131
+ }) },
25132
+ textNewHeadline
25133
+ )
25134
+ ),
25135
+ 'new-headline' === activeTab ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__HeadlineTabNewScore__["a" /* default */], { analyzer: props.analyzer, setAnalyzer: props.setAnalyzer }) : wp.element.createElement(__WEBPACK_IMPORTED_MODULE_2__HeadlineTabCurrentScore__["a" /* default */], { analyzer: props.analyzer }),
25136
+ isNewData ? wp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__HeadlinePanelNewScore__["a" /* default */], { analyzer: props.analyzer }) : ''
25137
+ );
25138
+ };
25139
+
25140
+ /* harmony default export */ __webpack_exports__["a"] = (HeadlineSwitcher);
25141
+
25142
+ /***/ }),
25143
+ /* 276 */
25144
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
25145
+
25146
+ "use strict";
25147
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(3);
25148
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);
25149
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__HeadlinePieChart__ = __webpack_require__(18);
25150
+ var __ = wp.i18n.__;
25151
+ var Fragment = wp.element.Fragment;
25152
+ var _wp$components = wp.components,
25153
+ PanelBody = _wp$components.PanelBody,
25154
+ PanelRow = _wp$components.PanelRow;
25155
+
25156
+
25157
+
25158
+
25159
+
25160
+ var HeadlineTabCurrentScore = function HeadlineTabCurrentScore(props) {
25161
+ var postTitle = props.analyzer.currentHeadlineData.sentence;
25162
+ var textScore = __("Score", "google-analytics-for-wordpress");
25163
+ var textGuideLine = __("A good score is between 40 and 60. For best results, you should strive for 70 and above.", "google-analytics-for-wordpress");
25164
+ var currentScore = props.analyzer.currentHeadlineData.score;
25165
+ var classOnScore = currentScore < 40 ? 'red' : currentScore <= 60 ? 'orange' : 'green';
25166
+ var barColor = 'red' === classOnScore ? '#EB5757' : 'orange' === classOnScore ? '#F2994A' : '#1EC185';
25167
+
25168
+ return wp.element.createElement(
25169
+ Fragment,
25170
+ null,
25171
+ wp.element.createElement(
25172
+ PanelBody,
25173
+ { title: textScore },
25174
+ wp.element.createElement(
25175
+ PanelRow,
25176
+ null,
25177
+ wp.element.createElement(
25178
+ "div",
25179
+ {
25180
+ className: "exactmetrics-headline-analyzer-current-score-tab" },
25181
+ wp.element.createElement(
25182
+ "h4",
25183
+ { className: "exactmetrics-headline-analyzer-current-title" },
25184
+ "\u201C",
25185
+ postTitle,
25186
+ "\u201D"
25187
+ ),
25188
+ wp.element.createElement(
25189
+ "div",
25190
+ { className: "exactmetrics-headline-analyzer-pie-chart-container" },
25191
+ wp.element.createElement(
25192
+ "span",
25193
+ {
25194
+ className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()("exactmetrics-headline-analyzer-current-score", classOnScore) },
25195
+ currentScore
25196
+ ),
25197
+ wp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__HeadlinePieChart__["a" /* default */], { barScore: currentScore, barColor: barColor })
25198
+ ),
25199
+ wp.element.createElement(
25200
+ "p",
25201
+ null,
25202
+ textGuideLine
25203
+ )
25204
+ )
25205
+ )
25206
+ )
25207
+ );
25208
+ };
25209
+
25210
+ /* harmony default export */ __webpack_exports__["a"] = (HeadlineTabCurrentScore);
25211
+
25212
+ /***/ }),
25213
+ /* 277 */
25214
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
25215
+
25216
+ "use strict";
25217
+ /* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Doughnut; });
25218
+ /* unused harmony export Pie */
25219
+ /* unused harmony export Line */
25220
+ /* unused harmony export Bar */
25221
+ /* unused harmony export HorizontalBar */
25222
+ /* unused harmony export Radar */
25223
+ /* unused harmony export Polar */
25224
+ /* unused harmony export Bubble */
25225
+ /* unused harmony export Scatter */
25226
+ /* unused harmony export defaults */
25227
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(278);
25228
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
25229
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(279);
25230
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
25231
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_chart_js__ = __webpack_require__(282);
25232
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_chart_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_chart_js__);
25233
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_isEqual__ = __webpack_require__(284);
25234
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual__);
25235
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_keyBy__ = __webpack_require__(347);
25236
+ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_lodash_keyBy___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_lodash_keyBy__);
25237
+ /* unused harmony reexport Chart */
25238
+ 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; };
25239
+
25240
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
25241
+
25242
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
25243
+
25244
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
25245
+
25246
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
25247
+
25248
+
25249
+
25250
+
25251
+
25252
+
25253
+
25254
+ var NODE_ENV = typeof process !== 'undefined' && process.env && "production";
25255
+
25256
+ var ChartComponent = function (_React$Component) {
25257
+ _inherits(ChartComponent, _React$Component);
25258
+
25259
+ function ChartComponent() {
25260
+ _classCallCheck(this, ChartComponent);
25261
+
25262
+ var _this = _possibleConstructorReturn(this, _React$Component.call(this));
25263
+
25264
+ _this.handleOnClick = function (event) {
25265
+ var instance = _this.chartInstance;
25266
+
25267
+ var _this$props = _this.props,
25268
+ getDatasetAtEvent = _this$props.getDatasetAtEvent,
25269
+ getElementAtEvent = _this$props.getElementAtEvent,
25270
+ getElementsAtEvent = _this$props.getElementsAtEvent,
25271
+ onElementsClick = _this$props.onElementsClick;
25272
+
25273
+
25274
+ getDatasetAtEvent && getDatasetAtEvent(instance.getDatasetAtEvent(event), event);
25275
+ getElementAtEvent && getElementAtEvent(instance.getElementAtEvent(event), event);
25276
+ getElementsAtEvent && getElementsAtEvent(instance.getElementsAtEvent(event), event);
25277
+ onElementsClick && onElementsClick(instance.getElementsAtEvent(event), event); // Backward compatibility
25278
+ };
25279
+
25280
+ _this.ref = function (element) {
25281
+ _this.element = element;
25282
+ };
25283
+
25284
+ _this.chartInstance = undefined;
25285
+ return _this;
25286
+ }
25287
+
25288
+ ChartComponent.prototype.componentDidMount = function componentDidMount() {
25289
+ this.renderChart();
25290
+ };
25291
+
25292
+ ChartComponent.prototype.componentDidUpdate = function componentDidUpdate() {
25293
+ if (this.props.redraw) {
25294
+ this.destroyChart();
25295
+ this.renderChart();
25296
+ return;
25297
+ }
25298
+
25299
+ this.updateChart();
25300
+ };
25301
+
25302
+ ChartComponent.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
25303
+ var _props = this.props,
25304
+ redraw = _props.redraw,
25305
+ type = _props.type,
25306
+ options = _props.options,
25307
+ plugins = _props.plugins,
25308
+ legend = _props.legend,
25309
+ height = _props.height,
25310
+ width = _props.width;
25311
+
25312
+
25313
+ if (nextProps.redraw === true) {
25314
+ return true;
25315
+ }
25316
+
25317
+ if (height !== nextProps.height || width !== nextProps.width) {
25318
+ return true;
25319
+ }
25320
+
25321
+ if (type !== nextProps.type) {
25322
+ return true;
25323
+ }
25324
+
25325
+ if (!__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default()(legend, nextProps.legend)) {
25326
+ return true;
25327
+ }
25328
+
25329
+ if (!__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default()(options, nextProps.options)) {
25330
+ return true;
25331
+ }
25332
+
25333
+ var nextData = this.transformDataProp(nextProps);
25334
+
25335
+ if (!__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default()(this.shadowDataProp, nextData)) {
25336
+ return true;
25337
+ }
25338
+
25339
+ return !__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default()(plugins, nextProps.plugins);
25340
+ };
25341
+
25342
+ ChartComponent.prototype.componentWillUnmount = function componentWillUnmount() {
25343
+ this.destroyChart();
25344
+ };
25345
+
25346
+ ChartComponent.prototype.transformDataProp = function transformDataProp(props) {
25347
+ var data = props.data;
25348
+
25349
+ if (typeof data == 'function') {
25350
+ var node = this.element;
25351
+ return data(node);
25352
+ } else {
25353
+ return data;
25354
+ }
25355
+ };
25356
+
25357
+ // Chart.js directly mutates the data.dataset objects by adding _meta proprerty
25358
+ // this makes impossible to compare the current and next data changes
25359
+ // therefore we memoize the data prop while sending a fake to Chart.js for mutation.
25360
+ // see https://github.com/chartjs/Chart.js/blob/master/src/core/core.controller.js#L615-L617
25361
+
25362
+
25363
+ ChartComponent.prototype.memoizeDataProps = function memoizeDataProps() {
25364
+ if (!this.props.data) {
25365
+ return;
25366
+ }
25367
+
25368
+ var data = this.transformDataProp(this.props);
25369
+
25370
+ this.shadowDataProp = _extends({}, data, {
25371
+ datasets: data.datasets && data.datasets.map(function (set) {
25372
+ return _extends({}, set);
25373
+ })
25374
+ });
25375
+
25376
+ this.saveCurrentDatasets(); // to remove the dataset metadata from this chart when the chart is destroyed
25377
+
25378
+ return data;
25379
+ };
25380
+
25381
+ ChartComponent.prototype.checkDatasets = function checkDatasets(datasets) {
25382
+ var isDev = NODE_ENV !== 'production' && NODE_ENV !== 'prod';
25383
+ var usingCustomKeyProvider = this.props.datasetKeyProvider !== ChartComponent.getLabelAsKey;
25384
+ var multipleDatasets = datasets.length > 1;
25385
+
25386
+ if (isDev && multipleDatasets && !usingCustomKeyProvider) {
25387
+ var shouldWarn = false;
25388
+ datasets.forEach(function (dataset) {
25389
+ if (!dataset.label) {
25390
+ shouldWarn = true;
25391
+ }
25392
+ });
25393
+
25394
+ if (shouldWarn) {
25395
+ console.error('[react-chartjs-2] Warning: Each dataset needs a unique key. By default, the "label" property on each dataset is used. Alternatively, you may provide a "datasetKeyProvider" as a prop that returns a unique key.');
25396
+ }
25397
+ }
25398
+ };
25399
+
25400
+ ChartComponent.prototype.getCurrentDatasets = function getCurrentDatasets() {
25401
+ return this.chartInstance && this.chartInstance.config.data && this.chartInstance.config.data.datasets || [];
25402
+ };
25403
+
25404
+ ChartComponent.prototype.saveCurrentDatasets = function saveCurrentDatasets() {
25405
+ var _this2 = this;
25406
+
25407
+ this.datasets = this.datasets || {};
25408
+ var currentDatasets = this.getCurrentDatasets();
25409
+ currentDatasets.forEach(function (d) {
25410
+ _this2.datasets[_this2.props.datasetKeyProvider(d)] = d;
25411
+ });
25412
+ };
25413
+
25414
+ ChartComponent.prototype.updateChart = function updateChart() {
25415
+ var _this3 = this;
25416
+
25417
+ var options = this.props.options;
25418
+
25419
+
25420
+ var data = this.memoizeDataProps(this.props);
25421
+
25422
+ if (!this.chartInstance) return;
25423
+
25424
+ if (options) {
25425
+ this.chartInstance.options = __WEBPACK_IMPORTED_MODULE_2_chart_js___default.a.helpers.configMerge(this.chartInstance.options, options);
25426
+ }
25427
+
25428
+ // Pipe datasets to chart instance datasets enabling
25429
+ // seamless transitions
25430
+ var currentDatasets = this.getCurrentDatasets();
25431
+ var nextDatasets = data.datasets || [];
25432
+ this.checkDatasets(currentDatasets);
25433
+
25434
+ var currentDatasetsIndexed = __WEBPACK_IMPORTED_MODULE_4_lodash_keyBy___default()(currentDatasets, this.props.datasetKeyProvider);
25435
+
25436
+ // We can safely replace the dataset array, as long as we retain the _meta property
25437
+ // on each dataset.
25438
+ this.chartInstance.config.data.datasets = nextDatasets.map(function (next) {
25439
+ var current = currentDatasetsIndexed[_this3.props.datasetKeyProvider(next)];
25440
+
25441
+ if (current && current.type === next.type && next.data) {
25442
+ // Be robust to no data. Relevant for other update mechanisms as in chartjs-plugin-streaming.
25443
+ // The data array must be edited in place. As chart.js adds listeners to it.
25444
+ current.data.splice(next.data.length);
25445
+ next.data.forEach(function (point, pid) {
25446
+ current.data[pid] = next.data[pid];
25447
+ });
25448
+
25449
+ var _data = next.data,
25450
+ otherProps = _objectWithoutProperties(next, ['data']);
25451
+ // Merge properties. Notice a weakness here. If a property is removed
25452
+ // from next, it will be retained by current and never disappears.
25453
+ // Workaround is to set value to null or undefined in next.
25454
+
25455
+
25456
+ return _extends({}, current, otherProps);
25457
+ } else {
25458
+ return next;
25459
+ }
25460
+ });
25461
+
25462
+ var datasets = data.datasets,
25463
+ rest = _objectWithoutProperties(data, ['datasets']);
25464
+
25465
+ this.chartInstance.config.data = _extends({}, this.chartInstance.config.data, rest);
25466
+
25467
+ this.chartInstance.update();
25468
+ };
25469
+
25470
+ ChartComponent.prototype.renderChart = function renderChart() {
25471
+ var _props2 = this.props,
25472
+ options = _props2.options,
25473
+ legend = _props2.legend,
25474
+ type = _props2.type,
25475
+ plugins = _props2.plugins;
25476
+
25477
+ var node = this.element;
25478
+ var data = this.memoizeDataProps();
25479
+
25480
+ if (typeof legend !== 'undefined' && !__WEBPACK_IMPORTED_MODULE_3_lodash_isEqual___default()(ChartComponent.defaultProps.legend, legend)) {
25481
+ options.legend = legend;
25482
+ }
25483
+
25484
+ this.chartInstance = new __WEBPACK_IMPORTED_MODULE_2_chart_js___default.a(node, {
25485
+ type: type,
25486
+ data: data,
25487
+ options: options,
25488
+ plugins: plugins
25489
+ });
25490
+ };
25491
+
25492
+ ChartComponent.prototype.destroyChart = function destroyChart() {
25493
+ if (!this.chartInstance) {
25494
+ return;
25495
+ }
25496
+
25497
+ // Put all of the datasets that have existed in the chart back on the chart
25498
+ // so that the metadata associated with this chart get destroyed.
25499
+ // This allows the datasets to be used in another chart. This can happen,
25500
+ // for example, in a tabbed UI where the chart gets created each time the
25501
+ // tab gets switched to the chart and uses the same data).
25502
+ this.saveCurrentDatasets();
25503
+ var datasets = Object.values(this.datasets);
25504
+ this.chartInstance.config.data.datasets = datasets;
25505
+
25506
+ this.chartInstance.destroy();
25507
+ };
25508
+
25509
+ ChartComponent.prototype.render = function render() {
25510
+ var _props3 = this.props,
25511
+ height = _props3.height,
25512
+ width = _props3.width,
25513
+ id = _props3.id;
25514
+
25515
+
25516
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('canvas', {
25517
+ ref: this.ref,
25518
+ height: height,
25519
+ width: width,
25520
+ id: id,
25521
+ onClick: this.handleOnClick
25522
+ });
25523
+ };
25524
+
25525
+ return ChartComponent;
25526
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25527
+
25528
+ ChartComponent.getLabelAsKey = function (d) {
25529
+ return d.label;
25530
+ };
25531
+
25532
+ ChartComponent.propTypes = {
25533
+ data: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]).isRequired,
25534
+ getDatasetAtEvent: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
25535
+ getElementAtEvent: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
25536
+ getElementsAtEvent: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
25537
+ height: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,
25538
+ legend: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
25539
+ onElementsClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
25540
+ options: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
25541
+ plugins: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object),
25542
+ redraw: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
25543
+ type: function type(props, propName, componentName) {
25544
+ if (!__WEBPACK_IMPORTED_MODULE_2_chart_js___default.a.controllers[props[propName]]) {
25545
+ return new Error('Invalid chart type `' + props[propName] + '` supplied to' + ' `' + componentName + '`.');
25546
+ }
25547
+ },
25548
+ width: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,
25549
+ datasetKeyProvider: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
25550
+ };
25551
+ ChartComponent.defaultProps = {
25552
+ legend: {
25553
+ display: true,
25554
+ position: 'bottom'
25555
+ },
25556
+ type: 'doughnut',
25557
+ height: 150,
25558
+ width: 300,
25559
+ redraw: false,
25560
+ options: {},
25561
+ datasetKeyProvider: ChartComponent.getLabelAsKey
25562
+ };
25563
+
25564
+
25565
+ /* unused harmony default export */ var _unused_webpack_default_export = (ChartComponent);
25566
+
25567
+ var Doughnut = function (_React$Component2) {
25568
+ _inherits(Doughnut, _React$Component2);
25569
+
25570
+ function Doughnut() {
25571
+ _classCallCheck(this, Doughnut);
25572
+
25573
+ return _possibleConstructorReturn(this, _React$Component2.apply(this, arguments));
25574
+ }
25575
+
25576
+ Doughnut.prototype.render = function render() {
25577
+ var _this5 = this;
25578
+
25579
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25580
+ ref: function ref(_ref) {
25581
+ return _this5.chartInstance = _ref && _ref.chartInstance;
25582
+ },
25583
+ type: 'doughnut'
25584
+ }));
25585
+ };
25586
+
25587
+ return Doughnut;
25588
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25589
+
25590
+ var Pie = function (_React$Component3) {
25591
+ _inherits(Pie, _React$Component3);
25592
+
25593
+ function Pie() {
25594
+ _classCallCheck(this, Pie);
25595
+
25596
+ return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));
25597
+ }
25598
+
25599
+ Pie.prototype.render = function render() {
25600
+ var _this7 = this;
25601
+
25602
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25603
+ ref: function ref(_ref2) {
25604
+ return _this7.chartInstance = _ref2 && _ref2.chartInstance;
25605
+ },
25606
+ type: 'pie'
25607
+ }));
25608
+ };
25609
+
25610
+ return Pie;
25611
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25612
+
25613
+ var Line = function (_React$Component4) {
25614
+ _inherits(Line, _React$Component4);
25615
+
25616
+ function Line() {
25617
+ _classCallCheck(this, Line);
25618
+
25619
+ return _possibleConstructorReturn(this, _React$Component4.apply(this, arguments));
25620
+ }
25621
+
25622
+ Line.prototype.render = function render() {
25623
+ var _this9 = this;
25624
+
25625
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25626
+ ref: function ref(_ref3) {
25627
+ return _this9.chartInstance = _ref3 && _ref3.chartInstance;
25628
+ },
25629
+ type: 'line'
25630
+ }));
25631
+ };
25632
+
25633
+ return Line;
25634
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25635
+
25636
+ var Bar = function (_React$Component5) {
25637
+ _inherits(Bar, _React$Component5);
25638
+
25639
+ function Bar() {
25640
+ _classCallCheck(this, Bar);
25641
+
25642
+ return _possibleConstructorReturn(this, _React$Component5.apply(this, arguments));
25643
+ }
25644
+
25645
+ Bar.prototype.render = function render() {
25646
+ var _this11 = this;
25647
+
25648
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25649
+ ref: function ref(_ref4) {
25650
+ return _this11.chartInstance = _ref4 && _ref4.chartInstance;
25651
+ },
25652
+ type: 'bar'
25653
+ }));
25654
+ };
25655
+
25656
+ return Bar;
25657
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25658
+
25659
+ var HorizontalBar = function (_React$Component6) {
25660
+ _inherits(HorizontalBar, _React$Component6);
25661
+
25662
+ function HorizontalBar() {
25663
+ _classCallCheck(this, HorizontalBar);
25664
+
25665
+ return _possibleConstructorReturn(this, _React$Component6.apply(this, arguments));
25666
+ }
25667
+
25668
+ HorizontalBar.prototype.render = function render() {
25669
+ var _this13 = this;
25670
+
25671
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25672
+ ref: function ref(_ref5) {
25673
+ return _this13.chartInstance = _ref5 && _ref5.chartInstance;
25674
+ },
25675
+ type: 'horizontalBar'
25676
+ }));
25677
+ };
25678
+
25679
+ return HorizontalBar;
25680
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25681
+
25682
+ var Radar = function (_React$Component7) {
25683
+ _inherits(Radar, _React$Component7);
25684
+
25685
+ function Radar() {
25686
+ _classCallCheck(this, Radar);
25687
+
25688
+ return _possibleConstructorReturn(this, _React$Component7.apply(this, arguments));
25689
+ }
25690
+
25691
+ Radar.prototype.render = function render() {
25692
+ var _this15 = this;
25693
+
25694
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25695
+ ref: function ref(_ref6) {
25696
+ return _this15.chartInstance = _ref6 && _ref6.chartInstance;
25697
+ },
25698
+ type: 'radar'
25699
+ }));
25700
+ };
25701
+
25702
+ return Radar;
25703
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25704
+
25705
+ var Polar = function (_React$Component8) {
25706
+ _inherits(Polar, _React$Component8);
25707
+
25708
+ function Polar() {
25709
+ _classCallCheck(this, Polar);
25710
+
25711
+ return _possibleConstructorReturn(this, _React$Component8.apply(this, arguments));
25712
+ }
25713
+
25714
+ Polar.prototype.render = function render() {
25715
+ var _this17 = this;
25716
+
25717
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25718
+ ref: function ref(_ref7) {
25719
+ return _this17.chartInstance = _ref7 && _ref7.chartInstance;
25720
+ },
25721
+ type: 'polarArea'
25722
+ }));
25723
+ };
25724
+
25725
+ return Polar;
25726
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25727
+
25728
+ var Bubble = function (_React$Component9) {
25729
+ _inherits(Bubble, _React$Component9);
25730
+
25731
+ function Bubble() {
25732
+ _classCallCheck(this, Bubble);
25733
+
25734
+ return _possibleConstructorReturn(this, _React$Component9.apply(this, arguments));
25735
+ }
25736
+
25737
+ Bubble.prototype.render = function render() {
25738
+ var _this19 = this;
25739
+
25740
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25741
+ ref: function ref(_ref8) {
25742
+ return _this19.chartInstance = _ref8 && _ref8.chartInstance;
25743
+ },
25744
+ type: 'bubble'
25745
+ }));
25746
+ };
25747
+
25748
+ return Bubble;
25749
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25750
+
25751
+ var Scatter = function (_React$Component10) {
25752
+ _inherits(Scatter, _React$Component10);
25753
+
25754
+ function Scatter() {
25755
+ _classCallCheck(this, Scatter);
25756
+
25757
+ return _possibleConstructorReturn(this, _React$Component10.apply(this, arguments));
25758
+ }
25759
+
25760
+ Scatter.prototype.render = function render() {
25761
+ var _this21 = this;
25762
+
25763
+ return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(ChartComponent, _extends({}, this.props, {
25764
+ ref: function ref(_ref9) {
25765
+ return _this21.chartInstance = _ref9 && _ref9.chartInstance;
25766
+ },
25767
+ type: 'scatter'
25768
+ }));
25769
+ };
25770
+
25771
+ return Scatter;
25772
+ }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
25773
+
25774
+ var defaults = __WEBPACK_IMPORTED_MODULE_2_chart_js___default.a.defaults;
25775
+
25776
+ /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(67)))
25777
+
25778
+ /***/ }),
25779
+ /* 278 */
25780
+ /***/ (function(module, exports) {
25781
+
25782
+ module.exports = React;
25783
+
25784
+ /***/ }),
25785
+ /* 279 */
25786
+ /***/ (function(module, exports, __webpack_require__) {
25787
+
25788
+ /**
25789
+ * Copyright (c) 2013-present, Facebook, Inc.
25790
+ *
25791
+ * This source code is licensed under the MIT license found in the
25792
+ * LICENSE file in the root directory of this source tree.
25793
+ */
25794
+
25795
+ if (false) {
25796
+ var ReactIs = require('react-is');
25797
+
25798
+ // By explicitly using `prop-types` you are opting into new development behavior.
25799
+ // http://fb.me/prop-types-in-prod
25800
+ var throwOnDirectAccess = true;
25801
+ module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);
25802
+ } else {
25803
+ // By explicitly using `prop-types` you are opting into new production behavior.
25804
+ // http://fb.me/prop-types-in-prod
25805
+ module.exports = __webpack_require__(280)();
25806
+ }
25807
+
25808
+
25809
+ /***/ }),
25810
+ /* 280 */
25811
+ /***/ (function(module, exports, __webpack_require__) {
25812
+
25813
+ "use strict";
25814
+ /**
25815
+ * Copyright (c) 2013-present, Facebook, Inc.
25816
+ *
25817
+ * This source code is licensed under the MIT license found in the
25818
+ * LICENSE file in the root directory of this source tree.
25819
+ */
25820
+
25821
+
25822
+
25823
+ var ReactPropTypesSecret = __webpack_require__(281);
25824
+
25825
+ function emptyFunction() {}
25826
+ function emptyFunctionWithReset() {}
25827
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
25828
+
25829
+ module.exports = function() {
25830
+ function shim(props, propName, componentName, location, propFullName, secret) {
25831
+ if (secret === ReactPropTypesSecret) {
25832
+ // It is still safe when called from React.
25833
+ return;
25834
+ }
25835
+ var err = new Error(
25836
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
25837
+ 'Use PropTypes.checkPropTypes() to call them. ' +
25838
+ 'Read more at http://fb.me/use-check-prop-types'
25839
+ );
25840
+ err.name = 'Invariant Violation';
25841
+ throw err;
25842
+ };
25843
+ shim.isRequired = shim;
25844
+ function getShim() {
25845
+ return shim;
25846
+ };
25847
+ // Important!
25848
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
25849
+ var ReactPropTypes = {
25850
+ array: shim,
25851
+ bool: shim,
25852
+ func: shim,
25853
+ number: shim,
25854
+ object: shim,
25855
+ string: shim,
25856
+ symbol: shim,
25857
+
25858
+ any: shim,
25859
+ arrayOf: getShim,
25860
+ element: shim,
25861
+ elementType: shim,
25862
+ instanceOf: getShim,
25863
+ node: shim,
25864
+ objectOf: getShim,
25865
+ oneOf: getShim,
25866
+ oneOfType: getShim,
25867
+ shape: getShim,
25868
+ exact: getShim,
25869
+
25870
+ checkPropTypes: emptyFunctionWithReset,
25871
+ resetWarningCache: emptyFunction
25872
+ };
25873
+
25874
+ ReactPropTypes.PropTypes = ReactPropTypes;
25875
+
25876
+ return ReactPropTypes;
25877
+ };
25878
+
25879
+
25880
+ /***/ }),
25881
+ /* 281 */
25882
+ /***/ (function(module, exports, __webpack_require__) {
25883
+
25884
+ "use strict";
25885
+ /**
25886
+ * Copyright (c) 2013-present, Facebook, Inc.
25887
+ *
25888
+ * This source code is licensed under the MIT license found in the
25889
+ * LICENSE file in the root directory of this source tree.
25890
+ */
25891
+
25892
+
25893
+
25894
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
25895
+
25896
+ module.exports = ReactPropTypesSecret;
25897
+
25898
+
25899
+ /***/ }),
25900
+ /* 282 */
25901
+ /***/ (function(module, exports, __webpack_require__) {
25902
+
25903
+ /*!
25904
+ * Chart.js v2.9.3
25905
+ * https://www.chartjs.org
25906
+ * (c) 2019 Chart.js Contributors
25907
+ * Released under the MIT License
25908
+ */
25909
+ (function (global, factory) {
25910
+ true ? module.exports = factory(function() { try { return __webpack_require__(0); } catch(e) { } }()) :
25911
+ typeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :
25912
+ (global = global || self, global.Chart = factory(global.moment));
25913
+ }(this, (function (moment) { 'use strict';
25914
+
25915
+ moment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;
25916
+
25917
+ function createCommonjsModule(fn, module) {
25918
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
25919
+ }
25920
+
25921
+ function getCjsExportFromNamespace (n) {
25922
+ return n && n['default'] || n;
25923
+ }
25924
+
25925
+ var colorName = {
25926
+ "aliceblue": [240, 248, 255],
25927
+ "antiquewhite": [250, 235, 215],
25928
+ "aqua": [0, 255, 255],
25929
+ "aquamarine": [127, 255, 212],
25930
+ "azure": [240, 255, 255],
25931
+ "beige": [245, 245, 220],
25932
+ "bisque": [255, 228, 196],
25933
+ "black": [0, 0, 0],
25934
+ "blanchedalmond": [255, 235, 205],
25935
+ "blue": [0, 0, 255],
25936
+ "blueviolet": [138, 43, 226],
25937
+ "brown": [165, 42, 42],
25938
+ "burlywood": [222, 184, 135],
25939
+ "cadetblue": [95, 158, 160],
25940
+ "chartreuse": [127, 255, 0],
25941
+ "chocolate": [210, 105, 30],
25942
+ "coral": [255, 127, 80],
25943
+ "cornflowerblue": [100, 149, 237],
25944
+ "cornsilk": [255, 248, 220],
25945
+ "crimson": [220, 20, 60],
25946
+ "cyan": [0, 255, 255],
25947
+ "darkblue": [0, 0, 139],
25948
+ "darkcyan": [0, 139, 139],
25949
+ "darkgoldenrod": [184, 134, 11],
25950
+ "darkgray": [169, 169, 169],
25951
+ "darkgreen": [0, 100, 0],
25952
+ "darkgrey": [169, 169, 169],
25953
+ "darkkhaki": [189, 183, 107],
25954
+ "darkmagenta": [139, 0, 139],
25955
+ "darkolivegreen": [85, 107, 47],
25956
+ "darkorange": [255, 140, 0],
25957
+ "darkorchid": [153, 50, 204],
25958
+ "darkred": [139, 0, 0],
25959
+ "darksalmon": [233, 150, 122],
25960
+ "darkseagreen": [143, 188, 143],
25961
+ "darkslateblue": [72, 61, 139],
25962
+ "darkslategray": [47, 79, 79],
25963
+ "darkslategrey": [47, 79, 79],
25964
+ "darkturquoise": [0, 206, 209],
25965
+ "darkviolet": [148, 0, 211],
25966
+ "deeppink": [255, 20, 147],
25967
+ "deepskyblue": [0, 191, 255],
25968
+ "dimgray": [105, 105, 105],
25969
+ "dimgrey": [105, 105, 105],
25970
+ "dodgerblue": [30, 144, 255],
25971
+ "firebrick": [178, 34, 34],
25972
+ "floralwhite": [255, 250, 240],
25973
+ "forestgreen": [34, 139, 34],
25974
+ "fuchsia": [255, 0, 255],
25975
+ "gainsboro": [220, 220, 220],
25976
+ "ghostwhite": [248, 248, 255],
25977
+ "gold": [255, 215, 0],
25978
+ "goldenrod": [218, 165, 32],
25979
+ "gray": [128, 128, 128],
25980
+ "green": [0, 128, 0],
25981
+ "greenyellow": [173, 255, 47],
25982
+ "grey": [128, 128, 128],
25983
+ "honeydew": [240, 255, 240],
25984
+ "hotpink": [255, 105, 180],
25985
+ "indianred": [205, 92, 92],
25986
+ "indigo": [75, 0, 130],
25987
+ "ivory": [255, 255, 240],
25988
+ "khaki": [240, 230, 140],
25989
+ "lavender": [230, 230, 250],
25990
+ "lavenderblush": [255, 240, 245],
25991
+ "lawngreen": [124, 252, 0],
25992
+ "lemonchiffon": [255, 250, 205],
25993
+ "lightblue": [173, 216, 230],
25994
+ "lightcoral": [240, 128, 128],
25995
+ "lightcyan": [224, 255, 255],
25996
+ "lightgoldenrodyellow": [250, 250, 210],
25997
+ "lightgray": [211, 211, 211],
25998
+ "lightgreen": [144, 238, 144],
25999
+ "lightgrey": [211, 211, 211],
26000
+ "lightpink": [255, 182, 193],
26001
+ "lightsalmon": [255, 160, 122],
26002
+ "lightseagreen": [32, 178, 170],
26003
+ "lightskyblue": [135, 206, 250],
26004
+ "lightslategray": [119, 136, 153],
26005
+ "lightslategrey": [119, 136, 153],
26006
+ "lightsteelblue": [176, 196, 222],
26007
+ "lightyellow": [255, 255, 224],
26008
+ "lime": [0, 255, 0],
26009
+ "limegreen": [50, 205, 50],
26010
+ "linen": [250, 240, 230],
26011
+ "magenta": [255, 0, 255],
26012
+ "maroon": [128, 0, 0],
26013
+ "mediumaquamarine": [102, 205, 170],
26014
+ "mediumblue": [0, 0, 205],
26015
+ "mediumorchid": [186, 85, 211],
26016
+ "mediumpurple": [147, 112, 219],
26017
+ "mediumseagreen": [60, 179, 113],
26018
+ "mediumslateblue": [123, 104, 238],
26019
+ "mediumspringgreen": [0, 250, 154],
26020
+ "mediumturquoise": [72, 209, 204],
26021
+ "mediumvioletred": [199, 21, 133],
26022
+ "midnightblue": [25, 25, 112],
26023
+ "mintcream": [245, 255, 250],
26024
+ "mistyrose": [255, 228, 225],
26025
+ "moccasin": [255, 228, 181],
26026
+ "navajowhite": [255, 222, 173],
26027
+ "navy": [0, 0, 128],
26028
+ "oldlace": [253, 245, 230],
26029
+ "olive": [128, 128, 0],
26030
+ "olivedrab": [107, 142, 35],
26031
+ "orange": [255, 165, 0],
26032
+ "orangered": [255, 69, 0],
26033
+ "orchid": [218, 112, 214],
26034
+ "palegoldenrod": [238, 232, 170],
26035
+ "palegreen": [152, 251, 152],
26036
+ "paleturquoise": [175, 238, 238],
26037
+ "palevioletred": [219, 112, 147],
26038
+ "papayawhip": [255, 239, 213],
26039
+ "peachpuff": [255, 218, 185],
26040
+ "peru": [205, 133, 63],
26041
+ "pink": [255, 192, 203],
26042
+ "plum": [221, 160, 221],
26043
+ "powderblue": [176, 224, 230],
26044
+ "purple": [128, 0, 128],
26045
+ "rebeccapurple": [102, 51, 153],
26046
+ "red": [255, 0, 0],
26047
+ "rosybrown": [188, 143, 143],
26048
+ "royalblue": [65, 105, 225],
26049
+ "saddlebrown": [139, 69, 19],
26050
+ "salmon": [250, 128, 114],
26051
+ "sandybrown": [244, 164, 96],
26052
+ "seagreen": [46, 139, 87],
26053
+ "seashell": [255, 245, 238],
26054
+ "sienna": [160, 82, 45],
26055
+ "silver": [192, 192, 192],
26056
+ "skyblue": [135, 206, 235],
26057
+ "slateblue": [106, 90, 205],
26058
+ "slategray": [112, 128, 144],
26059
+ "slategrey": [112, 128, 144],
26060
+ "snow": [255, 250, 250],
26061
+ "springgreen": [0, 255, 127],
26062
+ "steelblue": [70, 130, 180],
26063
+ "tan": [210, 180, 140],
26064
+ "teal": [0, 128, 128],
26065
+ "thistle": [216, 191, 216],
26066
+ "tomato": [255, 99, 71],
26067
+ "turquoise": [64, 224, 208],
26068
+ "violet": [238, 130, 238],
26069
+ "wheat": [245, 222, 179],
26070
+ "white": [255, 255, 255],
26071
+ "whitesmoke": [245, 245, 245],
26072
+ "yellow": [255, 255, 0],
26073
+ "yellowgreen": [154, 205, 50]
26074
+ };
26075
+
26076
+ var conversions = createCommonjsModule(function (module) {
26077
+ /* MIT license */
26078
+
26079
+
26080
+ // NOTE: conversions should only return primitive values (i.e. arrays, or
26081
+ // values that give correct `typeof` results).
26082
+ // do not use box values types (i.e. Number(), String(), etc.)
26083
+
26084
+ var reverseKeywords = {};
26085
+ for (var key in colorName) {
26086
+ if (colorName.hasOwnProperty(key)) {
26087
+ reverseKeywords[colorName[key]] = key;
26088
+ }
26089
+ }
26090
+
26091
+ var convert = module.exports = {
26092
+ rgb: {channels: 3, labels: 'rgb'},
26093
+ hsl: {channels: 3, labels: 'hsl'},
26094
+ hsv: {channels: 3, labels: 'hsv'},
26095
+ hwb: {channels: 3, labels: 'hwb'},
26096
+ cmyk: {channels: 4, labels: 'cmyk'},
26097
+ xyz: {channels: 3, labels: 'xyz'},
26098
+ lab: {channels: 3, labels: 'lab'},
26099
+ lch: {channels: 3, labels: 'lch'},
26100
+ hex: {channels: 1, labels: ['hex']},
26101
+ keyword: {channels: 1, labels: ['keyword']},
26102
+ ansi16: {channels: 1, labels: ['ansi16']},
26103
+ ansi256: {channels: 1, labels: ['ansi256']},
26104
+ hcg: {channels: 3, labels: ['h', 'c', 'g']},
26105
+ apple: {channels: 3, labels: ['r16', 'g16', 'b16']},
26106
+ gray: {channels: 1, labels: ['gray']}
26107
+ };
26108
+
26109
+ // hide .channels and .labels properties
26110
+ for (var model in convert) {
26111
+ if (convert.hasOwnProperty(model)) {
26112
+ if (!('channels' in convert[model])) {
26113
+ throw new Error('missing channels property: ' + model);
26114
+ }
26115
+
26116
+ if (!('labels' in convert[model])) {
26117
+ throw new Error('missing channel labels property: ' + model);
26118
+ }
26119
+
26120
+ if (convert[model].labels.length !== convert[model].channels) {
26121
+ throw new Error('channel and label counts mismatch: ' + model);
26122
+ }
26123
+
26124
+ var channels = convert[model].channels;
26125
+ var labels = convert[model].labels;
26126
+ delete convert[model].channels;
26127
+ delete convert[model].labels;
26128
+ Object.defineProperty(convert[model], 'channels', {value: channels});
26129
+ Object.defineProperty(convert[model], 'labels', {value: labels});
26130
+ }
26131
+ }
26132
+
26133
+ convert.rgb.hsl = function (rgb) {
26134
+ var r = rgb[0] / 255;
26135
+ var g = rgb[1] / 255;
26136
+ var b = rgb[2] / 255;
26137
+ var min = Math.min(r, g, b);
26138
+ var max = Math.max(r, g, b);
26139
+ var delta = max - min;
26140
+ var h;
26141
+ var s;
26142
+ var l;
26143
+
26144
+ if (max === min) {
26145
+ h = 0;
26146
+ } else if (r === max) {
26147
+ h = (g - b) / delta;
26148
+ } else if (g === max) {
26149
+ h = 2 + (b - r) / delta;
26150
+ } else if (b === max) {
26151
+ h = 4 + (r - g) / delta;
26152
+ }
26153
+
26154
+ h = Math.min(h * 60, 360);
26155
+
26156
+ if (h < 0) {
26157
+ h += 360;
26158
+ }
26159
+
26160
+ l = (min + max) / 2;
26161
+
26162
+ if (max === min) {
26163
+ s = 0;
26164
+ } else if (l <= 0.5) {
26165
+ s = delta / (max + min);
26166
+ } else {
26167
+ s = delta / (2 - max - min);
26168
+ }
26169
+
26170
+ return [h, s * 100, l * 100];
26171
+ };
26172
+
26173
+ convert.rgb.hsv = function (rgb) {
26174
+ var rdif;
26175
+ var gdif;
26176
+ var bdif;
26177
+ var h;
26178
+ var s;
26179
+
26180
+ var r = rgb[0] / 255;
26181
+ var g = rgb[1] / 255;
26182
+ var b = rgb[2] / 255;
26183
+ var v = Math.max(r, g, b);
26184
+ var diff = v - Math.min(r, g, b);
26185
+ var diffc = function (c) {
26186
+ return (v - c) / 6 / diff + 1 / 2;
26187
+ };
26188
+
26189
+ if (diff === 0) {
26190
+ h = s = 0;
26191
+ } else {
26192
+ s = diff / v;
26193
+ rdif = diffc(r);
26194
+ gdif = diffc(g);
26195
+ bdif = diffc(b);
26196
+
26197
+ if (r === v) {
26198
+ h = bdif - gdif;
26199
+ } else if (g === v) {
26200
+ h = (1 / 3) + rdif - bdif;
26201
+ } else if (b === v) {
26202
+ h = (2 / 3) + gdif - rdif;
26203
+ }
26204
+ if (h < 0) {
26205
+ h += 1;
26206
+ } else if (h > 1) {
26207
+ h -= 1;
26208
+ }
26209
+ }
26210
+
26211
+ return [
26212
+ h * 360,
26213
+ s * 100,
26214
+ v * 100
26215
+ ];
26216
+ };
26217
+
26218
+ convert.rgb.hwb = function (rgb) {
26219
+ var r = rgb[0];
26220
+ var g = rgb[1];
26221
+ var b = rgb[2];
26222
+ var h = convert.rgb.hsl(rgb)[0];
26223
+ var w = 1 / 255 * Math.min(r, Math.min(g, b));
26224
+
26225
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
26226
+
26227
+ return [h, w * 100, b * 100];
26228
+ };
26229
+
26230
+ convert.rgb.cmyk = function (rgb) {
26231
+ var r = rgb[0] / 255;
26232
+ var g = rgb[1] / 255;
26233
+ var b = rgb[2] / 255;
26234
+ var c;
26235
+ var m;
26236
+ var y;
26237
+ var k;
26238
+
26239
+ k = Math.min(1 - r, 1 - g, 1 - b);
26240
+ c = (1 - r - k) / (1 - k) || 0;
26241
+ m = (1 - g - k) / (1 - k) || 0;
26242
+ y = (1 - b - k) / (1 - k) || 0;
26243
+
26244
+ return [c * 100, m * 100, y * 100, k * 100];
26245
+ };
26246
+
26247
+ /**
26248
+ * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
26249
+ * */
26250
+ function comparativeDistance(x, y) {
26251
+ return (
26252
+ Math.pow(x[0] - y[0], 2) +
26253
+ Math.pow(x[1] - y[1], 2) +
26254
+ Math.pow(x[2] - y[2], 2)
26255
+ );
26256
+ }
26257
+
26258
+ convert.rgb.keyword = function (rgb) {
26259
+ var reversed = reverseKeywords[rgb];
26260
+ if (reversed) {
26261
+ return reversed;
26262
+ }
26263
+
26264
+ var currentClosestDistance = Infinity;
26265
+ var currentClosestKeyword;
26266
+
26267
+ for (var keyword in colorName) {
26268
+ if (colorName.hasOwnProperty(keyword)) {
26269
+ var value = colorName[keyword];
26270
+
26271
+ // Compute comparative distance
26272
+ var distance = comparativeDistance(rgb, value);
26273
+
26274
+ // Check if its less, if so set as closest
26275
+ if (distance < currentClosestDistance) {
26276
+ currentClosestDistance = distance;
26277
+ currentClosestKeyword = keyword;
26278
+ }
26279
+ }
26280
+ }
26281
+
26282
+ return currentClosestKeyword;
26283
+ };
26284
+
26285
+ convert.keyword.rgb = function (keyword) {
26286
+ return colorName[keyword];
26287
+ };
26288
+
26289
+ convert.rgb.xyz = function (rgb) {
26290
+ var r = rgb[0] / 255;
26291
+ var g = rgb[1] / 255;
26292
+ var b = rgb[2] / 255;
26293
+
26294
+ // assume sRGB
26295
+ r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
26296
+ g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
26297
+ b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);
26298
+
26299
+ var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
26300
+ var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
26301
+ var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
26302
+
26303
+ return [x * 100, y * 100, z * 100];
26304
+ };
26305
+
26306
+ convert.rgb.lab = function (rgb) {
26307
+ var xyz = convert.rgb.xyz(rgb);
26308
+ var x = xyz[0];
26309
+ var y = xyz[1];
26310
+ var z = xyz[2];
26311
+ var l;
26312
+ var a;
26313
+ var b;
26314
+
26315
+ x /= 95.047;
26316
+ y /= 100;
26317
+ z /= 108.883;
26318
+
26319
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
26320
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
26321
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
26322
+
26323
+ l = (116 * y) - 16;
26324
+ a = 500 * (x - y);
26325
+ b = 200 * (y - z);
26326
+
26327
+ return [l, a, b];
26328
+ };
26329
+
26330
+ convert.hsl.rgb = function (hsl) {
26331
+ var h = hsl[0] / 360;
26332
+ var s = hsl[1] / 100;
26333
+ var l = hsl[2] / 100;
26334
+ var t1;
26335
+ var t2;
26336
+ var t3;
26337
+ var rgb;
26338
+ var val;
26339
+
26340
+ if (s === 0) {
26341
+ val = l * 255;
26342
+ return [val, val, val];
26343
+ }
26344
+
26345
+ if (l < 0.5) {
26346
+ t2 = l * (1 + s);
26347
+ } else {
26348
+ t2 = l + s - l * s;
26349
+ }
26350
+
26351
+ t1 = 2 * l - t2;
26352
+
26353
+ rgb = [0, 0, 0];
26354
+ for (var i = 0; i < 3; i++) {
26355
+ t3 = h + 1 / 3 * -(i - 1);
26356
+ if (t3 < 0) {
26357
+ t3++;
26358
+ }
26359
+ if (t3 > 1) {
26360
+ t3--;
26361
+ }
26362
+
26363
+ if (6 * t3 < 1) {
26364
+ val = t1 + (t2 - t1) * 6 * t3;
26365
+ } else if (2 * t3 < 1) {
26366
+ val = t2;
26367
+ } else if (3 * t3 < 2) {
26368
+ val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
26369
+ } else {
26370
+ val = t1;
26371
+ }
26372
+
26373
+ rgb[i] = val * 255;
26374
+ }
26375
+
26376
+ return rgb;
26377
+ };
26378
+
26379
+ convert.hsl.hsv = function (hsl) {
26380
+ var h = hsl[0];
26381
+ var s = hsl[1] / 100;
26382
+ var l = hsl[2] / 100;
26383
+ var smin = s;
26384
+ var lmin = Math.max(l, 0.01);
26385
+ var sv;
26386
+ var v;
26387
+
26388
+ l *= 2;
26389
+ s *= (l <= 1) ? l : 2 - l;
26390
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
26391
+ v = (l + s) / 2;
26392
+ sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);
26393
+
26394
+ return [h, sv * 100, v * 100];
26395
+ };
26396
+
26397
+ convert.hsv.rgb = function (hsv) {
26398
+ var h = hsv[0] / 60;
26399
+ var s = hsv[1] / 100;
26400
+ var v = hsv[2] / 100;
26401
+ var hi = Math.floor(h) % 6;
26402
+
26403
+ var f = h - Math.floor(h);
26404
+ var p = 255 * v * (1 - s);
26405
+ var q = 255 * v * (1 - (s * f));
26406
+ var t = 255 * v * (1 - (s * (1 - f)));
26407
+ v *= 255;
26408
+
26409
+ switch (hi) {
26410
+ case 0:
26411
+ return [v, t, p];
26412
+ case 1:
26413
+ return [q, v, p];
26414
+ case 2:
26415
+ return [p, v, t];
26416
+ case 3:
26417
+ return [p, q, v];
26418
+ case 4:
26419
+ return [t, p, v];
26420
+ case 5:
26421
+ return [v, p, q];
26422
+ }
26423
+ };
26424
+
26425
+ convert.hsv.hsl = function (hsv) {
26426
+ var h = hsv[0];
26427
+ var s = hsv[1] / 100;
26428
+ var v = hsv[2] / 100;
26429
+ var vmin = Math.max(v, 0.01);
26430
+ var lmin;
26431
+ var sl;
26432
+ var l;
26433
+
26434
+ l = (2 - s) * v;
26435
+ lmin = (2 - s) * vmin;
26436
+ sl = s * vmin;
26437
+ sl /= (lmin <= 1) ? lmin : 2 - lmin;
26438
+ sl = sl || 0;
26439
+ l /= 2;
26440
+
26441
+ return [h, sl * 100, l * 100];
26442
+ };
26443
+
26444
+ // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
26445
+ convert.hwb.rgb = function (hwb) {
26446
+ var h = hwb[0] / 360;
26447
+ var wh = hwb[1] / 100;
26448
+ var bl = hwb[2] / 100;
26449
+ var ratio = wh + bl;
26450
+ var i;
26451
+ var v;
26452
+ var f;
26453
+ var n;
26454
+
26455
+ // wh + bl cant be > 1
26456
+ if (ratio > 1) {
26457
+ wh /= ratio;
26458
+ bl /= ratio;
26459
+ }
26460
+
26461
+ i = Math.floor(6 * h);
26462
+ v = 1 - bl;
26463
+ f = 6 * h - i;
26464
+
26465
+ if ((i & 0x01) !== 0) {
26466
+ f = 1 - f;
26467
+ }
26468
+
26469
+ n = wh + f * (v - wh); // linear interpolation
26470
+
26471
+ var r;
26472
+ var g;
26473
+ var b;
26474
+ switch (i) {
26475
+ default:
26476
+ case 6:
26477
+ case 0: r = v; g = n; b = wh; break;
26478
+ case 1: r = n; g = v; b = wh; break;
26479
+ case 2: r = wh; g = v; b = n; break;
26480
+ case 3: r = wh; g = n; b = v; break;
26481
+ case 4: r = n; g = wh; b = v; break;
26482
+ case 5: r = v; g = wh; b = n; break;
26483
+ }
26484
+
26485
+ return [r * 255, g * 255, b * 255];
26486
+ };
26487
+
26488
+ convert.cmyk.rgb = function (cmyk) {
26489
+ var c = cmyk[0] / 100;
26490
+ var m = cmyk[1] / 100;
26491
+ var y = cmyk[2] / 100;
26492
+ var k = cmyk[3] / 100;
26493
+ var r;
26494
+ var g;
26495
+ var b;
26496
+
26497
+ r = 1 - Math.min(1, c * (1 - k) + k);
26498
+ g = 1 - Math.min(1, m * (1 - k) + k);
26499
+ b = 1 - Math.min(1, y * (1 - k) + k);
26500
+
26501
+ return [r * 255, g * 255, b * 255];
26502
+ };
26503
+
26504
+ convert.xyz.rgb = function (xyz) {
26505
+ var x = xyz[0] / 100;
26506
+ var y = xyz[1] / 100;
26507
+ var z = xyz[2] / 100;
26508
+ var r;
26509
+ var g;
26510
+ var b;
26511
+
26512
+ r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
26513
+ g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
26514
+ b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);
26515
+
26516
+ // assume sRGB
26517
+ r = r > 0.0031308
26518
+ ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)
26519
+ : r * 12.92;
26520
+
26521
+ g = g > 0.0031308
26522
+ ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)
26523
+ : g * 12.92;
26524
+
26525
+ b = b > 0.0031308
26526
+ ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)
26527
+ : b * 12.92;
26528
+
26529
+ r = Math.min(Math.max(0, r), 1);
26530
+ g = Math.min(Math.max(0, g), 1);
26531
+ b = Math.min(Math.max(0, b), 1);
26532
+
26533
+ return [r * 255, g * 255, b * 255];
26534
+ };
26535
+
26536
+ convert.xyz.lab = function (xyz) {
26537
+ var x = xyz[0];
26538
+ var y = xyz[1];
26539
+ var z = xyz[2];
26540
+ var l;
26541
+ var a;
26542
+ var b;
26543
+
26544
+ x /= 95.047;
26545
+ y /= 100;
26546
+ z /= 108.883;
26547
+
26548
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
26549
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
26550
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
26551
+
26552
+ l = (116 * y) - 16;
26553
+ a = 500 * (x - y);
26554
+ b = 200 * (y - z);
26555
+
26556
+ return [l, a, b];
26557
+ };
26558
+
26559
+ convert.lab.xyz = function (lab) {
26560
+ var l = lab[0];
26561
+ var a = lab[1];
26562
+ var b = lab[2];
26563
+ var x;
26564
+ var y;
26565
+ var z;
26566
+
26567
+ y = (l + 16) / 116;
26568
+ x = a / 500 + y;
26569
+ z = y - b / 200;
26570
+
26571
+ var y2 = Math.pow(y, 3);
26572
+ var x2 = Math.pow(x, 3);
26573
+ var z2 = Math.pow(z, 3);
26574
+ y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
26575
+ x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
26576
+ z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
26577
+
26578
+ x *= 95.047;
26579
+ y *= 100;
26580
+ z *= 108.883;
26581
+
26582
+ return [x, y, z];
26583
+ };
26584
+
26585
+ convert.lab.lch = function (lab) {
26586
+ var l = lab[0];
26587
+ var a = lab[1];
26588
+ var b = lab[2];
26589
+ var hr;
26590
+ var h;
26591
+ var c;
26592
+
26593
+ hr = Math.atan2(b, a);
26594
+ h = hr * 360 / 2 / Math.PI;
26595
+
26596
+ if (h < 0) {
26597
+ h += 360;
26598
+ }
26599
+
26600
+ c = Math.sqrt(a * a + b * b);
26601
+
26602
+ return [l, c, h];
26603
+ };
26604
+
26605
+ convert.lch.lab = function (lch) {
26606
+ var l = lch[0];
26607
+ var c = lch[1];
26608
+ var h = lch[2];
26609
+ var a;
26610
+ var b;
26611
+ var hr;
26612
+
26613
+ hr = h / 360 * 2 * Math.PI;
26614
+ a = c * Math.cos(hr);
26615
+ b = c * Math.sin(hr);
26616
+
26617
+ return [l, a, b];
26618
+ };
26619
+
26620
+ convert.rgb.ansi16 = function (args) {
26621
+ var r = args[0];
26622
+ var g = args[1];
26623
+ var b = args[2];
26624
+ var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
26625
+
26626
+ value = Math.round(value / 50);
26627
+
26628
+ if (value === 0) {
26629
+ return 30;
26630
+ }
26631
+
26632
+ var ansi = 30
26633
+ + ((Math.round(b / 255) << 2)
26634
+ | (Math.round(g / 255) << 1)
26635
+ | Math.round(r / 255));
26636
+
26637
+ if (value === 2) {
26638
+ ansi += 60;
26639
+ }
26640
+
26641
+ return ansi;
26642
+ };
26643
+
26644
+ convert.hsv.ansi16 = function (args) {
26645
+ // optimization here; we already know the value and don't need to get
26646
+ // it converted for us.
26647
+ return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
26648
+ };
26649
+
26650
+ convert.rgb.ansi256 = function (args) {
26651
+ var r = args[0];
26652
+ var g = args[1];
26653
+ var b = args[2];
26654
+
26655
+ // we use the extended greyscale palette here, with the exception of
26656
+ // black and white. normal palette only has 4 greyscale shades.
26657
+ if (r === g && g === b) {
26658
+ if (r < 8) {
26659
+ return 16;
26660
+ }
26661
+
26662
+ if (r > 248) {
26663
+ return 231;
26664
+ }
26665
+
26666
+ return Math.round(((r - 8) / 247) * 24) + 232;
26667
+ }
26668
+
26669
+ var ansi = 16
26670
+ + (36 * Math.round(r / 255 * 5))
26671
+ + (6 * Math.round(g / 255 * 5))
26672
+ + Math.round(b / 255 * 5);
26673
+
26674
+ return ansi;
26675
+ };
26676
+
26677
+ convert.ansi16.rgb = function (args) {
26678
+ var color = args % 10;
26679
+
26680
+ // handle greyscale
26681
+ if (color === 0 || color === 7) {
26682
+ if (args > 50) {
26683
+ color += 3.5;
26684
+ }
26685
+
26686
+ color = color / 10.5 * 255;
26687
+
26688
+ return [color, color, color];
26689
+ }
26690
+
26691
+ var mult = (~~(args > 50) + 1) * 0.5;
26692
+ var r = ((color & 1) * mult) * 255;
26693
+ var g = (((color >> 1) & 1) * mult) * 255;
26694
+ var b = (((color >> 2) & 1) * mult) * 255;
26695
+
26696
+ return [r, g, b];
26697
+ };
26698
+
26699
+ convert.ansi256.rgb = function (args) {
26700
+ // handle greyscale
26701
+ if (args >= 232) {
26702
+ var c = (args - 232) * 10 + 8;
26703
+ return [c, c, c];
26704
+ }
26705
+
26706
+ args -= 16;
26707
+
26708
+ var rem;
26709
+ var r = Math.floor(args / 36) / 5 * 255;
26710
+ var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
26711
+ var b = (rem % 6) / 5 * 255;
26712
+
26713
+ return [r, g, b];
26714
+ };
26715
+
26716
+ convert.rgb.hex = function (args) {
26717
+ var integer = ((Math.round(args[0]) & 0xFF) << 16)
26718
+ + ((Math.round(args[1]) & 0xFF) << 8)
26719
+ + (Math.round(args[2]) & 0xFF);
26720
+
26721
+ var string = integer.toString(16).toUpperCase();
26722
+ return '000000'.substring(string.length) + string;
26723
+ };
26724
+
26725
+ convert.hex.rgb = function (args) {
26726
+ var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
26727
+ if (!match) {
26728
+ return [0, 0, 0];
26729
+ }
26730
+
26731
+ var colorString = match[0];
26732
+
26733
+ if (match[0].length === 3) {
26734
+ colorString = colorString.split('').map(function (char) {
26735
+ return char + char;
26736
+ }).join('');
26737
+ }
26738
+
26739
+ var integer = parseInt(colorString, 16);
26740
+ var r = (integer >> 16) & 0xFF;
26741
+ var g = (integer >> 8) & 0xFF;
26742
+ var b = integer & 0xFF;
26743
+
26744
+ return [r, g, b];
26745
+ };
26746
+
26747
+ convert.rgb.hcg = function (rgb) {
26748
+ var r = rgb[0] / 255;
26749
+ var g = rgb[1] / 255;
26750
+ var b = rgb[2] / 255;
26751
+ var max = Math.max(Math.max(r, g), b);
26752
+ var min = Math.min(Math.min(r, g), b);
26753
+ var chroma = (max - min);
26754
+ var grayscale;
26755
+ var hue;
26756
+
26757
+ if (chroma < 1) {
26758
+ grayscale = min / (1 - chroma);
26759
+ } else {
26760
+ grayscale = 0;
26761
+ }
26762
+
26763
+ if (chroma <= 0) {
26764
+ hue = 0;
26765
+ } else
26766
+ if (max === r) {
26767
+ hue = ((g - b) / chroma) % 6;
26768
+ } else
26769
+ if (max === g) {
26770
+ hue = 2 + (b - r) / chroma;
26771
+ } else {
26772
+ hue = 4 + (r - g) / chroma + 4;
26773
+ }
26774
+
26775
+ hue /= 6;
26776
+ hue %= 1;
26777
+
26778
+ return [hue * 360, chroma * 100, grayscale * 100];
26779
+ };
26780
+
26781
+ convert.hsl.hcg = function (hsl) {
26782
+ var s = hsl[1] / 100;
26783
+ var l = hsl[2] / 100;
26784
+ var c = 1;
26785
+ var f = 0;
26786
+
26787
+ if (l < 0.5) {
26788
+ c = 2.0 * s * l;
26789
+ } else {
26790
+ c = 2.0 * s * (1.0 - l);
26791
+ }
26792
+
26793
+ if (c < 1.0) {
26794
+ f = (l - 0.5 * c) / (1.0 - c);
26795
+ }
26796
+
26797
+ return [hsl[0], c * 100, f * 100];
26798
+ };
26799
+
26800
+ convert.hsv.hcg = function (hsv) {
26801
+ var s = hsv[1] / 100;
26802
+ var v = hsv[2] / 100;
26803
+
26804
+ var c = s * v;
26805
+ var f = 0;
26806
+
26807
+ if (c < 1.0) {
26808
+ f = (v - c) / (1 - c);
26809
+ }
26810
+
26811
+ return [hsv[0], c * 100, f * 100];
26812
+ };
26813
+
26814
+ convert.hcg.rgb = function (hcg) {
26815
+ var h = hcg[0] / 360;
26816
+ var c = hcg[1] / 100;
26817
+ var g = hcg[2] / 100;
26818
+
26819
+ if (c === 0.0) {
26820
+ return [g * 255, g * 255, g * 255];
26821
+ }
26822
+
26823
+ var pure = [0, 0, 0];
26824
+ var hi = (h % 1) * 6;
26825
+ var v = hi % 1;
26826
+ var w = 1 - v;
26827
+ var mg = 0;
26828
+
26829
+ switch (Math.floor(hi)) {
26830
+ case 0:
26831
+ pure[0] = 1; pure[1] = v; pure[2] = 0; break;
26832
+ case 1:
26833
+ pure[0] = w; pure[1] = 1; pure[2] = 0; break;
26834
+ case 2:
26835
+ pure[0] = 0; pure[1] = 1; pure[2] = v; break;
26836
+ case 3:
26837
+ pure[0] = 0; pure[1] = w; pure[2] = 1; break;
26838
+ case 4:
26839
+ pure[0] = v; pure[1] = 0; pure[2] = 1; break;
26840
+ default:
26841
+ pure[0] = 1; pure[1] = 0; pure[2] = w;
26842
+ }
26843
+
26844
+ mg = (1.0 - c) * g;
26845
+
26846
+ return [
26847
+ (c * pure[0] + mg) * 255,
26848
+ (c * pure[1] + mg) * 255,
26849
+ (c * pure[2] + mg) * 255
26850
+ ];
26851
+ };
26852
+
26853
+ convert.hcg.hsv = function (hcg) {
26854
+ var c = hcg[1] / 100;
26855
+ var g = hcg[2] / 100;
26856
+
26857
+ var v = c + g * (1.0 - c);
26858
+ var f = 0;
26859
+
26860
+ if (v > 0.0) {
26861
+ f = c / v;
26862
+ }
26863
+
26864
+ return [hcg[0], f * 100, v * 100];
26865
+ };
26866
+
26867
+ convert.hcg.hsl = function (hcg) {
26868
+ var c = hcg[1] / 100;
26869
+ var g = hcg[2] / 100;
26870
+
26871
+ var l = g * (1.0 - c) + 0.5 * c;
26872
+ var s = 0;
26873
+
26874
+ if (l > 0.0 && l < 0.5) {
26875
+ s = c / (2 * l);
26876
+ } else
26877
+ if (l >= 0.5 && l < 1.0) {
26878
+ s = c / (2 * (1 - l));
26879
+ }
26880
+
26881
+ return [hcg[0], s * 100, l * 100];
26882
+ };
26883
+
26884
+ convert.hcg.hwb = function (hcg) {
26885
+ var c = hcg[1] / 100;
26886
+ var g = hcg[2] / 100;
26887
+ var v = c + g * (1.0 - c);
26888
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
26889
+ };
26890
+
26891
+ convert.hwb.hcg = function (hwb) {
26892
+ var w = hwb[1] / 100;
26893
+ var b = hwb[2] / 100;
26894
+ var v = 1 - b;
26895
+ var c = v - w;
26896
+ var g = 0;
26897
+
26898
+ if (c < 1) {
26899
+ g = (v - c) / (1 - c);
26900
+ }
26901
+
26902
+ return [hwb[0], c * 100, g * 100];
26903
+ };
26904
+
26905
+ convert.apple.rgb = function (apple) {
26906
+ return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];
26907
+ };
26908
+
26909
+ convert.rgb.apple = function (rgb) {
26910
+ return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];
26911
+ };
26912
+
26913
+ convert.gray.rgb = function (args) {
26914
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
26915
+ };
26916
+
26917
+ convert.gray.hsl = convert.gray.hsv = function (args) {
26918
+ return [0, 0, args[0]];
26919
+ };
26920
+
26921
+ convert.gray.hwb = function (gray) {
26922
+ return [0, 100, gray[0]];
26923
+ };
26924
+
26925
+ convert.gray.cmyk = function (gray) {
26926
+ return [0, 0, 0, gray[0]];
26927
+ };
26928
+
26929
+ convert.gray.lab = function (gray) {
26930
+ return [gray[0], 0, 0];
26931
+ };
26932
+
26933
+ convert.gray.hex = function (gray) {
26934
+ var val = Math.round(gray[0] / 100 * 255) & 0xFF;
26935
+ var integer = (val << 16) + (val << 8) + val;
26936
+
26937
+ var string = integer.toString(16).toUpperCase();
26938
+ return '000000'.substring(string.length) + string;
26939
+ };
26940
+
26941
+ convert.rgb.gray = function (rgb) {
26942
+ var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
26943
+ return [val / 255 * 100];
26944
+ };
26945
+ });
26946
+ var conversions_1 = conversions.rgb;
26947
+ var conversions_2 = conversions.hsl;
26948
+ var conversions_3 = conversions.hsv;
26949
+ var conversions_4 = conversions.hwb;
26950
+ var conversions_5 = conversions.cmyk;
26951
+ var conversions_6 = conversions.xyz;
26952
+ var conversions_7 = conversions.lab;
26953
+ var conversions_8 = conversions.lch;
26954
+ var conversions_9 = conversions.hex;
26955
+ var conversions_10 = conversions.keyword;
26956
+ var conversions_11 = conversions.ansi16;
26957
+ var conversions_12 = conversions.ansi256;
26958
+ var conversions_13 = conversions.hcg;
26959
+ var conversions_14 = conversions.apple;
26960
+ var conversions_15 = conversions.gray;
26961
+
26962
+ /*
26963
+ this function routes a model to all other models.
26964
+
26965
+ all functions that are routed have a property `.conversion` attached
26966
+ to the returned synthetic function. This property is an array
26967
+ of strings, each with the steps in between the 'from' and 'to'
26968
+ color models (inclusive).
26969
+
26970
+ conversions that are not possible simply are not included.
26971
+ */
26972
+
26973
+ function buildGraph() {
26974
+ var graph = {};
26975
+ // https://jsperf.com/object-keys-vs-for-in-with-closure/3
26976
+ var models = Object.keys(conversions);
26977
+
26978
+ for (var len = models.length, i = 0; i < len; i++) {
26979
+ graph[models[i]] = {
26980
+ // http://jsperf.com/1-vs-infinity
26981
+ // micro-opt, but this is simple.
26982
+ distance: -1,
26983
+ parent: null
26984
+ };
26985
+ }
26986
+
26987
+ return graph;
26988
+ }
26989
+
26990
+ // https://en.wikipedia.org/wiki/Breadth-first_search
26991
+ function deriveBFS(fromModel) {
26992
+ var graph = buildGraph();
26993
+ var queue = [fromModel]; // unshift -> queue -> pop
26994
+
26995
+ graph[fromModel].distance = 0;
26996
+
26997
+ while (queue.length) {
26998
+ var current = queue.pop();
26999
+ var adjacents = Object.keys(conversions[current]);
27000
+
27001
+ for (var len = adjacents.length, i = 0; i < len; i++) {
27002
+ var adjacent = adjacents[i];
27003
+ var node = graph[adjacent];
27004
+
27005
+ if (node.distance === -1) {
27006
+ node.distance = graph[current].distance + 1;
27007
+ node.parent = current;
27008
+ queue.unshift(adjacent);
27009
+ }
27010
+ }
27011
+ }
27012
+
27013
+ return graph;
27014
+ }
27015
+
27016
+ function link(from, to) {
27017
+ return function (args) {
27018
+ return to(from(args));
27019
+ };
27020
+ }
27021
+
27022
+ function wrapConversion(toModel, graph) {
27023
+ var path = [graph[toModel].parent, toModel];
27024
+ var fn = conversions[graph[toModel].parent][toModel];
27025
+
27026
+ var cur = graph[toModel].parent;
27027
+ while (graph[cur].parent) {
27028
+ path.unshift(graph[cur].parent);
27029
+ fn = link(conversions[graph[cur].parent][cur], fn);
27030
+ cur = graph[cur].parent;
27031
+ }
27032
+
27033
+ fn.conversion = path;
27034
+ return fn;
27035
+ }
27036
+
27037
+ var route = function (fromModel) {
27038
+ var graph = deriveBFS(fromModel);
27039
+ var conversion = {};
27040
+
27041
+ var models = Object.keys(graph);
27042
+ for (var len = models.length, i = 0; i < len; i++) {
27043
+ var toModel = models[i];
27044
+ var node = graph[toModel];
27045
+
27046
+ if (node.parent === null) {
27047
+ // no possible conversion, or this node is the source model.
27048
+ continue;
27049
+ }
27050
+
27051
+ conversion[toModel] = wrapConversion(toModel, graph);
27052
+ }
27053
+
27054
+ return conversion;
27055
+ };
27056
+
27057
+ var convert = {};
27058
+
27059
+ var models = Object.keys(conversions);
27060
+
27061
+ function wrapRaw(fn) {
27062
+ var wrappedFn = function (args) {
27063
+ if (args === undefined || args === null) {
27064
+ return args;
27065
+ }
27066
+
27067
+ if (arguments.length > 1) {
27068
+ args = Array.prototype.slice.call(arguments);
27069
+ }
27070
+
27071
+ return fn(args);
27072
+ };
27073
+
27074
+ // preserve .conversion property if there is one
27075
+ if ('conversion' in fn) {
27076
+ wrappedFn.conversion = fn.conversion;
27077
+ }
27078
+
27079
+ return wrappedFn;
27080
+ }
27081
+
27082
+ function wrapRounded(fn) {
27083
+ var wrappedFn = function (args) {
27084
+ if (args === undefined || args === null) {
27085
+ return args;
27086
+ }
27087
+
27088
+ if (arguments.length > 1) {
27089
+ args = Array.prototype.slice.call(arguments);
27090
+ }
27091
+
27092
+ var result = fn(args);
27093
+
27094
+ // we're assuming the result is an array here.
27095
+ // see notice in conversions.js; don't use box types
27096
+ // in conversion functions.
27097
+ if (typeof result === 'object') {
27098
+ for (var len = result.length, i = 0; i < len; i++) {
27099
+ result[i] = Math.round(result[i]);
27100
+ }
27101
+ }
27102
+
27103
+ return result;
27104
+ };
27105
+
27106
+ // preserve .conversion property if there is one
27107
+ if ('conversion' in fn) {
27108
+ wrappedFn.conversion = fn.conversion;
27109
+ }
27110
+
27111
+ return wrappedFn;
27112
+ }
27113
+
27114
+ models.forEach(function (fromModel) {
27115
+ convert[fromModel] = {};
27116
+
27117
+ Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});
27118
+ Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});
27119
+
27120
+ var routes = route(fromModel);
27121
+ var routeModels = Object.keys(routes);
27122
+
27123
+ routeModels.forEach(function (toModel) {
27124
+ var fn = routes[toModel];
27125
+
27126
+ convert[fromModel][toModel] = wrapRounded(fn);
27127
+ convert[fromModel][toModel].raw = wrapRaw(fn);
27128
+ });
27129
+ });
27130
+
27131
+ var colorConvert = convert;
27132
+
27133
+ var colorName$1 = {
27134
+ "aliceblue": [240, 248, 255],
27135
+ "antiquewhite": [250, 235, 215],
27136
+ "aqua": [0, 255, 255],
27137
+ "aquamarine": [127, 255, 212],
27138
+ "azure": [240, 255, 255],
27139
+ "beige": [245, 245, 220],
27140
+ "bisque": [255, 228, 196],
27141
+ "black": [0, 0, 0],
27142
+ "blanchedalmond": [255, 235, 205],
27143
+ "blue": [0, 0, 255],
27144
+ "blueviolet": [138, 43, 226],
27145
+ "brown": [165, 42, 42],
27146
+ "burlywood": [222, 184, 135],
27147
+ "cadetblue": [95, 158, 160],
27148
+ "chartreuse": [127, 255, 0],
27149
+ "chocolate": [210, 105, 30],
27150
+ "coral": [255, 127, 80],
27151
+ "cornflowerblue": [100, 149, 237],
27152
+ "cornsilk": [255, 248, 220],
27153
+ "crimson": [220, 20, 60],
27154
+ "cyan": [0, 255, 255],
27155
+ "darkblue": [0, 0, 139],
27156
+ "darkcyan": [0, 139, 139],
27157
+ "darkgoldenrod": [184, 134, 11],
27158
+ "darkgray": [169, 169, 169],
27159
+ "darkgreen": [0, 100, 0],
27160
+ "darkgrey": [169, 169, 169],
27161
+ "darkkhaki": [189, 183, 107],
27162
+ "darkmagenta": [139, 0, 139],
27163
+ "darkolivegreen": [85, 107, 47],
27164
+ "darkorange": [255, 140, 0],
27165
+ "darkorchid": [153, 50, 204],
27166
+ "darkred": [139, 0, 0],
27167
+ "darksalmon": [233, 150, 122],
27168
+ "darkseagreen": [143, 188, 143],
27169
+ "darkslateblue": [72, 61, 139],
27170
+ "darkslategray": [47, 79, 79],
27171
+ "darkslategrey": [47, 79, 79],
27172
+ "darkturquoise": [0, 206, 209],
27173
+ "darkviolet": [148, 0, 211],
27174
+ "deeppink": [255, 20, 147],
27175
+ "deepskyblue": [0, 191, 255],
27176
+ "dimgray": [105, 105, 105],
27177
+ "dimgrey": [105, 105, 105],
27178
+ "dodgerblue": [30, 144, 255],
27179
+ "firebrick": [178, 34, 34],
27180
+ "floralwhite": [255, 250, 240],
27181
+ "forestgreen": [34, 139, 34],
27182
+ "fuchsia": [255, 0, 255],
27183
+ "gainsboro": [220, 220, 220],
27184
+ "ghostwhite": [248, 248, 255],
27185
+ "gold": [255, 215, 0],
27186
+ "goldenrod": [218, 165, 32],
27187
+ "gray": [128, 128, 128],
27188
+ "green": [0, 128, 0],
27189
+ "greenyellow": [173, 255, 47],
27190
+ "grey": [128, 128, 128],
27191
+ "honeydew": [240, 255, 240],
27192
+ "hotpink": [255, 105, 180],
27193
+ "indianred": [205, 92, 92],
27194
+ "indigo": [75, 0, 130],
27195
+ "ivory": [255, 255, 240],
27196
+ "khaki": [240, 230, 140],
27197
+ "lavender": [230, 230, 250],
27198
+ "lavenderblush": [255, 240, 245],
27199
+ "lawngreen": [124, 252, 0],
27200
+ "lemonchiffon": [255, 250, 205],
27201
+ "lightblue": [173, 216, 230],
27202
+ "lightcoral": [240, 128, 128],
27203
+ "lightcyan": [224, 255, 255],
27204
+ "lightgoldenrodyellow": [250, 250, 210],
27205
+ "lightgray": [211, 211, 211],
27206
+ "lightgreen": [144, 238, 144],
27207
+ "lightgrey": [211, 211, 211],
27208
+ "lightpink": [255, 182, 193],
27209
+ "lightsalmon": [255, 160, 122],
27210
+ "lightseagreen": [32, 178, 170],
27211
+ "lightskyblue": [135, 206, 250],
27212
+ "lightslategray": [119, 136, 153],
27213
+ "lightslategrey": [119, 136, 153],
27214
+ "lightsteelblue": [176, 196, 222],
27215
+ "lightyellow": [255, 255, 224],
27216
+ "lime": [0, 255, 0],
27217
+ "limegreen": [50, 205, 50],
27218
+ "linen": [250, 240, 230],
27219
+ "magenta": [255, 0, 255],
27220
+ "maroon": [128, 0, 0],
27221
+ "mediumaquamarine": [102, 205, 170],
27222
+ "mediumblue": [0, 0, 205],
27223
+ "mediumorchid": [186, 85, 211],
27224
+ "mediumpurple": [147, 112, 219],
27225
+ "mediumseagreen": [60, 179, 113],
27226
+ "mediumslateblue": [123, 104, 238],
27227
+ "mediumspringgreen": [0, 250, 154],
27228
+ "mediumturquoise": [72, 209, 204],
27229
+ "mediumvioletred": [199, 21, 133],
27230
+ "midnightblue": [25, 25, 112],
27231
+ "mintcream": [245, 255, 250],
27232
+ "mistyrose": [255, 228, 225],
27233
+ "moccasin": [255, 228, 181],
27234
+ "navajowhite": [255, 222, 173],
27235
+ "navy": [0, 0, 128],
27236
+ "oldlace": [253, 245, 230],
27237
+ "olive": [128, 128, 0],
27238
+ "olivedrab": [107, 142, 35],
27239
+ "orange": [255, 165, 0],
27240
+ "orangered": [255, 69, 0],
27241
+ "orchid": [218, 112, 214],
27242
+ "palegoldenrod": [238, 232, 170],
27243
+ "palegreen": [152, 251, 152],
27244
+ "paleturquoise": [175, 238, 238],
27245
+ "palevioletred": [219, 112, 147],
27246
+ "papayawhip": [255, 239, 213],
27247
+ "peachpuff": [255, 218, 185],
27248
+ "peru": [205, 133, 63],
27249
+ "pink": [255, 192, 203],
27250
+ "plum": [221, 160, 221],
27251
+ "powderblue": [176, 224, 230],
27252
+ "purple": [128, 0, 128],
27253
+ "rebeccapurple": [102, 51, 153],
27254
+ "red": [255, 0, 0],
27255
+ "rosybrown": [188, 143, 143],
27256
+ "royalblue": [65, 105, 225],
27257
+ "saddlebrown": [139, 69, 19],
27258
+ "salmon": [250, 128, 114],
27259
+ "sandybrown": [244, 164, 96],
27260
+ "seagreen": [46, 139, 87],
27261
+ "seashell": [255, 245, 238],
27262
+ "sienna": [160, 82, 45],
27263
+ "silver": [192, 192, 192],
27264
+ "skyblue": [135, 206, 235],
27265
+ "slateblue": [106, 90, 205],
27266
+ "slategray": [112, 128, 144],
27267
+ "slategrey": [112, 128, 144],
27268
+ "snow": [255, 250, 250],
27269
+ "springgreen": [0, 255, 127],
27270
+ "steelblue": [70, 130, 180],
27271
+ "tan": [210, 180, 140],
27272
+ "teal": [0, 128, 128],
27273
+ "thistle": [216, 191, 216],
27274
+ "tomato": [255, 99, 71],
27275
+ "turquoise": [64, 224, 208],
27276
+ "violet": [238, 130, 238],
27277
+ "wheat": [245, 222, 179],
27278
+ "white": [255, 255, 255],
27279
+ "whitesmoke": [245, 245, 245],
27280
+ "yellow": [255, 255, 0],
27281
+ "yellowgreen": [154, 205, 50]
27282
+ };
27283
+
27284
+ /* MIT license */
27285
+
27286
+
27287
+ var colorString = {
27288
+ getRgba: getRgba,
27289
+ getHsla: getHsla,
27290
+ getRgb: getRgb,
27291
+ getHsl: getHsl,
27292
+ getHwb: getHwb,
27293
+ getAlpha: getAlpha,
27294
+
27295
+ hexString: hexString,
27296
+ rgbString: rgbString,
27297
+ rgbaString: rgbaString,
27298
+ percentString: percentString,
27299
+ percentaString: percentaString,
27300
+ hslString: hslString,
27301
+ hslaString: hslaString,
27302
+ hwbString: hwbString,
27303
+ keyword: keyword
27304
+ };
27305
+
27306
+ function getRgba(string) {
27307
+ if (!string) {
27308
+ return;
27309
+ }
27310
+ var abbr = /^#([a-fA-F0-9]{3,4})$/i,
27311
+ hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,
27312
+ rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,
27313
+ per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i,
27314
+ keyword = /(\w+)/;
27315
+
27316
+ var rgb = [0, 0, 0],
27317
+ a = 1,
27318
+ match = string.match(abbr),
27319
+ hexAlpha = "";
27320
+ if (match) {
27321
+ match = match[1];
27322
+ hexAlpha = match[3];
27323
+ for (var i = 0; i < rgb.length; i++) {
27324
+ rgb[i] = parseInt(match[i] + match[i], 16);
27325
+ }
27326
+ if (hexAlpha) {
27327
+ a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;
27328
+ }
27329
+ }
27330
+ else if (match = string.match(hex)) {
27331
+ hexAlpha = match[2];
27332
+ match = match[1];
27333
+ for (var i = 0; i < rgb.length; i++) {
27334
+ rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);
27335
+ }
27336
+ if (hexAlpha) {
27337
+ a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;
27338
+ }
27339
+ }
27340
+ else if (match = string.match(rgba)) {
27341
+ for (var i = 0; i < rgb.length; i++) {
27342
+ rgb[i] = parseInt(match[i + 1]);
27343
+ }
27344
+ a = parseFloat(match[4]);
27345
+ }
27346
+ else if (match = string.match(per)) {
27347
+ for (var i = 0; i < rgb.length; i++) {
27348
+ rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
27349
+ }
27350
+ a = parseFloat(match[4]);
27351
+ }
27352
+ else if (match = string.match(keyword)) {
27353
+ if (match[1] == "transparent") {
27354
+ return [0, 0, 0, 0];
27355
+ }
27356
+ rgb = colorName$1[match[1]];
27357
+ if (!rgb) {
27358
+ return;
27359
+ }
27360
+ }
27361
+
27362
+ for (var i = 0; i < rgb.length; i++) {
27363
+ rgb[i] = scale(rgb[i], 0, 255);
27364
+ }
27365
+ if (!a && a != 0) {
27366
+ a = 1;
27367
+ }
27368
+ else {
27369
+ a = scale(a, 0, 1);
27370
+ }
27371
+ rgb[3] = a;
27372
+ return rgb;
27373
+ }
27374
+
27375
+ function getHsla(string) {
27376
+ if (!string) {
27377
+ return;
27378
+ }
27379
+ var hsl = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
27380
+ var match = string.match(hsl);
27381
+ if (match) {
27382
+ var alpha = parseFloat(match[4]);
27383
+ var h = scale(parseInt(match[1]), 0, 360),
27384
+ s = scale(parseFloat(match[2]), 0, 100),
27385
+ l = scale(parseFloat(match[3]), 0, 100),
27386
+ a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
27387
+ return [h, s, l, a];
27388
+ }
27389
+ }
27390
+
27391
+ function getHwb(string) {
27392
+ if (!string) {
27393
+ return;
27394
+ }
27395
+ var hwb = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
27396
+ var match = string.match(hwb);
27397
+ if (match) {
27398
+ var alpha = parseFloat(match[4]);
27399
+ var h = scale(parseInt(match[1]), 0, 360),
27400
+ w = scale(parseFloat(match[2]), 0, 100),
27401
+ b = scale(parseFloat(match[3]), 0, 100),
27402
+ a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
27403
+ return [h, w, b, a];
27404
+ }
27405
+ }
27406
+
27407
+ function getRgb(string) {
27408
+ var rgba = getRgba(string);
27409
+ return rgba && rgba.slice(0, 3);
27410
+ }
27411
+
27412
+ function getHsl(string) {
27413
+ var hsla = getHsla(string);
27414
+ return hsla && hsla.slice(0, 3);
27415
+ }
27416
+
27417
+ function getAlpha(string) {
27418
+ var vals = getRgba(string);
27419
+ if (vals) {
27420
+ return vals[3];
27421
+ }
27422
+ else if (vals = getHsla(string)) {
27423
+ return vals[3];
27424
+ }
27425
+ else if (vals = getHwb(string)) {
27426
+ return vals[3];
27427
+ }
27428
+ }
27429
+
27430
+ // generators
27431
+ function hexString(rgba, a) {
27432
+ var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];
27433
+ return "#" + hexDouble(rgba[0])
27434
+ + hexDouble(rgba[1])
27435
+ + hexDouble(rgba[2])
27436
+ + (
27437
+ (a >= 0 && a < 1)
27438
+ ? hexDouble(Math.round(a * 255))
27439
+ : ""
27440
+ );
27441
+ }
27442
+
27443
+ function rgbString(rgba, alpha) {
27444
+ if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
27445
+ return rgbaString(rgba, alpha);
27446
+ }
27447
+ return "rgb(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ")";
27448
+ }
27449
+
27450
+ function rgbaString(rgba, alpha) {
27451
+ if (alpha === undefined) {
27452
+ alpha = (rgba[3] !== undefined ? rgba[3] : 1);
27453
+ }
27454
+ return "rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2]
27455
+ + ", " + alpha + ")";
27456
+ }
27457
+
27458
+ function percentString(rgba, alpha) {
27459
+ if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
27460
+ return percentaString(rgba, alpha);
27461
+ }
27462
+ var r = Math.round(rgba[0]/255 * 100),
27463
+ g = Math.round(rgba[1]/255 * 100),
27464
+ b = Math.round(rgba[2]/255 * 100);
27465
+
27466
+ return "rgb(" + r + "%, " + g + "%, " + b + "%)";
27467
+ }
27468
+
27469
+ function percentaString(rgba, alpha) {
27470
+ var r = Math.round(rgba[0]/255 * 100),
27471
+ g = Math.round(rgba[1]/255 * 100),
27472
+ b = Math.round(rgba[2]/255 * 100);
27473
+ return "rgba(" + r + "%, " + g + "%, " + b + "%, " + (alpha || rgba[3] || 1) + ")";
27474
+ }
27475
+
27476
+ function hslString(hsla, alpha) {
27477
+ if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {
27478
+ return hslaString(hsla, alpha);
27479
+ }
27480
+ return "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)";
27481
+ }
27482
+
27483
+ function hslaString(hsla, alpha) {
27484
+ if (alpha === undefined) {
27485
+ alpha = (hsla[3] !== undefined ? hsla[3] : 1);
27486
+ }
27487
+ return "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, "
27488
+ + alpha + ")";
27489
+ }
27490
+
27491
+ // hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
27492
+ // (hwb have alpha optional & 1 is default value)
27493
+ function hwbString(hwb, alpha) {
27494
+ if (alpha === undefined) {
27495
+ alpha = (hwb[3] !== undefined ? hwb[3] : 1);
27496
+ }
27497
+ return "hwb(" + hwb[0] + ", " + hwb[1] + "%, " + hwb[2] + "%"
27498
+ + (alpha !== undefined && alpha !== 1 ? ", " + alpha : "") + ")";
27499
+ }
27500
+
27501
+ function keyword(rgb) {
27502
+ return reverseNames[rgb.slice(0, 3)];
27503
+ }
27504
+
27505
+ // helpers
27506
+ function scale(num, min, max) {
27507
+ return Math.min(Math.max(min, num), max);
27508
+ }
27509
+
27510
+ function hexDouble(num) {
27511
+ var str = num.toString(16).toUpperCase();
27512
+ return (str.length < 2) ? "0" + str : str;
27513
+ }
27514
+
27515
+
27516
+ //create a list of reverse color names
27517
+ var reverseNames = {};
27518
+ for (var name in colorName$1) {
27519
+ reverseNames[colorName$1[name]] = name;
27520
+ }
27521
+
27522
+ /* MIT license */
27523
+
27524
+
27525
+
27526
+ var Color = function (obj) {
27527
+ if (obj instanceof Color) {
27528
+ return obj;
27529
+ }
27530
+ if (!(this instanceof Color)) {
27531
+ return new Color(obj);
27532
+ }
27533
+
27534
+ this.valid = false;
27535
+ this.values = {
27536
+ rgb: [0, 0, 0],
27537
+ hsl: [0, 0, 0],
27538
+ hsv: [0, 0, 0],
27539
+ hwb: [0, 0, 0],
27540
+ cmyk: [0, 0, 0, 0],
27541
+ alpha: 1
27542
+ };
27543
+
27544
+ // parse Color() argument
27545
+ var vals;
27546
+ if (typeof obj === 'string') {
27547
+ vals = colorString.getRgba(obj);
27548
+ if (vals) {
27549
+ this.setValues('rgb', vals);
27550
+ } else if (vals = colorString.getHsla(obj)) {
27551
+ this.setValues('hsl', vals);
27552
+ } else if (vals = colorString.getHwb(obj)) {
27553
+ this.setValues('hwb', vals);
27554
+ }
27555
+ } else if (typeof obj === 'object') {
27556
+ vals = obj;
27557
+ if (vals.r !== undefined || vals.red !== undefined) {
27558
+ this.setValues('rgb', vals);
27559
+ } else if (vals.l !== undefined || vals.lightness !== undefined) {
27560
+ this.setValues('hsl', vals);
27561
+ } else if (vals.v !== undefined || vals.value !== undefined) {
27562
+ this.setValues('hsv', vals);
27563
+ } else if (vals.w !== undefined || vals.whiteness !== undefined) {
27564
+ this.setValues('hwb', vals);
27565
+ } else if (vals.c !== undefined || vals.cyan !== undefined) {
27566
+ this.setValues('cmyk', vals);
27567
+ }
27568
+ }
27569
+ };
27570
+
27571
+ Color.prototype = {
27572
+ isValid: function () {
27573
+ return this.valid;
27574
+ },
27575
+ rgb: function () {
27576
+ return this.setSpace('rgb', arguments);
27577
+ },
27578
+ hsl: function () {
27579
+ return this.setSpace('hsl', arguments);
27580
+ },
27581
+ hsv: function () {
27582
+ return this.setSpace('hsv', arguments);
27583
+ },
27584
+ hwb: function () {
27585
+ return this.setSpace('hwb', arguments);
27586
+ },
27587
+ cmyk: function () {
27588
+ return this.setSpace('cmyk', arguments);
27589
+ },
27590
+
27591
+ rgbArray: function () {
27592
+ return this.values.rgb;
27593
+ },
27594
+ hslArray: function () {
27595
+ return this.values.hsl;
27596
+ },
27597
+ hsvArray: function () {
27598
+ return this.values.hsv;
27599
+ },
27600
+ hwbArray: function () {
27601
+ var values = this.values;
27602
+ if (values.alpha !== 1) {
27603
+ return values.hwb.concat([values.alpha]);
27604
+ }
27605
+ return values.hwb;
27606
+ },
27607
+ cmykArray: function () {
27608
+ return this.values.cmyk;
27609
+ },
27610
+ rgbaArray: function () {
27611
+ var values = this.values;
27612
+ return values.rgb.concat([values.alpha]);
27613
+ },
27614
+ hslaArray: function () {
27615
+ var values = this.values;
27616
+ return values.hsl.concat([values.alpha]);
27617
+ },
27618
+ alpha: function (val) {
27619
+ if (val === undefined) {
27620
+ return this.values.alpha;
27621
+ }
27622
+ this.setValues('alpha', val);
27623
+ return this;
27624
+ },
27625
+
27626
+ red: function (val) {
27627
+ return this.setChannel('rgb', 0, val);
27628
+ },
27629
+ green: function (val) {
27630
+ return this.setChannel('rgb', 1, val);
27631
+ },
27632
+ blue: function (val) {
27633
+ return this.setChannel('rgb', 2, val);
27634
+ },
27635
+ hue: function (val) {
27636
+ if (val) {
27637
+ val %= 360;
27638
+ val = val < 0 ? 360 + val : val;
27639
+ }
27640
+ return this.setChannel('hsl', 0, val);
27641
+ },
27642
+ saturation: function (val) {
27643
+ return this.setChannel('hsl', 1, val);
27644
+ },
27645
+ lightness: function (val) {
27646
+ return this.setChannel('hsl', 2, val);
27647
+ },
27648
+ saturationv: function (val) {
27649
+ return this.setChannel('hsv', 1, val);
27650
+ },
27651
+ whiteness: function (val) {
27652
+ return this.setChannel('hwb', 1, val);
27653
+ },
27654
+ blackness: function (val) {
27655
+ return this.setChannel('hwb', 2, val);
27656
+ },
27657
+ value: function (val) {
27658
+ return this.setChannel('hsv', 2, val);
27659
+ },
27660
+ cyan: function (val) {
27661
+ return this.setChannel('cmyk', 0, val);
27662
+ },
27663
+ magenta: function (val) {
27664
+ return this.setChannel('cmyk', 1, val);
27665
+ },
27666
+ yellow: function (val) {
27667
+ return this.setChannel('cmyk', 2, val);
27668
+ },
27669
+ black: function (val) {
27670
+ return this.setChannel('cmyk', 3, val);
27671
+ },
27672
+
27673
+ hexString: function () {
27674
+ return colorString.hexString(this.values.rgb);
27675
+ },
27676
+ rgbString: function () {
27677
+ return colorString.rgbString(this.values.rgb, this.values.alpha);
27678
+ },
27679
+ rgbaString: function () {
27680
+ return colorString.rgbaString(this.values.rgb, this.values.alpha);
27681
+ },
27682
+ percentString: function () {
27683
+ return colorString.percentString(this.values.rgb, this.values.alpha);
27684
+ },
27685
+ hslString: function () {
27686
+ return colorString.hslString(this.values.hsl, this.values.alpha);
27687
+ },
27688
+ hslaString: function () {
27689
+ return colorString.hslaString(this.values.hsl, this.values.alpha);
27690
+ },
27691
+ hwbString: function () {
27692
+ return colorString.hwbString(this.values.hwb, this.values.alpha);
27693
+ },
27694
+ keyword: function () {
27695
+ return colorString.keyword(this.values.rgb, this.values.alpha);
27696
+ },
27697
+
27698
+ rgbNumber: function () {
27699
+ var rgb = this.values.rgb;
27700
+ return (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];
27701
+ },
27702
+
27703
+ luminosity: function () {
27704
+ // http://www.w3.org/TR/WCAG20/#relativeluminancedef
27705
+ var rgb = this.values.rgb;
27706
+ var lum = [];
27707
+ for (var i = 0; i < rgb.length; i++) {
27708
+ var chan = rgb[i] / 255;
27709
+ lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);
27710
+ }
27711
+ return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
27712
+ },
27713
+
27714
+ contrast: function (color2) {
27715
+ // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
27716
+ var lum1 = this.luminosity();
27717
+ var lum2 = color2.luminosity();
27718
+ if (lum1 > lum2) {
27719
+ return (lum1 + 0.05) / (lum2 + 0.05);
27720
+ }
27721
+ return (lum2 + 0.05) / (lum1 + 0.05);
27722
+ },
27723
+
27724
+ level: function (color2) {
27725
+ var contrastRatio = this.contrast(color2);
27726
+ if (contrastRatio >= 7.1) {
27727
+ return 'AAA';
27728
+ }
27729
+
27730
+ return (contrastRatio >= 4.5) ? 'AA' : '';
27731
+ },
27732
+
27733
+ dark: function () {
27734
+ // YIQ equation from http://24ways.org/2010/calculating-color-contrast
27735
+ var rgb = this.values.rgb;
27736
+ var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
27737
+ return yiq < 128;
27738
+ },
27739
+
27740
+ light: function () {
27741
+ return !this.dark();
27742
+ },
27743
+
27744
+ negate: function () {
27745
+ var rgb = [];
27746
+ for (var i = 0; i < 3; i++) {
27747
+ rgb[i] = 255 - this.values.rgb[i];
27748
+ }
27749
+ this.setValues('rgb', rgb);
27750
+ return this;
27751
+ },
27752
+
27753
+ lighten: function (ratio) {
27754
+ var hsl = this.values.hsl;
27755
+ hsl[2] += hsl[2] * ratio;
27756
+ this.setValues('hsl', hsl);
27757
+ return this;
27758
+ },
27759
+
27760
+ darken: function (ratio) {
27761
+ var hsl = this.values.hsl;
27762
+ hsl[2] -= hsl[2] * ratio;
27763
+ this.setValues('hsl', hsl);
27764
+ return this;
27765
+ },
27766
+
27767
+ saturate: function (ratio) {
27768
+ var hsl = this.values.hsl;
27769
+ hsl[1] += hsl[1] * ratio;
27770
+ this.setValues('hsl', hsl);
27771
+ return this;
27772
+ },
27773
+
27774
+ desaturate: function (ratio) {
27775
+ var hsl = this.values.hsl;
27776
+ hsl[1] -= hsl[1] * ratio;
27777
+ this.setValues('hsl', hsl);
27778
+ return this;
27779
+ },
27780
+
27781
+ whiten: function (ratio) {
27782
+ var hwb = this.values.hwb;
27783
+ hwb[1] += hwb[1] * ratio;
27784
+ this.setValues('hwb', hwb);
27785
+ return this;
27786
+ },
27787
+
27788
+ blacken: function (ratio) {
27789
+ var hwb = this.values.hwb;
27790
+ hwb[2] += hwb[2] * ratio;
27791
+ this.setValues('hwb', hwb);
27792
+ return this;
27793
+ },
27794
+
27795
+ greyscale: function () {
27796
+ var rgb = this.values.rgb;
27797
+ // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
27798
+ var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
27799
+ this.setValues('rgb', [val, val, val]);
27800
+ return this;
27801
+ },
27802
+
27803
+ clearer: function (ratio) {
27804
+ var alpha = this.values.alpha;
27805
+ this.setValues('alpha', alpha - (alpha * ratio));
27806
+ return this;
27807
+ },
27808
+
27809
+ opaquer: function (ratio) {
27810
+ var alpha = this.values.alpha;
27811
+ this.setValues('alpha', alpha + (alpha * ratio));
27812
+ return this;
27813
+ },
27814
+
27815
+ rotate: function (degrees) {
27816
+ var hsl = this.values.hsl;
27817
+ var hue = (hsl[0] + degrees) % 360;
27818
+ hsl[0] = hue < 0 ? 360 + hue : hue;
27819
+ this.setValues('hsl', hsl);
27820
+ return this;
27821
+ },
27822
+
27823
+ /**
27824
+ * Ported from sass implementation in C
27825
+ * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
27826
+ */
27827
+ mix: function (mixinColor, weight) {
27828
+ var color1 = this;
27829
+ var color2 = mixinColor;
27830
+ var p = weight === undefined ? 0.5 : weight;
27831
+
27832
+ var w = 2 * p - 1;
27833
+ var a = color1.alpha() - color2.alpha();
27834
+
27835
+ var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;
27836
+ var w2 = 1 - w1;
27837
+
27838
+ return this
27839
+ .rgb(
27840
+ w1 * color1.red() + w2 * color2.red(),
27841
+ w1 * color1.green() + w2 * color2.green(),
27842
+ w1 * color1.blue() + w2 * color2.blue()
27843
+ )
27844
+ .alpha(color1.alpha() * p + color2.alpha() * (1 - p));
27845
+ },
27846
+
27847
+ toJSON: function () {
27848
+ return this.rgb();
27849
+ },
27850
+
27851
+ clone: function () {
27852
+ // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,
27853
+ // making the final build way to big to embed in Chart.js. So let's do it manually,
27854
+ // assuming that values to clone are 1 dimension arrays containing only numbers,
27855
+ // except 'alpha' which is a number.
27856
+ var result = new Color();
27857
+ var source = this.values;
27858
+ var target = result.values;
27859
+ var value, type;
27860
+
27861
+ for (var prop in source) {
27862
+ if (source.hasOwnProperty(prop)) {
27863
+ value = source[prop];
27864
+ type = ({}).toString.call(value);
27865
+ if (type === '[object Array]') {
27866
+ target[prop] = value.slice(0);
27867
+ } else if (type === '[object Number]') {
27868
+ target[prop] = value;
27869
+ } else {
27870
+ console.error('unexpected color value:', value);
27871
+ }
27872
+ }
27873
+ }
27874
+
27875
+ return result;
27876
+ }
27877
+ };
27878
+
27879
+ Color.prototype.spaces = {
27880
+ rgb: ['red', 'green', 'blue'],
27881
+ hsl: ['hue', 'saturation', 'lightness'],
27882
+ hsv: ['hue', 'saturation', 'value'],
27883
+ hwb: ['hue', 'whiteness', 'blackness'],
27884
+ cmyk: ['cyan', 'magenta', 'yellow', 'black']
27885
+ };
27886
+
27887
+ Color.prototype.maxes = {
27888
+ rgb: [255, 255, 255],
27889
+ hsl: [360, 100, 100],
27890
+ hsv: [360, 100, 100],
27891
+ hwb: [360, 100, 100],
27892
+ cmyk: [100, 100, 100, 100]
27893
+ };
27894
+
27895
+ Color.prototype.getValues = function (space) {
27896
+ var values = this.values;
27897
+ var vals = {};
27898
+
27899
+ for (var i = 0; i < space.length; i++) {
27900
+ vals[space.charAt(i)] = values[space][i];
27901
+ }
27902
+
27903
+ if (values.alpha !== 1) {
27904
+ vals.a = values.alpha;
27905
+ }
27906
+
27907
+ // {r: 255, g: 255, b: 255, a: 0.4}
27908
+ return vals;
27909
+ };
27910
+
27911
+ Color.prototype.setValues = function (space, vals) {
27912
+ var values = this.values;
27913
+ var spaces = this.spaces;
27914
+ var maxes = this.maxes;
27915
+ var alpha = 1;
27916
+ var i;
27917
+
27918
+ this.valid = true;
27919
+
27920
+ if (space === 'alpha') {
27921
+ alpha = vals;
27922
+ } else if (vals.length) {
27923
+ // [10, 10, 10]
27924
+ values[space] = vals.slice(0, space.length);
27925
+ alpha = vals[space.length];
27926
+ } else if (vals[space.charAt(0)] !== undefined) {
27927
+ // {r: 10, g: 10, b: 10}
27928
+ for (i = 0; i < space.length; i++) {
27929
+ values[space][i] = vals[space.charAt(i)];
27930
+ }
27931
+
27932
+ alpha = vals.a;
27933
+ } else if (vals[spaces[space][0]] !== undefined) {
27934
+ // {red: 10, green: 10, blue: 10}
27935
+ var chans = spaces[space];
27936
+
27937
+ for (i = 0; i < space.length; i++) {
27938
+ values[space][i] = vals[chans[i]];
27939
+ }
27940
+
27941
+ alpha = vals.alpha;
27942
+ }
27943
+
27944
+ values.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));
27945
+
27946
+ if (space === 'alpha') {
27947
+ return false;
27948
+ }
27949
+
27950
+ var capped;
27951
+
27952
+ // cap values of the space prior converting all values
27953
+ for (i = 0; i < space.length; i++) {
27954
+ capped = Math.max(0, Math.min(maxes[space][i], values[space][i]));
27955
+ values[space][i] = Math.round(capped);
27956
+ }
27957
+
27958
+ // convert to all the other color spaces
27959
+ for (var sname in spaces) {
27960
+ if (sname !== space) {
27961
+ values[sname] = colorConvert[space][sname](values[space]);
27962
+ }
27963
+ }
27964
+
27965
+ return true;
27966
+ };
27967
+
27968
+ Color.prototype.setSpace = function (space, args) {
27969
+ var vals = args[0];
27970
+
27971
+ if (vals === undefined) {
27972
+ // color.rgb()
27973
+ return this.getValues(space);
27974
+ }
27975
+
27976
+ // color.rgb(10, 10, 10)
27977
+ if (typeof vals === 'number') {
27978
+ vals = Array.prototype.slice.call(args);
27979
+ }
27980
+
27981
+ this.setValues(space, vals);
27982
+ return this;
27983
+ };
27984
+
27985
+ Color.prototype.setChannel = function (space, index, val) {
27986
+ var svalues = this.values[space];
27987
+ if (val === undefined) {
27988
+ // color.red()
27989
+ return svalues[index];
27990
+ } else if (val === svalues[index]) {
27991
+ // color.red(color.red())
27992
+ return this;
27993
+ }
27994
+
27995
+ // color.red(100)
27996
+ svalues[index] = val;
27997
+ this.setValues(space, svalues);
27998
+
27999
+ return this;
28000
+ };
28001
+
28002
+ if (typeof window !== 'undefined') {
28003
+ window.Color = Color;
28004
+ }
28005
+
28006
+ var chartjsColor = Color;
28007
+
28008
+ /**
28009
+ * @namespace Chart.helpers
28010
+ */
28011
+ var helpers = {
28012
+ /**
28013
+ * An empty function that can be used, for example, for optional callback.
28014
+ */
28015
+ noop: function() {},
28016
+
28017
+ /**
28018
+ * Returns a unique id, sequentially generated from a global variable.
28019
+ * @returns {number}
28020
+ * @function
28021
+ */
28022
+ uid: (function() {
28023
+ var id = 0;
28024
+ return function() {
28025
+ return id++;
28026
+ };
28027
+ }()),
28028
+
28029
+ /**
28030
+ * Returns true if `value` is neither null nor undefined, else returns false.
28031
+ * @param {*} value - The value to test.
28032
+ * @returns {boolean}
28033
+ * @since 2.7.0
28034
+ */
28035
+ isNullOrUndef: function(value) {
28036
+ return value === null || typeof value === 'undefined';
28037
+ },
28038
+
28039
+ /**
28040
+ * Returns true if `value` is an array (including typed arrays), else returns false.
28041
+ * @param {*} value - The value to test.
28042
+ * @returns {boolean}
28043
+ * @function
28044
+ */
28045
+ isArray: function(value) {
28046
+ if (Array.isArray && Array.isArray(value)) {
28047
+ return true;
28048
+ }
28049
+ var type = Object.prototype.toString.call(value);
28050
+ if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {
28051
+ return true;
28052
+ }
28053
+ return false;
28054
+ },
28055
+
28056
+ /**
28057
+ * Returns true if `value` is an object (excluding null), else returns false.
28058
+ * @param {*} value - The value to test.
28059
+ * @returns {boolean}
28060
+ * @since 2.7.0
28061
+ */
28062
+ isObject: function(value) {
28063
+ return value !== null && Object.prototype.toString.call(value) === '[object Object]';
28064
+ },
28065
+
28066
+ /**
28067
+ * Returns true if `value` is a finite number, else returns false
28068
+ * @param {*} value - The value to test.
28069
+ * @returns {boolean}
28070
+ */
28071
+ isFinite: function(value) {
28072
+ return (typeof value === 'number' || value instanceof Number) && isFinite(value);
28073
+ },
28074
+
28075
+ /**
28076
+ * Returns `value` if defined, else returns `defaultValue`.
28077
+ * @param {*} value - The value to return if defined.
28078
+ * @param {*} defaultValue - The value to return if `value` is undefined.
28079
+ * @returns {*}
28080
+ */
28081
+ valueOrDefault: function(value, defaultValue) {
28082
+ return typeof value === 'undefined' ? defaultValue : value;
28083
+ },
28084
+
28085
+ /**
28086
+ * Returns value at the given `index` in array if defined, else returns `defaultValue`.
28087
+ * @param {Array} value - The array to lookup for value at `index`.
28088
+ * @param {number} index - The index in `value` to lookup for value.
28089
+ * @param {*} defaultValue - The value to return if `value[index]` is undefined.
28090
+ * @returns {*}
28091
+ */
28092
+ valueAtIndexOrDefault: function(value, index, defaultValue) {
28093
+ return helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);
28094
+ },
28095
+
28096
+ /**
28097
+ * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the
28098
+ * value returned by `fn`. If `fn` is not a function, this method returns undefined.
28099
+ * @param {function} fn - The function to call.
28100
+ * @param {Array|undefined|null} args - The arguments with which `fn` should be called.
28101
+ * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.
28102
+ * @returns {*}
28103
+ */
28104
+ callback: function(fn, args, thisArg) {
28105
+ if (fn && typeof fn.call === 'function') {
28106
+ return fn.apply(thisArg, args);
28107
+ }
28108
+ },
28109
+
28110
+ /**
28111
+ * Note(SB) for performance sake, this method should only be used when loopable type
28112
+ * is unknown or in none intensive code (not called often and small loopable). Else
28113
+ * it's preferable to use a regular for() loop and save extra function calls.
28114
+ * @param {object|Array} loopable - The object or array to be iterated.
28115
+ * @param {function} fn - The function to call for each item.
28116
+ * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.
28117
+ * @param {boolean} [reverse] - If true, iterates backward on the loopable.
28118
+ */
28119
+ each: function(loopable, fn, thisArg, reverse) {
28120
+ var i, len, keys;
28121
+ if (helpers.isArray(loopable)) {
28122
+ len = loopable.length;
28123
+ if (reverse) {
28124
+ for (i = len - 1; i >= 0; i--) {
28125
+ fn.call(thisArg, loopable[i], i);
28126
+ }
28127
+ } else {
28128
+ for (i = 0; i < len; i++) {
28129
+ fn.call(thisArg, loopable[i], i);
28130
+ }
28131
+ }
28132
+ } else if (helpers.isObject(loopable)) {
28133
+ keys = Object.keys(loopable);
28134
+ len = keys.length;
28135
+ for (i = 0; i < len; i++) {
28136
+ fn.call(thisArg, loopable[keys[i]], keys[i]);
28137
+ }
28138
+ }
28139
+ },
28140
+
28141
+ /**
28142
+ * Returns true if the `a0` and `a1` arrays have the same content, else returns false.
28143
+ * @see https://stackoverflow.com/a/14853974
28144
+ * @param {Array} a0 - The array to compare
28145
+ * @param {Array} a1 - The array to compare
28146
+ * @returns {boolean}
28147
+ */
28148
+ arrayEquals: function(a0, a1) {
28149
+ var i, ilen, v0, v1;
28150
+
28151
+ if (!a0 || !a1 || a0.length !== a1.length) {
28152
+ return false;
28153
+ }
28154
+
28155
+ for (i = 0, ilen = a0.length; i < ilen; ++i) {
28156
+ v0 = a0[i];
28157
+ v1 = a1[i];
28158
+
28159
+ if (v0 instanceof Array && v1 instanceof Array) {
28160
+ if (!helpers.arrayEquals(v0, v1)) {
28161
+ return false;
28162
+ }
28163
+ } else if (v0 !== v1) {
28164
+ // NOTE: two different object instances will never be equal: {x:20} != {x:20}
28165
+ return false;
28166
+ }
28167
+ }
28168
+
28169
+ return true;
28170
+ },
28171
+
28172
+ /**
28173
+ * Returns a deep copy of `source` without keeping references on objects and arrays.
28174
+ * @param {*} source - The value to clone.
28175
+ * @returns {*}
28176
+ */
28177
+ clone: function(source) {
28178
+ if (helpers.isArray(source)) {
28179
+ return source.map(helpers.clone);
28180
+ }
28181
+
28182
+ if (helpers.isObject(source)) {
28183
+ var target = {};
28184
+ var keys = Object.keys(source);
28185
+ var klen = keys.length;
28186
+ var k = 0;
28187
+
28188
+ for (; k < klen; ++k) {
28189
+ target[keys[k]] = helpers.clone(source[keys[k]]);
28190
+ }
28191
+
28192
+ return target;
28193
+ }
28194
+
28195
+ return source;
28196
+ },
28197
+
28198
+ /**
28199
+ * The default merger when Chart.helpers.merge is called without merger option.
28200
+ * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.
28201
+ * @private
28202
+ */
28203
+ _merger: function(key, target, source, options) {
28204
+ var tval = target[key];
28205
+ var sval = source[key];
28206
+
28207
+ if (helpers.isObject(tval) && helpers.isObject(sval)) {
28208
+ helpers.merge(tval, sval, options);
28209
+ } else {
28210
+ target[key] = helpers.clone(sval);
28211
+ }
28212
+ },
28213
+
28214
+ /**
28215
+ * Merges source[key] in target[key] only if target[key] is undefined.
28216
+ * @private
28217
+ */
28218
+ _mergerIf: function(key, target, source) {
28219
+ var tval = target[key];
28220
+ var sval = source[key];
28221
+
28222
+ if (helpers.isObject(tval) && helpers.isObject(sval)) {
28223
+ helpers.mergeIf(tval, sval);
28224
+ } else if (!target.hasOwnProperty(key)) {
28225
+ target[key] = helpers.clone(sval);
28226
+ }
28227
+ },
28228
+
28229
+ /**
28230
+ * Recursively deep copies `source` properties into `target` with the given `options`.
28231
+ * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
28232
+ * @param {object} target - The target object in which all sources are merged into.
28233
+ * @param {object|object[]} source - Object(s) to merge into `target`.
28234
+ * @param {object} [options] - Merging options:
28235
+ * @param {function} [options.merger] - The merge method (key, target, source, options)
28236
+ * @returns {object} The `target` object.
28237
+ */
28238
+ merge: function(target, source, options) {
28239
+ var sources = helpers.isArray(source) ? source : [source];
28240
+ var ilen = sources.length;
28241
+ var merge, i, keys, klen, k;
28242
+
28243
+ if (!helpers.isObject(target)) {
28244
+ return target;
28245
+ }
28246
+
28247
+ options = options || {};
28248
+ merge = options.merger || helpers._merger;
28249
+
28250
+ for (i = 0; i < ilen; ++i) {
28251
+ source = sources[i];
28252
+ if (!helpers.isObject(source)) {
28253
+ continue;
28254
+ }
28255
+
28256
+ keys = Object.keys(source);
28257
+ for (k = 0, klen = keys.length; k < klen; ++k) {
28258
+ merge(keys[k], target, source, options);
28259
+ }
28260
+ }
28261
+
28262
+ return target;
28263
+ },
28264
+
28265
+ /**
28266
+ * Recursively deep copies `source` properties into `target` *only* if not defined in target.
28267
+ * IMPORTANT: `target` is not cloned and will be updated with `source` properties.
28268
+ * @param {object} target - The target object in which all sources are merged into.
28269
+ * @param {object|object[]} source - Object(s) to merge into `target`.
28270
+ * @returns {object} The `target` object.
28271
+ */
28272
+ mergeIf: function(target, source) {
28273
+ return helpers.merge(target, source, {merger: helpers._mergerIf});
28274
+ },
28275
+
28276
+ /**
28277
+ * Applies the contents of two or more objects together into the first object.
28278
+ * @param {object} target - The target object in which all objects are merged into.
28279
+ * @param {object} arg1 - Object containing additional properties to merge in target.
28280
+ * @param {object} argN - Additional objects containing properties to merge in target.
28281
+ * @returns {object} The `target` object.
28282
+ */
28283
+ extend: Object.assign || function(target) {
28284
+ return helpers.merge(target, [].slice.call(arguments, 1), {
28285
+ merger: function(key, dst, src) {
28286
+ dst[key] = src[key];
28287
+ }
28288
+ });
28289
+ },
28290
+
28291
+ /**
28292
+ * Basic javascript inheritance based on the model created in Backbone.js
28293
+ */
28294
+ inherits: function(extensions) {
28295
+ var me = this;
28296
+ var ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {
28297
+ return me.apply(this, arguments);
28298
+ };
28299
+
28300
+ var Surrogate = function() {
28301
+ this.constructor = ChartElement;
28302
+ };
28303
+
28304
+ Surrogate.prototype = me.prototype;
28305
+ ChartElement.prototype = new Surrogate();
28306
+ ChartElement.extend = helpers.inherits;
28307
+
28308
+ if (extensions) {
28309
+ helpers.extend(ChartElement.prototype, extensions);
28310
+ }
28311
+
28312
+ ChartElement.__super__ = me.prototype;
28313
+ return ChartElement;
28314
+ },
28315
+
28316
+ _deprecated: function(scope, value, previous, current) {
28317
+ if (value !== undefined) {
28318
+ console.warn(scope + ': "' + previous +
28319
+ '" is deprecated. Please use "' + current + '" instead');
28320
+ }
28321
+ }
28322
+ };
28323
+
28324
+ var helpers_core = helpers;
28325
+
28326
+ // DEPRECATIONS
28327
+
28328
+ /**
28329
+ * Provided for backward compatibility, use Chart.helpers.callback instead.
28330
+ * @function Chart.helpers.callCallback
28331
+ * @deprecated since version 2.6.0
28332
+ * @todo remove at version 3
28333
+ * @private
28334
+ */
28335
+ helpers.callCallback = helpers.callback;
28336
+
28337
+ /**
28338
+ * Provided for backward compatibility, use Array.prototype.indexOf instead.
28339
+ * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+
28340
+ * @function Chart.helpers.indexOf
28341
+ * @deprecated since version 2.7.0
28342
+ * @todo remove at version 3
28343
+ * @private
28344
+ */
28345
+ helpers.indexOf = function(array, item, fromIndex) {
28346
+ return Array.prototype.indexOf.call(array, item, fromIndex);
28347
+ };
28348
+
28349
+ /**
28350
+ * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.
28351
+ * @function Chart.helpers.getValueOrDefault
28352
+ * @deprecated since version 2.7.0
28353
+ * @todo remove at version 3
28354
+ * @private
28355
+ */
28356
+ helpers.getValueOrDefault = helpers.valueOrDefault;
28357
+
28358
+ /**
28359
+ * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.
28360
+ * @function Chart.helpers.getValueAtIndexOrDefault
28361
+ * @deprecated since version 2.7.0
28362
+ * @todo remove at version 3
28363
+ * @private
28364
+ */
28365
+ helpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;
28366
+
28367
+ /**
28368
+ * Easing functions adapted from Robert Penner's easing equations.
28369
+ * @namespace Chart.helpers.easingEffects
28370
+ * @see http://www.robertpenner.com/easing/
28371
+ */
28372
+ var effects = {
28373
+ linear: function(t) {
28374
+ return t;
28375
+ },
28376
+
28377
+ easeInQuad: function(t) {
28378
+ return t * t;
28379
+ },
28380
+
28381
+ easeOutQuad: function(t) {
28382
+ return -t * (t - 2);
28383
+ },
28384
+
28385
+ easeInOutQuad: function(t) {
28386
+ if ((t /= 0.5) < 1) {
28387
+ return 0.5 * t * t;
28388
+ }
28389
+ return -0.5 * ((--t) * (t - 2) - 1);
28390
+ },
28391
+
28392
+ easeInCubic: function(t) {
28393
+ return t * t * t;
28394
+ },
28395
+
28396
+ easeOutCubic: function(t) {
28397
+ return (t = t - 1) * t * t + 1;
28398
+ },
28399
+
28400
+ easeInOutCubic: function(t) {
28401
+ if ((t /= 0.5) < 1) {
28402
+ return 0.5 * t * t * t;
28403
+ }
28404
+ return 0.5 * ((t -= 2) * t * t + 2);
28405
+ },
28406
+
28407
+ easeInQuart: function(t) {
28408
+ return t * t * t * t;
28409
+ },
28410
+
28411
+ easeOutQuart: function(t) {
28412
+ return -((t = t - 1) * t * t * t - 1);
28413
+ },
28414
+
28415
+ easeInOutQuart: function(t) {
28416
+ if ((t /= 0.5) < 1) {
28417
+ return 0.5 * t * t * t * t;
28418
+ }
28419
+ return -0.5 * ((t -= 2) * t * t * t - 2);
28420
+ },
28421
+
28422
+ easeInQuint: function(t) {
28423
+ return t * t * t * t * t;
28424
+ },
28425
+
28426
+ easeOutQuint: function(t) {
28427
+ return (t = t - 1) * t * t * t * t + 1;
28428
+ },
28429
+
28430
+ easeInOutQuint: function(t) {
28431
+ if ((t /= 0.5) < 1) {
28432
+ return 0.5 * t * t * t * t * t;
28433
+ }
28434
+ return 0.5 * ((t -= 2) * t * t * t * t + 2);
28435
+ },
28436
+
28437
+ easeInSine: function(t) {
28438
+ return -Math.cos(t * (Math.PI / 2)) + 1;
28439
+ },
28440
+
28441
+ easeOutSine: function(t) {
28442
+ return Math.sin(t * (Math.PI / 2));
28443
+ },
28444
+
28445
+ easeInOutSine: function(t) {
28446
+ return -0.5 * (Math.cos(Math.PI * t) - 1);
28447
+ },
28448
+
28449
+ easeInExpo: function(t) {
28450
+ return (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));
28451
+ },
28452
+
28453
+ easeOutExpo: function(t) {
28454
+ return (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;
28455
+ },
28456
+
28457
+ easeInOutExpo: function(t) {
28458
+ if (t === 0) {
28459
+ return 0;
28460
+ }
28461
+ if (t === 1) {
28462
+ return 1;
28463
+ }
28464
+ if ((t /= 0.5) < 1) {
28465
+ return 0.5 * Math.pow(2, 10 * (t - 1));
28466
+ }
28467
+ return 0.5 * (-Math.pow(2, -10 * --t) + 2);
28468
+ },
28469
+
28470
+ easeInCirc: function(t) {
28471
+ if (t >= 1) {
28472
+ return t;
28473
+ }
28474
+ return -(Math.sqrt(1 - t * t) - 1);
28475
+ },
28476
+
28477
+ easeOutCirc: function(t) {
28478
+ return Math.sqrt(1 - (t = t - 1) * t);
28479
+ },
28480
+
28481
+ easeInOutCirc: function(t) {
28482
+ if ((t /= 0.5) < 1) {
28483
+ return -0.5 * (Math.sqrt(1 - t * t) - 1);
28484
+ }
28485
+ return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);
28486
+ },
28487
+
28488
+ easeInElastic: function(t) {
28489
+ var s = 1.70158;
28490
+ var p = 0;
28491
+ var a = 1;
28492
+ if (t === 0) {
28493
+ return 0;
28494
+ }
28495
+ if (t === 1) {
28496
+ return 1;
28497
+ }
28498
+ if (!p) {
28499
+ p = 0.3;
28500
+ }
28501
+ if (a < 1) {
28502
+ a = 1;
28503
+ s = p / 4;
28504
+ } else {
28505
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
28506
+ }
28507
+ return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));
28508
+ },
28509
+
28510
+ easeOutElastic: function(t) {
28511
+ var s = 1.70158;
28512
+ var p = 0;
28513
+ var a = 1;
28514
+ if (t === 0) {
28515
+ return 0;
28516
+ }
28517
+ if (t === 1) {
28518
+ return 1;
28519
+ }
28520
+ if (!p) {
28521
+ p = 0.3;
28522
+ }
28523
+ if (a < 1) {
28524
+ a = 1;
28525
+ s = p / 4;
28526
+ } else {
28527
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
28528
+ }
28529
+ return a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;
28530
+ },
28531
+
28532
+ easeInOutElastic: function(t) {
28533
+ var s = 1.70158;
28534
+ var p = 0;
28535
+ var a = 1;
28536
+ if (t === 0) {
28537
+ return 0;
28538
+ }
28539
+ if ((t /= 0.5) === 2) {
28540
+ return 1;
28541
+ }
28542
+ if (!p) {
28543
+ p = 0.45;
28544
+ }
28545
+ if (a < 1) {
28546
+ a = 1;
28547
+ s = p / 4;
28548
+ } else {
28549
+ s = p / (2 * Math.PI) * Math.asin(1 / a);
28550
+ }
28551
+ if (t < 1) {
28552
+ return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));
28553
+ }
28554
+ return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;
28555
+ },
28556
+ easeInBack: function(t) {
28557
+ var s = 1.70158;
28558
+ return t * t * ((s + 1) * t - s);
28559
+ },
28560
+
28561
+ easeOutBack: function(t) {
28562
+ var s = 1.70158;
28563
+ return (t = t - 1) * t * ((s + 1) * t + s) + 1;
28564
+ },
28565
+
28566
+ easeInOutBack: function(t) {
28567
+ var s = 1.70158;
28568
+ if ((t /= 0.5) < 1) {
28569
+ return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));
28570
+ }
28571
+ return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);
28572
+ },
28573
+
28574
+ easeInBounce: function(t) {
28575
+ return 1 - effects.easeOutBounce(1 - t);
28576
+ },
28577
+
28578
+ easeOutBounce: function(t) {
28579
+ if (t < (1 / 2.75)) {
28580
+ return 7.5625 * t * t;
28581
+ }
28582
+ if (t < (2 / 2.75)) {
28583
+ return 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;
28584
+ }
28585
+ if (t < (2.5 / 2.75)) {
28586
+ return 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;
28587
+ }
28588
+ return 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;
28589
+ },
28590
+
28591
+ easeInOutBounce: function(t) {
28592
+ if (t < 0.5) {
28593
+ return effects.easeInBounce(t * 2) * 0.5;
28594
+ }
28595
+ return effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;
28596
+ }
28597
+ };
28598
+
28599
+ var helpers_easing = {
28600
+ effects: effects
28601
+ };
28602
+
28603
+ // DEPRECATIONS
28604
+
28605
+ /**
28606
+ * Provided for backward compatibility, use Chart.helpers.easing.effects instead.
28607
+ * @function Chart.helpers.easingEffects
28608
+ * @deprecated since version 2.7.0
28609
+ * @todo remove at version 3
28610
+ * @private
28611
+ */
28612
+ helpers_core.easingEffects = effects;
28613
+
28614
+ var PI = Math.PI;
28615
+ var RAD_PER_DEG = PI / 180;
28616
+ var DOUBLE_PI = PI * 2;
28617
+ var HALF_PI = PI / 2;
28618
+ var QUARTER_PI = PI / 4;
28619
+ var TWO_THIRDS_PI = PI * 2 / 3;
28620
+
28621
+ /**
28622
+ * @namespace Chart.helpers.canvas
28623
+ */
28624
+ var exports$1 = {
28625
+ /**
28626
+ * Clears the entire canvas associated to the given `chart`.
28627
+ * @param {Chart} chart - The chart for which to clear the canvas.
28628
+ */
28629
+ clear: function(chart) {
28630
+ chart.ctx.clearRect(0, 0, chart.width, chart.height);
28631
+ },
28632
+
28633
+ /**
28634
+ * Creates a "path" for a rectangle with rounded corners at position (x, y) with a
28635
+ * given size (width, height) and the same `radius` for all corners.
28636
+ * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.
28637
+ * @param {number} x - The x axis of the coordinate for the rectangle starting point.
28638
+ * @param {number} y - The y axis of the coordinate for the rectangle starting point.
28639
+ * @param {number} width - The rectangle's width.
28640
+ * @param {number} height - The rectangle's height.
28641
+ * @param {number} radius - The rounded amount (in pixels) for the four corners.
28642
+ * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?
28643
+ */
28644
+ roundedRect: function(ctx, x, y, width, height, radius) {
28645
+ if (radius) {
28646
+ var r = Math.min(radius, height / 2, width / 2);
28647
+ var left = x + r;
28648
+ var top = y + r;
28649
+ var right = x + width - r;
28650
+ var bottom = y + height - r;
28651
+
28652
+ ctx.moveTo(x, top);
28653
+ if (left < right && top < bottom) {
28654
+ ctx.arc(left, top, r, -PI, -HALF_PI);
28655
+ ctx.arc(right, top, r, -HALF_PI, 0);
28656
+ ctx.arc(right, bottom, r, 0, HALF_PI);
28657
+ ctx.arc(left, bottom, r, HALF_PI, PI);
28658
+ } else if (left < right) {
28659
+ ctx.moveTo(left, y);
28660
+ ctx.arc(right, top, r, -HALF_PI, HALF_PI);
28661
+ ctx.arc(left, top, r, HALF_PI, PI + HALF_PI);
28662
+ } else if (top < bottom) {
28663
+ ctx.arc(left, top, r, -PI, 0);
28664
+ ctx.arc(left, bottom, r, 0, PI);
28665
+ } else {
28666
+ ctx.arc(left, top, r, -PI, PI);
28667
+ }
28668
+ ctx.closePath();
28669
+ ctx.moveTo(x, y);
28670
+ } else {
28671
+ ctx.rect(x, y, width, height);
28672
+ }
28673
+ },
28674
+
28675
+ drawPoint: function(ctx, style, radius, x, y, rotation) {
28676
+ var type, xOffset, yOffset, size, cornerRadius;
28677
+ var rad = (rotation || 0) * RAD_PER_DEG;
28678
+
28679
+ if (style && typeof style === 'object') {
28680
+ type = style.toString();
28681
+ if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {
28682
+ ctx.save();
28683
+ ctx.translate(x, y);
28684
+ ctx.rotate(rad);
28685
+ ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);
28686
+ ctx.restore();
28687
+ return;
28688
+ }
28689
+ }
28690
+
28691
+ if (isNaN(radius) || radius <= 0) {
28692
+ return;
28693
+ }
28694
+
28695
+ ctx.beginPath();
28696
+
28697
+ switch (style) {
28698
+ // Default includes circle
28699
+ default:
28700
+ ctx.arc(x, y, radius, 0, DOUBLE_PI);
28701
+ ctx.closePath();
28702
+ break;
28703
+ case 'triangle':
28704
+ ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);
28705
+ rad += TWO_THIRDS_PI;
28706
+ ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);
28707
+ rad += TWO_THIRDS_PI;
28708
+ ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);
28709
+ ctx.closePath();
28710
+ break;
28711
+ case 'rectRounded':
28712
+ // NOTE: the rounded rect implementation changed to use `arc` instead of
28713
+ // `quadraticCurveTo` since it generates better results when rect is
28714
+ // almost a circle. 0.516 (instead of 0.5) produces results with visually
28715
+ // closer proportion to the previous impl and it is inscribed in the
28716
+ // circle with `radius`. For more details, see the following PRs:
28717
+ // https://github.com/chartjs/Chart.js/issues/5597
28718
+ // https://github.com/chartjs/Chart.js/issues/5858
28719
+ cornerRadius = radius * 0.516;
28720
+ size = radius - cornerRadius;
28721
+ xOffset = Math.cos(rad + QUARTER_PI) * size;
28722
+ yOffset = Math.sin(rad + QUARTER_PI) * size;
28723
+ ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);
28724
+ ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);
28725
+ ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);
28726
+ ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);
28727
+ ctx.closePath();
28728
+ break;
28729
+ case 'rect':
28730
+ if (!rotation) {
28731
+ size = Math.SQRT1_2 * radius;
28732
+ ctx.rect(x - size, y - size, 2 * size, 2 * size);
28733
+ break;
28734
+ }
28735
+ rad += QUARTER_PI;
28736
+ /* falls through */
28737
+ case 'rectRot':
28738
+ xOffset = Math.cos(rad) * radius;
28739
+ yOffset = Math.sin(rad) * radius;
28740
+ ctx.moveTo(x - xOffset, y - yOffset);
28741
+ ctx.lineTo(x + yOffset, y - xOffset);
28742
+ ctx.lineTo(x + xOffset, y + yOffset);
28743
+ ctx.lineTo(x - yOffset, y + xOffset);
28744
+ ctx.closePath();
28745
+ break;
28746
+ case 'crossRot':
28747
+ rad += QUARTER_PI;
28748
+ /* falls through */
28749
+ case 'cross':
28750
+ xOffset = Math.cos(rad) * radius;
28751
+ yOffset = Math.sin(rad) * radius;
28752
+ ctx.moveTo(x - xOffset, y - yOffset);
28753
+ ctx.lineTo(x + xOffset, y + yOffset);
28754
+ ctx.moveTo(x + yOffset, y - xOffset);
28755
+ ctx.lineTo(x - yOffset, y + xOffset);
28756
+ break;
28757
+ case 'star':
28758
+ xOffset = Math.cos(rad) * radius;
28759
+ yOffset = Math.sin(rad) * radius;
28760
+ ctx.moveTo(x - xOffset, y - yOffset);
28761
+ ctx.lineTo(x + xOffset, y + yOffset);
28762
+ ctx.moveTo(x + yOffset, y - xOffset);
28763
+ ctx.lineTo(x - yOffset, y + xOffset);
28764
+ rad += QUARTER_PI;
28765
+ xOffset = Math.cos(rad) * radius;
28766
+ yOffset = Math.sin(rad) * radius;
28767
+ ctx.moveTo(x - xOffset, y - yOffset);
28768
+ ctx.lineTo(x + xOffset, y + yOffset);
28769
+ ctx.moveTo(x + yOffset, y - xOffset);
28770
+ ctx.lineTo(x - yOffset, y + xOffset);
28771
+ break;
28772
+ case 'line':
28773
+ xOffset = Math.cos(rad) * radius;
28774
+ yOffset = Math.sin(rad) * radius;
28775
+ ctx.moveTo(x - xOffset, y - yOffset);
28776
+ ctx.lineTo(x + xOffset, y + yOffset);
28777
+ break;
28778
+ case 'dash':
28779
+ ctx.moveTo(x, y);
28780
+ ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);
28781
+ break;
28782
+ }
28783
+
28784
+ ctx.fill();
28785
+ ctx.stroke();
28786
+ },
28787
+
28788
+ /**
28789
+ * Returns true if the point is inside the rectangle
28790
+ * @param {object} point - The point to test
28791
+ * @param {object} area - The rectangle
28792
+ * @returns {boolean}
28793
+ * @private
28794
+ */
28795
+ _isPointInArea: function(point, area) {
28796
+ var epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.
28797
+
28798
+ return point.x > area.left - epsilon && point.x < area.right + epsilon &&
28799
+ point.y > area.top - epsilon && point.y < area.bottom + epsilon;
28800
+ },
28801
+
28802
+ clipArea: function(ctx, area) {
28803
+ ctx.save();
28804
+ ctx.beginPath();
28805
+ ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);
28806
+ ctx.clip();
28807
+ },
28808
+
28809
+ unclipArea: function(ctx) {
28810
+ ctx.restore();
28811
+ },
28812
+
28813
+ lineTo: function(ctx, previous, target, flip) {
28814
+ var stepped = target.steppedLine;
28815
+ if (stepped) {
28816
+ if (stepped === 'middle') {
28817
+ var midpoint = (previous.x + target.x) / 2.0;
28818
+ ctx.lineTo(midpoint, flip ? target.y : previous.y);
28819
+ ctx.lineTo(midpoint, flip ? previous.y : target.y);
28820
+ } else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {
28821
+ ctx.lineTo(previous.x, target.y);
28822
+ } else {
28823
+ ctx.lineTo(target.x, previous.y);
28824
+ }
28825
+ ctx.lineTo(target.x, target.y);
28826
+ return;
28827
+ }
28828
+
28829
+ if (!target.tension) {
28830
+ ctx.lineTo(target.x, target.y);
28831
+ return;
28832
+ }
28833
+
28834
+ ctx.bezierCurveTo(
28835
+ flip ? previous.controlPointPreviousX : previous.controlPointNextX,
28836
+ flip ? previous.controlPointPreviousY : previous.controlPointNextY,
28837
+ flip ? target.controlPointNextX : target.controlPointPreviousX,
28838
+ flip ? target.controlPointNextY : target.controlPointPreviousY,
28839
+ target.x,
28840
+ target.y);
28841
+ }
28842
+ };
28843
+
28844
+ var helpers_canvas = exports$1;
28845
+
28846
+ // DEPRECATIONS
28847
+
28848
+ /**
28849
+ * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.
28850
+ * @namespace Chart.helpers.clear
28851
+ * @deprecated since version 2.7.0
28852
+ * @todo remove at version 3
28853
+ * @private
28854
+ */
28855
+ helpers_core.clear = exports$1.clear;
28856
+
28857
+ /**
28858
+ * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.
28859
+ * @namespace Chart.helpers.drawRoundedRectangle
28860
+ * @deprecated since version 2.7.0
28861
+ * @todo remove at version 3
28862
+ * @private
28863
+ */
28864
+ helpers_core.drawRoundedRectangle = function(ctx) {
28865
+ ctx.beginPath();
28866
+ exports$1.roundedRect.apply(exports$1, arguments);
28867
+ };
28868
+
28869
+ var defaults = {
28870
+ /**
28871
+ * @private
28872
+ */
28873
+ _set: function(scope, values) {
28874
+ return helpers_core.merge(this[scope] || (this[scope] = {}), values);
28875
+ }
28876
+ };
28877
+
28878
+ // TODO(v3): remove 'global' from namespace. all default are global and
28879
+ // there's inconsistency around which options are under 'global'
28880
+ defaults._set('global', {
28881
+ defaultColor: 'rgba(0,0,0,0.1)',
28882
+ defaultFontColor: '#666',
28883
+ defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
28884
+ defaultFontSize: 12,
28885
+ defaultFontStyle: 'normal',
28886
+ defaultLineHeight: 1.2,
28887
+ showLines: true
28888
+ });
28889
+
28890
+ var core_defaults = defaults;
28891
+
28892
+ var valueOrDefault = helpers_core.valueOrDefault;
28893
+
28894
+ /**
28895
+ * Converts the given font object into a CSS font string.
28896
+ * @param {object} font - A font object.
28897
+ * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font
28898
+ * @private
28899
+ */
28900
+ function toFontString(font) {
28901
+ if (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {
28902
+ return null;
28903
+ }
28904
+
28905
+ return (font.style ? font.style + ' ' : '')
28906
+ + (font.weight ? font.weight + ' ' : '')
28907
+ + font.size + 'px '
28908
+ + font.family;
28909
+ }
28910
+
28911
+ /**
28912
+ * @alias Chart.helpers.options
28913
+ * @namespace
28914
+ */
28915
+ var helpers_options = {
28916
+ /**
28917
+ * Converts the given line height `value` in pixels for a specific font `size`.
28918
+ * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').
28919
+ * @param {number} size - The font size (in pixels) used to resolve relative `value`.
28920
+ * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).
28921
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height
28922
+ * @since 2.7.0
28923
+ */
28924
+ toLineHeight: function(value, size) {
28925
+ var matches = ('' + value).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);
28926
+ if (!matches || matches[1] === 'normal') {
28927
+ return size * 1.2;
28928
+ }
28929
+
28930
+ value = +matches[2];
28931
+
28932
+ switch (matches[3]) {
28933
+ case 'px':
28934
+ return value;
28935
+ case '%':
28936
+ value /= 100;
28937
+ break;
28938
+ }
28939
+
28940
+ return size * value;
28941
+ },
28942
+
28943
+ /**
28944
+ * Converts the given value into a padding object with pre-computed width/height.
28945
+ * @param {number|object} value - If a number, set the value to all TRBL component,
28946
+ * else, if and object, use defined properties and sets undefined ones to 0.
28947
+ * @returns {object} The padding values (top, right, bottom, left, width, height)
28948
+ * @since 2.7.0
28949
+ */
28950
+ toPadding: function(value) {
28951
+ var t, r, b, l;
28952
+
28953
+ if (helpers_core.isObject(value)) {
28954
+ t = +value.top || 0;
28955
+ r = +value.right || 0;
28956
+ b = +value.bottom || 0;
28957
+ l = +value.left || 0;
28958
+ } else {
28959
+ t = r = b = l = +value || 0;
28960
+ }
28961
+
28962
+ return {
28963
+ top: t,
28964
+ right: r,
28965
+ bottom: b,
28966
+ left: l,
28967
+ height: t + b,
28968
+ width: l + r
28969
+ };
28970
+ },
28971
+
28972
+ /**
28973
+ * Parses font options and returns the font object.
28974
+ * @param {object} options - A object that contains font options to be parsed.
28975
+ * @return {object} The font object.
28976
+ * @todo Support font.* options and renamed to toFont().
28977
+ * @private
28978
+ */
28979
+ _parseFont: function(options) {
28980
+ var globalDefaults = core_defaults.global;
28981
+ var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);
28982
+ var font = {
28983
+ family: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),
28984
+ lineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),
28985
+ size: size,
28986
+ style: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),
28987
+ weight: null,
28988
+ string: ''
28989
+ };
28990
+
28991
+ font.string = toFontString(font);
28992
+ return font;
28993
+ },
28994
+
28995
+ /**
28996
+ * Evaluates the given `inputs` sequentially and returns the first defined value.
28997
+ * @param {Array} inputs - An array of values, falling back to the last value.
28998
+ * @param {object} [context] - If defined and the current value is a function, the value
28999
+ * is called with `context` as first argument and the result becomes the new input.
29000
+ * @param {number} [index] - If defined and the current value is an array, the value
29001
+ * at `index` become the new input.
29002
+ * @param {object} [info] - object to return information about resolution in
29003
+ * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.
29004
+ * @since 2.7.0
29005
+ */
29006
+ resolve: function(inputs, context, index, info) {
29007
+ var cacheable = true;
29008
+ var i, ilen, value;
29009
+
29010
+ for (i = 0, ilen = inputs.length; i < ilen; ++i) {
29011
+ value = inputs[i];
29012
+ if (value === undefined) {
29013
+ continue;
29014
+ }
29015
+ if (context !== undefined && typeof value === 'function') {
29016
+ value = value(context);
29017
+ cacheable = false;
29018
+ }
29019
+ if (index !== undefined && helpers_core.isArray(value)) {
29020
+ value = value[index];
29021
+ cacheable = false;
29022
+ }
29023
+ if (value !== undefined) {
29024
+ if (info && !cacheable) {
29025
+ info.cacheable = false;
29026
+ }
29027
+ return value;
29028
+ }
29029
+ }
29030
+ }
29031
+ };
29032
+
29033
+ /**
29034
+ * @alias Chart.helpers.math
29035
+ * @namespace
29036
+ */
29037
+ var exports$2 = {
29038
+ /**
29039
+ * Returns an array of factors sorted from 1 to sqrt(value)
29040
+ * @private
29041
+ */
29042
+ _factorize: function(value) {
29043
+ var result = [];
29044
+ var sqrt = Math.sqrt(value);
29045
+ var i;
29046
+
29047
+ for (i = 1; i < sqrt; i++) {
29048
+ if (value % i === 0) {
29049
+ result.push(i);
29050
+ result.push(value / i);
29051
+ }
29052
+ }
29053
+ if (sqrt === (sqrt | 0)) { // if value is a square number
29054
+ result.push(sqrt);
29055
+ }
29056
+
29057
+ result.sort(function(a, b) {
29058
+ return a - b;
29059
+ }).pop();
29060
+ return result;
29061
+ },
29062
+
29063
+ log10: Math.log10 || function(x) {
29064
+ var exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.
29065
+ // Check for whole powers of 10,
29066
+ // which due to floating point rounding error should be corrected.
29067
+ var powerOf10 = Math.round(exponent);
29068
+ var isPowerOf10 = x === Math.pow(10, powerOf10);
29069
+
29070
+ return isPowerOf10 ? powerOf10 : exponent;
29071
+ }
29072
+ };
29073
+
29074
+ var helpers_math = exports$2;
29075
+
29076
+ // DEPRECATIONS
29077
+
29078
+ /**
29079
+ * Provided for backward compatibility, use Chart.helpers.math.log10 instead.
29080
+ * @namespace Chart.helpers.log10
29081
+ * @deprecated since version 2.9.0
29082
+ * @todo remove at version 3
29083
+ * @private
29084
+ */
29085
+ helpers_core.log10 = exports$2.log10;
29086
+
29087
+ var getRtlAdapter = function(rectX, width) {
29088
+ return {
29089
+ x: function(x) {
29090
+ return rectX + rectX + width - x;
29091
+ },
29092
+ setWidth: function(w) {
29093
+ width = w;
29094
+ },
29095
+ textAlign: function(align) {
29096
+ if (align === 'center') {
29097
+ return align;
29098
+ }
29099
+ return align === 'right' ? 'left' : 'right';
29100
+ },
29101
+ xPlus: function(x, value) {
29102
+ return x - value;
29103
+ },
29104
+ leftForLtr: function(x, itemWidth) {
29105
+ return x - itemWidth;
29106
+ },
29107
+ };
29108
+ };
29109
+
29110
+ var getLtrAdapter = function() {
29111
+ return {
29112
+ x: function(x) {
29113
+ return x;
29114
+ },
29115
+ setWidth: function(w) { // eslint-disable-line no-unused-vars
29116
+ },
29117
+ textAlign: function(align) {
29118
+ return align;
29119
+ },
29120
+ xPlus: function(x, value) {
29121
+ return x + value;
29122
+ },
29123
+ leftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars
29124
+ return x;
29125
+ },
29126
+ };
29127
+ };
29128
+
29129
+ var getAdapter = function(rtl, rectX, width) {
29130
+ return rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();
29131
+ };
29132
+
29133
+ var overrideTextDirection = function(ctx, direction) {
29134
+ var style, original;
29135
+ if (direction === 'ltr' || direction === 'rtl') {
29136
+ style = ctx.canvas.style;
29137
+ original = [
29138
+ style.getPropertyValue('direction'),
29139
+ style.getPropertyPriority('direction'),
29140
+ ];
29141
+
29142
+ style.setProperty('direction', direction, 'important');
29143
+ ctx.prevTextDirection = original;
29144
+ }
29145
+ };
29146
+
29147
+ var restoreTextDirection = function(ctx) {
29148
+ var original = ctx.prevTextDirection;
29149
+ if (original !== undefined) {
29150
+ delete ctx.prevTextDirection;
29151
+ ctx.canvas.style.setProperty('direction', original[0], original[1]);
29152
+ }
29153
+ };
29154
+
29155
+ var helpers_rtl = {
29156
+ getRtlAdapter: getAdapter,
29157
+ overrideTextDirection: overrideTextDirection,
29158
+ restoreTextDirection: restoreTextDirection,
29159
+ };
29160
+
29161
+ var helpers$1 = helpers_core;
29162
+ var easing = helpers_easing;
29163
+ var canvas = helpers_canvas;
29164
+ var options = helpers_options;
29165
+ var math = helpers_math;
29166
+ var rtl = helpers_rtl;
29167
+ helpers$1.easing = easing;
29168
+ helpers$1.canvas = canvas;
29169
+ helpers$1.options = options;
29170
+ helpers$1.math = math;
29171
+ helpers$1.rtl = rtl;
29172
+
29173
+ function interpolate(start, view, model, ease) {
29174
+ var keys = Object.keys(model);
29175
+ var i, ilen, key, actual, origin, target, type, c0, c1;
29176
+
29177
+ for (i = 0, ilen = keys.length; i < ilen; ++i) {
29178
+ key = keys[i];
29179
+
29180
+ target = model[key];
29181
+
29182
+ // if a value is added to the model after pivot() has been called, the view
29183
+ // doesn't contain it, so let's initialize the view to the target value.
29184
+ if (!view.hasOwnProperty(key)) {
29185
+ view[key] = target;
29186
+ }
29187
+
29188
+ actual = view[key];
29189
+
29190
+ if (actual === target || key[0] === '_') {
29191
+ continue;
29192
+ }
29193
+
29194
+ if (!start.hasOwnProperty(key)) {
29195
+ start[key] = actual;
29196
+ }
29197
+
29198
+ origin = start[key];
29199
+
29200
+ type = typeof target;
29201
+
29202
+ if (type === typeof origin) {
29203
+ if (type === 'string') {
29204
+ c0 = chartjsColor(origin);
29205
+ if (c0.valid) {
29206
+ c1 = chartjsColor(target);
29207
+ if (c1.valid) {
29208
+ view[key] = c1.mix(c0, ease).rgbString();
29209
+ continue;
29210
+ }
29211
+ }
29212
+ } else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {
29213
+ view[key] = origin + (target - origin) * ease;
29214
+ continue;
29215
+ }
29216
+ }
29217
+
29218
+ view[key] = target;
29219
+ }
29220
+ }
29221
+
29222
+ var Element = function(configuration) {
29223
+ helpers$1.extend(this, configuration);
29224
+ this.initialize.apply(this, arguments);
29225
+ };
29226
+
29227
+ helpers$1.extend(Element.prototype, {
29228
+ _type: undefined,
29229
+
29230
+ initialize: function() {
29231
+ this.hidden = false;
29232
+ },
29233
+
29234
+ pivot: function() {
29235
+ var me = this;
29236
+ if (!me._view) {
29237
+ me._view = helpers$1.extend({}, me._model);
29238
+ }
29239
+ me._start = {};
29240
+ return me;
29241
+ },
29242
+
29243
+ transition: function(ease) {
29244
+ var me = this;
29245
+ var model = me._model;
29246
+ var start = me._start;
29247
+ var view = me._view;
29248
+
29249
+ // No animation -> No Transition
29250
+ if (!model || ease === 1) {
29251
+ me._view = helpers$1.extend({}, model);
29252
+ me._start = null;
29253
+ return me;
29254
+ }
29255
+
29256
+ if (!view) {
29257
+ view = me._view = {};
29258
+ }
29259
+
29260
+ if (!start) {
29261
+ start = me._start = {};
29262
+ }
29263
+
29264
+ interpolate(start, view, model, ease);
29265
+
29266
+ return me;
29267
+ },
29268
+
29269
+ tooltipPosition: function() {
29270
+ return {
29271
+ x: this._model.x,
29272
+ y: this._model.y
29273
+ };
29274
+ },
29275
+
29276
+ hasValue: function() {
29277
+ return helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);
29278
+ }
29279
+ });
29280
+
29281
+ Element.extend = helpers$1.inherits;
29282
+
29283
+ var core_element = Element;
29284
+
29285
+ var exports$3 = core_element.extend({
29286
+ chart: null, // the animation associated chart instance
29287
+ currentStep: 0, // the current animation step
29288
+ numSteps: 60, // default number of steps
29289
+ easing: '', // the easing to use for this animation
29290
+ render: null, // render function used by the animation service
29291
+
29292
+ onAnimationProgress: null, // user specified callback to fire on each step of the animation
29293
+ onAnimationComplete: null, // user specified callback to fire when the animation finishes
29294
+ });
29295
+
29296
+ var core_animation = exports$3;
29297
+
29298
+ // DEPRECATIONS
29299
+
29300
+ /**
29301
+ * Provided for backward compatibility, use Chart.Animation instead
29302
+ * @prop Chart.Animation#animationObject
29303
+ * @deprecated since version 2.6.0
29304
+ * @todo remove at version 3
29305
+ */
29306
+ Object.defineProperty(exports$3.prototype, 'animationObject', {
29307
+ get: function() {
29308
+ return this;
29309
+ }
29310
+ });
29311
+
29312
+ /**
29313
+ * Provided for backward compatibility, use Chart.Animation#chart instead
29314
+ * @prop Chart.Animation#chartInstance
29315
+ * @deprecated since version 2.6.0
29316
+ * @todo remove at version 3
29317
+ */
29318
+ Object.defineProperty(exports$3.prototype, 'chartInstance', {
29319
+ get: function() {
29320
+ return this.chart;
29321
+ },
29322
+ set: function(value) {
29323
+ this.chart = value;
29324
+ }
29325
+ });
29326
+
29327
+ core_defaults._set('global', {
29328
+ animation: {
29329
+ duration: 1000,
29330
+ easing: 'easeOutQuart',
29331
+ onProgress: helpers$1.noop,
29332
+ onComplete: helpers$1.noop
29333
+ }
29334
+ });
29335
+
29336
+ var core_animations = {
29337
+ animations: [],
29338
+ request: null,
29339
+
29340
+ /**
29341
+ * @param {Chart} chart - The chart to animate.
29342
+ * @param {Chart.Animation} animation - The animation that we will animate.
29343
+ * @param {number} duration - The animation duration in ms.
29344
+ * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions
29345
+ */
29346
+ addAnimation: function(chart, animation, duration, lazy) {
29347
+ var animations = this.animations;
29348
+ var i, ilen;
29349
+
29350
+ animation.chart = chart;
29351
+ animation.startTime = Date.now();
29352
+ animation.duration = duration;
29353
+
29354
+ if (!lazy) {
29355
+ chart.animating = true;
29356
+ }
29357
+
29358
+ for (i = 0, ilen = animations.length; i < ilen; ++i) {
29359
+ if (animations[i].chart === chart) {
29360
+ animations[i] = animation;
29361
+ return;
29362
+ }
29363
+ }
29364
+
29365
+ animations.push(animation);
29366
+
29367
+ // If there are no animations queued, manually kickstart a digest, for lack of a better word
29368
+ if (animations.length === 1) {
29369
+ this.requestAnimationFrame();
29370
+ }
29371
+ },
29372
+
29373
+ cancelAnimation: function(chart) {
29374
+ var index = helpers$1.findIndex(this.animations, function(animation) {
29375
+ return animation.chart === chart;
29376
+ });
29377
+
29378
+ if (index !== -1) {
29379
+ this.animations.splice(index, 1);
29380
+ chart.animating = false;
29381
+ }
29382
+ },
29383
+
29384
+ requestAnimationFrame: function() {
29385
+ var me = this;
29386
+ if (me.request === null) {
29387
+ // Skip animation frame requests until the active one is executed.
29388
+ // This can happen when processing mouse events, e.g. 'mousemove'
29389
+ // and 'mouseout' events will trigger multiple renders.
29390
+ me.request = helpers$1.requestAnimFrame.call(window, function() {
29391
+ me.request = null;
29392
+ me.startDigest();
29393
+ });
29394
+ }
29395
+ },
29396
+
29397
+ /**
29398
+ * @private
29399
+ */
29400
+ startDigest: function() {
29401
+ var me = this;
29402
+
29403
+ me.advance();
29404
+
29405
+ // Do we have more stuff to animate?
29406
+ if (me.animations.length > 0) {
29407
+ me.requestAnimationFrame();
29408
+ }
29409
+ },
29410
+
29411
+ /**
29412
+ * @private
29413
+ */
29414
+ advance: function() {
29415
+ var animations = this.animations;
29416
+ var animation, chart, numSteps, nextStep;
29417
+ var i = 0;
29418
+
29419
+ // 1 animation per chart, so we are looping charts here
29420
+ while (i < animations.length) {
29421
+ animation = animations[i];
29422
+ chart = animation.chart;
29423
+ numSteps = animation.numSteps;
29424
+
29425
+ // Make sure that currentStep starts at 1
29426
+ // https://github.com/chartjs/Chart.js/issues/6104
29427
+ nextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;
29428
+ animation.currentStep = Math.min(nextStep, numSteps);
29429
+
29430
+ helpers$1.callback(animation.render, [chart, animation], chart);
29431
+ helpers$1.callback(animation.onAnimationProgress, [animation], chart);
29432
+
29433
+ if (animation.currentStep >= numSteps) {
29434
+ helpers$1.callback(animation.onAnimationComplete, [animation], chart);
29435
+ chart.animating = false;
29436
+ animations.splice(i, 1);
29437
+ } else {
29438
+ ++i;
29439
+ }
29440
+ }
29441
+ }
29442
+ };
29443
+
29444
+ var resolve = helpers$1.options.resolve;
29445
+
29446
+ var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];
29447
+
29448
+ /**
29449
+ * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',
29450
+ * 'unshift') and notify the listener AFTER the array has been altered. Listeners are
29451
+ * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.
29452
+ */
29453
+ function listenArrayEvents(array, listener) {
29454
+ if (array._chartjs) {
29455
+ array._chartjs.listeners.push(listener);
29456
+ return;
29457
+ }
29458
+
29459
+ Object.defineProperty(array, '_chartjs', {
29460
+ configurable: true,
29461
+ enumerable: false,
29462
+ value: {
29463
+ listeners: [listener]
29464
+ }
29465
+ });
29466
+
29467
+ arrayEvents.forEach(function(key) {
29468
+ var method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);
29469
+ var base = array[key];
29470
+
29471
+ Object.defineProperty(array, key, {
29472
+ configurable: true,
29473
+ enumerable: false,
29474
+ value: function() {
29475
+ var args = Array.prototype.slice.call(arguments);
29476
+ var res = base.apply(this, args);
29477
+
29478
+ helpers$1.each(array._chartjs.listeners, function(object) {
29479
+ if (typeof object[method] === 'function') {
29480
+ object[method].apply(object, args);
29481
+ }
29482
+ });
29483
+
29484
+ return res;
29485
+ }
29486
+ });
29487
+ });
29488
+ }
29489
+
29490
+ /**
29491
+ * Removes the given array event listener and cleanup extra attached properties (such as
29492
+ * the _chartjs stub and overridden methods) if array doesn't have any more listeners.
29493
+ */
29494
+ function unlistenArrayEvents(array, listener) {
29495
+ var stub = array._chartjs;
29496
+ if (!stub) {
29497
+ return;
29498
+ }
29499
+
29500
+ var listeners = stub.listeners;
29501
+ var index = listeners.indexOf(listener);
29502
+ if (index !== -1) {
29503
+ listeners.splice(index, 1);
29504
+ }
29505
+
29506
+ if (listeners.length > 0) {
29507
+ return;
29508
+ }
29509
+
29510
+ arrayEvents.forEach(function(key) {
29511
+ delete array[key];
29512
+ });
29513
+
29514
+ delete array._chartjs;
29515
+ }
29516
+
29517
+ // Base class for all dataset controllers (line, bar, etc)
29518
+ var DatasetController = function(chart, datasetIndex) {
29519
+ this.initialize(chart, datasetIndex);
29520
+ };
29521
+
29522
+ helpers$1.extend(DatasetController.prototype, {
29523
+
29524
+ /**
29525
+ * Element type used to generate a meta dataset (e.g. Chart.element.Line).
29526
+ * @type {Chart.core.element}
29527
+ */
29528
+ datasetElementType: null,
29529
+
29530
+ /**
29531
+ * Element type used to generate a meta data (e.g. Chart.element.Point).
29532
+ * @type {Chart.core.element}
29533
+ */
29534
+ dataElementType: null,
29535
+
29536
+ /**
29537
+ * Dataset element option keys to be resolved in _resolveDatasetElementOptions.
29538
+ * A derived controller may override this to resolve controller-specific options.
29539
+ * The keys defined here are for backward compatibility for legend styles.
29540
+ * @private
29541
+ */
29542
+ _datasetElementOptions: [
29543
+ 'backgroundColor',
29544
+ 'borderCapStyle',
29545
+ 'borderColor',
29546
+ 'borderDash',
29547
+ 'borderDashOffset',
29548
+ 'borderJoinStyle',
29549
+ 'borderWidth'
29550
+ ],
29551
+
29552
+ /**
29553
+ * Data element option keys to be resolved in _resolveDataElementOptions.
29554
+ * A derived controller may override this to resolve controller-specific options.
29555
+ * The keys defined here are for backward compatibility for legend styles.
29556
+ * @private
29557
+ */
29558
+ _dataElementOptions: [
29559
+ 'backgroundColor',
29560
+ 'borderColor',
29561
+ 'borderWidth',
29562
+ 'pointStyle'
29563
+ ],
29564
+
29565
+ initialize: function(chart, datasetIndex) {
29566
+ var me = this;
29567
+ me.chart = chart;
29568
+ me.index = datasetIndex;
29569
+ me.linkScales();
29570
+ me.addElements();
29571
+ me._type = me.getMeta().type;
29572
+ },
29573
+
29574
+ updateIndex: function(datasetIndex) {
29575
+ this.index = datasetIndex;
29576
+ },
29577
+
29578
+ linkScales: function() {
29579
+ var me = this;
29580
+ var meta = me.getMeta();
29581
+ var chart = me.chart;
29582
+ var scales = chart.scales;
29583
+ var dataset = me.getDataset();
29584
+ var scalesOpts = chart.options.scales;
29585
+
29586
+ if (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {
29587
+ meta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;
29588
+ }
29589
+ if (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {
29590
+ meta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;
29591
+ }
29592
+ },
29593
+
29594
+ getDataset: function() {
29595
+ return this.chart.data.datasets[this.index];
29596
+ },
29597
+
29598
+ getMeta: function() {
29599
+ return this.chart.getDatasetMeta(this.index);
29600
+ },
29601
+
29602
+ getScaleForId: function(scaleID) {
29603
+ return this.chart.scales[scaleID];
29604
+ },
29605
+
29606
+ /**
29607
+ * @private
29608
+ */
29609
+ _getValueScaleId: function() {
29610
+ return this.getMeta().yAxisID;
29611
+ },
29612
+
29613
+ /**
29614
+ * @private
29615
+ */
29616
+ _getIndexScaleId: function() {
29617
+ return this.getMeta().xAxisID;
29618
+ },
29619
+
29620
+ /**
29621
+ * @private
29622
+ */
29623
+ _getValueScale: function() {
29624
+ return this.getScaleForId(this._getValueScaleId());
29625
+ },
29626
+
29627
+ /**
29628
+ * @private
29629
+ */
29630
+ _getIndexScale: function() {
29631
+ return this.getScaleForId(this._getIndexScaleId());
29632
+ },
29633
+
29634
+ reset: function() {
29635
+ this._update(true);
29636
+ },
29637
+
29638
+ /**
29639
+ * @private
29640
+ */
29641
+ destroy: function() {
29642
+ if (this._data) {
29643
+ unlistenArrayEvents(this._data, this);
29644
+ }
29645
+ },
29646
+
29647
+ createMetaDataset: function() {
29648
+ var me = this;
29649
+ var type = me.datasetElementType;
29650
+ return type && new type({
29651
+ _chart: me.chart,
29652
+ _datasetIndex: me.index
29653
+ });
29654
+ },
29655
+
29656
+ createMetaData: function(index) {
29657
+ var me = this;
29658
+ var type = me.dataElementType;
29659
+ return type && new type({
29660
+ _chart: me.chart,
29661
+ _datasetIndex: me.index,
29662
+ _index: index
29663
+ });
29664
+ },
29665
+
29666
+ addElements: function() {
29667
+ var me = this;
29668
+ var meta = me.getMeta();
29669
+ var data = me.getDataset().data || [];
29670
+ var metaData = meta.data;
29671
+ var i, ilen;
29672
+
29673
+ for (i = 0, ilen = data.length; i < ilen; ++i) {
29674
+ metaData[i] = metaData[i] || me.createMetaData(i);
29675
+ }
29676
+
29677
+ meta.dataset = meta.dataset || me.createMetaDataset();
29678
+ },
29679
+
29680
+ addElementAndReset: function(index) {
29681
+ var element = this.createMetaData(index);
29682
+ this.getMeta().data.splice(index, 0, element);
29683
+ this.updateElement(element, index, true);
29684
+ },
29685
+
29686
+ buildOrUpdateElements: function() {
29687
+ var me = this;
29688
+ var dataset = me.getDataset();
29689
+ var data = dataset.data || (dataset.data = []);
29690
+
29691
+ // In order to correctly handle data addition/deletion animation (an thus simulate
29692
+ // real-time charts), we need to monitor these data modifications and synchronize
29693
+ // the internal meta data accordingly.
29694
+ if (me._data !== data) {
29695
+ if (me._data) {
29696
+ // This case happens when the user replaced the data array instance.
29697
+ unlistenArrayEvents(me._data, me);
29698
+ }
29699
+
29700
+ if (data && Object.isExtensible(data)) {
29701
+ listenArrayEvents(data, me);
29702
+ }
29703
+ me._data = data;
29704
+ }
29705
+
29706
+ // Re-sync meta data in case the user replaced the data array or if we missed
29707
+ // any updates and so make sure that we handle number of datapoints changing.
29708
+ me.resyncElements();
29709
+ },
29710
+
29711
+ /**
29712
+ * Returns the merged user-supplied and default dataset-level options
29713
+ * @private
29714
+ */
29715
+ _configure: function() {
29716
+ var me = this;
29717
+ me._config = helpers$1.merge({}, [
29718
+ me.chart.options.datasets[me._type],
29719
+ me.getDataset(),
29720
+ ], {
29721
+ merger: function(key, target, source) {
29722
+ if (key !== '_meta' && key !== 'data') {
29723
+ helpers$1._merger(key, target, source);
29724
+ }
29725
+ }
29726
+ });
29727
+ },
29728
+
29729
+ _update: function(reset) {
29730
+ var me = this;
29731
+ me._configure();
29732
+ me._cachedDataOpts = null;
29733
+ me.update(reset);
29734
+ },
29735
+
29736
+ update: helpers$1.noop,
29737
+
29738
+ transition: function(easingValue) {
29739
+ var meta = this.getMeta();
29740
+ var elements = meta.data || [];
29741
+ var ilen = elements.length;
29742
+ var i = 0;
29743
+
29744
+ for (; i < ilen; ++i) {
29745
+ elements[i].transition(easingValue);
29746
+ }
29747
+
29748
+ if (meta.dataset) {
29749
+ meta.dataset.transition(easingValue);
29750
+ }
29751
+ },
29752
+
29753
+ draw: function() {
29754
+ var meta = this.getMeta();
29755
+ var elements = meta.data || [];
29756
+ var ilen = elements.length;
29757
+ var i = 0;
29758
+
29759
+ if (meta.dataset) {
29760
+ meta.dataset.draw();
29761
+ }
29762
+
29763
+ for (; i < ilen; ++i) {
29764
+ elements[i].draw();
29765
+ }
29766
+ },
29767
+
29768
+ /**
29769
+ * Returns a set of predefined style properties that should be used to represent the dataset
29770
+ * or the data if the index is specified
29771
+ * @param {number} index - data index
29772
+ * @return {IStyleInterface} style object
29773
+ */
29774
+ getStyle: function(index) {
29775
+ var me = this;
29776
+ var meta = me.getMeta();
29777
+ var dataset = meta.dataset;
29778
+ var style;
29779
+
29780
+ me._configure();
29781
+ if (dataset && index === undefined) {
29782
+ style = me._resolveDatasetElementOptions(dataset || {});
29783
+ } else {
29784
+ index = index || 0;
29785
+ style = me._resolveDataElementOptions(meta.data[index] || {}, index);
29786
+ }
29787
+
29788
+ if (style.fill === false || style.fill === null) {
29789
+ style.backgroundColor = style.borderColor;
29790
+ }
29791
+
29792
+ return style;
29793
+ },
29794
+
29795
+ /**
29796
+ * @private
29797
+ */
29798
+ _resolveDatasetElementOptions: function(element, hover) {
29799
+ var me = this;
29800
+ var chart = me.chart;
29801
+ var datasetOpts = me._config;
29802
+ var custom = element.custom || {};
29803
+ var options = chart.options.elements[me.datasetElementType.prototype._type] || {};
29804
+ var elementOptions = me._datasetElementOptions;
29805
+ var values = {};
29806
+ var i, ilen, key, readKey;
29807
+
29808
+ // Scriptable options
29809
+ var context = {
29810
+ chart: chart,
29811
+ dataset: me.getDataset(),
29812
+ datasetIndex: me.index,
29813
+ hover: hover
29814
+ };
29815
+
29816
+ for (i = 0, ilen = elementOptions.length; i < ilen; ++i) {
29817
+ key = elementOptions[i];
29818
+ readKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;
29819
+ values[key] = resolve([
29820
+ custom[readKey],
29821
+ datasetOpts[readKey],
29822
+ options[readKey]
29823
+ ], context);
29824
+ }
29825
+
29826
+ return values;
29827
+ },
29828
+
29829
+ /**
29830
+ * @private
29831
+ */
29832
+ _resolveDataElementOptions: function(element, index) {
29833
+ var me = this;
29834
+ var custom = element && element.custom;
29835
+ var cached = me._cachedDataOpts;
29836
+ if (cached && !custom) {
29837
+ return cached;
29838
+ }
29839
+ var chart = me.chart;
29840
+ var datasetOpts = me._config;
29841
+ var options = chart.options.elements[me.dataElementType.prototype._type] || {};
29842
+ var elementOptions = me._dataElementOptions;
29843
+ var values = {};
29844
+
29845
+ // Scriptable options
29846
+ var context = {
29847
+ chart: chart,
29848
+ dataIndex: index,
29849
+ dataset: me.getDataset(),
29850
+ datasetIndex: me.index
29851
+ };
29852
+
29853
+ // `resolve` sets cacheable to `false` if any option is indexed or scripted
29854
+ var info = {cacheable: !custom};
29855
+
29856
+ var keys, i, ilen, key;
29857
+
29858
+ custom = custom || {};
29859
+
29860
+ if (helpers$1.isArray(elementOptions)) {
29861
+ for (i = 0, ilen = elementOptions.length; i < ilen; ++i) {
29862
+ key = elementOptions[i];
29863
+ values[key] = resolve([
29864
+ custom[key],
29865
+ datasetOpts[key],
29866
+ options[key]
29867
+ ], context, index, info);
29868
+ }
29869
+ } else {
29870
+ keys = Object.keys(elementOptions);
29871
+ for (i = 0, ilen = keys.length; i < ilen; ++i) {
29872
+ key = keys[i];
29873
+ values[key] = resolve([
29874
+ custom[key],
29875
+ datasetOpts[elementOptions[key]],
29876
+ datasetOpts[key],
29877
+ options[key]
29878
+ ], context, index, info);
29879
+ }
29880
+ }
29881
+
29882
+ if (info.cacheable) {
29883
+ me._cachedDataOpts = Object.freeze(values);
29884
+ }
29885
+
29886
+ return values;
29887
+ },
29888
+
29889
+ removeHoverStyle: function(element) {
29890
+ helpers$1.merge(element._model, element.$previousStyle || {});
29891
+ delete element.$previousStyle;
29892
+ },
29893
+
29894
+ setHoverStyle: function(element) {
29895
+ var dataset = this.chart.data.datasets[element._datasetIndex];
29896
+ var index = element._index;
29897
+ var custom = element.custom || {};
29898
+ var model = element._model;
29899
+ var getHoverColor = helpers$1.getHoverColor;
29900
+
29901
+ element.$previousStyle = {
29902
+ backgroundColor: model.backgroundColor,
29903
+ borderColor: model.borderColor,
29904
+ borderWidth: model.borderWidth
29905
+ };
29906
+
29907
+ model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);
29908
+ model.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);
29909
+ model.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);
29910
+ },
29911
+
29912
+ /**
29913
+ * @private
29914
+ */
29915
+ _removeDatasetHoverStyle: function() {
29916
+ var element = this.getMeta().dataset;
29917
+
29918
+ if (element) {
29919
+ this.removeHoverStyle(element);
29920
+ }
29921
+ },
29922
+
29923
+ /**
29924
+ * @private
29925
+ */
29926
+ _setDatasetHoverStyle: function() {
29927
+ var element = this.getMeta().dataset;
29928
+ var prev = {};
29929
+ var i, ilen, key, keys, hoverOptions, model;
29930
+
29931
+ if (!element) {
29932
+ return;
29933
+ }
29934
+
29935
+ model = element._model;
29936
+ hoverOptions = this._resolveDatasetElementOptions(element, true);
29937
+
29938
+ keys = Object.keys(hoverOptions);
29939
+ for (i = 0, ilen = keys.length; i < ilen; ++i) {
29940
+ key = keys[i];
29941
+ prev[key] = model[key];
29942
+ model[key] = hoverOptions[key];
29943
+ }
29944
+
29945
+ element.$previousStyle = prev;
29946
+ },
29947
+
29948
+ /**
29949
+ * @private
29950
+ */
29951
+ resyncElements: function() {
29952
+ var me = this;
29953
+ var meta = me.getMeta();
29954
+ var data = me.getDataset().data;
29955
+ var numMeta = meta.data.length;
29956
+ var numData = data.length;
29957
+
29958
+ if (numData < numMeta) {
29959
+ meta.data.splice(numData, numMeta - numData);
29960
+ } else if (numData > numMeta) {
29961
+ me.insertElements(numMeta, numData - numMeta);
29962
+ }
29963
+ },
29964
+
29965
+ /**
29966
+ * @private
29967
+ */
29968
+ insertElements: function(start, count) {
29969
+ for (var i = 0; i < count; ++i) {
29970
+ this.addElementAndReset(start + i);
29971
+ }
29972
+ },
29973
+
29974
+ /**
29975
+ * @private
29976
+ */
29977
+ onDataPush: function() {
29978
+ var count = arguments.length;
29979
+ this.insertElements(this.getDataset().data.length - count, count);
29980
+ },
29981
+
29982
+ /**
29983
+ * @private
29984
+ */
29985
+ onDataPop: function() {
29986
+ this.getMeta().data.pop();
29987
+ },
29988
+
29989
+ /**
29990
+ * @private
29991
+ */
29992
+ onDataShift: function() {
29993
+ this.getMeta().data.shift();
29994
+ },
29995
+
29996
+ /**
29997
+ * @private
29998
+ */
29999
+ onDataSplice: function(start, count) {
30000
+ this.getMeta().data.splice(start, count);
30001
+ this.insertElements(start, arguments.length - 2);
30002
+ },
30003
+
30004
+ /**
30005
+ * @private
30006
+ */
30007
+ onDataUnshift: function() {
30008
+ this.insertElements(0, arguments.length);
30009
+ }
30010
+ });
30011
+
30012
+ DatasetController.extend = helpers$1.inherits;
30013
+
30014
+ var core_datasetController = DatasetController;
30015
+
30016
+ var TAU = Math.PI * 2;
30017
+
30018
+ core_defaults._set('global', {
30019
+ elements: {
30020
+ arc: {
30021
+ backgroundColor: core_defaults.global.defaultColor,
30022
+ borderColor: '#fff',
30023
+ borderWidth: 2,
30024
+ borderAlign: 'center'
30025
+ }
30026
+ }
30027
+ });
30028
+
30029
+ function clipArc(ctx, arc) {
30030
+ var startAngle = arc.startAngle;
30031
+ var endAngle = arc.endAngle;
30032
+ var pixelMargin = arc.pixelMargin;
30033
+ var angleMargin = pixelMargin / arc.outerRadius;
30034
+ var x = arc.x;
30035
+ var y = arc.y;
30036
+
30037
+ // Draw an inner border by cliping the arc and drawing a double-width border
30038
+ // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders
30039
+ ctx.beginPath();
30040
+ ctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);
30041
+ if (arc.innerRadius > pixelMargin) {
30042
+ angleMargin = pixelMargin / arc.innerRadius;
30043
+ ctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);
30044
+ } else {
30045
+ ctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);
30046
+ }
30047
+ ctx.closePath();
30048
+ ctx.clip();
30049
+ }
30050
+
30051
+ function drawFullCircleBorders(ctx, vm, arc, inner) {
30052
+ var endAngle = arc.endAngle;
30053
+ var i;
30054
+
30055
+ if (inner) {
30056
+ arc.endAngle = arc.startAngle + TAU;
30057
+ clipArc(ctx, arc);
30058
+ arc.endAngle = endAngle;
30059
+ if (arc.endAngle === arc.startAngle && arc.fullCircles) {
30060
+ arc.endAngle += TAU;
30061
+ arc.fullCircles--;
30062
+ }
30063
+ }
30064
+
30065
+ ctx.beginPath();
30066
+ ctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);
30067
+ for (i = 0; i < arc.fullCircles; ++i) {
30068
+ ctx.stroke();
30069
+ }
30070
+
30071
+ ctx.beginPath();
30072
+ ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);
30073
+ for (i = 0; i < arc.fullCircles; ++i) {
30074
+ ctx.stroke();
30075
+ }
30076
+ }
30077
+
30078
+ function drawBorder(ctx, vm, arc) {
30079
+ var inner = vm.borderAlign === 'inner';
30080
+
30081
+ if (inner) {
30082
+ ctx.lineWidth = vm.borderWidth * 2;
30083
+ ctx.lineJoin = 'round';
30084
+ } else {
30085
+ ctx.lineWidth = vm.borderWidth;
30086
+ ctx.lineJoin = 'bevel';
30087
+ }
30088
+
30089
+ if (arc.fullCircles) {
30090
+ drawFullCircleBorders(ctx, vm, arc, inner);
30091
+ }
30092
+
30093
+ if (inner) {
30094
+ clipArc(ctx, arc);
30095
+ }
30096
+
30097
+ ctx.beginPath();
30098
+ ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);
30099
+ ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);
30100
+ ctx.closePath();
30101
+ ctx.stroke();
30102
+ }
30103
+
30104
+ var element_arc = core_element.extend({
30105
+ _type: 'arc',
30106
+
30107
+ inLabelRange: function(mouseX) {
30108
+ var vm = this._view;
30109
+
30110
+ if (vm) {
30111
+ return (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));
30112
+ }
30113
+ return false;
30114
+ },
30115
+
30116
+ inRange: function(chartX, chartY) {
30117
+ var vm = this._view;
30118
+
30119
+ if (vm) {
30120
+ var pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});
30121
+ var angle = pointRelativePosition.angle;
30122
+ var distance = pointRelativePosition.distance;
30123
+
30124
+ // Sanitise angle range
30125
+ var startAngle = vm.startAngle;
30126
+ var endAngle = vm.endAngle;
30127
+ while (endAngle < startAngle) {
30128
+ endAngle += TAU;
30129
+ }
30130
+ while (angle > endAngle) {
30131
+ angle -= TAU;
30132
+ }
30133
+ while (angle < startAngle) {
30134
+ angle += TAU;
30135
+ }
30136
+
30137
+ // Check if within the range of the open/close angle
30138
+ var betweenAngles = (angle >= startAngle && angle <= endAngle);
30139
+ var withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);
30140
+
30141
+ return (betweenAngles && withinRadius);
30142
+ }
30143
+ return false;
30144
+ },
30145
+
30146
+ getCenterPoint: function() {
30147
+ var vm = this._view;
30148
+ var halfAngle = (vm.startAngle + vm.endAngle) / 2;
30149
+ var halfRadius = (vm.innerRadius + vm.outerRadius) / 2;
30150
+ return {
30151
+ x: vm.x + Math.cos(halfAngle) * halfRadius,
30152
+ y: vm.y + Math.sin(halfAngle) * halfRadius
30153
+ };
30154
+ },
30155
+
30156
+ getArea: function() {
30157
+ var vm = this._view;
30158
+ return Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));
30159
+ },
30160
+
30161
+ tooltipPosition: function() {
30162
+ var vm = this._view;
30163
+ var centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);
30164
+ var rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;
30165
+
30166
+ return {
30167
+ x: vm.x + (Math.cos(centreAngle) * rangeFromCentre),
30168
+ y: vm.y + (Math.sin(centreAngle) * rangeFromCentre)
30169
+ };
30170
+ },
30171
+
30172
+ draw: function() {
30173
+ var ctx = this._chart.ctx;
30174
+ var vm = this._view;
30175
+ var pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;
30176
+ var arc = {
30177
+ x: vm.x,
30178
+ y: vm.y,
30179
+ innerRadius: vm.innerRadius,
30180
+ outerRadius: Math.max(vm.outerRadius - pixelMargin, 0),
30181
+ pixelMargin: pixelMargin,
30182
+ startAngle: vm.startAngle,
30183
+ endAngle: vm.endAngle,
30184
+ fullCircles: Math.floor(vm.circumference / TAU)
30185
+ };
30186
+ var i;
30187
+
30188
+ ctx.save();
30189
+
30190
+ ctx.fillStyle = vm.backgroundColor;
30191
+ ctx.strokeStyle = vm.borderColor;
30192
+
30193
+ if (arc.fullCircles) {
30194
+ arc.endAngle = arc.startAngle + TAU;
30195
+ ctx.beginPath();
30196
+ ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);
30197
+ ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);
30198
+ ctx.closePath();
30199
+ for (i = 0; i < arc.fullCircles; ++i) {
30200
+ ctx.fill();
30201
+ }
30202
+ arc.endAngle = arc.startAngle + vm.circumference % TAU;
30203
+ }
30204
+
30205
+ ctx.beginPath();
30206
+ ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);
30207
+ ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);
30208
+ ctx.closePath();
30209
+ ctx.fill();
30210
+
30211
+ if (vm.borderWidth) {
30212
+ drawBorder(ctx, vm, arc);
30213
+ }
30214
+
30215
+ ctx.restore();
30216
+ }
30217
+ });
30218
+
30219
+ var valueOrDefault$1 = helpers$1.valueOrDefault;
30220
+
30221
+ var defaultColor = core_defaults.global.defaultColor;
30222
+
30223
+ core_defaults._set('global', {
30224
+ elements: {
30225
+ line: {
30226
+ tension: 0.4,
30227
+ backgroundColor: defaultColor,
30228
+ borderWidth: 3,
30229
+ borderColor: defaultColor,
30230
+ borderCapStyle: 'butt',
30231
+ borderDash: [],
30232
+ borderDashOffset: 0.0,
30233
+ borderJoinStyle: 'miter',
30234
+ capBezierPoints: true,
30235
+ fill: true, // do we fill in the area between the line and its base axis
30236
+ }
30237
+ }
30238
+ });
30239
+
30240
+ var element_line = core_element.extend({
30241
+ _type: 'line',
30242
+
30243
+ draw: function() {
30244
+ var me = this;
30245
+ var vm = me._view;
30246
+ var ctx = me._chart.ctx;
30247
+ var spanGaps = vm.spanGaps;
30248
+ var points = me._children.slice(); // clone array
30249
+ var globalDefaults = core_defaults.global;
30250
+ var globalOptionLineElements = globalDefaults.elements.line;
30251
+ var lastDrawnIndex = -1;
30252
+ var closePath = me._loop;
30253
+ var index, previous, currentVM;
30254
+
30255
+ if (!points.length) {
30256
+ return;
30257
+ }
30258
+
30259
+ if (me._loop) {
30260
+ for (index = 0; index < points.length; ++index) {
30261
+ previous = helpers$1.previousItem(points, index);
30262
+ // If the line has an open path, shift the point array
30263
+ if (!points[index]._view.skip && previous._view.skip) {
30264
+ points = points.slice(index).concat(points.slice(0, index));
30265
+ closePath = spanGaps;
30266
+ break;
30267
+ }
30268
+ }
30269
+ // If the line has a close path, add the first point again
30270
+ if (closePath) {
30271
+ points.push(points[0]);
30272
+ }
30273
+ }
30274
+
30275
+ ctx.save();
30276
+
30277
+ // Stroke Line Options
30278
+ ctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;
30279
+
30280
+ // IE 9 and 10 do not support line dash
30281
+ if (ctx.setLineDash) {
30282
+ ctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);
30283
+ }
30284
+
30285
+ ctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);
30286
+ ctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;
30287
+ ctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);
30288
+ ctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;
30289
+
30290
+ // Stroke Line
30291
+ ctx.beginPath();
30292
+
30293
+ // First point moves to it's starting position no matter what
30294
+ currentVM = points[0]._view;
30295
+ if (!currentVM.skip) {
30296
+ ctx.moveTo(currentVM.x, currentVM.y);
30297
+ lastDrawnIndex = 0;
30298
+ }
30299
+
30300
+ for (index = 1; index < points.length; ++index) {
30301
+ currentVM = points[index]._view;
30302
+ previous = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];
30303
+
30304
+ if (!currentVM.skip) {
30305
+ if ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {
30306
+ // There was a gap and this is the first point after the gap
30307
+ ctx.moveTo(currentVM.x, currentVM.y);
30308
+ } else {
30309
+ // Line to next point
30310
+ helpers$1.canvas.lineTo(ctx, previous._view, currentVM);
30311
+ }
30312
+ lastDrawnIndex = index;
30313
+ }
30314
+ }
30315
+
30316
+ if (closePath) {
30317
+ ctx.closePath();
30318
+ }
30319
+
30320
+ ctx.stroke();
30321
+ ctx.restore();
30322
+ }
30323
+ });
30324
+
30325
+ var valueOrDefault$2 = helpers$1.valueOrDefault;
30326
+
30327
+ var defaultColor$1 = core_defaults.global.defaultColor;
30328
+
30329
+ core_defaults._set('global', {
30330
+ elements: {
30331
+ point: {
30332
+ radius: 3,
30333
+ pointStyle: 'circle',
30334
+ backgroundColor: defaultColor$1,
30335
+ borderColor: defaultColor$1,
30336
+ borderWidth: 1,
30337
+ // Hover
30338
+ hitRadius: 1,
30339
+ hoverRadius: 4,
30340
+ hoverBorderWidth: 1
30341
+ }
30342
+ }
30343
+ });
30344
+
30345
+ function xRange(mouseX) {
30346
+ var vm = this._view;
30347
+ return vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;
30348
+ }
30349
+
30350
+ function yRange(mouseY) {
30351
+ var vm = this._view;
30352
+ return vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;
30353
+ }
30354
+
30355
+ var element_point = core_element.extend({
30356
+ _type: 'point',
30357
+
30358
+ inRange: function(mouseX, mouseY) {
30359
+ var vm = this._view;
30360
+ return vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;
30361
+ },
30362
+
30363
+ inLabelRange: xRange,
30364
+ inXRange: xRange,
30365
+ inYRange: yRange,
30366
+
30367
+ getCenterPoint: function() {
30368
+ var vm = this._view;
30369
+ return {
30370
+ x: vm.x,
30371
+ y: vm.y
30372
+ };
30373
+ },
30374
+
30375
+ getArea: function() {
30376
+ return Math.PI * Math.pow(this._view.radius, 2);
30377
+ },
30378
+
30379
+ tooltipPosition: function() {
30380
+ var vm = this._view;
30381
+ return {
30382
+ x: vm.x,
30383
+ y: vm.y,
30384
+ padding: vm.radius + vm.borderWidth
30385
+ };
30386
+ },
30387
+
30388
+ draw: function(chartArea) {
30389
+ var vm = this._view;
30390
+ var ctx = this._chart.ctx;
30391
+ var pointStyle = vm.pointStyle;
30392
+ var rotation = vm.rotation;
30393
+ var radius = vm.radius;
30394
+ var x = vm.x;
30395
+ var y = vm.y;
30396
+ var globalDefaults = core_defaults.global;
30397
+ var defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow
30398
+
30399
+ if (vm.skip) {
30400
+ return;
30401
+ }
30402
+
30403
+ // Clipping for Points.
30404
+ if (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {
30405
+ ctx.strokeStyle = vm.borderColor || defaultColor;
30406
+ ctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);
30407
+ ctx.fillStyle = vm.backgroundColor || defaultColor;
30408
+ helpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);
30409
+ }
30410
+ }
30411
+ });
30412
+
30413
+ var defaultColor$2 = core_defaults.global.defaultColor;
30414
+
30415
+ core_defaults._set('global', {
30416
+ elements: {
30417
+ rectangle: {
30418
+ backgroundColor: defaultColor$2,
30419
+ borderColor: defaultColor$2,
30420
+ borderSkipped: 'bottom',
30421
+ borderWidth: 0
30422
+ }
30423
+ }
30424
+ });
30425
+
30426
+ function isVertical(vm) {
30427
+ return vm && vm.width !== undefined;
30428
+ }
30429
+
30430
+ /**
30431
+ * Helper function to get the bounds of the bar regardless of the orientation
30432
+ * @param bar {Chart.Element.Rectangle} the bar
30433
+ * @return {Bounds} bounds of the bar
30434
+ * @private
30435
+ */
30436
+ function getBarBounds(vm) {
30437
+ var x1, x2, y1, y2, half;
30438
+
30439
+ if (isVertical(vm)) {
30440
+ half = vm.width / 2;
30441
+ x1 = vm.x - half;
30442
+ x2 = vm.x + half;
30443
+ y1 = Math.min(vm.y, vm.base);
30444
+ y2 = Math.max(vm.y, vm.base);
30445
+ } else {
30446
+ half = vm.height / 2;
30447
+ x1 = Math.min(vm.x, vm.base);
30448
+ x2 = Math.max(vm.x, vm.base);
30449
+ y1 = vm.y - half;
30450
+ y2 = vm.y + half;
30451
+ }
30452
+
30453
+ return {
30454
+ left: x1,
30455
+ top: y1,
30456
+ right: x2,
30457
+ bottom: y2
30458
+ };
30459
+ }
30460
+
30461
+ function swap(orig, v1, v2) {
30462
+ return orig === v1 ? v2 : orig === v2 ? v1 : orig;
30463
+ }
30464
+
30465
+ function parseBorderSkipped(vm) {
30466
+ var edge = vm.borderSkipped;
30467
+ var res = {};
30468
+
30469
+ if (!edge) {
30470
+ return res;
30471
+ }
30472
+
30473
+ if (vm.horizontal) {
30474
+ if (vm.base > vm.x) {
30475
+ edge = swap(edge, 'left', 'right');
30476
+ }
30477
+ } else if (vm.base < vm.y) {
30478
+ edge = swap(edge, 'bottom', 'top');
30479
+ }
30480
+
30481
+ res[edge] = true;
30482
+ return res;
30483
+ }
30484
+
30485
+ function parseBorderWidth(vm, maxW, maxH) {
30486
+ var value = vm.borderWidth;
30487
+ var skip = parseBorderSkipped(vm);
30488
+ var t, r, b, l;
30489
+
30490
+ if (helpers$1.isObject(value)) {
30491
+ t = +value.top || 0;
30492
+ r = +value.right || 0;
30493
+ b = +value.bottom || 0;
30494
+ l = +value.left || 0;
30495
+ } else {
30496
+ t = r = b = l = +value || 0;
30497
+ }
30498
+
30499
+ return {
30500
+ t: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,
30501
+ r: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,
30502
+ b: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,
30503
+ l: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l
30504
+ };
30505
+ }
30506
+
30507
+ function boundingRects(vm) {
30508
+ var bounds = getBarBounds(vm);
30509
+ var width = bounds.right - bounds.left;
30510
+ var height = bounds.bottom - bounds.top;
30511
+ var border = parseBorderWidth(vm, width / 2, height / 2);
30512
+
30513
+ return {
30514
+ outer: {
30515
+ x: bounds.left,
30516
+ y: bounds.top,
30517
+ w: width,
30518
+ h: height
30519
+ },
30520
+ inner: {
30521
+ x: bounds.left + border.l,
30522
+ y: bounds.top + border.t,
30523
+ w: width - border.l - border.r,
30524
+ h: height - border.t - border.b
30525
+ }
30526
+ };
30527
+ }
30528
+
30529
+ function inRange(vm, x, y) {
30530
+ var skipX = x === null;
30531
+ var skipY = y === null;
30532
+ var bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);
30533
+
30534
+ return bounds
30535
+ && (skipX || x >= bounds.left && x <= bounds.right)
30536
+ && (skipY || y >= bounds.top && y <= bounds.bottom);
30537
+ }
30538
+
30539
+ var element_rectangle = core_element.extend({
30540
+ _type: 'rectangle',
30541
+
30542
+ draw: function() {
30543
+ var ctx = this._chart.ctx;
30544
+ var vm = this._view;
30545
+ var rects = boundingRects(vm);
30546
+ var outer = rects.outer;
30547
+ var inner = rects.inner;
30548
+
30549
+ ctx.fillStyle = vm.backgroundColor;
30550
+ ctx.fillRect(outer.x, outer.y, outer.w, outer.h);
30551
+
30552
+ if (outer.w === inner.w && outer.h === inner.h) {
30553
+ return;
30554
+ }
30555
+
30556
+ ctx.save();
30557
+ ctx.beginPath();
30558
+ ctx.rect(outer.x, outer.y, outer.w, outer.h);
30559
+ ctx.clip();
30560
+ ctx.fillStyle = vm.borderColor;
30561
+ ctx.rect(inner.x, inner.y, inner.w, inner.h);
30562
+ ctx.fill('evenodd');
30563
+ ctx.restore();
30564
+ },
30565
+
30566
+ height: function() {
30567
+ var vm = this._view;
30568
+ return vm.base - vm.y;
30569
+ },
30570
+
30571
+ inRange: function(mouseX, mouseY) {
30572
+ return inRange(this._view, mouseX, mouseY);
30573
+ },
30574
+
30575
+ inLabelRange: function(mouseX, mouseY) {
30576
+ var vm = this._view;
30577
+ return isVertical(vm)
30578
+ ? inRange(vm, mouseX, null)
30579
+ : inRange(vm, null, mouseY);
30580
+ },
30581
+
30582
+ inXRange: function(mouseX) {
30583
+ return inRange(this._view, mouseX, null);
30584
+ },
30585
+
30586
+ inYRange: function(mouseY) {
30587
+ return inRange(this._view, null, mouseY);
30588
+ },
30589
+
30590
+ getCenterPoint: function() {
30591
+ var vm = this._view;
30592
+ var x, y;
30593
+ if (isVertical(vm)) {
30594
+ x = vm.x;
30595
+ y = (vm.y + vm.base) / 2;
30596
+ } else {
30597
+ x = (vm.x + vm.base) / 2;
30598
+ y = vm.y;
30599
+ }
30600
+
30601
+ return {x: x, y: y};
30602
+ },
30603
+
30604
+ getArea: function() {
30605
+ var vm = this._view;
30606
+
30607
+ return isVertical(vm)
30608
+ ? vm.width * Math.abs(vm.y - vm.base)
30609
+ : vm.height * Math.abs(vm.x - vm.base);
30610
+ },
30611
+
30612
+ tooltipPosition: function() {
30613
+ var vm = this._view;
30614
+ return {
30615
+ x: vm.x,
30616
+ y: vm.y
30617
+ };
30618
+ }
30619
+ });
30620
+
30621
+ var elements = {};
30622
+ var Arc = element_arc;
30623
+ var Line = element_line;
30624
+ var Point = element_point;
30625
+ var Rectangle = element_rectangle;
30626
+ elements.Arc = Arc;
30627
+ elements.Line = Line;
30628
+ elements.Point = Point;
30629
+ elements.Rectangle = Rectangle;
30630
+
30631
+ var deprecated = helpers$1._deprecated;
30632
+ var valueOrDefault$3 = helpers$1.valueOrDefault;
30633
+
30634
+ core_defaults._set('bar', {
30635
+ hover: {
30636
+ mode: 'label'
30637
+ },
30638
+
30639
+ scales: {
30640
+ xAxes: [{
30641
+ type: 'category',
30642
+ offset: true,
30643
+ gridLines: {
30644
+ offsetGridLines: true
30645
+ }
30646
+ }],
30647
+
30648
+ yAxes: [{
30649
+ type: 'linear'
30650
+ }]
30651
+ }
30652
+ });
30653
+
30654
+ core_defaults._set('global', {
30655
+ datasets: {
30656
+ bar: {
30657
+ categoryPercentage: 0.8,
30658
+ barPercentage: 0.9
30659
+ }
30660
+ }
30661
+ });
30662
+
30663
+ /**
30664
+ * Computes the "optimal" sample size to maintain bars equally sized while preventing overlap.
30665
+ * @private
30666
+ */
30667
+ function computeMinSampleSize(scale, pixels) {
30668
+ var min = scale._length;
30669
+ var prev, curr, i, ilen;
30670
+
30671
+ for (i = 1, ilen = pixels.length; i < ilen; ++i) {
30672
+ min = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));
30673
+ }
30674
+
30675
+ for (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {
30676
+ curr = scale.getPixelForTick(i);
30677
+ min = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;
30678
+ prev = curr;
30679
+ }
30680
+
30681
+ return min;
30682
+ }
30683
+
30684
+ /**
30685
+ * Computes an "ideal" category based on the absolute bar thickness or, if undefined or null,
30686
+ * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This
30687
+ * mode currently always generates bars equally sized (until we introduce scriptable options?).
30688
+ * @private
30689
+ */
30690
+ function computeFitCategoryTraits(index, ruler, options) {
30691
+ var thickness = options.barThickness;
30692
+ var count = ruler.stackCount;
30693
+ var curr = ruler.pixels[index];
30694
+ var min = helpers$1.isNullOrUndef(thickness)
30695
+ ? computeMinSampleSize(ruler.scale, ruler.pixels)
30696
+ : -1;
30697
+ var size, ratio;
30698
+
30699
+ if (helpers$1.isNullOrUndef(thickness)) {
30700
+ size = min * options.categoryPercentage;
30701
+ ratio = options.barPercentage;
30702
+ } else {
30703
+ // When bar thickness is enforced, category and bar percentages are ignored.
30704
+ // Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')
30705
+ // and deprecate barPercentage since this value is ignored when thickness is absolute.
30706
+ size = thickness * count;
30707
+ ratio = 1;
30708
+ }
30709
+
30710
+ return {
30711
+ chunk: size / count,
30712
+ ratio: ratio,
30713
+ start: curr - (size / 2)
30714
+ };
30715
+ }
30716
+
30717
+ /**
30718
+ * Computes an "optimal" category that globally arranges bars side by side (no gap when
30719
+ * percentage options are 1), based on the previous and following categories. This mode
30720
+ * generates bars with different widths when data are not evenly spaced.
30721
+ * @private
30722
+ */
30723
+ function computeFlexCategoryTraits(index, ruler, options) {
30724
+ var pixels = ruler.pixels;
30725
+ var curr = pixels[index];
30726
+ var prev = index > 0 ? pixels[index - 1] : null;
30727
+ var next = index < pixels.length - 1 ? pixels[index + 1] : null;
30728
+ var percent = options.categoryPercentage;
30729
+ var start, size;
30730
+
30731
+ if (prev === null) {
30732
+ // first data: its size is double based on the next point or,
30733
+ // if it's also the last data, we use the scale size.
30734
+ prev = curr - (next === null ? ruler.end - ruler.start : next - curr);
30735
+ }
30736
+
30737
+ if (next === null) {
30738
+ // last data: its size is also double based on the previous point.
30739
+ next = curr + curr - prev;
30740
+ }
30741
+
30742
+ start = curr - (curr - Math.min(prev, next)) / 2 * percent;
30743
+ size = Math.abs(next - prev) / 2 * percent;
30744
+
30745
+ return {
30746
+ chunk: size / ruler.stackCount,
30747
+ ratio: options.barPercentage,
30748
+ start: start
30749
+ };
30750
+ }
30751
+
30752
+ var controller_bar = core_datasetController.extend({
30753
+
30754
+ dataElementType: elements.Rectangle,
30755
+
30756
+ /**
30757
+ * @private
30758
+ */
30759
+ _dataElementOptions: [
30760
+ 'backgroundColor',
30761
+ 'borderColor',
30762
+ 'borderSkipped',
30763
+ 'borderWidth',
30764
+ 'barPercentage',
30765
+ 'barThickness',
30766
+ 'categoryPercentage',
30767
+ 'maxBarThickness',
30768
+ 'minBarLength'
30769
+ ],
30770
+
30771
+ initialize: function() {
30772
+ var me = this;
30773
+ var meta, scaleOpts;
30774
+
30775
+ core_datasetController.prototype.initialize.apply(me, arguments);
30776
+
30777
+ meta = me.getMeta();
30778
+ meta.stack = me.getDataset().stack;
30779
+ meta.bar = true;
30780
+
30781
+ scaleOpts = me._getIndexScale().options;
30782
+ deprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');
30783
+ deprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');
30784
+ deprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');
30785
+ deprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');
30786
+ deprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');
30787
+ },
30788
+
30789
+ update: function(reset) {
30790
+ var me = this;
30791
+ var rects = me.getMeta().data;
30792
+ var i, ilen;
30793
+
30794
+ me._ruler = me.getRuler();
30795
+
30796
+ for (i = 0, ilen = rects.length; i < ilen; ++i) {
30797
+ me.updateElement(rects[i], i, reset);
30798
+ }
30799
+ },
30800
+
30801
+ updateElement: function(rectangle, index, reset) {
30802
+ var me = this;
30803
+ var meta = me.getMeta();
30804
+ var dataset = me.getDataset();
30805
+ var options = me._resolveDataElementOptions(rectangle, index);
30806
+
30807
+ rectangle._xScale = me.getScaleForId(meta.xAxisID);
30808
+ rectangle._yScale = me.getScaleForId(meta.yAxisID);
30809
+ rectangle._datasetIndex = me.index;
30810
+ rectangle._index = index;
30811
+ rectangle._model = {
30812
+ backgroundColor: options.backgroundColor,
30813
+ borderColor: options.borderColor,
30814
+ borderSkipped: options.borderSkipped,
30815
+ borderWidth: options.borderWidth,
30816
+ datasetLabel: dataset.label,
30817
+ label: me.chart.data.labels[index]
30818
+ };
30819
+
30820
+ if (helpers$1.isArray(dataset.data[index])) {
30821
+ rectangle._model.borderSkipped = null;
30822
+ }
30823
+
30824
+ me._updateElementGeometry(rectangle, index, reset, options);
30825
+
30826
+ rectangle.pivot();
30827
+ },
30828
+
30829
+ /**
30830
+ * @private
30831
+ */
30832
+ _updateElementGeometry: function(rectangle, index, reset, options) {
30833
+ var me = this;
30834
+ var model = rectangle._model;
30835
+ var vscale = me._getValueScale();
30836
+ var base = vscale.getBasePixel();
30837
+ var horizontal = vscale.isHorizontal();
30838
+ var ruler = me._ruler || me.getRuler();
30839
+ var vpixels = me.calculateBarValuePixels(me.index, index, options);
30840
+ var ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);
30841
+
30842
+ model.horizontal = horizontal;
30843
+ model.base = reset ? base : vpixels.base;
30844
+ model.x = horizontal ? reset ? base : vpixels.head : ipixels.center;
30845
+ model.y = horizontal ? ipixels.center : reset ? base : vpixels.head;
30846
+ model.height = horizontal ? ipixels.size : undefined;
30847
+ model.width = horizontal ? undefined : ipixels.size;
30848
+ },
30849
+
30850
+ /**
30851
+ * Returns the stacks based on groups and bar visibility.
30852
+ * @param {number} [last] - The dataset index
30853
+ * @returns {string[]} The list of stack IDs
30854
+ * @private
30855
+ */
30856
+ _getStacks: function(last) {
30857
+ var me = this;
30858
+ var scale = me._getIndexScale();
30859
+ var metasets = scale._getMatchingVisibleMetas(me._type);
30860
+ var stacked = scale.options.stacked;
30861
+ var ilen = metasets.length;
30862
+ var stacks = [];
30863
+ var i, meta;
30864
+
30865
+ for (i = 0; i < ilen; ++i) {
30866
+ meta = metasets[i];
30867
+ // stacked | meta.stack
30868
+ // | found | not found | undefined
30869
+ // false | x | x | x
30870
+ // true | | x |
30871
+ // undefined | | x | x
30872
+ if (stacked === false || stacks.indexOf(meta.stack) === -1 ||
30873
+ (stacked === undefined && meta.stack === undefined)) {
30874
+ stacks.push(meta.stack);
30875
+ }
30876
+ if (meta.index === last) {
30877
+ break;
30878
+ }
30879
+ }
30880
+
30881
+ return stacks;
30882
+ },
30883
+
30884
+ /**
30885
+ * Returns the effective number of stacks based on groups and bar visibility.
30886
+ * @private
30887
+ */
30888
+ getStackCount: function() {
30889
+ return this._getStacks().length;
30890
+ },
30891
+
30892
+ /**
30893
+ * Returns the stack index for the given dataset based on groups and bar visibility.
30894
+ * @param {number} [datasetIndex] - The dataset index
30895
+ * @param {string} [name] - The stack name to find
30896
+ * @returns {number} The stack index
30897
+ * @private
30898
+ */
30899
+ getStackIndex: function(datasetIndex, name) {
30900
+ var stacks = this._getStacks(datasetIndex);
30901
+ var index = (name !== undefined)
30902
+ ? stacks.indexOf(name)
30903
+ : -1; // indexOf returns -1 if element is not present
30904
+
30905
+ return (index === -1)
30906
+ ? stacks.length - 1
30907
+ : index;
30908
+ },
30909
+
30910
+ /**
30911
+ * @private
30912
+ */
30913
+ getRuler: function() {
30914
+ var me = this;
30915
+ var scale = me._getIndexScale();
30916
+ var pixels = [];
30917
+ var i, ilen;
30918
+
30919
+ for (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {
30920
+ pixels.push(scale.getPixelForValue(null, i, me.index));
30921
+ }
30922
+
30923
+ return {
30924
+ pixels: pixels,
30925
+ start: scale._startPixel,
30926
+ end: scale._endPixel,
30927
+ stackCount: me.getStackCount(),
30928
+ scale: scale
30929
+ };
30930
+ },
30931
+
30932
+ /**
30933
+ * Note: pixel values are not clamped to the scale area.
30934
+ * @private
30935
+ */
30936
+ calculateBarValuePixels: function(datasetIndex, index, options) {
30937
+ var me = this;
30938
+ var chart = me.chart;
30939
+ var scale = me._getValueScale();
30940
+ var isHorizontal = scale.isHorizontal();
30941
+ var datasets = chart.data.datasets;
30942
+ var metasets = scale._getMatchingVisibleMetas(me._type);
30943
+ var value = scale._parseValue(datasets[datasetIndex].data[index]);
30944
+ var minBarLength = options.minBarLength;
30945
+ var stacked = scale.options.stacked;
30946
+ var stack = me.getMeta().stack;
30947
+ var start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;
30948
+ var length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;
30949
+ var ilen = metasets.length;
30950
+ var i, imeta, ivalue, base, head, size, stackLength;
30951
+
30952
+ if (stacked || (stacked === undefined && stack !== undefined)) {
30953
+ for (i = 0; i < ilen; ++i) {
30954
+ imeta = metasets[i];
30955
+
30956
+ if (imeta.index === datasetIndex) {
30957
+ break;
30958
+ }
30959
+
30960
+ if (imeta.stack === stack) {
30961
+ stackLength = scale._parseValue(datasets[imeta.index].data[index]);
30962
+ ivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;
30963
+
30964
+ if ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {
30965
+ start += ivalue;
30966
+ }
30967
+ }
30968
+ }
30969
+ }
30970
+
30971
+ base = scale.getPixelForValue(start);
30972
+ head = scale.getPixelForValue(start + length);
30973
+ size = head - base;
30974
+
30975
+ if (minBarLength !== undefined && Math.abs(size) < minBarLength) {
30976
+ size = minBarLength;
30977
+ if (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {
30978
+ head = base - minBarLength;
30979
+ } else {
30980
+ head = base + minBarLength;
30981
+ }
30982
+ }
30983
+
30984
+ return {
30985
+ size: size,
30986
+ base: base,
30987
+ head: head,
30988
+ center: head + size / 2
30989
+ };
30990
+ },
30991
+
30992
+ /**
30993
+ * @private
30994
+ */
30995
+ calculateBarIndexPixels: function(datasetIndex, index, ruler, options) {
30996
+ var me = this;
30997
+ var range = options.barThickness === 'flex'
30998
+ ? computeFlexCategoryTraits(index, ruler, options)
30999
+ : computeFitCategoryTraits(index, ruler, options);
31000
+
31001
+ var stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);
31002
+ var center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);
31003
+ var size = Math.min(
31004
+ valueOrDefault$3(options.maxBarThickness, Infinity),
31005
+ range.chunk * range.ratio);
31006
+
31007
+ return {
31008
+ base: center - size / 2,
31009
+ head: center + size / 2,
31010
+ center: center,
31011
+ size: size
31012
+ };
31013
+ },
31014
+
31015
+ draw: function() {
31016
+ var me = this;
31017
+ var chart = me.chart;
31018
+ var scale = me._getValueScale();
31019
+ var rects = me.getMeta().data;
31020
+ var dataset = me.getDataset();
31021
+ var ilen = rects.length;
31022
+ var i = 0;
31023
+
31024
+ helpers$1.canvas.clipArea(chart.ctx, chart.chartArea);
31025
+
31026
+ for (; i < ilen; ++i) {
31027
+ var val = scale._parseValue(dataset.data[i]);
31028
+ if (!isNaN(val.min) && !isNaN(val.max)) {
31029
+ rects[i].draw();
31030
+ }
31031
+ }
31032
+
31033
+ helpers$1.canvas.unclipArea(chart.ctx);
31034
+ },
31035
+
31036
+ /**
31037
+ * @private
31038
+ */
31039
+ _resolveDataElementOptions: function() {
31040
+ var me = this;
31041
+ var values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));
31042
+ var indexOpts = me._getIndexScale().options;
31043
+ var valueOpts = me._getValueScale().options;
31044
+
31045
+ values.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);
31046
+ values.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);
31047
+ values.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);
31048
+ values.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);
31049
+ values.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);
31050
+
31051
+ return values;
31052
+ }
31053
+
31054
+ });
31055
+
31056
+ var valueOrDefault$4 = helpers$1.valueOrDefault;
31057
+ var resolve$1 = helpers$1.options.resolve;
31058
+
31059
+ core_defaults._set('bubble', {
31060
+ hover: {
31061
+ mode: 'single'
31062
+ },
31063
+
31064
+ scales: {
31065
+ xAxes: [{
31066
+ type: 'linear', // bubble should probably use a linear scale by default
31067
+ position: 'bottom',
31068
+ id: 'x-axis-0' // need an ID so datasets can reference the scale
31069
+ }],
31070
+ yAxes: [{
31071
+ type: 'linear',
31072
+ position: 'left',
31073
+ id: 'y-axis-0'
31074
+ }]
31075
+ },
31076
+
31077
+ tooltips: {
31078
+ callbacks: {
31079
+ title: function() {
31080
+ // Title doesn't make sense for scatter since we format the data as a point
31081
+ return '';
31082
+ },
31083
+ label: function(item, data) {
31084
+ var datasetLabel = data.datasets[item.datasetIndex].label || '';
31085
+ var dataPoint = data.datasets[item.datasetIndex].data[item.index];
31086
+ return datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';
31087
+ }
31088
+ }
31089
+ }
31090
+ });
31091
+
31092
+ var controller_bubble = core_datasetController.extend({
31093
+ /**
31094
+ * @protected
31095
+ */
31096
+ dataElementType: elements.Point,
31097
+
31098
+ /**
31099
+ * @private
31100
+ */
31101
+ _dataElementOptions: [
31102
+ 'backgroundColor',
31103
+ 'borderColor',
31104
+ 'borderWidth',
31105
+ 'hoverBackgroundColor',
31106
+ 'hoverBorderColor',
31107
+ 'hoverBorderWidth',
31108
+ 'hoverRadius',
31109
+ 'hitRadius',
31110
+ 'pointStyle',
31111
+ 'rotation'
31112
+ ],
31113
+
31114
+ /**
31115
+ * @protected
31116
+ */
31117
+ update: function(reset) {
31118
+ var me = this;
31119
+ var meta = me.getMeta();
31120
+ var points = meta.data;
31121
+
31122
+ // Update Points
31123
+ helpers$1.each(points, function(point, index) {
31124
+ me.updateElement(point, index, reset);
31125
+ });
31126
+ },
31127
+
31128
+ /**
31129
+ * @protected
31130
+ */
31131
+ updateElement: function(point, index, reset) {
31132
+ var me = this;
31133
+ var meta = me.getMeta();
31134
+ var custom = point.custom || {};
31135
+ var xScale = me.getScaleForId(meta.xAxisID);
31136
+ var yScale = me.getScaleForId(meta.yAxisID);
31137
+ var options = me._resolveDataElementOptions(point, index);
31138
+ var data = me.getDataset().data[index];
31139
+ var dsIndex = me.index;
31140
+
31141
+ var x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);
31142
+ var y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);
31143
+
31144
+ point._xScale = xScale;
31145
+ point._yScale = yScale;
31146
+ point._options = options;
31147
+ point._datasetIndex = dsIndex;
31148
+ point._index = index;
31149
+ point._model = {
31150
+ backgroundColor: options.backgroundColor,
31151
+ borderColor: options.borderColor,
31152
+ borderWidth: options.borderWidth,
31153
+ hitRadius: options.hitRadius,
31154
+ pointStyle: options.pointStyle,
31155
+ rotation: options.rotation,
31156
+ radius: reset ? 0 : options.radius,
31157
+ skip: custom.skip || isNaN(x) || isNaN(y),
31158
+ x: x,
31159
+ y: y,
31160
+ };
31161
+
31162
+ point.pivot();
31163
+ },
31164
+
31165
+ /**
31166
+ * @protected
31167
+ */
31168
+ setHoverStyle: function(point) {
31169
+ var model = point._model;
31170
+ var options = point._options;
31171
+ var getHoverColor = helpers$1.getHoverColor;
31172
+
31173
+ point.$previousStyle = {
31174
+ backgroundColor: model.backgroundColor,
31175
+ borderColor: model.borderColor,
31176
+ borderWidth: model.borderWidth,
31177
+ radius: model.radius
31178
+ };
31179
+
31180
+ model.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));
31181
+ model.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));
31182
+ model.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);
31183
+ model.radius = options.radius + options.hoverRadius;
31184
+ },
31185
+
31186
+ /**
31187
+ * @private
31188
+ */
31189
+ _resolveDataElementOptions: function(point, index) {
31190
+ var me = this;
31191
+ var chart = me.chart;
31192
+ var dataset = me.getDataset();
31193
+ var custom = point.custom || {};
31194
+ var data = dataset.data[index] || {};
31195
+ var values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);
31196
+
31197
+ // Scriptable options
31198
+ var context = {
31199
+ chart: chart,
31200
+ dataIndex: index,
31201
+ dataset: dataset,
31202
+ datasetIndex: me.index
31203
+ };
31204
+
31205
+ // In case values were cached (and thus frozen), we need to clone the values
31206
+ if (me._cachedDataOpts === values) {
31207
+ values = helpers$1.extend({}, values);
31208
+ }
31209
+
31210
+ // Custom radius resolution
31211
+ values.radius = resolve$1([
31212
+ custom.radius,
31213
+ data.r,
31214
+ me._config.radius,
31215
+ chart.options.elements.point.radius
31216
+ ], context, index);
31217
+
31218
+ return values;
31219
+ }
31220
+ });
31221
+
31222
+ var valueOrDefault$5 = helpers$1.valueOrDefault;
31223
+
31224
+ var PI$1 = Math.PI;
31225
+ var DOUBLE_PI$1 = PI$1 * 2;
31226
+ var HALF_PI$1 = PI$1 / 2;
31227
+
31228
+ core_defaults._set('doughnut', {
31229
+ animation: {
31230
+ // Boolean - Whether we animate the rotation of the Doughnut
31231
+ animateRotate: true,
31232
+ // Boolean - Whether we animate scaling the Doughnut from the centre
31233
+ animateScale: false
31234
+ },
31235
+ hover: {
31236
+ mode: 'single'
31237
+ },
31238
+ legendCallback: function(chart) {
31239
+ var list = document.createElement('ul');
31240
+ var data = chart.data;
31241
+ var datasets = data.datasets;
31242
+ var labels = data.labels;
31243
+ var i, ilen, listItem, listItemSpan;
31244
+
31245
+ list.setAttribute('class', chart.id + '-legend');
31246
+ if (datasets.length) {
31247
+ for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {
31248
+ listItem = list.appendChild(document.createElement('li'));
31249
+ listItemSpan = listItem.appendChild(document.createElement('span'));
31250
+ listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];
31251
+ if (labels[i]) {
31252
+ listItem.appendChild(document.createTextNode(labels[i]));
31253
+ }
31254
+ }
31255
+ }
31256
+
31257
+ return list.outerHTML;
31258
+ },
31259
+ legend: {
31260
+ labels: {
31261
+ generateLabels: function(chart) {
31262
+ var data = chart.data;
31263
+ if (data.labels.length && data.datasets.length) {
31264
+ return data.labels.map(function(label, i) {
31265
+ var meta = chart.getDatasetMeta(0);
31266
+ var style = meta.controller.getStyle(i);
31267
+
31268
+ return {
31269
+ text: label,
31270
+ fillStyle: style.backgroundColor,
31271
+ strokeStyle: style.borderColor,
31272
+ lineWidth: style.borderWidth,
31273
+ hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,
31274
+
31275
+ // Extra data used for toggling the correct item
31276
+ index: i
31277
+ };
31278
+ });
31279
+ }
31280
+ return [];
31281
+ }
31282
+ },
31283
+
31284
+ onClick: function(e, legendItem) {
31285
+ var index = legendItem.index;
31286
+ var chart = this.chart;
31287
+ var i, ilen, meta;
31288
+
31289
+ for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {
31290
+ meta = chart.getDatasetMeta(i);
31291
+ // toggle visibility of index if exists
31292
+ if (meta.data[index]) {
31293
+ meta.data[index].hidden = !meta.data[index].hidden;
31294
+ }
31295
+ }
31296
+
31297
+ chart.update();
31298
+ }
31299
+ },
31300
+
31301
+ // The percentage of the chart that we cut out of the middle.
31302
+ cutoutPercentage: 50,
31303
+
31304
+ // The rotation of the chart, where the first data arc begins.
31305
+ rotation: -HALF_PI$1,
31306
+
31307
+ // The total circumference of the chart.
31308
+ circumference: DOUBLE_PI$1,
31309
+
31310
+ // Need to override these to give a nice default
31311
+ tooltips: {
31312
+ callbacks: {
31313
+ title: function() {
31314
+ return '';
31315
+ },
31316
+ label: function(tooltipItem, data) {
31317
+ var dataLabel = data.labels[tooltipItem.index];
31318
+ var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
31319
+
31320
+ if (helpers$1.isArray(dataLabel)) {
31321
+ // show value on first line of multiline label
31322
+ // need to clone because we are changing the value
31323
+ dataLabel = dataLabel.slice();
31324
+ dataLabel[0] += value;
31325
+ } else {
31326
+ dataLabel += value;
31327
+ }
31328
+
31329
+ return dataLabel;
31330
+ }
31331
+ }
31332
+ }
31333
+ });
31334
+
31335
+ var controller_doughnut = core_datasetController.extend({
31336
+
31337
+ dataElementType: elements.Arc,
31338
+
31339
+ linkScales: helpers$1.noop,
31340
+
31341
+ /**
31342
+ * @private
31343
+ */
31344
+ _dataElementOptions: [
31345
+ 'backgroundColor',
31346
+ 'borderColor',
31347
+ 'borderWidth',
31348
+ 'borderAlign',
31349
+ 'hoverBackgroundColor',
31350
+ 'hoverBorderColor',
31351
+ 'hoverBorderWidth',
31352
+ ],
31353
+
31354
+ // Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly
31355
+ getRingIndex: function(datasetIndex) {
31356
+ var ringIndex = 0;
31357
+
31358
+ for (var j = 0; j < datasetIndex; ++j) {
31359
+ if (this.chart.isDatasetVisible(j)) {
31360
+ ++ringIndex;
31361
+ }
31362
+ }
31363
+
31364
+ return ringIndex;
31365
+ },
31366
+
31367
+ update: function(reset) {
31368
+ var me = this;
31369
+ var chart = me.chart;
31370
+ var chartArea = chart.chartArea;
31371
+ var opts = chart.options;
31372
+ var ratioX = 1;
31373
+ var ratioY = 1;
31374
+ var offsetX = 0;
31375
+ var offsetY = 0;
31376
+ var meta = me.getMeta();
31377
+ var arcs = meta.data;
31378
+ var cutout = opts.cutoutPercentage / 100 || 0;
31379
+ var circumference = opts.circumference;
31380
+ var chartWeight = me._getRingWeight(me.index);
31381
+ var maxWidth, maxHeight, i, ilen;
31382
+
31383
+ // If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc
31384
+ if (circumference < DOUBLE_PI$1) {
31385
+ var startAngle = opts.rotation % DOUBLE_PI$1;
31386
+ startAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;
31387
+ var endAngle = startAngle + circumference;
31388
+ var startX = Math.cos(startAngle);
31389
+ var startY = Math.sin(startAngle);
31390
+ var endX = Math.cos(endAngle);
31391
+ var endY = Math.sin(endAngle);
31392
+ var contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;
31393
+ var contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;
31394
+ var contains180 = startAngle === -PI$1 || endAngle >= PI$1;
31395
+ var contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;
31396
+ var minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);
31397
+ var minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);
31398
+ var maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);
31399
+ var maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);
31400
+ ratioX = (maxX - minX) / 2;
31401
+ ratioY = (maxY - minY) / 2;
31402
+ offsetX = -(maxX + minX) / 2;
31403
+ offsetY = -(maxY + minY) / 2;
31404
+ }
31405
+
31406
+ for (i = 0, ilen = arcs.length; i < ilen; ++i) {
31407
+ arcs[i]._options = me._resolveDataElementOptions(arcs[i], i);
31408
+ }
31409
+
31410
+ chart.borderWidth = me.getMaxBorderWidth();
31411
+ maxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;
31412
+ maxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;
31413
+ chart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);
31414
+ chart.innerRadius = Math.max(chart.outerRadius * cutout, 0);
31415
+ chart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);
31416
+ chart.offsetX = offsetX * chart.outerRadius;
31417
+ chart.offsetY = offsetY * chart.outerRadius;
31418
+
31419
+ meta.total = me.calculateTotal();
31420
+
31421
+ me.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);
31422
+ me.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);
31423
+
31424
+ for (i = 0, ilen = arcs.length; i < ilen; ++i) {
31425
+ me.updateElement(arcs[i], i, reset);
31426
+ }
31427
+ },
31428
+
31429
+ updateElement: function(arc, index, reset) {
31430
+ var me = this;
31431
+ var chart = me.chart;
31432
+ var chartArea = chart.chartArea;
31433
+ var opts = chart.options;
31434
+ var animationOpts = opts.animation;
31435
+ var centerX = (chartArea.left + chartArea.right) / 2;
31436
+ var centerY = (chartArea.top + chartArea.bottom) / 2;
31437
+ var startAngle = opts.rotation; // non reset case handled later
31438
+ var endAngle = opts.rotation; // non reset case handled later
31439
+ var dataset = me.getDataset();
31440
+ var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);
31441
+ var innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;
31442
+ var outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;
31443
+ var options = arc._options || {};
31444
+
31445
+ helpers$1.extend(arc, {
31446
+ // Utility
31447
+ _datasetIndex: me.index,
31448
+ _index: index,
31449
+
31450
+ // Desired view properties
31451
+ _model: {
31452
+ backgroundColor: options.backgroundColor,
31453
+ borderColor: options.borderColor,
31454
+ borderWidth: options.borderWidth,
31455
+ borderAlign: options.borderAlign,
31456
+ x: centerX + chart.offsetX,
31457
+ y: centerY + chart.offsetY,
31458
+ startAngle: startAngle,
31459
+ endAngle: endAngle,
31460
+ circumference: circumference,
31461
+ outerRadius: outerRadius,
31462
+ innerRadius: innerRadius,
31463
+ label: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])
31464
+ }
31465
+ });
31466
+
31467
+ var model = arc._model;
31468
+
31469
+ // Set correct angles if not resetting
31470
+ if (!reset || !animationOpts.animateRotate) {
31471
+ if (index === 0) {
31472
+ model.startAngle = opts.rotation;
31473
+ } else {
31474
+ model.startAngle = me.getMeta().data[index - 1]._model.endAngle;
31475
+ }
31476
+
31477
+ model.endAngle = model.startAngle + model.circumference;
31478
+ }
31479
+
31480
+ arc.pivot();
31481
+ },
31482
+
31483
+ calculateTotal: function() {
31484
+ var dataset = this.getDataset();
31485
+ var meta = this.getMeta();
31486
+ var total = 0;
31487
+ var value;
31488
+
31489
+ helpers$1.each(meta.data, function(element, index) {
31490
+ value = dataset.data[index];
31491
+ if (!isNaN(value) && !element.hidden) {
31492
+ total += Math.abs(value);
31493
+ }
31494
+ });
31495
+
31496
+ /* if (total === 0) {
31497
+ total = NaN;
31498
+ }*/
31499
+
31500
+ return total;
31501
+ },
31502
+
31503
+ calculateCircumference: function(value) {
31504
+ var total = this.getMeta().total;
31505
+ if (total > 0 && !isNaN(value)) {
31506
+ return DOUBLE_PI$1 * (Math.abs(value) / total);
31507
+ }
31508
+ return 0;
31509
+ },
31510
+
31511
+ // gets the max border or hover width to properly scale pie charts
31512
+ getMaxBorderWidth: function(arcs) {
31513
+ var me = this;
31514
+ var max = 0;
31515
+ var chart = me.chart;
31516
+ var i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;
31517
+
31518
+ if (!arcs) {
31519
+ // Find the outmost visible dataset
31520
+ for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {
31521
+ if (chart.isDatasetVisible(i)) {
31522
+ meta = chart.getDatasetMeta(i);
31523
+ arcs = meta.data;
31524
+ if (i !== me.index) {
31525
+ controller = meta.controller;
31526
+ }
31527
+ break;
31528
+ }
31529
+ }
31530
+ }
31531
+
31532
+ if (!arcs) {
31533
+ return 0;
31534
+ }
31535
+
31536
+ for (i = 0, ilen = arcs.length; i < ilen; ++i) {
31537
+ arc = arcs[i];
31538
+ if (controller) {
31539
+ controller._configure();
31540
+ options = controller._resolveDataElementOptions(arc, i);
31541
+ } else {
31542
+ options = arc._options;
31543
+ }
31544
+ if (options.borderAlign !== 'inner') {
31545
+ borderWidth = options.borderWidth;
31546
+ hoverWidth = options.hoverBorderWidth;
31547
+
31548
+ max = borderWidth > max ? borderWidth : max;
31549
+ max = hoverWidth > max ? hoverWidth : max;
31550
+ }
31551
+ }
31552
+ return max;
31553
+ },
31554
+
31555
+ /**
31556
+ * @protected
31557
+ */
31558
+ setHoverStyle: function(arc) {
31559
+ var model = arc._model;
31560
+ var options = arc._options;
31561
+ var getHoverColor = helpers$1.getHoverColor;
31562
+
31563
+ arc.$previousStyle = {
31564
+ backgroundColor: model.backgroundColor,
31565
+ borderColor: model.borderColor,
31566
+ borderWidth: model.borderWidth,
31567
+ };
31568
+
31569
+ model.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));
31570
+ model.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));
31571
+ model.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);
31572
+ },
31573
+
31574
+ /**
31575
+ * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly
31576
+ * @private
31577
+ */
31578
+ _getRingWeightOffset: function(datasetIndex) {
31579
+ var ringWeightOffset = 0;
31580
+
31581
+ for (var i = 0; i < datasetIndex; ++i) {
31582
+ if (this.chart.isDatasetVisible(i)) {
31583
+ ringWeightOffset += this._getRingWeight(i);
31584
+ }
31585
+ }
31586
+
31587
+ return ringWeightOffset;
31588
+ },
31589
+
31590
+ /**
31591
+ * @private
31592
+ */
31593
+ _getRingWeight: function(dataSetIndex) {
31594
+ return Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);
31595
+ },
31596
+
31597
+ /**
31598
+ * Returns the sum of all visibile data set weights. This value can be 0.
31599
+ * @private
31600
+ */
31601
+ _getVisibleDatasetWeightTotal: function() {
31602
+ return this._getRingWeightOffset(this.chart.data.datasets.length);
31603
+ }
31604
+ });
31605
+
31606
+ core_defaults._set('horizontalBar', {
31607
+ hover: {
31608
+ mode: 'index',
31609
+ axis: 'y'
31610
+ },
31611
+
31612
+ scales: {
31613
+ xAxes: [{
31614
+ type: 'linear',
31615
+ position: 'bottom'
31616
+ }],
31617
+
31618
+ yAxes: [{
31619
+ type: 'category',
31620
+ position: 'left',
31621
+ offset: true,
31622
+ gridLines: {
31623
+ offsetGridLines: true
31624
+ }
31625
+ }]
31626
+ },
31627
+
31628
+ elements: {
31629
+ rectangle: {
31630
+ borderSkipped: 'left'
31631
+ }
31632
+ },
31633
+
31634
+ tooltips: {
31635
+ mode: 'index',
31636
+ axis: 'y'
31637
+ }
31638
+ });
31639
+
31640
+ core_defaults._set('global', {
31641
+ datasets: {
31642
+ horizontalBar: {
31643
+ categoryPercentage: 0.8,
31644
+ barPercentage: 0.9
31645
+ }
31646
+ }
31647
+ });
31648
+
31649
+ var controller_horizontalBar = controller_bar.extend({
31650
+ /**
31651
+ * @private
31652
+ */
31653
+ _getValueScaleId: function() {
31654
+ return this.getMeta().xAxisID;
31655
+ },
31656
+
31657
+ /**
31658
+ * @private
31659
+ */
31660
+ _getIndexScaleId: function() {
31661
+ return this.getMeta().yAxisID;
31662
+ }
31663
+ });
31664
+
31665
+ var valueOrDefault$6 = helpers$1.valueOrDefault;
31666
+ var resolve$2 = helpers$1.options.resolve;
31667
+ var isPointInArea = helpers$1.canvas._isPointInArea;
31668
+
31669
+ core_defaults._set('line', {
31670
+ showLines: true,
31671
+ spanGaps: false,
31672
+
31673
+ hover: {
31674
+ mode: 'label'
31675
+ },
31676
+
31677
+ scales: {
31678
+ xAxes: [{
31679
+ type: 'category',
31680
+ id: 'x-axis-0'
31681
+ }],
31682
+ yAxes: [{
31683
+ type: 'linear',
31684
+ id: 'y-axis-0'
31685
+ }]
31686
+ }
31687
+ });
31688
+
31689
+ function scaleClip(scale, halfBorderWidth) {
31690
+ var tickOpts = scale && scale.options.ticks || {};
31691
+ var reverse = tickOpts.reverse;
31692
+ var min = tickOpts.min === undefined ? halfBorderWidth : 0;
31693
+ var max = tickOpts.max === undefined ? halfBorderWidth : 0;
31694
+ return {
31695
+ start: reverse ? max : min,
31696
+ end: reverse ? min : max
31697
+ };
31698
+ }
31699
+
31700
+ function defaultClip(xScale, yScale, borderWidth) {
31701
+ var halfBorderWidth = borderWidth / 2;
31702
+ var x = scaleClip(xScale, halfBorderWidth);
31703
+ var y = scaleClip(yScale, halfBorderWidth);
31704
+
31705
+ return {
31706
+ top: y.end,
31707
+ right: x.end,
31708
+ bottom: y.start,
31709
+ left: x.start
31710
+ };
31711
+ }
31712
+
31713
+ function toClip(value) {
31714
+ var t, r, b, l;
31715
+
31716
+ if (helpers$1.isObject(value)) {
31717
+ t = value.top;
31718
+ r = value.right;
31719
+ b = value.bottom;
31720
+ l = value.left;
31721
+ } else {
31722
+ t = r = b = l = value;
31723
+ }
31724
+
31725
+ return {
31726
+ top: t,
31727
+ right: r,
31728
+ bottom: b,
31729
+ left: l
31730
+ };
31731
+ }
31732
+
31733
+
31734
+ var controller_line = core_datasetController.extend({
31735
+
31736
+ datasetElementType: elements.Line,
31737
+
31738
+ dataElementType: elements.Point,
31739
+
31740
+ /**
31741
+ * @private
31742
+ */
31743
+ _datasetElementOptions: [
31744
+ 'backgroundColor',
31745
+ 'borderCapStyle',
31746
+ 'borderColor',
31747
+ 'borderDash',
31748
+ 'borderDashOffset',
31749
+ 'borderJoinStyle',
31750
+ 'borderWidth',
31751
+ 'cubicInterpolationMode',
31752
+ 'fill'
31753
+ ],
31754
+
31755
+ /**
31756
+ * @private
31757
+ */
31758
+ _dataElementOptions: {
31759
+ backgroundColor: 'pointBackgroundColor',
31760
+ borderColor: 'pointBorderColor',
31761
+ borderWidth: 'pointBorderWidth',
31762
+ hitRadius: 'pointHitRadius',
31763
+ hoverBackgroundColor: 'pointHoverBackgroundColor',
31764
+ hoverBorderColor: 'pointHoverBorderColor',
31765
+ hoverBorderWidth: 'pointHoverBorderWidth',
31766
+ hoverRadius: 'pointHoverRadius',
31767
+ pointStyle: 'pointStyle',
31768
+ radius: 'pointRadius',
31769
+ rotation: 'pointRotation'
31770
+ },
31771
+
31772
+ update: function(reset) {
31773
+ var me = this;
31774
+ var meta = me.getMeta();
31775
+ var line = meta.dataset;
31776
+ var points = meta.data || [];
31777
+ var options = me.chart.options;
31778
+ var config = me._config;
31779
+ var showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);
31780
+ var i, ilen;
31781
+
31782
+ me._xScale = me.getScaleForId(meta.xAxisID);
31783
+ me._yScale = me.getScaleForId(meta.yAxisID);
31784
+
31785
+ // Update Line
31786
+ if (showLine) {
31787
+ // Compatibility: If the properties are defined with only the old name, use those values
31788
+ if (config.tension !== undefined && config.lineTension === undefined) {
31789
+ config.lineTension = config.tension;
31790
+ }
31791
+
31792
+ // Utility
31793
+ line._scale = me._yScale;
31794
+ line._datasetIndex = me.index;
31795
+ // Data
31796
+ line._children = points;
31797
+ // Model
31798
+ line._model = me._resolveDatasetElementOptions(line);
31799
+
31800
+ line.pivot();
31801
+ }
31802
+
31803
+ // Update Points
31804
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
31805
+ me.updateElement(points[i], i, reset);
31806
+ }
31807
+
31808
+ if (showLine && line._model.tension !== 0) {
31809
+ me.updateBezierControlPoints();
31810
+ }
31811
+
31812
+ // Now pivot the point for animation
31813
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
31814
+ points[i].pivot();
31815
+ }
31816
+ },
31817
+
31818
+ updateElement: function(point, index, reset) {
31819
+ var me = this;
31820
+ var meta = me.getMeta();
31821
+ var custom = point.custom || {};
31822
+ var dataset = me.getDataset();
31823
+ var datasetIndex = me.index;
31824
+ var value = dataset.data[index];
31825
+ var xScale = me._xScale;
31826
+ var yScale = me._yScale;
31827
+ var lineModel = meta.dataset._model;
31828
+ var x, y;
31829
+
31830
+ var options = me._resolveDataElementOptions(point, index);
31831
+
31832
+ x = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);
31833
+ y = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);
31834
+
31835
+ // Utility
31836
+ point._xScale = xScale;
31837
+ point._yScale = yScale;
31838
+ point._options = options;
31839
+ point._datasetIndex = datasetIndex;
31840
+ point._index = index;
31841
+
31842
+ // Desired view properties
31843
+ point._model = {
31844
+ x: x,
31845
+ y: y,
31846
+ skip: custom.skip || isNaN(x) || isNaN(y),
31847
+ // Appearance
31848
+ radius: options.radius,
31849
+ pointStyle: options.pointStyle,
31850
+ rotation: options.rotation,
31851
+ backgroundColor: options.backgroundColor,
31852
+ borderColor: options.borderColor,
31853
+ borderWidth: options.borderWidth,
31854
+ tension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),
31855
+ steppedLine: lineModel ? lineModel.steppedLine : false,
31856
+ // Tooltip
31857
+ hitRadius: options.hitRadius
31858
+ };
31859
+ },
31860
+
31861
+ /**
31862
+ * @private
31863
+ */
31864
+ _resolveDatasetElementOptions: function(element) {
31865
+ var me = this;
31866
+ var config = me._config;
31867
+ var custom = element.custom || {};
31868
+ var options = me.chart.options;
31869
+ var lineOptions = options.elements.line;
31870
+ var values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);
31871
+
31872
+ // The default behavior of lines is to break at null values, according
31873
+ // to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158
31874
+ // This option gives lines the ability to span gaps
31875
+ values.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);
31876
+ values.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);
31877
+ values.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);
31878
+ values.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));
31879
+
31880
+ return values;
31881
+ },
31882
+
31883
+ calculatePointY: function(value, index, datasetIndex) {
31884
+ var me = this;
31885
+ var chart = me.chart;
31886
+ var yScale = me._yScale;
31887
+ var sumPos = 0;
31888
+ var sumNeg = 0;
31889
+ var i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;
31890
+
31891
+ if (yScale.options.stacked) {
31892
+ rightValue = +yScale.getRightValue(value);
31893
+ metasets = chart._getSortedVisibleDatasetMetas();
31894
+ ilen = metasets.length;
31895
+
31896
+ for (i = 0; i < ilen; ++i) {
31897
+ dsMeta = metasets[i];
31898
+ if (dsMeta.index === datasetIndex) {
31899
+ break;
31900
+ }
31901
+
31902
+ ds = chart.data.datasets[dsMeta.index];
31903
+ if (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {
31904
+ stackedRightValue = +yScale.getRightValue(ds.data[index]);
31905
+ if (stackedRightValue < 0) {
31906
+ sumNeg += stackedRightValue || 0;
31907
+ } else {
31908
+ sumPos += stackedRightValue || 0;
31909
+ }
31910
+ }
31911
+ }
31912
+
31913
+ if (rightValue < 0) {
31914
+ return yScale.getPixelForValue(sumNeg + rightValue);
31915
+ }
31916
+ return yScale.getPixelForValue(sumPos + rightValue);
31917
+ }
31918
+ return yScale.getPixelForValue(value);
31919
+ },
31920
+
31921
+ updateBezierControlPoints: function() {
31922
+ var me = this;
31923
+ var chart = me.chart;
31924
+ var meta = me.getMeta();
31925
+ var lineModel = meta.dataset._model;
31926
+ var area = chart.chartArea;
31927
+ var points = meta.data || [];
31928
+ var i, ilen, model, controlPoints;
31929
+
31930
+ // Only consider points that are drawn in case the spanGaps option is used
31931
+ if (lineModel.spanGaps) {
31932
+ points = points.filter(function(pt) {
31933
+ return !pt._model.skip;
31934
+ });
31935
+ }
31936
+
31937
+ function capControlPoint(pt, min, max) {
31938
+ return Math.max(Math.min(pt, max), min);
31939
+ }
31940
+
31941
+ if (lineModel.cubicInterpolationMode === 'monotone') {
31942
+ helpers$1.splineCurveMonotone(points);
31943
+ } else {
31944
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
31945
+ model = points[i]._model;
31946
+ controlPoints = helpers$1.splineCurve(
31947
+ helpers$1.previousItem(points, i)._model,
31948
+ model,
31949
+ helpers$1.nextItem(points, i)._model,
31950
+ lineModel.tension
31951
+ );
31952
+ model.controlPointPreviousX = controlPoints.previous.x;
31953
+ model.controlPointPreviousY = controlPoints.previous.y;
31954
+ model.controlPointNextX = controlPoints.next.x;
31955
+ model.controlPointNextY = controlPoints.next.y;
31956
+ }
31957
+ }
31958
+
31959
+ if (chart.options.elements.line.capBezierPoints) {
31960
+ for (i = 0, ilen = points.length; i < ilen; ++i) {
31961
+ model = points[i]._model;
31962
+ if (isPointInArea(model, area)) {
31963
+ if (i > 0 && isPointInArea(points[i - 1]._model, area)) {
31964
+ model.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);
31965
+ model.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);
31966
+ }
31967
+ if (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {
31968
+ model.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);
31969
+ model.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);
31970
+ }
31971
+ }
31972
+ }
31973
+ }
31974
+ },
31975
+
31976
+ draw: function() {
31977
+ var me = this;
31978
+ var chart = me.chart;
31979
+ var meta = me.getMeta();
31980
+ var points = meta.data || [];
31981
+ var area = chart.chartArea;
31982
+ var canvas = chart.canvas;
31983
+ var i = 0;
31984
+ var ilen = points.length;
31985
+ var clip;
31986
+
31987
+ if (me._showLine) {
31988
+ clip = meta.dataset._model.clip;
31989
+
31990
+ helpers$1.canvas.clipArea(chart.ctx, {
31991
+ left: clip.left === false ? 0 : area.left - clip.left,
31992
+ right: clip.right === false ? canvas.width : area.right + clip.right,
31993
+ top: clip.top === false ? 0 : area.top - clip.top,
31994
+ bottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom
31995
+ });
31996
+
31997
+ meta.dataset.draw();
31998
+
31999
+ helpers$1.canvas.unclipArea(chart.ctx);
32000
+ }
32001
+
32002
+ // Draw the points
32003
+ for (; i < ilen; ++i) {
32004
+ points[i].draw(area);
32005
+ }
32006
+ },
32007
+
32008
+ /**
32009
+ * @protected
32010
+ */
32011
+ setHoverStyle: function(point) {
32012
+ var model = point._model;
32013
+ var options = point._options;
32014
+ var getHoverColor = helpers$1.getHoverColor;
32015
+
32016
+ point.$previousStyle = {
32017
+ backgroundColor: model.backgroundColor,
32018
+ borderColor: model.borderColor,
32019
+ borderWidth: model.borderWidth,
32020
+ radius: model.radius
32021
+ };
32022
+
32023
+ model.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));
32024
+ model.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));
32025
+ model.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);
32026
+ model.radius = valueOrDefault$6(options.hoverRadius, options.radius);
32027
+ },
32028
+ });
32029
+
32030
+ var resolve$3 = helpers$1.options.resolve;
32031
+
32032
+ core_defaults._set('polarArea', {
32033
+ scale: {
32034
+ type: 'radialLinear',
32035
+ angleLines: {
32036
+ display: false
32037
+ },
32038
+ gridLines: {
32039
+ circular: true
32040
+ },
32041
+ pointLabels: {
32042
+ display: false
32043
+ },
32044
+ ticks: {
32045
+ beginAtZero: true
32046
+ }
32047
+ },
32048
+
32049
+ // Boolean - Whether to animate the rotation of the chart
32050
+ animation: {
32051
+ animateRotate: true,
32052
+ animateScale: true
32053
+ },
32054
+
32055
+ startAngle: -0.5 * Math.PI,
32056
+ legendCallback: function(chart) {
32057
+ var list = document.createElement('ul');
32058
+ var data = chart.data;
32059
+ var datasets = data.datasets;
32060
+ var labels = data.labels;
32061
+ var i, ilen, listItem, listItemSpan;
32062
+
32063
+ list.setAttribute('class', chart.id + '-legend');
32064
+ if (datasets.length) {
32065
+ for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {
32066
+ listItem = list.appendChild(document.createElement('li'));
32067
+ listItemSpan = listItem.appendChild(document.createElement('span'));
32068
+ listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];
32069
+ if (labels[i]) {
32070
+ listItem.appendChild(document.createTextNode(labels[i]));
32071
+ }
32072
+ }
32073
+ }
32074
+
32075
+ return list.outerHTML;
32076
+ },
32077
+ legend: {
32078
+ labels: {
32079
+ generateLabels: function(chart) {
32080
+ var data = chart.data;
32081
+ if (data.labels.length && data.datasets.length) {
32082
+ return data.labels.map(function(label, i) {
32083
+ var meta = chart.getDatasetMeta(0);
32084
+ var style = meta.controller.getStyle(i);
32085
+
32086
+ return {
32087
+ text: label,
32088
+ fillStyle: style.backgroundColor,
32089
+ strokeStyle: style.borderColor,
32090
+ lineWidth: style.borderWidth,
32091
+ hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,
32092
+
32093
+ // Extra data used for toggling the correct item
32094
+ index: i
32095
+ };
32096
+ });
32097
+ }
32098
+ return [];
32099
+ }
32100
+ },
32101
+
32102
+ onClick: function(e, legendItem) {
32103
+ var index = legendItem.index;
32104
+ var chart = this.chart;
32105
+ var i, ilen, meta;
32106
+
32107
+ for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {
32108
+ meta = chart.getDatasetMeta(i);
32109
+ meta.data[index].hidden = !meta.data[index].hidden;
32110
+ }
32111
+
32112
+ chart.update();
32113
+ }
32114
+ },
32115
+
32116
+ // Need to override these to give a nice default
32117
+ tooltips: {
32118
+ callbacks: {
32119
+ title: function() {
32120
+ return '';
32121
+ },
32122
+ label: function(item, data) {
32123
+ return data.labels[item.index] + ': ' + item.yLabel;
32124
+ }
32125
+ }
32126
+ }
32127
+ });
32128
+
32129
+ var controller_polarArea = core_datasetController.extend({
32130
+
32131
+ dataElementType: elements.Arc,
32132
+
32133
+ linkScales: helpers$1.noop,
32134
+
32135
+ /**
32136
+ * @private
32137
+ */
32138
+ _dataElementOptions: [
32139
+ 'backgroundColor',
32140
+ 'borderColor',
32141
+ 'borderWidth',
32142
+ 'borderAlign',
32143
+ 'hoverBackgroundColor',
32144
+ 'hoverBorderColor',
32145
+ 'hoverBorderWidth',
32146
+ ],
32147
+
32148
+ /**
32149
+ * @private
32150
+ */
32151
+ _getIndexScaleId: function() {
32152
+ return this.chart.scale.id;
32153
+ },
32154
+
32155
+ /**
32156
+ * @private
32157
+ */
32158
+ _getValueScaleId: function() {
32159
+ return this.chart.scale.id;
32160
+ },
32161
+
32162
+ update: function(reset) {
32163
+ var me = this;
32164
+ var dataset = me.getDataset();
32165
+ var meta = me.getMeta();
32166
+ var start = me.chart.options.startAngle || 0;
32167
+ var starts = me._starts = [];
32168
+ var angles = me._angles = [];
32169
+ var arcs = meta.data;
32170
+ var i, ilen, angle;
32171
+
32172
+ me._updateRadius();
32173
+
32174
+ meta.count = me.countVisibleElements();
32175
+
32176
+ for (i = 0, ilen = dataset.data.length; i < ilen; i++) {
32177
+ starts[i] = start;
32178
+ angle = me._computeAngle(i);
32179
+ angles[i] = angle;
32180
+ start += angle;
32181
+ }
32182
+
32183
+ for (i = 0, ilen = arcs.length; i < ilen; ++i) {
32184
+ arcs[i]._options = me._resolveDataElementOptions(arcs[i], i);
32185
+ me.updateElement(arcs[i], i, reset);
32186
+ }
32187
+ },
32188
+
32189
+ /**
32190
+ * @private
32191
+ */
32192
+ _updateRadius: function() {
32193
+ var me = this;
32194
+ var chart = me.chart;
32195
+ var chartArea = chart.chartArea;
32196
+ var opts = chart.options;
32197
+ var minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);
32198
+
32199
+ chart.outerRadius = Math.max(minSize / 2, 0);
32200
+ chart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);
32201
+ chart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();
32202
+
32203
+ me.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);
32204
+ me.innerRadius = me.outerRadius - chart.radiusLength;
32205
+ },
32206
+
32207
+ updateElement: function(arc, index, reset) {
32208
+ var me = this;
32209
+ var chart = me.chart;
32210
+ var dataset = me.getDataset();
32211
+ var opts = chart.options;
32212
+ var animationOpts = opts.animation;
32213
+ var scale = chart.scale;
32214
+ var labels = chart.data.labels;
32215
+
32216
+ var centerX = scale.xCenter;
32217
+ var centerY = scale.yCenter;
32218
+
32219
+ // var negHalfPI = -0.5 * Math.PI;
32220
+ var datasetStartAngle = opts.startAngle;
32221
+ var distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);
32222
+ var startAngle = me._starts[index];
32223
+ var endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);
32224
+
32225
+ var resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);
32226
+ var options = arc._options || {};
32227
+
32228
+ helpers$1.extend(arc, {
32229
+ // Utility
32230
+ _datasetIndex: me.index,
32231
+ _index: index,
32232
+ _scale: scale,
32233
+
32234
+ // Desired view properties
32235
+ _model: {
32236
+ backgroundCo