From 10b9d471cc9b967a532e4f5c0ce97c0cc55a36cf Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 23 Mar 2018 14:11:01 +0200 Subject: [PATCH 001/439] (RARBG - convert torrent timestamps to relative format) Added rarbgmirror and rarbgto to the @include rules --- ..._-_convert_torrent_timestamps_to_relative_format.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 083c5d1..cf70671 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -3,9 +3,9 @@ // @namespace darkred // @license MIT // @description Converts torrent upload timestamps to relative format -// @version 2017.12.14 -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess)\.(to|com|org|is)\/torrents.php.*/ -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess)\.(to|com|org|is)\/top10$/ +// @version 2018.3.23 +// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrents.php.*/ +// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/top10$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js From d815483259cb1485f41b0ddefd78e735472920e3 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 23 Mar 2018 14:11:58 +0200 Subject: [PATCH 002/439] (RARBG - torrent and magnet links) Added rarbgto to the @include rules --- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 2a2bbde..d2ea8d1 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -3,8 +3,8 @@ // @namespace darkred // @license MIT // @description Adds a column with torrent and magnet links in RARBG lists -// @version 2018.2.7 -// @include /^(https?:)?\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|top10)$/ +// @version 2018.3.23 +// @include /^(https?:)?\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // ==/UserScript== From 0e87041bfd5d12005f52fc22d4926624ba808276 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 3 Apr 2018 02:30:49 +0300 Subject: [PATCH 003/439] (Instagram - visible images counter) fix the selector specificity of the observer target --- .../Instagram_-_visible_images_counter.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index b097d7a..5779346 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page -// @version 2018.3.4.1 +// @version 2018.4.3 // @include https://www.instagram.com/* // @grant none // @require https://code.jquery.com/jquery-3.2.1.min.js @@ -80,8 +80,8 @@ function createObserver() { if (div.innerHTML.indexOf(total + ' / ' + total) === -1) { div.innerHTML = showCounter(); // On each infinite scrolling event, re-calculate counter } - // }).observe($('article').children().eq(1).children()[0], // target of the observer - }).observe(document.querySelector('._havey'), // target of the observer: the "pics" area element, with rows that contain 3 pics each (watching for 'row' element additions) + // }).observe(document.querySelector('._havey'), // target of the observer: the "pics" area element, with rows that contain 3 pics each (watching for 'row' element additions) + }).observe(document.querySelector('div[style="flex-direction: column; padding-bottom: 0px; padding-top: 0px;"]'), // target of the observer: the "pics" area element, with rows that contain 3 pics each (watching for 'row' element additions) { // attributes: true, childList: true, From ee9165831dc427a3a628dde62b5f28752af9c495 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 16 Apr 2018 19:04:08 +0300 Subject: [PATCH 004/439] (RARBG - convert torrent timestamps to relative format) - Display timestamps in tooltips in ISO 8601 format, combining date and time. Fixes #6 - Recalculate the relative times every 10 sec. --- ...rent_timestamps_to_relative_format.user.js | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index cf70671..c4252c0 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Converts torrent upload timestamps to relative format -// @version 2018.3.23 +// @version 2018.4.16 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrents.php.*/ // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/top10$/ // @grant none @@ -38,7 +38,7 @@ var serverTimezone = 'Europe/Berlin'; // GMT+1 function convertDates() { // var dates = document.querySelectorAll('tr.lista2 td:nth-child(3)'); - var dates = document.querySelectorAll('td[width="150px"]'); + var dates = document.querySelectorAll('td[width="150px"]'); for (var i = 0; i < dates.length; i++) { // if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss').isValid()) { @@ -46,10 +46,28 @@ function convertDates() { var temp2 = moment.tz(dates[i].innerText, serverTimezone).tz(localTimezone); dates[i].innerText = temp2.fromNow(); - var format = 'MM/DD/YYYY HH:mm:ss'; - dates[i].title = temp2.format(format); + + // var format = 'MM/DD/YYYY HH:mm:ss'; + + // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) + // dates[i].title = temp2.toISOString(); + dates[i].title = temp2.format(); + } } } convertDates(); + + + +// recalculate the relative times every 10 sec + +(function(){ + var dates = document.querySelectorAll('td[width="150px"]'); + for (var i = 0; i < dates.length; i++) { + dates[i].innerText = moment(dates[i].title).fromNow(); + } + + setTimeout(arguments.callee, 1 * 60 * 1000); +})(); \ No newline at end of file From 0349311bb50f9c6d16c04a51ec6edc0bc041d034 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 16 Apr 2018 20:50:57 +0300 Subject: [PATCH 005/439] (RARBG - convert torrent timestamps to relative format) Fixes #6 --- ..._-_convert_torrent_timestamps_to_relative_format.user.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index c4252c0..a0669aa 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Converts torrent upload timestamps to relative format -// @version 2018.4.16 +// @version 2018.4.16.1 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrents.php.*/ // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/top10$/ // @grant none @@ -48,10 +48,12 @@ function convertDates() { // var format = 'MM/DD/YYYY HH:mm:ss'; + var format = 'YYYY-MM-DD HH:mm:ss'; + dates[i].title = temp2.format(format); // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) // dates[i].title = temp2.toISOString(); - dates[i].title = temp2.format(); + // dates[i].title = temp2.format(); } } From cdd230970d64e5698e904f30e6a6ba44c5cf7645 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 17 Apr 2018 00:51:16 +0300 Subject: [PATCH 006/439] Issue template --- .github/ISSUE_TEMPLATE.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..37b76cc --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,11 @@ + \ No newline at end of file From 14ce64d30c60f1a0c928625cadb3eea21400b59e Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Apr 2018 20:02:30 +0300 Subject: [PATCH 007/439] ISSUE_TEMPLATE.md update --- .github/ISSUE_TEMPLATE.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 37b76cc..ca2da6f 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,11 +1,13 @@ \ No newline at end of file From a4b6a1a7a9c9cee428070f89761023324986e6b0 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Apr 2018 20:03:02 +0300 Subject: [PATCH 008/439] .eslintrc.js - initial commit --- .eslintrc.js | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..5716af7 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,50 @@ +module.exports = { + "env": { + "browser": true, + // "es6": true, + "greasemonkey": true, + "jquery": true, + "node": true, + }, + "extends": "eslint:recommended", + // "extends": "eslint:all", + "parserOptions": { + "ecmaVersion": 8, + "sourceType": "script", + "ecmaFeatures": { + "globalReturn ": true, + "impliedStrict": true, + // "jsx": true, + // "experimentalObjectRestSpread": true + } + }, + "rules": { + "complexity": ["warn", 3], + "eqeqeq": "warn", + "func-style": "off", + "indent": ["warn","tab"], + "linebreak-style": ["warn","unix"], + "max-len": "off", + "max-statements-per-line": "off", + "new-cap": "off", + "no-extra-semi": "warn", + "no-inline-comments": "off", + "no-magic-numbers": "off", + "no-mixed-spaces-and-tabs": "warn", + // "no-var": "off", + "no-multiple-empty-lines": "off", + "no-console": "warn", + "no-alert": "warn", + "no-unused-labels": "warn", + "no-unused-vars": ["warn", {"vars": "all", "args": "after-used"}], + "no-useless-escape": "warn", + "no-tabs": "off", + "padded-blocks": "off", + "quotes": ["warn", "single", { "allowTemplateLiterals": true }] , + "require-jsdoc": "off", + "semi": ["warn","always"], + "space-before-function-paren": "off", + "unicode-bom": ["warn", "never"] + + } +}; From e409247f56aa6d69383d6ce1673c281a5bcadb6a Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Apr 2018 20:32:23 +0300 Subject: [PATCH 009/439] CONTRIBUTING.md - initial commit --- CONTRIBUTING.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..0553819 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,39 @@ +# Contributing to my Userscripts repo + +* [How To Report Issues, Or Make Requests](#how-to-report-issues-or-make-requests) +* [Contributing Code](#contributing-code) + * [Installation](#installation) + * [Pull Requests](#pull-requests) + + +## How to Report Issues, Or Make Requests. + +When reporting problems: +- Start the issue title having the related script title in parenthesis. +- Be as specific as possible, I need to know where to look. +- State name and version of your browser and script manager. +- Provide a web address example where I can see the problem for myself. A domain name is not enough. +- Provide a screenshot if necessary. + +When making feature requests: +- Be as specific as possible, don't make me have to guess what you want. + + +## Contributing Code + +### Installation: + +Just use a script manager, such as Tampermonkey, Greasemonkey or Violentmonkey + +### Pull Requests: + +You are welcome to open pull requests as long as you: +* Follow the style that is already being used in the code, see the repo's [`.eslintrc` rules](https://github.com/darkred/Userscripts/blob/master/.eslintrc) +* When naming variables: + * Use names that properly describe the contents of the variable. + * Use camel casing as needed. +* Use comments if necesary. +* Use semicolons. +* Use single quotes. +* Use tabs, not 4 spaces indentation. +* Try not to have too long lines. From 02b5139179b79c27e902d23789f9d5268ede7bbd Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 12:48:24 +0300 Subject: [PATCH 010/439] (Metal Archives discography pages - Reviews column split and sortable tables) Removed the unnecessary @require jquery-3.2.1.min.js as it was causing the "READ MORE" button in the page to stop working. The script now uses the page's jquery.form.js (jQuery Form Plugin), because of the script's '@grant none' imperative. --- ..._pages_-_Reviews_column_split_and_sortable_tables.user.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 74823f4..0bf7c3f 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -4,11 +4,10 @@ // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. -// @version 2.0.2 -// @date 2018.2.27 +// @version 2.0.3 +// @date 2018.4.24 // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none -// @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // From 465143d200ccedd3c98aaec6222582e37cc35046 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 12:54:39 +0300 Subject: [PATCH 011/439] Revert "(Metal Archives discography pages - Reviews column split and sortable tables)" This reverts commit 02b5139179b79c27e902d23789f9d5268ede7bbd. --- ..._pages_-_Reviews_column_split_and_sortable_tables.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 0bf7c3f..74823f4 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -4,10 +4,11 @@ // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. -// @version 2.0.3 -// @date 2018.4.24 +// @version 2.0.2 +// @date 2018.2.27 // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none +// @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // From 5ff74c6b9bc1e659aafc0001d7923d47f38e940b Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 13:06:34 +0300 Subject: [PATCH 012/439] (Metal Archives discography pages - Reviews column split and sortable tables) Removed the unnecessary @require jquery-3.2.1.min.js as it was causing the "READ MORE" button in the page to stop working. The script now makes use of the page's jQuery 1.11.1, (because of the script's '@grant none' imperative) from inside the combined jQuery libraries file (http://www.metal-archives.com/min/index.php?g=js). --- ..._pages_-_Reviews_column_split_and_sortable_tables.user.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 74823f4..0bf7c3f 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -4,11 +4,10 @@ // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. -// @version 2.0.2 -// @date 2018.2.27 +// @version 2.0.3 +// @date 2018.4.24 // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none -// @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // From def5348fd3fea6286c1fd4179036bc0332c9ef08 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 13:10:17 +0300 Subject: [PATCH 013/439] Revert "(Metal Archives discography pages - Reviews column split and sortable tables)" This reverts commit 5ff74c6b9bc1e659aafc0001d7923d47f38e940b. --- ..._pages_-_Reviews_column_split_and_sortable_tables.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 0bf7c3f..74823f4 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -4,10 +4,11 @@ // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. -// @version 2.0.3 -// @date 2018.4.24 +// @version 2.0.2 +// @date 2018.2.27 // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none +// @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // From 8769f950ef7b37981a4fe10038363cae39e50fcd Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 13:12:37 +0300 Subject: [PATCH 014/439] (Metal Archives discography pages - Reviews column split and sortable tables) Removed the unnecessary @require jquery-3.2.1.min.js as it was causing the "READ MORE" button in the page to stop working. The script now makes use of the page's jQuery 1.11.1 (because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js. --- ..._pages_-_Reviews_column_split_and_sortable_tables.user.js | 5 ++--- .../README.md | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 74823f4..0bf7c3f 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -4,11 +4,10 @@ // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. -// @version 2.0.2 -// @date 2018.2.27 +// @version 2.0.3 +// @date 2018.4.24 // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none -// @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md index eb5d789..4fce61d 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md @@ -9,10 +9,11 @@ Example *(see screenshots below)* : http://www.metal-archives.com/bands/Kamelot/166 (DISCOGRAPHY > MAIN tab) -the script works in all DISCOGRAPHY tabs- -Tested with Greasemonkey 3.3. +Tested with Greasemonkey and Tampermonkey.
-This userscript the jQuery plugin [tablesorter](http://mottie.github.io/tablesorter/docs/index.html) (forked by Rob Garrison (Mottie)) +This userscript makes use of the page's jQuery 1.11.1 (because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js, +the jQuery plugin [tablesorter](http://mottie.github.io/tablesorter/docs/index.html) (forked by Rob Garrison (Mottie)) and the JavaScript library [Mutation Summary](https://github.com/rafaelw/mutation-summary) (by Rafael Weinstein). Thanks a lot to Rob Garrison and Brock Adams for their invaluable help ([1](http://stackoverflow.com/questions/26331773/javascript-in-an-html-table-how-to-select-part-of-text-matching-some-regex-f), [2](http://stackoverflow.com/questions/26416049/greasemonkey-using-the-waitforkeyelements-utility-how-to-call-a-function-aft), [3](https://github.com/Mottie/tablesorter/issues/990), [4](http://stackoverflow.com/questions/32233895/using-waitforkeyelements-is-it-possible-to-prevent-the-key-element-from-being-d)) From ccbe5e4b3fedf09746f028d4f248eecdffe73fd8 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 15:03:23 +0300 Subject: [PATCH 015/439] Bullshit Filter scripts icon (PNG) --- script icons/Bullshit_Filter.png | Bin 0 -> 9551 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 script icons/Bullshit_Filter.png diff --git a/script icons/Bullshit_Filter.png b/script icons/Bullshit_Filter.png new file mode 100644 index 0000000000000000000000000000000000000000..a3cf9959839ac24a5d338d07b0f8c2de1bef4e32 GIT binary patch literal 9551 zcmZ{KRZv`A6Ybz0+}+(B1|ML6V8NZiy#Gxx53~XRv|WJA(hO zD~vfx{%_IqvyAOKn*U$-UR}Ng02r*5Kr-6iD`x>-Y1;BDuQ$5ueovmcw3C=}Hi!zE zy=_d!GBTP()+Xy7CQ`V#gQzwww#FxCyhvT&YQX6MI@8cR_;GM3Zs59Yfoq*}!#d^pabm9$e{v&T-YeozW zA{d83`fE=G98yg->Ev4v0s|r%J`SRtwBm%OaeNBi>5A&meq|@7vJ8J|QlL~+*jl@w zwT*_ZV{)?0T)*}n}_50SoyQ_(SjDmEK1jh@>5T|(7tL)y8!c!px|l}I1Z#yML_16 zrdd#xIGM&jCkg&0Y^$sOk`1pomsF_NYoF>b?SET(4qKh#?b zy|LOX=A?zr{ciVMAw^>j27|$HtXba;qLujB*xh?)4)d(zso8I^k;SX$FEDY?Wcm*Y ziM(MzFn2c_V5z&DNzL(#u_qp&T2${O}R+ukphjDF#g{yCfI%^I&a5ig+a4w(7gJYsCTscEl zYlTP5R0dCfp->ct&&A9X)QzlJ5oFRIp(JHNIFam`Y*>cU2_Jv^`#dnZzls*C5}oPQ zWk%zvd>Ue#@3^Q6nn^1Nl$Y&y5vCbZcC{{R-}B$x#ZEr6SDPT-OHV$I_Cci#4Nb9rH)c?5AX`RVxjA4C92S%H ztJ4^Z^2pD*-EKj_Zx#U|2?s~=a9i>7pRWFvWpLtdG+a$*l3BOl1n|+jH|&t=C@Tek z3b(yG{^>B;J`1Rtp+ifu)#TM{tXqz9%YO*u{L)~^rO0{z7!iCq#H8Lg1w-rUkraz5 zevxFWo3HCa<8izr2d!b&FP_S?lGMA9b8i-0Q2HTerfW9XF~?gngb@WDJX;cErloAJ zx&SnrWv)ckr%SJ3XsgbX-JvuT>gZvwg6lpGVrbN}Azuo~rN?iYV#yS#ow{HR?K>7G zI!gJOr>1-~bfm*UQm$O>AN6#SA-3jIxq-A+P z&ylP9*XgLpj(H~V(an{WrD)J6s$7-|i6iUq(HO?o!AXh_WAZ9_e?PHr%xKMs>a<7?C57*59_&Y`hsWvQ?Uwx0~)0`XBu0&Q45`(V&tc4fxD63g zd_F^Ll1&w^b}j;Qt&xn;F^Hv4b*$Hive#w5i3#GW!rHU`P)9m3%aSivFE^ieN6bhf z>{~aVx%I#CaQ+o>m=|#w5aYWygkbP(1U{|zf9*j{@q3tE3FKM&Ic)kP>MebO{gXBy z8Y`!SYXjRd)^dH45N1+R3v7Y-_7sR7`RVtpp%Nd}OXkshgiiH2_Bejzwx2_#mld_P zE)xXNCUP?)!YJ=Oy*{kuHWR#fvUX=&hE3o7VCTJ(!>*t~Ww`$&J|{xOrIx?*0#+5P z0x!#_0iMXGtlhCK1(Z7Db* zn-u32Fyn9PvI3r~bh#o=q1nEXH0pQhQV&UsM*i7$zCO|Z!qmI#`;3oJU3~q$B!1+z zESoj`x4CrqfW^V-zqAorjwWqLobZPC1ka=fOaIgKK-|=~*1(=eMZm!i1fRVJW6fmQ ztsG>hjf0PVk+jG79e)AIIGEo@3WO}EQjTOoKaJzI#uL`82#i6_6I> z4e4HKPd>IU_Qhl1=<*ls>c|RxO@q@_a8;JNS%XY|$YGf@AMtup_1`FH>x?hd%B5#5 ztLWkt_C5)u8*o|lv-*_A9AThQAGlC?@j>$6RzM_^X7Q{YM1~gdz3pg;)Kc+8pKTXH z_T>+e1PqHN;GqI>9|WRtnVu-F&ZSRo-{fa!9cr5xtIuK9N(+S;r~@guSp;;e6&e8ar|;^Y^grZMi{;Rad`N5mROTTI$v*fUwcuOtkQ~j!vNHh zS03m>LyXea6j#BJ$8qI57kV`(1 zN&*>^h>;|~0N->N6E_{TuQ=iDf?Q~^sHqtD1IAhd_OTBt z`yBbS6g0ij8Sr>&@O>;?Q~B-oPmcYca%?L9;iK71=cW3t~3mvk)-Rp##KVqTX}OgfK?nmqN&FA>GxLlrm2X_gUh6MKfQJ zWQklcBU@)OsBiPM!(~w^U(?Bw?x?Q)adBeBgTia11`UA`bce9@qawfiqWj4hdiTJw z>TFsfY*JZSd4J0KZc5(Ys*Ot=siuMHB_79g+xS-%Dn2u6DIOT?N};771KxmNq5dB6 z*a*=>-j_f4n28;@|7p?jmA?ENm`NH8g#G7~!|Dj-vD+1T z^+zg_2{!kw3M>r$%5(COk~hts#P);oCFKd-St zI*Heymb2y7U|JySdW*Swx>`Hh1r=o5V=zE*x3N^hsFscjc`0|iZV>CWK4j`Em zvdY1|&5mR(EA`zysPWjJZqv_-t~7#G?)SJLsVnKijB3c zt*!Op-k$r>?;^{J1kvSp6V1-f-Ug4}FH7fj)CWAZ=pFVT19BO#lrA#*YEz?KiBgLUYn(NB-auIn`)PW*_ za}wZ%#fJxp!|6N;+v(Gw=iSh-592CJ9gpgbk4MuT&bBtf_5@rfORy?-Bag3Xg?&FcgN;}UcV!4cu7CP5&2PRcA{4ES@u4x>j$fhUt zZd z_u+V)gkC`VGxuQj=DP>&t_%G|t>@BfAyOLac+$#lp5){9tA!{GWdv5d#xpn3(dKKe zPiH4k7rXcXB6#w^XZwFs!d(xy+GNkd1ZOs8l%%kXm55r=O#BdL!U%Ldw2 z_1UmAer*5f5(JvZ9b-Doy8a7rj1s;dvQwAy{##(7a%B}=5ei)FmaAY&mGgNcjHxE?5mGNNO2fYqe@Y_uOXGn}15>eMJxxJuwnysbJ z^MgP)I9r|p@0%d(x3HAA=f;1<$5Wa%;r$^AdE#Ih&TXZ~+rJpSTD;J>cGLMg3oJ2~ zLGxfS4_UGiS|pbZ^nC{Zi1xn+CLJs_bW@|zIAf1v;-B=*IE_3{YFatp4#;Ug+DKgG zzc*CJmN$_1zl4qguJ!$(Eh-&Cl?o6Ih=pEkySuUYczO(bo(YPA5E3l4g^d_)w?Qs` z*3@;m!qTB?xX6h?TkPstDg2ZISm}!TgQwYiFgXd5RC`I`>8demMXujjt=kNG3(IJ0 ziSerKI=wDqrXZ!blQK3nOe{)~CDX|?4tVPQGegb`gxeeO=b!d8ew5Q)ITj}HoFb9 za?_Je&{-``?jZHo41zb*)XNKoA46ow*Q&H8U4Hshh&i0kVCc)zm!k0WaIwBf0+9 zfEuH$CpiF4qHr2)*f{K`G$$Z12%%GZVEJk|5{vwuHWNT}MdnuT+R0e&Y+!>A*9Q1r z$=oN;iECArm2)2v5%>sdJ5Tx`9V#yEH_m0d!ILvCS%Iqlx0O}3X>;0~mUUJ5YwVU9 zV(TL4niC_;SnTE%J90EiW&6?y%h-<48U!57$Z#GZ=e0KI(mVih>wvxP!KJRVSEt0? z$H!2PBU~WhaYY<{La+W3PULD3pA6yXa^NY~Ys048Vd~lZXCLs~@N+!o z{wO${TjExlhh(12kRC4vc-bqZXv#OP<(CP-qHSx64_rnZ*dn`08-2oEZ=V-5R?SlS zVX0ZMsj>Ui+|0`W*IpgZyy;}-r@G>qW&dx}=Wwb>E{ahI2vhM*Tjb$z>+5jA^0Cx( zKTf5?Q_>Yg?2TiW%c<+JySsS%le0h_^o$mwM(KSl<0FxtaB;TCPTFGlYfjuJOS|$u z7?YQMKPKX4GLZQvv3y?1_vTB*Hbp99ZqbL3@IC8IhtD}=*V?C({88Ok!=ZB6XGo_7 zn7*`IqUVeQiq+&EA%fp~xaz=*A2917V_7HhB;@S>9=4tbxX1&B-gPZ?8gyN2wo3s8 zFly8dzi-X@=Y-X&nFz(>2bS(Jg*@_D$z%Cd;!A8(?)2LE)86aP}JWpLi-*7f~l z2sQ*}D16&vPd<41#dYl$?RnMIj?Acv_t3rN@(EGM+tXnOyP!@ta;MRguRO2g*|H`UTp4W60gi)JmTk9B>K<2 zvRva+>>(?SgTbr)pL`Oacl54^>TNdZyDZL=@Vn37S!Wy?T7B=_22GC8+G4Z7O`b1`sJ z=4OoKm4H0o+_Y)^7ebkCu?Y%+B-p`cbi7roe&V+$@YNiAcxa3>4gh*5cA#ItP2gk* zO%V7Iht?Q0+&3A5QJN}VHK*wI?Az+Bq`*nz$D)8zUHz>U#e~>Ue&G&n7slCWJc|eU}hi9D@ zb;Lg5>m)TN?P@`P^w5s`bxg6Ukao!!M(yky!#Y3qRa&$H$)~BD3DaDwlI%3JboblY z5iZl`?bBuMd#MMjo=vqyj^;9mS3;G^@42~#xw$#SoYkOZpwkBMBzwf;Dfbp+3utkA zZCIdm{l&!|vhB#KfEfClyOXW;B3x5(4B>YM?Tkd6L!}EUO_^2IqJS07ND1r8ddvQt z%UT3Ao?veQX{2Vy8-_Ia@oAI$-{;w<&A_Lr3GSJ$!~6~uY)MW76;KLa;<383fxW$f zfzR37>Jps$IfpHQnRBcAe|3=S}FnUESc{T$YyC2kW zG5Hxe(Rm{1zbsB%JyUfXIl~JFl>y|$W;$u0FV*ytXe#PLCkRMIXl+p05f~~`n(m3c4vwU8kAI8u< zMy4s7rQXkkO%4mn!hzolt2?XjZ6|D79MZE#F(VG6<8>F~6+3;?P~rZ2iZ|(4-`4wX zB7V&NpK`razb8?*;#;<2k@XB{)n_NEWHE|imlIB?e6i6_Z#ND&M;YvOFF-Eo& zv625?_v(f0--*yaG-;0VCkhK=iP&YQdabX6NRz>Q&SZ!C9&$h*1H9AVs~aY-$!0Mk z!u~9gtNi;jx73$B%@Qurv!=dE8^@6B>@L5HE?C>{E1*zr}DQ|MvZ_|lSt{dDVu%b0cuz^$scffG&pVu+bqhF|ewL6=F`;*f$vYQvL z&&lN#PP)X;5Z?8-+n4>ps}(oayUz#_a@To7S0_x~zXKjAuHGkAYu>we2x@<&{#!Db z>A76HWv&Qw=X={?6(+%)`6kSb7X#{7eVN@W1 z5j0HmTb9RU!G8wZR@cf@lvY4A_8oOywHKXch@q^^0RXPLEsPo7$h;x3jir4BRmx*V zTK%k_$$De9HgWTIV4kXL^flkFJ{Kl}_l3TCHN5BJ0?&Ucq-Nh09%NwJl{_*3K?ukC%cambS2}x=#KX zVYZUoc9oAm+n~*W24T_H~1iXZ(5>8j`F<9tEZn!-W1MA9hg58R8Opd3WhU|qVj zF~z$@Zf=|_5j@e-g|A6GSkGQDdMzU)^VD;o8x(W{zUp?b8E&qP^QqS8< z$Z&LkYEUb1T_}~fQ&nNyo?BTX-~|0v1tY%LWh zWr0+|+o7@&ay$XKQjUjwwpdV>%cE8DY);ovpeO@(MEtOYb(!_D=(3^ksQ_-TY|^DD z^y>)y9}q*MX#zpC$4bOU#5wCS|5u)y<&lUPtA)wZmZS58V1FMsXZn#_^r*eM?6YrH4ksc{+N9k;6jk*>H&aUEo|c)M&o8mIj)&`@c+)OJ zHQDohB$ZEi2Gavt4~t5lz*#mqV0;9^bTRfY?hddi@0=Ypxu_@?!Q-wnEtCVRY{T&T z`zOd@w!TF~3CF^IlK`B|mC!mkv~(fZ-`JF9L>fH=3V$2f;HaYb_wrXaINCU|icQ;8 z(RD21y70x_scH;}_N%u1<(Vqc$rScPty1?>$^?w1|k!W}dwPON?K ziFH};Z3NUX&HA0Mh)&If7w_9ax{fr$A?5x$VN~FY9x#(F97a4GJGiH#K|c4 zC;lG0OR`g=z0fV$=$*SjC4$hMC}IVSxZ<9;>qg#2sPci0iN!`ioM3dKs&8J79RqL1%M~Le_zV0r*v$pnH{#@D+u5+%&2_VWA*+6P||QOZ4dV zVzmzbdAaZgBjl5u-s}RQO&b*jis4UdS_+U&^lD4lktyAn|rY; ztFVwE@smpa;{Y#%USh;A+@CxJAh|xvsC=BS9>T!0#13P$q`=5))4(ule}W0!BAUYC83O?4U&fb9m%fklkRcl9YI+x=|CY`?ed!7tyK!xvik zrLw%N!fPX>B68U1alU-&x+V&0)30X7aYZRdno#Zr)d^kI$S*h$=ZBvBv}nO}&iqR6 z7guCET2v8NO%ZG$y7jW>K&cU&MBsp+QP$zJ-0FLUXL^kkXsqt1Jo-Mn!%_kz;n8Tw z&e~Z>^G6rqi9g3MXxi9+W{A#hnJ+>4aKWi2VtD&k{?{22;y~CJ?4-K)TY2Tk%5x*! zrjnqI;DSZVyTs=|VqMlKv2j1DLkYDw)M_#8?hOb~c^wlFS@`j5_(jEy?kD9;^~O(P z6V6!a8<~9eTK~O9BVcQMGGajOucq%`p8YAJH?-v&JyPjnb!C7Wk!67R-;&ViM~ghc z!a{;wKmbzz1*V3WF$fXQSXC1*jOFM0hbbBhlK`t7*gx5fmFuSf57j##+^-CbQ+KZ~ z>l1GQ51Rb@L2#|oe%p!zDAn(O9x=Mh>$_V)+^xkdzgWKmfRBflmy?%=lTS#SS5S;! zSd5>Corgz^hvyM}HtqijaB{J-xAFP^2gK>wv%Ck8{%;2@7aMmk$QNsXjFpRpHI0%J c#Mb(gHN?utb<7(0{t`e*UJX<$YaaT40E*p~O#lD@ literal 0 HcmV?d00001 From b5ce78f4d2a71dbaf619eea235ba9368c22da25c Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 15:18:08 +0300 Subject: [PATCH 016/439] Updated the script icon URL --- GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js | 4 ++-- .../GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 4 ++-- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 762b66b..88889b2 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -4,8 +4,8 @@ // @author kuehlschrank, darkred // @license MIT // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @version 2017.5.18 -// @icon https://s3.amazonaws.com/uso_ss/icon/97145/large.png +// @version 2018.4.24 +// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png // @include https://greasyfork.org/*/scripts* // @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ // @exclude https://greasyfork.org/*/scripts/by-site diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 1fda4c8..025edc3 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -4,8 +4,8 @@ // @author kuehlschrank, darkred // @license MIT // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @version 2017.11.30 -// @icon https://s3.amazonaws.com/uso_ss/icon/97145/large.png +// @version 2018.4.24 +// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png // // @include https://greasyfork.org/*/scripts* // @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index c659106..b9c8f22 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -4,12 +4,12 @@ // @author kuehlschrank, darkred // @license MIT // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -// @version 1.2.3 +// @version 2018.4.24 // @include https://openuserjs.org/ // @include https://openuserjs.org/?*p=* // @include https://openuserjs.org/?*q=* // @grant none -// @icon https://s3.amazonaws.com/uso_ss/icon/97145/large.png +// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. // ==/UserScript== From 60306281d9de33210d2ce82346f43c41e1112c79 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 24 Apr 2018 15:18:49 +0300 Subject: [PATCH 017/439] kuehlschrank scripts icon - backup --- .../Bullshit_Filter.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename {script icons => kuehlschrank scripts icon - backup}/Bullshit_Filter.png (100%) diff --git a/script icons/Bullshit_Filter.png b/kuehlschrank scripts icon - backup/Bullshit_Filter.png similarity index 100% rename from script icons/Bullshit_Filter.png rename to kuehlschrank scripts icon - backup/Bullshit_Filter.png From da20d7f6866ce7a48bfeef51a77bafcb486ed9b0 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 25 Apr 2018 20:57:17 +0300 Subject: [PATCH 018/439] Added: " @include https://old.reddit.com/* " per https://greasyfork.org/en/forum/discussion/37057/old-reddit-com --- Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js index f0477a6..72512ce 100644 --- a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js +++ b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js @@ -4,8 +4,9 @@ // @author darkred // @license MIT // @description Adds infinite scrolling to subreddits and to comments. -// @version 2018.2.27 +// @version 2018.4.25 // @include https://www.reddit.com/* +// @include https://old.reddit.com/* // @grant unsafeWindow // @require http://code.jquery.com/jquery-2.1.4.min.js // @require https://greasyfork.org/scripts/11636-jscroll/code/jScroll.js From f7a3990e3b53c3b7b70a4fb0717544ca175c4383 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 28 Apr 2018 01:02:38 +0300 Subject: [PATCH 019/439] (Instagram - visible images counter) - removed no longer needed code (for autoclicking the "LOAD MORE button") - now the script also works when following profile links from the 'Search' button results --- ...Instagram_-_visible_images_counter.user.js | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 5779346..89b151a 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page -// @version 2018.4.3 +// @version 2018.4.28 // @include https://www.instagram.com/* // @grant none // @require https://code.jquery.com/jquery-3.2.1.min.js @@ -20,6 +20,8 @@ var stylesheet = $('head').append(stylesheet); +// Not needed anymore +/* // If you scroll down, beyond the first 12 images, then the "LOAD MORE" button(to show more images) will be automatically clicked $(window).scroll(function() { if ($(window).scrollTop() + $(window).height() > $(document).height() - 100) { @@ -27,7 +29,7 @@ $(window).scroll(function() { element.click(); } }); - +*/ var hrefselems = []; var hrefs = []; @@ -73,6 +75,8 @@ function createDiv() { function createObserver() { + hrefselems.length = 0; // empty the array (see https://stackoverflow.com/a/1232046, method #2) + hrefs.length = 0; /// --------------------------------- /// mutation observer -monitors the Posts grid for infinite scrolling event-. /// --------------------------------- @@ -102,6 +106,9 @@ var observer; // var avatarSelector = 'span[style="width: 152px; height: 152px;"]'; // the profile's photo/avatar element // var avatarSelector = '._mainc';// // the profile's bio area element var avatarSelector = 'h1.notranslate'; // the profile name element +// var avatarSelector = 'main > article > header > section > div._ienqf > div > button'; // the 3-dots icon +// var avatarSelector = 'div[style="flex-direction: column; padding-bottom: 0px; padding-top: 0px;"]'; // the 3-dots icon + @@ -119,8 +126,10 @@ document.arrive(avatarSelector, function() { // the avatar in the profile page document.leave(avatarSelector, function() { - div.remove(); - hrefselems.length = 0; // empty the array (see https://stackoverflow.com/a/1232046, method #2) - hrefs.length = 0; - observer.disconnect(); + if (!document.querySelector('h1.notranslate')){ + div.remove(); + hrefselems.length = 0; // empty the array (see https://stackoverflow.com/a/1232046, method #2) + hrefs.length = 0; + observer.disconnect(); + } }); From b0229fe6f8af6781a60ae7a0613f6d8150386c3f Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 29 Apr 2018 00:51:17 +0300 Subject: [PATCH 020/439] (IMDb User Reviews - as many star icons as the ratings) Initial commit --- ..._as_many_star_icons_as_the_rating.users.js | 53 +++++++++++++++++++ .../README.md | 9 ++++ README.md | 1 + 3 files changed, 63 insertions(+) create mode 100644 IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js create mode 100644 IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js new file mode 100644 index 0000000..a85d18b --- /dev/null +++ b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js @@ -0,0 +1,53 @@ +// ==UserScript== +// @name IMDb User Reviews - as many star icons as the ratings +// @namespace darkred +// @license MIT +// @description In IMDb User Reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +// @version 1 +// @match https://www.imdb.com/title/*/reviews* +// @grant GM_addStyle +// ==/UserScript== + + + +// Example: +// rating = 9 +// is displayed as: +// 1 star + 9/10 text +// +// Therefore: (1 existing +) 8 more stars needed +// and, if element is larger than 9, i.e. >9, i.e. 10th then blacken it + + +let stars = document.querySelectorAll('.ipl-star-icon'); + +for (let i = 0; i < stars.length; i++) { + + let rating = Number(stars[i].nextElementSibling.textContent); + // let extraStars = Number(stars[i].nextElementSibling.textContent) - 1; + // for (let j = 0; j < extraStars-1; j++) { + for (let j = 0; j < 9; j++) { // 9 more stars to each line + let clone = stars[i].cloneNode(true); + stars[i].parentNode.insertBefore(clone, stars[i].nextSibling); // https://stackoverflow.com/questions/11117519/inserting-a-clone-after-the-original + + } + + + for (let j = 0; j < 10; j++) { + if (j > rating-1 ) { + stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: black;'); + } + + } + +} + + +let CSS = ` + svg.ipl-star-icon { + height: 18px; + width: 18px; + vertical-align: middle !important; + } +`; +GM_addStyle(CSS); diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md new file mode 100644 index 0000000..d41dfea --- /dev/null +++ b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md @@ -0,0 +1,9 @@ +This userscript applies to IMDb User Reviews pages. It display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). + +Screenshot: + +Intial: +![initial](https://i.imgur.com/ApMIFAK.jpg) + +With the script: +![With the script](https://i.imgur.com/QNZIhxd.jpg) diff --git a/README.md b/README.md index 2255c8f..128aa59 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ This repo contains my userscripts. - [GreasyFork - filter libraries in profiles](https://github.com/darkred/Userscripts/tree/master/GreasyFork_-_filter_libraries_in_profiles#readme) - Filters libraries in GreasyFork profiles. - [GreasyFork Bullshit Filter (compatible with Citrus GFork)](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter_(compatible_with_Citrus_GFork)#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [GreasyFork Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. +- [IMDb User Reviews pages - as many star icons as the ratings](https://github.com/darkred/Userscripts/tree/master/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings#readme) In IMDb User Reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). - [Instagram - visible images counter](https://github.com/darkred/Userscripts/tree/master/Instagram_-_visible_images_counter#readme) - Shows (in instagram profile pages) - how many images out of total (as a number and as a percentage) - are currently visible, as you scroll down the page. - [ixIRC - sortable search results](https://github.com/darkred/Userscripts/tree/master/ixIRC_-_sortable_search_results#readme) - Makes the search results sortable. - [KAT - add APPROVE ALL and APPROVE SELECTED buttons to Feedback popup](https://github.com/darkred/Userscripts/tree/master/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup#readme) - Adds 'APPROVE ALL' and 'APPROVE SELECTED' buttons. From 9ef53b49c3bfeea281ab96cfa1430f5b2a432cf7 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 29 Apr 2018 01:16:19 +0300 Subject: [PATCH 021/439] (IMDb User Reviews - as many star icons as the ratings) Use light white for the extra stars (above the rating value ) by default. --- ...eviews_pages_-_as_many_star_icons_as_the_rating.users.js | 5 +++-- .../README.md | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js index a85d18b..ac54d14 100644 --- a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js +++ b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js @@ -1,5 +1,5 @@ // ==UserScript== -// @name IMDb User Reviews - as many star icons as the ratings +// @name IMDb User Reviews pages - as many star icons as the ratings // @namespace darkred // @license MIT // @description In IMDb User Reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). @@ -35,7 +35,8 @@ for (let i = 0; i < stars.length; i++) { for (let j = 0; j < 10; j++) { if (j > rating-1 ) { - stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: black;'); + // stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: black;'); // for use with this style: https://userstyles.org/styles/98447/imdb-com-nightmode + stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: #e8e7e7;'); // almost white } } diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md index d41dfea..3ab8bcb 100644 --- a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md +++ b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md @@ -2,8 +2,8 @@ This userscript applies to IMDb User Reviews pages. It display as many star icon Screenshot: -Intial: +Intial: ![initial](https://i.imgur.com/ApMIFAK.jpg) -With the script: -![With the script](https://i.imgur.com/QNZIhxd.jpg) +With the script: +![With the script](https://i.imgur.com/Wl0PKtQ.jpg) From ec775c8ffbf8580bd86637f5d35dfe7dcd238118 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 29 Apr 2018 01:19:13 +0300 Subject: [PATCH 022/439] typo --- ...User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/{IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js => IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js} (100%) diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js similarity index 100% rename from IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.users.js rename to IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js From 73472a349b703bb94899e789a011115001caf661 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 29 Apr 2018 01:33:20 +0300 Subject: [PATCH 023/439] (IMDb User Reviews - as many star icons as the ratings) README.md update --- .../README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md index 3ab8bcb..12f4ce1 100644 --- a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md +++ b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md @@ -1,9 +1,11 @@ This userscript applies to IMDb User Reviews pages. It display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). -Screenshot: - +Screenshot from e.g. https://www.imdb.com/title/tt0076759/reviews Intial: ![initial](https://i.imgur.com/ApMIFAK.jpg) With the script: ![With the script](https://i.imgur.com/Wl0PKtQ.jpg) + +Note: if you for use this style: [IMDb.com - Nightmode](https://userstyles.org/styles/98447/imdb-com-nightmode) (like me) then comment out line 38 and uncomment line 39, +in order the extra stars to become black (instead of almost-white). From b42b42d305cf6462de6564f9dba5dd7e20d30272 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 30 Apr 2018 00:49:57 +0300 Subject: [PATCH 024/439] (IMDb User Reviews pages - as many star icons as the ratings) renamed to 'IMDb user reviews pages - ten star ratings'. Also: - now it works when you click the 'Load More' button. - more appropriate colors for the extra stars. --- ...-_as_many_star_icons_as_the_rating.user.js | 54 ------------ ...r_reviews_pages_-_ten_star_ratings.user.js | 85 +++++++++++++++++++ .../README.md | 2 +- README.md | 2 +- 4 files changed, 87 insertions(+), 56 deletions(-) delete mode 100644 IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js create mode 100644 IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js rename {IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings => IMDb_user_reviews_pages_-_ten_star_ratings}/README.md (92%) diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js b/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js deleted file mode 100644 index ac54d14..0000000 --- a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_rating.user.js +++ /dev/null @@ -1,54 +0,0 @@ -// ==UserScript== -// @name IMDb User Reviews pages - as many star icons as the ratings -// @namespace darkred -// @license MIT -// @description In IMDb User Reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). -// @version 1 -// @match https://www.imdb.com/title/*/reviews* -// @grant GM_addStyle -// ==/UserScript== - - - -// Example: -// rating = 9 -// is displayed as: -// 1 star + 9/10 text -// -// Therefore: (1 existing +) 8 more stars needed -// and, if element is larger than 9, i.e. >9, i.e. 10th then blacken it - - -let stars = document.querySelectorAll('.ipl-star-icon'); - -for (let i = 0; i < stars.length; i++) { - - let rating = Number(stars[i].nextElementSibling.textContent); - // let extraStars = Number(stars[i].nextElementSibling.textContent) - 1; - // for (let j = 0; j < extraStars-1; j++) { - for (let j = 0; j < 9; j++) { // 9 more stars to each line - let clone = stars[i].cloneNode(true); - stars[i].parentNode.insertBefore(clone, stars[i].nextSibling); // https://stackoverflow.com/questions/11117519/inserting-a-clone-after-the-original - - } - - - for (let j = 0; j < 10; j++) { - if (j > rating-1 ) { - // stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: black;'); // for use with this style: https://userstyles.org/styles/98447/imdb-com-nightmode - stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill: #e8e7e7;'); // almost white - } - - } - -} - - -let CSS = ` - svg.ipl-star-icon { - height: 18px; - width: 18px; - vertical-align: middle !important; - } -`; -GM_addStyle(CSS); diff --git a/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js new file mode 100644 index 0000000..a25f8cc --- /dev/null +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js @@ -0,0 +1,85 @@ +// ==UserScript== +// @name IMDb user reviews pages - ten star ratings +// @namespace darkred +// @license MIT +// @description In IMDb user reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +// @version 2018.4.30 +// @match https://www.imdb.com/title/*/reviews* +// @grant GM_addStyle +// ==/UserScript== + + + +// Example: +// rating = 9 +// is displayed as: +// 1 star + 9/10 text +// +// Therefore: (1 existing +) 8 more stars needed +// and, if element is larger than 9, i.e. >9, i.e. 10th then blacken it + + +const fillColor = ['#e8e7e7', '#e6e5e5']; // default (almost white --> a bit darker) +// const fillColor = ['#2b2b2b', '#2f2f2f']; // for use with a dark style + + + +function addStars(){ + + let stars = document.querySelectorAll('.ipl-star-icon'); + + for (let i = 0; i < stars.length; i++) { + + if (stars[i].parentNode.children.length !== 12) { // if not already 10-star (+ 2 elements) + + let rating = Number(stars[i].nextElementSibling.textContent); + for (let j = 0; j < 9; j++) { // 9 more stars to each line + let clone = stars[i].cloneNode(true); + stars[i].parentNode.insertBefore(clone, stars[i].nextSibling); // https://stackoverflow.com/questions/11117519/inserting-a-clone-after-the-original + + } + + + for (let j = 0; j < 10; j++) { + + if (j > rating-1 ) { + if (i % 2 === 0){ // https://stackoverflow.com/a/12984254 (odd/even iterations of the loop) + stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill:' + fillColor[0] + ';'); // for use with this style: https://userstyles.org/styles/98447/imdb-com-nightmode ---> OK + } else { + stars[i].parentNode.children[j].children[1].setAttribute('style', 'fill:' + fillColor[1] + ';'); // for use with this style: https://userstyles.org/styles/98447/imdb-com-nightmode ---> OK + } + } + + + } + } + + } + +} + +let CSS = ` + svg.ipl-star-icon { + height: 18px; + width: 18px; + vertical-align: middle !important; + } +`; +GM_addStyle(CSS); + + + +addStars(); + + + + +var observer = new MutationObserver(function() { + addStars(); +}).observe(document.querySelector('div.lister-list'), // target of the observer: the "pics" area element, with rows that contain 3 pics each (watching for 'row' element additions) + { + // attributes: true, + childList: true, + // characterData: true, + // subtree: true, + }); // config of the observer \ No newline at end of file diff --git a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md similarity index 92% rename from IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md rename to IMDb_user_reviews_pages_-_ten_star_ratings/README.md index 12f4ce1..a14d766 100644 --- a/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings/README.md +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md @@ -7,5 +7,5 @@ Intial: With the script: ![With the script](https://i.imgur.com/Wl0PKtQ.jpg) -Note: if you for use this style: [IMDb.com - Nightmode](https://userstyles.org/styles/98447/imdb-com-nightmode) (like me) then comment out line 38 and uncomment line 39, +Note: if you for use this style: [IMDb.com - Nightmode](https://userstyles.org/styles/98447/imdb-com-nightmode) (like me) then comment out line 22 and uncomment line 29, in order the extra stars to become black (instead of almost-white). diff --git a/README.md b/README.md index 128aa59..10a5a8f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This repo contains my userscripts. - [GreasyFork - filter libraries in profiles](https://github.com/darkred/Userscripts/tree/master/GreasyFork_-_filter_libraries_in_profiles#readme) - Filters libraries in GreasyFork profiles. - [GreasyFork Bullshit Filter (compatible with Citrus GFork)](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter_(compatible_with_Citrus_GFork)#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [GreasyFork Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -- [IMDb User Reviews pages - as many star icons as the ratings](https://github.com/darkred/Userscripts/tree/master/IMDb_User_Reviews_pages_-_as_many_star_icons_as_the_ratings#readme) In IMDb User Reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +- [IMDb user reviews pages - ten star ratings](https://github.com/darkred/Userscripts/tree/master/IMDb_user_reviews_pages_-_ten_star_ratings#readme) In IMDb user reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). - [Instagram - visible images counter](https://github.com/darkred/Userscripts/tree/master/Instagram_-_visible_images_counter#readme) - Shows (in instagram profile pages) - how many images out of total (as a number and as a percentage) - are currently visible, as you scroll down the page. - [ixIRC - sortable search results](https://github.com/darkred/Userscripts/tree/master/ixIRC_-_sortable_search_results#readme) - Makes the search results sortable. - [KAT - add APPROVE ALL and APPROVE SELECTED buttons to Feedback popup](https://github.com/darkred/Userscripts/tree/master/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup#readme) - Adds 'APPROVE ALL' and 'APPROVE SELECTED' buttons. From 6089b722c088062ac39ed769b7fbae4c93929504 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 30 Apr 2018 00:50:44 +0300 Subject: [PATCH 025/439] (.eslintrc.js) Removed the "complexity" rule --- .eslintrc.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5716af7..a96871b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,7 +19,6 @@ module.exports = { } }, "rules": { - "complexity": ["warn", 3], "eqeqeq": "warn", "func-style": "off", "indent": ["warn","tab"], From 0f245527abbf36d9a4b4007b6cf8d97469ec0d12 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 30 Apr 2018 01:16:58 +0300 Subject: [PATCH 026/439] (IMDb user reviews pages - ten star ratings) improved the description wording --- .../IMDb_user_reviews_pages_-_ten_star_ratings.user.js | 2 +- IMDb_user_reviews_pages_-_ten_star_ratings/README.md | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js index a25f8cc..888d0a8 100644 --- a/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js @@ -2,7 +2,7 @@ // @name IMDb user reviews pages - ten star ratings // @namespace darkred // @license MIT -// @description In IMDb user reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +// @description In IMDb user reviews pages, display the ratings with 10 stars, instead of just 1 // @version 2018.4.30 // @match https://www.imdb.com/title/*/reviews* // @grant GM_addStyle diff --git a/IMDb_user_reviews_pages_-_ten_star_ratings/README.md b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md index a14d766..d20e242 100644 --- a/IMDb_user_reviews_pages_-_ten_star_ratings/README.md +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md @@ -1,4 +1,4 @@ -This userscript applies to IMDb User Reviews pages. It display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +This userscript applies to IMDb User Reviews pages. It displays the ratings with 10 stars, instead of just 1. Screenshot from e.g. https://www.imdb.com/title/tt0076759/reviews Intial: diff --git a/README.md b/README.md index 10a5a8f..2af3902 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This repo contains my userscripts. - [GreasyFork - filter libraries in profiles](https://github.com/darkred/Userscripts/tree/master/GreasyFork_-_filter_libraries_in_profiles#readme) - Filters libraries in GreasyFork profiles. - [GreasyFork Bullshit Filter (compatible with Citrus GFork)](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter_(compatible_with_Citrus_GFork)#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [GreasyFork Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/GreasyFork_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -- [IMDb user reviews pages - ten star ratings](https://github.com/darkred/Userscripts/tree/master/IMDb_user_reviews_pages_-_ten_star_ratings#readme) In IMDb user reviews pages, display as many star icons as the ratings (in yellow) compared to the max rating, 10 (in black). +- [IMDb user reviews pages - ten star ratings](https://github.com/darkred/Userscripts/tree/master/IMDb_user_reviews_pages_-_ten_star_ratings#readme) In IMDb user reviews pages, display the ratings with 10 stars, instead of just 1. - [Instagram - visible images counter](https://github.com/darkred/Userscripts/tree/master/Instagram_-_visible_images_counter#readme) - Shows (in instagram profile pages) - how many images out of total (as a number and as a percentage) - are currently visible, as you scroll down the page. - [ixIRC - sortable search results](https://github.com/darkred/Userscripts/tree/master/ixIRC_-_sortable_search_results#readme) - Makes the search results sortable. - [KAT - add APPROVE ALL and APPROVE SELECTED buttons to Feedback popup](https://github.com/darkred/Userscripts/tree/master/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup#readme) - Adds 'APPROVE ALL' and 'APPROVE SELECTED' buttons. From 42eca4c6cab47b0cea3d466ffb5a285ee50d31d7 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 4 May 2018 00:58:37 +0300 Subject: [PATCH 027/439] README.md - newlines --- IMDb_user_reviews_pages_-_ten_star_ratings/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/IMDb_user_reviews_pages_-_ten_star_ratings/README.md b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md index d20e242..e24429d 100644 --- a/IMDb_user_reviews_pages_-_ten_star_ratings/README.md +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/README.md @@ -1,4 +1,5 @@ -This userscript applies to IMDb User Reviews pages. It displays the ratings with 10 stars, instead of just 1. +This userscript applies to IMDb user reviews pages. It displays the ratings with 10 stars, instead of just 1. +_It also works when you click the 'Load More' button to view more reviews._ Screenshot from e.g. https://www.imdb.com/title/tt0076759/reviews Intial: @@ -7,5 +8,5 @@ Intial: With the script: ![With the script](https://i.imgur.com/Wl0PKtQ.jpg) -Note: if you for use this style: [IMDb.com - Nightmode](https://userstyles.org/styles/98447/imdb-com-nightmode) (like me) then comment out line 22 and uncomment line 29, -in order the extra stars to become black (instead of almost-white). +Note: if you use this style: [IMDb.com - Nightmode](https://userstyles.org/styles/98447/imdb-com-nightmode) (like me) then comment out line 22 and uncomment line 29, +in order the extra stars to be almost-black (instead of almost-white). From 35acf347c28788c6df14cab83eff36ebf0da66c6 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 4 May 2018 01:00:19 +0300 Subject: [PATCH 028/439] (thepiratebay helper) improved/corrected the messages and the counter at the bottom of the page --- thepiratebay_helper/thepiratebay_helper.user.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/thepiratebay_helper/thepiratebay_helper.user.js b/thepiratebay_helper/thepiratebay_helper.user.js index 803e388..cbccef2 100644 --- a/thepiratebay_helper/thepiratebay_helper.user.js +++ b/thepiratebay_helper/thepiratebay_helper.user.js @@ -4,8 +4,8 @@ // @authors emptyparad0x, darkred // @license MIT // @description Converts dates to local timezone on thepiratebay and optionally either highlight VIP/Trusted/Moderator/Helper torrents or hide non verified torrents altogether -// @version 0.9.6m -// @date 2017.11.13 +// @version 0.9.6n +// @date 2018.5.4 // @include /^https?://thepiratebay\.(org|se|gd|la|mn|vg)/(search|browse|user|recent|torrent|tv|music|top).*$/ // @grant none // @require https://code.jquery.com/jquery-3.2.0.min.js @@ -135,11 +135,11 @@ if (swapVerifiedIconsWithCommentsChoice === true) { //Check page var url = window.location.href; var host = window.location.host; -if (url.indexOf(host + '/torrent/') !== -1) { +if (url.indexOf(host + '/torrent/') !== -1) { // if current is a torrent page if (relativeDates === true) { convertDatesInTorrentPage(); } -} else { +} else { // if current is search results // Enhance trusted torrents @@ -153,9 +153,9 @@ if (url.indexOf(host + '/torrent/') !== -1) { var counter = 0; if (enhanceVisibility === 'Hide') { - hideNonTrusted(); + hideNonTrusted(); // the value of 'counter' increases inside the hideNonTrusted function execution if (counter > 0) { - document.querySelector('#TimeChangerConfig').insertAdjacentHTML('afterend', '
' + counter + ' non verified torrents hidden
click here or press ` to view all torrents with comments,
or press ~ to view all
'); + document.querySelector('#TimeChangerConfig').insertAdjacentHTML('afterend', '
' + counter + ' non verified torrents hidden
click here (or press `) to view all torrents with comments,
or press ~ to view all
'); } var flagHide = true; @@ -172,6 +172,7 @@ if (url.indexOf(host + '/torrent/') !== -1) { $(getAllTableLines()).each(function() { $(this).show(); }); + $('#TimeChangerConfig').nextAll().eq(1).html('click here (or press `) to view only verified torrents'); // if (swapVerifiedIconsWithCommentsChoice === true) { // restoreCommentIconsPosition(); // } @@ -210,7 +211,7 @@ function toggleHide() { hideNonTrusted(); } - $('#TimeChangerConfig').nextAll().eq(1).html('click here (or press `) to view only verified torrents'); + $('#TimeChangerConfig').nextAll().eq(1).html('' + $('tbody > tr[style="display: none;"]').length + ' torrents without comments hidden
click here (or press `) to view only verified torrents
or press ~ to view all
'); flagHide = false; } else { @@ -219,7 +220,7 @@ function toggleHide() { hideNonTrusted(); - $('#TimeChangerConfig').nextAll().eq(1).html('' + counter + ' non verified torrents hidden - click here or press ` to view all torrents'); + $('#TimeChangerConfig').nextAll().eq(1).html('' + counter + ' non verified torrents hidden
click here (or press `) to view all torrents with comments,
or press ~ to view all
'); flagHide = true; } } From 9ae5b26369166f75bf064e6e91cd1963dcd022eb Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 6 May 2018 15:31:57 +0300 Subject: [PATCH 029/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Initial commit --- ..._entries_and_various_visual_tweaks.user.js | 116 ++++++++++++++++++ .../README.md | 11 ++ README.md | 1 + 3 files changed, 128 insertions(+) create mode 100644 RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js create mode 100644 RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js new file mode 100644 index 0000000..a8f0403 --- /dev/null +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -0,0 +1,116 @@ +// ==UserScript== +// @name RARBG torrent detail pages - rearrange entries and various visual tweaks +// @description Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings +// @namespace darkred +// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ +// @version 2018.5.6 +// @grant none +// ==/UserScript== + + +/* eslint-disable quotes */ + + +// The userscript makes use of the page's jQuery 1.11.3 +// Unneeded: require http://code.jquery.com/ui/1.9.1/jquery-ui.min.js + + + +// Decimal Rating + +var node = document.querySelector('.ratingblock p'); +var text = document.querySelector('.ratingblock p').innerHTML; +node.title = node.innerText; +var regex = /[\s]+[\s]+([\d.]+)<\/strong>\/([\d.]+)(.*)/; + +var average = text.match(regex)[1] * 2; +var votes = text.match(regex)[2] * 2; +var rest = text.match(regex)[3]; + +node.innerHTML = ' Rating: ' + average + '/' + votes + rest; + +// --------------------------------------------------------- + + + +// The main script + +var title = $(".header2:contains('Title')").parent().text().replace('Title:',''); + +$( "a[href*='imdb.com']" ).html(title); +$(".header2:contains('Title')").parent().remove(); + +var trailer = $(".header2:contains('Trailer:')").parent(); +var imdbLink = $( "a[href*='imdb.com']" ).parent().parent(); +var imdbRating = $(".header2:contains('IMDB Rating:')").parent(); +var userRating = $(".header2:contains('Rating:')").filter(function() { + return $.trim($(this).text()) === "Rating:"; +}).parent(); +// var target = $(".header2:contains('Rotten Rating:')").parent(); +// if (target.length === 0) { +// target = $(".header2:contains('Genres:')").parent(); +// } +// var target = $(".header2:contains('Genres:')").parent(); + +// $(trailer).insertBefore(target); +// $(imdbLink).insertBefore(target); +// $(imdbRating).insertBefore(target); +// $(userRating).insertBefore(target); + + +var target = $(".header2:contains('Added:')").parent(); + +$(imdbRating).insertAfter(target); +$(imdbLink).insertAfter(target); +$(trailer).insertAfter(target); +// $(userRating).insertAfter(target); + +var target2 = $(".header2:contains('Genres:')").parent(); +$(userRating).insertBefore(target2); + + + +$(".header2:contains('Rotten Rating:')").html('RT Critics Avg:'); +$(".header2:contains('RottenTomatoes:')").html('RT Tomatometer:'); + +$(".header2:contains('RT Tomatometer:')").parent().insertBefore($(".header2:contains('RT Critics Avg:')").parent()); + + + +// MAKING BOLD +var imdbRatingNode = $(".header2:contains('IMDB Rating:')").next(); +$(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); + + +var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); +if (rtTomatometerNode.length !== 0) + $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*)\ ([\d]+%)(.*)\ ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); + + +var rtCriticsAvgNode = $(".header2:contains('RT Critics Avg:')").next(); +if (rtCriticsAvgNode.length !== 0) + $(rtCriticsAvgNode).html($(rtCriticsAvgNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); + + +// var userRating = $("p:contains('votes cast')"); +userRating = $("p:contains('votes cast')"); +$(userRating).css('font-size', '11px'); +$(userRating).html($(userRating).html().replace('Rating:', '')); +// $(userRating).html($(userRating).html().replace('')); + +$(userRating).replaceWith(function() { + return "
" + this.innerHTML + "
"; +}); + + + + + +$(".header2:contains('Rotten Plot:')").parent().insertAfter($(".header2:contains('RT Critics Avg:')").parent()); +$(".header2:contains('Rotten Plot:')").html('RT Critics Consensus:'); + +$(".header2:contains('IMDB Rating:')").html('IMDb Rating:'); + + +$(".header2:contains('Plot:')").parent().insertAfter($(".header2:contains('IMDb Rating:')").parent()); +$(".header2:contains('Plot:')").html('IMDb Summary:'); diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md new file mode 100644 index 0000000..b94a0a5 --- /dev/null +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -0,0 +1,11 @@ +This userscript applies to RARBG torrent detail pages. +It rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings. + +Screenshot example: +Initial: +![initial](https://i.imgur.com/Umu8d28.jpg) + +With the script: +![With the script](https://i.imgur.com/X1nja2n.jpg) + +The script makes use of the page's jQuery 1.11.3. diff --git a/README.md b/README.md index 2af3902..51cb73e 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ This repo contains my userscripts. - [OpenSubtitles - direct download links](https://github.com/darkred/Userscripts/tree/master/OpenSubtitles_-_direct_download_links#readme) - Converts the subtitles download links to direct ones, in order to avoid the redirection to download pages that display ads. - [OpenUserJS Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/OpenUserJS_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [RARBG - convert torrent timestamps to relative format](https://github.com/darkred/Userscripts/tree/master/RARBG_-_convert_torrent_timestamps_to_relative_format#readme) - Convert torrent upload timestamps to local timezone or to relative format. +- [RARBG torrent detail pages - rearrange entries and various visual tweaks](https://github.com/darkred/Userscripts/tree/master/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks#readme) - Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings - [RARBG - torrent and magnet links](https://github.com/darkred/Userscripts/tree/master/RARBG_-_torrent_and_magnet_links#readme) - Adds a column in search results for direct torrent or magnet link downloading. - [Reddit Infinite Scrolling](https://github.com/darkred/Userscripts/tree/master/Reddit_Infinite_Scrolling#readme) - Adds infinite scrolling to subreddits and to comments. - [Rotten Tomatoes Decimal Rating](https://github.com/darkred/Userscripts/tree/master/Rotten_Tomatoes_Decimal_Rating#readme) - Changes base-5 Rating of Rotten Tomatoes to base-10. From 6d090cc43af355dbff078a7df221653596c04bbb Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 6 May 2018 15:56:31 +0300 Subject: [PATCH 030/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Added @license in the metadata block. --- ...ges_-_rearrange_entries_and_various_visual_tweaks.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index a8f0403..47de1a3 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks -// @description Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings // @namespace darkred -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ +// @license MIT +// @description Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings // @version 2018.5.6 +// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== From 50662bb14e84cf134783d760f1aa91032ee1cc03 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 6 May 2018 20:34:43 +0300 Subject: [PATCH 031/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) slight wording change in the @description and updated the screenshots in its README.md --- ..._-_rearrange_entries_and_various_visual_tweaks.user.js | 2 +- .../README.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 47de1a3..73ec000 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -2,7 +2,7 @@ // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred // @license MIT -// @description Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings +// @description Rearranges various entries, displays in bold the various rating values, remames a few entries more suitably and use decimal rating for the users' ratings // @version 2018.5.6 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index b94a0a5..bf85da4 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -1,11 +1,11 @@ This userscript applies to RARBG torrent detail pages. -It rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings. +It rearranges various entries, displays in bold the various rating values, renames a few entries more suitably and use decimal rating for the users' ratings. -Screenshot example: +Screenshot comparison: Initial: -![initial](https://i.imgur.com/Umu8d28.jpg) +[![](https://i.imgur.com/Umu8d28l.jpg)](https://i.imgur.com/Umu8d28.jpg) With the script: -![With the script](https://i.imgur.com/X1nja2n.jpg) +[![](https://i.imgur.com/f0gRRoNl.jpg)](https://i.imgur.com/f0gRRoN.jpg) The script makes use of the page's jQuery 1.11.3. From 347df6324d57a6cd425e48e6a4033ef0c041f63f Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 7 May 2018 19:32:58 +0300 Subject: [PATCH 032/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) More rearrangements --- ..._entries_and_various_visual_tweaks.user.js | 43 ++++++++++++------- .../README.md | 4 +- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 73ec000..6ef22b4 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -2,8 +2,8 @@ // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred // @license MIT -// @description Rearranges various entries, displays in bold the various rating values, remames a few entries more suitably and use decimal rating for the users' ratings -// @version 2018.5.6 +// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings +// @version 2018.5.7 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -37,9 +37,9 @@ node.innerHTML = ' Rating: ' + average + '/' + votes + rest; // The main script var title = $(".header2:contains('Title')").parent().text().replace('Title:',''); - $( "a[href*='imdb.com']" ).html(title); -$(".header2:contains('Title')").parent().remove(); +// $(".header2:contains('Title')").parent().remove(); + var trailer = $(".header2:contains('Trailer:')").parent(); var imdbLink = $( "a[href*='imdb.com']" ).parent().parent(); @@ -47,16 +47,6 @@ var imdbRating = $(".header2:contains('IMDB Rating:')").parent(); var userRating = $(".header2:contains('Rating:')").filter(function() { return $.trim($(this).text()) === "Rating:"; }).parent(); -// var target = $(".header2:contains('Rotten Rating:')").parent(); -// if (target.length === 0) { -// target = $(".header2:contains('Genres:')").parent(); -// } -// var target = $(".header2:contains('Genres:')").parent(); - -// $(trailer).insertBefore(target); -// $(imdbLink).insertBefore(target); -// $(imdbRating).insertBefore(target); -// $(userRating).insertBefore(target); var target = $(".header2:contains('Added:')").parent(); @@ -85,7 +75,7 @@ $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); if (rtTomatometerNode.length !== 0) - $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*)\ ([\d]+%)(.*)\ ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); + $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*) ([\d]+%)(.*)s ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); var rtCriticsAvgNode = $(".header2:contains('RT Critics Avg:')").next(); @@ -113,5 +103,26 @@ $(".header2:contains('Rotten Plot:')").html('RT Critics Consensus:'); $(".header2:contains('IMDB Rating:')").html('IMDb Rating:'); -$(".header2:contains('Plot:')").parent().insertAfter($(".header2:contains('IMDb Rating:')").parent()); +$(".header2:contains('Plot:')").parent().insertBefore($(".header2:contains('IMDb Rating:')").parent()); $(".header2:contains('Plot:')").html('IMDb Summary:'); + + +$(".header2:contains('Genres:')").parent().insertAfter($('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent()); +$(".header2:contains('Actors:')").parent().insertAfter($(".header2:contains('Genres:')").parent()); + +$(".header2:contains('IMDB Runtime:')").html('IMDb Runtime:'); +$(".header2:contains('IMDb Runtime:')").parent().insertAfter($(".header2:contains('IMDb Summary:')").parent()); + +$(".header2:contains('Year:')").parent().insertAfter($('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent()); + +$(".header2:contains('Director:')").parent().insertBefore($(".header2:contains('Actors:')").parent()); + +$(".header2:contains('Show/Hide NFO:')").parent().insertAfter($(".header2:contains('Release name:')").parent()); + +$(".header2:contains('Release name:')").parent().insertBefore($(".header2:contains('Category:')").parent()); + +$(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Year:')").parent()); + +$('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); + +$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); \ No newline at end of file diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index bf85da4..016bce5 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,9 +3,9 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/Umu8d28l.jpg)](https://i.imgur.com/Umu8d28.jpg) +[![](https://i.imgur.com/cko1Gnjl.jpg)](https://i.imgur.com/cko1Gnj.jpg) With the script: -[![](https://i.imgur.com/f0gRRoNl.jpg)](https://i.imgur.com/f0gRRoN.jpg) +[![](https://i.imgur.com/FzVTdSPl.jpg)](https://i.imgur.com/FzVTdSP.jpg) The script makes use of the page's jQuery 1.11.3. From 6f08b7b51405d067e3fd18e6d5e5ef914129f9e2 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 8 May 2018 00:55:21 +0300 Subject: [PATCH 033/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Ten star rating --- ...rearrange_entries_and_various_visual_tweaks.user.js | 10 ++++++++-- .../README.md | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 6ef22b4..ad9d811 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.5.7 +// @version 2018.5.8 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -30,6 +30,12 @@ var rest = text.match(regex)[3]; node.innerHTML = ' Rating: ' + average + '/' + votes + rest; + +// for ten star rating (instead of five star) +document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; +document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; +document.querySelector('.current-rating').innerHTML = document.querySelector('.current-rating').innerHTML.replace('Currently ', '').replace(/([\d.]+)\/([\d.]+)/, function(m, s1, s2) { return 2 * s1 + '/' + 2 * s2;}); + // --------------------------------------------------------- @@ -125,4 +131,4 @@ $(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Yea $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); -$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); \ No newline at end of file +$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 016bce5..64c785b 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,9 +3,9 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/cko1Gnjl.jpg)](https://i.imgur.com/cko1Gnj.jpg) +[![](https://i.imgur.com/1kvPT56l.jpg)](https://i.imgur.com/1kvPT56.jpg) With the script: -[![](https://i.imgur.com/FzVTdSPl.jpg)](https://i.imgur.com/FzVTdSP.jpg) +[![](https://i.imgur.com/7l6Ht6Il.jpg)](https://i.imgur.com/7l6Ht6I.jpg) The script makes use of the page's jQuery 1.11.3. From 6bbad428b9e66dce4ef057e67c9c40cbb736fd27 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 9 May 2018 00:40:21 +0300 Subject: [PATCH 034/439] (Firefox for desktop - list fixed/modified bugs in Mercurial/as sortable table) Made the script working again. Thanks once more to johnp for his help! - Replaced '.error' callback with '.fail' - made the 'success' callback less error prone. No need to try to unpack the json there. - reindented code --- ...top_-_list_fixed_bugs_in_Mercurial.user.js | 116 ++++----- ...ugs_in_Mercurial_as_sortable_table.user.js | 205 ++++++++-------- ...ugs_in_Mercurial_as_sortable_table.user.js | 226 ++++++++++-------- 3 files changed, 282 insertions(+), 265 deletions(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index 848a600..1ead4c8 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -4,21 +4,20 @@ // @authors darkred, johnp // @license MIT // @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 4.2.3 -// @date 2017.11.16 +// @version 4.2.5 +// @date 2018.5.8 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant none +// @grant GM_addStyle +// @grant GM_getResourceText +// @grant GM_setClipboard // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js +// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== -// // @grant GM_addStyle -// // @grant GM_getResourceText -/// // @grant GM.setClipboard -// // @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css -/* global $:false */ -/* eslint-disable no-console */ +/* eslint-disable no-console, indent, no-mixed-spaces-and-tabs, complexity */ var silent = false; @@ -45,18 +44,8 @@ String.prototype.escapeHTML = function() { // // 'href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.min.css" ' + // uncomment this (and comment #19) in order to change theme // 'rel="stylesheet" type="text/css">' // ); - -// var newCSS = GM_getResourceText ('customCSS'); -// GM_addStyle (newCSS); -// $('head').append(stylesheet); -// $('head').append(''); -$.ajax({ - url:'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', - success:function(data){ - $('').appendTo('head').html(data); - } -}); - +var newCSS = GM_getResourceText ('customCSS'); +GM_addStyle (newCSS); var regex = /^https:\/\/bugzilla\.mozilla\.org\/show_bug\.cgi\?id=(.*)$/; @@ -85,31 +74,31 @@ time('MozillaMercurial-REST'); $.getJSON(rest_url, function(data) { timeEnd('MozillaMercurial-REST'); data.bugs.sort(function(a, b) { - return (a.product + ': ' + a.component + ': ' + a.summary) > (b.product + ': ' + b.component + ': ' + b.summary); + return (a.product + ': ' + a.component + ': ' + a.summary).localeCompare(b.product + ': ' + b.component + ': ' + b.summary); }); $.each(data.bugs, function(index) { let bug = data.bugs[index]; - // process bug (let "shorthands" just to simplify things during refactoring) + // process bug (let "shorthands" just to simplify things during refactoring) let status = bug.status; if (bug.resolution !== '') {status += ' ' + bug.resolution;} let product = bug.product; let component = bug.component; let platform = bug.platform; - if (platform == 'Unspecified') { + if (platform === 'Unspecified') { platform = 'Uns'; } if (bug.op_sys !== '' && bug.op_sys !== 'Unspecified') { platform += '/' + bug.op_sys; } let whiteboard = bug.whiteboard === '' ? '[]' : bug.whiteboard; - // todo: message??? + // todo: message??? log('----------------------------------------------------------------------------------------------------------------------------------'); log((index + 1) + '/' + numBugs); // Progression counter log('BugNo: ' + bug.id + '\nTitle: ' + bug.summary + '\nStatus: ' + status + '\nProduct: ' + product + '\nComponent: ' + component + '\nPlatform: ' + platform + '\nWhiteboard: ' + whiteboard); if (isRelevant(bug)) { - // add html code for this bug + // add html code for this bug bugsComplete.push('#' + bug.id @@ -118,13 +107,13 @@ $.getJSON(rest_url, function(data) { + bug.summary.escapeHTML() + ' [' + platform + ']' + whiteboard.escapeHTML() + '
'); } counter++; // increase counter - // remove processed bug from bugIds + // remove processed bug from bugIds let i = bugIds.indexOf(bug.id); if (i !== -1) {bugIds[i] = null;} }); log('==============\nReceived ' + counter + ' of ' + numBugs + ' bugs.'); - // process remaining bugs one-by-one + // process remaining bugs one-by-one var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { @@ -133,19 +122,15 @@ $.getJSON(rest_url, function(data) { time('Requesting missing bug ' + id); let promise = $.getJSON('https://bugzilla.mozilla.org/rest/bug/' + id, function(json) { - // I've not end up here yet, so cry if we do - console.error('Request succeeded unexpectedly!'); - console.error('Please submit this information to the script authors:'); - timeEnd('Requesting missing bug ' + id); - console.log(json); - let bug = json.bugs[0]; - console.log(bug); - // TODO: display as much information as possible -}); - // Actually, we usually get an error - promise.error(function(req, status, error) { - timeEnd('Requesting missing bug ' + id); - if (error == 'Authorization Required') { + // I've not end up here yet, so cry if we do + console.error('Request for bug ' + id + ' succeeded unexpectedly!'); + timeEnd('Requesting missing bug ' + id); + console.error(json); + }); + // Actually, we usually get an '401 Authorization Required' error + promise.fail(function(req, status, error) { + timeEnd('Requesting missing bug ' + id); + if (error === 'Authorization Required') { log('Bug ' + id + ' requires authorization!'); log('https://bugzilla.mozilla.org/show_bug.cgi?id=' + id + ' requires authorization!'); let text = ' requires authorization!
'; @@ -160,22 +145,22 @@ $.getJSON(rest_url, function(data) { requests.push(promise); } }); - // wait for all requests to be settled, then join them together - // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed + // wait for all requests to be settled, then join them together + // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed $.when.apply($, $.map(requests, function(p) { return p.then(null, function() { return $.Deferred().resolveWith(this, arguments); }); })).always(function() { timeEnd('MozillaMercurial-missing'); - // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below + // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below var docu = ''; docu = bugsComplete.join(''); var div = document.createElement('div'); $('div.page_footer').append(div); div.id = 'dialog'; - // GM_setClipboard (docu); // This line stores the list content HTML code to clipboard (aimed for MozillaZine daily "The Official Win32 xxxxxxx builds" maintainer) + // GM_setClipboard (docu); // This line stores the list content HTML code to clipboard (aimed for MozillaZine daily "The Official Win32 xxxxxxx builds" maintainer) docu = '
' + docu + '
'; div.innerHTML = docu; $('#dialog').hide(); @@ -194,38 +179,39 @@ $.getJSON(rest_url, function(data) { function isRelevant(bug) { if (!bug.id) {return false;} - if (bug.status && bug.status != 'RESOLVED' && bug.status != 'VERIFIED') { + if (bug.status && bug.status !== 'RESOLVED' && bug.status !== 'VERIFIED') { log(' IRRELEVANT because of it\'s Status --> ' + bug.status); return false; } - if (bug.component && bug.product && bug.component == 'Build Config' && (bug.product == 'Toolkit' || bug.product == 'Firefox')) { + if (bug.component && bug.product && bug.component === 'Build Config' && (bug.product === 'Toolkit' || bug.product === 'Firefox')) { log(' IRRELEVANT because of it\'s Product --> ' + bug.product + 'having component --> ' + bug.component); return false; } - if (bug.product && bug.product != 'Add-on SDK' && - bug.product != 'Cloud Services' && - bug.product != 'Core' && - bug.product != 'Firefox' && - bug.product != 'Hello (Loop)' && - bug.product != 'Toolkit') { + if ( bug.product && + bug.product !== 'Add-on SDK' && + bug.product !== 'Cloud Services' && + bug.product !== 'Core' && + bug.product !== 'Firefox' && + bug.product !== 'Hello (Loop)' && + bug.product !== 'Toolkit') { log(' IRRELEVANT because of it\'s Product --> ' + bug.product); return false; } - if (bug.component && bug.component == 'AutoConfig' || - bug.component == 'Build Config' || - bug.component == 'DMD' || - bug.component == 'Embedding: GRE Core' || - bug.component == 'Embedding: Mac' || - bug.component == 'Embedding: MFC Embed' || - bug.component == 'Embedding: Packaging' || - bug.component == 'Hardware Abstraction Layer' || - bug.component == 'mach' || - bug.component == 'Nanojit' || - bug.component == 'QuickLaunch' || - bug.component == 'Widget: Gonk') { + if (bug.component && bug.component === 'AutoConfig' || + bug.component === 'Build Config' || + bug.component === 'DMD' || + bug.component === 'Embedding: GRE Core' || + bug.component === 'Embedding: Mac' || + bug.component === 'Embedding: MFC Embed' || + bug.component === 'Embedding: Packaging' || + bug.component === 'Hardware Abstraction Layer' || + bug.component === 'mach' || + bug.component === 'Nanojit' || + bug.component === 'QuickLaunch' || + bug.component === 'Widget: Gonk') { log(' IRRELEVANT because of it\'s Component --> ' + bug.component); return false; diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index ae97500..c717dff 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,10 +4,11 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.5 -// @date 2017.12.15 +// @version 5.5.6 +// @date 2018.5.8 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant none +// @grant GM_addStyle +// @grant GM_getResourceText // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.24.3/js/jquery.tablesorter.min.js @@ -16,25 +17,30 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js +// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== -/* global $:false, jstz, moment */ + +/* esli nt-disable no-console, indent, no-mixed-spaces-and-tabs, complexity */ +/* eslint-disable no-console, complexity */ +/* global jstz, moment */ // CSS rules in order to show 'up' and 'down' arrows in each table header var stylesheet = ` `; @@ -82,7 +88,15 @@ $('head').append(stylesheet2); - +// theme for the jQuery dialog +// $("head").append( +// '' +// ); +var newCSS = GM_getResourceText ('customCSS'); +GM_addStyle (newCSS); @@ -157,26 +171,26 @@ $.getJSON(rest_url, function(data) { timeEnd('MozillaMercurial-REST'); $.each(data.bugs, function(index) { let bug = data.bugs[index]; - // process bug (let "shorthands" just to simplify things during refactoring) + // process bug (let "shorthands" just to simplify things during refactoring) let status = bug.status; if (bug.resolution !== '') {status += ' ' + bug.resolution;} let product = bug.product; let component = bug.component; let platform = bug.platform; - if (platform == 'Unspecified') { + if (platform === 'Unspecified') { platform = 'Uns'; } if (bug.op_sys !== '' && bug.op_sys !== 'Unspecified') { platform += '/' + bug.op_sys; } let whiteboard = bug.whiteboard === '' ? '[]' : bug.whiteboard; - // todo: message??? + // todo: message??? - // 2015-11-09T14:40:41Z + // 2015-11-09T14:40:41Z function toRelativeTime(time, zone) { var format2 = ('YYYY-MM-DD HH:mm:ss Z'); return moment(time, format2).tz(zone).fromNow(); @@ -196,12 +210,12 @@ $.getJSON(rest_url, function(data) { if (bug.last_change_time !== '') { var temp = toRelativeTime(bug.last_change_time, localTimezone); - if (temp.match(/(an?)\ .*/)) { + if (temp.match(/(an?) .*/)) { changetime = temp.replace(/an?/, 1); } else { changetime = temp; } - // changetime + // changetime } else { changetime = ''; } @@ -218,17 +232,17 @@ $.getJSON(rest_url, function(data) { log('BugNo: ' + bug.id + '\nTitle: ' + bug.summary + '\nStatus: ' + status + '\nProduct: ' + product + '\nComponent: ' + component + '\nPlatform: ' + platform + '\nWhiteboard: ' + whiteboard); if (isRelevant(bug)) { - // add html code for this bug + // add html code for this bug bugsComplete.push('
' - + bug.id - + '' - + '(' + product + ': ' + component + ') ' - + ''+bug.summary.escapeHTML() + ' [' + platform + ']' + whiteboard.escapeHTML() + '' - + '' + changetime + ''); // previously had a
at the end; + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '">' + + bug.id + + '' + + '(' + product + ': ' + component + ') ' + + ''+bug.summary.escapeHTML() + ' [' + platform + ']' + whiteboard.escapeHTML() + '' + + '' + changetime + ''); // previously had a
at the end; } counter++; // increase counter - // remove processed bug from bugIds + // remove processed bug from bugIds let i = bugIds.indexOf(bug.id); if (i !== -1) {bugIds[i] = null;} }); @@ -237,7 +251,7 @@ $.getJSON(rest_url, function(data) { - // process remaining bugs one-by-one + // process remaining bugs one-by-one var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { @@ -245,27 +259,23 @@ $.getJSON(rest_url, function(data) { if (id !== null) { time('Requesting missing bug ' + id); let promise = $.getJSON('https://bugzilla.mozilla.org/rest/bug/' + id, - function(json) { - // I've not end up here yet, so cry if we do - console.error('Request succeeded unexpectedly!'); - console.error('Please submit this information to the script authors:'); - timeEnd('Requesting missing bug ' + id); - console.log(json); - let bug = json.bugs[0]; - console.log(bug); - // TODO: display as much information as possible -}); - // Actually, we usually get an error - promise.error(function(req, status, error) { + function(json) { + // I've not end up here yet, so cry if we do + console.error('Request for bug ' + id + ' succeeded unexpectedly!'); + timeEnd('Requesting missing bug ' + id); + console.error(json); + }); + // Actually, we usually get an '401 Authorization Required' error + promise.fail(function(req, status, error) { timeEnd('Requesting missing bug ' + id); - if (error == 'Authorization Required') { - // log("Bug " + id + " requires authorization!"); + if (error === 'Authorization Required') { + // log("Bug " + id + " requires authorization!"); log('https://bugzilla.mozilla.org/show_bug.cgi?id=' + id + ' requires authorization!'); let text = ' requires authorization!
'; bugsComplete.push('#' - + id + '' + text); + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ id + '">#' + + id + '' + text); } else { console.error('Unexpected error encountered (Bug' + id + '): ' + status + ' ' + error); } @@ -273,25 +283,25 @@ $.getJSON(rest_url, function(data) { requests.push(promise); } }); - // wait for all requests to be settled, then join them together - // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed + // wait for all requests to be settled, then join them together + // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed $.when.apply($, $.map(requests, function(p) { return p.then(null, function() { return $.Deferred().resolveWith(this, arguments); }); })).always(function() { timeEnd('MozillaMercurial-missing'); - // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below + // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below var docu = ''; docu = bugsComplete.join(''); docu = ' ' + - '' + - '' + - '' + // '' + - '' + - '' + // '' + - '' + - '' + docu + '
BugNoProduct/ComponentProduct/Component_________SummaryModified
Modified__
'; + '' + + 'BugNo' + + 'Product/Component' + // 'Product/Component_________' + + 'Summary' + + 'Modified' + // 'Modified__' + + '' + + '' + docu + ''; @@ -315,21 +325,21 @@ $.getJSON(rest_url, function(data) { -// THE CUSTOM PARSER MUST BE PUT BEFORE '$('#tbl').tablesorter ( {'' or else it wont work !!!! -// add parser through the tablesorter addParser method (for the "Last modified" column) + // THE CUSTOM PARSER MUST BE PUT BEFORE '$('#tbl').tablesorter ( {'' or else it wont work !!!! + // add parser through the tablesorter addParser method (for the "Last modified" column) $.tablesorter.addParser({ - // set a unique id + // set a unique id id: 'dates', is: function(s) { return false; // return false so this parser is not auto detected }, format: function(s) { - // format your data for normalization + // format your data for normalization if (s !== ''){ var number1, number2; - // format your data for normalization - number1 = Number((/(.{1,2})\ .*/).exec(s)[1]); + // format your data for normalization + number1 = Number((/(.{1,2}) .*/).exec(s)[1]); if (s.match(/A few seconds ago/)) { number2 = 0;} @@ -343,13 +353,13 @@ $.getJSON(rest_url, function(data) { } }, - // set type, either numeric or text + // set type, either numeric or text type: 'numeric' }); -// make table sortable + // make table sortable $('#tbl').tablesorter({ cssAsc: 'up', cssDesc: 'down', @@ -357,9 +367,9 @@ $.getJSON(rest_url, function(data) { headers: {3: {sorter: 'dates'}}, initialized: function() { var mytable = document.getElementById('tbl'); - for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - if (mytable.rows[i].cells[3].innerHTML != mytable.rows[i - 1].cells[3].innerHTML) { - for (var k = 0; k < 4; k++) { + for (let i = 2, j = mytable.rows.length + 1; i < j; i++) { + if (mytable.rows[i].cells[3].innerHTML !== mytable.rows[i - 1].cells[3].innerHTML) { + for (let k = 0; k < 4; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = '1px black dotted'; } } @@ -389,13 +399,13 @@ var flag = 1; // bind keypress of ` so that when pressed, the separators between groups of the same timestamps to be removed, in order to sort manually var listener = new window.keypress.Listener(); listener.simple_combo('`', function() { - // console.log('You pressed `'); + // console.log('You pressed `'); if (flag === 1) { flag = 0; - // remove seperators + // remove seperators var mytable = document.getElementById('tbl'); - for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - for (var k = 0; k < 4; k++) { + for (let i = 2, j = mytable.rows.length + 1; i < j; i++) { + for (let k = 0; k < 4; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = 'none'; } } @@ -404,13 +414,13 @@ listener.simple_combo('`', function() { } else { if (flag === 0) { flag = 1; - // console.log('You pressed ~'); - var sorting = [[3, 0], [1, 0], [2, 0]]; // sort by column 3 'Modified Date, then by '1 'Product/Component' and then by column 2 'Summary' + // console.log('You pressed ~'); + sorting = [[3, 0], [1, 0], [2, 0]]; // sort by column 3 'Modified Date, then by '1 'Product/Component' and then by column 2 'Summary' $('#tbl').trigger('sorton', [sorting]); - var mytable = document.getElementById('tbl'); - for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - if (mytable.rows[i].cells[3].innerHTML != mytable.rows[i - 1].cells[3].innerHTML) { - for (var k = 0; k < 4; k++) { + mytable = document.getElementById('tbl'); + for (let i = 2, j = mytable.rows.length + 1; i < j; i++) { + if (mytable.rows[i].cells[3].innerHTML !== mytable.rows[i - 1].cells[3].innerHTML) { + for (let k = 0; k < 4; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = '1px black dotted'; } } @@ -426,35 +436,37 @@ listener.simple_combo('`', function() { function isRelevant(bug) { if (!bug.id) {return false;} - if (bug.status && bug.status != 'RESOLVED' && bug.status != 'VERIFIED') { + if (bug.status && bug.status !== 'RESOLVED' && bug.status !== 'VERIFIED') { log(' IRRELEVANT because of it\'s Status --> ' + bug.status); return false; } - if (bug.component && bug.product && bug.component == 'Build Config' && (bug.product == 'Toolkit' || bug.product == 'Firefox')) { + if (bug.component && bug.product && bug.component === 'Build Config' && (bug.product === 'Toolkit' || bug.product === 'Firefox')) { log(' IRRELEVANT because of it\'s Product --> ' + bug.product + 'having component --> ' + bug.component); return false; } - if (bug.product && bug.product != 'Add-on SDK' && - bug.product != 'Cloud Services' && - bug.product != 'Core' && - bug.product != 'Firefox' && - bug.product != 'Hello (Loop)' && - bug.product != 'Toolkit') { + if (bug.product && + bug.product !== 'Add-on SDK' && + bug.product !== 'Cloud Services' && + bug.product !== 'Core' && + bug.product !== 'Firefox' && + bug.product !== 'Hello (Loop)' && + bug.product !== 'Toolkit') { log(' IRRELEVANT because of it\'s Product --> ' + bug.product); return false; } - if (bug.component && bug.component == 'AutoConfig' || - bug.component == 'Build Config' || - bug.component == 'DMD' || - bug.component == 'Embedding: GRE Core' || - bug.component == 'Embedding: Mac' || - bug.component == 'Embedding: MFC Embed' || - bug.component == 'Embedding: Packaging' || - bug.component == 'Hardware Abstraction Layer' || - bug.component == 'mach' || - bug.component == 'Nanojit' || - bug.component == 'QuickLaunch' || - bug.component == 'Widget: Gonk') { + if (bug.component && + bug.component === 'AutoConfig' || + bug.component === 'Build Config' || + bug.component === 'DMD' || + bug.component === 'Embedding: GRE Core' || + bug.component === 'Embedding: Mac' || + bug.component === 'Embedding: MFC Embed' || + bug.component === 'Embedding: Packaging' || + bug.component === 'Hardware Abstraction Layer' || + bug.component === 'mach' || + bug.component === 'Nanojit' || + bug.component === 'QuickLaunch' || + bug.component === 'Widget: Gonk') { log(' IRRELEVANT because of it\'s Component --> ' + bug.component); return false; } @@ -484,7 +496,7 @@ function timeEnd(str) { } } -// $(function() { + $('#dialog').dialog({ modal: false, title: 'Draggable, sizeable dialog', @@ -494,10 +506,9 @@ $('#dialog').dialog({ of: document, collision: 'none' }, - // width: 1500, // not working + // width: 1500, // not working zIndex: 3666 -}) - .dialog('widget').draggable('option', 'containment', 'none'); +}).dialog('widget').draggable('option', 'containment', 'none'); //-- Fix crazy bug in FF! ... $('#dialog').parent().css({ diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index 3be936b..a4e08de 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,10 +4,11 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.5 -// @date 2017.12.15 +// @version 5.5.6 +// @date 2018.5.8 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant none +// @grant GM_addStyle +// @grant GM_getResourceText // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.24.3/js/jquery.tablesorter.min.js @@ -16,23 +17,39 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js +// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== +/* eslint-disable no-console, indent, no-mixed-spaces-and-tabs, complexity */ +/* global jstz, moment */ + + + +var silent = false; +var debug = false; + +time('MozillaMercurial'); + + + + + // CSS rules in order to show 'up' and 'down' arrows in each table header var stylesheet = ` `; @@ -62,7 +79,7 @@ var stylesheet2 = /* in order the bug list to have width 1500px // it was 1500 and then 1600 */ .ui-dialog { - width:1700px !important; + width:1700px !important; } `; @@ -70,15 +87,20 @@ $('head').append(stylesheet2); +// theme for the jQuery dialog +// $("head").append( +// '' +// ); +var newCSS = GM_getResourceText ('customCSS'); +GM_addStyle (newCSS); -var silent = false; -var debug = false; - -time('MozillaMercurial'); String.prototype.escapeHTML = function() { var tagsToReplace = { @@ -142,26 +164,26 @@ $.getJSON(rest_url, function(data) { timeEnd('MozillaMercurial-REST'); $.each(data.bugs, function(index) { let bug = data.bugs[index]; - // process bug (let "shorthands" just to simplify things during refactoring) + // process bug (let "shorthands" just to simplify things during refactoring) let status = bug.status; if (bug.resolution !== '') {status += ' ' + bug.resolution;} let product = bug.product; let component = bug.component; let platform = bug.platform; - if (platform == 'Unspecified') { + if (platform === 'Unspecified') { platform = 'Uns'; } if (bug.op_sys !== '' && bug.op_sys !== 'Unspecified') { platform += '/' + bug.op_sys; } let whiteboard = bug.whiteboard === '' ? '[]' : bug.whiteboard; - // todo: message??? + // todo: message??? - // 2015-11-09T14:40:41Z + // 2015-11-09T14:40:41Z function toRelativeTime(time, zone) { var format2 = ('YYYY-MM-DD HH:mm:ss Z'); return moment(time, format2).tz(zone).fromNow(); @@ -181,12 +203,12 @@ $.getJSON(rest_url, function(data) { if (bug.last_change_time !== '') { var temp = toRelativeTime(bug.last_change_time, localTimezone); - if (temp.match(/(an?)\ .*/)) { + if (temp.match(/(an?) .*/)) { changetime = temp.replace(/an?/, 1); } else { changetime = temp; } - // changetime + // changetime } else { changetime = ''; } @@ -203,18 +225,18 @@ $.getJSON(rest_url, function(data) { log('BugNo: ' + bug.id + '\nTitle: ' + bug.summary + '\nStatus: ' + status + '\nProduct: ' + product + '\nComponent: ' + component + '\nPlatform: ' + platform + '\nWhiteboard: ' + whiteboard); if (isRelevant(bug)) { - // add html code for this bug + // add html code for this bug bugsComplete.push('' - + bug.id - + '' - + '(' + product + ': ' + component + ') ' - + ''+bug.summary.escapeHTML() + ' [' + platform + ']' + whiteboard.escapeHTML() + '' - + '' + changetime + '' - + '' + status + ''); // previously had a
at the end; + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '">' + + bug.id + + '' + + '(' + product + ': ' + component + ') ' + + ''+bug.summary.escapeHTML() + ' [' + platform + ']' + whiteboard.escapeHTML() + '' + + '' + changetime + '' + + '' + status + ''); // previously had a
at the end; } counter++; // increase counter - // remove processed bug from bugIds + // remove processed bug from bugIds let i = bugIds.indexOf(bug.id); if (i !== -1) {bugIds[i] = null;} }); @@ -223,7 +245,7 @@ $.getJSON(rest_url, function(data) { - // process remaining bugs one-by-one + // process remaining bugs one-by-one var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { @@ -231,27 +253,24 @@ $.getJSON(rest_url, function(data) { if (id !== null) { time('Requesting missing bug ' + id); let promise = $.getJSON('https://bugzilla.mozilla.org/rest/bug/' + id, - function(json) { - // I've not end up here yet, so cry if we do - console.error('Request succeeded unexpectedly!'); - console.error('Please submit this information to the script authors:'); - timeEnd('Requesting missing bug ' + id); - console.log(json); - let bug = json.bugs[0]; - console.log(bug); - // TODO: display as much information as possible -}); - // Actually, we usually get an error - promise.error(function(req, status, error) { + function(json) { + // I've not end up here yet, so cry if we do + console.error('Request for bug ' + id + ' succeeded unexpectedly!'); + timeEnd('Requesting missing bug ' + id); + console.error(json); + }); + // Actually, we usually get an '401 Authorization Required' error + promise.fail(function(req, status, error) { timeEnd('Requesting missing bug ' + id); - if (error == 'Authorization Required') { - // log("Bug " + id + " requires authorization!"); + if (error === 'Authorization Required') { + + // log("Bug " + id + " requires authorization!"); log('https://bugzilla.mozilla.org/show_bug.cgi?id=' + id + ' requires authorization!'); let text = ' requires authorization!
'; bugsComplete.push('#' - + id + '' + text); + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ id + '">#' + + id + '' + text); } else { console.error('Unexpected error encountered (Bug' + id + '): ' + status + ' ' + error); } @@ -259,26 +278,26 @@ $.getJSON(rest_url, function(data) { requests.push(promise); } }); - // wait for all requests to be settled, then join them together - // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed + // wait for all requests to be settled, then join them together + // Source: https://stackoverflow.com/questions/19177087/deferred-how-to-detect-when-every-promise-has-been-executed $.when.apply($, $.map(requests, function(p) { return p.then(null, function() { return $.Deferred().resolveWith(this, arguments); }); })).always(function() { timeEnd('MozillaMercurial-missing'); - // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below + // Variable that will contain all values of the bugsComplete array, and will be displayed in the 'dialog' below var docu = ''; docu = bugsComplete.join(''); - docu = ' ' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + docu + '
BugNoProduct/ComponentSummaryModified___Status____________
'; + docu = '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + docu + '
BugNoProduct/ComponentSummaryModified___Status____________
'; @@ -302,21 +321,21 @@ $.getJSON(rest_url, function(data) { -// THE CUSTOM PARSER MUST BE PUT BEFORE '$('#tbl').tablesorter ( {'' or else it wont work !!!! -// add parser through the tablesorter addParser method (for the "Last modified" column) + // THE CUSTOM PARSER MUST BE PUT BEFORE '$('#tbl').tablesorter ( {'' or else it wont work !!!! + // add parser through the tablesorter addParser method (for the "Last modified" column) $.tablesorter.addParser({ - // set a unique id + // set a unique id id: 'dates', is: function(s) { return false; // return false so this parser is not auto detected }, format: function(s) { - // format your data for normalization + // format your data for normalization if (s !== ''){ var number1, number2; - // format your data for normalization - number1 = Number((/(.{1,2})\ .*/).exec(s)[1]); + // format your data for normalization + number1 = Number((/(.{1,2}) .*/).exec(s)[1]); if (s.match(/A few seconds ago/)) { number2 = 0;} @@ -330,13 +349,13 @@ $.getJSON(rest_url, function(data) { } }, - // set type, either numeric or text + // set type, either numeric or text type: 'numeric' }); -// make table sortable + // make table sortable $('#tbl').tablesorter({ cssAsc: 'up', cssDesc: 'down', @@ -345,7 +364,7 @@ $.getJSON(rest_url, function(data) { initialized: function() { var mytable = document.getElementById('tbl'); for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - if (mytable.rows[i].cells[3].innerHTML != mytable.rows[i - 1].cells[3].innerHTML) { + if (mytable.rows[i].cells[3].innerHTML !== mytable.rows[i - 1].cells[3].innerHTML) { for (var k = 0; k < 5; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = '1px black dotted'; } @@ -376,13 +395,13 @@ var flag = 1; // bind keypress of ` so that when pressed, the separators between groups of the same timestamps to be removed, in order to sort manually var listener = new window.keypress.Listener(); listener.simple_combo('`', function() { - // console.log('You pressed `'); + // console.log('You pressed `'); if (flag === 1) { flag = 0; - // remove seperators + // remove seperators var mytable = document.getElementById('tbl'); - for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - for (var k = 0; k < 5; k++) { + for (let i = 2, j = mytable.rows.length + 1; i < j; i++) { + for (let k = 0; k < 5; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = 'none'; } } @@ -391,13 +410,13 @@ listener.simple_combo('`', function() { } else { if (flag === 0) { flag = 1; - // console.log('You pressed ~'); - var sorting = [[3, 0], [1, 0], [2, 0]]; // sort by column 3 'Modified Date, then by '1 'Product/Component' and then by column 2 'Summary' + // console.log('You pressed ~'); + sorting = [[3, 0], [1, 0], [2, 0]]; // sort by column 3 'Modified Date, then by '1 'Product/Component' and then by column 2 'Summary' $('#tbl').trigger('sorton', [sorting]); - var mytable = document.getElementById('tbl'); - for (var i = 2, j = mytable.rows.length + 1; i < j; i++) { - if (mytable.rows[i].cells[3].innerHTML != mytable.rows[i - 1].cells[3].innerHTML) { - for (var k = 0; k < 5; k++) { + mytable = document.getElementById('tbl'); + for (let i = 2, j = mytable.rows.length + 1; i < j; i++) { + if (mytable.rows[i].cells[3].innerHTML !== mytable.rows[i - 1].cells[3].innerHTML) { + for (let k = 0; k < 5; k++) { mytable.rows[i - 1].cells[k].style.borderBottom = '1px black dotted'; } } @@ -413,35 +432,37 @@ listener.simple_combo('`', function() { function isRelevant(bug) { if (!bug.id) {return false;} - // if (bug.status && bug.status != 'RESOLVED' && bug.status != 'VERIFIED') { - // log(' IRRELEVANT because of it\'s Status --> ' + bug.status); - // return false; - // } - if (bug.component && bug.product && bug.component == 'Build Config' && (bug.product == 'Toolkit' || bug.product == 'Firefox')) { + // if (bug.status && bug.status !== 'RESOLVED' && bug.status !== 'VERIFIED') { + // log(' IRRELEVANT because of it\'s Status --> ' + bug.status); + // return false; + // } + if (bug.component && bug.product && bug.component === 'Build Config' && (bug.product === 'Toolkit' || bug.product === 'Firefox')) { log(' IRRELEVANT because of it\'s Product --> ' + bug.product + 'having component --> ' + bug.component); return false; } - if (bug.product && bug.product != 'Add-on SDK' && - bug.product != 'Cloud Services' && - bug.product != 'Core' && - bug.product != 'Firefox' && - bug.product != 'Hello (Loop)' && - bug.product != 'Toolkit') { + if (bug.product && + bug.product !== 'Add-on SDK' && + bug.product !== 'Cloud Services' && + bug.product !== 'Core' && + bug.product !== 'Firefox' && + bug.product !== 'Hello (Loop)' && + bug.product !== 'Toolkit') { log(' IRRELEVANT because of it\'s Product --> ' + bug.product); return false; } - if (bug.component && bug.component == 'AutoConfig' || - bug.component == 'Build Config' || - bug.component == 'DMD' || - bug.component == 'Embedding: GRE Core' || - bug.component == 'Embedding: Mac' || - bug.component == 'Embedding: MFC Embed' || - bug.component == 'Embedding: Packaging' || - bug.component == 'Hardware Abstraction Layer' || - bug.component == 'mach' || - bug.component == 'Nanojit' || - bug.component == 'QuickLaunch' || - bug.component == 'Widget: Gonk') { + if (bug.component && + bug.component === 'AutoConfig' || + bug.component === 'Build Config' || + bug.component === 'DMD' || + bug.component === 'Embedding: GRE Core' || + bug.component === 'Embedding: Mac' || + bug.component === 'Embedding: MFC Embed' || + bug.component === 'Embedding: Packaging' || + bug.component === 'Hardware Abstraction Layer' || + bug.component === 'mach' || + bug.component === 'Nanojit' || + bug.component === 'QuickLaunch' || + bug.component === 'Widget: Gonk') { log(' IRRELEVANT because of it\'s Component --> ' + bug.component); return false; } @@ -471,7 +492,6 @@ function timeEnd(str) { } } -// $(function() { $('#dialog').dialog({ modal: false, title: 'Draggable, sizeable dialog', @@ -481,10 +501,10 @@ $('#dialog').dialog({ of: document, collision: 'none' }, - // width: 1500, // not working + // width: 1500, // not working zIndex: 3666 }) - .dialog('widget').draggable('option', 'containment', 'none'); + .dialog('widget').draggable('option', 'containment', 'none'); //-- Fix crazy bug in FF! ... $('#dialog').parent().css({ From f22bd9ce2317c815e97bdf32605011c7108d54d7 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 9 May 2018 01:32:08 +0300 Subject: [PATCH 035/439] (Firefox for desktop - list fixed bugs in Mercurial) added a comment regarding the use of '.localeCompare' instead of '>' --- .../Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index 1ead4c8..8b0d56d 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -74,7 +74,7 @@ time('MozillaMercurial-REST'); $.getJSON(rest_url, function(data) { timeEnd('MozillaMercurial-REST'); data.bugs.sort(function(a, b) { - return (a.product + ': ' + a.component + ': ' + a.summary).localeCompare(b.product + ': ' + b.component + ': ' + b.summary); + return (a.product + ': ' + a.component + ': ' + a.summary).localeCompare(b.product + ': ' + b.component + ': ' + b.summary); // had to change '>' with '.localeCompare' because the sorting wasn't applied when run with Tampermonkey }); $.each(data.bugs, function(index) { let bug = data.bugs[index]; From 5348b210882ff09e3c2066df7bbf23cf195e25ac Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 11 May 2018 00:37:00 +0300 Subject: [PATCH 036/439] (Firefox for desktop - list fixed/modified bugs in Mercurial/as sortable table) Removed the 'title' attribute which was wrongly given to the entire dialog element and added such an attribute (which appears to the user as a tooltip) to each bug link. --- ...for_desktop_-_list_fixed_bugs_in_Mercurial.user.js | 11 +++++++---- ..._fixed_bugs_in_Mercurial_as_sortable_table.user.js | 9 +++++---- ...dified_bugs_in_Mercurial_as_sortable_table.user.js | 9 +++++---- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index 8b0d56d..52d36fb 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 4.2.5 -// @date 2018.5.8 +// @version 4.2.6 +// @date 2018.5.11 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -99,8 +99,10 @@ $.getJSON(rest_url, function(data) { if (isRelevant(bug)) { // add html code for this bug + // console.log(typeof bug.summary) bugsComplete.push('#' + // + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '"' + ' title="' + bug.id + ' (' + product + ': ' + component + ') ' + bug.summary + '">#' + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '"' + ' title="' + bug.id + ' - ' + bug.summary + '">#' + bug.id + '' + ' (' + product + ': ' + component + ') ' @@ -161,7 +163,8 @@ $.getJSON(rest_url, function(data) { $('div.page_footer').append(div); div.id = 'dialog'; // GM_setClipboard (docu); // This line stores the list content HTML code to clipboard (aimed for MozillaZine daily "The Official Win32 xxxxxxx builds" maintainer) - docu = '
' + docu + '
'; + // docu = '
' + docu + '
'; + docu = '
' + docu + '
'; div.innerHTML = docu; $('#dialog').hide(); diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index c717dff..303ec1b 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.6 -// @date 2018.5.8 +// @version 5.5.7 +// @date 2018.5.11 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -234,7 +234,8 @@ $.getJSON(rest_url, function(data) { if (isRelevant(bug)) { // add html code for this bug bugsComplete.push('' + // + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '">' + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '"' + ' title="' + bug.id + ' - ' + bug.summary + '">#' + bug.id + '' + '(' + product + ': ' + component + ') ' @@ -309,7 +310,7 @@ $.getJSON(rest_url, function(data) { var div = document.createElement('div'); $('div.page_footer').append(div); div.id = 'dialog'; - docu = '
' + docu + '
'; + docu = '
' + docu + '
'; div.innerHTML = docu; $('#dialog').hide(); diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index a4e08de..524d2dc 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.6 -// @date 2018.5.8 +// @version 5.5.7 +// @date 2018.5.11 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -227,7 +227,8 @@ $.getJSON(rest_url, function(data) { if (isRelevant(bug)) { // add html code for this bug bugsComplete.push('' + // + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '">' + + 'https://bugzilla.mozilla.org/show_bug.cgi?id='+ bug.id + '"' + ' title="' + bug.id + ' - ' + bug.summary + '">#' + bug.id + '' + '(' + product + ': ' + component + ') ' @@ -305,7 +306,7 @@ $.getJSON(rest_url, function(data) { var div = document.createElement('div'); $('div.page_footer').append(div); div.id = 'dialog'; - docu = '
' + docu + '
'; + docu = '
' + docu + '
'; div.innerHTML = docu; $('#dialog').hide(); From 7f2a55d9151cf9543b503a02198aaf91a28bf53d Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 12 May 2018 19:09:28 +0300 Subject: [PATCH 037/439] (Firefox for desktop - list fixed/modified bugs in Mercurial/as sortable table) Thanks once again to johnp for contributing: - Greasemonkey compatibility - Also, the `requests` array is moved up from line 119 to prevent a possible race condition where the dialog is opened before the css is loaded --- ...top_-_list_fixed_bugs_in_Mercurial.user.js | 61 +++++++++++------ ...ugs_in_Mercurial_as_sortable_table.user.js | 62 +++++++++-------- ...ugs_in_Mercurial_as_sortable_table.user.js | 66 ++++++++----------- 3 files changed, 104 insertions(+), 85 deletions(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index 52d36fb..eb5ae7b 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 4.2.6 -// @date 2018.5.11 +// @version 4.2.7 +// @date 2018.5.12 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -25,27 +25,29 @@ var debug = false; time('MozillaMercurial'); -String.prototype.escapeHTML = function() { - var tagsToReplace = { - '&': '&', - '<': '<', - '>': '>' - }; - return this.replace(/[&<>]/g, function(tag) { - return tagsToReplace[tag] || tag; - }); -}; + + + +// the dialog will only be opened after all these promises have finished +var requests = []; + // theme for the jQuery dialog -// $("head").append( -// '' -// ); -var newCSS = GM_getResourceText ('customCSS'); -GM_addStyle (newCSS); +if (typeof(GM_getResourceText) !== 'undefined' && typeof(GM_addStyle) !== 'undefined') { + let newCSS = GM_getResourceText('customCSS'); + GM_addStyle(newCSS); +} else { // e.g. Greasemonkey: https://github.com/greasemonkey/greasemonkey/issues/2548 + // load jquery-ui css dynamically to bypass Content-Security-Policy restrictions + let loadCss = $.get('https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', function(css) { + $('head').append(''); + }); + requests.push(loadCss); // prevent a possible race condition where the dialog is opened before the css is loaded +} + + + + var regex = /^https:\/\/bugzilla\.mozilla\.org\/show_bug\.cgi\?id=(.*)$/; @@ -70,7 +72,25 @@ var numBugs = bugIds.length; var counter = 0; var rest_url = base_url + bugIds.join(); + + +String.prototype.escapeHTML = function() { + var tagsToReplace = { + '&': '&', + '<': '<', + '>': '>' + }; + + return this.replace(/[&<>]/g, function(tag) { + return tagsToReplace[tag] || tag; + }); +}; + + + time('MozillaMercurial-REST'); + + $.getJSON(rest_url, function(data) { timeEnd('MozillaMercurial-REST'); data.bugs.sort(function(a, b) { @@ -116,7 +136,6 @@ $.getJSON(rest_url, function(data) { log('==============\nReceived ' + counter + ' of ' + numBugs + ' bugs.'); // process remaining bugs one-by-one - var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { let id = bugIds[index]; diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index 303ec1b..e7e576c 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.7 -// @date 2018.5.11 +// @version 5.5.8 +// @date 2018.5.12 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -27,6 +27,15 @@ /* global jstz, moment */ +var silent = false; +var debug = false; + +time('MozillaMercurial'); + + + + + // CSS rules in order to show 'up' and 'down' arrows in each table header var stylesheet = ` '); + }); + requests.push(loadCss); // prevent a possible race condition where the dialog is opened before the css is loaded +} + -var silent = false; -var debug = false; -time('MozillaMercurial'); -String.prototype.escapeHTML = function() { - var tagsToReplace = { - '&': '&', - '<': '<', - '>': '>' - }; - return this.replace(/[&<>]/g, function(tag) { - return tagsToReplace[tag] || tag; - }); -}; // theme for the jQuery dialog // $('head').append( @@ -159,11 +160,21 @@ var numBugs = bugIds.length; var counter = 0; var rest_url = base_url + bugIds.join(); -time('MozillaMercurial-REST'); +String.prototype.escapeHTML = function() { + var tagsToReplace = { + '&': '&', + '<': '<', + '>': '>' + }; + return this.replace(/[&<>]/g, function(tag) { + return tagsToReplace[tag] || tag; + }); +}; +time('MozillaMercurial-REST'); @@ -253,7 +264,6 @@ $.getJSON(rest_url, function(data) { // process remaining bugs one-by-one - var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { let id = bugIds[index]; diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index 524d2dc..4ab1a52 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.7 -// @date 2018.5.11 +// @version 5.5.8 +// @date 2018.5.12 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_addStyle // @grant GM_getResourceText @@ -26,7 +26,6 @@ /* global jstz, moment */ - var silent = false; var debug = false; @@ -87,47 +86,28 @@ $('head').append(stylesheet2); -// theme for the jQuery dialog -// $("head").append( -// '' -// ); -var newCSS = GM_getResourceText ('customCSS'); -GM_addStyle (newCSS); +// the dialog will only be opened after all these promises have finished +var requests = []; -String.prototype.escapeHTML = function() { - var tagsToReplace = { - '&': '&', - '<': '<', - '>': '>' - }; - return this.replace(/[&<>]/g, function(tag) { - return tagsToReplace[tag] || tag; +// theme for the jQuery dialog +if (typeof(GM_getResourceText) !== 'undefined' && typeof(GM_addStyle) !== 'undefined') { + let newCSS = GM_getResourceText('customCSS'); + GM_addStyle(newCSS); +} else { // e.g. Greasemonkey: https://github.com/greasemonkey/greasemonkey/issues/2548 + // load jquery-ui css dynamically to bypass Content-Security-Policy restrictions + let loadCss = $.get('https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', function(css) { + $('head').append(''); }); -}; + requests.push(loadCss); // prevent a possible race condition where the dialog is opened before the css is loaded +} + + -// theme for the jQuery dialog -// $('head').append( -// '' -// ); -// var newCSS = GM_getResourceText ('customCSS'); -// GM_addStyle (newCSS); -$.ajax({ - url:'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', - success:function(data){ - $('').appendTo('head').html(data); - } -}); var regex = /^https:\/\/bugzilla\.mozilla\.org\/show_bug\.cgi\?id=(.*)$/; @@ -152,11 +132,22 @@ var numBugs = bugIds.length; var counter = 0; var rest_url = base_url + bugIds.join(); -time('MozillaMercurial-REST'); +String.prototype.escapeHTML = function() { + var tagsToReplace = { + '&': '&', + '<': '<', + '>': '>' + }; + return this.replace(/[&<>]/g, function(tag) { + return tagsToReplace[tag] || tag; + }); +}; + +time('MozillaMercurial-REST'); @@ -247,7 +238,6 @@ $.getJSON(rest_url, function(data) { // process remaining bugs one-by-one - var requests = []; time('MozillaMercurial-missing'); $.each(bugIds, function(index) { let id = bugIds[index]; From 8bcb9038fe1e513f6f1cf58db60917b45119c41e Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 13 May 2018 22:19:38 +0300 Subject: [PATCH 038/439] (Firefox for desktop - list bugs -- all versions): (Tampermonkey only) Restored the 'x' (close) button image in the jQuery-UI dialog box --- ...top_-_list_fixed_bugs_in_Mercurial.user.js | 48 ++++++++++++++++--- ...ugs_in_Mercurial_as_sortable_table.user.js | 40 ++++++++++++++-- ...ugs_in_Mercurial_as_sortable_table.user.js | 40 ++++++++++++++-- 3 files changed, 111 insertions(+), 17 deletions(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index eb5ae7b..ec2a567 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -4,19 +4,32 @@ // @authors darkred, johnp // @license MIT // @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 4.2.7 -// @date 2018.5.12 +// @version 4.2.8 +// @date 2018.5.13 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant GM_addStyle +// @grant GM_getResourceURL // @grant GM_getResourceText +// @grant GM_addStyle // @grant GM_setClipboard // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js -// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource jqUI_CSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource IconSet1 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +// @resource IconSet2 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +// @resource IconSet3 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +// @resource IconSet4 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +// @resource IconSet5 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_217bc0_256x240.png +// @resource IconSet6 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_469bdd_256x240.png +// @resource IconSet7 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_6da8d5_256x240.png // Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== + + + + + /* eslint-disable no-console, indent, no-mixed-spaces-and-tabs, complexity */ @@ -28,15 +41,36 @@ time('MozillaMercurial'); - // the dialog will only be opened after all these promises have finished var requests = []; // theme for the jQuery dialog if (typeof(GM_getResourceText) !== 'undefined' && typeof(GM_addStyle) !== 'undefined') { - let newCSS = GM_getResourceText('customCSS'); - GM_addStyle(newCSS); + + + // https://stackoverflow.com/a/11532646/ , i.e. https://stackoverflow.com/a/11532646/3231411 (By Brock Adams) + // Themes files URLs: https://cdnjs.com/libraries/jqueryui + let iconSet1 = GM_getResourceURL ('IconSet1'); + let iconSet2 = GM_getResourceURL ('IconSet2'); + let iconSet3 = GM_getResourceURL ('IconSet3'); + let iconSet4 = GM_getResourceURL ('IconSet4'); + let iconSet5 = GM_getResourceURL ('IconSet5'); + let iconSet6 = GM_getResourceURL ('IconSet6'); + let iconSet7 = GM_getResourceURL ('IconSet7'); + let jqUI_CssSrc = GM_getResourceText ('jqUI_CSS'); + // jqUI_CssSrc = jqUI_CssSrc.replace (/url\(images\/ui\-bg_.*00\.png\)/g, ''); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_75_d0e5f5_1x400\.png/g, iconSet1); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_85_dfeffc_1x400\.png/g, iconSet2); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_gloss-wave_55_5c9ccc_500x100\.png/g, iconSet3); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_inset-hard_100_fcfdfd_1x100\.png/g, iconSet4); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_217bc0_256x240\.png/g, iconSet5); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_469bdd_256x240\.png/g, iconSet6); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_6da8d5_256x240\.png/g, iconSet7); + + GM_addStyle (jqUI_CssSrc); + + } else { // e.g. Greasemonkey: https://github.com/greasemonkey/greasemonkey/issues/2548 // load jquery-ui css dynamically to bypass Content-Security-Policy restrictions let loadCss = $.get('https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', function(css) { diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index e7e576c..95d9ae7 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,11 +4,12 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.8 -// @date 2018.5.12 +// @version 5.5.9 +// @date 2018.5.13 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant GM_addStyle +// @grant GM_getResourceURL // @grant GM_getResourceText +// @grant GM_addStyle // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.24.3/js/jquery.tablesorter.min.js @@ -18,6 +19,13 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js // @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource IconSet1 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +// @resource IconSet2 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +// @resource IconSet3 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +// @resource IconSet4 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +// @resource IconSet5 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_217bc0_256x240.png +// @resource IconSet6 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_469bdd_256x240.png +// @resource IconSet7 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_6da8d5_256x240.png // Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== @@ -107,8 +115,30 @@ var requests = []; // theme for the jQuery dialog if (typeof(GM_getResourceText) !== 'undefined' && typeof(GM_addStyle) !== 'undefined') { - let newCSS = GM_getResourceText('customCSS'); - GM_addStyle(newCSS); + + + // https://stackoverflow.com/a/11532646/ , i.e. https://stackoverflow.com/a/11532646/3231411 (By Brock Adams) + // Themes files URLs: https://cdnjs.com/libraries/jqueryui + let iconSet1 = GM_getResourceURL ('IconSet1'); + let iconSet2 = GM_getResourceURL ('IconSet2'); + let iconSet3 = GM_getResourceURL ('IconSet3'); + let iconSet4 = GM_getResourceURL ('IconSet4'); + let iconSet5 = GM_getResourceURL ('IconSet5'); + let iconSet6 = GM_getResourceURL ('IconSet6'); + let iconSet7 = GM_getResourceURL ('IconSet7'); + let jqUI_CssSrc = GM_getResourceText ('jqUI_CSS'); + // jqUI_CssSrc = jqUI_CssSrc.replace (/url\(images\/ui\-bg_.*00\.png\)/g, ''); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_75_d0e5f5_1x400\.png/g, iconSet1); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_85_dfeffc_1x400\.png/g, iconSet2); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_gloss-wave_55_5c9ccc_500x100\.png/g, iconSet3); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_inset-hard_100_fcfdfd_1x100\.png/g, iconSet4); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_217bc0_256x240\.png/g, iconSet5); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_469bdd_256x240\.png/g, iconSet6); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_6da8d5_256x240\.png/g, iconSet7); + + GM_addStyle (jqUI_CssSrc); + + } else { // e.g. Greasemonkey: https://github.com/greasemonkey/greasemonkey/issues/2548 // load jquery-ui css dynamically to bypass Content-Security-Policy restrictions let loadCss = $.get('https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', function(css) { diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index 4ab1a52..f63fa26 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,11 +4,12 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.8 -// @date 2018.5.12 +// @version 5.5.9 +// @date 2018.5.13 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ -// @grant GM_addStyle +// @grant GM_getResourceURL // @grant GM_getResourceText +// @grant GM_addStyle // @require https://code.jquery.com/jquery-2.1.4.min.js // @require https://code.jquery.com/ui/1.11.4/jquery-ui.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.24.3/js/jquery.tablesorter.min.js @@ -18,6 +19,13 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js // @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource IconSet1 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +// @resource IconSet2 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +// @resource IconSet3 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +// @resource IconSet4 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +// @resource IconSet5 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_217bc0_256x240.png +// @resource IconSet6 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_469bdd_256x240.png +// @resource IconSet7 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-icons_6da8d5_256x240.png // Thanks a lot to: johnp (your contribution is most appreciated!), wOxxOm and Brock Adams. // ==/UserScript== @@ -96,8 +104,30 @@ var requests = []; // theme for the jQuery dialog if (typeof(GM_getResourceText) !== 'undefined' && typeof(GM_addStyle) !== 'undefined') { - let newCSS = GM_getResourceText('customCSS'); - GM_addStyle(newCSS); + + + // https://stackoverflow.com/a/11532646/ , i.e. https://stackoverflow.com/a/11532646/3231411 (By Brock Adams) + // Themes files URLs: https://cdnjs.com/libraries/jqueryui + let iconSet1 = GM_getResourceURL ('IconSet1'); + let iconSet2 = GM_getResourceURL ('IconSet2'); + let iconSet3 = GM_getResourceURL ('IconSet3'); + let iconSet4 = GM_getResourceURL ('IconSet4'); + let iconSet5 = GM_getResourceURL ('IconSet5'); + let iconSet6 = GM_getResourceURL ('IconSet6'); + let iconSet7 = GM_getResourceURL ('IconSet7'); + let jqUI_CssSrc = GM_getResourceText ('jqUI_CSS'); + // jqUI_CssSrc = jqUI_CssSrc.replace (/url\(images\/ui\-bg_.*00\.png\)/g, ''); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_75_d0e5f5_1x400\.png/g, iconSet1); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_glass_85_dfeffc_1x400\.png/g, iconSet2); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_gloss-wave_55_5c9ccc_500x100\.png/g, iconSet3); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-bg_inset-hard_100_fcfdfd_1x100\.png/g, iconSet4); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_217bc0_256x240\.png/g, iconSet5); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_469bdd_256x240\.png/g, iconSet6); + jqUI_CssSrc = jqUI_CssSrc.replace (/images\/ui-icons_6da8d5_256x240\.png/g, iconSet7); + + GM_addStyle (jqUI_CssSrc); + + } else { // e.g. Greasemonkey: https://github.com/greasemonkey/greasemonkey/issues/2548 // load jquery-ui css dynamically to bypass Content-Security-Policy restrictions let loadCss = $.get('https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css', function(css) { From 55de3ce3fc2e9aec0b707a24cb39754f811238e1 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 16 May 2018 23:24:44 +0300 Subject: [PATCH 039/439] (Firefox for desktop - list bugs -- the sortable table versions): had forgotten to rename the 'redmond/jquery-ui.min.css' resource --- ...-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js | 6 +++--- ...ist_modified_bugs_in_Mercurial_as_sortable_table.user.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index 95d9ae7..6d9c6d9 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.9 -// @date 2018.5.13 +// @version 5.5.9.1 +// @date 2018.5.16 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_getResourceURL // @grant GM_getResourceText @@ -18,7 +18,7 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js -// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource jqUI_CSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css // @resource IconSet1 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png // @resource IconSet2 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png // @resource IconSet3 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index f63fa26..0f8b200 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -4,8 +4,8 @@ // @authors darkred, johnp // @license MIT // @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.9 -// @date 2018.5.13 +// @version 5.5.9.1 +// @date 2018.5.16 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_getResourceURL // @grant GM_getResourceText @@ -18,7 +18,7 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/keypress/2.1.3/keypress.min.js -// @resource customCSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css +// @resource jqUI_CSS http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css // @resource IconSet1 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png // @resource IconSet2 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_glass_85_dfeffc_1x400.png // @resource IconSet3 https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png From af73e9d23f2c0caf024cfa61828b8b59244f25b5 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 21 May 2018 01:27:56 +0300 Subject: [PATCH 040/439] (All scripts) Rearranged the metadata block --- ...See_Also_and_Duplicates_bug_titles.user.js | 4 +- ...top_-_list_fixed_bugs_in_Mercurial.user.js | 4 +- ...ugs_in_Mercurial_as_sortable_table.user.js | 4 +- ...ugs_in_Mercurial_as_sortable_table.user.js | 4 +- ...ore_submitting_issues_and_comments.user.js | 4 +- .../Google_youtube_search_link.user.js | 6 +- ...Greasyfork_profile_pages_-_for_Cik.user.js | 3 +- ..._scripts_by_review_type_and_author.user.js | 32 ++--- ...ork_-_filter_libraries_in_profiles.user.js | 43 +++--- .../GreasyFork_Bullshit_Filter.user.js | 34 ++--- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 54 ++++---- ...r_reviews_pages_-_ten_star_ratings.user.js | 15 ++- ...Instagram_-_visible_images_counter.user.js | 5 +- ...SELECTED_buttons_to_Feedback_popup.user.js | 123 +++++++++--------- .../Markdown_toolbar_for_redditcom.user.js | 6 +- ...s_column_split_and_sortable_tables.user.js | 6 +- ...nSubtitles_-_direct_download_links.user.js | 5 +- .../OpenUserJS_Bullshit_Filter.user.js | 4 +- ...rent_timestamps_to_relative_format.user.js | 5 +- .../RARBG_-_torrent_and_magnet_links.user.js | 6 +- ..._entries_and_various_visual_tweaks.user.js | 3 +- .../Reddit_Infinite_Scrolling.user.js | 4 +- .../Rotten_Tomatoes_Decimal_Rating.user.js | 4 +- ..._-_convert_dates_to_local_timezone.user.js | 5 +- .../SunXDCC_-_normalize_values.user.js | 5 +- ...tifications_count_in_the_tab_title.user.js | 4 +- ...ter_deleted_styles_in_your_profile.user.js | 6 +- .../Userstyles_Bullshit_Filter.user.js | 4 +- .../ixIRC_-_sortable_search_results.user.js | 20 +-- ...orums_-_insert_titles_to_bug_links.user.js | 4 +- ...ebay_-_add_a_sortable_Ratio_column.user.js | 6 +- .../thepiratebay_helper.user.js | 6 +- .../userstylesorg_css_highlighter.user.js | 2 +- 33 files changed, 228 insertions(+), 212 deletions(-) diff --git a/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js b/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js index c24e589..ccaf4de 100644 --- a/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js +++ b/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name Bugzilla - reveal the Depends, Blocks, See Also and Duplicates bug titles // @namespace darkred -// @license MIT +// @version 2017.16.11 // @description Reveal the Depends, Blocks, See Also and Duplicates bug titles in bugzilla.mozilla.org via keyboard shortcuts +// @license MIT // @include https://bugzilla.mozilla.org/show_bug.cgi?id=* -// @version 2017.16.11 // @grant none // @require https://code.jquery.com/jquery-3.2.1.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.2/jquery.scrollTo.min.js diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js index ec2a567..ce11a3d 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Firefox for desktop - list fixed bugs in Mercurial // @namespace darkred +// @version 4.2.8 +// @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs // @authors darkred, johnp // @license MIT -// @description It generates a list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 4.2.8 // @date 2018.5.13 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_getResourceURL diff --git a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js index 6d9c6d9..1d23cc5 100644 --- a/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_fixed_bugs_in_Mercurial_as_sortable_table.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Firefox for desktop - list fixed bugs in Mercurial as sortable table // @namespace darkred +// @version 5.5.9.1 +// @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs // @authors darkred, johnp // @license MIT -// @description It generates a sortable table list of fixed bugs related to Firefox for desktop in Mozilla Mercurial pushlogs -// @version 5.5.9.1 // @date 2018.5.16 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_getResourceURL diff --git a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js index 0f8b200..23b7006 100644 --- a/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js +++ b/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table/Firefox_for_desktop_-_list_modified_bugs_in_Mercurial_as_sortable_table.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Firefox for desktop - list modified bugs in Mercurial as sortable table // @namespace darkred +// @version 5.5.9.1 +// @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs // @authors darkred, johnp // @license MIT -// @description It generates a sortable table list of bugs related to Firefox for desktop for which patches have landed in Mozilla Mercurial pushlogs -// @version 5.5.9.1 // @date 2018.5.16 // @include /^https?:\/\/hg\.mozilla\.org.*pushloghtml.*/ // @grant GM_getResourceURL diff --git a/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js b/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js index effd4ad..dee2126 100644 --- a/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js +++ b/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name GitHub - Confirmations before submitting issues and comments // @namespace darkred +// @version 2017.4.26 +// @description Creates a confirmation popup whenever attempting to create an issue or post comment via Ctrl+Enter in GitHub // @author darkred // @license MIT -// @description Creates a confirmation popup whenever attempting to create an issue or post comment via Ctrl+Enter in GitHub -// @version 2017.4.26 // @include https://github.com/* // @grant none // ==/UserScript== diff --git a/Google_youtube_search_link/Google_youtube_search_link.user.js b/Google_youtube_search_link/Google_youtube_search_link.user.js index b753dda..c0219d1 100644 --- a/Google_youtube_search_link/Google_youtube_search_link.user.js +++ b/Google_youtube_search_link/Google_youtube_search_link.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Google YouTube search link // @namespace darkred -// @author wOxxOm, darkred -// @license MIT -// @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) // @version 2017.6.9 +// @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) +// @authors wOxxOm, darkred +// @license MIT // @include https://www.google.com/* // @include /https?:\/\/(www\.)?google\.(com|(?:com?\.)?\w\w)\/.*/ // @grant none diff --git a/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik.user.js b/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik.user.js index b313f8c..f0da4ab 100644 --- a/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik.user.js +++ b/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik/GreasyFork_-_add_a_send_PM_to_user_button_in_Greasyfork_profile_pages_-_for_Cik.user.js @@ -2,8 +2,9 @@ // @name GreasyFork - add a 'send PM to user' button in Greasyfork profile pages - for Citrus GFork // @namespace darkred // @license MIT -// @description It adds a 'send PM to user' button in Greasyfork profile pages (it now works even without Citrus GFork). // @version 2018.2.27 +// @description It adds a 'send PM to user' button in Greasyfork profile pages (it now works even without Citrus GFork). +// @author darkred // @include https://greasyfork.org/*/users/* // @include https://greasyfork.org/*/forum/messages/add // @include https://sleazyfork.org/*/users/* diff --git a/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js b/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js index 576e0f0..a1cefad 100644 --- a/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js +++ b/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js @@ -1,20 +1,20 @@ īģŋ// ==UserScript== -// @name GreasyFork - filter discussions on scripts by review type and author -// @namespace darkred -// @author darkred -// @contributor decembre -// @license MIT -// @description Filter discussions on scripts by review type and author via filter buttons, a hoverable dropdown menu or an autocomplete searchbox -// @version 2017.4.19 -// @include https://greasyfork.org/*/scripts/*/feedback* -// @include https://greasyfork.org/*/users/* -// @grant GM_addStyle -// @grant GM_getValue -// @grant GM_setValue -// @grant GM_getResourceText -// @require https://code.jquery.com/jquery-3.1.1.min.js -// @require https://code.jquery.com/ui/1.12.1/jquery-ui.min.js -// @resource jquery-ui.css http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css +// @name GreasyFork - filter discussions on scripts by review type and author +// @namespace darkred +// @version 2017.4.19 +// @description Filter discussions on scripts by review type and author via filter buttons, a hoverable dropdown menu or an autocomplete searchbox +// @author darkred +// @contributor decembre +// @license MIT +// @include https://greasyfork.org/*/scripts/*/feedback* +// @include https://greasyfork.org/*/users/* +// @grant GM_addStyle +// @grant GM_getValue +// @grant GM_setValue +// @grant GM_getResourceText +// @require https://code.jquery.com/jquery-3.1.1.min.js +// @require https://code.jquery.com/ui/1.12.1/jquery-ui.min.js +// @resource jquery-ui.css http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css // This is partially based on this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. // ==/UserScript== diff --git a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js index 07b5c51..f55dde1 100644 --- a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js +++ b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js @@ -1,11 +1,12 @@ īģŋ// ==UserScript== -// @name GreasyFork - filter libraries in profiles -// @namespace darkred -// @license MIT -// @description Filters libraries in GreasyFork profiles -// @version 1 -// @include https://greasyfork.org/*/users/* -// @grant none +// @name GreasyFork - filter libraries in profiles +// @namespace darkred +// @version 1 +// @description Filters libraries in GreasyFork profiles +// @author darkred +// @license MIT +// @include https://greasyfork.org/*/users/* +// @grant none // ==/UserScript== var all = document.querySelectorAll('article').length; @@ -17,15 +18,15 @@ var parentElement = document.querySelector('#script-list-sort'); var theFirstChild = parentElement.firstChild; -var div = document.createElement("div"); +var div = document.createElement('div'); parentElement.insertBefore(div, theFirstChild); -div.style.position = "fixed"; -div.style.background = "white"; +div.style.position = 'fixed'; +div.style.background = 'white'; -div.style.top = "150px"; -div.style.right = "287px"; +div.style.top = '150px'; +div.style.right = '287px'; @@ -52,23 +53,23 @@ c.onclick = toggleLibraries; b.click(); function toggleAll(){ - a.style.fontWeight = "bold"; b.style.fontWeight = "normal"; c.style.fontWeight = "normal"; - $('article').show(); - $('.script-type').parent().parent().show(); + a.style.fontWeight = 'bold'; b.style.fontWeight = 'normal'; c.style.fontWeight = 'normal'; + $('article').show(); + $('.script-type').parent().parent().show(); } function toggleScripts(){ - a.style.fontWeight = "normal"; b.style.fontWeight = "bold"; c.style.fontWeight = "normal"; - $('article').show(); - $('.script-type').parent().parent().hide(); + a.style.fontWeight = 'normal'; b.style.fontWeight = 'bold'; c.style.fontWeight = 'normal'; + $('article').show(); + $('.script-type').parent().parent().hide(); } function toggleLibraries(){ - a.style.fontWeight = "normal"; b.style.fontWeight = "normal"; c.style.fontWeight = "bold"; - $('article').hide(); - $('.script-type').parent().parent().show(); + a.style.fontWeight = 'normal'; b.style.fontWeight = 'normal'; c.style.fontWeight = 'bold'; + $('article').hide(); + $('.script-type').parent().parent().show(); } diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 88889b2..a134264 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,21 +1,21 @@ // ==UserScript== -// @name GreasyFork Bullshit Filter -// @namespace darkred -// @author kuehlschrank, darkred -// @license MIT -// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @version 2018.4.24 -// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png -// @include https://greasyfork.org/*/scripts* -// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://greasyfork.org/*/scripts/by-site -// @exclude https://greasyfork.org/*/scripts/by-site?* -// @include https://greasyfork.org/*/forum* -// @exclude https://greasyfork.org/*/forum/discussion/* -// @exclude https://greasyfork.org/*/forum/profile* -// @exclude https://greasyfork.org/*/forum/messages* -// @exclude https://greasyfork.org/*/forum/categories -// @grant none +// @name GreasyFork Bullshit Filter +// @namespace darkred +// @version 2018.4.24 +// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. +// @author kuehlschrank, darkred +// @license MIT +// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png +// @include https://greasyfork.org/*/scripts* +// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ +// @exclude https://greasyfork.org/*/scripts/by-site +// @exclude https://greasyfork.org/*/scripts/by-site?* +// @include https://greasyfork.org/*/forum* +// @exclude https://greasyfork.org/*/forum/discussion/* +// @exclude https://greasyfork.org/*/forum/profile* +// @exclude https://greasyfork.org/*/forum/messages* +// @exclude https://greasyfork.org/*/forum/categories +// @grant none // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. // ==/UserScript== diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 025edc3..fc53e2d 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,34 +1,34 @@ // ==UserScript== -// @name GreasyFork Bullshit Filter - for TS Citrus Gfork -// @namespace darkred -// @author kuehlschrank, darkred -// @license MIT -// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @version 2018.4.24 -// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png +// @name GreasyFork Bullshit Filter - for TS Citrus Gfork +// @namespace darkred +// @version 2018.4.24 +// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. +// @author kuehlschrank, darkred +// @license MIT +// @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png // -// @include https://greasyfork.org/*/scripts* -// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://greasyfork.org/*/scripts/by-site -// @exclude https://greasyfork.org/*/scripts/by-site?* -// @include https://greasyfork.org/*/forum* -// @exclude https://greasyfork.org/*/forum/discussion/* -// @exclude https://greasyfork.org/*/forum/profile* -// @exclude https://greasyfork.org/*/forum/messages* -// @exclude https://greasyfork.org/*/forum/categories +// @include https://greasyfork.org/*/scripts* +// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ +// @exclude https://greasyfork.org/*/scripts/by-site +// @exclude https://greasyfork.org/*/scripts/by-site?* +// @include https://greasyfork.org/*/forum* +// @exclude https://greasyfork.org/*/forum/discussion/* +// @exclude https://greasyfork.org/*/forum/profile* +// @exclude https://greasyfork.org/*/forum/messages* +// @exclude https://greasyfork.org/*/forum/categories // -// @include https://sleazyfork.org/*/scripts* -// @exclude /^https:\/\/sleazyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://sleazyfork.org/*/scripts/by-site -// @exclude https://sleazyfork.org/*/scripts/by-site?* -// @include https://sleazyfork.org/*/forum* -// @exclude https://sleazyfork.org/*/forum/discussion/* -// @exclude https://sleazyfork.org/*/forum/profile* -// @exclude https://sleazyfork.org/*/forum/messages* -// @exclude https://sleazyfork.org/*/forum/categories +// @include https://sleazyfork.org/*/scripts* +// @exclude /^https:\/\/sleazyfork.org\/.*\/scripts\/\d+.*/ +// @exclude https://sleazyfork.org/*/scripts/by-site +// @exclude https://sleazyfork.org/*/scripts/by-site?* +// @include https://sleazyfork.org/*/forum* +// @exclude https://sleazyfork.org/*/forum/discussion/* +// @exclude https://sleazyfork.org/*/forum/profile* +// @exclude https://sleazyfork.org/*/forum/messages* +// @exclude https://sleazyfork.org/*/forum/categories // -// @grant none -// @run-at document-idle +// @grant none +// @run-at document-idle // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. // ==/UserScript== diff --git a/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js index 888d0a8..1413c8f 100644 --- a/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js +++ b/IMDb_user_reviews_pages_-_ten_star_ratings/IMDb_user_reviews_pages_-_ten_star_ratings.user.js @@ -1,11 +1,12 @@ // ==UserScript== -// @name IMDb user reviews pages - ten star ratings -// @namespace darkred -// @license MIT -// @description In IMDb user reviews pages, display the ratings with 10 stars, instead of just 1 -// @version 2018.4.30 -// @match https://www.imdb.com/title/*/reviews* -// @grant GM_addStyle +// @name IMDb user reviews pages - ten star ratings +// @namespace darkred +// @version 2018.4.30 +// @description In IMDb user reviews pages, display the ratings with 10 stars, instead of just 1 +// @author darkred +// @license MIT +// @match https://www.imdb.com/title/*/reviews* +// @grant GM_addStyle // ==/UserScript== diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 89b151a..3b23516 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,9 +1,10 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @license MIT -// @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page // @version 2018.4.28 +// @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page +// @author darkred +// @license MIT // @include https://www.instagram.com/* // @grant none // @require https://code.jquery.com/jquery-3.2.1.min.js diff --git a/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup.user.js b/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup.user.js index b1319cf..0077734 100644 --- a/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup.user.js +++ b/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup/KAT_-_add_APPROVE_ALL_and_APPROVE_SELECTED_buttons_to_Feedback_popup.user.js @@ -1,10 +1,11 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name KAT - add APPROVE ALL and APPROVE SELECTED buttons to Feedback popup // @namespace darkred +// @version 2015.12.30 +// @description Adds 'APPROVE ALL' and 'APPROVE SELECTED' buttons inside the 'Torrents awaiting feedback' popup // @author darkred +// @license MIT // @include https://kat.cr/* -// @description Adds 'APPROVE ALL' and 'APPROVE SELECTED' buttons inside the 'Torrents awaiting feedback' popup -// @version 2015.12.30 // @grant none // ==/UserScript== @@ -13,21 +14,21 @@ function approveAll() { - var x = document.getElementsByClassName('ka-thumbs-up'); - for (var i = 2; i < x.length; i++) { - x[i].click(); - } + var x = document.getElementsByClassName('ka-thumbs-up'); + for (var i = 2; i < x.length; i++) { + x[i].click(); + } } function approveSelected() { - var x = document.getElementsByClassName('torrentboxes'); - var y = document.querySelectorAll("table > tbody > tr > td > div > form > div > a > i.ka-thumbs-up "); - for (var i = 0; i < x.length; i++) { + var x = document.getElementsByClassName('torrentboxes'); + var y = document.querySelectorAll('table > tbody > tr > td > div > form > div > a > i.ka-thumbs-up '); + for (var i = 0; i < x.length; i++) { if (x[i].checked){ - y[i].click(); + y[i].click(); } - } + } } @@ -38,72 +39,72 @@ function approveSelected() { document.querySelector('.showFeedback > a').addEventListener('click', function() { - new MutationObserver(function(mutations, observer) { - if (document.querySelector('#fancybox-wrap') ) { - observer.disconnect(); - console.log('TRUE'); + new MutationObserver(function(mutations, observer) { + if (document.querySelector('#fancybox-wrap') ) { + observer.disconnect(); + console.log('TRUE'); - // add button "APPROVE SELECTED" - var parentElement = document.querySelector('div.buttonsline:nth-child(10)'); - var theFirstChild = parentElement.firstChild; - var button1 = document.createElement('BUTTON'); - parentElement.insertBefore(button1, theFirstChild); - button1.id = 'mybutton1'; - button1.innerHTML = 'APPROVE SELECTED'; - button1.className = 'siteButton bigButton'; + // add button "APPROVE SELECTED" + var parentElement = document.querySelector('div.buttonsline:nth-child(10)'); + var theFirstChild = parentElement.firstChild; + var button1 = document.createElement('BUTTON'); + parentElement.insertBefore(button1, theFirstChild); + button1.id = 'mybutton1'; + button1.innerHTML = 'APPROVE SELECTED'; + button1.className = 'siteButton bigButton'; - button1.addEventListener('click', function() { - approveSelected(); - // document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. - }); + button1.addEventListener('click', function() { + approveSelected(); + // document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. + }); - // add button "APPROVE ALL" - parentElement = document.querySelector('div.buttonsline:nth-child(10)'); - theFirstChild = parentElement.firstChild; - var button2 = document.createElement('BUTTON'); - parentElement.insertBefore(button2, theFirstChild); - button2.id = 'mybutton2'; - button2.innerHTML = 'APPROVE ALL'; - button2.className = 'siteButton bigButton'; - button2.style = 'margin-right: 4px'; + // add button "APPROVE ALL" + parentElement = document.querySelector('div.buttonsline:nth-child(10)'); + theFirstChild = parentElement.firstChild; + var button2 = document.createElement('BUTTON'); + parentElement.insertBefore(button2, theFirstChild); + button2.id = 'mybutton2'; + button2.innerHTML = 'APPROVE ALL'; + button2.className = 'siteButton bigButton'; + button2.style = 'margin-right: 4px'; - button2.addEventListener('click', function() { - approveAll(); - document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. - }); + button2.addEventListener('click', function() { + approveAll(); + document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. + }); - // add button "DISCARD ALL" - parentElement = document.querySelector('button.siteButton:nth-child(3)'); - theFirstChild = parentElement.firstChild; - var button3 = document.createElement('BUTTON'); - parentElement.parentNode.insertBefore(button3, theFirstChild.nextSibling); - button3.id = 'mybutton3'; - button3.innerHTML = 'DISCARD ALL'; - button3.className = 'siteButton bigButton'; + // add button "DISCARD ALL" + parentElement = document.querySelector('button.siteButton:nth-child(3)'); + theFirstChild = parentElement.firstChild; + var button3 = document.createElement('BUTTON'); + parentElement.parentNode.insertBefore(button3, theFirstChild.nextSibling); + button3.id = 'mybutton3'; + button3.innerHTML = 'DISCARD ALL'; + button3.className = 'siteButton bigButton'; - button3.addEventListener('click', function() { - document.querySelector('th.lasttd:nth-child(1) > input:nth-child(1)').click(); - document.querySelector('button.siteButton:nth-child(3)').click(); - // document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. - }); + button3.addEventListener('click', function() { + document.querySelector('th.lasttd:nth-child(1) > input:nth-child(1)').click(); + document.querySelector('button.siteButton:nth-child(3)').click(); + // document.querySelector('#fancybox-close').click(); // uncomment this line to also close the popup after approving all torrents. + }); - } - }).observe( - document.querySelector('#fancybox-wrap'), { - attributes: true, - attributeFilter: ['style'], - } - ); + } + }).observe( + document.querySelector('#fancybox-wrap'), { + attributes: true, + attributeFilter: ['style'], + } + ); diff --git a/Markdown_toolbar_for_reddit.com/Markdown_toolbar_for_redditcom.user.js b/Markdown_toolbar_for_reddit.com/Markdown_toolbar_for_redditcom.user.js index 53da19d..1ba1ce0 100644 --- a/Markdown_toolbar_for_reddit.com/Markdown_toolbar_for_redditcom.user.js +++ b/Markdown_toolbar_for_reddit.com/Markdown_toolbar_for_redditcom.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Markdown toolbar for reddit.com // @namespace darkred +// @version 1.3 +// @description Creates a Markdown toolbar whenever you make/edit text posts or comments in reddit.com // @author wOxxOm, darkred // @license MIT -// @description Creates a Markdown toolbar whenever you make/edit text posts or comments in reddit.com. -// @version 1.3 // @include https://www.reddit.com/*submit* // @include https://www.reddit.com/*comments* // @grant GM_addStyle @@ -29,7 +29,7 @@ else { var textareas = document.querySelectorAll('textarea'); // ADD TOOLBAR: TO EDITING YOUR POST, TO 'NEW COMMENT' FORM AND TO EDITING YOUR EXISTING COMMENT(S) - for (i = 0; i < textareas.length - 2; i++) { + for (var i = 0; i < textareas.length - 2; i++) { x = document.querySelectorAll('textarea') [i].parentNode; addFeatures(x); } diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 0bf7c3f..77d2319 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name Metal Archives discography pages - Reviews column split and sortable tables // @namespace darkred -// @author RobG, Brock Adams, Mottie, darkred -// @license MIT -// @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. // @version 2.0.3 // @date 2018.4.24 +// @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. +// @author RobG, Brock Adams, Mottie, darkred +// @license MIT // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ // @grant none // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js diff --git a/OpenSubtitles_-_direct_download_links/OpenSubtitles_-_direct_download_links.user.js b/OpenSubtitles_-_direct_download_links/OpenSubtitles_-_direct_download_links.user.js index d491cc1..a589341 100644 --- a/OpenSubtitles_-_direct_download_links/OpenSubtitles_-_direct_download_links.user.js +++ b/OpenSubtitles_-_direct_download_links/OpenSubtitles_-_direct_download_links.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name OpenSubtitles - direct download links // @namespace darkred -// @license MIT -// @description Converts the subtitles download links to direct ones, in order to avoid redirection to download pages that display ads. // @version 2017.11.6 +// @description Converts the subtitles download links to direct ones, in order to avoid redirection to download pages that display ads. +// @author darkred +// @license MIT // @include https://www.opensubtitles.org/*/search/* // @include https://www.opensubtitles.org/*/subtitles/* // @grant none diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index b9c8f22..fcf0c11 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred +// @version 2018.4.24 +// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -// @version 2018.4.24 // @include https://openuserjs.org/ // @include https://openuserjs.org/?*p=* // @include https://openuserjs.org/?*q=* diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index a0669aa..bc48a7a 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @license MIT -// @description Converts torrent upload timestamps to relative format // @version 2018.4.16.1 +// @description Converts torrent upload timestamps to relative format +// @author darkred +// @license MIT // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrents.php.*/ // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/top10$/ // @grant none diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index d2ea8d1..b989810 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,9 +1,11 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @license MIT -// @description Adds a column with torrent and magnet links in RARBG lists // @version 2018.3.23 +// @description Adds a column with torrent and magnet links in RARBG lists +// @author darkred +// contributor sxe +// @license MIT // @include /^(https?:)?\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // ==/UserScript== diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index ad9d811..146d6ca 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -2,8 +2,9 @@ // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred // @license MIT -// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @version 2018.5.8 +// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings +// @author darkred // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== diff --git a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js index 72512ce..5da6968 100644 --- a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js +++ b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name Reddit Infinite Scrolling // @namespace darkred +// @version 2018.4.25 +// @description Adds infinite scrolling to subreddits and to comments. // @author darkred // @license MIT -// @description Adds infinite scrolling to subreddits and to comments. -// @version 2018.4.25 // @include https://www.reddit.com/* // @include https://old.reddit.com/* // @grant unsafeWindow diff --git a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js index cc024f9..1fefcce 100644 --- a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js +++ b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name Rotten Tomatoes Decimal Rating // @namespace darkred +// @version 3.0.1 +// @description Changes base-5 Rating of Rotten Tomatoes to base-10 // @author wOxxOm // @license MIT -// @description Changes base-5 Rating of Rotten Tomatoes to base-10 -// @version 3.0.1 // @include http://www.rottentomatoes.com/* // @include https://www.rottentomatoes.com/* // @grant none diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js index be76136..4604109 100644 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name StackExchange sites - convert dates to local timezone // @namespace darkred -// @license MIT -// @description Converts dates to your local timezone // @version 2016.10.16 +// @description Converts dates to your local timezone +// @author darkred +// @license MIT // @match *://*.stackoverflow.com/* // @match *://*.stackexchange.com/* // @match *://*.superuser.com/* diff --git a/SunXDCC_-_normalize_values/SunXDCC_-_normalize_values.user.js b/SunXDCC_-_normalize_values/SunXDCC_-_normalize_values.user.js index 47787ca..7235471 100644 --- a/SunXDCC_-_normalize_values/SunXDCC_-_normalize_values.user.js +++ b/SunXDCC_-_normalize_values/SunXDCC_-_normalize_values.user.js @@ -1,10 +1,11 @@ // ==UserScript== // @name SunXDCC - normalize values // @namespace darkred -// @author darkred +// @version 2018.2.27 // @description It converts the values: in the 'Record' column from B/s to kB/s, and in the 'Size' column from e.g. G to GB. Also adds a space between the value and the unit, in both cases. +// @author darkred +// @license MIT // @include /^https?:\/\/(www\.)?sunxdcc\.com.*/ -// @version 2018.2.27 // @grant none // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // ==/UserScript== diff --git a/Twitter_-_add_unread_notifications_count_in_the_tab_title/Twitter_-_add_unread_notifications_count_in_the_tab_title.user.js b/Twitter_-_add_unread_notifications_count_in_the_tab_title/Twitter_-_add_unread_notifications_count_in_the_tab_title.user.js index 0b7fa49..ee137ad 100644 --- a/Twitter_-_add_unread_notifications_count_in_the_tab_title/Twitter_-_add_unread_notifications_count_in_the_tab_title.user.js +++ b/Twitter_-_add_unread_notifications_count_in_the_tab_title/Twitter_-_add_unread_notifications_count_in_the_tab_title.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Twitter - add unread notifications count in the tab title // @namespace darkred +// @version 2018.2.27 +// @description Adds unread notifications count in the tab title // @author darkred // @license MIT -// @description Adds unread notifications count in the tab title -// @version 2018.2.27 // @include https://twitter.com/* // @grant none // @require https://greasyfork.org/scripts/21927-arrive-js/code/arrivejs.js diff --git a/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js b/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js index 911c0ff..65867a0 100644 --- a/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js +++ b/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js @@ -1,9 +1,11 @@ īģŋ// ==UserScript== // @name Userstyles - filter deleted styles in your profile // @namespace darkred -// @include /^https:\/\/userstyles.org\/users\/[0-9]*/ -// @description Filters deleted styles in your profile in userstyles.org // @version 1 +// @description Filters deleted styles in your profile in userstyles.org +// @author darkred +// @license MIT +// @include /^https:\/\/userstyles.org\/users\/[0-9]*/ // @grant none // ==/UserScript== diff --git a/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js b/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js index db123df..556fbe6 100644 --- a/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js +++ b/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js @@ -1,10 +1,10 @@ īģŋ// ==UserScript== // @name Userstyles Bullshit Filter // @namespace darkred +// @version 1.1 +// @description Hides styles for popular browser games and social networks, styles that use "foreign" characters in descriptions as well as styles that have no screenshots. // @author kuehlschrank, darkred // @license MIT -// @description Hides styles for popular browser games and social networks, styles that use "foreign" characters in descriptions as well as styles that have no screenshots. -// @version 1.1 // @include https://userstyles.org/styles/browse* // @grant GM_addStyle // @grant GM_setValue diff --git a/ixIRC_-_sortable_search_results/ixIRC_-_sortable_search_results.user.js b/ixIRC_-_sortable_search_results/ixIRC_-_sortable_search_results.user.js index 6dd648b..4993936 100644 --- a/ixIRC_-_sortable_search_results/ixIRC_-_sortable_search_results.user.js +++ b/ixIRC_-_sortable_search_results/ixIRC_-_sortable_search_results.user.js @@ -1,16 +1,18 @@ // ==UserScript== // @name ixIRC - sortable search results -// @include /https?:\/\/(www\.)?ixirc\.com\/\?(q|cid)=.*/ // @namespace darkred -// @author darkred, Mottie -// description Makes the search results sortable +// @version 1 +// @description Makes the search results sortable +// @authors darkred, Mottie +// @license MIT +// @include /https?:\/\/(www\.)?ixirc\.com\/\?(q|cid)=.*/ // @grant none -// @run-at document-idle // @require http://code.jquery.com/jquery-3.2.1.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.28.10/js/jquery.tablesorter.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/datejs/1.0/date.min.js // @require https://cdn.rawgit.com/Mottie/tablesorter/master/js/parsers/parser-metric.js // @require http://cdnjs.cloudflare.com/ajax/libs/mathjs/3.13.1/math.min.js +// @run-at document-idle // Thanks a lot to Mottie for his help on using DateJs in a custom parser // ==/UserScript== @@ -51,7 +53,7 @@ $('head').append(stylesheet); // jQuery fix for tables lacking a thead (http://aaron.jorb.in/blog/2010/03/jquery-fix-for-tables-lacking-a-thead/) $('#results-table') .prepend($('') - .append($('#results-table tr:first').remove())); + .append($('#results-table tr:first').remove())); // thanks a lot to Mottie for his help on this custom parser ( https://github.com/Mottie/tablesorter/issues/1402#issuecomment-302744234 ) @@ -62,10 +64,10 @@ $('head').append(stylesheet); }, format: function(s) { var str = s - .replace('hr', 'hour') - .replace('min', 'minute') - .replace('sec', 'seconds') - .replace('ago', ''), + .replace('hr', 'hour') + .replace('min', 'minute') + .replace('sec', 'seconds') + .replace('ago', ''), date = Date.parse ? Date.parse('-' + str) : s ? new Date(str) : s; return date instanceof Date && isFinite(date) ? date.getTime() : s; }, diff --git a/mozillaZine_Forums_-_insert_titles_to_bug_links/mozillaZine_Forums_-_insert_titles_to_bug_links.user.js b/mozillaZine_Forums_-_insert_titles_to_bug_links/mozillaZine_Forums_-_insert_titles_to_bug_links.user.js index bbfcda8..b9baad6 100644 --- a/mozillaZine_Forums_-_insert_titles_to_bug_links/mozillaZine_Forums_-_insert_titles_to_bug_links.user.js +++ b/mozillaZine_Forums_-_insert_titles_to_bug_links/mozillaZine_Forums_-_insert_titles_to_bug_links.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name mozillaZine Forums - insert titles to bug links // @namespace darkred +// @version 2017.11.16 +// @description Inserts titles to bug links that are plain URLs, in forums.mozillazine.org // @author darkred, johnp_ // @license MIT -// @description Inserts titles to bug links that are plain URLs, in forums.mozillazine.org -// @version 2017.11.16 // @include http://forums.mozillazine.org/viewtopic.php* // @grant none // @require https://code.jquery.com/jquery-2.1.4.min.js diff --git a/thepiratebay_-_add_a_sortable_Ratio_column/thepiratebay_-_add_a_sortable_Ratio_column.user.js b/thepiratebay_-_add_a_sortable_Ratio_column/thepiratebay_-_add_a_sortable_Ratio_column.user.js index 32c7d9a..74ff019 100644 --- a/thepiratebay_-_add_a_sortable_Ratio_column/thepiratebay_-_add_a_sortable_Ratio_column.user.js +++ b/thepiratebay_-_add_a_sortable_Ratio_column/thepiratebay_-_add_a_sortable_Ratio_column.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name thepiratebay - add a sortable Ratio column // @namespace darkred -// @author darkred -// @license MIT -// @description Adds a sortable "Ratio" column // @version 1.2.3 // @date 2018.2.27 +// @description Adds a sortable "Ratio" column +// @author darkred +// @license MIT // @include https://thepiratebay.org/search/* // @include https://thepiratebay.org/browse/* // @include https://thepiratebay.org/recent diff --git a/thepiratebay_helper/thepiratebay_helper.user.js b/thepiratebay_helper/thepiratebay_helper.user.js index cbccef2..72acac1 100644 --- a/thepiratebay_helper/thepiratebay_helper.user.js +++ b/thepiratebay_helper/thepiratebay_helper.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name thepiratebay helper // @namespace darkred -// @authors emptyparad0x, darkred -// @license MIT -// @description Converts dates to local timezone on thepiratebay and optionally either highlight VIP/Trusted/Moderator/Helper torrents or hide non verified torrents altogether // @version 0.9.6n // @date 2018.5.4 +// @description Converts dates to local timezone on thepiratebay and optionally either highlight VIP/Trusted/Moderator/Helper torrents or hide non verified torrents altogether +// @authors emptyparad0x, darkred +// @license MIT // @include /^https?://thepiratebay\.(org|se|gd|la|mn|vg)/(search|browse|user|recent|torrent|tv|music|top).*$/ // @grant none // @require https://code.jquery.com/jquery-3.2.0.min.js diff --git a/userstyles.org_css_highlighter/userstylesorg_css_highlighter.user.js b/userstyles.org_css_highlighter/userstylesorg_css_highlighter.user.js index c4be1c1..64f27bb 100644 --- a/userstyles.org_css_highlighter/userstylesorg_css_highlighter.user.js +++ b/userstyles.org_css_highlighter/userstylesorg_css_highlighter.user.js @@ -2,10 +2,10 @@ // @name userstyles.org css highlighter // @namespace darkred // @version 2018.2.27 -// @license MIT // @description Formats and highlights CSS code shown after [Show CSS] clicking. (works with the new userstyles.org layout). // @author trespassersW // @contributor darkred +// @license MIT // // @released 2013-11-20 // @updated 2018-2-27 From a796c97c33fe8c7e14af96279c49fc04d93e030a Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 21 May 2018 02:33:43 +0300 Subject: [PATCH 041/439] (All scripts) Rearranged the metadata block --- BugMeNot/BugMeNot.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BugMeNot/BugMeNot.user.js b/BugMeNot/BugMeNot.user.js index 34f6256..eb08ce3 100644 --- a/BugMeNot/BugMeNot.user.js +++ b/BugMeNot/BugMeNot.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name BugMeNot // @namespace darkred +// @version 2017.12.15 +// @description It integrates BugMeNot into any login form (it retrieves all matching logins from bugmenot.com and autofills the login form) // @authors hosts, Matt McCarthy, darkred // @license MIT -// @description It integrates BugMeNot into any login form (it retrieves all matching logins from bugmenot.com and autofills the login form) -// @version 2017.12.15 // @include http://* // @include https://* // @exclude http://bugmenot.com/* From 5a38a615baf862bed2ac52b489b22ab1ebecef7b Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 23 May 2018 22:28:48 +0300 Subject: [PATCH 042/439] (Metal Archives discography pages - Reviews column split and sortable tables) Commented out the disabling of sorting in the first column(0) of the table, because when you're logged out, that column is the sortable 'Name' (instead of the unsortable 'Tools'). --- ..._-_Reviews_column_split_and_sortable_tables.user.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 77d2319..f674d06 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -1,8 +1,8 @@ // ==UserScript== // @name Metal Archives discography pages - Reviews column split and sortable tables // @namespace darkred -// @version 2.0.3 -// @date 2018.4.24 +// @version 2.0.4 +// @date 2018.5.23 // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. // @author RobG, Brock Adams, Mottie, darkred // @license MIT @@ -105,9 +105,9 @@ function appendColumn(jNode) { $(tbl).tablesorter ( { cssAsc: 'up', cssDesc: 'down', - headers: { - 0: {sorter: false} - } + // headers: { + // 0: {sorter: false} + // } } ); } From 9397193135fcbaf547de8a07c1be54028c930274 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 00:05:22 +0300 Subject: [PATCH 043/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - Additional rearrangements. - The 'Trailers' row is now hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBO, therefore it's useless. --- ..._entries_and_various_visual_tweaks.user.js | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 146d6ca..75269bb 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -2,9 +2,8 @@ // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred // @license MIT -// @version 2018.5.8 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @author darkred +// @version 2018.6.2 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -43,8 +42,9 @@ document.querySelector('.current-rating').innerHTML = document.querySelector('.c // The main script -var title = $(".header2:contains('Title')").parent().text().replace('Title:',''); -$( "a[href*='imdb.com']" ).html(title); +var title = $(".header2:contains('Title')").parent(); +var titleText = $(title).text().replace('Title:',''); +$( "a[href*='imdb.com']" ).html(titleText); // $(".header2:contains('Title')").parent().remove(); @@ -59,12 +59,14 @@ var userRating = $(".header2:contains('Rating:')").filter(function() { var target = $(".header2:contains('Added:')").parent(); $(imdbRating).insertAfter(target); -$(imdbLink).insertAfter(target); -$(trailer).insertAfter(target); +// $(imdbLink).insertAfter(target); +$(imdbLink).insertAfter(title); +// $(trailer).insertAfter(target); +$(trailer).hide(); // $(userRating).insertAfter(target); -var target2 = $(".header2:contains('Genres:')").parent(); -$(userRating).insertBefore(target2); +var genres = $(".header2:contains('Genres:')").parent(); +$(userRating).insertBefore(genres); @@ -128,8 +130,12 @@ $(".header2:contains('Show/Hide NFO:')").parent().insertAfter($(".header2:contai $(".header2:contains('Release name:')").parent().insertBefore($(".header2:contains('Category:')").parent()); -$(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Year:')").parent()); +// $(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Year:')").parent()); + +$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); +// $(".header2:contains('Trailer:')").parent().insertBefore($( "a[href*='imdb.com']" ).parent().parent()); $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); -$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); +// $(".header2:contains('Title:')").parent().insertBefore($( "a[href*='imdb.com']" ).parent().parent()); +$(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Trailer:')").parent()); From 4867d2ad47960b2db8430207380e8058bce45537 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 00:06:58 +0300 Subject: [PATCH 044/439] (ProtonMail - remove forced signature) Initial commit --- ...ProtonMail_-_remove_forced_signature.user.js | 17 +++++++++++++++++ ProtonMail_-_remove_forced_signature/README.md | 5 +++++ 2 files changed, 22 insertions(+) create mode 100644 ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js create mode 100644 ProtonMail_-_remove_forced_signature/README.md diff --git a/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js new file mode 100644 index 0000000..909f598 --- /dev/null +++ b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js @@ -0,0 +1,17 @@ +// ==UserScript== +// @name ProtonMail - remove forced signature +// @namespace darkred +// @license MIT +// @description Removes the forced ProtonMail signature from the 'New message' textboxes +// @version 1 +// @include https://mail.protonmail.com/* +// @grant none +// @require https://github.com/uzairfarooq/arrive/raw/master/minified/arrive.min.js +// ==/UserScript== + +// wait for the formatting toolbar element to be created +document.arrive('.squireToolbar-row-1', function () { + // select the signature element and empty its innerHTML + document.querySelector('.squireIframe').contentDocument.querySelector('div.protonmail_signature_block-proton').innerHTML = ''; + // document.querySelector('.squireIframe').contentDocument.querySelector('div.protonmail_signature_block-proton').remove(); +}); diff --git a/ProtonMail_-_remove_forced_signature/README.md b/ProtonMail_-_remove_forced_signature/README.md new file mode 100644 index 0000000..6a38595 --- /dev/null +++ b/ProtonMail_-_remove_forced_signature/README.md @@ -0,0 +1,5 @@ +This userscript applies to https://mail.protonmail.com. +It automatically removes the ProtonMail signature from the 'New message' textboxes, +which is appended by default to each mail body and cannot be modified via Settings in free accounts. + +It uses the excellent library [arrive.js](https://github.com/uzairfarooq/arrive) From f4ad31fde742ea435d2b08e41e8be0dc46f8ce77 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 00:12:21 +0300 Subject: [PATCH 045/439] (ProtonMail - remove forced signature) Changed the @require URL with a GreasyFork mirror --- .../ProtonMail_-_remove_forced_signature.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js index 909f598..d8b0732 100644 --- a/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js +++ b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js @@ -6,7 +6,8 @@ // @version 1 // @include https://mail.protonmail.com/* // @grant none -// @require https://github.com/uzairfarooq/arrive/raw/master/minified/arrive.min.js +// @require https://greasyfork.org/scripts/21927-arrive-js/code/arrivejs.js + // ==/UserScript== // wait for the formatting toolbar element to be created From 01e94793993e4bd22c272d6e89d1db91a17122e8 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 00:24:22 +0300 Subject: [PATCH 046/439] (ProtonMail - remove forced signature) Rearranged the metadata block --- .../ProtonMail_-_remove_forced_signature.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js index d8b0732..0bba786 100644 --- a/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js +++ b/ProtonMail_-_remove_forced_signature/ProtonMail_-_remove_forced_signature.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name ProtonMail - remove forced signature // @namespace darkred -// @license MIT -// @description Removes the forced ProtonMail signature from the 'New message' textboxes // @version 1 +// @description Removes the forced ProtonMail signature from the 'New message' textboxes +// @author darkred +// @license MIT // @include https://mail.protonmail.com/* // @grant none // @require https://greasyfork.org/scripts/21927-arrive-js/code/arrivejs.js From 7afd6cd13015644ccbc5906e7a48bf626eb5bd43 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 00:25:11 +0300 Subject: [PATCH 047/439] (RARBG - torrent and magnet links) Missed an @ in the metadata block --- .../RARBG_-_torrent_and_magnet_links.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index b989810..b6ed648 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -4,7 +4,7 @@ // @version 2018.3.23 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred -// contributor sxe +// @contributor sxe // @license MIT // @include /^(https?:)?\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|top10)$/ // @grant none From c292c98fb56d659cc4ab55b2ed09e3de5aa98141 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 20:52:28 +0300 Subject: [PATCH 048/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - More rearrangements - Made the 'RT Tomatometer' and 'Metacritic' values bold. --- ...rearrange_entries_and_various_visual_tweaks.user.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 75269bb..990a584 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.6.2 +// @version 2018.6.2.1 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -30,12 +30,16 @@ var rest = text.match(regex)[3]; node.innerHTML = ' Rating: ' + average + '/' + votes + rest; +$(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); +$(".header2:contains('RottenTomatoes:')").next().css("font-weight","Bold"); + // for ten star rating (instead of five star) document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; document.querySelector('.current-rating').innerHTML = document.querySelector('.current-rating').innerHTML.replace('Currently ', '').replace(/([\d.]+)\/([\d.]+)/, function(m, s1, s2) { return 2 * s1 + '/' + 2 * s2;}); + // --------------------------------------------------------- @@ -139,3 +143,7 @@ $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefo // $(".header2:contains('Title:')").parent().insertBefore($( "a[href*='imdb.com']" ).parent().parent()); $(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Trailer:')").parent()); + +$(".header2:contains('IMDb Rating:')").parent().insertAfter($(".header2:contains('PG Rating:')").parent()); + +$(".header2:contains('Metacritic:')").parent().insertAfter($(".header2:contains('RT Critics Consensus:')").parent()); From 5ca47df27b118fb63c9c804e805d4c7e5e9e7dac Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 22:54:48 +0300 Subject: [PATCH 049/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Code rearrangements. Removed commented out lines --- ...ange_entries_and_various_visual_tweaks.user.js | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 990a584..c68bd3c 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.6.2.1 +// @version 2018.6.2.2 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -30,10 +30,6 @@ var rest = text.match(regex)[3]; node.innerHTML = ' Rating: ' + average + '/' + votes + rest; -$(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); -$(".header2:contains('RottenTomatoes:')").next().css("font-weight","Bold"); - - // for ten star rating (instead of five star) document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; @@ -84,6 +80,8 @@ $(".header2:contains('RT Tomatometer:')").parent().insertBefore($(".header2:cont // MAKING BOLD var imdbRatingNode = $(".header2:contains('IMDB Rating:')").next(); $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); +$(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); +$(".header2:contains('RT Tomatometer:')").next().css("font-weight","Bold"); var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); @@ -134,16 +132,11 @@ $(".header2:contains('Show/Hide NFO:')").parent().insertAfter($(".header2:contai $(".header2:contains('Release name:')").parent().insertBefore($(".header2:contains('Category:')").parent()); -// $(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Year:')").parent()); - $(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); -// $(".header2:contains('Trailer:')").parent().insertBefore($( "a[href*='imdb.com']" ).parent().parent()); - -$('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); -// $(".header2:contains('Title:')").parent().insertBefore($( "a[href*='imdb.com']" ).parent().parent()); $(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Trailer:')").parent()); $(".header2:contains('IMDb Rating:')").parent().insertAfter($(".header2:contains('PG Rating:')").parent()); +$('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Rating:')").parent()); $(".header2:contains('Metacritic:')").parent().insertAfter($(".header2:contains('RT Critics Consensus:')").parent()); From 8e1b819743be44b0469227edf5139aa1b04dc62b Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Jun 2018 23:47:08 +0300 Subject: [PATCH 050/439] Updated the screenshots in README.md --- .../README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 64c785b..15eecd5 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,9 +3,9 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/1kvPT56l.jpg)](https://i.imgur.com/1kvPT56.jpg) +[![](https://i.imgur.com/5swjuZul.jpg)](https://i.imgur.com/5swjuZu.jpg) With the script: -[![](https://i.imgur.com/7l6Ht6Il.jpg)](https://i.imgur.com/7l6Ht6I.jpg) +[![](https://i.imgur.com/lGB0Po1l.jpg)](https://i.imgur.com/lGB0Po1.jpg) The script makes use of the page's jQuery 1.11.3. From dc77aa72535fff0b2964214ffa3deba1bd5f73b6 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 8 Jun 2018 23:24:39 +0300 Subject: [PATCH 051/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Rewrote the script, simplifying it. Now it works ok in all pages, even when some rows are missing. --- ..._entries_and_various_visual_tweaks.user.js | 168 ++++++++++-------- 1 file changed, 93 insertions(+), 75 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index c68bd3c..452d04f 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.6.2.2 +// @version 2018.6.8 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -16,70 +16,61 @@ // Unneeded: require http://code.jquery.com/ui/1.9.1/jquery-ui.min.js - -// Decimal Rating - -var node = document.querySelector('.ratingblock p'); +// Rating by users - decimal rating +var ratingByUsersElement = document.querySelector('.ratingblock p'); var text = document.querySelector('.ratingblock p').innerHTML; -node.title = node.innerText; +ratingByUsersElement.title = ratingByUsersElement.innerText; var regex = /[\s]+[\s]+([\d.]+)<\/strong>\/([\d.]+)(.*)/; - var average = text.match(regex)[1] * 2; var votes = text.match(regex)[2] * 2; var rest = text.match(regex)[3]; -node.innerHTML = ' Rating: ' + average + '/' + votes + rest; -// for ten star rating (instead of five star) + + +// Rating by users - ten star rating (instead of five star) document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; document.querySelector('.current-rating').innerHTML = document.querySelector('.current-rating').innerHTML.replace('Currently ', '').replace(/([\d.]+)\/([\d.]+)/, function(m, s1, s2) { return 2 * s1 + '/' + 2 * s2;}); -// --------------------------------------------------------- -// The main script -var title = $(".header2:contains('Title')").parent(); -var titleText = $(title).text().replace('Title:',''); -$( "a[href*='imdb.com']" ).html(titleText); -// $(".header2:contains('Title')").parent().remove(); +// Add the title text to the IMDb link +var titleElement = $(".header2:contains('Title')").parent(); +var titleText = $(titleElement).text().replace('Title:',''); +$( "a[href*='imdb.com']" ).html(titleText); -var trailer = $(".header2:contains('Trailer:')").parent(); -var imdbLink = $( "a[href*='imdb.com']" ).parent().parent(); -var imdbRating = $(".header2:contains('IMDB Rating:')").parent(); -var userRating = $(".header2:contains('Rating:')").filter(function() { - return $.trim($(this).text()) === "Rating:"; -}).parent(); +// The 'Trailers' row is now hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBO, therefore it's useless. +$(".header2:contains('Trailer:')").parent().hide(); -var target = $(".header2:contains('Added:')").parent(); -$(imdbRating).insertAfter(target); -// $(imdbLink).insertAfter(target); -$(imdbLink).insertAfter(title); -// $(trailer).insertAfter(target); -$(trailer).hide(); -// $(userRating).insertAfter(target); -var genres = $(".header2:contains('Genres:')").parent(); -$(userRating).insertBefore(genres); +$(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); +$(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); +$(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); +$(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); +$(".header2:contains('Plot:')") .html('IMDb Summary:'); +$(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); -$(".header2:contains('Rotten Rating:')").html('RT Critics Avg:'); -$(".header2:contains('RottenTomatoes:')").html('RT Tomatometer:'); -$(".header2:contains('RT Tomatometer:')").parent().insertBefore($(".header2:contains('RT Critics Avg:')").parent()); +// MAKING BOLD (start) +ratingByUsersElement.innerHTML = ' Rating: ' + average + '/' + votes + rest; -// MAKING BOLD var imdbRatingNode = $(".header2:contains('IMDB Rating:')").next(); -$(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); +if (imdbRatingNode.length > 0){ + $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); +} + + $(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); $(".header2:contains('RT Tomatometer:')").next().css("font-weight","Bold"); @@ -94,49 +85,76 @@ if (rtCriticsAvgNode.length !== 0) $(rtCriticsAvgNode).html($(rtCriticsAvgNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); -// var userRating = $("p:contains('votes cast')"); +var userRating = $(".header2:contains('Rating:')").filter(function() { + return $.trim($(this).text()) === "Rating:"; +}).parent(); userRating = $("p:contains('votes cast')"); $(userRating).css('font-size', '11px'); $(userRating).html($(userRating).html().replace('Rating:', '')); -// $(userRating).html($(userRating).html().replace('')); - $(userRating).replaceWith(function() { return "
" + this.innerHTML + "
"; }); - - - - - -$(".header2:contains('Rotten Plot:')").parent().insertAfter($(".header2:contains('RT Critics Avg:')").parent()); -$(".header2:contains('Rotten Plot:')").html('RT Critics Consensus:'); - -$(".header2:contains('IMDB Rating:')").html('IMDb Rating:'); - - -$(".header2:contains('Plot:')").parent().insertBefore($(".header2:contains('IMDb Rating:')").parent()); -$(".header2:contains('Plot:')").html('IMDb Summary:'); - - -$(".header2:contains('Genres:')").parent().insertAfter($('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent()); -$(".header2:contains('Actors:')").parent().insertAfter($(".header2:contains('Genres:')").parent()); - -$(".header2:contains('IMDB Runtime:')").html('IMDb Runtime:'); -$(".header2:contains('IMDb Runtime:')").parent().insertAfter($(".header2:contains('IMDb Summary:')").parent()); - -$(".header2:contains('Year:')").parent().insertAfter($('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent()); - -$(".header2:contains('Director:')").parent().insertBefore($(".header2:contains('Actors:')").parent()); - -$(".header2:contains('Show/Hide NFO:')").parent().insertAfter($(".header2:contains('Release name:')").parent()); - -$(".header2:contains('Release name:')").parent().insertBefore($(".header2:contains('Category:')").parent()); - -$(".header2:contains('Trailer:')").parent().insertBefore($(".header2:contains('IMDb Summary:')").parent()); - -$(".header2:contains('Title:')").parent().insertBefore($(".header2:contains('Trailer:')").parent()); - -$(".header2:contains('IMDb Rating:')").parent().insertAfter($(".header2:contains('PG Rating:')").parent()); -$('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent().insertBefore($(".header2:contains('IMDb Rating:')").parent()); - -$(".header2:contains('Metacritic:')").parent().insertAfter($(".header2:contains('RT Critics Consensus:')").parent()); +// MAKING BOLD (end) + + + + + + +// 'Trailer' element already removed +var imdbLink = $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); +var ratingByUsers = $('.ratingblock').parent().parent(); +var category = $(".header2:contains('Category:')").parent(); +var size = $(".header2:contains('Size:')").parent(); +var showHideFiles = $(".header2:contains('Show/Hide Files:')").parent(); +var added = $(".header2:contains('Added:')").parent(); +var title = $(".header2:contains('Title:')[align='right']").parent(); +var pgRating = $(".header2:contains('PG Rating:')").parent(); +var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); +var metacritic = $(".header2:contains('Metacritic:')").parent(); +var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); +var RTTomatometer = $(".header2:contains('RT Tomatometer:')").parent(); +var genres = $(".header2:contains('Genres:')").parent(); +var actors = $(".header2:contains('Actors:')").parent(); +var director = $(".header2:contains('Director:')").parent(); +var imdbRuntime = $(".header2:contains('IMDb Runtime:')").parent(); +var year = $(".header2:contains('Year:')").parent(); +var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); +var RTCriticsCons = $(".header2:contains('RT Critics Consensus:')").parent(); +var hits = $(".header2:contains('Hits:')").parent(); +var peers = $(".header2:contains('Peers:')").parent(); +var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); +var tags = $(".header2:contains('Tags')").parent(); +var releaseName = $(".header2:contains('Release name:')").parent(); + + + +function tableLastRow(){ + return $('table[width="100%"][border="0"][cellspacing="1"]').children().last().children().last(); +} + + +releaseName .insertAfter(tableLastRow()); +category .insertAfter(tableLastRow()); +size .insertAfter(tableLastRow()); +showHideFiles .insertAfter(tableLastRow()); +added .insertAfter(tableLastRow()); +title .insertAfter(tableLastRow()); +imdbSummary .insertAfter(tableLastRow()); +imdbRuntime .insertAfter(tableLastRow()); +year .insertAfter(tableLastRow()); +genres .insertAfter(tableLastRow()); +director .insertAfter(tableLastRow()); +actors .insertAfter(tableLastRow()); +pgRating .insertAfter(tableLastRow()); +imdbLink .insertAfter(tableLastRow()); +imdbRating .insertAfter(tableLastRow()); +RTTomatometer .insertAfter(tableLastRow()); +RTCriticsAvg .insertAfter(tableLastRow()); +RTCriticsCons .insertAfter(tableLastRow()); +metacritic .insertAfter(tableLastRow()); +ratingByUsers .insertAfter(tableLastRow()); +hits .insertAfter(tableLastRow()); +peers .insertAfter(tableLastRow()); +hitAndRun .insertAfter(tableLastRow()); +tags .insertAfter(tableLastRow()); From 8ed310d1cca76eb87e1e816086de505accc2dc7c Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 9 Jun 2018 18:58:19 +0300 Subject: [PATCH 052/439] ( RARBG torrent detail pages - rearrange entries and various visual tweaks ) - Converted the movie duration from minutes (plain number) to hours and min (e.g. 1h 30min) - Now 'PG Rating' and 'IMDb Runtime' are displayed inside 'IMDb Summary' --- ..._entries_and_various_visual_tweaks.user.js | 138 +++++++++++------- .../README.md | 4 +- 2 files changed, 88 insertions(+), 54 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 452d04f..7dd5e78 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.6.8 +// @version 2018.6.9 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -16,6 +16,23 @@ // Unneeded: require http://code.jquery.com/ui/1.9.1/jquery-ui.min.js + + +$(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); +$(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); +$(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); +$(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); +$(".header2:contains('Plot:')") .html('IMDb Summary:'); +$(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); + + + + + + + + + // Rating by users - decimal rating var ratingByUsersElement = document.querySelector('.ratingblock p'); var text = document.querySelector('.ratingblock p').innerHTML; @@ -37,6 +54,15 @@ document.querySelector('.current-rating').innerHTML = document.querySelector('.c +function minsToHoursMins(totalMin) { + var hours = Math.floor( totalMin / 60); + var minutes = totalMin % 60; + return hours + 'h ' + minutes + 'min' ; +} + +var duration = $(".header2:contains('IMDb Runtime:')").next().html(); +$(".header2:contains('IMDb Runtime:')").next().html(minsToHoursMins(duration)); + // Add the title text to the IMDb link @@ -50,13 +76,19 @@ $(".header2:contains('Trailer:')").parent().hide(); +// move PG Rating inside IMDb Summary +var pg = $(".header2:contains('PG Rating:')").next().html(); +$(".header2:contains('PG Rating:')").parent().hide(); +var summary = $(".header2:contains('IMDb Summary:')").next().html(); +$(".header2:contains('IMDb Summary:')").next().html(summary + ' [ ' + pg + ' ]'); + + +// move Runtime inside IMDb Summary +var runtime = $(".header2:contains('IMDb Runtime:')").next().html(); +$(".header2:contains('IMDb Runtime:')").parent().hide(); +summary = $(".header2:contains('IMDb Summary:')").next().html(); +$(".header2:contains('IMDb Summary:')").next().html(summary + ' ( ' + runtime + ' )'); -$(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); -$(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); -$(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); -$(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); -$(".header2:contains('Plot:')") .html('IMDb Summary:'); -$(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); @@ -65,7 +97,7 @@ $(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); // MAKING BOLD (start) ratingByUsersElement.innerHTML = ' Rating: ' + average + '/' + votes + rest; -var imdbRatingNode = $(".header2:contains('IMDB Rating:')").next(); +var imdbRatingNode = $(".header2:contains('IMDb Rating:')").next(); if (imdbRatingNode.length > 0){ $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); } @@ -102,31 +134,33 @@ $(userRating).replaceWith(function() { // 'Trailer' element already removed -var imdbLink = $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); +var imdbLink = $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); var ratingByUsers = $('.ratingblock').parent().parent(); -var category = $(".header2:contains('Category:')").parent(); -var size = $(".header2:contains('Size:')").parent(); +var category = $(".header2:contains('Category:')").parent(); +var size = $(".header2:contains('Size:')").parent(); var showHideFiles = $(".header2:contains('Show/Hide Files:')").parent(); -var added = $(".header2:contains('Added:')").parent(); -var title = $(".header2:contains('Title:')[align='right']").parent(); -var pgRating = $(".header2:contains('PG Rating:')").parent(); -var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); -var metacritic = $(".header2:contains('Metacritic:')").parent(); -var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); +var added = $(".header2:contains('Added:')").parent(); +var title = $(".header2:contains('Title:')[align='right']").parent(); +// var pgRating = $(".header2:contains('PG Rating:')").parent(); +var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); +var metacritic = $(".header2:contains('Metacritic:')").parent(); +var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); var RTTomatometer = $(".header2:contains('RT Tomatometer:')").parent(); -var genres = $(".header2:contains('Genres:')").parent(); -var actors = $(".header2:contains('Actors:')").parent(); -var director = $(".header2:contains('Director:')").parent(); -var imdbRuntime = $(".header2:contains('IMDb Runtime:')").parent(); -var year = $(".header2:contains('Year:')").parent(); -var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); +var genres = $(".header2:contains('Genres:')").parent(); +var actors = $(".header2:contains('Actors:')").parent(); +var director = $(".header2:contains('Director:')").parent(); +// var imdbRuntime = $(".header2:contains('IMDb Runtime:')").parent(); +var year = $(".header2:contains('Year:')").parent(); +var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); var RTCriticsCons = $(".header2:contains('RT Critics Consensus:')").parent(); -var hits = $(".header2:contains('Hits:')").parent(); -var peers = $(".header2:contains('Peers:')").parent(); -var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); -var tags = $(".header2:contains('Tags')").parent(); -var releaseName = $(".header2:contains('Release name:')").parent(); +var hits = $(".header2:contains('Hits:')").parent(); +var peers = $(".header2:contains('Peers:')").parent(); +var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); +var tags = $(".header2:contains('Tags')").parent(); +var releaseName = $(".header2:contains('Release name:')").parent(); + +year.hide(); function tableLastRow(){ @@ -134,27 +168,27 @@ function tableLastRow(){ } -releaseName .insertAfter(tableLastRow()); -category .insertAfter(tableLastRow()); -size .insertAfter(tableLastRow()); -showHideFiles .insertAfter(tableLastRow()); -added .insertAfter(tableLastRow()); -title .insertAfter(tableLastRow()); -imdbSummary .insertAfter(tableLastRow()); -imdbRuntime .insertAfter(tableLastRow()); -year .insertAfter(tableLastRow()); -genres .insertAfter(tableLastRow()); -director .insertAfter(tableLastRow()); -actors .insertAfter(tableLastRow()); -pgRating .insertAfter(tableLastRow()); -imdbLink .insertAfter(tableLastRow()); -imdbRating .insertAfter(tableLastRow()); -RTTomatometer .insertAfter(tableLastRow()); -RTCriticsAvg .insertAfter(tableLastRow()); -RTCriticsCons .insertAfter(tableLastRow()); -metacritic .insertAfter(tableLastRow()); -ratingByUsers .insertAfter(tableLastRow()); -hits .insertAfter(tableLastRow()); -peers .insertAfter(tableLastRow()); -hitAndRun .insertAfter(tableLastRow()); -tags .insertAfter(tableLastRow()); +releaseName .insertAfter(tableLastRow()); +category .insertAfter(tableLastRow()); +size .insertAfter(tableLastRow()); +showHideFiles .insertAfter(tableLastRow()); +added .insertAfter(tableLastRow()); +title .insertAfter(tableLastRow()); +// year .insertAfter(tableLastRow()); +// imdbRuntime .insertAfter(tableLastRow()); +genres .insertAfter(tableLastRow()); +director .insertAfter(tableLastRow()); +actors .insertAfter(tableLastRow()); +// pgRating .insertAfter(tableLastRow()); +imdbLink .insertAfter(tableLastRow()); +imdbSummary .insertAfter(tableLastRow()); +imdbRating .insertAfter(tableLastRow()); +RTTomatometer .insertAfter(tableLastRow()); +RTCriticsAvg .insertAfter(tableLastRow()); +RTCriticsCons .insertAfter(tableLastRow()); +metacritic .insertAfter(tableLastRow()); +ratingByUsers .insertAfter(tableLastRow()); +hits .insertAfter(tableLastRow()); +peers .insertAfter(tableLastRow()); +hitAndRun .insertAfter(tableLastRow()); +tags .insertAfter(tableLastRow()); diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 15eecd5..f49518a 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,9 +3,9 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/5swjuZul.jpg)](https://i.imgur.com/5swjuZu.jpg) +[![](https://i.imgur.com/IyXjtxGl.jpg)](https://i.imgur.com/IyXjtxG.jpg) With the script: -[![](https://i.imgur.com/lGB0Po1l.jpg)](https://i.imgur.com/lGB0Po1.jpg) +[![](https://i.imgur.com/XydAE2nl.jpg)](https://i.imgur.com/XydAE2n.jpg) The script makes use of the page's jQuery 1.11.3. From 5fe4ad401c6503262bbec9546822cb13fdd77b8c Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 17 Jun 2018 12:15:00 +0300 Subject: [PATCH 053/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Display 'Runtime' before 'PG Rating' at the end of 'IMDb Summary'. --- ..._entries_and_various_visual_tweaks.user.js | 21 ++++++++++--------- .../README.md | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 7dd5e78..74af7d5 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -3,7 +3,7 @@ // @namespace darkred // @license MIT // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings -// @version 2018.6.9 +// @version 2018.6.17 // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== @@ -76,21 +76,22 @@ $(".header2:contains('Trailer:')").parent().hide(); -// move PG Rating inside IMDb Summary -var pg = $(".header2:contains('PG Rating:')").next().html(); -$(".header2:contains('PG Rating:')").parent().hide(); -var summary = $(".header2:contains('IMDb Summary:')").next().html(); -$(".header2:contains('IMDb Summary:')").next().html(summary + ' [ ' + pg + ' ]'); - // move Runtime inside IMDb Summary var runtime = $(".header2:contains('IMDb Runtime:')").next().html(); $(".header2:contains('IMDb Runtime:')").parent().hide(); summary = $(".header2:contains('IMDb Summary:')").next().html(); -$(".header2:contains('IMDb Summary:')").next().html(summary + ' ( ' + runtime + ' )'); - - +if (runtime !== undefined) { + $(".header2:contains('IMDb Summary:')").next().html(summary + ' ( ' + runtime + ' )'); +} +// move PG Rating inside IMDb Summary +var pg = $(".header2:contains('PG Rating:')").next().html(); +$(".header2:contains('PG Rating:')").parent().hide(); +var summary = $(".header2:contains('IMDb Summary:')").next().html(); +if (pg !== undefined) { + $(".header2:contains('IMDb Summary:')").next().html(summary + ' [ ' + pg + ' ]'); +} diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index f49518a..0b75b5e 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,9 +3,9 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/IyXjtxGl.jpg)](https://i.imgur.com/IyXjtxG.jpg) +[![](https://i.imgur.com/a92zxpTl.jpg)](https://i.imgur.com/a92zxpT.jpg) With the script: -[![](https://i.imgur.com/XydAE2nl.jpg)](https://i.imgur.com/XydAE2n.jpg) +[![](https://i.imgur.com/y8shpp8l.jpg)](https://i.imgur.com/y8shpp8.jpg) The script makes use of the page's jQuery 1.11.3. From 764856ac29bfbeef37a8b7e370cc88e7d2be74a9 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 8 Aug 2018 20:48:50 +0300 Subject: [PATCH 054/439] (Instagram - visible images counter) Now it also works in localized pages, e.g. https://www.instagram.com/instagram/?hl=de --- .../Instagram_-_visible_images_counter.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 3b23516..42a4222 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.4.28 +// @version 2018.8.8 // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page // @author darkred // @license MIT @@ -38,8 +38,8 @@ var total; function showCounter() { - var totalString = $(`span:contains('posts'):last-child > span`).html(); // The 'total' value (it's a string) - total = totalString.replace(',', ''); // strip the thousand comma seperator + var totalString = $(`span:contains('posts'):last-child > span, .g47SY`).html(); // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de + total = totalString.replace(',', '').replace('.', ''); // strip the thousand comma/dot seperator hrefselems = document.querySelectorAll(`a[href*='taken-by']`); From bb45cecf05b8fc4beae3e823030ae4c324c9b2fd Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 8 Aug 2018 20:49:52 +0300 Subject: [PATCH 055/439] Rearranged the metadata block --- ...ges_-_rearrange_entries_and_various_visual_tweaks.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 74af7d5..8b63cd3 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,9 +1,10 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @license MIT -// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @version 2018.6.17 +// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings +// @author darkred +// @license MIT // @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ // @grant none // ==/UserScript== From f5a3026a0a79b015ee1428d0ba45da57b313e6bd Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 14 Aug 2018 02:17:54 +0300 Subject: [PATCH 056/439] (Instagram - visible images counter) Now using a better selector for the 'total' element, i.e. without the jQuery ":contains()" selector. --- .../Instagram_-_visible_images_counter.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 42a4222..d7de66f 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.8.8 +// @version 2018.8.14 // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page // @author darkred // @license MIT @@ -38,7 +38,8 @@ var total; function showCounter() { - var totalString = $(`span:contains('posts'):last-child > span, .g47SY`).html(); // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de + // var totalString = $(`span:contains('posts'):last-child > span, .g47SY`).html(); // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de + var totalString = document.querySelector('#react-root > section > main > div > header > section > ul > li:nth-child(1) > span > span').textContent; // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de total = totalString.replace(',', '').replace('.', ''); // strip the thousand comma/dot seperator From 7d7719969a64b60304146f1efe56365ede319f17 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 01:46:30 +0300 Subject: [PATCH 057/439] (RARBG - torrent and magnet links) Added all possible @include combinations based on https://torrents.me/proxy/rarbg/ (fix for https://greasyfork.org/en-US/forum/discussion/42041/magnet-links-can-not-be-displayed) --- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index b6ed648..b9924c7 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2018.3.23 +// @version 2018.9.6 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // ==/UserScript== From 11f44ff32bf54cd597022bcbb4cc6fb0f91903f8 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 12:15:38 +0300 Subject: [PATCH 058/439] Updated .eslintrc.js --- .eslintrc.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index a96871b..c7c79e1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,38 +9,41 @@ module.exports = { "extends": "eslint:recommended", // "extends": "eslint:all", "parserOptions": { - "ecmaVersion": 8, + "ecmaVersion": 9, "sourceType": "script", "ecmaFeatures": { "globalReturn ": true, "impliedStrict": true, // "jsx": true, // "experimentalObjectRestSpread": true - } + }, }, "rules": { + "complexity": ["warn", 20], "eqeqeq": "warn", "func-style": "off", - "indent": ["warn","tab"], + "indent": ["warn","tab", { "ignoreComments": true, "SwitchCase": 1 } ], "linebreak-style": ["warn","unix"], "max-len": "off", "max-statements-per-line": "off", "new-cap": "off", + "no-alert": "warn", + "no-console": "warn", "no-extra-semi": "warn", "no-inline-comments": "off", "no-magic-numbers": "off", + "no-misleading-character-class": "warn", "no-mixed-spaces-and-tabs": "warn", // "no-var": "off", "no-multiple-empty-lines": "off", - "no-console": "warn", - "no-alert": "warn", + "no-tabs": "off", "no-unused-labels": "warn", "no-unused-vars": ["warn", {"vars": "all", "args": "after-used"}], "no-useless-escape": "warn", - "no-tabs": "off", "padded-blocks": "off", "quotes": ["warn", "single", { "allowTemplateLiterals": true }] , "require-jsdoc": "off", + "require-unicode-regexp": "warn", "semi": ["warn","always"], "space-before-function-paren": "off", "unicode-bom": ["warn", "never"] From 042d0bcdeb46bb17d5185b9a39275d018889d88d Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 12:27:22 +0300 Subject: [PATCH 059/439] (GreasyFork - filter libraries in profiles) Added a now needed '@require jquery' and improved the various selectors. Fixes https://greasyfork.org/en-US/forum/discussion/42152/bug-doesnt-do-anything. --- ...ork_-_filter_libraries_in_profiles.user.js | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js index f55dde1..10c6638 100644 --- a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js +++ b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js @@ -1,17 +1,19 @@ īģŋ// ==UserScript== // @name GreasyFork - filter libraries in profiles // @namespace darkred -// @version 1 +// @version 2018.9.6 // @description Filters libraries in GreasyFork profiles // @author darkred // @license MIT // @include https://greasyfork.org/*/users/* +// @require https://code.jquery.com/jquery-3.3.1.min.js // @grant none // ==/UserScript== -var all = document.querySelectorAll('article').length; -var libraries = document.getElementsByClassName('script-type').length; -var scripts = document.querySelectorAll('article').length - libraries; + +var all = document.querySelectorAll('li[data-script-type="public"], li[data-script-type="library"]').length; +var libraries = document.querySelectorAll('li[data-script-type="library"]').length; +var scripts = all - libraries; var parentElement = document.querySelector('#script-list-sort'); @@ -46,7 +48,7 @@ b.onclick = toggleScripts; var c = document.createElement('a'); div.appendChild(c); -c.innerHTML = '' + 'Libraries: ' + '' + '' + libraries + '' + "
"; +c.innerHTML = '' + 'Libraries: ' + '' + '' + libraries + '' + '
'; c.onclick = toggleLibraries; @@ -54,22 +56,19 @@ b.click(); function toggleAll(){ a.style.fontWeight = 'bold'; b.style.fontWeight = 'normal'; c.style.fontWeight = 'normal'; - $('article').show(); - $('.script-type').parent().parent().show(); + $('li[data-script-type="public"], li[data-script-type="library"]').show(); } function toggleScripts(){ a.style.fontWeight = 'normal'; b.style.fontWeight = 'bold'; c.style.fontWeight = 'normal'; - $('article').show(); - $('.script-type').parent().parent().hide(); + $('li[data-script-type="public"], li[data-script-type="library"]').hide(); + $('li[data-script-type="public"]').show(); } function toggleLibraries(){ a.style.fontWeight = 'normal'; b.style.fontWeight = 'normal'; c.style.fontWeight = 'bold'; - $('article').hide(); - $('.script-type').parent().parent().show(); - - + $('li[data-script-type="public"], li[data-script-type="library"]').hide(); + $('li[data-script-type="library"]').show(); } From 141d52584fa40e59c380893b6daf0bce8617cd01 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 13:21:58 +0300 Subject: [PATCH 060/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Now also remove the 'VPN' row as it's an ad. Added some more comments to script and some notes in README.md . --- ...ange_entries_and_various_visual_tweaks.user.js | 15 +++++++-------- .../README.md | 7 ++++++- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 8b63cd3..be59093 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.6.17 +// @version 2018.9.6 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -72,10 +72,6 @@ var titleText = $(titleElement).text().replace('Title:',''); $( "a[href*='imdb.com']" ).html(titleText); -// The 'Trailers' row is now hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBO, therefore it's useless. -$(".header2:contains('Trailer:')").parent().hide(); - - // move Runtime inside IMDb Summary @@ -134,8 +130,8 @@ $(userRating).replaceWith(function() { - -// 'Trailer' element already removed +var vpn = $(".header2:contains('VPN:')").parent(); +var trailer = $(".header2:contains('Trailer:')").parent() var imdbLink = $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); var ratingByUsers = $('.ratingblock').parent().parent(); var category = $(".header2:contains('Category:')").parent(); @@ -162,7 +158,10 @@ var tags = $(".header2:contains('Tags')").parent(); var releaseName = $(".header2:contains('Release name:')").parent(); -year.hide(); + +year.hide(); // The 'Year' row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') +trailer.hide(); // The 'Trailer' row is hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList), therefore it's pointless to keep. +vpn.hide(); // The 'VPN' row is hidden because it's an ad. function tableLastRow(){ diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 0b75b5e..068495b 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -8,4 +8,9 @@ Initial: With the script: [![](https://i.imgur.com/y8shpp8l.jpg)](https://i.imgur.com/y8shpp8.jpg) -The script makes use of the page's jQuery 1.11.3. +Notes: +- The script makes use of the page's jQuery 1.11.3. +- The `Year` row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') +- The `Runtime` and `PG rating` rows info is still there, appended to the end of the 'IMDb summary' text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). +- The `Trailer` row is hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList), therefore it's pointless to keep. +- The `VPN` row *(not shown in the 'initial' screenshot)* is hidden because it's an ad. From 5f7ef5c7ca983279742a2ebd5ee3b38b15a0f4f9 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 14:22:36 +0300 Subject: [PATCH 061/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - Restored the 'Trailer' row (per https://greasyfork.org/en/forum/discussion/42158/trailer-link-why-remove-it-with-this-script) - Updated the selectors for the 'imdbLink' and 'ShowHideFiles' elements. - A few minor rearrangements --- ...ange_entries_and_various_visual_tweaks.user.js | 15 ++++++++------- .../README.md | 6 +++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index be59093..aedbfe1 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.6 +// @version 2018.9.6.1 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -131,12 +131,12 @@ $(userRating).replaceWith(function() { var vpn = $(".header2:contains('VPN:')").parent(); -var trailer = $(".header2:contains('Trailer:')").parent() -var imdbLink = $('img[src="//dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); +var trailer = $(".header2:contains('Trailer:')").parent(); +var imdbLink = $('img[src="https://dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); var ratingByUsers = $('.ratingblock').parent().parent(); var category = $(".header2:contains('Category:')").parent(); var size = $(".header2:contains('Size:')").parent(); -var showHideFiles = $(".header2:contains('Show/Hide Files:')").parent(); +var showHideFiles = $(".header2:contains('Show Files Âģ')").parent(); var added = $(".header2:contains('Added:')").parent(); var title = $(".header2:contains('Title:')[align='right']").parent(); // var pgRating = $(".header2:contains('PG Rating:')").parent(); @@ -159,9 +159,9 @@ var releaseName = $(".header2:contains('Release name:')").parent(); -year.hide(); // The 'Year' row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') -trailer.hide(); // The 'Trailer' row is hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList), therefore it's pointless to keep. -vpn.hide(); // The 'VPN' row is hidden because it's an ad. +vpn.hide(); // The 'VPN' row is hidden because it's an ad. +// trailer.hide(); // For reference: https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList) +year.hide(); // The 'Year' row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') function tableLastRow(){ @@ -182,6 +182,7 @@ director .insertAfter(tableLastRow()); actors .insertAfter(tableLastRow()); // pgRating .insertAfter(tableLastRow()); imdbLink .insertAfter(tableLastRow()); +trailer .insertAfter(tableLastRow()); imdbSummary .insertAfter(tableLastRow()); imdbRating .insertAfter(tableLastRow()); RTTomatometer .insertAfter(tableLastRow()); diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 068495b..a1f6f44 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -10,7 +10,7 @@ With the script: Notes: - The script makes use of the page's jQuery 1.11.3. -- The `Year` row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') -- The `Runtime` and `PG rating` rows info is still there, appended to the end of the 'IMDb summary' text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). -- The `Trailer` row is hidden because https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList), therefore it's pointless to keep. - The `VPN` row *(not shown in the 'initial' screenshot)* is hidden because it's an ad. +- The `Runtime` and `PG rating` rows info is still there, appended to the end of the 'IMDb summary' text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). +- The `Year` row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') +- For reference, regarding the 'Trailer' row: When using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default(via EasyList). From 07c77d2c95cd86aca60250c9faee0ba8dcdab17d Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 16:15:16 +0300 Subject: [PATCH 062/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Updated the screenshots in README.md after the latest changes. --- .../README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index a1f6f44..d8503e3 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -3,10 +3,10 @@ It rearranges various entries, displays in bold the various rating values, renam Screenshot comparison: Initial: -[![](https://i.imgur.com/a92zxpTl.jpg)](https://i.imgur.com/a92zxpT.jpg) +[![](https://i.imgur.com/fCmbgmol.jpg)](https://i.imgur.com/fCmbgmo.jpg) With the script: -[![](https://i.imgur.com/y8shpp8l.jpg)](https://i.imgur.com/y8shpp8.jpg) +[![](https://i.imgur.com/eDQB7M4l.jpg)](https://i.imgur.com/eDQB7M4.jpg) Notes: - The script makes use of the page's jQuery 1.11.3. From ed1a20596c8a75d73d1cc0b54c04068d3d84486b Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 6 Sep 2018 20:46:31 +0300 Subject: [PATCH 063/439] (RARBG - convert torrent timestamps to relative format) (RARBG torrent detail pages - rearrange entries and various visual tweaks) Added more/all possible @include combinations based on https://torrents.me/proxy/rarbg/ --- ...G_-_convert_torrent_timestamps_to_relative_format.user.js | 5 ++--- ...ges_-_rearrange_entries_and_various_visual_tweaks.user.js | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index bc48a7a..79fa33a 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,12 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.4.16.1 +// @version 2018.9.6 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrents.php.*/ -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/top10$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index aedbfe1..69c3c30 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.6.1 +// @version 2018.9.6.2 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^https?:\/\/(www\.)?(rarbg|rarbgproxy|rarbgaccess|rarbgmirror|rarbgto)\.(to|com|org|is)\/torrent\/.*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ // @grant none // ==/UserScript== From 855679a55ae97693da4e30b6919a06efe35ce869 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 7 Sep 2018 11:53:56 +0300 Subject: [PATCH 064/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks)) Added extra notes in README.md --- .../README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index d8503e3..9c3939a 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -10,7 +10,8 @@ With the script: Notes: - The script makes use of the page's jQuery 1.11.3. -- The `VPN` row *(not shown in the 'initial' screenshot)* is hidden because it's an ad. -- The `Runtime` and `PG rating` rows info is still there, appended to the end of the 'IMDb summary' text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). -- The `Year` row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') -- For reference, regarding the 'Trailer' row: When using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default(via EasyList). +- Regarding the `Rating` row: the five star rating is converted to ten star, both the stars themselves and the text value, but, if you hover the mouse over the stars to click to rate the movie, still only the first five stars are clickable, i.e. it's actually still five star rating. +- The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). +- The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') +- The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. +- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default via EasyList. So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) . From 9fae569ecb5fd4e2ad21ec2d74bdc2698ea5261e Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 7 Sep 2018 18:45:01 +0300 Subject: [PATCH 065/439] (GreasyFork - filter libraries in profiles) Added contributor credit to Skej (per https://greasyfork.org/en/forum/discussion/6301/x) --- .../GreasyFork_-_filter_libraries_in_profiles.user.js | 1 + 1 file changed, 1 insertion(+) diff --git a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js index 10c6638..a94bc9e 100644 --- a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js +++ b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js @@ -4,6 +4,7 @@ // @version 2018.9.6 // @description Filters libraries in GreasyFork profiles // @author darkred +// @contributor Skej // @license MIT // @include https://greasyfork.org/*/users/* // @require https://code.jquery.com/jquery-3.3.1.min.js From 9332d4b825cbace4947a47202d57ef6474f800dc Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 8 Sep 2018 16:00:53 +0300 Subject: [PATCH 066/439] (Instagram - visible images counter) Added a second selector for 'totalString', for when you are not logged in. --- .../Instagram_-_visible_images_counter.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index d7de66f..2de3354 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.8.14 +// @version 2018.9.8 // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page // @author darkred // @license MIT @@ -39,7 +39,8 @@ var total; function showCounter() { // var totalString = $(`span:contains('posts'):last-child > span, .g47SY`).html(); // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de - var totalString = document.querySelector('#react-root > section > main > div > header > section > ul > li:nth-child(1) > span > span').textContent; // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de + var totalString = document.querySelector(`#react-root > section > main > div > header > section > ul > li:nth-child(1) > span > span, + #react-root > section > main > div > header > section > ul > li:nth-child(1) > a > span`).textContent; // The 'total' value (it's a string). The ".g47SY" selector is for localized pages, e.g. https://www.instagram.com/instagram/?hl=de total = totalString.replace(',', '').replace('.', ''); // strip the thousand comma/dot seperator From 0b879e0ed43e18bfd5b242f5a2c15d7dca29efe2 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 8 Sep 2018 19:47:50 +0300 Subject: [PATCH 067/439] (GF/OUJS Bullshit Filter) Fix ESLint errors (OpenUserJS Bullshit Filter) Added more @include rules Fixed the width in the filters so that 'Social Networks' not to break to next line. --- .../GreasyFork_Bullshit_Filter.user.js | 190 +++++++++--------- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 44 ++-- .../OpenUserJS_Bullshit_Filter.user.js | 28 +-- 3 files changed, 133 insertions(+), 129 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index a134264..457f556 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.4.24 +// @version 2018.9.8 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -24,12 +24,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/i + 'Non-ASCII': /[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -59,7 +59,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -84,7 +84,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for (var filter in filters) { if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -95,7 +95,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if (this.className == 'filter-on') { + if (this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -124,106 +124,106 @@ if (window.location.href.indexOf('forum') === -1) { } else { (function() { - var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/i - }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; - } - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); + var filters = { + 'Non-ASCII': /[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + }; + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + GM_getValue = my_GM_getValue; + GM_setValue = my_GM_setValue; + } + insertStyle(); + insertStatus(); + filterScripts(); + insertSwitches(); // Note: you may uncomment line 35 (and comment out line 36), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered - function insertStyle() { - var style = document.createElement('style'); - // style.textContent = '.ItemDiscussion.filtered { background-color:khaki !important;} .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.textContent = '.ItemDiscussion.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } .filter-on, .filter-off { color: black !important;} '; - style.type = 'text/css'; - document.querySelector('head').appendChild(style); - } - - function insertStatus() { - var p = document.querySelector('#Head'); - if (p) { - var status = document.createElement('span'); - status.className = 'filter-status'; - p.appendChild(status); - } - } - - function filterScripts() { - var activeFilters = []; - for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { - activeFilters.push(filters[filter]); + function insertStyle() { + var style = document.createElement('style'); + // style.textContent = '.ItemDiscussion.filtered { background-color:khaki !important;} .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; + style.textContent = '.ItemDiscussion.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } .filter-on, .filter-off { color: black !important;} '; + style.type = 'text/css'; + document.querySelector('head').appendChild(style); + } + + function insertStatus() { + var p = document.querySelector('#Head'); + if (p) { + var status = document.createElement('span'); + status.className = 'filter-status'; + p.appendChild(status); } } - var nodes = document.querySelectorAll('.ItemDiscussion'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - td.classList.remove('filtered'); - for (var j = 0; j < numActiveFilters; j++) { - var temp = td.children[1].firstElementChild.innerText; - if(temp.match(activeFilters[j])) { - td.classList.add('filtered'); - numFiltered++; - break; + + function filterScripts() { + var activeFilters = []; + for (var filter in filters) { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + activeFilters.push(filters[filter]); } } + var nodes = document.querySelectorAll('.ItemDiscussion'), + numActiveFilters = activeFilters.length, + numFiltered = 0; + for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { + td.classList.remove('filtered'); + for (var j = 0; j < numActiveFilters; j++) { + var temp = td.children[1].firstElementChild.innerText; + if(temp.match(activeFilters[j])) { + td.classList.add('filtered'); + numFiltered++; + break; + } + } + } + document.querySelector('.filter-status').innerText = (document.querySelectorAll('.ItemDiscussion').length - numFiltered) + ' discussions (' + numFiltered + ' filtered)'; } - document.querySelector('.filter-status').innerText = (document.querySelectorAll('.ItemDiscussion').length - numFiltered) + ' discussions (' + numFiltered + ' filtered)'; - } - function insertSwitches() { - var span = document.createElement('span'); - span.className = 'filter-switches'; - for (var filter in filters) { - if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + function insertSwitches() { + var span = document.createElement('span'); + span.className = 'filter-switches'; + for (var filter in filters) { + if (filters.hasOwnProperty(filter)) { + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + } } + document.querySelector('.filter-status').parentNode.appendChild(span); + } + + function createSwitch(label, isOn) { + var a = document.createElement('a'); + a.className = isOn ? 'filter-on' : 'filter-off'; + a.textContent = label; + a.addEventListener('click', function(e) { + if (this.className === 'filter-on') { + this.className = 'filter-off'; + GM_setValue(this.textContent, 'off'); + } else { + this.className = 'filter-on'; + GM_setValue(this.textContent, 'on'); + } + filterScripts(); + e.preventDefault(); + }, false); + return a; } - document.querySelector('.filter-status').parentNode.appendChild(span); - } - - function createSwitch(label, isOn) { - var a = document.createElement('a'); - a.className = isOn ? 'filter-on' : 'filter-off'; - a.textContent = label; - a.addEventListener('click', function(e) { - if (this.className == 'filter-on') { - this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); - } else { - this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); - } - filterScripts(); - e.preventDefault(); - }, false); - return a; - } - function my_GM_setValue(name, value) { - localStorage.setItem(name, value); - } + function my_GM_setValue(name, value) { + localStorage.setItem(name, value); + } - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; + function my_GM_getValue(name, defaultValue) { + var value; + if (!(value = localStorage.getItem(name))) { + return defaultValue; + } + return value; } - return value; - } -})(); + })(); -} \ No newline at end of file +} diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index fc53e2d..92eb7d3 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.4.24 +// @version 2018.9.8 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -37,12 +37,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/i + 'Non-ASCII':/[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -56,11 +56,11 @@ if (window.location.href.indexOf('forum') === -1) { var target = document.querySelector('#script-table > tbody:nth-child(2)'); var observer = new MutationObserver((mutations) => { - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); - }), + insertStyle(); + insertStatus(); + filterScripts(); + insertSwitches(); + }), config = { childList: true, subtree: true, @@ -136,7 +136,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -176,7 +176,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -187,7 +187,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -220,12 +220,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/i + 'Non-ASCII':/[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -304,7 +304,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -333,7 +333,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -344,7 +344,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index fcf0c11..f7c08b3 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,13 +1,17 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.4.24 +// @version 2018.9.8 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT // @include https://openuserjs.org/ // @include https://openuserjs.org/?*p=* // @include https://openuserjs.org/?*q=* +// @include https://openuserjs.org/?orderBy=* +// @include https://openuserjs.org/group/* +// @include https://openuserjs.org/?library=true* +// @include https://openuserjs.org/users/*/scripts // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. @@ -18,12 +22,12 @@ (function() { var filters = { - 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/i + 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Non-ASCII': /[^\x00-\x7F\s]+/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -35,8 +39,8 @@ // Note: you may uncomment line 37 (and comment out line 38), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered function insertStyle() { var style = document.createElement('style'); - // style.textContent = 'tr.filtered { background-color:khaki; !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 107px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.textContent = 'tr.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 107px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; + // style.textContent = 'tr.filtered { background-color:khaki; !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 125px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; + style.textContent = 'tr.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 125px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; style.type = 'text/css'; document.querySelector('head').appendChild(style); } @@ -51,7 +55,7 @@ function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -75,7 +79,7 @@ span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -85,7 +89,7 @@ a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -107,4 +111,4 @@ } return value; } -})(); \ No newline at end of file +})(); From 8970b5b9f6101362af4615dd191c1a4e911fbed1 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 8 Sep 2018 22:42:13 +0300 Subject: [PATCH 068/439] (GreasyFork Bullshit Filter - for TS Citrus Gfork) - No longer create duplicate Status and Switches when loading the (redirecting) URL: https://greasyfork.org/en/scripts ---> https://greasyfork.org/en/scripts?per_page=100&sort=update - Made the filters appear closer to the filter status - Made the filter status text color grey Signed-off-by: darkred --- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 92eb7d3..4277704 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,27 +1,27 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.8 +// @version 2018.9.8.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png // // @include https://greasyfork.org/*/scripts* +// @include https://greasyfork.org/*/forum* // @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ // @exclude https://greasyfork.org/*/scripts/by-site // @exclude https://greasyfork.org/*/scripts/by-site?* -// @include https://greasyfork.org/*/forum* // @exclude https://greasyfork.org/*/forum/discussion/* // @exclude https://greasyfork.org/*/forum/profile* // @exclude https://greasyfork.org/*/forum/messages* // @exclude https://greasyfork.org/*/forum/categories // // @include https://sleazyfork.org/*/scripts* +// @include https://sleazyfork.org/*/forum* // @exclude /^https:\/\/sleazyfork.org\/.*\/scripts\/\d+.*/ // @exclude https://sleazyfork.org/*/scripts/by-site // @exclude https://sleazyfork.org/*/scripts/by-site?* -// @include https://sleazyfork.org/*/forum* // @exclude https://sleazyfork.org/*/forum/discussion/* // @exclude https://sleazyfork.org/*/forum/profile* // @exclude https://sleazyfork.org/*/forum/messages* @@ -57,9 +57,15 @@ if (window.location.href.indexOf('forum') === -1) { var target = document.querySelector('#script-table > tbody:nth-child(2)'); var observer = new MutationObserver((mutations) => { insertStyle(); - insertStatus(); + // insertStatus(); + if (!document.querySelector('.filter-status')){ + insertStatus(); + } filterScripts(); - insertSwitches(); + // insertSwitches(); + if (!document.querySelector('.filter-switches')){ + insertSwitches(); + } }), config = { childList: true, @@ -83,17 +89,18 @@ if (window.location.href.indexOf('forum') === -1) { position: fixed; top: calc(0%); left: calc(13.5%); + color: #787878; } .filter-switches { display: none; position: fixed; - top: calc(2.5%); + top: calc(2.0%); left: calc(14%); } *:hover > .filter-switches { display: block !important; position: fixed; - top: calc(2.5%); + top: calc(2.0%); left: calc(14%); } .filter-on, @@ -101,7 +108,6 @@ if (window.location.href.indexOf('forum') === -1) { display: block !important; width: 105px; } - } .filter-switches a { text-decoration: none !important; color: inherit; @@ -119,7 +125,8 @@ if (window.location.href.indexOf('forum') === -1) { a.filter-off { background-color: #6da46b; color: #333333; - }`; + } + `; style.type = 'text/css'; document.querySelector('head').appendChild(style); } @@ -251,17 +258,18 @@ if (window.location.href.indexOf('forum') === -1) { position: fixed; top: calc(0%); left: calc(13.5%); + color: #787878; } .filter-switches { display: none; position: fixed; - top: calc(2.5%); + top: calc(2.0%); left: calc(14%); } *:hover > .filter-switches { display: block !important; position: fixed; - top: calc(2.5%); + top: calc(2.0%); left: calc(14%); } .filter-on, @@ -269,7 +277,6 @@ if (window.location.href.indexOf('forum') === -1) { display: block !important; width: 105px; } - } .filter-switches a { text-decoration: none !important; color: inherit; @@ -287,7 +294,8 @@ if (window.location.href.indexOf('forum') === -1) { a.filter-off { background-color: #6da46b; color: #333333; - }`; + } + `; style.type = 'text/css'; document.querySelector('head').appendChild(style); } From 5f27479e4b436270873be3feb71d2bf64814cddb Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 11 Sep 2018 21:27:57 +0300 Subject: [PATCH 069/439] (All RARBG scripts) Added new mirror: rarbgget.org --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- ...ages_-_rearrange_entries_and_various_visual_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 79fa33a..347e14a 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.6 +// @version 2018.9.11 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index b9924c7..437fb09 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2018.9.6 +// @version 2018.9.11 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // ==/UserScript== diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 69c3c30..cd034be 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.6.2 +// @version 2018.9.11 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ // @grant none // ==/UserScript== From de033e602d2808eb780a1d5721afa72221f54795 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 11 Sep 2018 21:28:42 +0300 Subject: [PATCH 070/439] README.md minor edit --- .../README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 9c3939a..c429354 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -14,4 +14,4 @@ Notes: - The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). - The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') - The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. -- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default via EasyList. So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) . +- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default (via EasyList). So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) . From 226d0fa9866b54ab08713fb295f45ca521f1ef05 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 11 Sep 2018 22:24:50 +0300 Subject: [PATCH 071/439] (RARBG - convert torrent timestamps to relative format) --- ..._convert_torrent_timestamps_to_relative_format.user.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 347e14a..297781f 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.11 +// @version 2018.9.11.2 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT @@ -48,12 +48,12 @@ function convertDates() { // var format = 'MM/DD/YYYY HH:mm:ss'; - var format = 'YYYY-MM-DD HH:mm:ss'; - dates[i].title = temp2.format(format); + // var format = 'YYYY-MM-DD HH:mm:ss'; + // dates[i].title = temp2.format(format); // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) // dates[i].title = temp2.toISOString(); - // dates[i].title = temp2.format(); + dates[i].title = temp2.format(); } } From 40837b52ea63c123d794e5c3b8f84ab3ba7933af Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 11 Sep 2018 22:34:56 +0300 Subject: [PATCH 072/439] Revert "(RARBG - convert torrent timestamps to relative format)" This reverts commit 226d0fa9866b54ab08713fb295f45ca521f1ef05. --- ..._convert_torrent_timestamps_to_relative_format.user.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 297781f..347e14a 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.11.2 +// @version 2018.9.11 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT @@ -48,12 +48,12 @@ function convertDates() { // var format = 'MM/DD/YYYY HH:mm:ss'; - // var format = 'YYYY-MM-DD HH:mm:ss'; - // dates[i].title = temp2.format(format); + var format = 'YYYY-MM-DD HH:mm:ss'; + dates[i].title = temp2.format(format); // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) // dates[i].title = temp2.toISOString(); - dates[i].title = temp2.format(); + // dates[i].title = temp2.format(); } } From 88abc263a3b96950dd31a6a4de618f3113234a34 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 12 Sep 2018 01:20:54 +0300 Subject: [PATCH 073/439] (All 'Bullshit Filter' scripts) Added "theme|night mode|nightmode|dark mode|darkmode" to the Clutter filter per https://greasyfork.org/en/forum/discussion/42547/x --- GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js | 4 ++-- GreasyFork_Bullshit_Filter/README.md | 2 +- .../GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 4 ++-- GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md | 2 +- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- OpenUserJS_Bullshit_Filter/README.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 457f556..312ffda 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.8 +// @version 2018.9.12 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -27,7 +27,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/GreasyFork_Bullshit_Filter/README.md b/GreasyFork_Bullshit_Filter/README.md index 79ce41d..18946da 100644 --- a/GreasyFork_Bullshit_Filter/README.md +++ b/GreasyFork_Bullshit_Filter/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test". +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. The filters list appears just below the `#script-list-option-groups` element (i.e. on the right). ![image](https://i.imgur.com/ASbOvvm.gif) diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 4277704..91479b2 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.8.1 +// @version 2018.9.12 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -40,7 +40,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII':/[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu }; if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md index 88ad243..82f48e7 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test". +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. It's the same as [GreasyFork Bullshit Filter](https://greasyfork.org/en/scripts/12179-greasyfork-bull-filter,) now compatible with [TS] Citrus GFork. diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index f7c08b3..55a0f10 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.8 +// @version 2018.9.12 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -25,7 +25,7 @@ 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/OpenUserJS_Bullshit_Filter/README.md b/OpenUserJS_Bullshit_Filter/README.md index ad88df6..858e78c 100644 --- a/OpenUserJS_Bullshit_Filter/README.md +++ b/OpenUserJS_Bullshit_Filter/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test". +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. The filters list appears just below the "Announcements" table (i.e. on the right). ![image](https://i.imgur.com/BYQ5WfA.gif) From fb8ccc3650450cf4fcc42cd3e0199d0593a41da1 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 12 Sep 2018 15:12:31 +0300 Subject: [PATCH 074/439] (All Bullshit filter scripts) Combined the "night mode|nightmode|dark mode|darkmode". --- GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js | 4 ++-- .../GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 4 ++-- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 312ffda..2a3c979 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.12 +// @version 2018.9.12.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -27,7 +27,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 91479b2..184da0b 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.12 +// @version 2018.9.12.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -40,7 +40,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII':/[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu }; if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 55a0f10..b30ebaf 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.12 +// @version 2018.9.12.2 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -25,7 +25,7 @@ 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|night mode|nightmode|dark mode|darkmode/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; From b5e2df51f6c4c98c915688e346576d48804d5fb2 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 12 Sep 2018 19:15:24 +0300 Subject: [PATCH 075/439] (All 'BullShit Filter' scripts) Improved the latest 'dark/night/theme/mode' addition to the "Clutter" filter regex --- GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js | 4 ++-- .../GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 4 ++-- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 2a3c979..330ae5a 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.12.1 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -27,7 +27,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 184da0b..a027e65 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.12.1 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -40,7 +40,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII':/[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index b30ebaf..e021132 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.12.2 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -25,7 +25,7 @@ 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?mode/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; From 75b001209343e5139e549f36b0dc317a941cbfc7 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 13 Sep 2018 13:43:09 +0300 Subject: [PATCH 076/439] (All Bullshit Filter scripts) README.md 'Clutter' filter description rewording --- GreasyFork_Bullshit_Filter/README.md | 2 +- GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md | 2 +- OpenUserJS_Bullshit_Filter/README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/README.md b/GreasyFork_Bullshit_Filter/README.md index 18946da..cf9410c 100644 --- a/GreasyFork_Bullshit_Filter/README.md +++ b/GreasyFork_Bullshit_Filter/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", scripts for themes/dark/night mode (because they are, in effect, userstyles). The filters list appears just below the `#script-list-option-groups` element (i.e. on the right). ![image](https://i.imgur.com/ASbOvvm.gif) diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md index 82f48e7..5ca5878 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", scripts for themes/dark/night mode (because they are, in effect, userstyles). It's the same as [GreasyFork Bullshit Filter](https://greasyfork.org/en/scripts/12179-greasyfork-bull-filter,) now compatible with [TS] Citrus GFork. diff --git a/OpenUserJS_Bullshit_Filter/README.md b/OpenUserJS_Bullshit_Filter/README.md index 858e78c..56ef88b 100644 --- a/OpenUserJS_Bullshit_Filter/README.md +++ b/OpenUserJS_Bullshit_Filter/README.md @@ -3,7 +3,7 @@ i.e. it filters any/all of these 4 categories: * **Games**: scripts for browser games like Kingdoms of Camelot, Mafia Wars and Ikariam * **Social Networks**: scripts for general purpose social networking sites like Facebook, studiVZ and VKontakte * **Non-ASCII**: scripts that use non-English characters in description (accents, umlauts, cyrillic letters, ...) -* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", styles that offer themes/dark/night mode. +* **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", scripts for themes/dark/night mode (because they are, in effect, userstyles). The filters list appears just below the "Announcements" table (i.e. on the right). ![image](https://i.imgur.com/BYQ5WfA.gif) From b5d5c23c02504d828430fd09173b437f2920ae66 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 13 Sep 2018 17:18:14 +0300 Subject: [PATCH 077/439] (All 'Bullshit Filter' scripts) Reverted === to == and removed the /u flag in the filter regex (per https://greasyfork.org/en/forum/discussion/42612/filters-list-missing-with-firefox-45-9-0-esr-but-is-working-w-ff-52-9-0esr) --- .../GreasyFork_Bullshit_Filter.user.js | 26 +++++++-------- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 32 +++++++++---------- .../OpenUserJS_Bullshit_Filter.user.js | 18 +++++------ 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 330ae5a..c060f2f 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -24,12 +24,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -59,7 +59,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { activeFilters.push(filters[filter]); } } @@ -84,7 +84,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for (var filter in filters) { if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -95,7 +95,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if (this.className === 'filter-on') { + if (this.className == 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -130,7 +130,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -160,7 +160,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { activeFilters.push(filters[filter]); } } @@ -186,7 +186,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for (var filter in filters) { if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -197,7 +197,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if (this.className === 'filter-on') { + if (this.className == 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index a027e65..a20f630 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -37,12 +37,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Non-ASCII':/[^\x00-\x7F\s]+/i, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i }; - if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -143,7 +143,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { activeFilters.push(filters[filter]); } } @@ -151,20 +151,20 @@ if (window.location.href.indexOf('forum') === -1) { numActiveFilters = activeFilters.length, numFiltered = 0; for(var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - if (window.location.href.indexOf('/libraries') === -1) { + if (window.location.href.indexOf('/libraries') == -1) { td.parentNode.parentNode.classList.remove('filtered'); } else { td.classList.remove('filtered'); } for(var j = 0; j < numActiveFilters; j++) { - if (window.location.href.indexOf('/libraries') === -1) { + if (window.location.href.indexOf('/libraries') == -1) { var temp = td.parentNode.firstChild.firstChild.textContent + ' ' + td.parentNode.lastChild.textContent; // store script's name and description (with a space between) to variable 'temp' } else { // temp = td.firstElementChild.firstElementChild.innerText + ' ' + td.firstElementChild.children[3].innerText; temp = td.getAttribute('data-script-name') + ' ' + td.firstElementChild.firstElementChild.children[3].innerText; } if(temp.match(activeFilters[j])) { - if (window.location.href.indexOf('/libraries') === -1) { + if (window.location.href.indexOf('/libraries') == -1) { td.parentNode.parentNode.classList.add('filtered'); } else { td.classList.add('filtered'); @@ -183,7 +183,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -194,7 +194,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { + if(this.className == 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -232,7 +232,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -312,7 +312,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { activeFilters.push(filters[filter]); } } @@ -341,7 +341,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -352,7 +352,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { + if(this.className == 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index e021132..9013a87 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -22,12 +22,12 @@ (function() { var filters = { - 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, + 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -55,7 +55,7 @@ function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { activeFilters.push(filters[filter]); } } @@ -79,7 +79,7 @@ span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -89,7 +89,7 @@ a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { + if(this.className == 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { From cbb1cdaf3c4251ad07ebf31ebd9ad3007548d4e3 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 13 Sep 2018 21:08:06 +0300 Subject: [PATCH 078/439] Revert "(All 'Bullshit Filter' scripts)" This reverts commit b5d5c23c02504d828430fd09173b437f2920ae66. --- .../GreasyFork_Bullshit_Filter.user.js | 26 +++++++-------- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 32 +++++++++---------- .../OpenUserJS_Bullshit_Filter.user.js | 18 +++++------ 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index c060f2f..330ae5a 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.13 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -24,12 +24,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i + 'Non-ASCII': /[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -59,7 +59,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -84,7 +84,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for (var filter in filters) { if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -95,7 +95,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if (this.className == 'filter-on') { + if (this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -130,7 +130,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -160,7 +160,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -186,7 +186,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for (var filter in filters) { if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -197,7 +197,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if (this.className == 'filter-on') { + if (this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index a20f630..a027e65 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.13 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -37,12 +37,12 @@ if (window.location.href.indexOf('forum') === -1) { (function() { var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i + 'Non-ASCII':/[^\x00-\x7F\s]+/iu, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; - if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -143,7 +143,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -151,20 +151,20 @@ if (window.location.href.indexOf('forum') === -1) { numActiveFilters = activeFilters.length, numFiltered = 0; for(var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - if (window.location.href.indexOf('/libraries') == -1) { + if (window.location.href.indexOf('/libraries') === -1) { td.parentNode.parentNode.classList.remove('filtered'); } else { td.classList.remove('filtered'); } for(var j = 0; j < numActiveFilters; j++) { - if (window.location.href.indexOf('/libraries') == -1) { + if (window.location.href.indexOf('/libraries') === -1) { var temp = td.parentNode.firstChild.firstChild.textContent + ' ' + td.parentNode.lastChild.textContent; // store script's name and description (with a space between) to variable 'temp' } else { // temp = td.firstElementChild.firstElementChild.innerText + ' ' + td.firstElementChild.children[3].innerText; temp = td.getAttribute('data-script-name') + ' ' + td.firstElementChild.firstElementChild.children[3].innerText; } if(temp.match(activeFilters[j])) { - if (window.location.href.indexOf('/libraries') == -1) { + if (window.location.href.indexOf('/libraries') === -1) { td.parentNode.parentNode.classList.add('filtered'); } else { td.classList.add('filtered'); @@ -183,7 +183,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -194,7 +194,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { @@ -232,7 +232,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; - if(typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -312,7 +312,7 @@ if (window.location.href.indexOf('forum') === -1) { function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -341,7 +341,7 @@ if (window.location.href.indexOf('forum') === -1) { span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -352,7 +352,7 @@ if (window.location.href.indexOf('forum') === -1) { a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 9013a87..e021132 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.13 +// @version 2018.9.12.3 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -22,12 +22,12 @@ (function() { var filters = { - 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/i, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/i, - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/i + 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Non-ASCII': /[^\x00-\x7F\s]+/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; - if (typeof GM_getValue == 'undefined' || (typeof GM_getValue.toString == 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { + if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; GM_setValue = my_GM_setValue; } @@ -55,7 +55,7 @@ function filterScripts() { var activeFilters = []; for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') == 'on') { + if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { activeFilters.push(filters[filter]); } } @@ -79,7 +79,7 @@ span.className = 'filter-switches'; for(var filter in filters) { if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') == 'on')); + span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); } } document.querySelector('.filter-status').parentNode.appendChild(span); @@ -89,7 +89,7 @@ a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className == 'filter-on') { + if(this.className === 'filter-on') { this.className = 'filter-off'; GM_setValue(this.textContent, 'off'); } else { From 8b6cf6b2dc094494ab3b2227db04a1729f0b29d3 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 13 Sep 2018 21:21:20 +0300 Subject: [PATCH 079/439] - Addition to the 'Clutter' filter (all BF versions) - Filters CSS improvements (GBF for TS Citrus Gfork) --- .../GreasyFork_Bullshit_Filter.user.js | 6 +++--- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 20 +++++++------------ .../OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 330ae5a..b483d98 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -27,7 +27,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; @@ -128,7 +128,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index a027e65..5ef65d8 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT @@ -40,7 +40,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII':/[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; @@ -80,7 +80,7 @@ if (window.location.href.indexOf('forum') === -1) { // Note: you may uncomment line 37-81 and comment out line 36, in order the filtered scripts to be highlighted red -instead of hiding them- so that you can check which scripts have been filtered function insertStyle() { var style = document.createElement('style'); - // style.textContent = ` tr.filtered td, li.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none; position:fixed; top:calc(2.5%); left:calc(14%)} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(2.5%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px}} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; `; + // style.textContent = ` tr.filtered td, li.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none;} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(1.7%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; `; style.textContent = ` tr.filtered, li.filtered { display: none !important; } @@ -93,14 +93,11 @@ if (window.location.href.indexOf('forum') === -1) { } .filter-switches { display: none; - position: fixed; - top: calc(2.0%); - left: calc(14%); } *:hover > .filter-switches { display: block !important; position: fixed; - top: calc(2.0%); + top: calc(1.7%); left: calc(14%); } .filter-on, @@ -230,7 +227,7 @@ if (window.location.href.indexOf('forum') === -1) { 'Non-ASCII':/[^\x00-\x7F\s]+/iu, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu }; if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; @@ -249,7 +246,7 @@ if (window.location.href.indexOf('forum') === -1) { // Note: you may uncomment line 37-81 and comment out line 36, in order the filtered scripts to be highlighted red -instead of hiding them- so that you can check which scripts have been filtered function insertStyle() { var style = document.createElement('style'); - // style.textContent = '.ItemDiscussion.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none; position:fixed; top:calc(2.5%); left:calc(14%)} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(2.5%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px}} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; '; + // style.textContent = '.ItemDiscussion.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none;} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(1.7%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; '; style.textContent = ` .ItemDiscussion.filtered { display: none !important; } @@ -262,14 +259,11 @@ if (window.location.href.indexOf('forum') === -1) { } .filter-switches { display: none; - position: fixed; - top: calc(2.0%); - left: calc(14%); } *:hover > .filter-switches { display: block !important; position: fixed; - top: calc(2.0%); + top: calc(1.7%); left: calc(14%); } .filter-on, diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index e021132..fe84a36 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.12.3 +// @version 2018.9.13.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT @@ -25,7 +25,7 @@ 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|just(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { GM_getValue = my_GM_getValue; From b53f2542edb8dc8c2c0356d754656fd3cb84defb Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 14 Sep 2018 19:59:00 +0300 Subject: [PATCH 080/439] (all RARBG scripts) Added rarbgproxied.org in the '@include' rule. per https://openuserjs.org/scripts/darkred/RARBG_-_torrent_and_magnet_links/issues/Does_not_work_1.9.2018#comment-165b42ba120 --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- ...ages_-_rearrange_entries_and_various_visual_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 347e14a..2bc0541 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.11 +// @version 2018.9.14 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 437fb09..aadde80 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2018.9.11 +// @version 2018.9.14 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // ==/UserScript== diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index cd034be..a69652d 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.11 +// @version 2018.9.14 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ // @grant none // ==/UserScript== From 40964ed56be20b2486fd1c0fb13badea64cb3214 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 14 Sep 2018 20:31:11 +0300 Subject: [PATCH 081/439] Combined all include rules into regexes --- .../GreasyFork_Bullshit_Filter.user.js | 13 +++------- ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 25 +++---------------- 2 files changed, 6 insertions(+), 32 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index b483d98..7a15c39 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,20 +1,13 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.13.1 +// @version 2018.9.14 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png -// @include https://greasyfork.org/*/scripts* -// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://greasyfork.org/*/scripts/by-site -// @exclude https://greasyfork.org/*/scripts/by-site?* -// @include https://greasyfork.org/*/forum* -// @exclude https://greasyfork.org/*/forum/discussion/* -// @exclude https://greasyfork.org/*/forum/profile* -// @exclude https://greasyfork.org/*/forum/messages* -// @exclude https://greasyfork.org/*/forum/categories +// @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ +// @exclude /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)((scripts\/\d+)|forum\/(discussion\/|profile|messages)).*$/ // @grant none // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 5ef65d8..d077f84 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,32 +1,13 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.13.1 +// @version 2018.9.14 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png -// -// @include https://greasyfork.org/*/scripts* -// @include https://greasyfork.org/*/forum* -// @exclude /^https:\/\/greasyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://greasyfork.org/*/scripts/by-site -// @exclude https://greasyfork.org/*/scripts/by-site?* -// @exclude https://greasyfork.org/*/forum/discussion/* -// @exclude https://greasyfork.org/*/forum/profile* -// @exclude https://greasyfork.org/*/forum/messages* -// @exclude https://greasyfork.org/*/forum/categories -// -// @include https://sleazyfork.org/*/scripts* -// @include https://sleazyfork.org/*/forum* -// @exclude /^https:\/\/sleazyfork.org\/.*\/scripts\/\d+.*/ -// @exclude https://sleazyfork.org/*/scripts/by-site -// @exclude https://sleazyfork.org/*/scripts/by-site?* -// @exclude https://sleazyfork.org/*/forum/discussion/* -// @exclude https://sleazyfork.org/*/forum/profile* -// @exclude https://sleazyfork.org/*/forum/messages* -// @exclude https://sleazyfork.org/*/forum/categories -// +// @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ +// @exclude /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)((scripts\/\d+)|forum\/(discussion\/|profile|messages)).*$/ // @grant none // @run-at document-idle // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From dd97e7a5e8ef62bbf73ec948496fd4d7e2ad4033 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 14 Sep 2018 20:32:03 +0300 Subject: [PATCH 082/439] - Combined all include rules into regexes - Now the script only filters matching script title + description, i.e. not the author username too --- .../OpenUserJS_Bullshit_Filter.user.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index fe84a36..7b20e49 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,17 +1,11 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.13.1 +// @version 2018.9.14 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @include https://openuserjs.org/ -// @include https://openuserjs.org/?*p=* -// @include https://openuserjs.org/?*q=* -// @include https://openuserjs.org/?orderBy=* -// @include https://openuserjs.org/group/* -// @include https://openuserjs.org/?library=true* -// @include https://openuserjs.org/users/*/scripts +// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=.*|group\/.*|users\/.*\/scripts)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. @@ -65,7 +59,9 @@ for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { td.className = ''; for(var j = 0; j < numActiveFilters; j++) { - if (td.innerText.match(activeFilters[j]) ) { + // if (td.innerText.match(activeFilters[j]) ) { + var textToFilter = td.firstElementChild.querySelector('a.tr-link-a').innerText + ' ' + td.firstElementChild.lastElementChild.innerText ; // Script title + description + if (textToFilter.match(activeFilters[j]) ) { td.className = 'filtered'; numFiltered++; break; From 97fbec7a4cf6569f45b7c18b239ccd7efe7d667a Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 15 Sep 2018 20:38:03 +0300 Subject: [PATCH 083/439] (OpenUserJS Bullshit Filter) IUmproved the 'include' rule regex --- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 7b20e49..396e7ff 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,11 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.14 +// @version 2018.9.15 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=.*|group\/.*|users\/.*\/scripts)?$/ +// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=.*|group\/.*|users\/.*\/scripts.*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From 298e643d3fe44f9c940ce4f96eb7c3bfdc054f1b Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 16 Sep 2018 11:06:43 +0300 Subject: [PATCH 084/439] (OpenUserJS Bullshit Filter) Factoring of the trailing ".*" in the 'include' rule regex --- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 396e7ff..5d76d34 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,11 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.15 +// @version 2018.9.16 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=.*|group\/.*|users\/.*\/scripts.*)?$/ +// @include ^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*?$ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From ab12aad47e51aeecc3565ae71e1bc18cbb7ae436 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 16 Sep 2018 11:09:27 +0300 Subject: [PATCH 085/439] (OpenUserJS Bullshit Filter) Added missing // in the regex (my bad) --- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 5d76d34..2bb1544 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,11 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.16 +// @version 2018.9.16.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @include ^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*?$ +// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From 6271d28e95a182712d47be970dade86332f5589a Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 16 Sep 2018 11:14:22 +0300 Subject: [PATCH 086/439] (OpenUserJS Bullshit Filter) Fixed regex --- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index 2bb1544..e29be51 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,11 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.16.1 +// @version 2018.9.16.2 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred // @license MIT -// @include /^https:\/\/openuserjs\.org\/(\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*?$/ +// @include /^https:\/\/openuserjs\.org\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From a3cca3a037ada89b9af17e53830c9dfd56ed7588 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 20 Sep 2018 23:16:59 +0300 Subject: [PATCH 087/439] Refactoring to 'GreasyFork Bullshit Filter', by valacar (thank you). - Applied that to the other two script versions. - Also, made additions to the 'Games' filter regex. --- .../GreasyFork_Bullshit_Filter.user.js | 339 ++++++------ ...lshit_Filter_-_for_TS_Citrus_Gfork.user.js | 499 +++++++----------- .../OpenUserJS_Bullshit_Filter.user.js | 195 +++++-- 3 files changed, 490 insertions(+), 543 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 7a15c39..34976be 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,9 +1,9 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.14 +// @version 2018.9.20 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @author kuehlschrank, darkred +// @author kuehlschrank, darkred, valacar // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png // @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ @@ -11,212 +11,185 @@ // @grant none // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. +// Thanks a lot to valacar for the refactoring. // ==/UserScript== -if (window.location.href.indexOf('forum') === -1) { - (function() { - var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu - }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; +(function() { + + const DEBUGGING = 0; + + const filters = { + 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + }; + + const commonCss = ` + .filter-status { + margin-left: 6px; } - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); - - // Note: you may uncomment line 35 (and comment out line 36), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered - function insertStyle() { - var style = document.createElement('style'); - // style.textContent = 'li.filtered { background-color:khaki; !important;} .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.textContent = 'li.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.type = 'text/css'; - document.querySelector('head').appendChild(style); + + .filter-switches { + display: none; } - function insertStatus() { - var p = document.querySelector('#script-list-option-groups'); - if (p) { - var status = document.createElement('span'); - status.className = 'filter-status'; - p.appendChild(status); - } + :hover>.filter-switches { + display: block; } - function filterScripts() { - var activeFilters = []; - for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { - activeFilters.push(filters[filter]); - } - } - var nodes = document.querySelectorAll('article > h2'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - td.parentNode.parentNode.classList.remove('filtered'); - for (var j = 0; j < numActiveFilters; j++) { - if (td.innerText.match(activeFilters[j])) { - td.parentNode.parentNode.classList.add('filtered'); - numFiltered++; - break; - } - } - } - document.querySelector('.filter-status').textContent = document.querySelectorAll('article > h2').length - numFiltered + ' scripts (' + numFiltered + ' filtered)'; + .filter-on, + .filter-off { + display: block; + width: 97px; } - function insertSwitches() { - var span = document.createElement('span'); - span.className = 'filter-switches'; - for (var filter in filters) { - if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); - } - } - document.querySelector('.filter-status').parentNode.appendChild(span); + .filter-switches a { + text-decoration: none; + color: inherit; + cursor: pointer; } - function createSwitch(label, isOn) { - var a = document.createElement('a'); - a.className = isOn ? 'filter-on' : 'filter-off'; - a.textContent = label; - a.addEventListener('click', function(e) { - if (this.className === 'filter-on') { - this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); - } else { - this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); - } - filterScripts(); - e.preventDefault(); - }, false); - return a; + .filter-switches a { + margin-left: 8px; + padding: 0 4px; } - function my_GM_setValue(name, value) { - localStorage.setItem(name, value); + a.filter-on { + background-color: #ffcccc; + color: #333333; + text-decoration: line-through; } - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; - } - return value; + a.filter-off { + background-color: #ccffcc; + color: #333333; } - })(); + `; -} else { + const isOnForum = window.location.href.includes('forum'); - (function() { - var filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu + const site = {}; + if (isOnForum) { + site.css = '.ItemDiscussion.filtered { display: none; } .filter-on, .filter-off { color: black; } ' + commonCss; + site.cssDebug = '.ItemDiscussion.filtered { background-color: khaki; } ' + commonCss; + site.filterStatusLocation = '.PanelColumn'; + site.itemsToCheck = '.ItemDiscussion'; + site.itemType = 'discussions'; + site.removeFilter = function(el) { + el.classList.remove('filtered'); }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; - } - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); - - // Note: you may uncomment line 35 (and comment out line 36), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered - function insertStyle() { - var style = document.createElement('style'); - // style.textContent = '.ItemDiscussion.filtered { background-color:khaki !important;} .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.textContent = '.ItemDiscussion.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 97px;}} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } .filter-on, .filter-off { color: black !important;} '; - style.type = 'text/css'; - document.querySelector('head').appendChild(style); - } - - function insertStatus() { - var p = document.querySelector('#Head'); - if (p) { - var status = document.createElement('span'); - status.className = 'filter-status'; - p.appendChild(status); + site.applyFilter = function(el, activeFilter) { + let temp = el.children[1].firstElementChild.innerText; + if(temp && temp.match(activeFilter)) { + el.classList.add('filtered'); + return true; } - } - - function filterScripts() { - var activeFilters = []; - for (var filter in filters) { - if (filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { - activeFilters.push(filters[filter]); - } + return false; + }; + } else { + site.css = 'li.filtered { display: none; } ' + commonCss; + site.cssDebug = 'li.filtered { background-color: khaki; } ' + commonCss; + site.filterStatusLocation = '#script-list-option-groups'; + site.itemsToCheck = 'article > h2'; + site.itemType = 'scripts'; + site.removeFilter = function(el) { + el.parentNode.parentNode.classList.remove('filtered'); + }; + site.applyFilter = function(el, activeFilter) { + if (el.innerText.match(activeFilter)) { + el.parentNode.parentNode.classList.add('filtered'); + return true; } - var nodes = document.querySelectorAll('.ItemDiscussion'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - td.classList.remove('filtered'); - for (var j = 0; j < numActiveFilters; j++) { - var temp = td.children[1].firstElementChild.innerText; - if(temp.match(activeFilters[j])) { - td.classList.add('filtered'); - numFiltered++; - break; - } - } + return false; + }; + } + + insertStyle(); + insertStatus(); + filterScripts(); + insertSwitches(); + + function insertStyle() { + const style = document.createElement('style'); + style.textContent = DEBUGGING ? site.cssDebug : site.css; + style.type = 'text/css'; + document.head.appendChild(style); + } + + function insertStatus() { + const p = document.querySelector(site.filterStatusLocation); + if (p) { + const status = document.createElement('span'); + status.className = 'filter-status'; + p.appendChild(status); + } + } + + function filterScripts() { + const activeFilters = []; + for (let filterType of Object.keys(filters)) { + if (configGetValue(filterType, 'on') === 'on') { + activeFilters.push(filters[filterType]); } - document.querySelector('.filter-status').innerText = (document.querySelectorAll('.ItemDiscussion').length - numFiltered) + ' discussions (' + numFiltered + ' filtered)'; } - - function insertSwitches() { - var span = document.createElement('span'); - span.className = 'filter-switches'; - for (var filter in filters) { - if (filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); + const nodes = document.querySelectorAll(site.itemsToCheck); + let numFiltered = 0; + for (let node of nodes) { + site.removeFilter(node); + for (let activeFilter of activeFilters) { + let filtered = site.applyFilter(node, activeFilter); + if (filtered) { + numFiltered++; + break; } } - document.querySelector('.filter-status').parentNode.appendChild(span); - } - - function createSwitch(label, isOn) { - var a = document.createElement('a'); - a.className = isOn ? 'filter-on' : 'filter-off'; - a.textContent = label; - a.addEventListener('click', function(e) { - if (this.className === 'filter-on') { - this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); - } else { - this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); - } - filterScripts(); - e.preventDefault(); - }, false); - return a; - } - - function my_GM_setValue(name, value) { - localStorage.setItem(name, value); } - - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + const numUnfiltered = document.querySelectorAll(site.itemsToCheck).length - numFiltered; + filterStatus.textContent = `${numUnfiltered} ${site.itemType} (${numFiltered} filtered)`; + } + } + + function insertSwitches() { + const span = document.createElement('span'); + span.className = 'filter-switches'; + for (let filterType of Object.keys(filters)) { + span.appendChild(createSwitch(filterType, configGetValue(filterType, 'on') === 'on')); + } + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + filterStatus.parentNode.appendChild(span); + } + } + + function createSwitch(label, isOn) { + const a = document.createElement('a'); + a.className = isOn ? 'filter-on' : 'filter-off'; + a.textContent = label; + a.addEventListener('click', function(e) { + if (this.className === 'filter-on') { + this.className = 'filter-off'; + configSetValue(this.textContent, 'off'); + } else { + this.className = 'filter-on'; + configSetValue(this.textContent, 'on'); } - return value; - } - })(); - - - - -} + filterScripts(); + e.preventDefault(); + }, false); + return a; + } + + function configSetValue(name, value) { + localStorage.setItem(name, value); + } + + function configGetValue(name, defaultValue) { + const value = localStorage.getItem(name); + return value ? value : defaultValue; + } + +})(); diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index d077f84..7816395 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,49 +1,141 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.14 +// @version 2018.9.20 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @author kuehlschrank, darkred +// @author kuehlschrank, darkred, valacar // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png // @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ // @exclude /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)((scripts\/\d+)|forum\/(discussion\/|profile|messages)).*$/ -// @grant none -// @run-at document-idle +// @grant none +// @run-at document-idle // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. +// Thanks a lot to valacar for the refactoring. // ==/UserScript== -if (window.location.href.indexOf('forum') === -1) { - (function() { - var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu +(function() { + + const DEBUGGING = 0; + + const filters = { + 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + }; + + const commonCss = ` + .filter-status { + margin-left: 6px; + position: fixed; + top: calc(0%); + left: calc(13.5%); + color: #787878; + } + .filter-switches { + display: none; + } + *:hover > .filter-switches { + display: block !important; + position: fixed; + top: calc(1.7%); + left: calc(14%); + } + .filter-on, + .filter-off { + display: block !important; + width: 105px; + } + .filter-switches a { + text-decoration: none !important; + color: inherit; + cursor: pointer; + } + .filter-switches a { + margin-left: 8px; + padding: 0 4px; + } + a.filter-on { + background-color: #ea6e6e; + color: #333333; + text-decoration: line-through !important; + } + a.filter-off { + background-color: #6da46b; + color: #333333; + } + `; + + const isOnForum = window.location.href.includes('forum'); + + const site = {}; + if (isOnForum) { + site.css = '.ItemDiscussion.filtered { display: none; } .filter-on, .filter-off { color: black; } ' + commonCss; + site.cssDebug = '.ItemDiscussion.filtered { background-color: khaki !important; } ' + commonCss; + site.filterStatusLocation = '#Head'; + site.itemsToCheck = '.ItemDiscussion'; + site.itemType = 'discussions'; + site.removeFilter = function(el) { + el.classList.remove('filtered'); }; - if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; - } + site.applyFilter = function(el, activeFilter) { + let temp = el.children[1].firstElementChild.innerText; + if(temp && temp.match(activeFilter)) { + el.classList.add('filtered'); + return true; + } + return false; + }; + } else { + site.css = 'tr.filtered, li.filtered { display: none; } ' + commonCss; + site.cssDebug = 'tr.filtered td, li.filtered { background-color: khaki !important; } ' + commonCss; + site.filterStatusLocation = '#main-header'; + site.itemsToCheck = `tbody > tr > td > div.thetitle, + #browse-script-list > li`; + site.itemType = 'scripts'; + site.removeFilter = function(el) { + if (window.location.href.indexOf('/libraries') === -1) { + el.parentNode.parentNode.classList.remove('filtered'); + } else { + el.classList.remove('filtered'); + } + }; + site.applyFilter = function(el, activeFilter) { + if (window.location.href.indexOf('/libraries') === -1) { + var temp = el.parentNode.firstChild.firstChild.textContent + ' ' + el.parentNode.lastChild.textContent; // store script's name and description (with a space between) to variable 'temp' + } else { + temp = el.getAttribute('data-script-name') + ' ' + el.firstElementChild.firstElementChild.children[3].innerText; + } + if (temp && temp.match(activeFilter)) { + if (window.location.href.indexOf('/libraries') === -1) { + el.parentNode.parentNode.classList.add('filtered'); + } else { + el.classList.add('filtered'); + } + return true; + } + return false; + }; + } + insertStyle(); + insertStatus(); + filterScripts(); + insertSwitches(); - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); + if (!isOnForum){ - var target = document.querySelector('#script-table > tbody:nth-child(2)'); - var observer = new MutationObserver((mutations) => { + const target = document.querySelector('#script-table > tbody:nth-child(2)'); + const observer = new MutationObserver((mutations) => { insertStyle(); - // insertStatus(); if (!document.querySelector('.filter-status')){ insertStatus(); } filterScripts(); - // insertSwitches(); if (!document.querySelector('.filter-switches')){ insertSwitches(); } @@ -54,305 +146,92 @@ if (window.location.href.indexOf('forum') === -1) { }; observer.observe(target, config); + } - // Note: you may uncomment line 37-81 and comment out line 36, in order the filtered scripts to be highlighted red -instead of hiding them- so that you can check which scripts have been filtered - function insertStyle() { - var style = document.createElement('style'); - // style.textContent = ` tr.filtered td, li.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none;} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(1.7%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; `; - style.textContent = ` tr.filtered, li.filtered { - display: none !important; - } - .filter-status { - margin-left: 6px; - position: fixed; - top: calc(0%); - left: calc(13.5%); - color: #787878; - } - .filter-switches { - display: none; - } - *:hover > .filter-switches { - display: block !important; - position: fixed; - top: calc(1.7%); - left: calc(14%); - } - .filter-on, - .filter-off { - display: block !important; - width: 105px; - } - .filter-switches a { - text-decoration: none !important; - color: inherit; - cursor: pointer; - } - .filter-switches a { - margin-left: 8px; - padding: 0 4px; - } - a.filter-on { - background-color: #ea6e6e; - color: #333333; - text-decoration: line-through !important - } - a.filter-off { - background-color: #6da46b; - color: #333333; - } - `; - style.type = 'text/css'; - document.querySelector('head').appendChild(style); - } - function insertStatus() { - var p = document.querySelector('#main-header'); - if(p) { - var status = document.createElement('span'); - status.className = 'filter-status'; - p.appendChild(status); - } - } - function filterScripts() { - var activeFilters = []; - for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { - activeFilters.push(filters[filter]); - } - } - var nodes = document.querySelectorAll('tbody > tr > td > div.thetitle, #browse-script-list > li'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for(var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - if (window.location.href.indexOf('/libraries') === -1) { - td.parentNode.parentNode.classList.remove('filtered'); - } else { - td.classList.remove('filtered'); - } - for(var j = 0; j < numActiveFilters; j++) { - if (window.location.href.indexOf('/libraries') === -1) { - var temp = td.parentNode.firstChild.firstChild.textContent + ' ' + td.parentNode.lastChild.textContent; // store script's name and description (with a space between) to variable 'temp' - } else { - // temp = td.firstElementChild.firstElementChild.innerText + ' ' + td.firstElementChild.children[3].innerText; - temp = td.getAttribute('data-script-name') + ' ' + td.firstElementChild.firstElementChild.children[3].innerText; - } - if(temp.match(activeFilters[j])) { - if (window.location.href.indexOf('/libraries') === -1) { - td.parentNode.parentNode.classList.add('filtered'); - } else { - td.classList.add('filtered'); - } - numFiltered++; - break; - } - } - } + function insertStyle() { + const style = document.createElement('style'); + style.textContent = DEBUGGING ? site.cssDebug : site.css; + style.type = 'text/css'; + document.head.appendChild(style); + } - document.querySelector('.filter-status').textContent = (document.querySelectorAll('tbody > tr > td > div.thetitle, #browse-script-list > li').length - numFiltered) + ' scripts (' + numFiltered + ' filtered)'; + function insertStatus() { + const p = document.querySelector(site.filterStatusLocation); + if (p) { + const status = document.createElement('span'); + status.className = 'filter-status'; + p.appendChild(status); } + } - function insertSwitches() { - var span = document.createElement('span'); - span.className = 'filter-switches'; - for(var filter in filters) { - if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); - } + function filterScripts() { + const activeFilters = []; + for (let filterType of Object.keys(filters)) { + if (configGetValue(filterType, 'on') === 'on') { + activeFilters.push(filters[filterType]); } - document.querySelector('.filter-status').parentNode.appendChild(span); } - - function createSwitch(label, isOn) { - var a = document.createElement('a'); - a.className = isOn ? 'filter-on' : 'filter-off'; - a.textContent = label; - a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { - this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); - } else { - this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); + const nodes = document.querySelectorAll(site.itemsToCheck); + let numFiltered = 0; + for (let node of nodes) { + site.removeFilter(node); + for (let activeFilter of activeFilters) { + let filtered = site.applyFilter(node, activeFilter); + if (filtered) { + numFiltered++; + break; } - filterScripts(); - e.preventDefault(); - }, false); - return a; - } - - function my_GM_setValue(name, value) { - localStorage.setItem(name, value); - } - - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; } - return value; - } - - })(); - - -} else { - - - (function() { - var filters = { - 'Non-ASCII':/[^\x00-\x7F\s]+/iu, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, - 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter':/^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download/iu - }; - if(typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; } - - - insertStyle(); - insertStatus(); - filterScripts(); - insertSwitches(); - - - - - // Note: you may uncomment line 37-81 and comment out line 36, in order the filtered scripts to be highlighted red -instead of hiding them- so that you can check which scripts have been filtered - function insertStyle() { - var style = document.createElement('style'); - // style.textContent = '.ItemDiscussion.filtered {background-color:khaki !important;} .filter-status {margin-left:6px; position:fixed; top:calc(0%); left:calc(13.5%)} .filter-switches {display:none;} *:hover > .filter-switches {display:block !important; position:fixed; top:calc(1.7%); left:calc(14%)} .filter-on,.filter-off {display:block !important; width:105px} .filter-switches a {text-decoration:none !important; color:inherit; cursor:pointer} .filter-switches a {margin-left:8px; padding:0 4px} a.filter-on {background-color:#ff6161; color:#333333; text-decoration:line-through !important} a.filter-off {background-color:#97ca97;color:#333333; '; - style.textContent = ` .ItemDiscussion.filtered { - display: none !important; - } - .filter-status { - margin-left: 6px; - position: fixed; - top: calc(0%); - left: calc(13.5%); - color: #787878; - } - .filter-switches { - display: none; - } - *:hover > .filter-switches { - display: block !important; - position: fixed; - top: calc(1.7%); - left: calc(14%); - } - .filter-on, - .filter-off { - display: block !important; - width: 105px; - } - .filter-switches a { - text-decoration: none !important; - color: inherit; - cursor: pointer; - } - .filter-switches a { - margin-left: 8px; - padding: 0 4px; - } - a.filter-on { - background-color: #ea6e6e; - color: #333333; - text-decoration: line-through !important - } - a.filter-off { - background-color: #6da46b; - color: #333333; - } - `; - style.type = 'text/css'; - document.querySelector('head').appendChild(style); - } - - function insertStatus() { - var p = document.querySelector('#Head'); - if(p) { - var status = document.createElement('span'); - status.className = 'filter-status'; - p.appendChild(status); - } - } - - function filterScripts() { - var activeFilters = []; - for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { - activeFilters.push(filters[filter]); - } - } - var nodes = document.querySelectorAll('.ItemDiscussion'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for(var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - td.classList.remove('filtered'); - for(var j = 0; j < numActiveFilters; j++) { - var temp = td.children[1].firstElementChild.innerText; - if(temp.match(activeFilters[j])) { - td.classList.add('filtered'); - numFiltered++; - break; - } - } + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + const numUnfiltered = document.querySelectorAll(site.itemsToCheck).length - numFiltered; + filterStatus.textContent = `${numUnfiltered} ${site.itemType} (${numFiltered} filtered)`; + } + } + + function insertSwitches() { + const span = document.createElement('span'); + span.className = 'filter-switches'; + for (let filterType of Object.keys(filters)) { + span.appendChild(createSwitch(filterType, configGetValue(filterType, 'on') === 'on')); + } + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + filterStatus.parentNode.appendChild(span); + } + } + + function createSwitch(label, isOn) { + const a = document.createElement('a'); + a.className = isOn ? 'filter-on' : 'filter-off'; + a.textContent = label; + a.addEventListener('click', function(e) { + if (this.className === 'filter-on') { + this.className = 'filter-off'; + configSetValue(this.textContent, 'off'); + } else { + this.className = 'filter-on'; + configSetValue(this.textContent, 'on'); } - - document.querySelector('.filter-status').innerText = (document.querySelectorAll('.ItemDiscussion').length - numFiltered) + ' discussions (' + numFiltered + ' filtered)'; - } - - - - function insertSwitches() { - var span = document.createElement('span'); - span.className = 'filter-switches'; - for(var filter in filters) { - if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); - } - } - document.querySelector('.filter-status').parentNode.appendChild(span); - } - - function createSwitch(label, isOn) { - var a = document.createElement('a'); - a.className = isOn ? 'filter-on' : 'filter-off'; - a.textContent = label; - a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { - this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); - } else { - this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); - } - filterScripts(); - e.preventDefault(); - }, false); - return a; - } - - function my_GM_setValue(name, value) { - localStorage.setItem(name, value); - } - - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; - } - return value; - } - - })(); - - -} + filterScripts(); + e.preventDefault(); + }, false); + return a; + } + + function configSetValue(name, value) { + localStorage.setItem(name, value); + } + + function configGetValue(name, defaultValue) { + const value = localStorage.getItem(name); + return value ? value : defaultValue; + } + +})(); diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index e29be51..c553e04 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,110 +1,205 @@ īģŋ// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.16.2 +// @version 2018.9.20 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -// @author kuehlschrank, darkred +// @author kuehlschrank, darkred, valacar // @license MIT // @include /^https:\/\/openuserjs\.org\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. // Thanks a lot to kuehlschrank for making another great script. +// Thanks a lot to valacar for the refactoring. // ==/UserScript== - (function() { - var filters = { - 'Games': /AntiGame|Agar|agar.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|Comunio|Conquer\s*Club|CosmoPulse|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|Dossergame|Dragons\s*of\s*Atlantis|Dugout|\bDS[a-z]+\n|Empire\s*Board|eRep(ublik)?|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(Ãļ|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|SpaceWars|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|War\s*of\s*Ninja|West\s*Wars|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + + const DEBUGGING = 0; + + const filters = { + 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Non-ASCII': /[^\x00-\x7F\s]+/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; - if (typeof GM_getValue === 'undefined' || (typeof GM_getValue.toString === 'function' && GM_getValue.toString().indexOf('not supported') > -1)) { - GM_getValue = my_GM_getValue; - GM_setValue = my_GM_setValue; - } + + const commonCss = ` + .filter-status { + margin-left: 6px; + } + + .filter-switches { + display: none; + } + + :hover>.filter-switches { + display: block; + } + + .filter-on, + .filter-off { + display: block; + width: 125px; + } + + .filter-switches a { + text-decoration: none; + color: inherit; + cursor: pointer; + } + + .filter-switches a { + margin-left: 8px; + padding: 0 4px; + } + + a.filter-on { + background-color: #ffcccc; + color: #333333; + text-decoration: line-through; + } + + a.filter-off { + background-color: #ccffcc; + color: #333333 + } + `; + + // const isOnForum = window.location.href.includes('forum'); + + const site = {}; + + + + // if (isOnForum) { + // // site.css = '.ItemDiscussion.filtered { display: none; } .filter-on, .filter-off { color: black; } ' + commonCss; + // site.css = '.tr-link.filtered { display: none; } ' + commonCss; + // site.cssDebug = '.tr-link.filtered { background-color: khaki; } ' + commonCss; + // // site.filterStatusLocation = '#Head'; + // site.filterStatusLocation = '.col-md-2'; + // site.itemsToCheck = '.tr-link'; + // site.itemType = 'discussions'; + // site.removeFilter = function(el) { + // el.classList.remove('filtered'); + // }; + // site.applyFilter = function(el, activeFilter) { + // let textToFilter = el.firstElementChild.firstElementChild.innerText; + // if (textToFilter.match(activeFilter) ) { + // el.classList.add('filtered'); + // return true; + // } + // return false; + // }; + // } else { + + site.css = 'tr.filtered { display: none; } ' + commonCss; + site.cssDebug = 'tr.filtered { background-color: khaki; } ' + commonCss; + site.filterStatusLocation = '.col-sm-4'; + site.itemsToCheck = '.col-sm-8 tbody tr'; + site.itemType = 'scripts'; + site.removeFilter = function(el) { + el.classList.remove('filtered'); + }; + site.applyFilter = function(el, activeFilter) { + // if (el.innerText.match(activeFilter)) { + let textToFilter = el.firstElementChild.querySelector('a.tr-link-a').innerText + ' ' + el.firstElementChild.lastElementChild.innerText ; // Script title + description + if (textToFilter.match(activeFilter) ) { + + el.classList.add('filtered'); + return true; + } + return false; + }; + // } + insertStyle(); insertStatus(); filterScripts(); insertSwitches(); - // Note: you may uncomment line 37 (and comment out line 38), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered function insertStyle() { - var style = document.createElement('style'); - // style.textContent = 'tr.filtered { background-color:khaki; !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 125px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; - style.textContent = 'tr.filtered { display:none !important; } .filter-status { margin-left: 6px; } .filter-switches { display:none; } *:hover > .filter-switches { display:block !important; } .filter-on, .filter-off {display:block !important; width: 125px; outline: none;} .filter-switches a { text-decoration:none !important; color:inherit; cursor:pointer; } .filter-switches a { margin-left: 8px; padding: 0 4px; } a.filter-on { background-color:#ffcccc; color:#333333; text-decoration:line-through !important } a.filter-off { background-color:#ccffcc; color:#333333 } '; + const style = document.createElement('style'); + style.textContent = DEBUGGING ? site.cssDebug : site.css; style.type = 'text/css'; - document.querySelector('head').appendChild(style); + document.head.appendChild(style); } + function insertStatus() { - var p = document.querySelector('.col-sm-4'); - if(p) { - var status = document.createElement('span'); + const p = document.querySelector(site.filterStatusLocation); + if (p) { + const status = document.createElement('span'); status.className = 'filter-status'; p.appendChild(status); } } + + + function filterScripts() { - var activeFilters = []; - for(var filter in filters) { - if(filters.hasOwnProperty(filter) && GM_getValue(filter, 'on') === 'on') { - activeFilters.push(filters[filter]); + const activeFilters = []; + for (let filterType of Object.keys(filters)) { + if (configGetValue(filterType, 'on') === 'on') { + activeFilters.push(filters[filterType]); } } - var nodes = document.querySelectorAll('.col-sm-8 tbody tr'), - numActiveFilters = activeFilters.length, - numFiltered = 0; - for (var i = 0, numNodes = nodes.length, td = null; i < numNodes && (td = nodes[i]); i++) { - td.className = ''; - for(var j = 0; j < numActiveFilters; j++) { - // if (td.innerText.match(activeFilters[j]) ) { - var textToFilter = td.firstElementChild.querySelector('a.tr-link-a').innerText + ' ' + td.firstElementChild.lastElementChild.innerText ; // Script title + description - if (textToFilter.match(activeFilters[j]) ) { - td.className = 'filtered'; + const nodes = document.querySelectorAll(site.itemsToCheck); + let numFiltered = 0; + for (let node of nodes) { + site.removeFilter(node); + for (let activeFilter of activeFilters) { + let filtered = site.applyFilter(node, activeFilter); + if (filtered) { numFiltered++; break; } } } - document.querySelector('.filter-status').textContent = document.querySelectorAll('.col-sm-8 tbody tr').length - numFiltered + ' scripts (' + numFiltered + ' filtered)'; + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + const numUnfiltered = document.querySelectorAll(site.itemsToCheck).length - numFiltered; + filterStatus.textContent = `${numUnfiltered} ${site.itemType} (${numFiltered} filtered)`; + } } + function insertSwitches() { - var span = document.createElement('span'); + const span = document.createElement('span'); span.className = 'filter-switches'; - for(var filter in filters) { - if(filters.hasOwnProperty(filter)) { - span.appendChild(createSwitch(filter, GM_getValue(filter, 'on') === 'on')); - } + for (let filterType of Object.keys(filters)) { + span.appendChild(createSwitch(filterType, configGetValue(filterType, 'on') === 'on')); + } + const filterStatus = document.querySelector('.filter-status'); + if (filterStatus) { + filterStatus.parentNode.appendChild(span); } - document.querySelector('.filter-status').parentNode.appendChild(span); } + function createSwitch(label, isOn) { - var a = document.createElement('a'); + const a = document.createElement('a'); a.className = isOn ? 'filter-on' : 'filter-off'; a.textContent = label; a.addEventListener('click', function(e) { - if(this.className === 'filter-on') { + if (this.className === 'filter-on') { this.className = 'filter-off'; - GM_setValue(this.textContent, 'off'); + configSetValue(this.textContent, 'off'); } else { this.className = 'filter-on'; - GM_setValue(this.textContent, 'on'); + configSetValue(this.textContent, 'on'); } filterScripts(); e.preventDefault(); }, false); return a; } - function my_GM_setValue(name, value) { + + function configSetValue(name, value) { localStorage.setItem(name, value); } - function my_GM_getValue(name, defaultValue) { - var value; - if (!(value = localStorage.getItem(name))) { - return defaultValue; - } - return value; + + function configGetValue(name, defaultValue) { + const value = localStorage.getItem(name); + return value ? value : defaultValue; } + })(); From 9e7f7b57635c5336e3f0d44910fd2abba04fc558 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 21 Sep 2018 02:34:42 +0300 Subject: [PATCH 088/439] (README.md update) --- GreasyFork_Bullshit_Filter/README.md | 3 ++- GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md | 3 ++- OpenUserJS_Bullshit_Filter/README.md | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/README.md b/GreasyFork_Bullshit_Filter/README.md index cf9410c..45bca2e 100644 --- a/GreasyFork_Bullshit_Filter/README.md +++ b/GreasyFork_Bullshit_Filter/README.md @@ -11,4 +11,5 @@ The filters list appears just below the `#script-list-option-groups` element (i. *Note: you may uncomment line 35 (and comment out line 46), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered.* This is a modified version of this script: [userscripts.org Bullshit Filter](http://userscripts-mirror.org/scripts/show/97145) (by kuehlschrank). -Thanks a lot to kuehlschrank for making another great script. +Thanks a lot to kuehlschrank for making another great script. +Thanks a lot to valacar for [the refactoring](https://greasyfork.org/en/forum/discussion/42803/refactored). diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md index 5ca5878..bce16a8 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/README.md @@ -14,4 +14,5 @@ Note: you may comment out #49 and uncomment #50 in order to change position of t This is a modified version of this script: [userscripts.org Bullshit Filter](http://userscripts-mirror.org/scripts/show/97145) (by kuehlschrank). -Thanks a lot to kuehlschrank for making another great script. \ No newline at end of file +Thanks a lot to kuehlschrank for making another great script. +Thanks a lot to valacar for [the refactoring](https://greasyfork.org/en/forum/discussion/42803/refactored). diff --git a/OpenUserJS_Bullshit_Filter/README.md b/OpenUserJS_Bullshit_Filter/README.md index 56ef88b..3e3e572 100644 --- a/OpenUserJS_Bullshit_Filter/README.md +++ b/OpenUserJS_Bullshit_Filter/README.md @@ -11,4 +11,5 @@ The filters list appears just below the "Announcements" table (i.e. on the right *Note: you may uncomment line 37 (and comment out line 38), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered.* This is a modified version of this script: [userscripts.org Bullshit Filter](http://userscripts-mirror.org/scripts/show/97145) (by kuehlschrank). -Thanks a lot to kuehlschrank for making another great script. \ No newline at end of file +Thanks a lot to kuehlschrank for making another great script. +Thanks a lot to valacar for [the refactoring](https://greasyfork.org/en/forum/discussion/42803/refactored). From 50ada7bd6e010244ae938f80ddf44265208e1548 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 21 Sep 2018 02:36:13 +0300 Subject: [PATCH 089/439] (GreasyFork Bullshit Filter) a 'let' --> 'const' --- GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 34976be..ce1f6f4 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -81,8 +81,8 @@ el.classList.remove('filtered'); }; site.applyFilter = function(el, activeFilter) { - let temp = el.children[1].firstElementChild.innerText; - if(temp && temp.match(activeFilter)) { + const temp = el.children[1].firstElementChild.innerText; + if (temp && temp.match(activeFilter)) { el.classList.add('filtered'); return true; } From 777d2d5da494fb5ddd272154f0cf2c09a5f2d78a Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 23 Sep 2018 18:49:26 +0300 Subject: [PATCH 090/439] (OpenUserJS Bullshit Filter) README.md - Updated the screen capture --- OpenUserJS_Bullshit_Filter/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenUserJS_Bullshit_Filter/README.md b/OpenUserJS_Bullshit_Filter/README.md index 3e3e572..79aef93 100644 --- a/OpenUserJS_Bullshit_Filter/README.md +++ b/OpenUserJS_Bullshit_Filter/README.md @@ -6,7 +6,7 @@ i.e. it filters any/all of these 4 categories: * **Clutter**: obvious spam, titles like "asdasdasd", description = title, title < 6 characters, "just a test", scripts for themes/dark/night mode (because they are, in effect, userstyles). The filters list appears just below the "Announcements" table (i.e. on the right). -![image](https://i.imgur.com/BYQ5WfA.gif) +![screenshot](https://i.imgur.com/uPvFcSS.gif) *Note: you may uncomment line 37 (and comment out line 38), in order the filtered scripts to be highlighted khaki -instead of hiding them- so that you can check which scripts have been filtered.* From 10c2acf1eda3f49d9ac0e7ac7af0075ebcf10cd3 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 28 Sep 2018 18:48:21 +0300 Subject: [PATCH 091/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - Any '|' in the IMDb summary are now removed - Minor changes, for the script style to be more consistent --- ..._entries_and_various_visual_tweaks.user.js | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index a69652d..d4f5961 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.14 +// @version 2018.9.28 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -75,23 +75,33 @@ $( "a[href*='imdb.com']" ).html(titleText); // move Runtime inside IMDb Summary -var runtime = $(".header2:contains('IMDb Runtime:')").next().html(); -$(".header2:contains('IMDb Runtime:')").parent().hide(); -summary = $(".header2:contains('IMDb Summary:')").next().html(); +var runtimeNode = $(".header2:contains('IMDb Runtime:')"); +runtimeNode.parent().hide(); +var runtime = runtimeNode.next().html(); +var summaryNode = $(".header2:contains('IMDb Summary:')"); if (runtime !== undefined) { - $(".header2:contains('IMDb Summary:')").next().html(summary + ' ( ' + runtime + ' )'); + summaryNode.next().text(function( index, string ) { + return string + ' ( ' + runtime + ' )'; + }); } + +// remove all '|' from the IMDb summary text +$(".header2:contains('IMDb Summary:')").next().text(function( index,string ) { + return string.replace(/\|/g,''); +}); + + // move PG Rating inside IMDb Summary -var pg = $(".header2:contains('PG Rating:')").next().html(); -$(".header2:contains('PG Rating:')").parent().hide(); -var summary = $(".header2:contains('IMDb Summary:')").next().html(); +var pgNode = $(".header2:contains('PG Rating:')"); +pgNode.parent().hide(); +var pg = pgNode.next().html(); +var summary = summaryNode.next().text(); if (pg !== undefined) { - $(".header2:contains('IMDb Summary:')").next().html(summary + ' [ ' + pg + ' ]'); + summaryNode.next().text(summary + ' [ ' + pg + ' ]'); } - // MAKING BOLD (start) ratingByUsersElement.innerHTML = ' Rating: ' + average + '/' + votes + rest; From 27a2fecd44c42b037df619ae23fe8e9b704de6a1 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 29 Sep 2018 13:12:57 +0300 Subject: [PATCH 092/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - Rearranged the 'Release name', 'Show NFO' and 'MediaInfo' - Now the 'Size' row gets duplicated below the 'Title' row --- ...nge_entries_and_various_visual_tweaks.user.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index d4f5961..a7fdb96 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.28 +// @version 2018.9.29 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -141,12 +141,13 @@ $(userRating).replaceWith(function() { var vpn = $(".header2:contains('VPN:')").parent(); +var mediaInfo = $(".header2:contains('MediaInfo Âģ')").parent(); var trailer = $(".header2:contains('Trailer:')").parent(); var imdbLink = $('img[src="https://dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); var ratingByUsers = $('.ratingblock').parent().parent(); var category = $(".header2:contains('Category:')").parent(); var size = $(".header2:contains('Size:')").parent(); -var showHideFiles = $(".header2:contains('Show Files Âģ')").parent(); +var showFiles = $(".header2:contains('Show Files Âģ')").parent(); var added = $(".header2:contains('Added:')").parent(); var title = $(".header2:contains('Title:')[align='right']").parent(); // var pgRating = $(".header2:contains('PG Rating:')").parent(); @@ -161,6 +162,7 @@ var director = $(".header2:contains('Director:')").parent(); var year = $(".header2:contains('Year:')").parent(); var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); var RTCriticsCons = $(".header2:contains('RT Critics Consensus:')").parent(); +var showNFO = $(".header2:contains('Show NFO Âģ')").parent(); // example URL where the NFO is provided: https://rarbgproxy.org/torrent/fmzeqtk var hits = $(".header2:contains('Hits:')").parent(); var peers = $(".header2:contains('Peers:')").parent(); var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); @@ -168,6 +170,10 @@ var tags = $(".header2:contains('Tags')").parent(); var releaseName = $(".header2:contains('Release name:')").parent(); +// duplicate the 'Size' row right after the 'Title' row +var sizeClone = size.clone(); +sizeClone.insertAfter( $(".header2:contains('Torrent:')").parent() ); + vpn.hide(); // The 'VPN' row is hidden because it's an ad. // trailer.hide(); // For reference: https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList) @@ -179,10 +185,12 @@ function tableLastRow(){ } -releaseName .insertAfter(tableLastRow()); category .insertAfter(tableLastRow()); +releaseName .insertAfter(tableLastRow()); +showNFO .insertAfter(tableLastRow()); size .insertAfter(tableLastRow()); -showHideFiles .insertAfter(tableLastRow()); +showFiles .insertAfter(tableLastRow()); +mediaInfo .insertAfter(tableLastRow()); added .insertAfter(tableLastRow()); title .insertAfter(tableLastRow()); // year .insertAfter(tableLastRow()); From 7618f33f64ce32e557f49f5d4ea8df274d3081c9 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 29 Sep 2018 13:52:37 +0300 Subject: [PATCH 093/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) README.md : updated screenshots and a note addition. --- .../README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index c429354..4750053 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -1,15 +1,16 @@ This userscript applies to RARBG torrent detail pages. -It rearranges various entries, displays in bold the various rating values, renames a few entries more suitably and use decimal rating for the users' ratings. +It rearranges various entries, displays in bold the various rating values, renames a few entries more suitably and uses decimal rating for the users' ratings. Screenshot comparison: Initial: -[![](https://i.imgur.com/fCmbgmol.jpg)](https://i.imgur.com/fCmbgmo.jpg) +[![](https://i.imgur.com/T2pb0tHl.jpg)](https://i.imgur.com/T2pb0tH.jpg) With the script: -[![](https://i.imgur.com/eDQB7M4l.jpg)](https://i.imgur.com/eDQB7M4.jpg) +[![](https://i.imgur.com/iBJt3Hwl.jpg)](https://i.imgur.com/iBJt3Hw.jpg) Notes: - The script makes use of the page's jQuery 1.11.3. +- The `Size` row gets duplicated below the 'Torrent' row. - Regarding the `Rating` row: the five star rating is converted to ten star, both the stars themselves and the text value, but, if you hover the mouse over the stars to click to rate the movie, still only the first five stars are clickable, i.e. it's actually still five star rating. - The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). - The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') From 8f142c0a4d315625bab2ccb0574ba3a86db1ac20 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 19 Oct 2018 00:21:12 +0300 Subject: [PATCH 094/439] (RARBG - convert torrent timestamps to relative format) Changed all 'innerText' to 'textContent' --- ...t_torrent_timestamps_to_relative_format.user.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 2bc0541..ca984fb 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.14 +// @version 2018.10.19 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT @@ -40,11 +40,11 @@ function convertDates() { // var dates = document.querySelectorAll('tr.lista2 td:nth-child(3)'); var dates = document.querySelectorAll('td[width="150px"]'); for (var i = 0; i < dates.length; i++) { - // if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. - if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss').isValid()) { + // if (moment(dates[i].textContent, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. + if (moment(dates[i].textContent, 'YYYY-MM-DD HH:mm:ss').isValid()) { - var temp2 = moment.tz(dates[i].innerText, serverTimezone).tz(localTimezone); - dates[i].innerText = temp2.fromNow(); + var temp2 = moment.tz(dates[i].textContent, serverTimezone).tz(localTimezone); + dates[i].textContent = temp2.fromNow(); // var format = 'MM/DD/YYYY HH:mm:ss'; @@ -68,8 +68,8 @@ convertDates(); (function(){ var dates = document.querySelectorAll('td[width="150px"]'); for (var i = 0; i < dates.length; i++) { - dates[i].innerText = moment(dates[i].title).fromNow(); + dates[i].textContent = moment(dates[i].title).fromNow(); } setTimeout(arguments.callee, 1 * 60 * 1000); -})(); \ No newline at end of file +})(); From b7b04ea3c92cb3c1766c93ef60e4e6f33f77011e Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 19 Oct 2018 16:45:57 +0300 Subject: [PATCH 095/439] (RARBG - convert torrent timestamps to relative format) Code review --- ...rent_timestamps_to_relative_format.user.js | 62 ++++++++----------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index ca984fb..69fe252 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.10.19 +// @version 2018.10.19.1 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT @@ -12,6 +12,7 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // ==/UserScript== + /* global jstz, moment */ // Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) @@ -33,43 +34,34 @@ moment.updateLocale('en', { } }); -var localTimezone = jstz.determine().name(); -var serverTimezone = 'Europe/Berlin'; // GMT+1 - -function convertDates() { - // var dates = document.querySelectorAll('tr.lista2 td:nth-child(3)'); - var dates = document.querySelectorAll('td[width="150px"]'); - for (var i = 0; i < dates.length; i++) { - // if (moment(dates[i].textContent, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. - if (moment(dates[i].textContent, 'YYYY-MM-DD HH:mm:ss').isValid()) { - - var temp2 = moment.tz(dates[i].textContent, serverTimezone).tz(localTimezone); - dates[i].textContent = temp2.fromNow(); - - - // var format = 'MM/DD/YYYY HH:mm:ss'; - var format = 'YYYY-MM-DD HH:mm:ss'; - dates[i].title = temp2.format(format); - - // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) - // dates[i].title = temp2.toISOString(); - // dates[i].title = temp2.format(); +function convertToLocalTimezone() { + const localTimezone = jstz.determine().name(); + const serverTimezone = 'Europe/Berlin'; // GMT+1 + for (let i = 0; i < timestamps.length; i++) { + let initialTimestamp = timestamps[i].textContent; + // if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss').isValid()) { + if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. + let convertedToLocalTimezone = moment.tz(initialTimestamp, serverTimezone).tz(localTimezone); + timestamps[i].textContent = convertedToLocalTimezone.fromNow(); + // let format = 'MM/DD/YYYY HH:mm:ss'; + let format = 'YYYY-MM-DD HH:mm:ss'; + timestamps[i].title = convertedToLocalTimezone.format(format); + // timestamps[i].title = convertedToLocalTimezone.toISOString(); // // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) + // timestamps[i].title = convertedToLocalTimezone.format(); } } -} -convertDates(); - - - -// recalculate the relative times every 10 sec + // recalculate the relative times every 10 sec + (function(){ + for (let i = 0; i < timestamps.length; i++) { + timestamps[i].textContent = moment(timestamps[i].title).fromNow(); + } + setTimeout(arguments.callee, 1 * 60 * 1000); + })(); -(function(){ - var dates = document.querySelectorAll('td[width="150px"]'); - for (var i = 0; i < dates.length; i++) { - dates[i].textContent = moment(dates[i].title).fromNow(); - } +} - setTimeout(arguments.callee, 1 * 60 * 1000); -})(); +// const timestamps = document.querySelectorAll('tr.lista2 td:nth-child(3)'); +const timestamps = document.querySelectorAll('td[width="150px"]'); +convertToLocalTimezone(timestamps); From 26d3792cf473128c5c0acdcba4c5e612187f2ca4 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 20 Oct 2018 22:34:32 +0300 Subject: [PATCH 096/439] (RARBG - convert torrent timestamps to relative format) Added parameter to function definition --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 69fe252..ad7ae7b 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.10.19.1 +// @version 2018.10.20 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT @@ -35,7 +35,7 @@ moment.updateLocale('en', { }); -function convertToLocalTimezone() { +function convertToLocalTimezone(timestamps) { const localTimezone = jstz.determine().name(); const serverTimezone = 'Europe/Berlin'; // GMT+1 for (let i = 0; i < timestamps.length; i++) { From 47f78af102dd479d438dad7d7eb9a73555fb5745 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 3 Nov 2018 19:40:22 +0200 Subject: [PATCH 097/439] Update Instagram_-_visible_images_counter.user.js Updated the selector for the visible images counter (per https://greasyfork.org/en/forum/discussion/45041/x ) --- .../Instagram_-_visible_images_counter.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 2de3354..ecf5f2b 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,7 +1,7 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.9.8 +// @version 2018.11.3 // @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page // @author darkred // @license MIT @@ -44,7 +44,8 @@ function showCounter() { total = totalString.replace(',', '').replace('.', ''); // strip the thousand comma/dot seperator - hrefselems = document.querySelectorAll(`a[href*='taken-by']`); + // hrefselems = document.querySelectorAll(`a[href*='taken-by']`); + hrefselems = document.querySelectorAll(`.v1Nh3.kIKUG._bz0w > a`); $.each(hrefselems, function(index, value) { // hrefs.indexOf(String(value)) === -1 ? hrefs.push(String(value)) : console.log("This item already exists"); // https://stackoverflow.com/a/36683363 if (hrefs.indexOf(String(value)) === -1) { // hrefs.count -below- serves as a counter for the newly added displayed images (on each infinite scrolling event) From 2b1426040f4b5b76da5756d0e7dc2ba207122810 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 2 Dec 2018 01:46:42 +0200 Subject: [PATCH 098/439] Update Instagram_-_visible_images_counter.user.js (Instagram - visible images counter) Updated the 'avatarSelector', for the counter element creation, after recent changes in Instagram HTML (per https://greasyfork.org/en/forum/discussion/47370). --- .../Instagram_-_visible_images_counter.user.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index ecf5f2b..cd117d7 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,8 +1,8 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.11.3 -// @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page +// @version 2018.12.2 +// @description Shows in instagram profile pages how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page. // @author darkred // @license MIT // @include https://www.instagram.com/* @@ -108,8 +108,9 @@ var div = document.createElement('div'); var observer; // var avatarSelector = 'span[style="width: 152px; height: 152px;"]'; // the profile's photo/avatar element -// var avatarSelector = '._mainc';// // the profile's bio area element -var avatarSelector = 'h1.notranslate'; // the profile name element +// var avatarSelector = '._mainc'; // the profile's bio area element +// var avatarSelector = 'h1.notranslate'; // the profile name element +var avatarSelector = 'h1.rhpdm'; // the profile name element // var avatarSelector = 'main > article > header > section > div._ienqf > div > button'; // the 3-dots icon // var avatarSelector = 'div[style="flex-direction: column; padding-bottom: 0px; padding-top: 0px;"]'; // the 3-dots icon @@ -119,6 +120,8 @@ var avatarSelector = 'h1.notranslate'; // the p if (document.querySelector(avatarSelector)) { createDiv(); createObserver(); +} else { + console.log('ERROR: Cannot create the Counter element, the avatarSelector element ( ' + avatarSelector + ' ) doesnt exist !!'); } From f58b6b2ed98cd2aa28d4c4060a2fb084f0b688df Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Feb 2019 00:03:30 +0200 Subject: [PATCH 099/439] Update RARBG_-_torrent_and_magnet_links.user.js Fix DL links after recent site HTML change: DL links are now also retrieved via XHR, because unfortunately they cannot be generated from the page anymore. --- .../RARBG_-_torrent_and_magnet_links.user.js | 97 ++++++++++--------- 1 file changed, 53 insertions(+), 44 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index aadde80..a786b1a 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2018.9.14 +// @version 2019.2.1 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe @@ -34,62 +34,71 @@ function appendColumn(title) { var newColumn = document.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // new column var oldColumn = document.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(2)'); // old column - // populate the cells in the new column with DL and ML links + for (let i = 0; i < newColumn.length; i++) { - if ((/over\/(.*)\.jpg\\/).test(oldColumn[i].firstChild.outerHTML)){ - var hash = oldColumn[i].firstChild.outerHTML.match(/over\/(.*)\.jpg\\/)[1]; - } else { - hash = undefined; - } - let title = oldColumn[i].firstChild.innerText; - var trackers = 'http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710'; - newColumn[i].innerHTML = '' + ''; - // if the torrent hash is contained in the filenames of the thumbnail image - if (hash !== undefined){ - // then generate magnet link from preview thumbnail if available - newColumn[i].innerHTML += ' '; - } else { - // else generate it via an ajax request - let href = oldColumn[i].firstChild.href; - newColumn[i].innerHTML += ' '; - newColumn[i].lastChild.title = 'ML via XHR'; - } + + let href = oldColumn[i].firstChild.href; + + newColumn[i].innerHTML = ''; + newColumn[i].lastChild.title = 'DL via XHR'; + + newColumn[i].innerHTML += ' '; + newColumn[i].lastChild.title = 'ML via XHR'; + } } -appendColumn('DL ML'); -var xhrMagnetLinks = document.querySelectorAll('.xhrMagnetLink'); +function addMouseoverListeners(links, type){ + + for(let i=0; i < links.length; i++) { + + + links[i].addEventListener('mouseover', function(event){ + + event.preventDefault(); + let href = this.getAttribute('href'); + if (href === '#') { + let tLink = this.getAttribute('data-href'); -for(let i=0; i < xhrMagnetLinks.length; i++) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + xhr.onload = function () { - xhrMagnetLinks[i].addEventListener('mouseover', function(event){ + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; - event.preventDefault(); - let href = this.getAttribute('href'); - if (href === '#') { - let tLink = this.getAttribute('data-href'); + let retrievedLink; + if (type === 'dl'){ + retrievedLink = container.querySelector('a[href^="/download.php"]'); // the 'magnet link' element in the retrieved page + } else { + retrievedLink = container.querySelector('a[href^="magnet:"]'); // the 'magnet link' element in the retrieved page + } - var xhr = new XMLHttpRequest(); - xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - xhr.onload = function () { - let container = document.implementation.createHTMLDocument().documentElement; - container.innerHTML = xhr.responseText; - let magnetLink = container.querySelector('a[href^="magnet:"]'); // the 'magnet link' element in the retrieved page + if (retrievedLink) { + links[i].setAttribute('href', retrievedLink.href); + } - if (magnetLink) { - let magnetHref = magnetLink.href; - this.href = magnetHref; - let currentMagnetLink = document.querySelector('a[data-href^="' + tLink + '"]'); // the current magnet link element - currentMagnetLink.setAttribute('href', magnetHref); - } - }; - xhr.send(); - } + }; + xhr.send(); - }, false); + } + + }, false); + + } } + + +appendColumn('DL ML'); + + +var xhrDownloadLinks = document.querySelectorAll('.xhrDownloadLink'); +var xhrMagnetLinks = document.querySelectorAll('.xhrMagnetLink'); + +addMouseoverListeners(xhrDownloadLinks, 'dl' ); +addMouseoverListeners(xhrMagnetLinks, 'ml' ); From c68e308b6bd0a3a48b006685fc4f03266fffea66 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Feb 2019 00:05:36 +0200 Subject: [PATCH 100/439] Update README.md --- RARBG_-_torrent_and_magnet_links/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/README.md b/RARBG_-_torrent_and_magnet_links/README.md index 8970eaf..02eb745 100644 --- a/RARBG_-_torrent_and_magnet_links/README.md +++ b/RARBG_-_torrent_and_magnet_links/README.md @@ -4,8 +4,9 @@ Adds a column with torrent and magnet links in RARBG lists: Notes: - the script generates the magnet links in two ways: - - for most torrent entries, it generates it directly from the current page - *(i.e. from the filename of the thumbnail image that appears when you mouseover on the torrent title, and that's because these filenames are the same as the relevant torrent hash)* . + - for most torrent entries, it generates it directly from the current page + *(i.e. from the filename of the thumbnail image that appears when you mouseover on the torrent title, and that's because these filenames are the same as the relevant torrent hash)* . + Update 2/1/2019: DL links are now also retrieved via XHR, because unfortunately they cannot be generated from the page anymore, due to the latest site HTML changes. - For some torrent entries however, the thumbnail filename is generic (i.e. it doesn't contain the torrent hash), therefore the magnet link cannot be generated directly. In such cases, in order to get the magnet link, the target torrent page is retrieved via XHR : From 80baf3f2da552841a591a08a74f015dc51bd8976 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Feb 2019 00:39:24 +0200 Subject: [PATCH 101/439] Update GreasyFork_Bullshit_Filter.user.js Added suggestions from https://greasyfork.org/en/forum/discussion/51981/ --- .../GreasyFork_Bullshit_Filter.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index ce1f6f4..aa6dfdf 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.20 +// @version 2019.2.2 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred, valacar // @license MIT @@ -20,8 +20,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Non-ASCII': /[^\x00-\xBF\s]+/i, + 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; From 8337c26ef736ac8a632e2fdf99ba13bf8a4ce25b Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Feb 2019 00:39:26 +0200 Subject: [PATCH 102/439] Update GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js Added suggestions from https://greasyfork.org/en/forum/discussion/51981/ --- ...GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 7816395..79c3aa3 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.20 +// @version 2019.2.2 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred, valacar // @license MIT @@ -21,8 +21,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Non-ASCII': /[^\x00-\xBF\s]+/i, + 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; From 8991f9b9604b08b115092bda1ccc903d25f1dc3c Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 2 Feb 2019 00:39:30 +0200 Subject: [PATCH 103/439] Update OpenUserJS_Bullshit_Filter.user.js Added suggestions from https://greasyfork.org/en/forum/discussion/51981/ --- .../OpenUserJS_Bullshit_Filter.user.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index c553e04..da99916 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.20 +// @version 2019.2.2 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred, valacar // @license MIT @@ -19,8 +19,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Non-ASCII': /[^\x00-\xBF\s]+/i, + 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; From 8e4f5d2584fd1736d215f89f1aa4d65b5afbbc0f Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 4 Feb 2019 21:29:30 +0200 Subject: [PATCH 104/439] Update OpenUserJS_Bullshit_Filter.user.js Added an extra include rule per request https://github.com/darkred/Userscripts/commit/8991f9b9604b08b115092bda1ccc903d25f1dc3c#commitcomment-32170561 --- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index da99916..d8908af 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,12 @@ // ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2019.2.2 +// @version 2019.2.4 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred, valacar // @license MIT // @include /^https:\/\/openuserjs\.org\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ +// @include /^http:\/\/localhost:8080\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. From 8ae85a5c9312cfa74d27aa2404eebb32ec712283 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 27 Apr 2019 22:42:58 +0300 Subject: [PATCH 105/439] (RARBG - torrent and magnet links) Now it works in TV browser too (per request https://greasyfork.org/en/forum/discussion/52949/x ) --- .../RARBG_-_torrent_and_magnet_links.user.js | 139 ++++-- RARBG_-_torrent_and_magnet_links/arrive.js | 461 ++++++++++++++++++ 2 files changed, 548 insertions(+), 52 deletions(-) create mode 100644 RARBG_-_torrent_and_magnet_links/arrive.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index aadde80..f1ee76c 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,95 +1,130 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2018.9.14 +// @version 2019.4.27 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none +// @require https://raw.githubusercontent.com/uzairfarooq/arrive/master/src/arrive.js +// @run-at document-idle // ==/UserScript== -function appendColumn(title) { +function appendColumn(elem) { - var entries = document.querySelectorAll('.lista2t > tbody > tr > td:nth-child(2) '); // the initial column 'Files' after of which the extra column will be appended + var title = 'DL ML'; + + var entries = elem.querySelectorAll('.lista2t > tbody > tr > td:nth-child(2) '); // the initial column 'Files' after of which the extra column will be appended for (let i = 0; i < entries.length; i++) { // creation of the extra column entries[i].insertAdjacentHTML('afterend', `` + title + ``); } - var header = document.querySelector('.lista2t > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(3)'); // the first cell (the header cell) of the new column + var header = elem.querySelector('.lista2t > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(3)'); // the first cell (the header cell) of the new column header.innerHTML = title; - header.setAttribute('class', 'header6'); header.setAttribute('align', 'center'); + header.setAttribute('class', 'header6'); - var cells = document.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // the rest cells of the new column + var cells = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // the rest cells of the new column for (let i = 0; i < cells.length; i++) { cells[i].setAttribute('class', 'lista'); cells[i].setAttribute('width', '50px'); cells[i].setAttribute('align', 'center'); } - var newColumn = document.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // new column - var oldColumn = document.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(2)'); // old column + var newColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // new column + var oldColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(2)'); // old column + - // populate the cells in the new column with DL and ML links for (let i = 0; i < newColumn.length; i++) { - if ((/over\/(.*)\.jpg\\/).test(oldColumn[i].firstChild.outerHTML)){ - var hash = oldColumn[i].firstChild.outerHTML.match(/over\/(.*)\.jpg\\/)[1]; - } else { - hash = undefined; - } - let title = oldColumn[i].firstChild.innerText; - var trackers = 'http%3A%2F%2Ftracker.trackerfix.com%3A80%2Fannounce&tr=udp%3A%2F%2F9.rarbg.me%3A2710&tr=udp%3A%2F%2F9.rarbg.to%3A2710'; - newColumn[i].innerHTML = '' + ''; - // if the torrent hash is contained in the filenames of the thumbnail image - if (hash !== undefined){ - // then generate magnet link from preview thumbnail if available - newColumn[i].innerHTML += ' '; - } else { - // else generate it via an ajax request - let href = oldColumn[i].firstChild.href; - newColumn[i].innerHTML += ' '; - newColumn[i].lastChild.title = 'ML via XHR'; - } + + let href = oldColumn[i].firstChild.href; + + newColumn[i].innerHTML = ''; + newColumn[i].lastChild.title = 'DL via XHR'; + + newColumn[i].innerHTML += ' '; + newColumn[i].lastChild.title = 'ML via XHR'; + } } -appendColumn('DL ML'); -var xhrMagnetLinks = document.querySelectorAll('.xhrMagnetLink'); -for(let i=0; i < xhrMagnetLinks.length; i++) { +function addMouseoverListeners(links, type){ + + for(let i = 0; i < links.length; i++) { + + links[i].addEventListener('mouseover', function(event){ + + event.preventDefault(); + let href = this.getAttribute('href'); + if (href === '#') { + let tLink = this.getAttribute('data-href'); + + var xhr = new XMLHttpRequest(); + xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + xhr.onload = function () { + + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; + + let retrievedLink; + if (type === 'dl'){ + retrievedLink = container.querySelector('a[href^="/download.php"]'); // the 'magnet link' element in the retrieved page + } else { + retrievedLink = container.querySelector('a[href^="magnet:"]'); // the 'magnet link' element in the retrieved page + } - xhrMagnetLinks[i].addEventListener('mouseover', function(event){ - event.preventDefault(); - let href = this.getAttribute('href'); - if (href === '#') { - let tLink = this.getAttribute('data-href'); + if (retrievedLink) { + links[i].setAttribute('href', retrievedLink.href); + } - var xhr = new XMLHttpRequest(); - xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - xhr.onload = function () { - let container = document.implementation.createHTMLDocument().documentElement; - container.innerHTML = xhr.responseText; - let magnetLink = container.querySelector('a[href^="magnet:"]'); // the 'magnet link' element in the retrieved page - if (magnetLink) { - let magnetHref = magnetLink.href; - this.href = magnetHref; - let currentMagnetLink = document.querySelector('a[data-href^="' + tLink + '"]'); // the current magnet link element - currentMagnetLink.setAttribute('href', magnetHref); - } + }; + xhr.send(); - }; - xhr.send(); + } - } + }, false); - }, false); + } + +} + + + +function createColumn(element){ + appendColumn(element); + addMouseoverListeners(element.querySelectorAll('.xhrDownloadLink'), 'dl' ); + addMouseoverListeners(element.querySelectorAll('.xhrMagnetLink'), 'ml' ); +} + + + + +const isOnTV = window.location.href.includes('/tv/'); // example link: https://rarbgproxy.org/tv/tt1720601/ + +if (isOnTV) { + var tvLinks = document.querySelectorAll('.tvshowClick'); + + for (let i = 0; i < tvLinks.length; i++) { + tvLinks[i].addEventListener('click', + function handler(e) { // https://stackoverflow.com/questions/26617719/turn-off-event-listener-after-triggered-once + var targetElement = e.target || e.srcElement; // https://stackoverflow.com/questions/11741070/js-how-to-get-the-element-clicked-on + targetElement.parentElement.nextElementSibling.arrive('.lista2t', function() { + createColumn(targetElement.parentElement.nextElementSibling); + targetElement.parentElement.nextElementSibling.unbindArrive('.lista2t'); + }); + } + ); + } +} else { + createColumn(document); // the initial column 'Files' after of which the extra column will be appended); } diff --git a/RARBG_-_torrent_and_magnet_links/arrive.js b/RARBG_-_torrent_and_magnet_links/arrive.js new file mode 100644 index 0000000..b9520a2 --- /dev/null +++ b/RARBG_-_torrent_and_magnet_links/arrive.js @@ -0,0 +1,461 @@ +/*globals jQuery,Window,HTMLElement,HTMLDocument,HTMLCollection,NodeList,MutationObserver */ +/*exported Arrive*/ +/*jshint latedef:false */ + +/* + * arrive.js + * v2.4.1 + * https://github.com/uzairfarooq/arrive + * MIT licensed + * + * Copyright (c) 2014-2017 Uzair Farooq + */ +var Arrive = (function(window, $, undefined) { + + "use strict"; + + if(!window.MutationObserver || typeof HTMLElement === 'undefined'){ + return; //for unsupported browsers + } + + var arriveUniqueId = 0; + + var utils = (function() { + var matches = HTMLElement.prototype.matches || HTMLElement.prototype.webkitMatchesSelector || HTMLElement.prototype.mozMatchesSelector + || HTMLElement.prototype.msMatchesSelector; + + return { + matchesSelector: function(elem, selector) { + return elem instanceof HTMLElement && matches.call(elem, selector); + }, + // to enable function overloading - By John Resig (MIT Licensed) + addMethod: function (object, name, fn) { + var old = object[ name ]; + object[ name ] = function(){ + if ( fn.length == arguments.length ) { + return fn.apply( this, arguments ); + } + else if ( typeof old == 'function' ) { + return old.apply( this, arguments ); + } + }; + }, + callCallbacks: function(callbacksToBeCalled, registrationData) { + if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) { + // as onlyOnce param is true, make sure we fire the event for only one item + callbacksToBeCalled = [callbacksToBeCalled[0]]; + } + + for (var i = 0, cb; (cb = callbacksToBeCalled[i]); i++) { + if (cb && cb.callback) { + cb.callback.call(cb.elem, cb.elem); + } + } + + if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) { + // unbind event after first callback as onceOnly is true. + registrationData.me.unbindEventWithSelectorAndCallback.call( + registrationData.target, registrationData.selector, registrationData.callback); + } + }, + // traverse through all descendants of a node to check if event should be fired for any descendant + checkChildNodesRecursively: function(nodes, registrationData, matchFunc, callbacksToBeCalled) { + // check each new node if it matches the selector + for (var i=0, node; (node = nodes[i]); i++) { + if (matchFunc(node, registrationData, callbacksToBeCalled)) { + callbacksToBeCalled.push({ callback: registrationData.callback, elem: node }); + } + + if (node.childNodes.length > 0) { + utils.checkChildNodesRecursively(node.childNodes, registrationData, matchFunc, callbacksToBeCalled); + } + } + }, + mergeArrays: function(firstArr, secondArr){ + // Overwrites default options with user-defined options. + var options = {}, + attrName; + for (attrName in firstArr) { + if (firstArr.hasOwnProperty(attrName)) { + options[attrName] = firstArr[attrName]; + } + } + for (attrName in secondArr) { + if (secondArr.hasOwnProperty(attrName)) { + options[attrName] = secondArr[attrName]; + } + } + return options; + }, + toElementsArray: function (elements) { + // check if object is an array (or array like object) + // Note: window object has .length property but it's not array of elements so don't consider it an array + if (typeof elements !== "undefined" && (typeof elements.length !== "number" || elements === window)) { + elements = [elements]; + } + return elements; + } + }; + })(); + + + // Class to maintain state of all registered events of a single type + var EventsBucket = (function() { + var EventsBucket = function() { + // holds all the events + + this._eventsBucket = []; + // function to be called while adding an event, the function should do the event initialization/registration + this._beforeAdding = null; + // function to be called while removing an event, the function should do the event destruction + this._beforeRemoving = null; + }; + + EventsBucket.prototype.addEvent = function(target, selector, options, callback) { + var newEvent = { + target: target, + selector: selector, + options: options, + callback: callback, + firedElems: [] + }; + + if (this._beforeAdding) { + this._beforeAdding(newEvent); + } + + this._eventsBucket.push(newEvent); + return newEvent; + }; + + EventsBucket.prototype.removeEvent = function(compareFunction) { + for (var i=this._eventsBucket.length - 1, registeredEvent; (registeredEvent = this._eventsBucket[i]); i--) { + if (compareFunction(registeredEvent)) { + if (this._beforeRemoving) { + this._beforeRemoving(registeredEvent); + } + + // mark callback as null so that even if an event mutation was already triggered it does not call callback + var removedEvents = this._eventsBucket.splice(i, 1); + if (removedEvents && removedEvents.length) { + removedEvents[0].callback = null; + } + } + } + }; + + EventsBucket.prototype.beforeAdding = function(beforeAdding) { + this._beforeAdding = beforeAdding; + }; + + EventsBucket.prototype.beforeRemoving = function(beforeRemoving) { + this._beforeRemoving = beforeRemoving; + }; + + return EventsBucket; + })(); + + + /** + * @constructor + * General class for binding/unbinding arrive and leave events + */ + var MutationEvents = function(getObserverConfig, onMutation) { + var eventsBucket = new EventsBucket(), + me = this; + + var defaultOptions = { + fireOnAttributesModification: false + }; + + // actual event registration before adding it to bucket + eventsBucket.beforeAdding(function(registrationData) { + var + target = registrationData.target, + observer; + + // mutation observer does not work on window or document + if (target === window.document || target === window) { + target = document.getElementsByTagName("html")[0]; + } + + // Create an observer instance + observer = new MutationObserver(function(e) { + onMutation.call(this, e, registrationData); + }); + + var config = getObserverConfig(registrationData.options); + + observer.observe(target, config); + + registrationData.observer = observer; + registrationData.me = me; + }); + + // cleanup/unregister before removing an event + eventsBucket.beforeRemoving(function (eventData) { + eventData.observer.disconnect(); + }); + + this.bindEvent = function(selector, options, callback) { + options = utils.mergeArrays(defaultOptions, options); + + var elements = utils.toElementsArray(this); + + for (var i = 0; i < elements.length; i++) { + eventsBucket.addEvent(elements[i], selector, options, callback); + } + }; + + this.unbindEvent = function() { + var elements = utils.toElementsArray(this); + eventsBucket.removeEvent(function(eventObj) { + for (var i = 0; i < elements.length; i++) { + if (this === undefined || eventObj.target === elements[i]) { + return true; + } + } + return false; + }); + }; + + this.unbindEventWithSelectorOrCallback = function(selector) { + var elements = utils.toElementsArray(this), + callback = selector, + compareFunction; + + if (typeof selector === "function") { + compareFunction = function(eventObj) { + for (var i = 0; i < elements.length; i++) { + if ((this === undefined || eventObj.target === elements[i]) && eventObj.callback === callback) { + return true; + } + } + return false; + }; + } + else { + compareFunction = function(eventObj) { + for (var i = 0; i < elements.length; i++) { + if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector) { + return true; + } + } + return false; + }; + } + eventsBucket.removeEvent(compareFunction); + }; + + this.unbindEventWithSelectorAndCallback = function(selector, callback) { + var elements = utils.toElementsArray(this); + eventsBucket.removeEvent(function(eventObj) { + for (var i = 0; i < elements.length; i++) { + if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector && eventObj.callback === callback) { + return true; + } + } + return false; + }); + }; + + return this; + }; + + + /** + * @constructor + * Processes 'arrive' events + */ + var ArriveEvents = function() { + // Default options for 'arrive' event + var arriveDefaultOptions = { + fireOnAttributesModification: false, + onceOnly: false, + existing: false + }; + + function getArriveObserverConfig(options) { + var config = { + attributes: false, + childList: true, + subtree: true + }; + + if (options.fireOnAttributesModification) { + config.attributes = true; + } + + return config; + } + + function onArriveMutation(mutations, registrationData) { + mutations.forEach(function( mutation ) { + var newNodes = mutation.addedNodes, + targetNode = mutation.target, + callbacksToBeCalled = [], + node; + + // If new nodes are added + if( newNodes !== null && newNodes.length > 0 ) { + utils.checkChildNodesRecursively(newNodes, registrationData, nodeMatchFunc, callbacksToBeCalled); + } + else if (mutation.type === "attributes") { + if (nodeMatchFunc(targetNode, registrationData, callbacksToBeCalled)) { + callbacksToBeCalled.push({ callback: registrationData.callback, elem: targetNode }); + } + } + + utils.callCallbacks(callbacksToBeCalled, registrationData); + }); + } + + function nodeMatchFunc(node, registrationData, callbacksToBeCalled) { + // check a single node to see if it matches the selector + if (utils.matchesSelector(node, registrationData.selector)) { + if(node._id === undefined) { + node._id = arriveUniqueId++; + } + // make sure the arrive event is not already fired for the element + if (registrationData.firedElems.indexOf(node._id) == -1) { + registrationData.firedElems.push(node._id); + + return true; + } + } + + return false; + } + + arriveEvents = new MutationEvents(getArriveObserverConfig, onArriveMutation); + + var mutationBindEvent = arriveEvents.bindEvent; + + // override bindEvent function + arriveEvents.bindEvent = function(selector, options, callback) { + + if (typeof callback === "undefined") { + callback = options; + options = arriveDefaultOptions; + } else { + options = utils.mergeArrays(arriveDefaultOptions, options); + } + + var elements = utils.toElementsArray(this); + + if (options.existing) { + var existing = []; + + for (var i = 0; i < elements.length; i++) { + var nodes = elements[i].querySelectorAll(selector); + for (var j = 0; j < nodes.length; j++) { + existing.push({ callback: callback, elem: nodes[j] }); + } + } + + // no need to bind event if the callback has to be fired only once and we have already found the element + if (options.onceOnly && existing.length) { + return callback.call(existing[0].elem, existing[0].elem); + } + + setTimeout(utils.callCallbacks, 1, existing); + } + + mutationBindEvent.call(this, selector, options, callback); + }; + + return arriveEvents; + }; + + + /** + * @constructor + * Processes 'leave' events + */ + var LeaveEvents = function() { + // Default options for 'leave' event + var leaveDefaultOptions = {}; + + function getLeaveObserverConfig() { + var config = { + childList: true, + subtree: true + }; + + return config; + } + + function onLeaveMutation(mutations, registrationData) { + mutations.forEach(function( mutation ) { + var removedNodes = mutation.removedNodes, + callbacksToBeCalled = []; + + if( removedNodes !== null && removedNodes.length > 0 ) { + utils.checkChildNodesRecursively(removedNodes, registrationData, nodeMatchFunc, callbacksToBeCalled); + } + + utils.callCallbacks(callbacksToBeCalled, registrationData); + }); + } + + function nodeMatchFunc(node, registrationData) { + return utils.matchesSelector(node, registrationData.selector); + } + + leaveEvents = new MutationEvents(getLeaveObserverConfig, onLeaveMutation); + + var mutationBindEvent = leaveEvents.bindEvent; + + // override bindEvent function + leaveEvents.bindEvent = function(selector, options, callback) { + + if (typeof callback === "undefined") { + callback = options; + options = leaveDefaultOptions; + } else { + options = utils.mergeArrays(leaveDefaultOptions, options); + } + + mutationBindEvent.call(this, selector, options, callback); + }; + + return leaveEvents; + }; + + + var arriveEvents = new ArriveEvents(), + leaveEvents = new LeaveEvents(); + + function exposeUnbindApi(eventObj, exposeTo, funcName) { + // expose unbind function with function overriding + utils.addMethod(exposeTo, funcName, eventObj.unbindEvent); + utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorOrCallback); + utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorAndCallback); + } + + /*** expose APIs ***/ + function exposeApi(exposeTo) { + exposeTo.arrive = arriveEvents.bindEvent; + exposeUnbindApi(arriveEvents, exposeTo, "unbindArrive"); + + exposeTo.leave = leaveEvents.bindEvent; + exposeUnbindApi(leaveEvents, exposeTo, "unbindLeave"); + } + + if ($) { + exposeApi($.fn); + } + exposeApi(HTMLElement.prototype); + exposeApi(NodeList.prototype); + exposeApi(HTMLCollection.prototype); + exposeApi(HTMLDocument.prototype); + exposeApi(Window.prototype); + + var Arrive = {}; + // expose functions to unbind all arrive/leave events + exposeUnbindApi(arriveEvents, Arrive, "unbindAllArrive"); + exposeUnbindApi(leaveEvents, Arrive, "unbindAllLeave"); + + return Arrive; + +})(window, typeof jQuery === 'undefined' ? null : jQuery, undefined); \ No newline at end of file From e319f4c10c053795c8d632c2c53453076ee48a9d Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 28 Apr 2019 01:23:23 +0300 Subject: [PATCH 106/439] (Instagram - visible images counter) Updated some selectors --- .../Instagram_-_visible_images_counter.user.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 2de3354..62412ff 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,8 +1,8 @@ īģŋ// ==UserScript== // @name Instagram - visible images counter // @namespace darkred -// @version 2018.9.8 -// @description Shows (in instagram profile pages) how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page +// @version 2019.4.28 +// @description Shows in instagram profile pages how many images out of total (as a number and as a percentage) are currently visible, as you scroll down the page. // @author darkred // @license MIT // @include https://www.instagram.com/* @@ -44,7 +44,8 @@ function showCounter() { total = totalString.replace(',', '').replace('.', ''); // strip the thousand comma/dot seperator - hrefselems = document.querySelectorAll(`a[href*='taken-by']`); + // hrefselems = document.querySelectorAll(`a[href*='taken-by']`); + hrefselems = document.querySelectorAll(`.v1Nh3.kIKUG._bz0w > a`); $.each(hrefselems, function(index, value) { // hrefs.indexOf(String(value)) === -1 ? hrefs.push(String(value)) : console.log("This item already exists"); // https://stackoverflow.com/a/36683363 if (hrefs.indexOf(String(value)) === -1) { // hrefs.count -below- serves as a counter for the newly added displayed images (on each infinite scrolling event) @@ -107,8 +108,9 @@ var div = document.createElement('div'); var observer; // var avatarSelector = 'span[style="width: 152px; height: 152px;"]'; // the profile's photo/avatar element -// var avatarSelector = '._mainc';// // the profile's bio area element -var avatarSelector = 'h1.notranslate'; // the profile name element +// var avatarSelector = '._mainc'; // the profile's bio area element +// var avatarSelector = 'h1.notranslate'; // the profile name element +var avatarSelector = 'h1.rhpdm'; // the profile name element // var avatarSelector = 'main > article > header > section > div._ienqf > div > button'; // the 3-dots icon // var avatarSelector = 'div[style="flex-direction: column; padding-bottom: 0px; padding-top: 0px;"]'; // the 3-dots icon @@ -118,6 +120,8 @@ var avatarSelector = 'h1.notranslate'; // the p if (document.querySelector(avatarSelector)) { createDiv(); createObserver(); +} else { + console.log('ERROR: Cannot create the Counter element, the avatarSelector element ( ' + avatarSelector + ' ) doesn\'t exist !!'); } From 24f8cbdf9c85f68584f4ba404630246e2f3b8e9e Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 28 Apr 2019 15:14:31 +0300 Subject: [PATCH 107/439] (RARBG - torrent and magnet links) Changed the @require URL to an allowed location. Updated README.me. --- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_torrent_and_magnet_links/README.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index f1ee76c..b5a945e 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,14 +1,14 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.4.27 +// @version 2019.4.28 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT // @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none -// @require https://raw.githubusercontent.com/uzairfarooq/arrive/master/src/arrive.js +// @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle // ==/UserScript== diff --git a/RARBG_-_torrent_and_magnet_links/README.md b/RARBG_-_torrent_and_magnet_links/README.md index 02eb745..a1c6a28 100644 --- a/RARBG_-_torrent_and_magnet_links/README.md +++ b/RARBG_-_torrent_and_magnet_links/README.md @@ -14,3 +14,4 @@ initially the ML links will have as its destination(`href`) the current page's U and as you mouseover on any such ML icon, the following tooltip will be displayed: "`ML via XHR`", and the relevant target page will be retrieved via XHR in the background. So at the time you click the ML icon (or just move the mouse away and re-mouseover), it will now have the magnet link. *(thanks to sxe [for the suggestion](https://greasyfork.org/en/forum/discussion/30691/x))*. +- Since 4/27/2019 it uses the [arrive.js](https://github.com/uzairfarooq/arrive) library in order to work in TV Browser pages too. \ No newline at end of file From 11a9abdf139ea9e3a78f6651ad925e0aaf7dac92 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 1 May 2019 23:18:22 +0300 Subject: [PATCH 108/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Recommended section to hould link to imdb ID search (per request: https://github.com/darkred/Userscripts/issues/8 ) --- ..._entries_and_various_visual_tweaks.user.js | 332 ++++++++++-------- 1 file changed, 192 insertions(+), 140 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index a7fdb96..a3dc08e 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2018.9.29 +// @version 2019.5.1 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?torrent\/.*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent|torrents\.php)\/.*$/ // @grant none // ==/UserScript== @@ -18,197 +18,249 @@ +const isOnTorrentListPage = window.location.href.includes('torrents.php'); -$(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); -$(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); -$(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); -$(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); -$(".header2:contains('Plot:')") .html('IMDb Summary:'); -$(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); +function minsToHoursMins(totalMin) { + var hours = Math.floor( totalMin / 60); + var minutes = totalMin % 60; + return hours + 'h ' + minutes + 'min' ; +} +function tableLastRow(){ + return $('table[width="100%"][border="0"][cellspacing="1"]').children().last().children().last(); +} +if (!isOnTorrentListPage) { -// Rating by users - decimal rating -var ratingByUsersElement = document.querySelector('.ratingblock p'); -var text = document.querySelector('.ratingblock p').innerHTML; -ratingByUsersElement.title = ratingByUsersElement.innerText; -var regex = /[\s]+[\s]+([\d.]+)<\/strong>\/([\d.]+)(.*)/; -var average = text.match(regex)[1] * 2; -var votes = text.match(regex)[2] * 2; -var rest = text.match(regex)[3]; + $(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); + $(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); + $(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); + $(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); + $(".header2:contains('Plot:')") .html('IMDb Summary:'); + $(".header2:contains('IMDB Runtime:')") .html('IMDb Runtime:'); -// Rating by users - ten star rating (instead of five star) -document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; -document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; -document.querySelector('.current-rating').innerHTML = document.querySelector('.current-rating').innerHTML.replace('Currently ', '').replace(/([\d.]+)\/([\d.]+)/, function(m, s1, s2) { return 2 * s1 + '/' + 2 * s2;}); -function minsToHoursMins(totalMin) { - var hours = Math.floor( totalMin / 60); - var minutes = totalMin % 60; - return hours + 'h ' + minutes + 'min' ; -} -var duration = $(".header2:contains('IMDb Runtime:')").next().html(); -$(".header2:contains('IMDb Runtime:')").next().html(minsToHoursMins(duration)); + + + // Rating by users - decimal rating + var ratingByUsersElement = document.querySelector('.ratingblock p'); + var text = document.querySelector('.ratingblock p').innerHTML; + ratingByUsersElement.title = ratingByUsersElement.innerText; + var regex = /[\s]+[\s]+([\d.]+)<\/strong>\/([\d.]+)(.*)/; + var average = text.match(regex)[1] * 2; + var votes = text.match(regex)[2] * 2; + var rest = text.match(regex)[3]; + + + + + // Rating by users - ten star rating (instead of five star) + document.querySelector('.unit-rating').style.width = document.querySelector('.unit-rating').style.width.replace('px','') * 2 + 'px'; + document.querySelector('.current-rating').style.width = document.querySelector('.current-rating').style.width.replace('px','') * 2 + 'px'; + document.querySelector('.current-rating').innerHTML = document.querySelector('.current-rating').innerHTML.replace('Currently ', '').replace(/([\d.]+)\/([\d.]+)/, function(m, s1, s2) { return 2 * s1 + '/' + 2 * s2;}); + -// Add the title text to the IMDb link -var titleElement = $(".header2:contains('Title')").parent(); -var titleText = $(titleElement).text().replace('Title:',''); -$( "a[href*='imdb.com']" ).html(titleText); + var duration = $(".header2:contains('IMDb Runtime:')").next().html(); + $(".header2:contains('IMDb Runtime:')").next().html(minsToHoursMins(duration)); -// move Runtime inside IMDb Summary -var runtimeNode = $(".header2:contains('IMDb Runtime:')"); -runtimeNode.parent().hide(); -var runtime = runtimeNode.next().html(); -var summaryNode = $(".header2:contains('IMDb Summary:')"); -if (runtime !== undefined) { - summaryNode.next().text(function( index, string ) { - return string + ' ( ' + runtime + ' )'; + // Add the title text to the IMDb link + var titleElement = $(".header2:contains('Title')").parent(); + var titleText = $(titleElement).text().replace('Title:',''); + $( "a[href*='imdb.com']" ).html(titleText); + + + + + // move Runtime inside IMDb Summary + var runtimeNode = $(".header2:contains('IMDb Runtime:')"); + runtimeNode.parent().hide(); + var runtime = runtimeNode.next().html(); + var summaryNode = $(".header2:contains('IMDb Summary:')"); + if (runtime !== undefined) { + summaryNode.next().text(function( index, string ) { + return string + ' ( ' + runtime + ' )'; + }); + } + + + // remove all '|' from the IMDb summary text + $(".header2:contains('IMDb Summary:')").next().text(function( index,string ) { + return string.replace(/\|/g,''); }); -} -// remove all '|' from the IMDb summary text -$(".header2:contains('IMDb Summary:')").next().text(function( index,string ) { - return string.replace(/\|/g,''); -}); + // move PG Rating inside IMDb Summary + var pgNode = $(".header2:contains('PG Rating:')"); + pgNode.parent().hide(); + var pg = pgNode.next().html(); + var summary = summaryNode.next().text(); + if (pg !== undefined) { + summaryNode.next().text(summary + ' [ ' + pg + ' ]'); + } -// move PG Rating inside IMDb Summary -var pgNode = $(".header2:contains('PG Rating:')"); -pgNode.parent().hide(); -var pg = pgNode.next().html(); -var summary = summaryNode.next().text(); -if (pg !== undefined) { - summaryNode.next().text(summary + ' [ ' + pg + ' ]'); -} + // MAKING BOLD (start) + ratingByUsersElement.innerHTML = ' Rating: ' + average + '/' + votes + rest; + var imdbRatingNode = $(".header2:contains('IMDb Rating:')").next(); + if (imdbRatingNode.length > 0){ + $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); + } -// MAKING BOLD (start) -ratingByUsersElement.innerHTML = ' Rating: ' + average + '/' + votes + rest; -var imdbRatingNode = $(".header2:contains('IMDb Rating:')").next(); -if (imdbRatingNode.length > 0){ - $(imdbRatingNode).html($(imdbRatingNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); -} + $(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); + $(".header2:contains('RT Tomatometer:')").next().css("font-weight","Bold"); -$(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); -$(".header2:contains('RT Tomatometer:')").next().css("font-weight","Bold"); + var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); + if (rtTomatometerNode.length !== 0) + $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*) ([\d]+%)(.*)s ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); -var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); -if (rtTomatometerNode.length !== 0) - $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*) ([\d]+%)(.*)s ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); + var rtCriticsAvgNode = $(".header2:contains('RT Critics Avg:')").next(); + if (rtCriticsAvgNode.length !== 0) + $(rtCriticsAvgNode).html($(rtCriticsAvgNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); -var rtCriticsAvgNode = $(".header2:contains('RT Critics Avg:')").next(); -if (rtCriticsAvgNode.length !== 0) - $(rtCriticsAvgNode).html($(rtCriticsAvgNode).html().replace(/(.*)(\/.*)/, function(m, s1, s2) { return ''+ s1 + '' + s2;})); + var userRating = $(".header2:contains('Rating:')").filter(function() { + return $.trim($(this).text()) === "Rating:"; + }).parent(); + userRating = $("p:contains('votes cast')"); + $(userRating).css('font-size', '11px'); + $(userRating).html($(userRating).html().replace('Rating:', '')); + $(userRating).replaceWith(function() { + return "
" + this.innerHTML + "
"; + }); + // MAKING BOLD (end) + + + + + + var vpn = $(".header2:contains('VPN:')").parent(); + var mediaInfo = $(".header2:contains('MediaInfo Âģ')").parent(); + var trailer = $(".header2:contains('Trailer:')").parent(); + var imdbLink = $('img[src="https://dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); + var ratingByUsers = $('.ratingblock').parent().parent(); + var category = $(".header2:contains('Category:')").parent(); + var size = $(".header2:contains('Size:')").parent(); + var showFiles = $(".header2:contains('Show Files Âģ')").parent(); + var added = $(".header2:contains('Added:')").parent(); + var title = $(".header2:contains('Title:')[align='right']").parent(); + // var pgRating = $(".header2:contains('PG Rating:')").parent(); + var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); + var metacritic = $(".header2:contains('Metacritic:')").parent(); + var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); + var RTTomatometer = $(".header2:contains('RT Tomatometer:')").parent(); + var genres = $(".header2:contains('Genres:')").parent(); + var actors = $(".header2:contains('Actors:')").parent(); + var director = $(".header2:contains('Director:')").parent(); + // var imdbRuntime = $(".header2:contains('IMDb Runtime:')").parent(); + var year = $(".header2:contains('Year:')").parent(); + var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); + var RTCriticsCons = $(".header2:contains('RT Critics Consensus:')").parent(); + var showNFO = $(".header2:contains('Show NFO Âģ')").parent(); // example URL where the NFO is provided: https://rarbgproxy.org/torrent/fmzeqtk + var hits = $(".header2:contains('Hits:')").parent(); + var peers = $(".header2:contains('Peers:')").parent(); + var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); + var tags = $(".header2:contains('Tags')").parent(); + var releaseName = $(".header2:contains('Release name:')").parent(); -var userRating = $(".header2:contains('Rating:')").filter(function() { - return $.trim($(this).text()) === "Rating:"; -}).parent(); -userRating = $("p:contains('votes cast')"); -$(userRating).css('font-size', '11px'); -$(userRating).html($(userRating).html().replace('Rating:', '')); -$(userRating).replaceWith(function() { - return "
" + this.innerHTML + "
"; -}); -// MAKING BOLD (end) + // duplicate the 'Size' row right after the 'Title' row + var sizeClone = size.clone(); + sizeClone.insertAfter( $(".header2:contains('Torrent:')").parent() ); + vpn.hide(); // The 'VPN' row is hidden because it's an ad. + // trailer.hide(); // For reference: https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList) + year.hide(); // The 'Year' row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') -var vpn = $(".header2:contains('VPN:')").parent(); -var mediaInfo = $(".header2:contains('MediaInfo Âģ')").parent(); -var trailer = $(".header2:contains('Trailer:')").parent(); -var imdbLink = $('img[src="https://dyncdn.me/static/20/img/imdb3.png"]').parent().parent(); -var ratingByUsers = $('.ratingblock').parent().parent(); -var category = $(".header2:contains('Category:')").parent(); -var size = $(".header2:contains('Size:')").parent(); -var showFiles = $(".header2:contains('Show Files Âģ')").parent(); -var added = $(".header2:contains('Added:')").parent(); -var title = $(".header2:contains('Title:')[align='right']").parent(); -// var pgRating = $(".header2:contains('PG Rating:')").parent(); -var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); -var metacritic = $(".header2:contains('Metacritic:')").parent(); -var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); -var RTTomatometer = $(".header2:contains('RT Tomatometer:')").parent(); -var genres = $(".header2:contains('Genres:')").parent(); -var actors = $(".header2:contains('Actors:')").parent(); -var director = $(".header2:contains('Director:')").parent(); -// var imdbRuntime = $(".header2:contains('IMDb Runtime:')").parent(); -var year = $(".header2:contains('Year:')").parent(); -var imdbSummary = $(".header2:contains('IMDb Summary:')").parent(); -var RTCriticsCons = $(".header2:contains('RT Critics Consensus:')").parent(); -var showNFO = $(".header2:contains('Show NFO Âģ')").parent(); // example URL where the NFO is provided: https://rarbgproxy.org/torrent/fmzeqtk -var hits = $(".header2:contains('Hits:')").parent(); -var peers = $(".header2:contains('Peers:')").parent(); -var hitAndRun = $(".header2:contains('Hit&Run:')").parent(); -var tags = $(".header2:contains('Tags')").parent(); -var releaseName = $(".header2:contains('Release name:')").parent(); + category .insertAfter(tableLastRow()); + releaseName .insertAfter(tableLastRow()); + showNFO .insertAfter(tableLastRow()); + size .insertAfter(tableLastRow()); + showFiles .insertAfter(tableLastRow()); + mediaInfo .insertAfter(tableLastRow()); + added .insertAfter(tableLastRow()); + title .insertAfter(tableLastRow()); + // year .insertAfter(tableLastRow()); + // imdbRuntime .insertAfter(tableLastRow()); + genres .insertAfter(tableLastRow()); + director .insertAfter(tableLastRow()); + actors .insertAfter(tableLastRow()); + // pgRating .insertAfter(tableLastRow()); + imdbLink .insertAfter(tableLastRow()); + trailer .insertAfter(tableLastRow()); + imdbSummary .insertAfter(tableLastRow()); + imdbRating .insertAfter(tableLastRow()); + RTTomatometer .insertAfter(tableLastRow()); + RTCriticsAvg .insertAfter(tableLastRow()); + RTCriticsCons .insertAfter(tableLastRow()); + metacritic .insertAfter(tableLastRow()); + ratingByUsers .insertAfter(tableLastRow()); + hits .insertAfter(tableLastRow()); + peers .insertAfter(tableLastRow()); + hitAndRun .insertAfter(tableLastRow()); + tags .insertAfter(tableLastRow()); -// duplicate the 'Size' row right after the 'Title' row -var sizeClone = size.clone(); -sizeClone.insertAfter( $(".header2:contains('Torrent:')").parent() ); +} else { -vpn.hide(); // The 'VPN' row is hidden because it's an ad. -// trailer.hide(); // For reference: https://rarbgproxy.org/trailers.php is blocked by default in uBlock Origin (via EasyList) -year.hide(); // The 'Year' row is hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') + var links = document.querySelectorAll('a[onmouseover~="return"]'); -function tableLastRow(){ - return $('table[width="100%"][border="0"][cellspacing="1"]').children().last().children().last(); -} + for(let i = 0; i < 8; i++) { + + links[i].addEventListener('mouseover', function(event){ + + event.preventDefault(); + let tLink = this.getAttribute('href'); + var xhr = new XMLHttpRequest(); + // xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + xhr.open('GET', tLink, false); + xhr.onload = function () { -category .insertAfter(tableLastRow()); -releaseName .insertAfter(tableLastRow()); -showNFO .insertAfter(tableLastRow()); -size .insertAfter(tableLastRow()); -showFiles .insertAfter(tableLastRow()); -mediaInfo .insertAfter(tableLastRow()); -added .insertAfter(tableLastRow()); -title .insertAfter(tableLastRow()); -// year .insertAfter(tableLastRow()); -// imdbRuntime .insertAfter(tableLastRow()); -genres .insertAfter(tableLastRow()); -director .insertAfter(tableLastRow()); -actors .insertAfter(tableLastRow()); -// pgRating .insertAfter(tableLastRow()); -imdbLink .insertAfter(tableLastRow()); -trailer .insertAfter(tableLastRow()); -imdbSummary .insertAfter(tableLastRow()); -imdbRating .insertAfter(tableLastRow()); -RTTomatometer .insertAfter(tableLastRow()); -RTCriticsAvg .insertAfter(tableLastRow()); -RTCriticsCons .insertAfter(tableLastRow()); -metacritic .insertAfter(tableLastRow()); -ratingByUsers .insertAfter(tableLastRow()); -hits .insertAfter(tableLastRow()); -peers .insertAfter(tableLastRow()); -hitAndRun .insertAfter(tableLastRow()); -tags .insertAfter(tableLastRow()); + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; + + let retrievedLink; + retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'download link' element in the retrieved page + + if (retrievedLink) { + let currentDomainName = window.location.hostname; + // https://rarbgproxy.org/torrents.php?imdb=tt7605074 + links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?search=' + retrievedLink); + } + + }; + xhr.send(); + + }, false); + + } + +} From b526cb3ad1fa31ed098f66294dde25ff80d12829 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 1 May 2019 23:19:20 +0300 Subject: [PATCH 109/439] Comment fix --- .../RARBG_-_torrent_and_magnet_links.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index b5a945e..00617be 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -74,7 +74,7 @@ function addMouseoverListeners(links, type){ let retrievedLink; if (type === 'dl'){ - retrievedLink = container.querySelector('a[href^="/download.php"]'); // the 'magnet link' element in the retrieved page + retrievedLink = container.querySelector('a[href^="/download.php"]'); // the 'download link' element in the retrieved page } else { retrievedLink = container.querySelector('a[href^="magnet:"]'); // the 'magnet link' element in the retrieved page } From aca5d8bc4a8d997c6f5fe7d1ec1896fbab8f6494 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 1 May 2019 23:38:59 +0300 Subject: [PATCH 110/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) README.md update --- .../README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 4750053..6441028 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -15,4 +15,5 @@ Notes: - The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). - The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') - The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. -- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default (via EasyList). So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) . +- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default (via EasyList). So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) +- The Recommended section (in torrent listings) would link to each torrent page. Now it links to search by IMDb id (per request: https://github.com/darkred/Userscripts/issues/8). From e6dba720b85776a76903ca48c71927c7c2ba52b7 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 2 May 2019 00:32:37 +0300 Subject: [PATCH 111/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Corrected the @include regex and the search by IMDb id URL. --- ...arrange_entries_and_various_visual_tweaks.user.js | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index a3dc08e..426a5ce 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.1 +// @version 2019.5.2 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent|torrents\.php)\/.*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== @@ -17,10 +17,6 @@ // Unneeded: require http://code.jquery.com/ui/1.9.1/jquery-ui.min.js - -const isOnTorrentListPage = window.location.href.includes('torrents.php'); - - function minsToHoursMins(totalMin) { var hours = Math.floor( totalMin / 60); var minutes = totalMin % 60; @@ -34,6 +30,7 @@ function tableLastRow(){ +const isOnTorrentListPage = window.location.href.includes('torrents.php'); if (!isOnTorrentListPage) { @@ -229,7 +226,6 @@ if (!isOnTorrentListPage) { } else { - var links = document.querySelectorAll('a[onmouseover~="return"]'); for(let i = 0; i < 8; i++) { @@ -253,7 +249,7 @@ if (!isOnTorrentListPage) { if (retrievedLink) { let currentDomainName = window.location.hostname; // https://rarbgproxy.org/torrents.php?imdb=tt7605074 - links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?search=' + retrievedLink); + links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?imdb=' + retrievedLink.match(/.*(tt[0-9]*).*/)[1]); } }; From 6793a7b0ab2b7a76703d71bc531dd626a6353d41 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 2 May 2019 00:38:45 +0300 Subject: [PATCH 112/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Made the xhr async. --- ...es_-_rearrange_entries_and_various_visual_tweaks.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 426a5ce..f5207d9 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.2 +// @version 2019.5.2.1 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -236,8 +236,8 @@ if (!isOnTorrentListPage) { let tLink = this.getAttribute('href'); var xhr = new XMLHttpRequest(); - // xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - xhr.open('GET', tLink, false); + xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + // xhr.open('GET', tLink, false); xhr.onload = function () { let container = document.implementation.createHTMLDocument().documentElement; From 4544840702d4d3067e14383c0cffd340bff3083f Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 3 May 2019 01:28:10 +0300 Subject: [PATCH 113/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Only send xhr once for each mouseover on entry in the Suggested section --- ..._entries_and_various_visual_tweaks.user.js | 43 ++++++++++--------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index f5207d9..bf7e32f 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.2.1 +// @version 2019.5.3 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -234,26 +234,27 @@ if (!isOnTorrentListPage) { event.preventDefault(); let tLink = this.getAttribute('href'); - - var xhr = new XMLHttpRequest(); - xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - // xhr.open('GET', tLink, false); - xhr.onload = function () { - - let container = document.implementation.createHTMLDocument().documentElement; - container.innerHTML = xhr.responseText; - - let retrievedLink; - retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'download link' element in the retrieved page - - if (retrievedLink) { - let currentDomainName = window.location.hostname; - // https://rarbgproxy.org/torrents.php?imdb=tt7605074 - links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?imdb=' + retrievedLink.match(/.*(tt[0-9]*).*/)[1]); - } - - }; - xhr.send(); + if (!tLink.includes('imdb=')){ + var xhr = new XMLHttpRequest(); + xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + // xhr.open('GET', tLink, false); + xhr.onload = function () { + + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; + + let retrievedLink; + retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'download link' element in the retrieved page + + if (retrievedLink) { + let currentDomainName = window.location.hostname; + // https://rarbgproxy.org/torrents.php?imdb=tt7605074 + links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?imdb=' + retrievedLink.match(/.*(tt[0-9]*).*/)[1]); + } + + }; + xhr.send(); + } }, false); From 4aabc61aa17118cd41c28b5d95646f8f58650639 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 3 May 2019 21:02:48 +0300 Subject: [PATCH 114/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Made the xhr synchronous again. --- ...es_-_rearrange_entries_and_various_visual_tweaks.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index bf7e32f..7c89aac 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.3 +// @version 2019.5.3.1 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -236,8 +236,8 @@ if (!isOnTorrentListPage) { let tLink = this.getAttribute('href'); if (!tLink.includes('imdb=')){ var xhr = new XMLHttpRequest(); - xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - // xhr.open('GET', tLink, false); + // xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) + xhr.open('GET', tLink, false); xhr.onload = function () { let container = document.implementation.createHTMLDocument().documentElement; From 248e21f7cde712f2fc09169daf6d5e9f005ac607 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 5 May 2019 12:29:35 +0300 Subject: [PATCH 115/439] Added rarbgmirrored.org in the !include rule, per request. --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- ...ages_-_rearrange_entries_and_various_visual_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 2bc0541..cbdd3cd 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2018.9.14 +// @version 2019.5.5 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 00617be..f0a81b1 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.4.28 +// @version 2019.5.5 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 7c89aac..48e8f57 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.3.1 +// @version 2019.5.5 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== From e2d305fbe26ef28e72dda61a9fe2580d33fd6c07 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 5 May 2019 20:47:55 +0300 Subject: [PATCH 116/439] (RARBG - convert torrent timestamps to relative format) Revert last update --- ...rent_timestamps_to_relative_format.user.js | 64 ++++++++----------- 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index cbdd3cd..0533df7 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,17 +1,18 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.5.5 +// @version 2019.5.5.1 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // ==/UserScript== + /* global jstz, moment */ // Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) @@ -33,43 +34,34 @@ moment.updateLocale('en', { } }); -var localTimezone = jstz.determine().name(); -var serverTimezone = 'Europe/Berlin'; // GMT+1 - -function convertDates() { - // var dates = document.querySelectorAll('tr.lista2 td:nth-child(3)'); - var dates = document.querySelectorAll('td[width="150px"]'); - for (var i = 0; i < dates.length; i++) { - // if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. - if (moment(dates[i].innerText, 'YYYY-MM-DD HH:mm:ss').isValid()) { - - var temp2 = moment.tz(dates[i].innerText, serverTimezone).tz(localTimezone); - dates[i].innerText = temp2.fromNow(); - - - // var format = 'MM/DD/YYYY HH:mm:ss'; - var format = 'YYYY-MM-DD HH:mm:ss'; - dates[i].title = temp2.format(format); - - // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) - // dates[i].title = temp2.toISOString(); - // dates[i].title = temp2.format(); +function convertToLocalTimezone(timestamps) { + const localTimezone = jstz.determine().name(); + const serverTimezone = 'Europe/Berlin'; // GMT+1 + for (let i = 0; i < timestamps.length; i++) { + let initialTimestamp = timestamps[i].textContent; + // if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss').isValid()) { + if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. + let convertedToLocalTimezone = moment.tz(initialTimestamp, serverTimezone).tz(localTimezone); + timestamps[i].textContent = convertedToLocalTimezone.fromNow(); + // let format = 'MM/DD/YYYY HH:mm:ss'; + let format = 'YYYY-MM-DD HH:mm:ss'; + timestamps[i].title = convertedToLocalTimezone.format(format); + // timestamps[i].title = convertedToLocalTimezone.toISOString(); // // Display timestamps in tooltips in ISO 8601 format, combining date and time (https://stackoverflow.com/questions/25725019/how-do-i-format-a-date-as-iso-8601-in-moment-js/) + // timestamps[i].title = convertedToLocalTimezone.format(); } } -} -convertDates(); - - - -// recalculate the relative times every 10 sec + // recalculate the relative times every 10 sec + (function(){ + for (let i = 0; i < timestamps.length; i++) { + timestamps[i].textContent = moment(timestamps[i].title).fromNow(); + } + setTimeout(arguments.callee, 1 * 60 * 1000); + })(); -(function(){ - var dates = document.querySelectorAll('td[width="150px"]'); - for (var i = 0; i < dates.length; i++) { - dates[i].innerText = moment(dates[i].title).fromNow(); - } +} - setTimeout(arguments.callee, 1 * 60 * 1000); -})(); \ No newline at end of file +// const timestamps = document.querySelectorAll('tr.lista2 td:nth-child(3)'); +const timestamps = document.querySelectorAll('td[width="150px"]'); +convertToLocalTimezone(timestamps); From f47b926e896cf0d5f1dcdf74fdfd472eeadc3625 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 10 May 2019 21:23:25 +0300 Subject: [PATCH 117/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) Linkify the "IMDB" part of "IMDB Rating" in search by IMDb id torrent pages --- ..._entries_and_various_visual_tweaks.user.js | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 48e8f57..57fc211 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.5 +// @version 2019.5.10 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -261,3 +261,21 @@ if (!isOnTorrentListPage) { } } + + + +const isOnSearchbyIMDbTorrentPage = window.location.href.includes('/torrents.php?imdb='); +if (isOnSearchbyIMDbTorrentPage) { + + //

tt0448115

+ // CORRECT -->
+ // http://www.imdb.com/title/tt0478970/ + + // let imdbIdTextElement = document.querySelector('h1.black'); + // imdbIdTextElement.outerHTML = '

' + imdbIdTextElement.textContent + '

'; + + let imdbIdTextElement = document.querySelector('h1.black'); + let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); + imdbIdRatingElement.html('IMDB Rating:'); + +} From 11f9021a77d6ca692478dc6be0ed90501252709f Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 15 May 2019 01:23:45 +0300 Subject: [PATCH 118/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) In search-by-IMDb-id pages, the "IMDb" in "IMDb Rating" becomes a link to relevant IMDb movie page. Also, now, below it, the IMDb plot summary is displayed (retrieved from the relevant RARBG torrent page). --- ..._entries_and_various_visual_tweaks.user.js | 33 ++++++++++--------- .../README.md | 3 +- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index 57fc211..d61a26b 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.10 +// @version 2019.5.15 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -224,7 +224,7 @@ if (!isOnTorrentListPage) { -} else { +} else { // i.e. if isOnTorrentListPage === true var links = document.querySelectorAll('a[onmouseover~="return"]'); @@ -236,22 +236,28 @@ if (!isOnTorrentListPage) { let tLink = this.getAttribute('href'); if (!tLink.includes('imdb=')){ var xhr = new XMLHttpRequest(); - // xhr.open('GET', tLink, true); // XMLHttpRequest.open(method, url, async) - xhr.open('GET', tLink, false); + xhr.open('GET', tLink, false); // XMLHttpRequest.open(method, url, async) xhr.onload = function () { let container = document.implementation.createHTMLDocument().documentElement; container.innerHTML = xhr.responseText; - let retrievedLink; - retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'download link' element in the retrieved page + let retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'IMDB link' element in the retrieved page if (retrievedLink) { let currentDomainName = window.location.hostname; - // https://rarbgproxy.org/torrents.php?imdb=tt7605074 - links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?imdb=' + retrievedLink.match(/.*(tt[0-9]*).*/)[1]); + links[i].setAttribute('href', 'https://' + currentDomainName + '/torrents.php?imdb=' + retrievedLink.match(/.*(tt[0-9]*).*/)[1]); // example URL: https://rarbgproxy.org/torrents.php?imdb=tt7605074 } + + links[i].addEventListener('click', function(event){ + + let IMDBSummary = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + // console.log(IMDBSummary); + sessionStorage.setItem("plot", IMDBSummary); + + }, false); + }; xhr.send(); } @@ -267,15 +273,10 @@ if (!isOnTorrentListPage) { const isOnSearchbyIMDbTorrentPage = window.location.href.includes('/torrents.php?imdb='); if (isOnSearchbyIMDbTorrentPage) { - //

tt0448115

- // CORRECT -->

heading

- // http://www.imdb.com/title/tt0478970/ - - // let imdbIdTextElement = document.querySelector('h1.black'); - // imdbIdTextElement.outerHTML = '

' + imdbIdTextElement.textContent + '

'; - let imdbIdTextElement = document.querySelector('h1.black'); let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); - imdbIdRatingElement.html('IMDB Rating:'); + imdbIdRatingElement.html('IMDb Rating:'); + + $(imdbIdRatingElement).next().after("IMDb Summary: " + sessionStorage.getItem("plot")); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery } diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md index 6441028..625cd70 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md @@ -16,4 +16,5 @@ Notes: - The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') - The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. - Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default (via EasyList). So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) -- The Recommended section (in torrent listings) would link to each torrent page. Now it links to search by IMDb id (per request: https://github.com/darkred/Userscripts/issues/8). +- The Recommended section (in torrent listings) would link to each torrent page. Now it links to search by IMDb id (per request: https://github.com/darkred/Userscripts/issues/8). +Also now, in search-by-IMDb-id pages (e.g. https://rarbgproxy.org/torrents.php?imdb=tt0448115) , the "IMDb" in "IMDb Rating" becomes a link to relevant IMDb movie page. Also, now, below it, the IMDb plot summary is displayed (retrieved from the relevant RARBG torrent page). From 63d5314d0029ce0015c800564963165994f8f58b Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 28 May 2019 18:47:32 +0300 Subject: [PATCH 119/439] (all RARBG scripts) Added rarbgaccessed.org in the '@include' rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- ...ages_-_rearrange_entries_and_various_visual_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 0533df7..33d5fc7 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.5.5.1 +// @version 2019.5.28 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index f0a81b1..191bf5e 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.5.5 +// @version 2019.5.28 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js index d61a26b..9493746 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - rearrange entries and various visual tweaks // @namespace darkred -// @version 2019.5.15 +// @version 2019.5.28 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== From a88f9d49f93bc9cb3df68e51f30a5203db45108f Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 27 Jun 2019 22:04:54 +0300 Subject: [PATCH 120/439] (RARBG torrent detail pages - rearrange entries and various visual tweaks) - Renamed script - Added a check to display retrieved movie summary only when available --- ...torrent_detail_pages_-_various_tweaks.user.js | 16 ++++++++-------- .../README.md | 0 README.md | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) rename RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js => RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js (94%) rename {RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks => RARBG_torrent_detail_pages_-_various_tweaks}/README.md (100%) diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js similarity index 94% rename from RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js rename to RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js index 9493746..f34a224 100644 --- a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== -// @name RARBG torrent detail pages - rearrange entries and various visual tweaks +// @name RARBG torrent detail pages - various tweaks // @namespace darkred -// @version 2019.5.28 +// @version 2019.6.27 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -99,7 +99,7 @@ if (!isOnTorrentListPage) { } - // remove all '|' from the IMDb summary text + // remove all '|' from the IMDb Summary text $(".header2:contains('IMDb Summary:')").next().text(function( index,string ) { return string.replace(/\|/g,''); }); @@ -252,9 +252,8 @@ if (!isOnTorrentListPage) { links[i].addEventListener('click', function(event){ - let IMDBSummary = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext - // console.log(IMDBSummary); - sessionStorage.setItem("plot", IMDBSummary); + let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + sessionStorage.setItem("plot", imdbPlot); }, false); @@ -271,12 +270,13 @@ if (!isOnTorrentListPage) { const isOnSearchbyIMDbTorrentPage = window.location.href.includes('/torrents.php?imdb='); -if (isOnSearchbyIMDbTorrentPage) { +let plotStored = sessionStorage.getItem("plot"); +if (isOnSearchbyIMDbTorrentPage && plotStored) { let imdbIdTextElement = document.querySelector('h1.black'); let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); imdbIdRatingElement.html('IMDb Rating:'); - $(imdbIdRatingElement).next().after("IMDb Summary: " + sessionStorage.getItem("plot")); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery } diff --git a/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md b/RARBG_torrent_detail_pages_-_various_tweaks/README.md similarity index 100% rename from RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks/README.md rename to RARBG_torrent_detail_pages_-_various_tweaks/README.md diff --git a/README.md b/README.md index 51cb73e..09f6ab0 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ This repo contains my userscripts. - [OpenSubtitles - direct download links](https://github.com/darkred/Userscripts/tree/master/OpenSubtitles_-_direct_download_links#readme) - Converts the subtitles download links to direct ones, in order to avoid the redirection to download pages that display ads. - [OpenUserJS Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/OpenUserJS_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [RARBG - convert torrent timestamps to relative format](https://github.com/darkred/Userscripts/tree/master/RARBG_-_convert_torrent_timestamps_to_relative_format#readme) - Convert torrent upload timestamps to local timezone or to relative format. -- [RARBG torrent detail pages - rearrange entries and various visual tweaks](https://github.com/darkred/Userscripts/tree/master/RARBG_torrent_detail_pages_-_rearrange_entries_and_various_visual_tweaks#readme) - Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings +- [RARBG torrent detail pages - rearrange entries and various visual tweaks](https://github.com/darkred/Userscripts/tree/master/RARBG_torrent_detail_pages_-_various_tweaks#readme) - Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings - [RARBG - torrent and magnet links](https://github.com/darkred/Userscripts/tree/master/RARBG_-_torrent_and_magnet_links#readme) - Adds a column in search results for direct torrent or magnet link downloading. - [Reddit Infinite Scrolling](https://github.com/darkred/Userscripts/tree/master/Reddit_Infinite_Scrolling#readme) - Adds infinite scrolling to subreddits and to comments. - [Rotten Tomatoes Decimal Rating](https://github.com/darkred/Userscripts/tree/master/Rotten_Tomatoes_Decimal_Rating#readme) - Changes base-5 Rating of Rotten Tomatoes to base-10. From a8bd0a1c29e2c4e21f6e6ddb960f824a19fc47ac Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 28 Jun 2019 23:27:50 +0300 Subject: [PATCH 121/439] (RARBG torrent detail pages - various tweaks) Remove all '|' from displayed movie plot --- .../RARBG_torrent_detail_pages_-_various_tweaks.user.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js index f34a224..4dceff6 100644 --- a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG torrent detail pages - various tweaks // @namespace darkred -// @version 2019.6.27 +// @version 2019.6.28 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -277,6 +277,7 @@ if (isOnSearchbyIMDbTorrentPage && plotStored) { let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); imdbIdRatingElement.html('IMDb Rating:'); - $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + plotStored = plotStored.replace(/\|/g,''); // remove all '|' + $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery } From 2145f6cbfb924f53025b74ed28d93351fa06e111 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 8 Jul 2019 20:30:34 +0300 Subject: [PATCH 122/439] (all RARBG scripts) Added rbg.unblocked.lol in the '@include' rule (per suggestion) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- .../RARBG_torrent_detail_pages_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 33d5fc7..02dd9ef 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.5.28 +// @version 2019.7.8 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 191bf5e..d5becb4 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.5.28 +// @version 2019.7.8 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js index 4dceff6..65dd74e 100644 --- a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js +++ b/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG torrent detail pages - various tweaks // @namespace darkred -// @version 2019.6.28 +// @version 2019.7.8 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== From 9139ef2f5a84e29cc1ceb0ebfa9dea831c50ff31 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 6 Aug 2019 21:12:20 +0300 Subject: [PATCH 123/439] (.eslintrc.js) Updated ESLint configuration --- .eslintrc.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index c7c79e1..079d09a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,21 +1,18 @@ module.exports = { "env": { "browser": true, - // "es6": true, + "es6": true, "greasemonkey": true, "jquery": true, "node": true, }, "extends": "eslint:recommended", - // "extends": "eslint:all", "parserOptions": { - "ecmaVersion": 9, + "ecmaVersion": 10, "sourceType": "script", "ecmaFeatures": { "globalReturn ": true, "impliedStrict": true, - // "jsx": true, - // "experimentalObjectRestSpread": true }, }, "rules": { @@ -34,7 +31,6 @@ module.exports = { "no-magic-numbers": "off", "no-misleading-character-class": "warn", "no-mixed-spaces-and-tabs": "warn", - // "no-var": "off", "no-multiple-empty-lines": "off", "no-tabs": "off", "no-unused-labels": "warn", @@ -43,7 +39,6 @@ module.exports = { "padded-blocks": "off", "quotes": ["warn", "single", { "allowTemplateLiterals": true }] , "require-jsdoc": "off", - "require-unicode-regexp": "warn", "semi": ["warn","always"], "space-before-function-paren": "off", "unicode-bom": ["warn", "never"] From 05cd1d323ca3e132a9f97907280a9b7e9cce6b57 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 6 Aug 2019 21:20:02 +0300 Subject: [PATCH 124/439] (Metal Archives discography pages - Reviews column split and sortable tables) Added(corrected) credits for Mottie in README.md --- .../README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md index 4fce61d..b4d1cd4 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md @@ -12,11 +12,12 @@ http://www.metal-archives.com/bands/Kamelot/166 (DISCOGRAPHY > MAIN tab) Tested with Greasemonkey and Tampermonkey.
-This userscript makes use of the page's jQuery 1.11.1 (because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js, -the jQuery plugin [tablesorter](http://mottie.github.io/tablesorter/docs/index.html) (forked by Rob Garrison (Mottie)) -and the JavaScript library [Mutation Summary](https://github.com/rafaelw/mutation-summary) (by Rafael Weinstein). +This userscript makes use of: +- the page's jQuery 1.11.1 (because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js, +- the jQuery plugin [tablesorter](http://mottie.github.io/tablesorter/docs/index.html) (forked by Mottie), and +- the JavaScript library [Mutation Summary](https://github.com/rafaelw/mutation-summary) (by Rafael Weinstein). -Thanks a lot to Rob Garrison and Brock Adams for their invaluable help ([1](http://stackoverflow.com/questions/26331773/javascript-in-an-html-table-how-to-select-part-of-text-matching-some-regex-f), [2](http://stackoverflow.com/questions/26416049/greasemonkey-using-the-waitforkeyelements-utility-how-to-call-a-function-aft), [3](https://github.com/Mottie/tablesorter/issues/990), [4](http://stackoverflow.com/questions/32233895/using-waitforkeyelements-is-it-possible-to-prevent-the-key-element-from-being-d)) +Thanks a lot to Rob Garrison, Brock Adams and Mottie for their invaluable help ([1](http://stackoverflow.com/questions/26331773/javascript-in-an-html-table-how-to-select-part-of-text-matching-some-regex-f), [2](http://stackoverflow.com/questions/26416049/greasemonkey-using-the-waitforkeyelements-utility-how-to-call-a-function-aft), [3](https://github.com/Mottie/tablesorter/issues/990), [4](http://stackoverflow.com/questions/32233895/using-waitforkeyelements-is-it-possible-to-prevent-the-key-element-from-being-d)) Screenshots -![initially](https://greasyfork.org/system/screenshots/screenshots/000/001/815/original/1.jpg?1440546373) ![with the script](https://greasyfork.org/system/screenshots/screenshots/000/001/816/original/2_.jpg?1440546373) ![with the script (here sorted by Ratings(avg) in descending order)](https://greasyfork.org/system/screenshots/screenshots/000/001/817/original/3_.jpg?1440546373) \ No newline at end of file +![initially](https://greasyfork.org/system/screenshots/screenshots/000/001/815/original/1.jpg?1440546373) ![with the script](https://greasyfork.org/system/screenshots/screenshots/000/001/816/original/2_.jpg?1440546373) ![with the script (here sorted by Ratings(avg) in descending order)](https://greasyfork.org/system/screenshots/screenshots/000/001/817/original/3_.jpg?1440546373) From 8802ec5b89df258eda8d761776b70877a4d15bab Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 6 Aug 2019 21:30:19 +0300 Subject: [PATCH 125/439] (RARBG torrent detail pages - various tweaks) - Renamed to simpler "RARBG - various tweaks" - Also, in in search-by-IMDb-id pages it now creates an IMDb link in all cases --- .../RARBG_-_various_tweaks.user.js | 14 +++++++------ RARBG_-_various_tweaks/README.md | 21 +++++++++++++++++++ .../README.md | 20 ------------------ README.md | 2 +- 4 files changed, 30 insertions(+), 27 deletions(-) rename RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js => RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js (96%) create mode 100644 RARBG_-_various_tweaks/README.md delete mode 100644 RARBG_torrent_detail_pages_-_various_tweaks/README.md diff --git a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js similarity index 96% rename from RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js rename to RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 65dd74e..d3c4c2c 100644 --- a/RARBG_torrent_detail_pages_-_various_tweaks/RARBG_torrent_detail_pages_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== -// @name RARBG torrent detail pages - various tweaks +// @name RARBG - various tweaks // @namespace darkred -// @version 2019.7.8 +// @version 2019.8.6 // @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings // @author darkred // @license MIT @@ -250,7 +250,7 @@ if (!isOnTorrentListPage) { } - links[i].addEventListener('click', function(event){ + links[i].addEventListener('click', function(){ let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext sessionStorage.setItem("plot", imdbPlot); @@ -271,13 +271,15 @@ if (!isOnTorrentListPage) { const isOnSearchbyIMDbTorrentPage = window.location.href.includes('/torrents.php?imdb='); let plotStored = sessionStorage.getItem("plot"); -if (isOnSearchbyIMDbTorrentPage && plotStored) { +if (isOnSearchbyIMDbTorrentPage) { let imdbIdTextElement = document.querySelector('h1.black'); let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); imdbIdRatingElement.html('IMDb Rating:'); - plotStored = plotStored.replace(/\|/g,''); // remove all '|' - $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + if (plotStored) { + plotStored = plotStored.replace(/\|/g,''); // remove all '|' + $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + } } diff --git a/RARBG_-_various_tweaks/README.md b/RARBG_-_various_tweaks/README.md new file mode 100644 index 0000000..6acfd09 --- /dev/null +++ b/RARBG_-_various_tweaks/README.md @@ -0,0 +1,21 @@ +This userscript applies mainly to RARBG torrent detail pages, e.g. `https://rarbgproxy.org/torrent/fmzeqtk`: it rearranges various entries, displays in bold the various rating values, renames a few entries more suitably and uses decimal rating for the users' ratings. +Also, in torrent listings, the Recommended section now links to search by IMDb id (instead of each torrent page). +Finally, in search-by-IMDb-id pages (e.g. https://rarbgproxy.org/torrents.php?imdb=tt0448115) , the `IMDb` in "IMDb Rating" becomes a link to relevant IMDb movie page and the IMDb plot summary is displayed. + +Notes: +- The script makes use of the page's jQuery 1.11.3. +- The `Size` row gets duplicated below the 'Torrent' row. +- Regarding the `Rating` row: the five star rating is converted to ten star, both the stars themselves and the text value, but, if you hover the mouse over the stars to click to rate the movie, still only the first five stars are clickable, i.e. it's actually still five star rating. +- The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). +- The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') +- The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. +- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default via EasyList. So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) +- The Recommended section (in torrent listings) would link to each torrent page. Now it links to search by IMDb id (per request: https://github.com/darkred/Userscripts/issues/8). +- Also now, in search-by-IMDb-id pages (e.g. https://rarbgproxy.org/torrents.php?imdb=tt0448115) , the `IMDb` in "IMDb Rating" becomes a link to relevant IMDb movie page. Also, now, below it, the IMDb plot summary is displayed (retrieved from the relevant RARBG torrent page). + +Screenshot comparison: +Initial: +[![](https://i.imgur.com/T2pb0tHl.jpg)](https://i.imgur.com/T2pb0tH.jpg) + +With the script: +[![](https://i.imgur.com/iBJt3Hwl.jpg)](https://i.imgur.com/iBJt3Hw.jpg) \ No newline at end of file diff --git a/RARBG_torrent_detail_pages_-_various_tweaks/README.md b/RARBG_torrent_detail_pages_-_various_tweaks/README.md deleted file mode 100644 index 625cd70..0000000 --- a/RARBG_torrent_detail_pages_-_various_tweaks/README.md +++ /dev/null @@ -1,20 +0,0 @@ -This userscript applies to RARBG torrent detail pages. -It rearranges various entries, displays in bold the various rating values, renames a few entries more suitably and uses decimal rating for the users' ratings. - -Screenshot comparison: -Initial: -[![](https://i.imgur.com/T2pb0tHl.jpg)](https://i.imgur.com/T2pb0tH.jpg) - -With the script: -[![](https://i.imgur.com/iBJt3Hwl.jpg)](https://i.imgur.com/iBJt3Hw.jpg) - -Notes: -- The script makes use of the page's jQuery 1.11.3. -- The `Size` row gets duplicated below the 'Torrent' row. -- Regarding the `Rating` row: the five star rating is converted to ten star, both the stars themselves and the text value, but, if you hover the mouse over the stars to click to rate the movie, still only the first five stars are clickable, i.e. it's actually still five star rating. -- The `Runtime` and `PG rating` rows info is appended to the end of the 'IMDb summary' row text (the 'Runtime' info is converted from: e.g. '118' to: 1h 58min). -- The `Year` row becomes hidden because that info is still contained in various other rows ('Release Name', 'IMDb' link title, 'Title') -- The `VPN` row *(not shown in the 'initial' screenshot)* becomes hidden because it's an ad. -- Regarding the `Trailer` row: when using ad-blocking extensions, https://rarbgproxy.org/trailers.php is blocked by default (via EasyList). So, in previous script versions the 'Trailer' row was getting hidden by the script. Since v2018.9.6.2 it's been restored (per https://greasyfork.org/en/forum/discussion/42158/x ) -- The Recommended section (in torrent listings) would link to each torrent page. Now it links to search by IMDb id (per request: https://github.com/darkred/Userscripts/issues/8). -Also now, in search-by-IMDb-id pages (e.g. https://rarbgproxy.org/torrents.php?imdb=tt0448115) , the "IMDb" in "IMDb Rating" becomes a link to relevant IMDb movie page. Also, now, below it, the IMDb plot summary is displayed (retrieved from the relevant RARBG torrent page). diff --git a/README.md b/README.md index 09f6ab0..1a49586 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ This repo contains my userscripts. - [OpenSubtitles - direct download links](https://github.com/darkred/Userscripts/tree/master/OpenSubtitles_-_direct_download_links#readme) - Converts the subtitles download links to direct ones, in order to avoid the redirection to download pages that display ads. - [OpenUserJS Bullshit Filter](https://github.com/darkred/Userscripts/tree/master/OpenUserJS_Bullshit_Filter#readme) - Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. - [RARBG - convert torrent timestamps to relative format](https://github.com/darkred/Userscripts/tree/master/RARBG_-_convert_torrent_timestamps_to_relative_format#readme) - Convert torrent upload timestamps to local timezone or to relative format. -- [RARBG torrent detail pages - rearrange entries and various visual tweaks](https://github.com/darkred/Userscripts/tree/master/RARBG_torrent_detail_pages_-_various_tweaks#readme) - Rearranges various entries, displays in bold the various rating values, properly remames a few entries and use decimal rating for the users' ratings +- [RARBG - various tweaks](https://github.com/darkred/Userscripts/tree/master/RARBG_-_various_tweaks#readme) - Rearranges various entries, displays in bold the various rating values, properly renames a few entries and use decimal rating for the users' ratings - [RARBG - torrent and magnet links](https://github.com/darkred/Userscripts/tree/master/RARBG_-_torrent_and_magnet_links#readme) - Adds a column in search results for direct torrent or magnet link downloading. - [Reddit Infinite Scrolling](https://github.com/darkred/Userscripts/tree/master/Reddit_Infinite_Scrolling#readme) - Adds infinite scrolling to subreddits and to comments. - [Rotten Tomatoes Decimal Rating](https://github.com/darkred/Userscripts/tree/master/Rotten_Tomatoes_Decimal_Rating#readme) - Changes base-5 Rating of Rotten Tomatoes to base-10. From 9a9c77654e397131cd30905373409e1aad4707f3 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 7 Aug 2019 19:02:09 +0300 Subject: [PATCH 126/439] (RARBG - various tweaks) Updated description --- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index d3c4c2c..49900bd 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,8 +1,8 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.6 -// @description Rearranges various entries, displays in bold the various rating values, renames more suitably a few entries and uses decimal rating for the users' ratings +// @version 2019.8.7 +// @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT // @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ From 3b4ab234af41c06d6cf146cfa8b01c7ece0042ac Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 13 Aug 2019 19:42:39 +0300 Subject: [PATCH 127/439] (all RARBG scripts) Added rarbgenter.org in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 02dd9ef..0053222 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.7.8 +// @version 2019.8.13 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index d5becb4..ed65beb 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.7.8 +// @version 2019.8.13 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 49900bd..5e58180 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.7 +// @version 2019.8.13 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== From 0de70f5207c221c86d2896b9c394ae8cbafe7d76 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 24 Aug 2019 02:03:49 +0300 Subject: [PATCH 128/439] (RARBG - various tweaks) - prevent the links in the Recommended area from following the initial URLs (it would occur sometimes) - retrieve plot even when you open a Recommended area link in new tab (instead of following the link) - in 'Search by IMDb id pages', rename: Rotten Rating --> RT Critics Avg RottenTomatoes --> RT Tomatometer --- .../RARBG_-_various_tweaks.user.js | 50 ++++++++++++++++--- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 5e58180..92a1a32 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.13 +// @version 2019.8.24 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -242,7 +242,7 @@ if (!isOnTorrentListPage) { let container = document.implementation.createHTMLDocument().documentElement; container.innerHTML = xhr.responseText; - let retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'IMDB link' element in the retrieved page + let retrievedLink = container.querySelector('.lista>a[href*="www.imdb.com"]').href; // the 'IMDB link' element in the retrieved RARBG page if (retrievedLink) { let currentDomainName = window.location.hostname; @@ -250,11 +250,16 @@ if (!isOnTorrentListPage) { } - links[i].addEventListener('click', function(){ + links[i].addEventListener('click', function(event2){ + + event2.preventDefault(); let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' sessionStorage.setItem("plot", imdbPlot); + window.location.href = links[i].href; // https://www.w3schools.com/howto/howto_js_redirect_webpage.asp + }, false); }; @@ -269,9 +274,9 @@ if (!isOnTorrentListPage) { -const isOnSearchbyIMDbTorrentPage = window.location.href.includes('/torrents.php?imdb='); +const isOnSearchbyIMDbPage = window.location.href.includes('/torrents.php?imdb='); let plotStored = sessionStorage.getItem("plot"); -if (isOnSearchbyIMDbTorrentPage) { +if (isOnSearchbyIMDbPage) { let imdbIdTextElement = document.querySelector('h1.black'); let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); @@ -279,7 +284,40 @@ if (isOnSearchbyIMDbTorrentPage) { if (plotStored) { plotStored = plotStored.replace(/\|/g,''); // remove all '|' - $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + // new xhr for when plot is not already retrieved (=when opening a link from the Recomended area in a new tab) + } else if (document.querySelector('.lista2t').rows.length > 1) { // if searchbyIMDbResultsTableLength has results + + let tLink = document.querySelector('.lista2t').rows[1].cells[1].children[0].href; // the URL in the first result row + + let xhr = new XMLHttpRequest(); + xhr.open('GET', tLink, false); // XMLHttpRequest.open(method, url, async) + xhr.onload = function () { + + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; + + let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); + imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' + sessionStorage.setItem("plot", imdbPlot); + + let imdbIdRatingElement = $("b:contains('IMDb Rating:')"); + $(imdbIdRatingElement).next().after("IMDb Plot: " + imdbPlot + '
'); + + }; + xhr.send(); + } + + RTTomatometer = $("b:contains('Rotten Rating:')"); + if ( RTTomatometer.length > 0 ) { + RTTomatometer.html(RTTomatometer.html().replace('Rotten Rating:', 'RT Critics Avg:')); + } + RTCriticsAvg = $("b:contains('RottenTomatoes:')"); + if ( RTCriticsAvg.length > 0 ) { + RTCriticsAvg.html(RTCriticsAvg.html().replace('RottenTomatoes:', 'RT Tomatometer:')); + } + + } From 6d794ab8d1a4a256ce1f37e033b1b049a3a77b38 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 25 Aug 2019 00:54:09 +0300 Subject: [PATCH 129/439] (RARBG - various tweaks) - Do not combine IMDb with RT plot in search by IMDb id Page, separate them. --- .../RARBG_-_various_tweaks.user.js | 81 ++++++++++++------- 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 92a1a32..9bd9ac0 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.24 +// @version 2019.8.25 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -12,9 +12,7 @@ /* eslint-disable quotes */ - -// The userscript makes use of the page's jQuery 1.11.3 -// Unneeded: require http://code.jquery.com/ui/1.9.1/jquery-ui.min.js +'use strict'; function minsToHoursMins(totalMin) { @@ -254,9 +252,15 @@ if (!isOnTorrentListPage) { event2.preventDefault(); - let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 + }).next().text(); imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' - sessionStorage.setItem("plot", imdbPlot); + sessionStorage.setItem("imdbPlot", imdbPlot); + + let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().text(); + rtPlot = rtPlot.replace(/\|/g,''); // remove all '|' + sessionStorage.setItem("rtPlot", rtPlot); window.location.href = links[i].href; // https://www.w3schools.com/howto/howto_js_redirect_webpage.asp @@ -274,21 +278,38 @@ if (!isOnTorrentListPage) { -const isOnSearchbyIMDbPage = window.location.href.includes('/torrents.php?imdb='); -let plotStored = sessionStorage.getItem("plot"); -if (isOnSearchbyIMDbPage) { +const isOnSearchbyIMDbIdPage = window.location.href.includes('/torrents.php?imdb='); +let imdbPlotStored = sessionStorage.getItem("imdbPlot"); +let rtPlotStored = sessionStorage.getItem("rtPlot"); +if (isOnSearchbyIMDbIdPage) { let imdbIdTextElement = document.querySelector('h1.black'); - let imdbIdRatingElement = $("b:contains('IMDB Rating:')"); - imdbIdRatingElement.html('IMDb Rating:'); + let imdbRatingElement = $("b:contains('IMDB Rating:')"); + imdbRatingElement.html('IMDb Rating:'); + + RTTomatometer = $("b:contains('Rotten Rating:')"); + if ( RTTomatometer.length > 0 ) { + RTTomatometer.html(RTTomatometer.html().replace('Rotten Rating:', 'RT Critics Avg:')); + } + RTCriticsAvg = $("b:contains('RottenTomatoes:')"); + if ( RTCriticsAvg.length > 0 ) { + RTCriticsAvg.html(RTCriticsAvg.html().replace('RottenTomatoes:', 'RT Tomatometer:')); + } + + if (imdbPlotStored) { + imdbPlotStored = imdbPlotStored.replace(/\|/g,''); // remove all '|' + $(imdbRatingElement).next().after("IMDb Plot: " + imdbPlotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + + if (rtPlotStored) { + let rtRatingElement = $("b:contains('RT Tomatometer:')"); + $(rtRatingElement).parent().html($(rtRatingElement).parent().html() + "
RT Critics Consensus: " + rtPlotStored + '
'); // This is the best way to insert text node after text node in jQuery (don't try with after() or append() ) + } + - if (plotStored) { - plotStored = plotStored.replace(/\|/g,''); // remove all '|' - $(imdbIdRatingElement).next().after("IMDb Plot: " + plotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery // new xhr for when plot is not already retrieved (=when opening a link from the Recomended area in a new tab) } else if (document.querySelector('.lista2t').rows.length > 1) { // if searchbyIMDbResultsTableLength has results - let tLink = document.querySelector('.lista2t').rows[1].cells[1].children[0].href; // the URL in the first result row + let tLink = document.querySelector('.lista2t').rows[1].cells[1].children[0].href; // the URL in the results table first row let xhr = new XMLHttpRequest(); xhr.open('GET', tLink, false); // XMLHttpRequest.open(method, url, async) @@ -297,26 +318,28 @@ if (isOnSearchbyIMDbPage) { let container = document.implementation.createHTMLDocument().documentElement; container.innerHTML = xhr.responseText; - let imdbPlot = $(container).find(".header2:contains('Plot:')").next().text(); + let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 (in order to only select IMDb's plain "Plot", not "Rotten Plot", too ) + }).next().text(); imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' - sessionStorage.setItem("plot", imdbPlot); + sessionStorage.setItem("imdbPlot", imdbPlot); - let imdbIdRatingElement = $("b:contains('IMDb Rating:')"); - $(imdbIdRatingElement).next().after("IMDb Plot: " + imdbPlot + '
'); + let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().text(); + rtPlot = rtPlot.replace(/\|/g,''); // remove all '|' + sessionStorage.setItem("rtPlot", rtPlot); - }; - xhr.send(); + let imdbRatingElement = $("b:contains('IMDb Rating:')"); + $(imdbRatingElement).next().after("IMDb Plot: " + imdbPlot + '
'); - } + if (!rtPlotStored) { + let rtRatingElement = $("b:contains('RT Tomatometer:')"); + $(rtRatingElement).parent().html($(rtRatingElement).parent().html() + "
RT Critics Consensus: " + rtPlot + '
'); + } - RTTomatometer = $("b:contains('Rotten Rating:')"); - if ( RTTomatometer.length > 0 ) { - RTTomatometer.html(RTTomatometer.html().replace('Rotten Rating:', 'RT Critics Avg:')); - } - RTCriticsAvg = $("b:contains('RottenTomatoes:')"); - if ( RTCriticsAvg.length > 0 ) { - RTCriticsAvg.html(RTCriticsAvg.html().replace('RottenTomatoes:', 'RT Tomatometer:')); + }; + xhr.send(); + } From 22f5183ad9f5d3830b5f538e75f4bdcb338cb835 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 25 Aug 2019 01:07:15 +0300 Subject: [PATCH 130/439] (Rotten Tomatoes Decimal Rating) - Update for the new rottentomatoes.com layout (thanks to wOxxOm) --- .../Rotten_Tomatoes_Decimal_Rating.user.js | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js index 1fefcce..0179a73 100644 --- a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js +++ b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js @@ -1,38 +1,34 @@ īģŋ// ==UserScript== // @name Rotten Tomatoes Decimal Rating // @namespace darkred -// @version 3.0.1 +// @version 4 // @description Changes base-5 Rating of Rotten Tomatoes to base-10 // @author wOxxOm // @license MIT -// @include http://www.rottentomatoes.com/* -// @include https://www.rottentomatoes.com/* +// @match https://*.rottentomatoes.com/* // @grant none // @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js // @run-at document-start // ==/UserScript== -/* --------- Note --------- - This script changes the Base 5 rating of Rotten Tomatoes to Base 10. - Thanks a lot to wOxxOm: - he initially wrote it: https://greasyfork.org/en/forum/discussion/comment/5975/#Comment_5975 - and he also offered improvement: http://stackoverflow.com/questions/32412900/modify-elements-immediately-after-they-are-displayed-not-after-page-completely - and https://greasyfork.org/en/forum/discussion/7583/x -*/ +// Monitor mutations on the "AUDIENCE SCORE Average Rating" stars selector +setMutationHandler(document, '#js-tomatometer-overlay .star-display', function (nodes) { + // this.disconnect(); + // "AUDIENCE SCORE > Average Rating" score - Multiply x2 + var audienceScoreStars = nodes[0].nextElementSibling; + audienceScoreStars.textContent *= 2; + audienceScoreStars.textContent += '/10'; -// Monitor mutations on the "AUDIENCE SCORE Average Rating" selector -setMutationHandler(document, '.audience-info div:first-child', function(nodes) { - this.disconnect(); + // The 1st is for TOMATOMETER, the 2nd is for AUDIENCE SCORE + var theTwoDescriptiveTexts = document.querySelectorAll('li.score-modal__dets'); - // for "AUDIENCE SCORE Average Rating" - nodes[0].innerHTML = nodes[0].innerHTML.replace(/[\d.]+/g, function(m) { return 2*m;}); + // "TOMATOMETER" descriptive text - Append '(=6 stars or higher)' + theTwoDescriptiveTexts[0].innerHTML = theTwoDescriptiveTexts[0].innerHTML.replace('review.', 'review (=6 stars or higher).'); - // for mouseover on "TOMATOMETER (?)" - document.querySelector('h3.scoreTitle:nth-child(2) > span:nth-child(1)').title += ' (=6 stars or higher)'; - - // for mouseover on "AUDIENCE SCORE (?) / WANT TO SEE (?)" - var node = document.querySelector('h3.scoreTitle:nth-child(1) > span:nth-child(1)'); - node.title = node.title.replace(/([\d.]+)( stars)/, function(m, s1, s2) { return 2 * s1 + s2;}); + // "AUDIENCE SCORE" descriptive text - modify in the text, from '3.5 stars or higher' to '7 stars or higher' + theTwoDescriptiveTexts[1].innerHTML = theTwoDescriptiveTexts[1].innerHTML.replace(/([\d.]+)( stars)/, function (m, s1, s2) { + return 2 * s1 + s2; + }); }); From c827856e2c6719744f9f27f7e233bcbd4a149ba2 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 25 Aug 2019 01:29:23 +0300 Subject: [PATCH 131/439] (Rotten Tomatoes Decimal Rating) - Updated README.md --- Rotten_Tomatoes_Decimal_Rating/README.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Rotten_Tomatoes_Decimal_Rating/README.md b/Rotten_Tomatoes_Decimal_Rating/README.md index e7633a2..1fe7bec 100644 --- a/Rotten_Tomatoes_Decimal_Rating/README.md +++ b/Rotten_Tomatoes_Decimal_Rating/README.md @@ -1,13 +1,16 @@ -*By default RottenTomatoes pages uses base 10 rating for TOMATOMETER and base-5 for AUDIENCE SCORE.* -This script changes the latter's base-5 to base-10, and modifies both relevant tooltips, in order to be perceived more easily. -It modifies these 3 elements: +*By default RottenTomatoes pages uses base 10 rating for TOMATOMETER and base-5 for AUDIENCE SCORE.* +This script changes the latter's base-5 to base-10, and modifies both relevant tooltips, in order to be perceived more easily. +It modifies these 3 elements: -- appends the descriptive text `(=6 stars or higher)` to the text of the TOMATOMETER **tooltip** -- modifies the text, from `3.5 stars or higher` into `7 stars or higher`, inside the AUDIENCE SCORE **tooltip** -- multiplies the AUDIENCE SCORE **Average Rating** `x2` +- multiplies `x2` the AUDIENCE SCORE **Average Ratings**, +- appends `(=6 stars or higher)` to the TOMATOMETER **descriptive text**, +- modifies`3.5 stars or higher` to `7 stars or higher`, in the AUDIENCE SCORE **descriptive text**. -*Note 1: since v2 the script modifies the elements immediately after they are displayed (not after page completely loads). -Note 2: this script uses the [setMutationHandler](setMutationHandler) function (by wOxxOm)* +*Note 1: this script uses the [setMutationHandler](https://greasyfork.org/en/scripts/12228-setmutationhandler) function (by wOxxOm) +Note 2: after the new rottentomatoes.com layout (Feb. 25, 2019), since v4 the `// @run-at document-start` rule is no longer needed.* -
-Thanks a lot to wOxxOm: he initially wrote it ([v1](https://greasyfork.org/en/forum/discussion/comment/5975/#Comment_5975)) and he also offered improvements ([v2](http://stackoverflow.com/a/32413134/3231411) and [v3](https://greasyfork.org/en/forum/discussion/7583/x)) \ No newline at end of file +  + +Thanks a lot to wOxxOm: he initially wrote it ([v1](https://greasyfork.org/en/forum/discussion/comment/5975/#Comment_5975) and he also offered improvements ([v2](http://stackoverflow.com/a/32413134/3231411), [v3](https://greasyfork.org/en/forum/discussion/7583/x) and v4). + +[Hosted in GitHub](https://github.com/darkred/Userscripts) From d4862c8d5c6e09b9bd24c1b3da73694c35f12207 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 25 Aug 2019 23:21:18 +0300 Subject: [PATCH 132/439] (RARBG - various tweaks) - retrieved plots: remove | , and convert newlines to spaces - search by IMDb id result pages: - make bold IMDb and RT ratings, - convert duration from min to h and min --- .../RARBG_-_various_tweaks.user.js | 53 ++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 9bd9ac0..5f2c0af 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.25 +// @version 2019.8.26 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -9,10 +9,10 @@ // @grant none // ==/UserScript== +'use strict'; /* eslint-disable quotes */ -'use strict'; function minsToHoursMins(totalMin) { @@ -254,12 +254,12 @@ if (!isOnTorrentListPage) { let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 - }).next().text(); - imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' + }).next().html(); + imdbPlot = removePipesLinebreaks(imdbPlot); // remove all '|', and replace all newlines with spaces sessionStorage.setItem("imdbPlot", imdbPlot); - let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().text(); - rtPlot = rtPlot.replace(/\|/g,''); // remove all '|' + let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().html(); + rtPlot = removePipesLinebreaks(rtPlot); sessionStorage.setItem("rtPlot", rtPlot); window.location.href = links[i].href; // https://www.w3schools.com/howto/howto_js_redirect_webpage.asp @@ -277,6 +277,18 @@ if (!isOnTorrentListPage) { } +function removePipesLinebreaks(s){ + if (s) { + return s.replace(/\|/g,'').replace(/
/g,' '); + } +} + + +function makeBold(s, regex){ + return s.replace(regex, function(m, s1, s2, s3) { return s1 + ''+ s2 + '' + s3 ;}); +} + + const isOnSearchbyIMDbIdPage = window.location.href.includes('/torrents.php?imdb='); let imdbPlotStored = sessionStorage.getItem("imdbPlot"); @@ -297,12 +309,13 @@ if (isOnSearchbyIMDbIdPage) { } if (imdbPlotStored) { - imdbPlotStored = imdbPlotStored.replace(/\|/g,''); // remove all '|' + imdbPlotStored = removePipesLinebreaks(imdbPlotStored); $(imdbRatingElement).next().after("IMDb Plot: " + imdbPlotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery if (rtPlotStored) { + rtPlotStored = removePipesLinebreaks(rtPlotStored); let rtRatingElement = $("b:contains('RT Tomatometer:')"); - $(rtRatingElement).parent().html($(rtRatingElement).parent().html() + "
RT Critics Consensus: " + rtPlotStored + '
'); // This is the best way to insert text node after text node in jQuery (don't try with after() or append() ) + $(rtRatingElement).parent().html($(rtRatingElement).parent().html() + "
RT Critics Consensus: " + rtPlotStored + '
'); // This is the best way to insert text node after text node in jQuery (don't try after() or append() or .siblings().last()[0].nextSibling ) } @@ -320,12 +333,12 @@ if (isOnSearchbyIMDbIdPage) { let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 (in order to only select IMDb's plain "Plot", not "Rotten Plot", too ) - }).next().text(); - imdbPlot = imdbPlot.replace(/\|/g,''); // remove all '|' + }).next().html(); + imdbPlot = removePipesLinebreaks(imdbPlot); sessionStorage.setItem("imdbPlot", imdbPlot); - let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().text(); - rtPlot = rtPlot.replace(/\|/g,''); // remove all '|' + let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().html(); + rtPlot = removePipesLinebreaks(rtPlot); sessionStorage.setItem("rtPlot", rtPlot); let imdbRatingElement = $("b:contains('IMDb Rating:')"); @@ -343,4 +356,20 @@ if (isOnSearchbyIMDbIdPage) { } + + // make bold (example URL: https://rarbgproxy.org/torrents.php?imdb=tt6146586) + let imdbRefRatingElement = $("b:contains('IMDb Rating:')").parent(); + let imdbRatingBoldRegex = /(.*IMDb<\/a> Rating:<\/b> )([0-9.]+)(\/.*)/; + let rtCriticsBoldRegex = /(.*RT Critics Avg:<\/b> )([0-9.]+)(\/.*)/; + let rtTomatometerBoldRegex = /(.*RT Tomatometer:<\/b> )([\d]+%.*[\d]+%)(.*)/; + imdbRefRatingElement.html(makeBold(imdbRefRatingElement.html(), imdbRatingBoldRegex)); + imdbRefRatingElement.html(makeBold(imdbRefRatingElement.html(), rtCriticsBoldRegex)); + imdbRefRatingElement.html(makeBold(imdbRefRatingElement.html(), rtTomatometerBoldRegex)); + + + // duration from min to h and min + let durationRegex = /(.*Runtime:<\/b> )([\d]+)(.*)/; + imdbRefRatingElement.html(imdbRefRatingElement.html().replace(durationRegex, function(m, s1, s2, s3) { return s1 + minsToHoursMins(s2) + s3 ;})); + + } From 40ca39a4707a38a889558d31f9762081e59fc5a0 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 26 Aug 2019 13:19:01 +0300 Subject: [PATCH 133/439] (StackExchange sites - convert dates to local timezone) - now it works in reputation tab entries too (per GF discussion) - replaced the various @match rules with one @include rule with a regex, in order to include all 174 SO sites --- ...sites_-_convert_dates_to_local_timezone.user.js | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js index 4604109..96de5ce 100644 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js @@ -1,17 +1,11 @@ // ==UserScript== // @name StackExchange sites - convert dates to local timezone // @namespace darkred -// @version 2016.10.16 +// @version 2019.8.26 // @description Converts dates to your local timezone // @author darkred // @license MIT -// @match *://*.stackoverflow.com/* -// @match *://*.stackexchange.com/* -// @match *://*.superuser.com/* -// @match *://*.stackapps.com/* -// @match *://*.askubuntu.com/* -// @match *://*.mathoverflow.net/* -// @match *://*.serverfault.com/* +// @include /^(https?:)?\/\/(www\.)?((3dprinting|academia|ai|alcohol|android|anime|apple|arduino|astronomy|aviation|bicycles|bioinformatics|biology|bitcoin|blender|boardgames|bricks|buddhism|chemistry|chess|chinese|christianity|civicrm|codegolf|codereview|coffee|communitybuilding|computergraphics|conlang|cooking|craftcms|crafts|crypto|cs|cseducators|cstheory|datascience|dba|devops|diy|drupal|dsp|earthscience|ebooks|economics|electronics|elementaryos|ell|emacs|engineering|english|eosio|esperanto|ethereum|expatriates|expressionengine|fitness|freelancing|french|gamedev|gaming|gardening|genealogy|german|gis|graphicdesign|ham|hardwarerecs|hermeneutics|hinduism|history|homebrew|hsm|interpersonal|iot|iota|islam|italian|japanese|joomla|judaism|korean|languagelearning|latin|law|lifehacks|linguistics|literature|magento|martialarts|math|matheducators|mathematica|mechanics|medicalsciences|meta|monero|money|movies|music|musicfans|mythology|networkengineering|opendata|opensource|or|outdoors|parenting|patents|pets|philosophy|photo|physics|pm|poker|politics|portuguese|psychology|puzzling|quant|quantumcomputing|raspberrypi|retrocomputing|reverseengineering|robotics|rpg|rus|russian|salesforce|scicomp|scifi|security|sharepoint|sitecore|skeptics|softwareengineering|softwarerecs|sound|space|spanish|sports|sqa|stats|stellar|sustainability|tex|tezos|tor|travel|tridion|ukrainian|unix|ux|vegetarianism|vi|video|webapps|webmasters|windowsphone|woodworking|wordpress|workplace|worldbuilding|writing)\.stackexchange\.com|(es|ja|pt|ru)\.stackoverflow\.com|(askubuntu|serverfault|stackapps|stackoverflow|superuser)\.com|mathoverflow\.net).*$/ // @grant none // @require http://momentjs.com/downloads/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js @@ -27,7 +21,7 @@ var serverTimezone = 'Europe/Berlin'; // GMT+1 function convertDates() { - var dates = document.getElementsByClassName('relativetime'); + var dates = document.querySelectorAll('.relativetime, .rep-time'); var temp; for (var i = 0; i < dates.length; i++) { temp = moment(dates[i].title, 'YYYY-MM-DD HH:mm:ssZ', true); @@ -40,7 +34,7 @@ function convertDates() { convertDates(); -var target = document.querySelector('#question-mini-list'), +var target = document.querySelectorAll('#question-mini-list, .rep-breakdown')[0], observer = new MutationObserver(function (mutations) { convertDates(); }), From 023214ce0bcc079f4934621a99dae2f10fe148a4 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 26 Aug 2019 15:51:52 +0300 Subject: [PATCH 134/439] (RARBG - various tweaks) - In torrent detail pages, renamed the 'Tomatometer' row to 'Tomatometer, Audience Score' - Renamed the row 'IMDb Plot' to 'IMDb Summary' - In search-by-IMDb-id pages. rearranged the items: IMDb Summary --> IMDb Rating --> RT Tomatometer --> RT Critics Avg --> RT Critics Consensus and now convert the movie duration from min to h and min --- .../RARBG_-_various_tweaks.user.js | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 5f2c0af..8908380 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.26 +// @version 2019.8.27 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -37,7 +37,7 @@ if (!isOnTorrentListPage) { $(".header2:contains('Rotten Rating:')") .html('RT Critics Avg:'); - $(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer:'); + $(".header2:contains('RottenTomatoes:')") .html('RT Tomatometer, Audience Score:'); $(".header2:contains('Rotten Plot:')") .html('RT Critics Consensus:'); $(".header2:contains('IMDB Rating:')") .html('IMDb Rating:'); $(".header2:contains('Plot:')") .html('IMDb Summary:'); @@ -123,10 +123,10 @@ if (!isOnTorrentListPage) { $(".header2:contains('Metacritic:')").next().find(">:first-child").css("font-weight","Bold"); - $(".header2:contains('RT Tomatometer:')").next().css("font-weight","Bold"); + $(".header2:contains('RT Tomatometer, Audience Score:')").next().css("font-weight","Bold"); - var rtTomatometerNode = $(".header2:contains('RT Tomatometer:')").next(); + var rtTomatometerNode = $(".header2:contains('RT Tomatometer, Audience Score:')").next(); if (rtTomatometerNode.length !== 0) $(rtTomatometerNode).html($(rtTomatometerNode).html().replace(/(.*) ([\d]+%)(.*)s ([\d]+%)/, function(m, s1, s2, s3, s4) { return s1 + ''+ s2 + '' + s3 + ''+ s4 + '' ;})); @@ -165,7 +165,7 @@ if (!isOnTorrentListPage) { var imdbRating = $(".header2:contains('IMDb Rating:')").parent(); var metacritic = $(".header2:contains('Metacritic:')").parent(); var RTCriticsAvg = $(".header2:contains('RT Critics Avg:')").parent(); - var RTTomatometer = $(".header2:contains('RT Tomatometer:')").parent(); + var RTTomatometer = $(".header2:contains('RT Tomatometer, Audience Score:')").parent(); var genres = $(".header2:contains('Genres:')").parent(); var actors = $(".header2:contains('Actors:')").parent(); var director = $(".header2:contains('Director:')").parent(); @@ -310,7 +310,7 @@ if (isOnSearchbyIMDbIdPage) { if (imdbPlotStored) { imdbPlotStored = removePipesLinebreaks(imdbPlotStored); - $(imdbRatingElement).next().after("IMDb Plot: " + imdbPlotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery + $(imdbRatingElement).next().after("IMDb Summary: " + imdbPlotStored + '
'); // https://stackoverflow.com/questions/6617829/insertadjacenthtml-in-jquery if (rtPlotStored) { rtPlotStored = removePipesLinebreaks(rtPlotStored); @@ -342,7 +342,7 @@ if (isOnSearchbyIMDbIdPage) { sessionStorage.setItem("rtPlot", rtPlot); let imdbRatingElement = $("b:contains('IMDb Rating:')"); - $(imdbRatingElement).next().after("IMDb Plot: " + imdbPlot + '
'); + $(imdbRatingElement).next().after("IMDb Summary: " + imdbPlot + '
'); if (!rtPlotStored) { let rtRatingElement = $("b:contains('RT Tomatometer:')"); @@ -367,9 +367,14 @@ if (isOnSearchbyIMDbIdPage) { imdbRefRatingElement.html(makeBold(imdbRefRatingElement.html(), rtTomatometerBoldRegex)); - // duration from min to h and min + // duration from min to h:mm let durationRegex = /(.*Runtime:<\/b> )([\d]+)(.*)/; imdbRefRatingElement.html(imdbRefRatingElement.html().replace(durationRegex, function(m, s1, s2, s3) { return s1 + minsToHoursMins(s2) + s3 ;})); + // rearrange: IMDb Summary --> IMDb Rating --> RT Tomatometer --> RT Critics Avg --> RT Critics Consensus + var rearrangeRegex = /([\s\S]+)(IMDb<\/a> Rating:.*\/10
)(IMDb Summary:<\/b>.*<\/span>
)(.*>\/10
)( RT Tomatometer:.*%<\/b>[\s]+
)?(RT Critics Consensus.*)?/; + imdbRefRatingElement.html(imdbRefRatingElement.html().replace(rearrangeRegex, function(m, s1, s2, s3, s4, s5, s6) { if (!s5) s5=''; if (!s6) s6=''; return s1 + s3 + s2 + s5 + s4 + s6 ;})); + + } From ffc9b7384668ca3ec8698380c3e6cd0be4f26fd8 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 26 Aug 2019 22:52:12 +0300 Subject: [PATCH 135/439] (RARBG - various tweaks) Automatically redirect e.g. https://rarbgproxy.org/torrents.php?search=tt6139732 to https://rarbgproxy.org/torrents.php?imdb=tt6139732 --- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 8908380..97c1972 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.27 +// @version 2019.8.27.1 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -14,6 +14,14 @@ /* eslint-disable quotes */ +// Automatically redirect e.g. +// https://rarbgproxy.org/torrents.php?search=tt6139732 to +// https://rarbgproxy.org/torrents.php?imdb=tt6139732 +if (/torrents\.php\?search=tt[0-9]+/.test(window.location.href)) { + window.location.href = window.location.href.replace('?search=', '?imdb='); +} + + function minsToHoursMins(totalMin) { var hours = Math.floor( totalMin / 60); From 459d502730bd4688c023e45617a10fd323acd83d Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 27 Aug 2019 19:19:31 +0300 Subject: [PATCH 136/439] (StackExchange sites - convert dates to local timezone) - Fix for also changing date text, both for (see example URLs) - older, but of the same year: https://stackoverflow.com/questions?tab=newest&page=1200 - older, of previous years: https://stackoverflow.com/questions?tab=newest&page=120000 - Added selector in the MutationObserver for when browsing the complete list of pages --- ..._-_convert_dates_to_local_timezone.user.js | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js index 96de5ce..4345e92 100644 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name StackExchange sites - convert dates to local timezone // @namespace darkred -// @version 2019.8.26 +// @version 2019.8.27 // @description Converts dates to your local timezone // @author darkred // @license MIT @@ -12,29 +12,64 @@ // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // ==/UserScript== - +/* eslint-disable quotes, no-console */ /* global jstz, moment */ var localTimezone = jstz.determine().name(); var serverTimezone = 'Europe/Berlin'; // GMT+1 - -function convertDates() { - var dates = document.querySelectorAll('.relativetime, .rep-time'); - var temp; +function convertDates(dates) { + // var dates = document.querySelectorAll('.relativetime, .rep-time'); + var temp, temp2; for (var i = 0; i < dates.length; i++) { + + // 2019-08-24 03:26:50Z temp = moment(dates[i].title, 'YYYY-MM-DD HH:mm:ssZ', true); if (temp.isValid()) { dates[i].title = moment.tz(dates[i].title, serverTimezone).tz(localTimezone); } + + // Example URLS: + // older, but of the same year: https://stackoverflow.com/questions?tab=newest&page=1200 + // older, of previous years: https://stackoverflow.com/questions?tab=newest&page=120000 + // Example timestamps: + // Aug 7 at 6:45 + // Aug 24 at 12:23 + // Oct 24 '18 at 9:56 + // Oct 24 '18 at 13:57 + temp2 = dates[i].innerHTML.replace('at ', '').replace('\'', '') + ' Z'; + + var formatNoYear = 'MMM D H:mm Z'; + var formatWithYear = 'MMM D YY H:mm Z'; + + var newMoment1 = moment(temp2, formatNoYear, true); + var newMoment2 = moment(temp2, formatWithYear, true); + + if (newMoment1.isValid()){ + dates[i].innerHTML = moment.tz(newMoment1, serverTimezone).tz(localTimezone).format('MMM D [at] H:mm'); + } else if (newMoment2.isValid()){ + dates[i].innerHTML = moment.tz(newMoment2, serverTimezone).tz(localTimezone).format("MMM D [']YY [at] H:mm"); + } } } -convertDates(); +var dates = document.querySelectorAll('.relativetime, .rep-time'); +convertDates(dates); + + +// The part below is pointless to enable because the site's built-in feature that "the relative timestamps being increased every 1 min" becomes broken when this script is running +/* +// recalculate the relative times every 10 sec +(function(){ + convertDates(dates); + setTimeout(arguments.callee, 1 * 60 * 1000); +})(); +*/ + -var target = document.querySelectorAll('#question-mini-list, .rep-breakdown')[0], +var target = document.querySelectorAll('#question-mini-list, #questions, .rep-breakdown')[0], observer = new MutationObserver(function (mutations) { convertDates(); }), From b32d9e297d6f3228350554c016bb2ba064d5826b Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 29 Aug 2019 00:02:48 +0300 Subject: [PATCH 137/439] (StackExchange sites - convert dates to local timezone) - fixed one @require URL back to cdnjs for GF script update by webhook to work again - updated two @require files to the latest versions --- ..._-_convert_dates_to_local_timezone.user.js | 6 +- .../moment-timezone-with-data.min.js | 8 +- .../moment-with-locales.min.js | 80 ------------------- .../moment.min.js | 1 + 4 files changed, 5 insertions(+), 90 deletions(-) delete mode 100644 StackExchange_sites_-_convert_dates_to_local_timezone/moment-with-locales.min.js create mode 100644 StackExchange_sites_-_convert_dates_to_local_timezone/moment.min.js diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js index 4345e92..7a06e0f 100644 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/StackExchange_sites_-_convert_dates_to_local_timezone.user.js @@ -1,14 +1,14 @@ // ==UserScript== // @name StackExchange sites - convert dates to local timezone // @namespace darkred -// @version 2019.8.27 +// @version 2019.8.28 // @description Converts dates to your local timezone // @author darkred // @license MIT // @include /^(https?:)?\/\/(www\.)?((3dprinting|academia|ai|alcohol|android|anime|apple|arduino|astronomy|aviation|bicycles|bioinformatics|biology|bitcoin|blender|boardgames|bricks|buddhism|chemistry|chess|chinese|christianity|civicrm|codegolf|codereview|coffee|communitybuilding|computergraphics|conlang|cooking|craftcms|crafts|crypto|cs|cseducators|cstheory|datascience|dba|devops|diy|drupal|dsp|earthscience|ebooks|economics|electronics|elementaryos|ell|emacs|engineering|english|eosio|esperanto|ethereum|expatriates|expressionengine|fitness|freelancing|french|gamedev|gaming|gardening|genealogy|german|gis|graphicdesign|ham|hardwarerecs|hermeneutics|hinduism|history|homebrew|hsm|interpersonal|iot|iota|islam|italian|japanese|joomla|judaism|korean|languagelearning|latin|law|lifehacks|linguistics|literature|magento|martialarts|math|matheducators|mathematica|mechanics|medicalsciences|meta|monero|money|movies|music|musicfans|mythology|networkengineering|opendata|opensource|or|outdoors|parenting|patents|pets|philosophy|photo|physics|pm|poker|politics|portuguese|psychology|puzzling|quant|quantumcomputing|raspberrypi|retrocomputing|reverseengineering|robotics|rpg|rus|russian|salesforce|scicomp|scifi|security|sharepoint|sitecore|skeptics|softwareengineering|softwarerecs|sound|space|spanish|sports|sqa|stats|stellar|sustainability|tex|tezos|tor|travel|tridion|ukrainian|unix|ux|vegetarianism|vi|video|webapps|webmasters|windowsphone|woodworking|wordpress|workplace|worldbuilding|writing)\.stackexchange\.com|(es|ja|pt|ru)\.stackoverflow\.com|(askubuntu|serverfault|stackapps|stackoverflow|superuser)\.com|mathoverflow\.net).*$/ // @grant none -// @require http://momentjs.com/downloads/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.26/moment-timezone-with-data.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js // ==/UserScript== diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/moment-timezone-with-data.min.js b/StackExchange_sites_-_convert_dates_to_local_timezone/moment-timezone-with-data.min.js index 12f1496..f69ea97 100644 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/moment-timezone-with-data.min.js +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/moment-timezone-with-data.min.js @@ -1,7 +1 @@ -//! moment-timezone.js -//! version : 0.4.1 -//! author : Tim Wood -//! license : MIT -//! github.com/moment/moment-timezone -!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["moment"],b):"object"==typeof exports?module.exports=b(require("moment")):b(a.moment)}(this,function(a){"use strict";function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;dc;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;cz||2===z&&6>A)&&q("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;be;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],c>b&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),fz||2===z&&9>A)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.toString.call(C)?(C.push("_z"),C.push("_a")):C&&(C._z=null),n({version:"2015g",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q","Africa/Accra|LMT GMT GHST|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE","Africa/Addis_Ababa|LMT EAT BEAT BEAUT|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0","Africa/Bangui|LMT WAT|-d.A -10|01|-22y0d.A","Africa/Bissau|LMT WAT GMT|12.k 10 0|012|-2ldWV.E 2xonV.E","Africa/Blantyre|LMT CAT|-2a.k -20|01|-2GJea.k","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1y7p0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Africa/El_Aaiun|LMT WAT WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0","Africa/Juba|LMT CAT CAST EAT|-2a.8 -20 -30 -30|01212121212121212121212121212121213|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Monrovia|MMT LRT GMT|H.8 I.u 0|012|-23Lzg.Q 29s01.m","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00","Africa/Windhoek|SWAT SAST SAST CAT WAT WAST|-1u -20 -30 -20 -10 -20|012134545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2GJdu 1Ajdu 1cL0 1SqL0 9NA0 11D0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Anchorage|CAT CAWT CAPT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Anguilla|LMT AST|46.4 40|01|-2kNvR.U","America/Araguaina|LMT BRT BRST|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0","America/Argentina/Buenos_Aires|CMT ART ARST ART ARST|4g.M 40 30 30 20|0121212121212121212121212121212121212121213434343434343234343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 j3c0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343454343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343454343234343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 j3c0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|01212121212121212121212121212121212121212134343456543432343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 g0p0 10M0 j3c0 uL0","America/Argentina/La_Rioja|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434534343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|0121212121212121212121212121212121212121213434345656543235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 g0p0 10M0 agM0 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343434343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Salta|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434543432343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 j3c0 uL0","America/Argentina/San_Juan|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434534343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 g0p0 10M0 ak00 m10 8lb0 uL0","America/Argentina/San_Luis|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|01212121212121212121212121212121212121212134343456536353465653|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 kin0 10M0 ak00 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|012121212121212121212121212121212121212121343434345434323534343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 ako0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343434343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 ajA0 8p0 8zb0 uL0","America/Aruba|LMT ANT AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d","America/Asuncion|AMT PYT PYT PYST|3O.E 40 30 30|012131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0","America/Bahia|LMT BRT BRST|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0","America/Belem|LMT BRT BRST|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0","America/Belize|LMT CST CHDT CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0","America/Boa_Vista|LMT AMT AMST|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0","America/Bogota|BMT COT COST|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Cambridge_Bay|zzz MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Campo_Grande|LMT AMT AMST|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0","America/Caracas|CMT VET VET|4r.E 4u 40|0121|-2kV7w.k 28KM2.k 1IwOu","America/Cayenne|LMT GFT GFT|3t.k 40 30|012|-2mrwu.E 2gWou.E","America/Cayman|KMT EST EDT|57.b 50 40|0121212121212121212121212121212121212121212121|-2l1uQ.N 4duNQ.N 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0","America/Creston|MST PST|70 80|010|-29DR0 43B0","America/Cuiaba|LMT AMT AMST|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Danmarkshavn|LMT WGT WGST GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|01234252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 Jy10 SL0 dnB0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Eirunepe|LMT ACT ACST AMT|4D.s 50 40 40|0121212121212121212121212121212131|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0","America/Ensenada|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOP0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT BRT BRST|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Godthab|LMT WGT WGST|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Grand_Turk|KMT EST EDT AST|57.b 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212123|-2l1uQ.N 2HHBQ.N 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0","America/Guayaquil|QMT ECT|5e 50|01|-1yVSK","America/Guyana|LMT GBGT GYT GYT GYT|3Q.E 3J 3J 30 40|01234|-2dvU7.k 24JzQ.k mlc0 Bxbf","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|zzz PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Iqaluit|zzz EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Jamaica|KMT EST EDT|57.b 50 40|0121212121212121212121|-2l1uQ.N 2uM1Q.N 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BOST BOT|4w.A 3w.A 40|012|-1x37r.o 13b0","America/Lima|LMT PET PEST|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp0 1Vb0 3dB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Maceio|LMT BRT BRST|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0","America/Manaus|LMT AMT AMST|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Metlakatla|PST PWT PPT PDT|80 70 70 70|0120303030303030303030303030303030|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Miquelon|LMT AST PMST PMDT|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Montevideo|MMT UYT UYHST UYST UYT UYHST|3I.I 3u 30 20 30 2u|012121212121212121212121213434343434345454543453434343434343434343434343434343434343434|-20UIf.g 8jzJ.g 1cLu 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1qMu WLu 1qMu 11zu 1o0u 11zu NAu 11bu 2iMu zWu Dq10 19X0 pd0 jz0 cm10 19X0 1fB0 1on0 11d0 1oL0 1nB0 1fzu 1aou 1fzu 1aou 1fzu 3nAu Jb0 3MN0 1SLu 4jzu 2PB0 Lb0 3Dd0 1pb0 ixd0 An0 1MN0 An0 1wp0 On0 1wp0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0","America/Montreal|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Noronha|LMT FNT FNST|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Panama|CMT EST|5j.A 50|01|-2uduE.o","America/Pangnirtung|zzz AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Paramaribo|LMT PMT PMT NEGT SRT SRT|3E.E 3E.Q 3E.A 3u 3u 30|012345|-2nDUj.k Wqo0.c qanX.I 1dmLN.o lzc0","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0","America/Port-au-Prince|PPMT EST EDT|4N 50 40|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Porto_Acre|LMT ACT ACST AMT|4v.c 50 40 40|01212121212121212121212121212131|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0","America/Porto_Velho|LMT AMT AMST|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Rankin_Inlet|zzz CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Recife|LMT BRT BRST|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0","America/Resolute|zzz CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Santa_Isabel|LMT MST PST PDT PWT PPT|7D.s 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOP0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Santarem|LMT AMT AMST BRT|3C.M 40 30 30|0121212121212121212121212121213|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0","America/Santiago|SMT CLT CLT CLST CLST CLT|4G.K 50 40 40 30 30|01020313131313121242124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424245|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","America/Santo_Domingo|SDMT EST EDT EHDT AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00","America/Sao_Paulo|LMT BRT BRST|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Scoresbysund|LMT CGT CGST EGST EGT|1r.Q 20 10 0 10|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Yellowknife|zzz MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Antarctica/Casey|zzz AWST CAST|0 -80 -b0|012121|-2q00 1DjS0 T90 40P0 KL0","Antarctica/Davis|zzz DAVT DAVT|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0","Antarctica/DumontDUrville|zzz PMT DDUT|0 -a0 -a0|0102|-U0o0 cfq0 bFm0","Antarctica/Macquarie|AEST AEDT zzz MIST|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0","Antarctica/Mawson|zzz MAWT MAWT|0 -60 -50|012|-CEo0 2fyk0","Antarctica/McMurdo|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","Antarctica/Palmer|zzz ARST ART ART ARST CLT CLST CLT|0 30 40 30 20 40 30 30|012121212123435656565656565656565656565656565656565656565656565656565656565656567|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","Antarctica/Rothera|zzz ROTT|0 30|01|gOo0","Antarctica/Syowa|zzz SYOT|0 -30|01|-vs00","Antarctica/Troll|zzz UTC CEST|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Antarctica/Vostok|zzz VOST|0 -60|01|-tjA0","Arctic/Longyearbyen|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Aden|LMT AST|-36.Q -30|01|-TvD6.Q","Asia/Almaty|LMT ALMT ALMT ALMST|-57.M -50 -60 -70|0123232323232323232323232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3Cl0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0","Asia/Anadyr|LMT ANAT ANAT ANAST ANAST ANAST ANAT|-bN.U -c0 -d0 -e0 -d0 -c0 -b0|01232414141414141414141561414141414141414141414141414141414141561|-1PcbN.U eUnN.U 23CL0 1db0 1cN0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Asia/Aqtau|LMT FORT FORT SHET SHET SHEST AQTT AQTST AQTST AQTT|-3l.4 -40 -50 -50 -60 -60 -50 -60 -50 -40|012345353535353535353536767676898989898989898989896|-1Pc3l.4 eUnl.4 1jcL0 JDc0 1cL0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cN0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 RW0","Asia/Aqtobe|LMT AKTT AKTT AKTST AKTT AQTT AQTST|-3M.E -40 -50 -60 -60 -50 -60|01234323232323232323232565656565656565656565656565|-1Pc3M.E eUnM.E 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Ashgabat|LMT ASHT ASHT ASHST ASHST TMT TMT|-3R.w -40 -50 -60 -50 -40 -50|012323232323232323232324156|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 ba0 xC0","Asia/Baghdad|BMT AST ADT|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0","Asia/Bahrain|LMT GST AST|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8","Asia/Baku|LMT BAKT BAKT BAKST BAKST AZST AZT AZT AZST|-3j.o -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245657878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 10K0 c30 1cJ0 1cL0 8wu0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Bangkok|BMT ICT|-6G.4 -70|01|-218SG.4","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0","Asia/Bishkek|LMT FRUT FRUT FRUST FRUST KGT KGST KGT|-4W.o -50 -60 -70 -60 -50 -60 -60|01232323232323232323232456565656565656565656565656567|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11c0 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 T8u","Asia/Brunei|LMT BNT BNT|-7D.E -7u -80|012|-1KITD.E gDc9.E","Asia/Calcutta|HMT BURT IST IST|-5R.k -6u -5u -6u|01232|-18LFR.k 1unn.k HB0 7zX0","Asia/Chita|LMT YAKT YAKT YAKST YAKST YAKT IRKT|-7x.Q -80 -90 -a0 -90 -a0 -80|012323232323232323232324123232323232323232323232323232323232323256|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Choibalsan|LMT ULAT ULAT CHOST CHOT CHOT CHOST|-7C -70 -80 -a0 -90 -80 -90|0123434343434343434343434343434343434343434343456565656565656565656565656565656565656565656565|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Chongqing|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0","Asia/Colombo|MMT IST IHST IST LKT LKT|-5j.w -5u -60 -6u -6u -60|01231451|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu","Asia/Dacca|HMT BURT IST DACT BDT BDST|-5R.k -6u -5u -60 -60 -70|01213454|-18LFR.k 1unn.k HB0 m6n0 LqMu 1x6n0 1i00","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0","Asia/Dili|LMT TLT JST TLT WITA|-8m.k -80 -90 -90 -80|012343|-2le8m.k 1dnXm.k 8HA0 1ew00 Xld0","Asia/Dubai|LMT GST|-3F.c -40|01|-21JfF.c","Asia/Dushanbe|LMT DUST DUST DUSST DUSST TJT|-4z.c -50 -60 -70 -60 -50|0123232323232323232323245|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 14N0","Asia/Gaza|EET EET EEST IST IDT|-20 -30 -30 -20 -30|010101010102020202020202020202023434343434343434343434343430202020202020202020202020202020202020202020202020202020202020202020202020202020202020|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0","Asia/Hebron|EET EET EEST IST IDT|-20 -30 -30 -20 -30|01010101010202020202020202020202343434343434343434343434343020202020202020202020202020202020202020202020202020202020202020202020202020202020202020|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0","Asia/Ho_Chi_Minh|LMT PLMT ICT IDT JST|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0","Asia/Hovd|LMT HOVT HOVT HOVST|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Irkutsk|IMT IRKT IRKT IRKST IRKST IRKT|-6V.5 -70 -80 -90 -80 -90|012323232323232323232324123232323232323232323232323232323232323252|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Istanbul|IMT EET EEST TRST TRT|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1df0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Jakarta|BMT JAVT WIB JST WIB WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu","Asia/Jayapura|LMT WIT ACST|-9m.M -90 -9u|0121|-1uu9m.M sMMm.M L4nu","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0","Asia/Kabul|AFT AFT|-40 -4u|01|-10Qs0","Asia/Kamchatka|LMT PETT PETT PETST PETST|-ay.A -b0 -c0 -d0 -c0|01232323232323232323232412323232323232323232323232323232323232412|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Asia/Karachi|LMT IST IST KART PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy01 1cL0 dK0X 11b0 1610 1jX0","Asia/Kashgar|LMT XJT|-5O.k -60|01|-1GgtO.k","Asia/Kathmandu|LMT IST NPT|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g","Asia/Khandyga|LMT YAKT YAKT YAKST YAKST VLAT VLAST VLAT YAKT|-92.d -80 -90 -a0 -90 -a0 -b0 -b0 -a0|01232323232323232323232412323232323232323232323232565656565656565782|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0","Asia/Krasnoyarsk|LMT KRAT KRAT KRAST KRAST KRAT|-6b.q -60 -70 -80 -70 -80|012323232323232323232324123232323232323232323232323232323232323252|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Kuala_Lumpur|SMT MALT MALST MALT MALT JST MYT|-6T.p -70 -7k -7k -7u -90 -80|01234546|-2Bg6T.p 17anT.p 7hXE dM00 17bO 8Fyu 1so1u","Asia/Kuching|LMT BORT BORT BORTST JST MYT|-7l.k -7u -80 -8k -90 -80|01232323232323232425|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0 1so10","Asia/Macao|LMT MOT MOST CST|-7y.k -80 -90 -80|0121212121212121212121212121212121212121213|-2le7y.k 1XO34.k 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0 KEp0","Asia/Magadan|LMT MAGT MAGT MAGST MAGST MAGT|-a3.c -a0 -b0 -c0 -b0 -c0|012323232323232323232324123232323232323232323232323232323232323251|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Makassar|LMT MMT WITA JST|-7V.A -7V.A -80 -90|01232|-21JjV.A vfc0 myLV.A 8ML0","Asia/Manila|PHT PHST JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Novokuznetsk|LMT KRAT KRAT KRAST KRAST NOVST NOVT NOVT|-5M.M -60 -70 -80 -70 -70 -60 -70|012323232323232323232324123232323232323232323232323232323232325672|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0 8Hz0","Asia/Novosibirsk|LMT NOVT NOVT NOVST NOVST|-5v.E -60 -70 -80 -70|0123232323232323232323241232341414141414141414141414141414141414121|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Omsk|LMT OMST OMST OMSST OMSST OMST|-4R.u -50 -60 -70 -60 -70|012323232323232323232324123232323232323232323232323232323232323252|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Oral|LMT URAT URAT URAST URAT URAST ORAT ORAST ORAT|-3p.o -40 -50 -60 -60 -50 -40 -50 -50|012343232323232323251516767676767676767676767676768|-1Pc3p.o eUnp.o 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 RW0","Asia/Pontianak|LMT PMT WIB JST WIB WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu","Asia/Pyongyang|LMT KST JCST JST KST|-8n -8u -90 -90 -90|012341|-2um8n 97XR 12FXu jdA0 2Onc0","Asia/Qyzylorda|LMT KIZT KIZT KIZST KIZT QYZT QYZT QYZST|-4l.Q -40 -50 -60 -60 -50 -60 -70|012343232323232323232325676767676767676767676767676|-1Pc4l.Q eUol.Q 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 dC0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Rangoon|RMT BURT JST MMT|-6o.E -6u -90 -6u|0123|-21Jio.E SmnS.E 7j9u","Asia/Sakhalin|LMT JCST JST SAKT SAKST SAKST SAKT|-9u.M -90 -90 -b0 -c0 -b0 -a0|0123434343434343434343435634343434343565656565656565656565656565636|-2AGVu.M 1iaMu.M je00 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o10 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Samarkand|LMT SAMT SAMT SAMST TAST UZST UZT|-4r.R -40 -50 -60 -60 -60 -50|01234323232323232323232356|-1Pc4r.R eUor.R 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11x0 bf0","Asia/Seoul|LMT KST JCST JST KST KDT KDT|-8r.Q -8u -90 -90 -90 -9u -a0|01234151515151515146464|-2um8r.Q 97XV.Q 12FXu jjA0 kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0","Asia/Singapore|SMT MALT MALST MALT MALT JST SGT SGT|-6T.p -70 -7k -7k -7u -90 -7u -80|012345467|-2Bg6T.p 17anT.p 7hXE dM00 17bO 8Fyu Mspu DTA0","Asia/Srednekolymsk|LMT MAGT MAGT MAGST MAGST MAGT SRET|-ae.Q -a0 -b0 -c0 -b0 -c0 -b0|012323232323232323232324123232323232323232323232323232323232323256|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Taipei|JWST JST CST CDT|-80 -90 -80 -90|01232323232323232323232323232323232323232|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0","Asia/Tashkent|LMT TAST TAST TASST TASST UZST UZT|-4B.b -50 -60 -70 -60 -60 -50|01232323232323232323232456|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11y0 bf0","Asia/Tbilisi|TBMT TBIT TBIT TBIST TBIST GEST GET GET GEST|-2X.b -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245656565787878787878787878567|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 3y0 19f0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cM0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0","Asia/Tehran|LMT TMT IRST IRST IRDT IRDT|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0","Asia/Thimbu|LMT IST BTT|-5W.A -5u -60|012|-Su5W.A 1BGMs.A","Asia/Tokyo|JCST JST JDT|-90 -90 -a0|0121212121|-1iw90 pKq0 QL0 1lB0 13X0 1zB0 NX0 1zB0 NX0","Asia/Ulaanbaatar|LMT ULAT ULAT ULAST|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Ust-Nera|LMT YAKT YAKT MAGST MAGT MAGST MAGT MAGT VLAT VLAT|-9w.S -80 -90 -c0 -b0 -b0 -a0 -c0 -b0 -a0|0123434343434343434343456434343434343434343434343434343434343434789|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0","Asia/Vladivostok|LMT VLAT VLAT VLAST VLAST VLAT|-8L.v -90 -a0 -b0 -a0 -b0|012323232323232323232324123232323232323232323232323232323232323252|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yakutsk|LMT YAKT YAKT YAKST YAKST YAKT|-8C.W -80 -90 -a0 -90 -a0|012323232323232323232324123232323232323232323232323232323232323252|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yekaterinburg|LMT PMT SVET SVET SVEST SVEST YEKT YEKST YEKT|-42.x -3J.5 -40 -50 -60 -50 -50 -60 -60|0123434343434343434343435267676767676767676767676767676767676767686|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yerevan|LMT YERT YERT YERST YERST AMST AMT AMT AMST|-2W -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245656565657878787878787878787878787878787|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1am0 2r0 1cJ0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fb0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0","Atlantic/Azores|HMT AZOT AZOST AZOMT AZOT AZOST WET|1S.w 20 10 0 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545456545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldW5.s aPX5.s Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Atlantic/Canary|LMT CANT WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Cape_Verde|LMT CVT CVST CVT|1y.4 20 10 10|01213|-2xomp.U 1qOMp.U 7zX0 1djf0","Atlantic/Faeroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Madeira|FMT MADT MADST MADMT WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldWQ.o aPWQ.o Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Reykjavik|LMT IST ISST GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0","Atlantic/South_Georgia|GST|20|0|","Atlantic/Stanley|SMT FKT FKST FKT FKST|3P.o 40 30 30 20|0121212121212134343212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 U10 1qM0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10","Australia/ACT|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0","Australia/Eucla|ACWST ACWDT|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/LHI|AEST LHST LHDT LHDT|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Chile/EasterIsland|EMT EAST EASST EAST EASST EAST|7h.s 70 60 60 50 50|012121212121212121212121212123434343434343434343434343434343434343434343434343434343434343434345|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Eire|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g5X0 14p0 1wn0 17d0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Etc/GMT+0|GMT|0|0|","Etc/GMT+1|GMT+1|10|0|","Etc/GMT+10|GMT+10|a0|0|","Etc/GMT+11|GMT+11|b0|0|","Etc/GMT+12|GMT+12|c0|0|","Etc/GMT+2|GMT+2|20|0|","Etc/GMT+3|GMT+3|30|0|","Etc/GMT+4|GMT+4|40|0|","Etc/GMT+5|GMT+5|50|0|","Etc/GMT+6|GMT+6|60|0|","Etc/GMT+7|GMT+7|70|0|","Etc/GMT+8|GMT+8|80|0|","Etc/GMT+9|GMT+9|90|0|","Etc/GMT-1|GMT-1|-10|0|","Etc/GMT-10|GMT-10|-a0|0|","Etc/GMT-11|GMT-11|-b0|0|","Etc/GMT-12|GMT-12|-c0|0|","Etc/GMT-13|GMT-13|-d0|0|","Etc/GMT-14|GMT-14|-e0|0|","Etc/GMT-2|GMT-2|-20|0|","Etc/GMT-3|GMT-3|-30|0|","Etc/GMT-4|GMT-4|-40|0|","Etc/GMT-5|GMT-5|-50|0|","Etc/GMT-6|GMT-6|-60|0|","Etc/GMT-7|GMT-7|-70|0|","Etc/GMT-8|GMT-8|-80|0|","Etc/GMT-9|GMT-9|-90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST NEST NET CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Belfast|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Bratislava|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Busingen|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|0123232323232323232345454676767676767676767623232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1ty0 2bD0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET FET|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454545454676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1cJ0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ldXn.f aPWn.f Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|01010101010101010101010121212121234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-28dd0 11A0 1go0 19A0 1co0 1dA0 b1A0 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 iyo0 Rc0 18o0 1hc0 1io0 1a00 14o0 5aL0 MM0 1vc0 17A0 1i00 1bc0 1eo0 17d0 1in0 17A0 6hA0 10N0 XIL0 1a10 1in0 17d0 19X0 1cN0 1fz0 1a10 1fX0 1cp0 1cO0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2as10 M00 1cM0 1cM0 14o0 1o00 WM0 1qM0 17c0 1cM0 M3A0 5M20 WM0 1fA0 1cM0 1cM0 1cM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 Lz0 1C10 Lz0 1EN0 Lz0 1C10 Lz0 1zd0 Oo0 1C00 On0 1cp0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Minsk|MMT EET MSK CEST CET MSD EEST FET|-1O -20 -30 -20 -10 -40 -30 -30|012343432525252525252525252616161616161616161616161616161616161616172|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cK0 1cM0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hy0","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Moscow|MMT MMT MST MDST MSD MSK MSM EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c20 imv.j 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2as10 M00 1cM0 1cM0 14o0 1o00 WM0 1qM0 17c0 1cM0 M3A0 5M20 WM0 1fA0 1cM0 16K0 1iO0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 Lz0 1C10 Lz0 1EN0 Lz0 1C10 Lz0 1zd0 Oo0 1C00 On0 1C10 Lz0 1zd0 On0 1C10 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Samara|LMT SAMT SAMT KUYT KUYST MSD MSK EEST KUYT SAMST SAMST|-3k.k -30 -40 -40 -50 -40 -30 -30 -30 -50 -40|012343434343434343435656782929292929292929292929292929292929292a12|-22WNk.k qHak.k bcn0 1Qqo0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cN0 8o0 14j0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646464647373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Volgograd|LMT TSAT STAT STAT VOLT VOLST VOLST VOLT MSD MSK MSK|-2V.E -30 -30 -40 -40 -50 -40 -30 -40 -30 -40|0123454545454545454546767489898989898989898989898989898989898989a9|-21IqV.E cLXV.E cEM0 1gqn0 Lco0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 2pz0 1cJ0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Zaporozhye|CUT EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","HST|HST|a0|0|","Indian/Chagos|LMT IOT IOT|-4N.E -50 -60|012|-2xosN.E 3AGLN.E","Indian/Christmas|CXT|-70|0|","Indian/Cocos|CCT|-6u|0|","Indian/Kerguelen|zzz TFT|0 -50|01|-MG00","Indian/Mahe|LMT SCT|-3F.M -40|01|-2yO3F.M","Indian/Maldives|MMT MVT|-4S -50|01|-olgS","Indian/Mauritius|LMT MUT MUST|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0","Indian/Reunion|LMT RET|-3F.Q -40|01|-2mDDF.Q","Kwajalein|MHT KWAT MHT|-b0 c0 -c0|012|-AX0 W9X0","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","NZ-CHAT|CHAST CHAST CHADT|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Apia|LMT WSST SST SDT WSDT WSST|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","Pacific/Bougainville|PGT JST BST|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0","Pacific/Chuuk|CHUT|-a0|0|","Pacific/Efate|LMT VUT VUST|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0","Pacific/Enderbury|PHOT PHOT PHOT|c0 b0 -d0|012|nIc0 B8n0","Pacific/Fakaofo|TKT TKT|b0 -d0|01|1Gfn0","Pacific/Fiji|LMT FJT FJST|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0","Pacific/Funafuti|TVT|-c0|0|","Pacific/Galapagos|LMT ECT GALT|5W.o 50 60|012|-1yVS1.A 2dTz1.A","Pacific/Gambier|LMT GAMT|8X.M 90|01|-2jof0.c","Pacific/Guadalcanal|LMT SBT|-aD.M -b0|01|-2joyD.M","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0","Pacific/Kiritimati|LINT LINT LINT|aE a0 -e0|012|nIaE B8nk","Pacific/Kosrae|KOST KOST|-b0 -c0|010|-AX0 1bdz0","Pacific/Majuro|MHT MHT|-b0 -c0|01|-AX0","Pacific/Marquesas|LMT MART|9i 9u|01|-2joeG","Pacific/Midway|LMT NST BST SST|bm.M b0 b0 b0|0123|-2nDMB.c 2gVzB.c EyM0","Pacific/Nauru|LMT NRT JST NRT|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu","Pacific/Niue|NUT NUT NUT|bk bu b0|012|-KfME 17y0a","Pacific/Norfolk|NMT NFT NFST NFT|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0","Pacific/Noumea|LMT NCT NCST|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0","Pacific/Palau|PWT|-90|0|","Pacific/Pitcairn|PNT PST|8u 80|01|18Vku","Pacific/Pohnpei|PONT|-b0|0|","Pacific/Port_Moresby|PGT|-a0|0|","Pacific/Rarotonga|CKT CKHST CKT|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu","Pacific/Tahiti|LMT TAHT|9W.g a0|01|-2joe1.I","Pacific/Tarawa|GILT|-c0|0|","Pacific/Tongatapu|TOT TOT TOST|-ck -d0 -e0|01212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0","Pacific/Wake|WAKT|-c0|0|","Pacific/Wallis|WFT|-c0|0|","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"], -links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Sao_Tome","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Addis_Ababa|Africa/Asmara","Africa/Addis_Ababa|Africa/Asmera","Africa/Addis_Ababa|Africa/Dar_es_Salaam","Africa/Addis_Ababa|Africa/Djibouti","Africa/Addis_Ababa|Africa/Kampala","Africa/Addis_Ababa|Africa/Mogadishu","Africa/Addis_Ababa|Africa/Nairobi","Africa/Addis_Ababa|Indian/Antananarivo","Africa/Addis_Ababa|Indian/Comoro","Africa/Addis_Ababa|Indian/Mayotte","Africa/Bangui|Africa/Brazzaville","Africa/Bangui|Africa/Douala","Africa/Bangui|Africa/Kinshasa","Africa/Bangui|Africa/Lagos","Africa/Bangui|Africa/Libreville","Africa/Bangui|Africa/Luanda","Africa/Bangui|Africa/Malabo","Africa/Bangui|Africa/Niamey","Africa/Bangui|Africa/Porto-Novo","Africa/Blantyre|Africa/Bujumbura","Africa/Blantyre|Africa/Gaborone","Africa/Blantyre|Africa/Harare","Africa/Blantyre|Africa/Kigali","Africa/Blantyre|Africa/Lubumbashi","Africa/Blantyre|Africa/Lusaka","Africa/Blantyre|Africa/Maputo","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Juba|Africa/Khartoum","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Anguilla|America/Antigua","America/Anguilla|America/Dominica","America/Anguilla|America/Grenada","America/Anguilla|America/Guadeloupe","America/Anguilla|America/Marigot","America/Anguilla|America/Montserrat","America/Anguilla|America/Port_of_Spain","America/Anguilla|America/St_Barthelemy","America/Anguilla|America/St_Kitts","America/Anguilla|America/St_Lucia","America/Anguilla|America/St_Thomas","America/Anguilla|America/St_Vincent","America/Anguilla|America/Tortola","America/Anguilla|America/Virgin","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Aruba|America/Curacao","America/Aruba|America/Kralendijk","America/Aruba|America/Lower_Princes","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Ensenada|America/Tijuana","America/Ensenada|Mexico/BajaNorte","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/Montreal|America/Toronto","America/Montreal|Canada/Eastern","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Phoenix|US/Arizona","America/Porto_Acre|America/Rio_Branco","America/Porto_Acre|Brazil/Acre","America/Regina|Canada/East-Saskatchewan","America/Regina|Canada/Saskatchewan","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Antarctica/McMurdo|Antarctica/South_Pole","Antarctica/McMurdo|NZ","Antarctica/McMurdo|Pacific/Auckland","Arctic/Longyearbyen|Atlantic/Jan_Mayen","Arctic/Longyearbyen|Europe/Oslo","Asia/Aden|Asia/Kuwait","Asia/Aden|Asia/Riyadh","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bahrain|Asia/Qatar","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Calcutta|Asia/Kolkata","Asia/Chongqing|Asia/Chungking","Asia/Chongqing|Asia/Harbin","Asia/Chongqing|Asia/Shanghai","Asia/Chongqing|PRC","Asia/Dacca|Asia/Dhaka","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Istanbul|Europe/Istanbul","Asia/Istanbul|Turkey","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kashgar|Asia/Urumqi","Asia/Kathmandu|Asia/Katmandu","Asia/Macao|Asia/Macau","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Seoul|ROK","Asia/Singapore|Singapore","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimbu|Asia/Thimphu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Atlantic/Faeroe|Atlantic/Faroe","Atlantic/Reykjavik|Iceland","Australia/ACT|Australia/Canberra","Australia/ACT|Australia/NSW","Australia/ACT|Australia/Sydney","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/LHI|Australia/Lord_Howe","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Chile/EasterIsland|Pacific/Easter","Eire|Europe/Dublin","Etc/GMT+0|Etc/GMT","Etc/GMT+0|Etc/GMT-0","Etc/GMT+0|Etc/GMT0","Etc/GMT+0|Etc/Greenwich","Etc/GMT+0|GMT","Etc/GMT+0|GMT+0","Etc/GMT+0|GMT-0","Etc/GMT+0|GMT0","Etc/GMT+0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belfast|Europe/Guernsey","Europe/Belfast|Europe/Isle_of_Man","Europe/Belfast|Europe/Jersey","Europe/Belfast|Europe/London","Europe/Belfast|GB","Europe/Belfast|GB-Eire","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Bratislava|Europe/Prague","Europe/Busingen|Europe/Vaduz","Europe/Busingen|Europe/Zurich","Europe/Chisinau|Europe/Tiraspol","Europe/Helsinki|Europe/Mariehamn","Europe/Lisbon|Portugal","Europe/Moscow|W-SU","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Kwajalein|Pacific/Kwajalein","NZ-CHAT|Pacific/Chatham","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Midway|Pacific/Pago_Pago","Pacific/Midway|Pacific/Samoa","Pacific/Midway|US/Samoa","Pacific/Pohnpei|Pacific/Ponape"]}),a}); \ No newline at end of file +!function(c,M){"use strict";"object"==typeof module&&module.exports?module.exports=M(require("moment")):"function"==typeof define&&define.amd?define(["moment"],M):M(c.moment)}(this,function(o){"use strict";var M,p={},n={},O={},q={};o&&"string"==typeof o.version||E("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var c=o.version.split("."),z=+c[0],A=+c[1];function a(c){return 96= 2.6.0. You are using Moment.js "+o.version+". See momentjs.com"),W.prototype={_set:function(c){this.name=c.name,this.abbrs=c.abbrs,this.untils=c.untils,this.offsets=c.offsets,this.population=c.population},_index:function(c){var M,z=+c,A=this.untils;for(M=0;M= 2.9.0. You are using Moment.js "+o.version+"."),o.defaultZone=c?u(c):null,o};var P=o.momentProperties;return"[object Array]"===Object.prototype.toString.call(P)?(P.push("_z"),P.push("_a")):P&&(P._z=null),s({version:"2019b",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5","Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5","Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5","Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6","Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4","Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|LMT +00 +01|u.k 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3","Africa/El_Aaiun|LMT -01 +00 +01|Q.M 10 0 -10|012323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|20e4","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5","Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5","Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5","Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|0121|-2le00 4i6N0 2q00","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5","Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3","America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4","America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0","America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0","America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0","America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0","America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0","America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4","America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4","America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5","America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2","America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2","America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4","America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2","America/Campo_Grande|LMT -04 -03|3C.s 40 30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5","America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3","America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5","America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2","America/Cuiaba|LMT -04 -03|3I.k 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|54e4","America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5","America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5","America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5","America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5","America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2","America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2","America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5","America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5","America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5","America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|01203030303030303030303030303030304545450454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5","America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2","America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5","America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4","America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5","America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842","America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2","America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4","America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229","America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4","America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|62e5","America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5","America/Sao_Paulo|LMT -03 -02|36.s 30 20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6","America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642","America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3","Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10","Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70","Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80","Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1","Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60","Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","Antarctica/Rothera|-00 -03|0 30|01|gOo0|130","Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20","Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25","Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4","Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5","Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5","Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3","Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4","Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4","Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4","Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5","Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4","Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6","Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4","Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4","Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6","Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST CDT|-80 -90|010101010101010101010101010|-1c2w0 Rz0 11d0 1wL0 A10 8HX0 1G10 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 aL0 1tU30 Rb0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6","Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5","Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5","Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4","Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5","Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4","Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|0101010101010101010101010101010123232323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|18e5","Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 11c0 1oo0 11c0 1oo0 11c0 1oo0 11c0 1rc0|25e4","Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5","Asia/Hong_Kong|LMT HKT HKST HKT JST|-7A.G -80 -90 -8u -90|0123412121212121212121212121212121212121212121212121212121212121212121|-2CFH0 1taO0 Hc0 xUu 9tBu 11z0 1tDu Rc0 1wo0 11A0 1cM0 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5","Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6","Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 bXd0 gM0 8Q00 IM0 1wM0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5","Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4","Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6","Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5","Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5","Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5","Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4","Asia/Macau|LMT CST +09 +10 CDT|-7y.a -80 -90 -a0 -90|012323214141414141414141414141414141414141414141414141414141414141414141|-2CFHy.a 1uqKy.a PX0 1kn0 15B0 11b0 4Qq0 1oM0 11c0 1ko0 1u00 11A0 1cM0 11c0 1o00 11A0 1o00 11A0 1oo0 1400 1o00 11A0 1o00 U00 1tA0 U00 1wo0 Rc0 1wru U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cK0 1cO0 1cK0 1cO0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|57e4","Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5","Asia/Manila|PST PDT JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4","Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4","Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5","Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4","Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4","Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BA0|29e5","Asia/Qostanay|LMT +04 +05 +06|-4e.s -40 -50 -60|012323232323232323232123232323232323232323232323|-1Pc4e.s eUoe.s 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0","Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|01232323232323232323232323232323232323232323232|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 zQl0|73e4","Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5","Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4","Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6","Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2","Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5","Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5","Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5","Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3","Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6","Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3","Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4","Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3","Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4","Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4","Atlantic/South_Georgia|-02|20|0||30","Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2","Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4","Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4","Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0|30e2","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Etc/GMT-0|GMT|0|0|","Etc/GMT-1|+01|-10|0|","Pacific/Port_Moresby|+10|-a0|0||25e4","Etc/GMT-11|+11|-b0|0|","Pacific/Tarawa|+12|-c0|0||29e3","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-3|+03|-30|0|","Etc/GMT-4|+04|-40|0|","Etc/GMT-5|+05|-50|0|","Etc/GMT-6|+06|-60|0|","Indian/Christmas|+07|-70|0||21e2","Etc/GMT-8|+08|-80|0|","Pacific/Palau|+09|-90|0||21e3","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+3|-03|30|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3","Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|10e5","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5","Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5","Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3","Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5","Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5","Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4","Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|13e5","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4","Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 9Jd0|10e5","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5","Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4","HST|HST|a0|0|","Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2","Indian/Cocos|+0630|-6u|0||596","Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130","Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3","Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4","Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4","Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4","Pacific/Kwajalein|+11 +10 +09 -12 +12|-b0 -a0 -90 c0 -c0|012034|-1kln0 akp0 6Up0 12ry0 Wan0|14e3","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4","Pacific/Chuuk|+10 +09|-a0 -90|01010|-2ewy0 axB0 RVX0 axd0|49e3","Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3","Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1","Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483","Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0|88e4","Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3","Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125","Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4","Pacific/Guam|GST +09 GDT ChST|-a0 -90 -b0 -a0|01020202020202020203|-18jK0 6pB0 AhB0 3QL0 g2p0 3p91 WOX rX0 1zd0 Rb0 1wp0 Rb0 5xd0 rX0 5sN0 zb1 1C0X On0 ULb0|17e4","Pacific/Honolulu|HST HDT HWT HPT HST|au 9u 9u 9u a0|0102304|-1thLu 8x0 lef0 8wWu iAu 46p0|37e4","Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2","Pacific/Kosrae|+11 +09 +10 +12|-b0 -90 -a0 -c0|01021030|-2ewz0 axC0 HBy0 akp0 axd0 WOK0 1bdz0|66e2","Pacific/Majuro|+11 +09 +10 +12|-b0 -90 -a0 -c0|0102103|-2ewz0 axC0 HBy0 akp0 6RB0 12um0|28e3","Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2","Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2","Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E QCnB.E 7mqu 1lnbu|10e3","Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2","Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4","Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3","Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56","Pacific/Pohnpei|+11 +09 +10|-b0 -90 -a0|010210|-2ewz0 axC0 HBy0 akp0 axd0|34e3","Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3","Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4","Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"],links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Curacao|America/Aruba","America/Curacao|America/Kralendijk","America/Curacao|America/Lower_Princes","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Panama|America/Cayman","America/Phoenix|US/Arizona","America/Port_of_Spain|America/Anguilla","America/Port_of_Spain|America/Antigua","America/Port_of_Spain|America/Dominica","America/Port_of_Spain|America/Grenada","America/Port_of_Spain|America/Guadeloupe","America/Port_of_Spain|America/Marigot","America/Port_of_Spain|America/Montserrat","America/Port_of_Spain|America/St_Barthelemy","America/Port_of_Spain|America/St_Kitts","America/Port_of_Spain|America/St_Lucia","America/Port_of_Spain|America/St_Thomas","America/Port_of_Spain|America/St_Vincent","America/Port_of_Spain|America/Tortola","America/Port_of_Spain|America/Virgin","America/Regina|Canada/Saskatchewan","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Tijuana|America/Ensenada","America/Tijuana|America/Santa_Isabel","America/Tijuana|Mexico/BajaNorte","America/Toronto|America/Montreal","America/Toronto|Canada/Eastern","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Singapore","Asia/Macau|Asia/Macao","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Qatar|Asia/Bahrain","Asia/Rangoon|Asia/Yangon","Asia/Riyadh|Asia/Aden","Asia/Riyadh|Asia/Kuwait","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|PRC","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Atlantic/Faroe|Atlantic/Faeroe","Atlantic/Reykjavik|Iceland","Atlantic/South_Georgia|Etc/GMT+2","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/Lord_Howe|Australia/LHI","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/NSW","Etc/GMT-0|Etc/GMT","Etc/GMT-0|Etc/GMT+0","Etc/GMT-0|Etc/GMT0","Etc/GMT-0|Etc/Greenwich","Etc/GMT-0|GMT","Etc/GMT-0|GMT+0","Etc/GMT-0|GMT-0","Etc/GMT-0|GMT0","Etc/GMT-0|Greenwich","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Helsinki|Europe/Mariehamn","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Portugal","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Oslo|Arctic/Longyearbyen","Europe/Oslo|Atlantic/Jan_Mayen","Europe/Prague|Europe/Bratislava","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Europe/Zurich|Europe/Busingen","Europe/Zurich|Europe/Vaduz","Indian/Christmas|Etc/GMT-7","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kwajalein|Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Palau|Etc/GMT-9","Pacific/Pohnpei|Pacific/Ponape","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Tarawa|Etc/GMT-12","Pacific/Tarawa|Pacific/Funafuti","Pacific/Tarawa|Pacific/Wake","Pacific/Tarawa|Pacific/Wallis"]}),o}); \ No newline at end of file diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/moment-with-locales.min.js b/StackExchange_sites_-_convert_dates_to_local_timezone/moment-with-locales.min.js deleted file mode 100644 index 90eb91b..0000000 --- a/StackExchange_sites_-_convert_dates_to_local_timezone/moment-with-locales.min.js +++ /dev/null @@ -1,80 +0,0 @@ -!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Md.apply(null,arguments)}function b(a){Md=a}function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c0)for(c in Od)d=Od[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),Pd===!1&&(Pd=!0,a.updateOffset(this),Pd=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){return 0>a?Math.ceil(a):Math.floor(a)}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=p(b)),c}function r(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function s(){}function t(a){return a?a.toLowerCase().replace("_","-"):a}function u(a){for(var b,c,d,e,f=0;f0;){if(d=v(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&r(e,c,!0)>=b-1)break;b--}f++}return null}function v(a){var b=null;if(!Qd[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Nd._abbr,require("./locale/"+a),w(b)}catch(c){}return Qd[a]}function w(a,b){var c;return a&&(c="undefined"==typeof b?y(a):x(a,b),c&&(Nd=c)),Nd._abbr}function x(a,b){return null!==b?(b.abbr=a,Qd[a]=Qd[a]||new s,Qd[a].set(b),w(a),Qd[a]):(delete Qd[a],null)}function y(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Nd;if(!c(a)){if(b=v(a))return b;a=[a]}return u(a)}function z(a,b){var c=a.toLowerCase();Rd[c]=Rd[c+"s"]=Rd[b]=a}function A(a){return"string"==typeof a?Rd[a]||Rd[a.toLowerCase()]:void 0}function B(a){var b,c,d={};for(c in a)f(a,c)&&(b=A(c),b&&(d[b]=a[c]));return d}function C(b,c){return function(d){return null!=d?(E(this,b,d),a.updateOffset(this,c),this):D(this,b)}}function D(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function E(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function F(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=A(a),"function"==typeof this[a])return this[a](b);return this}function G(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function H(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Vd[a]=e),b&&(Vd[b[0]]=function(){return G(e.apply(this,arguments),b[1],b[2])}),c&&(Vd[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function I(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function J(a){var b,c,d=a.match(Sd);for(b=0,c=d.length;c>b;b++)Vd[d[b]]?d[b]=Vd[d[b]]:d[b]=I(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function K(a,b){return a.isValid()?(b=L(b,a.localeData()),Ud[b]=Ud[b]||J(b),Ud[b](a)):a.localeData().invalidDate()}function L(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Td.lastIndex=0;d>=0&&Td.test(a);)a=a.replace(Td,c),Td.lastIndex=0,d-=1;return a}function M(a){return"function"==typeof a&&"[object Function]"===Object.prototype.toString.call(a)}function N(a,b,c){ie[a]=M(b)?b:function(a){return a&&c?c:b}}function O(a,b){return f(ie,a)?ie[a](b._strict,b._locale):new RegExp(P(a))}function P(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=q(a)}),c=0;cd;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function X(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),T(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function Y(b){return null!=b?(X(this,b),a.updateOffset(this,!0),this):D(this,"Month")}function Z(){return T(this.year(),this.month())}function $(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[le]<0||c[le]>11?le:c[me]<1||c[me]>T(c[ke],c[le])?me:c[ne]<0||c[ne]>24||24===c[ne]&&(0!==c[oe]||0!==c[pe]||0!==c[qe])?ne:c[oe]<0||c[oe]>59?oe:c[pe]<0||c[pe]>59?pe:c[qe]<0||c[qe]>999?qe:-1,j(a)._overflowDayOfYear&&(ke>b||b>me)&&(b=me),j(a).overflow=b),a}function _(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function aa(a,b){var c=!0;return g(function(){return c&&(_(a+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ba(a,b){te[a]||(_(b),te[a]=!0)}function ca(a){var b,c,d=a._i,e=ue.exec(d);if(e){for(j(a).iso=!0,b=0,c=ve.length;c>b;b++)if(ve[b][1].exec(d)){a._f=ve[b][0];break}for(b=0,c=we.length;c>b;b++)if(we[b][1].exec(d)){a._f+=(e[6]||" ")+we[b][0];break}d.match(fe)&&(a._f+="Z"),va(a)}else a._isValid=!1}function da(b){var c=xe.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ca(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ea(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function fa(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ga(a){return ha(a)?366:365}function ha(a){return a%4===0&&a%100!==0||a%400===0}function ia(){return ha(this.year())}function ja(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Da(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ka(a){return ja(a,this._week.dow,this._week.doy).week}function la(){return this._week.dow}function ma(){return this._week.doy}function na(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function oa(a){var b=ja(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function pa(a,b,c,d,e){var f,g=6+e-d,h=fa(a,0,1+g),i=h.getUTCDay();return e>i&&(i+=7),c=null!=c?1*c:e,f=1+g+7*(b-1)-i+c,{year:f>0?a:a-1,dayOfYear:f>0?f:ga(a-1)+f}}function qa(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ra(a,b,c){return null!=a?a:null!=b?b:c}function sa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ta(a){var b,c,d,e,f=[];if(!a._d){for(d=sa(a),a._w&&null==a._a[me]&&null==a._a[le]&&ua(a),a._dayOfYear&&(e=ra(a._a[ke],d[ke]),a._dayOfYear>ga(e)&&(j(a)._overflowDayOfYear=!0),c=fa(e,0,a._dayOfYear),a._a[le]=c.getUTCMonth(),a._a[me]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[ne]&&0===a._a[oe]&&0===a._a[pe]&&0===a._a[qe]&&(a._nextDay=!0,a._a[ne]=0),a._d=(a._useUTC?fa:ea).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[ne]=24)}}function ua(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ra(b.GG,a._a[ke],ja(Da(),1,4).year),d=ra(b.W,1),e=ra(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ra(b.gg,a._a[ke],ja(Da(),f,g).year),d=ra(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=pa(c,d,e,g,f),a._a[ke]=h.year,a._dayOfYear=h.dayOfYear}function va(b){if(b._f===a.ISO_8601)return void ca(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=L(b._f,b._locale).match(Sd)||[],c=0;c0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Vd[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),S(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[ne]<=12&&b._a[ne]>0&&(j(b).bigHour=void 0),b._a[ne]=wa(b._locale,b._a[ne],b._meridiem),ta(b),$(b)}function wa(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function xa(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ef)&&(d=f,c=b));g(a,c||b)}function ya(a){if(!a._d){var b=B(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ta(a)}}function za(a){var b=new n($(Aa(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Aa(a){var b=a._i,e=a._f;return a._locale=a._locale||y(a._l),null===b||void 0===e&&""===b?l({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),o(b)?new n($(b)):(c(e)?xa(a):e?va(a):d(b)?a._d=b:Ba(a),a))}function Ba(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):"string"==typeof f?da(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ta(b)):"object"==typeof f?ya(b):"number"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function Ca(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,za(f)}function Da(a,b,c,d){return Ca(a,b,c,d,!1)}function Ea(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Da();for(d=b[0],e=1;ea&&(a=-a,c="-"),c+G(~~(a/60),2)+b+G(~~a%60,2)})}function Ka(a){var b=(a||"").match(fe)||[],c=b[b.length-1]||[],d=(c+"").match(Ce)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?e:-e}function La(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Da(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Da(b).local()}function Ma(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Na(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ka(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ma(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?bb(this,Ya(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ma(this)}function Oa(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pa(a){return this.utcOffset(0,a)}function Qa(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ma(this),"m")),this}function Ra(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ka(this._i)),this}function Sa(a){return a=a?Da(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Ta(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ua(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var a={};if(m(a,this),a=Aa(a),a._a){var b=a._isUTC?h(a._a):Da(a._a);this._isDSTShifted=this.isValid()&&r(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Va(){return!this._isUTC}function Wa(){return this._isUTC}function Xa(){return this._isUTC&&0===this._offset}function Ya(a,b){var c,d,e,g=a,h=null;return Ia(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=De.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[me])*c,h:q(h[ne])*c,m:q(h[oe])*c,s:q(h[pe])*c,ms:q(h[qe])*c}):(h=Ee.exec(a))?(c="-"===h[1]?-1:1,g={y:Za(h[2],c),M:Za(h[3],c),d:Za(h[4],c),h:Za(h[5],c),m:Za(h[6],c),s:Za(h[7],c),w:Za(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=_a(Da(g.from),Da(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ha(g),Ia(a)&&f(a,"_locale")&&(d._locale=a._locale),d}function Za(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $a(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function _a(a,b){var c;return b=La(b,a),a.isBefore(b)?c=$a(a,b):(c=$a(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function ab(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ba(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ya(c,d),bb(this,e,a),this}}function bb(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&E(b,"Date",D(b,"Date")+g*d),h&&X(b,D(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function cb(a,b){var c=a||Da(),d=La(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(b&&b[f]||this.localeData().calendar(f,this,Da(c)))}function db(){return new n(this)}function eb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this>+a):(c=o(a)?+a:+Da(a),c<+this.clone().startOf(b))}function fb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+a>+this):(c=o(a)?+a:+Da(a),+this.clone().endOf(b)b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function kb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function lb(){var a=this.clone().utc();return 0b;b++)if(this._weekdaysParse[b]||(c=Da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Pb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Kb(a,this.localeData()),this.add(a-b,"d")):b}function Qb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Rb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Sb(a,b){H(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Tb(a,b){return b._meridiemParse}function Ub(a){return"p"===(a+"").toLowerCase().charAt(0)}function Vb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wb(a,b){b[qe]=q(1e3*("0."+a))}function Xb(){return this._isUTC?"UTC":""}function Yb(){return this._isUTC?"Coordinated Universal Time":""}function Zb(a){return Da(1e3*a)}function $b(){return Da.apply(null,arguments).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function ac(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function bc(){return this._invalidDate}function cc(a){return this._ordinal.replace("%d",a)}function dc(a){return a}function ec(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function fc(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function gc(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hc(a,b,c,d){var e=y(),f=h().set(d,b);return e[c](f,a)}function ic(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return hc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=hc(a,f,c,e);return g}function jc(a,b){return ic(a,b,"months",12,"month")}function kc(a,b){return ic(a,b,"monthsShort",12,"month")}function lc(a,b){return ic(a,b,"weekdays",7,"day")}function mc(a,b){return ic(a,b,"weekdaysShort",7,"day")}function nc(a,b){return ic(a,b,"weekdaysMin",7,"day")}function oc(){var a=this._data;return this._milliseconds=_e(this._milliseconds),this._days=_e(this._days),this._months=_e(this._months),a.milliseconds=_e(a.milliseconds),a.seconds=_e(a.seconds),a.minutes=_e(a.minutes),a.hours=_e(a.hours),a.months=_e(a.months),a.years=_e(a.years),this}function pc(a,b,c,d){var e=Ya(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function qc(a,b){return pc(this,a,b,1)}function rc(a,b){return pc(this,a,b,-1)}function sc(a){return 0>a?Math.floor(a):Math.ceil(a)}function tc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*sc(vc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=p(f/1e3),i.seconds=a%60,b=p(a/60),i.minutes=b%60,c=p(b/60),i.hours=c%24,g+=p(c/24),e=p(uc(g)),h+=e,g-=sc(vc(e)),d=p(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function uc(a){return 4800*a/146097}function vc(a){return 146097*a/4800}function wc(a){var b,c,d=this._milliseconds;if(a=A(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+uc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(vc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function xc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)}function yc(a){return function(){return this.as(a)}}function zc(a){return a=A(a),this[a+"s"]()}function Ac(a){return function(){return this._data[a]}}function Bc(){return p(this.days()/7)}function Cc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Dc(a,b,c){var d=Ya(a).abs(),e=qf(d.as("s")),f=qf(d.as("m")),g=qf(d.as("h")),h=qf(d.as("d")),i=qf(d.as("M")),j=qf(d.as("y")),k=e0,k[4]=c,Cc.apply(null,k)}function Ec(a,b){return void 0===rf[a]?!1:void 0===b?rf[a]:(rf[a]=b,!0)}function Fc(a){var b=this.localeData(),c=Dc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Gc(){var a,b,c,d=sf(this._milliseconds)/1e3,e=sf(this._days),f=sf(this._months);a=p(d/60),b=p(a/60),d%=60,a%=60,c=p(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"} -//! moment.js locale configuration -//! locale : belarusian (be) -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion ElensÃēle : https://github.com/Oire -function Hc(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Ic(a,b,c){var d={mm:b?"Ņ…Đ˛Ņ–ĐģŅ–ĐŊа_Ņ…Đ˛Ņ–ĐģŅ–ĐŊŅ‹_Ņ…Đ˛Ņ–ĐģŅ–ĐŊ":"Ņ…Đ˛Ņ–ĐģŅ–ĐŊ҃_Ņ…Đ˛Ņ–ĐģŅ–ĐŊŅ‹_Ņ…Đ˛Ņ–ĐģŅ–ĐŊ",hh:b?"ĐŗĐ°Đ´ĐˇŅ–ĐŊа_ĐŗĐ°Đ´ĐˇŅ–ĐŊŅ‹_ĐŗĐ°Đ´ĐˇŅ–ĐŊ":"ĐŗĐ°Đ´ĐˇŅ–ĐŊ҃_ĐŗĐ°Đ´ĐˇŅ–ĐŊŅ‹_ĐŗĐ°Đ´ĐˇŅ–ĐŊ",dd:"дСĐĩĐŊҌ_Đ´ĐŊŅ–_Đ´ĐˇŅ‘ĐŊ",MM:"ĐŧĐĩŅŅŅ†_ĐŧĐĩŅŅŅ†Ņ‹_ĐŧĐĩŅŅŅ†Đ°Ņž",yy:"ĐŗĐžĐ´_ĐŗĐ°Đ´Ņ‹_ĐŗĐ°Đ´ĐžŅž"};return"m"===c?b?"Ņ…Đ˛Ņ–ĐģŅ–ĐŊа":"Ņ…Đ˛Ņ–ĐģŅ–ĐŊ҃":"h"===c?b?"ĐŗĐ°Đ´ĐˇŅ–ĐŊа":"ĐŗĐ°Đ´ĐˇŅ–ĐŊ҃":a+" "+Hc(d[c],+a)}function Jc(a,b){var c={nominative:"ŅŅ‚ŅƒĐ´ĐˇĐĩĐŊҌ_ĐģŅŽŅ‚Ņ‹_ŅĐ°ĐēĐ°Đ˛Ņ–Đē_ĐēŅ€Đ°ŅĐ°Đ˛Ņ–Đē_Ņ‚Ņ€Đ°Đ˛ĐĩĐŊҌ_Ņ‡ŅŅ€Đ˛ĐĩĐŊҌ_ĐģŅ–ĐŋĐĩĐŊҌ_ĐļĐŊŅ–Đ˛ĐĩĐŊҌ_вĐĩŅ€Đ°ŅĐĩĐŊҌ_ĐēĐ°ŅŅ‚Ņ€Ņ‹Ņ‡ĐŊŅ–Đē_ĐģŅ–ŅŅ‚Đ°Đŋад_ҁĐŊĐĩĐļаĐŊҌ".split("_"),accusative:"ŅŅ‚ŅƒĐ´ĐˇĐĩĐŊŅ_ĐģŅŽŅ‚Đ°ĐŗĐ°_ŅĐ°ĐēĐ°Đ˛Ņ–Đēа_ĐēŅ€Đ°ŅĐ°Đ˛Ņ–Đēа_Ņ‚Ņ€Đ°ŅžĐŊŅ_Ņ‡ŅŅ€Đ˛ĐĩĐŊŅ_ĐģŅ–ĐŋĐĩĐŊŅ_ĐļĐŊŅ–ŅžĐŊŅ_вĐĩŅ€Đ°ŅĐŊŅ_ĐēĐ°ŅŅ‚Ņ€Ņ‹Ņ‡ĐŊŅ–Đēа_ĐģŅ–ŅŅ‚Đ°Đŋада_ҁĐŊĐĩĐļĐŊŅ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Kc(a,b){var c={nominative:"ĐŊŅĐ´ĐˇĐĩĐģŅ_ĐŋаĐŊŅĐ´ĐˇĐĩĐģаĐē_Đ°ŅžŅ‚ĐžŅ€Đ°Đē_ҁĐĩŅ€Đ°Đ´Đ°_Ņ‡Đ°Ņ†Đ˛ĐĩŅ€_ĐŋŅŅ‚ĐŊŅ–Ņ†Đ°_ŅŅƒĐąĐžŅ‚Đ°".split("_"),accusative:"ĐŊŅĐ´ĐˇĐĩĐģŅŽ_ĐŋаĐŊŅĐ´ĐˇĐĩĐģаĐē_Đ°ŅžŅ‚ĐžŅ€Đ°Đē_ҁĐĩŅ€Đ°Đ´Ņƒ_Ņ‡Đ°Ņ†Đ˛ĐĩŅ€_ĐŋŅŅ‚ĐŊŅ–Ņ†Ņƒ_ŅŅƒĐąĐžŅ‚Ņƒ".split("_")},d=/\[ ?[Вв] ?(?:ĐŧŅ–ĐŊ҃ĐģŅƒŅŽ|ĐŊĐ°ŅŅ‚ŅƒĐŋĐŊŅƒŅŽ)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]} -//! moment.js locale configuration -//! locale : breton (br) -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou -function Lc(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+Oc(d[c],a)}function Mc(a){switch(Nc(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function Nc(a){return a>9?Nc(a%10):a}function Oc(a,b){return 2===b?Pc(a):a}function Pc(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)} -//! moment.js locale configuration -//! locale : bosnian (bs) -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković -function Qc(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Rc(a){return a>1&&5>a&&1!==~~(a/10)}function Sc(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pÃĄr sekund":"pÃĄr sekundami";case"m":return b?"minuta":d?"minutu":"minutou";case"mm":return b||d?e+(Rc(a)?"minuty":"minut"):e+"minutami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Rc(a)?"hodiny":"hodin"):e+"hodinami";break;case"d":return b||d?"den":"dnem";case"dd":return b||d?e+(Rc(a)?"dny":"dní"):e+"dny";break;case"M":return b||d?"měsíc":"měsícem";case"MM":return b||d?e+(Rc(a)?"měsíce":"měsíců"):e+"měsíci";break;case"y":return b||d?"rok":"rokem";case"yy":return b||d?e+(Rc(a)?"roky":"let"):e+"lety"}} -//! moment.js locale configuration -//! locale : austrian german (de-at) -//! author : lluchs : https://github.com/lluchs -//! author: Menelion ElensÃēle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -function Tc(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]} -//! moment.js locale configuration -//! locale : german (de) -//! author : lluchs : https://github.com/lluchs -//! author: Menelion ElensÃēle: https://github.com/Oire -function Uc(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]} -//! moment.js locale configuration -//! locale : estonian (et) -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka -function Vc(a,b,c,d){var e={s:["mÃĩne sekundi","mÃĩni sekund","paar sekundit"],m:["Ãŧhe minuti","Ãŧks minut"],mm:[a+" minuti",a+" minutit"],h:["Ãŧhe tunni","tund aega","Ãŧks tund"],hh:[a+" tunni",a+" tundi"],d:["Ãŧhe päeva","Ãŧks päev"],M:["kuu aja","kuu aega","Ãŧks kuu"],MM:[a+" kuu",a+" kuud"],y:["Ãŧhe aasta","aasta","Ãŧks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function Wc(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Xc(a,d)+" "+e}function Xc(a,b){return 10>a?b?Pf[a]:Of[a]:a} -//! moment.js locale configuration -//! locale : hrvatski (hr) -//! author : Bojan Marković : https://github.com/bmarkovic -function Yc(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Zc(a,b,c,d){var e=a;switch(c){case"s":return d||b?"nÊhÃĄny mÃĄsodperc":"nÊhÃĄny mÃĄsodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" Ãŗra":" ÃŗrÃĄja");case"hh":return e+(d||b?" Ãŗra":" ÃŗrÃĄja");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hÃŗnap":" hÃŗnapja");case"MM":return e+(d||b?" hÃŗnap":" hÃŗnapja");case"y":return"egy"+(d||b?" Êv":" Êve");case"yy":return e+(d||b?" Êv":" Êve")}return""}function $c(a){return(a?"":"[mÃēlt] ")+"["+Uf[this.day()]+"] LT[-kor]"} -//! moment.js locale configuration -//! locale : Armenian (hy-am) -//! author : Armendarabyan : https://github.com/armendarabyan -function _c(a,b){var c={nominative:"հուÕļÕžÕĄÖ€_փÕĨÕŋÖ€ÕžÕĄÖ€_Õ´ÕĄÖ€Õŋ_ÕĄÕēրÕĢÕŦ_Õ´ÕĄÕĩÕĢÕŊ_հուÕļÕĢÕŊ_հուÕŦÕĢÕŊ_Ö…ÕŖÕ¸ÕŊÕŋÕ¸ÕŊ_ÕŊÕĨÕēÕŋÕĨÕ´ÕĸÕĨր_Õ°Õ¸Õ¯ÕŋÕĨÕ´ÕĸÕĨր_ÕļÕ¸ÕĩÕĨÕ´ÕĸÕĨր_Õ¤ÕĨÕ¯ÕŋÕĨÕ´ÕĸÕĨր".split("_"),accusative:"հուÕļÕžÕĄÖ€ÕĢ_փÕĨÕŋÖ€ÕžÕĄÖ€ÕĢ_Õ´ÕĄÖ€ÕŋÕĢ_ÕĄÕēրÕĢÕŦÕĢ_Õ´ÕĄÕĩÕĢÕŊÕĢ_հուÕļÕĢÕŊÕĢ_հուÕŦÕĢÕŊÕĢ_Ö…ÕŖÕ¸ÕŊÕŋÕ¸ÕŊÕĢ_ÕŊÕĨÕēÕŋÕĨÕ´ÕĸÕĨրÕĢ_Õ°Õ¸Õ¯ÕŋÕĨÕ´ÕĸÕĨրÕĢ_ÕļÕ¸ÕĩÕĨÕ´ÕĸÕĨրÕĢ_Õ¤ÕĨÕ¯ÕŋÕĨÕ´ÕĸÕĨրÕĢ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function ad(a,b){var c="Õ°ÕļÕž_փÕŋր_մրÕŋ_ÕĄÕēր_Õ´ÕĩÕŊ_Õ°ÕļÕŊ_Õ°ÕŦÕŊ_Ö…ÕŖÕŊ_ÕŊÕēÕŋ_Õ°Õ¯Õŋ_ÕļÕ´Õĸ_Õ¤Õ¯Õŋ".split("_");return c[a.month()]}function bd(a,b){var c="Õ¯ÕĢÖ€ÕĄÕ¯ÕĢ_ÕĨÖ€Õ¯Õ¸Ö‚ÕˇÕĄÕĸÕŠÕĢ_ÕĨրÕĨÖ„ÕˇÕĄÕĸÕŠÕĢ_ÕšÕ¸Ö€ÕĨÖ„ÕˇÕĄÕĸÕŠÕĢ_Õ°ÕĢÕļÕŖÕˇÕĄÕĸÕŠÕĢ_ուրÕĸÕĄÕŠ_ÕˇÕĄÕĸÕĄÕŠ".split("_");return c[a.day()]} -//! moment.js locale configuration -//! locale : icelandic (is) -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik -function cd(a){return a%100===11?!0:a%10===1?!1:!0}function dd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekÃēndur":"nokkrum sekÃēndum";case"m":return b?"mínÃēta":"mínÃētu";case"mm":return cd(a)?e+(b||d?"mínÃētur":"mínÃētum"):b?e+"mínÃēta":e+"mínÃētu";case"hh":return cd(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return cd(a)?b?e+"dagar":e+(d?"daga":"dÃļgum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mÃĄnuður":d?"mÃĄnuð":"mÃĄnuði";case"MM":return cd(a)?b?e+"mÃĄnuðir":e+(d?"mÃĄnuði":"mÃĄnuðum"):b?e+"mÃĄnuður":e+(d?"mÃĄnuð":"mÃĄnuði");case"y":return b||d?"ÃĄr":"ÃĄri";case"yy":return cd(a)?e+(b||d?"ÃĄr":"ÃĄrum"):e+(b||d?"ÃĄr":"ÃĄri")}} -//! moment.js locale configuration -//! locale : Georgian (ka) -//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili -function ed(a,b){var c={nominative:"იანვარი_თებერვალი_მარáƒĸი_აპრილი_მაისი_ივნისი_ივლისი_აგვისáƒĸო_სეáƒĨáƒĸემბერი_ოáƒĨáƒĸომბერი_ნოემბერი_დეკემბერი".split("_"),accusative:"იანვარს_თებერვალს_მარáƒĸქ_აპრილის_მაისს_ივნისს_ივლისს_აგვისáƒĸქ_სეáƒĨáƒĸემბერს_ოáƒĨáƒĸომბერს_ნოემბერს_დეკემბერს".split("_")},d=/D[oD] *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function fd(a,b){var c={nominative:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_áƒŽáƒŖáƒ—áƒ¨áƒáƒ‘áƒáƒ—áƒ˜_პარასკევი_შაბათი".split("_"),accusative:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_áƒŽáƒŖáƒ—áƒ¨áƒáƒ‘áƒáƒ—áƒĄ_პარასკევს_შაბათს".split("_")},d=/(áƒŦინა|შემდეგ)/.test(b)?"accusative":"nominative";return c[d][a.day()]} -//! moment.js locale configuration -//! locale : Luxembourgish (lb) -//! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz -function gd(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function hd(a){var b=a.substr(0,a.indexOf(" "));return jd(b)?"a "+a:"an "+a}function id(a){var b=a.substr(0,a.indexOf(" "));return jd(b)?"viru "+a:"virun "+a}function jd(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return jd(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return jd(a)}return a/=1e3,jd(a)}function kd(a,b,c,d){return b?"kelios sekundės":d?"keliÅŗ sekundÅžiÅŗ":"kelias sekundes"}function ld(a,b){var c={nominative:"sausis_vasaris_kovas_balandis_geguŞė_birÅželis_liepa_rugpjÅĢtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),accusative:"sausio_vasario_kovo_balandÅžio_geguŞės_birÅželio_liepos_rugpjÅĢčio_rugsėjo_spalio_lapkričio_gruodÅžio".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function md(a,b,c,d){return b?od(c)[0]:d?od(c)[1]:od(c)[2]}function nd(a){return a%10===0||a>10&&20>a}function od(a){return Vf[a].split("_")}function pd(a,b,c,d){var e=a+" ";return 1===a?e+md(a,b,c[0],d):b?e+(nd(a)?od(c)[1]:od(c)[0]):d?e+od(c)[1]:e+(nd(a)?od(c)[1]:od(c)[2])}function qd(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=Wf[a.day()];return c?d:d.substring(0,d.length-2)+"į"}function rd(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function sd(a,b,c){return a+" "+rd(Xf[c],a,b)}function td(a,b,c){return rd(Xf[c],a,b)}function ud(a,b){return b?"daÅžas sekundes":"daŞām sekundēm"}function vd(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function wd(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutę";case"mm":return d+(vd(a)?"minuty":"minut");case"h":return b?"godzina":"godzinę";case"hh":return d+(vd(a)?"godziny":"godzin");case"MM":return d+(vd(a)?"miesiące":"miesięcy");case"yy":return d+(vd(a)?"lata":"lat")}} -//! moment.js locale configuration -//! locale : romanian (ro) -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly -function xd(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]} -//! moment.js locale configuration -//! locale : russian (ru) -//! author : Viktorminator : https://github.com/Viktorminator -//! Author : Menelion ElensÃēle : https://github.com/Oire -function yd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function zd(a,b,c){var d={mm:b?"ĐŧиĐŊŅƒŅ‚Đ°_ĐŧиĐŊŅƒŅ‚Ņ‹_ĐŧиĐŊŅƒŅ‚":"ĐŧиĐŊŅƒŅ‚Ņƒ_ĐŧиĐŊŅƒŅ‚Ņ‹_ĐŧиĐŊŅƒŅ‚",hh:"Ņ‡Đ°Ņ_Ņ‡Đ°ŅĐ°_Ņ‡Đ°ŅĐžĐ˛",dd:"Đ´ĐĩĐŊҌ_Đ´ĐŊŅ_Đ´ĐŊĐĩĐš",MM:"ĐŧĐĩŅŅŅ†_ĐŧĐĩŅŅŅ†Đ°_ĐŧĐĩŅŅŅ†Đĩв",yy:"ĐŗĐžĐ´_ĐŗĐžĐ´Đ°_ĐģĐĩŅ‚"};return"m"===c?b?"ĐŧиĐŊŅƒŅ‚Đ°":"ĐŧиĐŊŅƒŅ‚Ņƒ":a+" "+yd(d[c],+a)}function Ad(a,b){var c={nominative:"ŅĐŊĐ˛Đ°Ņ€ŅŒ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģҌ_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€ĐĩĐģҌ_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŊŅ‚ŅĐąŅ€ŅŒ_ĐžĐēŅ‚ŅĐąŅ€ŅŒ_ĐŊĐžŅĐąŅ€ŅŒ_Đ´ĐĩĐēĐ°ĐąŅ€ŅŒ".split("_"),accusative:"ŅĐŊĐ˛Đ°Ņ€Ņ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģŅ_ĐŧĐ°Ņ€Ņ‚Đ°_аĐŋŅ€ĐĩĐģŅ_ĐŧĐ°Ņ_Đ¸ŅŽĐŊŅ_Đ¸ŅŽĐģŅ_Đ°Đ˛ĐŗŅƒŅŅ‚Đ°_ҁĐĩĐŊŅ‚ŅĐąŅ€Ņ_ĐžĐēŅ‚ŅĐąŅ€Ņ_ĐŊĐžŅĐąŅ€Ņ_Đ´ĐĩĐēĐ°ĐąŅ€Ņ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Bd(a,b){var c={nominative:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_"),accusative:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧĐ°Ņ_Đ¸ŅŽĐŊŅ_Đ¸ŅŽĐģŅ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Cd(a,b){var c={nominative:"Đ˛ĐžŅĐēŅ€ĐĩҁĐĩĐŊҌĐĩ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģҌĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩда_҇ĐĩŅ‚Đ˛ĐĩŅ€Đŗ_ĐŋŅŅ‚ĐŊĐ¸Ņ†Đ°_ŅŅƒĐąĐąĐžŅ‚Đ°".split("_"),accusative:"Đ˛ĐžŅĐēŅ€ĐĩҁĐĩĐŊҌĐĩ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģҌĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩĐ´Ņƒ_҇ĐĩŅ‚Đ˛ĐĩŅ€Đŗ_ĐŋŅŅ‚ĐŊĐ¸Ņ†Ņƒ_ŅŅƒĐąĐąĐžŅ‚Ņƒ".split("_")},d=/\[ ?[Вв] ?(?:ĐŋŅ€ĐžŅˆĐģŅƒŅŽ|ҁĐģĐĩĐ´ŅƒŅŽŅ‰ŅƒŅŽ|ŅŅ‚Ņƒ)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}function Dd(a){return a>1&&5>a}function Ed(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pÃĄr sekÃēnd":"pÃĄr sekundami";case"m":return b?"minÃēta":d?"minÃētu":"minÃētou";case"mm":return b||d?e+(Dd(a)?"minÃēty":"minÃēt"):e+"minÃētami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Dd(a)?"hodiny":"hodín"):e+"hodinami";break;case"d":return b||d?"deň":"dňom";case"dd":return b||d?e+(Dd(a)?"dni":"dní"):e+"dňami";break;case"M":return b||d?"mesiac":"mesiacom";case"MM":return b||d?e+(Dd(a)?"mesiace":"mesiacov"):e+"mesiacmi";break;case"y":return b||d?"rok":"rokom";case"yy":return b||d?e+(Dd(a)?"roky":"rokov"):e+"rokmi"}} -//! moment.js locale configuration -//! locale : slovenian (sl) -//! author : Robert SedovÅĄek : https://github.com/sedovsek -function Fd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}function Gd(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[a+" míuts"," "+a+" míuts"],h:["'n Þora","'iensa Þora"],hh:[a+" Þoras"," "+a+" Þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas"," "+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen"," "+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars"," "+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1].trim()} -//! moment.js locale configuration -//! locale : ukrainian (uk) -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion ElensÃēle : https://github.com/Oire -function Hd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Id(a,b,c){var d={mm:"Ņ…Đ˛Đ¸ĐģиĐŊа_Ņ…Đ˛Đ¸ĐģиĐŊи_Ņ…Đ˛Đ¸ĐģиĐŊ",hh:"ĐŗĐžĐ´Đ¸ĐŊа_ĐŗĐžĐ´Đ¸ĐŊи_ĐŗĐžĐ´Đ¸ĐŊ",dd:"Đ´ĐĩĐŊҌ_Đ´ĐŊŅ–_Đ´ĐŊŅ–Đ˛",MM:"ĐŧŅ–ŅŅŅ†ŅŒ_ĐŧŅ–ŅŅŅ†Ņ–_ĐŧŅ–ŅŅŅ†Ņ–Đ˛",yy:"ҀҖĐē_Ņ€ĐžĐēи_Ņ€ĐžĐēŅ–Đ˛"};return"m"===c?b?"Ņ…Đ˛Đ¸ĐģиĐŊа":"Ņ…Đ˛Đ¸ĐģиĐŊ҃":"h"===c?b?"ĐŗĐžĐ´Đ¸ĐŊа":"ĐŗĐžĐ´Đ¸ĐŊ҃":a+" "+Hd(d[c],+a)}function Jd(a,b){var c={nominative:"ҁҖ҇ĐĩĐŊҌ_ĐģŅŽŅ‚Đ¸Đš_ĐąĐĩŅ€ĐĩСĐĩĐŊҌ_ĐēĐ˛Ņ–Ņ‚ĐĩĐŊҌ_Ņ‚Ņ€Đ°Đ˛ĐĩĐŊҌ_҇ĐĩŅ€Đ˛ĐĩĐŊҌ_ĐģиĐŋĐĩĐŊҌ_ҁĐĩŅ€ĐŋĐĩĐŊҌ_вĐĩŅ€ĐĩҁĐĩĐŊҌ_ĐļĐžĐ˛Ņ‚ĐĩĐŊҌ_ĐģĐ¸ŅŅ‚ĐžĐŋад_ĐŗŅ€ŅƒĐ´ĐĩĐŊҌ".split("_"),accusative:"ҁҖ҇ĐŊŅ_ĐģŅŽŅ‚ĐžĐŗĐž_ĐąĐĩŅ€ĐĩСĐŊŅ_ĐēĐ˛Ņ–Ņ‚ĐŊŅ_Ņ‚Ņ€Đ°Đ˛ĐŊŅ_҇ĐĩŅ€Đ˛ĐŊŅ_ĐģиĐŋĐŊŅ_ҁĐĩŅ€ĐŋĐŊŅ_вĐĩŅ€ĐĩҁĐŊŅ_ĐļĐžĐ˛Ņ‚ĐŊŅ_ĐģĐ¸ŅŅ‚ĐžĐŋада_ĐŗŅ€ŅƒĐ´ĐŊŅ".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Kd(a,b){var c={nominative:"ĐŊĐĩĐ´Ņ–ĐģŅ_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐžĐē_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€ĐžĐē_ҁĐĩŅ€Đĩда_҇ĐĩŅ‚Đ˛ĐĩŅ€_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†Ņ_ŅŅƒĐąĐžŅ‚Đ°".split("_"),accusative:"ĐŊĐĩĐ´Ņ–ĐģŅŽ_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐžĐē_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€ĐžĐē_ҁĐĩŅ€ĐĩĐ´Ņƒ_҇ĐĩŅ‚Đ˛ĐĩŅ€_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†ŅŽ_ŅŅƒĐąĐžŅ‚Ņƒ".split("_"),genitive:"ĐŊĐĩĐ´Ņ–ĐģŅ–_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐēа_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€Đēа_ҁĐĩŅ€Đĩди_҇ĐĩŅ‚Đ˛ĐĩŅ€ĐŗĐ°_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†Ņ–_ŅŅƒĐąĐžŅ‚Đ¸".split("_")},d=/(\[[Đ’Đ˛ĐŖŅƒ]\]) ?dddd/.test(b)?"accusative":/\[?(?:ĐŧиĐŊ҃ĐģĐžŅ—|ĐŊĐ°ŅŅ‚ŅƒĐŋĐŊĐžŅ—)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function Ld(a){return function(){return a+"Đž"+(11===this.hours()?"Đą":"")+"] LT"}}var Md,Nd,Od=a.momentProperties=[],Pd=!1,Qd={},Rd={},Sd=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Td=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ud={},Vd={},Wd=/\d/,Xd=/\d\d/,Yd=/\d{3}/,Zd=/\d{4}/,$d=/[+-]?\d{6}/,_d=/\d\d?/,ae=/\d{1,3}/,be=/\d{1,4}/,ce=/[+-]?\d{1,6}/,de=/\d+/,ee=/[+-]?\d+/,fe=/Z|[+-]\d\d:?\d\d/gi,ge=/[+-]?\d+(\.\d{1,3})?/,he=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ie={},je={},ke=0,le=1,me=2,ne=3,oe=4,pe=5,qe=6;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),H("MMMM",0,0,function(a){return this.localeData().months(this,a)}),z("month","M"),N("M",_d),N("MM",_d,Xd),N("MMM",he),N("MMMM",he),Q(["M","MM"],function(a,b){b[le]=q(a)-1}),Q(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[le]=e:j(c).invalidMonth=a});var re="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),se="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),te={};a.suppressDeprecationWarnings=!1;var ue=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],we=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],xe=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),N("Y",ee),N("YY",_d,Xd),N("YYYY",be,Zd),N("YYYYY",ce,$d),N("YYYYYY",ce,$d),Q(["YYYYY","YYYYYY"],ke),Q("YYYY",function(b,c){c[ke]=2===b.length?a.parseTwoDigitYear(b):q(b)}),Q("YY",function(b,c){c[ke]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return q(a)+(q(a)>68?1900:2e3)};var ye=C("FullYear",!1);H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),N("w",_d),N("ww",_d,Xd),N("W",_d),N("WW",_d,Xd),R(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=q(a)});var ze={dow:0,doy:6};H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),N("DDD",ae),N("DDDD",Yd),Q(["DDD","DDDD"],function(a,b,c){c._dayOfYear=q(a)}),a.ISO_8601=function(){};var Ae=aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return this>a?this:a}),Be=aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return a>this?this:a});Ja("Z",":"),Ja("ZZ",""),N("Z",fe),N("ZZ",fe),Q(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ka(a)});var Ce=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var De=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ee=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ya.fn=Ha.prototype;var Fe=ab(1,"add"),Ge=ab(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var He=aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Db("gggg","weekYear"),Db("ggggg","weekYear"),Db("GGGG","isoWeekYear"),Db("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),N("G",ee),N("g",ee),N("GG",_d,Xd),N("gg",_d,Xd),N("GGGG",be,Zd),N("gggg",be,Zd),N("GGGGG",ce,$d),N("ggggg",ce,$d),R(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=q(a)}),R(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),H("Q",0,0,"quarter"),z("quarter","Q"),N("Q",Wd),Q("Q",function(a,b){b[le]=3*(q(a)-1)}),H("D",["DD",2],"Do","date"),z("date","D"),N("D",_d),N("DD",_d,Xd),N("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),Q(["D","DD"],me),Q("Do",function(a,b){b[me]=q(a.match(_d)[0],10)});var Ie=C("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),H("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),H("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),N("d",_d),N("e",_d),N("E",_d),N("dd",he),N("ddd",he),N("dddd",he),R(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),R(["d","e","E"],function(a,b,c,d){b[d]=q(a)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ke="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Le="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("H",["HH",2],0,"hour"),H("h",["hh",2],0,function(){return this.hours()%12||12}),Sb("a",!0),Sb("A",!1),z("hour","h"),N("a",Tb),N("A",Tb),N("H",_d),N("h",_d),N("HH",_d,Xd),N("hh",_d,Xd),Q(["H","HH"],ne),Q(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Q(["h","hh"],function(a,b,c){b[ne]=q(a),j(c).bigHour=!0});var Me=/[ap]\.?m?\.?/i,Ne=C("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),N("m",_d),N("mm",_d,Xd),Q(["m","mm"],oe);var Oe=C("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),N("s",_d),N("ss",_d,Xd),Q(["s","ss"],pe);var Pe=C("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),N("S",ae,Wd),N("SS",ae,Xd),N("SSS",ae,Yd);var Qe;for(Qe="SSSS";Qe.length<=9;Qe+="S")N(Qe,de);for(Qe="S";Qe.length<=9;Qe+="S")Q(Qe,Wb);var Re=C("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Se=n.prototype;Se.add=Fe,Se.calendar=cb,Se.clone=db,Se.diff=ib,Se.endOf=ub,Se.format=mb,Se.from=nb,Se.fromNow=ob,Se.to=pb,Se.toNow=qb,Se.get=F,Se.invalidAt=Cb,Se.isAfter=eb,Se.isBefore=fb,Se.isBetween=gb,Se.isSame=hb,Se.isValid=Ab,Se.lang=He,Se.locale=rb,Se.localeData=sb,Se.max=Be,Se.min=Ae,Se.parsingFlags=Bb,Se.set=F,Se.startOf=tb,Se.subtract=Ge,Se.toArray=yb,Se.toObject=zb,Se.toDate=xb,Se.toISOString=lb,Se.toJSON=lb,Se.toString=kb,Se.unix=wb,Se.valueOf=vb,Se.year=ye,Se.isLeapYear=ia,Se.weekYear=Fb,Se.isoWeekYear=Gb,Se.quarter=Se.quarters=Jb,Se.month=Y,Se.daysInMonth=Z,Se.week=Se.weeks=na,Se.isoWeek=Se.isoWeeks=oa,Se.weeksInYear=Ib,Se.isoWeeksInYear=Hb,Se.date=Ie,Se.day=Se.days=Pb,Se.weekday=Qb,Se.isoWeekday=Rb,Se.dayOfYear=qa,Se.hour=Se.hours=Ne,Se.minute=Se.minutes=Oe,Se.second=Se.seconds=Pe,Se.millisecond=Se.milliseconds=Re,Se.utcOffset=Na,Se.utc=Pa,Se.local=Qa,Se.parseZone=Ra,Se.hasAlignedHourOffset=Sa,Se.isDST=Ta,Se.isDSTShifted=Ua,Se.isLocal=Va,Se.isUtcOffset=Wa,Se.isUtc=Xa,Se.isUTC=Xa,Se.zoneAbbr=Xb,Se.zoneName=Yb,Se.dates=aa("dates accessor is deprecated. Use date instead.",Ie),Se.months=aa("months accessor is deprecated. Use month instead",Y),Se.years=aa("years accessor is deprecated. Use year instead",ye),Se.zone=aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Oa);var Te=Se,Ue={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ve={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},We="Invalid date",Xe="%d",Ye=/\d{1,2}/,Ze={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},$e=s.prototype;$e._calendar=Ue,$e.calendar=_b,$e._longDateFormat=Ve,$e.longDateFormat=ac,$e._invalidDate=We,$e.invalidDate=bc,$e._ordinal=Xe,$e.ordinal=cc,$e._ordinalParse=Ye,$e.preparse=dc,$e.postformat=dc,$e._relativeTime=Ze,$e.relativeTime=ec,$e.pastFuture=fc,$e.set=gc,$e.months=U,$e._months=re,$e.monthsShort=V,$e._monthsShort=se,$e.monthsParse=W,$e.week=ka,$e._week=ze,$e.firstDayOfYear=ma,$e.firstDayOfWeek=la,$e.weekdays=Lb,$e._weekdays=Je,$e.weekdaysMin=Nb,$e._weekdaysMin=Le,$e.weekdaysShort=Mb,$e._weekdaysShort=Ke,$e.weekdaysParse=Ob,$e.isPM=Ub,$e._meridiemParse=Me,$e.meridiem=Vb,w("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=aa("moment.lang is deprecated. Use moment.locale instead.",w),a.langData=aa("moment.langData is deprecated. Use moment.localeData instead.",y);var _e=Math.abs,af=yc("ms"),bf=yc("s"),cf=yc("m"),df=yc("h"),ef=yc("d"),ff=yc("w"),gf=yc("M"),hf=yc("y"),jf=Ac("milliseconds"),kf=Ac("seconds"),lf=Ac("minutes"),mf=Ac("hours"),nf=Ac("days"),of=Ac("months"),pf=Ac("years"),qf=Math.round,rf={s:45,m:45,h:22,d:26,M:11},sf=Math.abs,tf=Ha.prototype;tf.abs=oc,tf.add=qc,tf.subtract=rc,tf.as=wc,tf.asMilliseconds=af,tf.asSeconds=bf,tf.asMinutes=cf,tf.asHours=df,tf.asDays=ef,tf.asWeeks=ff,tf.asMonths=gf,tf.asYears=hf,tf.valueOf=xc,tf._bubble=tc,tf.get=zc,tf.milliseconds=jf,tf.seconds=kf,tf.minutes=lf,tf.hours=mf,tf.days=nf,tf.weeks=Bc,tf.months=of,tf.years=pf,tf.humanize=Fc,tf.toISOString=Gc,tf.toString=Gc,tf.toJSON=Gc,tf.locale=rb,tf.localeData=sb,tf.toIsoString=aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Gc),tf.lang=He,H("X",0,0,"unix"),H("x",0,0,"valueOf"),N("x",ee),N("X",ge),Q("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Q("x",function(a,b,c){c._d=new Date(q(a))}), -//! moment.js -//! version : 2.10.6 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -a.version="2.10.6",b(Da),a.fn=Te,a.min=Fa,a.max=Ga,a.utc=h,a.unix=Zb,a.months=jc,a.isDate=d,a.locale=w,a.invalid=l,a.duration=Ya,a.isMoment=o,a.weekdays=lc,a.parseZone=$b,a.localeData=y,a.isDuration=Ia,a.monthsShort=kc,a.weekdaysMin=nc,a.defineLocale=x,a.weekdaysShort=mc,a.normalizeUnits=A,a.relativeTimeThreshold=Ec;var uf=a,vf=(uf.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("ar-ma",{months:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆØ˛_ØēØ´ØĒ_Ø´ØĒŲ†Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲ†Ø¨Øą_دØŦŲ†Ø¨Øą".split("_"),monthsShort:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆØ˛_ØēØ´ØĒ_Ø´ØĒŲ†Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲ†Ø¨Øą_دØŦŲ†Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĒŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"احد_اØĒŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_Ø§ØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},week:{dow:6,doy:12}}),{1:"ŲĄ",2:"Ųĸ",3:"ŲŖ",4:"Ų¤",5:"ŲĨ",6:"ŲĻ",7:"Ų§",8:"Ų¨",9:"ŲŠ",0:"Ų "}),wf={"ŲĄ":"1","Ųĸ":"2","ŲŖ":"3","Ų¤":"4","ŲĨ":"5","ŲĻ":"6","Ų§":"7","Ų¨":"8","ŲŠ":"9","Ų ":"0"},xf=(uf.defineLocale("ar-sa",{months:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠŲˆ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆ_ØŖØēØŗØˇØŗ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),monthsShort:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠŲˆ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆ_ØŖØēØŗØˇØŗ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/Øĩ|Ų…/,isPM:function(a){return"Ų…"===a},meridiem:function(a,b,c){return 12>a?"Øĩ":"Ų…"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},preparse:function(a){return a.replace(/[ŲĄŲĸŲŖŲ¤ŲĨŲĻŲ§Ų¨ŲŠŲ ]/g,function(a){return wf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return vf[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),uf.defineLocale("ar-tn",{months:"ØŦØ§Ų†ŲŲŠ_ŲŲŠŲØąŲŠ_Ų…Ø§ØąØŗ_ØŖŲØąŲŠŲ„_Ų…Ø§ŲŠ_ØŦŲˆØ§Ų†_ØŦŲˆŲŠŲ„ŲŠØŠ_ØŖŲˆØĒ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),monthsShort:"ØŦØ§Ų†ŲŲŠ_ŲŲŠŲØąŲŠ_Ų…Ø§ØąØŗ_ØŖŲØąŲŠŲ„_Ų…Ø§ŲŠ_ØŦŲˆØ§Ų†_ØŦŲˆŲŠŲ„ŲŠØŠ_ØŖŲˆØĒ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},week:{dow:1,doy:4}}),{1:"ŲĄ",2:"Ųĸ",3:"ŲŖ",4:"Ų¤",5:"ŲĨ",6:"ŲĻ",7:"Ų§",8:"Ų¨",9:"ŲŠ",0:"Ų "}),yf={"ŲĄ":"1","Ųĸ":"2","ŲŖ":"3","Ų¤":"4","ŲĨ":"5","ŲĻ":"6","Ų§":"7","Ų¨":"8","ŲŠ":"9","Ų ":"0"},zf=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},Af={s:["ØŖŲ‚Ų„ Ų…Ų† ØĢØ§Ų†ŲŠØŠ","ØĢØ§Ų†ŲŠØŠ ŲˆØ§Ø­Ø¯ØŠ",["ØĢØ§Ų†ŲŠØĒØ§Ų†","ØĢØ§Ų†ŲŠØĒŲŠŲ†"],"%d ØĢŲˆØ§Ų†","%d ØĢØ§Ų†ŲŠØŠ","%d ØĢØ§Ų†ŲŠØŠ"],m:["ØŖŲ‚Ų„ Ų…Ų† Ø¯Ų‚ŲŠŲ‚ØŠ","Ø¯Ų‚ŲŠŲ‚ØŠ ŲˆØ§Ø­Ø¯ØŠ",["Ø¯Ų‚ŲŠŲ‚ØĒØ§Ų†","Ø¯Ų‚ŲŠŲ‚ØĒŲŠŲ†"],"%d Ø¯Ų‚Ø§ØĻŲ‚","%d Ø¯Ų‚ŲŠŲ‚ØŠ","%d Ø¯Ų‚ŲŠŲ‚ØŠ"],h:["ØŖŲ‚Ų„ Ų…Ų† ØŗØ§ØšØŠ","ØŗØ§ØšØŠ ŲˆØ§Ø­Ø¯ØŠ",["ØŗØ§ØšØĒØ§Ų†","ØŗØ§ØšØĒŲŠŲ†"],"%d ØŗØ§ØšØ§ØĒ","%d ØŗØ§ØšØŠ","%d ØŗØ§ØšØŠ"],d:["ØŖŲ‚Ų„ Ų…Ų† ŲŠŲˆŲ…","ŲŠŲˆŲ… ŲˆØ§Ø­Ø¯",["ŲŠŲˆŲ…Ø§Ų†","ŲŠŲˆŲ…ŲŠŲ†"],"%d ØŖŲŠØ§Ų…","%d ŲŠŲˆŲ…Ų‹Ø§","%d ŲŠŲˆŲ…"],M:["ØŖŲ‚Ų„ Ų…Ų† Ø´Ų‡Øą","Ø´Ų‡Øą ŲˆØ§Ø­Ø¯",["Ø´Ų‡ØąØ§Ų†","Ø´Ų‡ØąŲŠŲ†"],"%d ØŖØ´Ų‡Øą","%d Ø´Ų‡ØąØ§","%d Ø´Ų‡Øą"],y:["ØŖŲ‚Ų„ Ų…Ų† ØšØ§Ų…","ØšØ§Ų… ŲˆØ§Ø­Ø¯",["ØšØ§Ų…Ø§Ų†","ØšØ§Ų…ŲŠŲ†"],"%d ØŖØšŲˆØ§Ų…","%d ØšØ§Ų…Ų‹Ø§","%d ØšØ§Ų…"]},Bf=function(a){return function(b,c,d,e){var f=zf(b),g=Af[a][zf(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Cf=["ŲƒØ§Ų†ŲˆŲ† Ø§Ų„ØĢØ§Ų†ŲŠ ŲŠŲ†Ø§ŲŠØą","Ø´Ø¨Ø§Øˇ ŲØ¨ØąØ§ŲŠØą","ØĸØ°Ø§Øą Ų…Ø§ØąØŗ","Ų†ŲŠØŗØ§Ų† ØŖØ¨ØąŲŠŲ„","ØŖŲŠØ§Øą Ų…Ø§ŲŠŲˆ","Ø­Ø˛ŲŠØąØ§Ų† ŲŠŲˆŲ†ŲŠŲˆ","ØĒŲ…ŲˆØ˛ ŲŠŲˆŲ„ŲŠŲˆ","Øĸب ØŖØēØŗØˇØŗ","ØŖŲŠŲ„ŲˆŲ„ ØŗØ¨ØĒŲ…Ø¨Øą","ØĒØ´ØąŲŠŲ† Ø§Ų„ØŖŲˆŲ„ ØŖŲƒØĒŲˆØ¨Øą","ØĒØ´ØąŲŠŲ† Ø§Ų„ØĢØ§Ų†ŲŠ Ų†ŲˆŲŲ…Ø¨Øą","ŲƒØ§Ų†ŲˆŲ† Ø§Ų„ØŖŲˆŲ„ Ø¯ŲŠØŗŲ…Ø¨Øą"],Df=(uf.defineLocale("ar",{months:Cf,monthsShort:Cf,weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/Øĩ|Ų…/,isPM:function(a){return"Ų…"===a},meridiem:function(a,b,c){return 12>a?"Øĩ":"Ų…"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[ØēØ¯Ų‹Ø§ ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"بؚد %s",past:"Ų…Ų†Ø° %s",s:Bf("s"),m:Bf("m"),mm:Bf("m"),h:Bf("h"),hh:Bf("h"),d:Bf("d"),dd:Bf("d"),M:Bf("M"),MM:Bf("M"),y:Bf("y"),yy:Bf("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[ŲĄŲĸŲŖŲ¤ŲĨŲĻŲ§Ų¨ŲŠŲ ]/g,function(a){return yf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return xf[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-ÃŧncÃŧ",4:"-ÃŧncÃŧ",100:"-ÃŧncÃŧ",6:"-ncÄą",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ÄąncÄą",90:"-ÄąncÄą"}),Ef=(uf.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamÄą_Çərşənbə_CÃŧmə axşamÄą_CÃŧmə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_CÃŧm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_CÃŧ_Şə".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugÃŧn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dÃŧnən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gÃŧn",dd:"%d gÃŧn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gÃŧndÃŧz|axşam/,isPM:function(a){return/^(gÃŧndÃŧz|axşam)$/.test(a)},meridiem:function(a,b,c){return 4>a?"gecə":12>a?"səhər":17>a?"gÃŧndÃŧz":"axşam"},ordinalParse:/\d{1,2}-(ÄąncÄą|inci|nci|ÃŧncÃŧ|ncÄą|uncu)/,ordinal:function(a){if(0===a)return a+"-ÄąncÄą";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Df[b]||Df[c]||Df[d])},week:{dow:1,doy:7}}),uf.defineLocale("be",{months:Jc,monthsShort:"ŅŅ‚ŅƒĐ´_ĐģŅŽŅ‚_ŅĐ°Đē_ĐēŅ€Đ°Ņ_Ņ‚Ņ€Đ°Đ˛_Ņ‡ŅŅ€Đ˛_ĐģŅ–Đŋ_ĐļĐŊŅ–Đ˛_вĐĩŅ€_ĐēĐ°ŅŅ‚_ĐģҖҁ҂_ҁĐŊĐĩĐļ".split("_"),weekdays:Kc,weekdaysShort:"ĐŊĐ´_ĐŋĐŊ_Đ°Ņ‚_ҁҀ_҇҆_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ°Ņ‚_ҁҀ_҇҆_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Đŗ.",LLL:"D MMMM YYYY Đŗ., HH:mm",LLLL:"dddd, D MMMM YYYY Đŗ., HH:mm"},calendar:{sameDay:"[ĐĄŅ‘ĐŊĐŊŅ Ņž] LT",nextDay:"[Đ—Đ°ŅžŅ‚Ņ€Đ° Ņž] LT",lastDay:"[ĐŖŅ‡ĐžŅ€Đ° Ņž] LT",nextWeek:function(){return"[ĐŖ] dddd [Ņž] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[ĐŖ ĐŧŅ–ĐŊ҃ĐģŅƒŅŽ] dddd [Ņž] LT";case 1:case 2:case 4:return"[ĐŖ ĐŧŅ–ĐŊ҃ĐģŅ‹] dddd [Ņž] LT"}},sameElse:"L"},relativeTime:{future:"ĐŋŅ€Đ°Đˇ %s",past:"%s Ņ‚Đ°Đŧ҃",s:"ĐŊĐĩĐēаĐģҌĐēŅ– ҁĐĩĐē҃ĐŊĐ´",m:Ic,mm:Ic,h:Ic,hh:Ic,d:"дСĐĩĐŊҌ",dd:Ic,M:"ĐŧĐĩŅŅŅ†",MM:Ic,y:"ĐŗĐžĐ´",yy:Ic},meridiemParse:/ĐŊĐžŅ‡Ņ‹|Ņ€Đ°ĐŊҖ҆ҋ|Đ´ĐŊŅ|вĐĩŅ‡Đ°Ņ€Đ°/,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩŅ‡Đ°Ņ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Ņ‹":12>a?"Ņ€Đ°ĐŊҖ҆ҋ":17>a?"Đ´ĐŊŅ":"вĐĩŅ‡Đ°Ņ€Đ°"},ordinalParse:/\d{1,2}-(Ņ–|Ņ‹|ĐŗĐ°)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-Ņ‹":a+"-Ņ–";case"D":return a+"-ĐŗĐ°";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("bg",{months:"ŅĐŊŅƒĐ°Ņ€Đ¸_Ņ„ĐĩĐ˛Ņ€ŅƒĐ°Ņ€Đ¸_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€Đ¸Đģ_ĐŧаК_ŅŽĐŊи_ŅŽĐģи_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŋŅ‚ĐĩĐŧĐ˛Ņ€Đ¸_ĐžĐēŅ‚ĐžĐŧĐ˛Ņ€Đ¸_ĐŊĐžĐĩĐŧĐ˛Ņ€Đ¸_Đ´ĐĩĐēĐĩĐŧĐ˛Ņ€Đ¸".split("_"),monthsShort:"ŅĐŊŅ€_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧаК_ŅŽĐŊи_ŅŽĐģи_Đ°Đ˛Đŗ_ҁĐĩĐŋ_ĐžĐēŅ‚_ĐŊĐžĐĩ_Đ´ĐĩĐē".split("_"),weekdays:"ĐŊĐĩĐ´ĐĩĐģŅ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ŅŅ€ŅĐ´Đ°_҇ĐĩŅ‚Đ˛ŅŠŅ€Ņ‚ŅŠĐē_ĐŋĐĩŅ‚ŅŠĐē_ŅŅŠĐąĐžŅ‚Đ°".split("_"),weekdaysShort:"ĐŊĐĩĐ´_ĐŋĐžĐŊ_Đ˛Ņ‚Đž_ŅŅ€Ņ_҇ĐĩŅ‚_ĐŋĐĩŅ‚_ŅŅŠĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ДĐŊĐĩҁ в] LT",nextDay:"[ĐŖŅ‚Ņ€Đĩ в] LT",nextWeek:"dddd [в] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В иСĐŧиĐŊаĐģĐ°Ņ‚Đ°] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В иСĐŧиĐŊаĐģĐ¸Ņ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"ҁĐģĐĩĐ´ %s",past:"ĐŋŅ€Đĩди %s",s:"ĐŊŅĐēĐžĐģĐēĐž ҁĐĩĐē҃ĐŊди",m:"ĐŧиĐŊŅƒŅ‚Đ°",mm:"%d ĐŧиĐŊŅƒŅ‚Đ¸",h:"Ņ‡Đ°Ņ",hh:"%d Ņ‡Đ°ŅĐ°",d:"Đ´ĐĩĐŊ",dd:"%d Đ´ĐŊи",M:"ĐŧĐĩҁĐĩ҆",MM:"%d ĐŧĐĩҁĐĩŅ†Đ°",y:"ĐŗĐžĐ´Đ¸ĐŊа",yy:"%d ĐŗĐžĐ´Đ¸ĐŊи"},ordinalParse:/\d{1,2}-(Đĩв|ĐĩĐŊ|Ņ‚Đ¸|ви|Ņ€Đ¸|Đŧи)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-Đĩв":0===c?a+"-ĐĩĐŊ":c>10&&20>c?a+"-Ņ‚Đ¸":1===b?a+"-ви":2===b?a+"-Ņ€Đ¸":7===b||8===b?a+"-Đŧи":a+"-Ņ‚Đ¸"},week:{dow:1,doy:7}}),{1:"ā§§",2:"⧍",3:"ā§Š",4:"ā§Ē",5:"ā§Ģ",6:"ā§Ŧ",7:"ā§­",8:"ā§Ž",9:"⧝",0:"ā§Ļ"}),Ff={"ā§§":"1","⧍":"2","ā§Š":"3","ā§Ē":"4","ā§Ģ":"5","ā§Ŧ":"6","ā§­":"7","ā§Ž":"8","⧝":"9","ā§Ļ":"0"},Gf=(uf.defineLocale("bn",{months:"āϜāĻžāύ⧁⧟āĻžāϰ⧀_āĻĢ⧇āĻŦ⧁⧟āĻžāϰ⧀_āĻŽāĻžāĻ°ā§āϚ_āĻāĻĒā§āϰāĻŋāϞ_āĻŽā§‡_āϜ⧁āύ_āϜ⧁āϞāĻžāχ_āĻ…āĻ—āĻžāĻ¸ā§āϟ_āϏ⧇āĻĒā§āĻŸā§‡āĻŽā§āĻŦāϰ_āĻ…āĻ•ā§āĻŸā§‹āĻŦāϰ_āύāϭ⧇āĻŽā§āĻŦāϰ_āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ".split("_"),monthsShort:"āϜāĻžāύ⧁_āĻĢ⧇āĻŦ_āĻŽāĻžāĻ°ā§āϚ_āĻāĻĒāϰ_āĻŽā§‡_āϜ⧁āύ_āϜ⧁āϞ_āĻ…āĻ—_āϏ⧇āĻĒā§āϟ_āĻ…āĻ•ā§āĻŸā§‹_āύāĻ­_āĻĄāĻŋāϏ⧇āĻŽā§".split("_"),weekdays:"āϰāĻŦāĻŋāĻŦāĻžāϰ_āϏ⧋āĻŽāĻŦāĻžāϰ_āĻŽāĻ™ā§āĻ—āϞāĻŦāĻžāϰ_āĻŦ⧁āϧāĻŦāĻžāϰ_āĻŦ⧃āĻšāĻ¸ā§āĻĒāĻ¤ā§āϤāĻŋāĻŦāĻžāϰ_āĻļ⧁āĻ•ā§āϰ⧁āĻŦāĻžāϰ_āĻļāύāĻŋāĻŦāĻžāϰ".split("_"),weekdaysShort:"āϰāĻŦāĻŋ_āϏ⧋āĻŽ_āĻŽāĻ™ā§āĻ—āϞ_āĻŦ⧁āϧ_āĻŦ⧃āĻšāĻ¸ā§āĻĒāĻ¤ā§āϤāĻŋ_āĻļ⧁āĻ•ā§āϰ⧁_āĻļāύāĻŋ".split("_"),weekdaysMin:"āϰāĻŦ_āϏāĻŽ_āĻŽāĻ™ā§āĻ—_āĻŦ⧁_āĻŦā§āϰāĻŋāĻš_āĻļ⧁_āĻļāύāĻŋ".split("_"),longDateFormat:{LT:"A h:mm āϏāĻŽā§Ÿ",LTS:"A h:mm:ss āϏāĻŽā§Ÿ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm āϏāĻŽā§Ÿ",LLLL:"dddd, D MMMM YYYY, A h:mm āϏāĻŽā§Ÿ"},calendar:{sameDay:"[āφāϜ] LT",nextDay:"[āφāĻ—āĻžāĻŽā§€āĻ•āĻžāϞ] LT",nextWeek:"dddd, LT",lastDay:"[āĻ—āϤāĻ•āĻžāϞ] LT",lastWeek:"[āĻ—āϤ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āĻĒāϰ⧇",past:"%s āφāϗ⧇",s:"āĻ•āĻāĻ• āϏ⧇āϕ⧇āĻ¨ā§āĻĄ",m:"āĻāĻ• āĻŽāĻŋāύāĻŋāϟ",mm:"%d āĻŽāĻŋāύāĻŋāϟ",h:"āĻāĻ• āϘāĻ¨ā§āϟāĻž",hh:"%d āϘāĻ¨ā§āϟāĻž",d:"āĻāĻ• āĻĻāĻŋāύ",dd:"%d āĻĻāĻŋāύ",M:"āĻāĻ• āĻŽāĻžāϏ",MM:"%d āĻŽāĻžāϏ",y:"āĻāĻ• āĻŦāĻ›āϰ",yy:"%d āĻŦāĻ›āϰ"},preparse:function(a){return a.replace(/[ā§§ā§¨ā§Šā§Ēā§Ģā§Ŧā§­ā§Žā§¯ā§Ļ]/g,function(a){return Ff[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Ef[a]})},meridiemParse:/āϰāĻžāϤ|āϏāĻ•āĻžāϞ|āĻĻ⧁āĻĒ⧁āϰ|āĻŦāĻŋāϕ⧇āϞ|āϰāĻžāϤ/,isPM:function(a){return/^(āĻĻ⧁āĻĒ⧁āϰ|āĻŦāĻŋāϕ⧇āϞ|āϰāĻžāϤ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"āϰāĻžāϤ":10>a?"āϏāĻ•āĻžāϞ":17>a?"āĻĻ⧁āĻĒ⧁āϰ":20>a?"āĻŦāĻŋāϕ⧇āϞ":"āϰāĻžāϤ"},week:{dow:0,doy:6}}),{1:"āŧĄ",2:"āŧĸ",3:"āŧŖ",4:"āŧ¤",5:"āŧĨ",6:"āŧĻ",7:"āŧ§",8:"āŧ¨",9:"āŧŠ",0:"āŧ "}),Hf={"āŧĄ":"1","āŧĸ":"2","āŧŖ":"3","āŧ¤":"4","āŧĨ":"5","āŧĻ":"6","āŧ§":"7","āŧ¨":"8","āŧŠ":"9","āŧ ":"0"},If=(uf.defineLocale("bo",{months:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ„āŧ‹āŊ”āŊŧ_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊĻāŊ´āŊ˜āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊžāŊ˛āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊŖāž”āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āž˛āŊ´āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊĸāž’āžąāŊ‘āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ‚āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ…āŊ˛āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”".split("_"),monthsShort:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ„āŧ‹āŊ”āŊŧ_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊĻāŊ´āŊ˜āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊžāŊ˛āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊŖāž”āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āž˛āŊ´āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊĸāž’āžąāŊ‘āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ‚āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ…āŊ˛āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”".split("_"),weekdays:"āŊ‚āŊŸāŊ āŧ‹āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ‚āŊŸāŊ āŧ‹āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),weekdaysShort:"āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),weekdaysMin:"āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[āŊ‘āŊ˛āŧ‹āŊĸāŊ˛āŊ„] LT",nextDay:"[āŊĻāŊ„āŧ‹āŊ‰āŊ˛āŊ“] LT",nextWeek:"[āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ•āž˛āŊ‚āŧ‹āŊĸāž—āŊēāŊĻāŧ‹āŊ˜], LT",lastDay:"[āŊāŧ‹āŊĻāŊ„] LT",lastWeek:"[āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ•āž˛āŊ‚āŧ‹āŊ˜āŊāŊ āŧ‹āŊ˜] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āŊŖāŧ‹",past:"%s āŊĻāž”āŊ“āŧ‹āŊŖ",s:"āŊŖāŊ˜āŧ‹āŊĻāŊ„",m:"āŊĻāžāŊĸāŧ‹āŊ˜āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",mm:"%d āŊĻāžāŊĸāŧ‹āŊ˜",h:"āŊ†āŊ´āŧ‹āŊšāŊŧāŊ‘āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",hh:"%d āŊ†āŊ´āŧ‹āŊšāŊŧāŊ‘",d:"āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",dd:"%d āŊ‰āŊ˛āŊ“āŧ‹",M:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",MM:"%d āŊŸāžŗāŧ‹āŊ–",y:"āŊŖāŊŧāŧ‹āŊ‚āŊ…āŊ˛āŊ‚",yy:"%d āŊŖāŊŧ"},preparse:function(a){return a.replace(/[āŧĄāŧĸāŧŖāŧ¤āŧĨāŧĻāŧ§āŧ¨āŧŠāŧ ]/g,function(a){return Hf[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Gf[a]})},meridiemParse:/āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ|āŊžāŊŧāŊ‚āŊĻāŧ‹āŊ€āŊĻ|āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„|āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚|āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ/,isPM:function(a){return/^(āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„|āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚|āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ":10>a?"āŊžāŊŧāŊ‚āŊĻāŧ‹āŊ€āŊĻ":17>a?"āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„":20>a?"āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚":"āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ"},week:{dow:0,doy:6}}),uf.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoÚ",m:"ur vunutenn",mm:Lc,h:"un eur",hh:"%d eur",d:"un devezh",dd:Lc,M:"ur miz",MM:Lc,y:"ur bloaz",yy:Mc},ordinalParse:/\d{1,2}(aÃą|vet)/,ordinal:function(a){var b=1===a?"aÃą":"vet";return a+b},week:{dow:1,doy:4}}),uf.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅĄlu] dddd [u] LT";case 6:return"[proÅĄle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅĄli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Qc,mm:Qc,h:Qc,hh:Qc,d:"dan",dd:Qc,M:"mjesec",MM:Qc,y:"godinu",yy:Qc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return("w"===b||"W"===b)&&(c="a"),a+c},week:{dow:1,doy:4}}),"leden_Ãēnor_březen_duben_květen_červen_červenec_srpen_zÃĄÅ™Ã­_říjen_listopad_prosinec".split("_")),Jf="led_Ãēno_bře_dub_kvě_čvn_čvc_srp_zÃĄÅ™_říj_lis_pro".split("_"),Kf=(uf.defineLocale("cs",{months:If,monthsShort:Jf,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(If,Jf),weekdays:"neděle_pondělí_ÃēterÃŊ_středa_čtvrtek_pÃĄtek_sobota".split("_"),weekdaysShort:"ne_po_Ãēt_st_čt_pÃĄ_so".split("_"),weekdaysMin:"ne_po_Ãēt_st_čt_pÃĄ_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pÃĄtek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulÊ] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulÃŊ] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:Sc,m:Sc,mm:Sc,h:Sc,hh:Sc,d:Sc,dd:Sc,M:Sc,MM:Sc,y:Sc,yy:Sc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("cv",{months:"Đē͑ҀĐģĐ°Ņ‡_ĐŊĐ°Ņ€Ķ‘Ņ_Đŋ҃҈_аĐēа_ĐŧаК_ŌĢ͗Ҁ҂ĐŧĐĩ_ŅƒŅ‚Ķ‘_ŌĢŅƒŅ€Đģа_Đ°Đ˛Ķ‘ĐŊ_ŅŽĐŋа_҇ͺĐē_Ņ€Đ°ŅˆŅ‚Đ°Đ˛".split("_"),monthsShort:"Đē͑Ҁ_ĐŊĐ°Ņ€_Đŋ҃҈_аĐēа_ĐŧаК_ŌĢĶ—Ņ€_ŅƒŅ‚Ķ‘_ŌĢŅƒŅ€_авĐŊ_ŅŽĐŋа_҇ͺĐē_Ņ€Đ°Ņˆ".split("_"),weekdays:"Đ˛Ņ‹Ņ€ŅĐ°Ņ€ĐŊиĐē҃ĐŊ_Ņ‚ŅƒĐŊŅ‚Đ¸Đē҃ĐŊ_ҋ҂ĐģĐ°Ņ€Đ¸Đē҃ĐŊ_ŅŽĐŊĐē҃ĐŊ_ĐēĶ—ŌĢĐŊĐĩŅ€ĐŊиĐē҃ĐŊ_ŅŅ€ĐŊĐĩĐē҃ĐŊ_ŅˆĶ‘ĐŧĐ°Ņ‚Đē҃ĐŊ".split("_"),weekdaysShort:"Đ˛Ņ‹Ņ€_Ņ‚ŅƒĐŊ_ҋ҂Đģ_ŅŽĐŊ_ĐēĶ—ŌĢ_ŅŅ€ĐŊ_ŅˆĶ‘Đŧ".split("_"),weekdaysMin:"Đ˛Ņ€_Ņ‚ĐŊ_ҋ҂_ŅŽĐŊ_ĐēŌĢ_ŅŅ€_҈Đŧ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—]",LLL:"YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—], HH:mm",LLLL:"dddd, YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—], HH:mm"},calendar:{sameDay:"[ĐŸĐ°ŅĐŊ] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",nextDay:"[ĐĢŅ€Đ°ĐŊ] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",lastDay:"[Ķ–ĐŊĐĩŅ€] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",nextWeek:"[ŌĒĐ¸Ņ‚Đĩҁ] dddd LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",lastWeek:"[Đ˜Ņ€Ņ‚ĐŊĶ—] dddd LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",sameElse:"L"},relativeTime:{future:function(a){var b=/ҁĐĩŅ…ĐĩŅ‚$/i.exec(a)?"Ņ€ĐĩĐŊ":/ŌĢ҃Đģ$/i.exec(a)?"Ņ‚Đ°ĐŊ":"Ņ€Đ°ĐŊ";return a+b},past:"%s ĐēĐ°ŅĐģĐģа",s:"ĐŋĶ—Ņ€-иĐē ŌĢĐĩĐēĐē҃ĐŊŅ‚",m:"ĐŋĶ—Ņ€ ĐŧиĐŊŅƒŅ‚",mm:"%d ĐŧиĐŊŅƒŅ‚",h:"ĐŋĶ—Ņ€ ҁĐĩŅ…ĐĩŅ‚",hh:"%d ҁĐĩŅ…ĐĩŅ‚",d:"ĐŋĶ—Ņ€ Đē҃ĐŊ",dd:"%d Đē҃ĐŊ",M:"ĐŋĶ—Ņ€ ŅƒĐšĶ‘Ņ…",MM:"%d ŅƒĐšĶ‘Ņ…",y:"ĐŋĶ—Ņ€ ŌĢ҃Đģ",yy:"%d ŌĢ҃Đģ"},ordinalParse:/\d{1,2}-ĐŧĶ—Ņˆ/,ordinal:"%d-ĐŧĶ—Ņˆ",week:{dow:1,doy:7}}),uf.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}}),uf.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I gÃĨr kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"fÃĨ sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en mÃĨned",MM:"%d mÃĨneder",y:"et ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Tc,mm:"%d Minuten",h:Tc,hh:"%d Stunden",d:Tc,dd:Tc,M:Tc,MM:Tc,y:Tc,yy:Tc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Uc,mm:"%d Minuten",h:Uc,hh:"%d Stunden",d:Uc,dd:Uc,M:Uc,MM:Uc,y:Uc,yy:Uc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("el",{monthsNominativeEl:"ΙαÎŊÎŋĪ…ÎŦĪÎšÎŋĪ‚_ÎĻÎĩÎ˛ĪÎŋĪ…ÎŦĪÎšÎŋĪ‚_ΜÎŦĪĪ„ÎšÎŋĪ‚_Î‘Ī€ĪÎ¯ÎģΚÎŋĪ‚_ΜÎŦΚÎŋĪ‚_ΙÎŋĪÎŊΚÎŋĪ‚_ΙÎŋĪÎģΚÎŋĪ‚_Î‘ĪÎŗÎŋĪ…ĪƒĪ„ÎŋĪ‚_ÎŖÎĩĪ€Ī„Î­ÎŧÎ˛ĪÎšÎŋĪ‚_ΟÎēĪ„ĪŽÎ˛ĪÎšÎŋĪ‚_ΝÎŋέÎŧÎ˛ĪÎšÎŋĪ‚_ΔÎĩÎēέÎŧÎ˛ĪÎšÎŋĪ‚".split("_"),monthsGenitiveEl:"ΙαÎŊÎŋĪ…ÎąĪÎ¯ÎŋĪ…_ÎĻÎĩÎ˛ĪÎŋĪ…ÎąĪÎ¯ÎŋĪ…_ÎœÎąĪĪ„Î¯ÎŋĪ…_Î‘Ī€ĪÎšÎģίÎŋĪ…_ΜαΐÎŋĪ…_ΙÎŋĪ…ÎŊίÎŋĪ…_ΙÎŋĪ…ÎģίÎŋĪ…_Î‘Ī…ÎŗÎŋĪĪƒĪ„ÎŋĪ…_ÎŖÎĩ΀΄ÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…_ΟÎēĪ„Ī‰Î˛ĪÎ¯ÎŋĪ…_ΝÎŋÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…_ΔÎĩÎēÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"ΙαÎŊ_ÎĻÎĩβ_ÎœÎąĪ_Î‘Ī€Ī_ÎœÎąĪŠ_ΙÎŋĪ…ÎŊ_ΙÎŋĪ…Îģ_Î‘Ī…Îŗ_ÎŖÎĩĪ€_ΟÎēĪ„_ΝÎŋÎĩ_ΔÎĩÎē".split("_"),weekdays:"ÎšĪ…ĪÎšÎąÎēÎŽ_ΔÎĩĪ…Ī„Î­ĪÎą_Î¤ĪÎ¯Ī„Îˇ_ΤÎĩĪ„ÎŦĪĪ„Îˇ_ΠέÎŧĪ€Ī„Îˇ_Î ÎąĪÎąĪƒÎēÎĩĪ…ÎŽ_ÎŖÎŦÎ˛Î˛ÎąĪ„Îŋ".split("_"),weekdaysShort:"ÎšĪ…Ī_ΔÎĩĪ…_Î¤ĪÎš_ΤÎĩĪ„_ΠÎĩÎŧ_Î ÎąĪ_ÎŖÎąÎ˛".split("_"),weekdaysMin:"ÎšĪ…_ΔÎĩ_Î¤Ī_ΤÎĩ_ΠÎĩ_Πι_ÎŖÎą".split("_"),meridiem:function(a,b,c){return a>11?c?"ÎŧÎŧ":"ΜΜ":c?"Ī€Îŧ":"ΠΜ"},isPM:function(a){return"Îŧ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[ÎŖÎŽÎŧÎĩĪÎą {}] LT",nextDay:"[Î‘ĪĪÎšÎŋ {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[ΧθÎĩĪ‚ {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[Ī„Îŋ ΀΁ÎŋÎˇÎŗÎŋĪÎŧÎĩÎŊÎŋ] dddd [{}] LT";default:return"[Ī„ÎˇÎŊ ΀΁ÎŋÎˇÎŗÎŋĪÎŧÎĩÎŊΡ] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return"function"==typeof c&&(c=c.apply(b)),c.replace("{}",d%12===1?"ĪƒĪ„Îˇ":"ĪƒĪ„ÎšĪ‚")},relativeTime:{future:"΃Îĩ %s",past:"%s Ī€ĪÎšÎŊ",s:"ÎģÎ¯ÎŗÎą δÎĩĪ…Ī„Îĩ΁ΌÎģÎĩĪ€Ī„Îą",m:"έÎŊÎą ÎģÎĩĪ€Ī„ĪŒ",mm:"%d ÎģÎĩ΀΄ÎŦ",h:"ÎŧÎ¯Îą ĪŽĪÎą",hh:"%d ĪŽĪÎĩĪ‚",d:"ÎŧÎ¯Îą ÎŧÎ­ĪÎą",dd:"%d ÎŧÎ­ĪÎĩĪ‚",M:"έÎŊÎąĪ‚ ÎŧÎŽÎŊÎąĪ‚",MM:"%d ÎŧÎŽÎŊÎĩĪ‚",y:"έÎŊÎąĪ‚ Ī‡ĪĪŒÎŊÎŋĪ‚",yy:"%d Ī‡ĪĪŒÎŊΚι"},ordinalParse:/\d{1,2}Ρ/,ordinal:"%dΡ",week:{dow:1,doy:4}}),uf.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY h:mm A",LLLL:"dddd, D MMMM, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),uf.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ä´aÅ­do_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ä´aÅ­_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ä´a_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-an de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[HodiaÅ­ je] LT",nextDay:"[MorgaÅ­ je] LT",nextWeek:"dddd [je] LT",lastDay:"[HieraÅ­ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaÅ­ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}}),"Ene._Feb._Mar._Abr._May._Jun._Jul._Ago._Sep._Oct._Nov._Dic.".split("_")),Lf="Ene_Feb_Mar_Abr_May_Jun_Jul_Ago_Sep_Oct_Nov_Dic".split("_"),Mf=(uf.defineLocale("es",{months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Lf[a.month()]:Kf[a.month()]},weekdays:"Domingo_Lunes_Martes_MiÊrcoles_Jueves_Viernes_SÃĄbado".split("_"),weekdaysShort:"Dom._Lun._Mar._MiÊ._Jue._Vie._SÃĄb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_SÃĄ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[maÃąana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un aÃąo",yy:"%d aÃąos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pÃŧhapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:Vc,m:Vc,mm:Vc,h:Vc,hh:Vc,d:Vc,dd:"%d päeva",M:Vc,MM:Vc,y:Vc,yy:Vc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]", -lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{1:"Ûą",2:"Û˛",3:"Ûŗ",4:"Û´",5:"Ûĩ",6:"Ûļ",7:"Ûˇ",8:"Û¸",9:"Ûš",0:"Û°"}),Nf={"Ûą":"1","Û˛":"2","Ûŗ":"3","Û´":"4","Ûĩ":"5","Ûļ":"6","Ûˇ":"7","Û¸":"8","Ûš":"9","Û°":"0"},Of=(uf.defineLocale("fa",{months:"Ú˜Ø§Ų†ŲˆÛŒŲ‡_ŲŲˆØąÛŒŲ‡_Ų…Ø§ØąØŗ_ØĸŲˆØąÛŒŲ„_Ų…Ų‡_Ú˜ŲˆØĻŲ†_Ú˜ŲˆØĻÛŒŲ‡_Ø§ŲˆØĒ_ØŗŲžØĒØ§Ų…Ø¨Øą_اڊØĒØ¨Øą_Ų†ŲˆØ§Ų…Ø¨Øą_Ø¯ØŗØ§Ų…Ø¨Øą".split("_"),monthsShort:"Ú˜Ø§Ų†ŲˆÛŒŲ‡_ŲŲˆØąÛŒŲ‡_Ų…Ø§ØąØŗ_ØĸŲˆØąÛŒŲ„_Ų…Ų‡_Ú˜ŲˆØĻŲ†_Ú˜ŲˆØĻÛŒŲ‡_Ø§ŲˆØĒ_ØŗŲžØĒØ§Ų…Ø¨Øą_اڊØĒØ¨Øą_Ų†ŲˆØ§Ų…Ø¨Øą_Ø¯ØŗØ§Ų…Ø¨Øą".split("_"),weekdays:"ÛŒÚŠâ€ŒØ´Ų†Ø¨Ų‡_Ø¯ŲˆØ´Ų†Ø¨Ų‡_ØŗŲ‡â€ŒØ´Ų†Ø¨Ų‡_Ú†Ų‡Ø§ØąØ´Ų†Ø¨Ų‡_ŲžŲ†ØŦâ€ŒØ´Ų†Ø¨Ų‡_ØŦŲ…ØšŲ‡_Ø´Ų†Ø¨Ų‡".split("_"),weekdaysShort:"ÛŒÚŠâ€ŒØ´Ų†Ø¨Ų‡_Ø¯ŲˆØ´Ų†Ø¨Ų‡_ØŗŲ‡â€ŒØ´Ų†Ø¨Ų‡_Ú†Ų‡Ø§ØąØ´Ų†Ø¨Ų‡_ŲžŲ†ØŦâ€ŒØ´Ų†Ø¨Ų‡_ØŦŲ…ØšŲ‡_Ø´Ų†Ø¨Ų‡".split("_"),weekdaysMin:"ی_د_Øŗ_چ_Ųž_ØŦ_Ø´".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/Ų‚Ø¨Ų„ Ø§Ø˛ Ø¸Ų‡Øą|بؚد Ø§Ø˛ Ø¸Ų‡Øą/,isPM:function(a){return/بؚد Ø§Ø˛ Ø¸Ų‡Øą/.test(a)},meridiem:function(a,b,c){return 12>a?"Ų‚Ø¨Ų„ Ø§Ø˛ Ø¸Ų‡Øą":"بؚد Ø§Ø˛ Ø¸Ų‡Øą"},calendar:{sameDay:"[Ø§Ų…ØąŲˆØ˛ ØŗØ§ØšØĒ] LT",nextDay:"[ŲØąØ¯Ø§ ØŗØ§ØšØĒ] LT",nextWeek:"dddd [ØŗØ§ØšØĒ] LT",lastDay:"[Ø¯ÛŒØąŲˆØ˛ ØŗØ§ØšØĒ] LT",lastWeek:"dddd [ŲžÛŒØ´] [ØŗØ§ØšØĒ] LT",sameElse:"L"},relativeTime:{future:"Ø¯Øą %s",past:"%s ŲžÛŒØ´",s:"Ú†Ų†Ø¯ÛŒŲ† ØĢØ§Ų†ÛŒŲ‡",m:"یڊ Ø¯Ų‚ÛŒŲ‚Ų‡",mm:"%d Ø¯Ų‚ÛŒŲ‚Ų‡",h:"یڊ ØŗØ§ØšØĒ",hh:"%d ØŗØ§ØšØĒ",d:"یڊ ØąŲˆØ˛",dd:"%d ØąŲˆØ˛",M:"یڊ Ų…Ø§Ų‡",MM:"%d Ų…Ø§Ų‡",y:"یڊ ØŗØ§Ų„",yy:"%d ØŗØ§Ų„"},preparse:function(a){return a.replace(/[Û°-Ûš]/g,function(a){return Nf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Mf[a]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}Ų…/,ordinal:"%dŲ…",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" ")),Pf=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",Of[7],Of[8],Of[9]],Qf=(uf.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Wc,m:Wc,mm:Wc,h:Wc,hh:Wc,d:Wc,dd:Wc,M:Wc,MM:Wc,y:Wc,yy:Wc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mÃĄnadagur_tÃŊsdagur_mikudagur_hÃŗsdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mÃĄn_tÃŊs_mik_hÃŗs_frí_ley".split("_"),weekdaysMin:"su_mÃĄ_tÃŊ_mi_hÃŗ_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjÃĄr kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fÃĄ sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mÃĄnaði",MM:"%d mÃĄnaðir",y:"eitt ÃĄr",yy:"%d ÃĄr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("fr-ca",{months:"janvier_fÊvrier_mars_avril_mai_juin_juillet_aoÃģt_septembre_octobre_novembre_dÊcembre".split("_"),monthsShort:"janv._fÊvr._mars_avr._mai_juin_juil._aoÃģt_sept._oct._nov._dÊc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}}),uf.defineLocale("fr",{months:"janvier_fÊvrier_mars_avril_mai_juin_juillet_aoÃģt_septembre_octobre_novembre_dÊcembre".split("_"),monthsShort:"janv._fÊvr._mars_avr._mai_juin_juil._aoÃģt_sept._oct._nov._dÊc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),Rf="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),Sf=(uf.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Rf[a.month()]:Qf[a.month()]},weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrÃģne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minÃēt",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_XuÃąo_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._XuÃą._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_MÊrcores_Xoves_Venres_SÃĄbado".split("_"),weekdaysShort:"Dom._Lun._Mar._MÊr._Xov._Ven._SÃĄb.".split("_"),weekdaysMin:"Do_Lu_Ma_MÊ_Xo_Ve_SÃĄ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ÃĄs":"ÃĄ")+"] LT"},nextDay:function(){return"[maÃąÃĄ "+(1!==this.hours()?"ÃĄs":"ÃĄ")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ÃĄs":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"ÃĄ":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ÃĄs":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:7}}),uf.defineLocale("he",{months:"ינואר_פברואר_מר×Ĩ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_ד×Ļמבר".split("_"),monthsShort:"ינו׺_פב׍׺_מר×Ĩ_אפ׍׺_מאי_יוני_יולי_אוג׺_×Ą×¤×˜×ŗ_אוק׺_נוב׺_ד×Ļ×ž×ŗ".split("_"),weekdays:"ראשון_שני_שלישי_רבי×ĸי_חמישי_שישי_שב×Ē".split("_"),weekdaysShort:"א׺_ב׺_×’×ŗ_ד׺_×”×ŗ_ו׺_×Š×ŗ".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_׊".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בש×ĸה] LT",lastDay:"[א×Ēמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בש×ĸה] LT",sameElse:"L"},relativeTime:{future:"ב×ĸוד %s",past:"לפני %s",s:"מספר שניו×Ē",m:"דקה",mm:"%d דקו×Ē",h:"׊×ĸה",hh:function(a){return 2===a?"׊×ĸ×Ēיים":a+" ׊×ĸו×Ē"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"׊נ×Ēיים":a%10===0&&10!==a?a+" שנה":a+" שנים"}}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),Tf={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},Uf=(uf.defineLocale("hi",{months:"⤜⤍ā¤ĩ⤰āĨ€_ā¤Ģā¤ŧ⤰ā¤ĩ⤰āĨ€_ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°āĨˆā¤˛_ā¤Žā¤ˆ_⤜āĨ‚⤍_⤜āĨā¤˛ā¤žā¤ˆ_⤅⤗⤏āĨā¤¤_⤏ā¤ŋā¤¤ā¤ŽāĨā¤Ŧ⤰_⤅⤕āĨā¤ŸāĨ‚ā¤Ŧ⤰_⤍ā¤ĩā¤ŽāĨā¤Ŧ⤰_ā¤Ļā¤ŋā¤¸ā¤ŽāĨā¤Ŧ⤰".split("_"),monthsShort:"⤜⤍._ā¤Ģā¤ŧ⤰._ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°āĨˆ._ā¤Žā¤ˆ_⤜āĨ‚⤍_⤜āĨā¤˛._⤅⤗._⤏ā¤ŋ⤤._⤅⤕āĨā¤ŸāĨ‚._⤍ā¤ĩ._ā¤Ļā¤ŋ⤏.".split("_"),weekdays:"⤰ā¤ĩā¤ŋā¤ĩā¤žā¤°_⤏āĨ‹ā¤Žā¤ĩā¤žā¤°_ā¤Žā¤‚ā¤—ā¤˛ā¤ĩā¤žā¤°_ā¤ŦāĨā¤§ā¤ĩā¤žā¤°_⤗āĨā¤°āĨ‚ā¤ĩā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤ĩā¤žā¤°_ā¤ļ⤍ā¤ŋā¤ĩā¤žā¤°".split("_"),weekdaysShort:"⤰ā¤ĩā¤ŋ_⤏āĨ‹ā¤Ž_ā¤Žā¤‚ā¤—ā¤˛_ā¤ŦāĨā¤§_⤗āĨā¤°āĨ‚_ā¤ļāĨā¤•āĨā¤°_ā¤ļ⤍ā¤ŋ".split("_"),weekdaysMin:"⤰_⤏āĨ‹_ā¤Žā¤‚_ā¤ŦāĨ_⤗āĨ_ā¤ļāĨ_ā¤ļ".split("_"),longDateFormat:{LT:"A h:mm ā¤Ŧ⤜āĨ‡",LTS:"A h:mm:ss ā¤Ŧ⤜āĨ‡",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ā¤Ŧ⤜āĨ‡",LLLL:"dddd, D MMMM YYYY, A h:mm ā¤Ŧ⤜āĨ‡"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤕⤞] LT",nextWeek:"dddd, LT",lastDay:"[⤕⤞] LT",lastWeek:"[ā¤Ēā¤ŋ⤛⤞āĨ‡] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ā¤ŽāĨ‡ā¤‚",past:"%s ā¤Ēā¤šā¤˛āĨ‡",s:"⤕āĨā¤› ā¤šāĨ€ ⤕āĨā¤ˇā¤Ŗ",m:"ā¤ā¤• ā¤Žā¤ŋ⤍⤟",mm:"%d ā¤Žā¤ŋ⤍⤟",h:"ā¤ā¤• ā¤˜ā¤‚ā¤Ÿā¤ž",hh:"%d ā¤˜ā¤‚ā¤ŸāĨ‡",d:"ā¤ā¤• ā¤Ļā¤ŋ⤍",dd:"%d ā¤Ļā¤ŋ⤍",M:"ā¤ā¤• ā¤Žā¤šāĨ€ā¤¨āĨ‡",MM:"%d ā¤Žā¤šāĨ€ā¤¨āĨ‡",y:"ā¤ā¤• ā¤ĩ⤰āĨā¤ˇ",yy:"%d ā¤ĩ⤰āĨā¤ˇ"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return Tf[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Sf[a]})},meridiemParse:/ā¤°ā¤žā¤¤|⤏āĨā¤Ŧā¤š|ā¤ĻāĨ‹ā¤Ēā¤šā¤°|ā¤ļā¤žā¤Ž/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤"===b?4>a?a:a+12:"⤏āĨā¤Ŧā¤š"===b?a:"ā¤ĻāĨ‹ā¤Ēā¤šā¤°"===b?a>=10?a:a+12:"ā¤ļā¤žā¤Ž"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ā¤°ā¤žā¤¤":10>a?"⤏āĨā¤Ŧā¤š":17>a?"ā¤ĻāĨ‹ā¤Ēā¤šā¤°":20>a?"ā¤ļā¤žā¤Ž":"ā¤°ā¤žā¤¤"},week:{dow:0,doy:6}}),uf.defineLocale("hr",{months:"siječanj_veljača_oÅžujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sij._velj._oÅžu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅĄlu] dddd [u] LT";case 6:return"[proÅĄle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅĄli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Yc,mm:Yc,h:Yc,hh:Yc,d:"dan",dd:Yc,M:"mjesec",MM:Yc,y:"godinu",yy:Yc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),"vasÃĄrnap hÊtfőn kedden szerdÃĄn csÃŧtÃļrtÃļkÃļn pÊnteken szombaton".split(" ")),Vf=(uf.defineLocale("hu",{months:"januÃĄr_februÃĄr_mÃĄrcius_ÃĄprilis_mÃĄjus_jÃēnius_jÃēlius_augusztus_szeptember_oktÃŗber_november_december".split("_"),monthsShort:"jan_feb_mÃĄrc_ÃĄpr_mÃĄj_jÃēn_jÃēl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasÃĄrnap_hÊtfő_kedd_szerda_csÃŧtÃļrtÃļk_pÊntek_szombat".split("_"),weekdaysShort:"vas_hÊt_kedd_sze_csÃŧt_pÊn_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return $c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return $c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s mÃēlva",past:"%s",s:Zc,m:Zc,mm:Zc,h:Zc,hh:Zc,d:Zc,dd:Zc,M:Zc,MM:Zc,y:Zc,yy:Zc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("hy-am",{months:_c,monthsShort:ad,weekdays:bd,weekdaysShort:"կրկ_ÕĨրկ_ÕĨրք_ÕšÖ€Ö„_Õ°ÕļÕŖ_ուրÕĸ_ÕˇÕĸÕŠ".split("_"),weekdaysMin:"կրկ_ÕĨրկ_ÕĨրք_ÕšÖ€Ö„_Õ°ÕļÕŖ_ուրÕĸ_ÕˇÕĸÕŠ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY ÕŠ.",LLL:"D MMMM YYYY ÕŠ., HH:mm",LLLL:"dddd, D MMMM YYYY ÕŠ., HH:mm"},calendar:{sameDay:"[ÕĄÕĩÕŊօր] LT",nextDay:"[ÕžÕĄÕ˛Õ¨] LT",lastDay:"[ÕĨրÕĨÕ¯] LT",nextWeek:function(){return"dddd [օրը ÕĒÕĄÕ´Õ¨] LT"},lastWeek:function(){return"[ÕĄÕļÖÕĄÕŽ] dddd [օրը ÕĒÕĄÕ´Õ¨] LT"},sameElse:"L"},relativeTime:{future:"%s Õ°ÕĨÕŋÕ¸",past:"%s ÕĄÕŧÕĄÕģ",s:"Õ´ÕĢ Ö„ÕĄÕļÕĢ ÕžÕĄÕĩրկÕĩÕĄÕļ",m:"րոÕēÕĨ",mm:"%d րոÕēÕĨ",h:"ÕĒÕĄÕ´",hh:"%d ÕĒÕĄÕ´",d:"օր",dd:"%d օր",M:"ÕĄÕ´ÕĢÕŊ",MM:"%d ÕĄÕ´ÕĢÕŊ",y:"ÕŋÕĄÖ€ÕĢ",yy:"%d ÕŋÕĄÖ€ÕĢ"},meridiemParse:/ÕŖÕĢÕˇÕĨÖ€ÕžÕĄ|ÕĄÕŧÕĄÕžÕ¸ÕŋÕžÕĄ|ցÕĨրÕĨÕ¯ÕžÕĄ|ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ/,isPM:function(a){return/^(ցÕĨրÕĨÕ¯ÕžÕĄ|ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ)$/.test(a)},meridiem:function(a){return 4>a?"ÕŖÕĢÕˇÕĨÖ€ÕžÕĄ":12>a?"ÕĄÕŧÕĄÕžÕ¸ÕŋÕžÕĄ":17>a?"ցÕĨրÕĨÕ¯ÕžÕĄ":"ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ"},ordinalParse:/\d{1,2}|\d{1,2}-(ÕĢÕļ|րդ)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ÕĢÕļ":a+"-րդ";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),uf.defineLocale("is",{months:"janÃēar_febrÃēar_mars_apríl_maí_jÃēní_jÃēlí_ÃĄgÃēst_september_oktÃŗber_nÃŗvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jÃēn_jÃēl_ÃĄgÃē_sep_okt_nÃŗv_des".split("_"),weekdays:"sunnudagur_mÃĄnudagur_Þriðjudagur_miðvikudagur_fimmtudagur_fÃļstudagur_laugardagur".split("_"),weekdaysShort:"sun_mÃĄn_Þri_mið_fim_fÃļs_lau".split("_"),weekdaysMin:"Su_MÃĄ_Þr_Mi_Fi_FÃļ_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[ÃĄ morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gÃĻr kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:dd,m:dd,mm:dd,h:"klukkustund",hh:dd,d:dd,dd:dd,M:dd,MM:dd,y:dd,yy:dd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_LunedÃŦ_MartedÃŦ_MercoledÃŦ_GiovedÃŦ_VenerdÃŦ_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"æ—Ĩ曜æ—Ĩ_月曜æ—Ĩ_įĢ曜æ—Ĩ_水曜æ—Ĩ_木曜æ—Ĩ_金曜æ—Ĩ_土曜æ—Ĩ".split("_"),weekdaysShort:"æ—Ĩ_月_įĢ_æ°´_木_金_土".split("_"),weekdaysMin:"æ—Ĩ_月_įĢ_æ°´_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分sį§’",L:"YYYY/MM/DD",LL:"YYYYåš´M月Dæ—Ĩ",LLL:"YYYYåš´M月Dæ—ĨAh時m分",LLLL:"YYYYåš´M月Dæ—ĨAh時m分 dddd"},meridiemParse:/午前|午垌/i,isPM:function(a){return"午垌"===a},meridiem:function(a,b,c){return 12>a?"午前":"午垌"},calendar:{sameDay:"[ä슿—Ĩ] LT",nextDay:"[明æ—Ĩ] LT",nextWeek:"[æĨ週]dddd LT",lastDay:"[昨æ—Ĩ] LT",lastWeek:"[å‰é€ą]dddd LT",sameElse:"L"},relativeTime:{future:"%s垌",past:"%s前",s:"æ•°į§’",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1æ—Ĩ",dd:"%dæ—Ĩ",M:"1ãƒļ月",MM:"%dãƒļ月",y:"1åš´",yy:"%dåš´"}}),uf.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"enjing":15>a?"siyang":19>a?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),uf.defineLocale("ka",{months:ed,monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სეáƒĨ_ოáƒĨáƒĸ_ნოე_დეკ".split("_"),weekdays:fd,weekdaysShort:"კვი_ორშ_სამ_ოთხ_áƒŽáƒŖáƒ—_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_ქა_ოთ_áƒŽáƒŖ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დáƒĻეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[áƒ’áƒŖáƒ¨áƒ˜áƒœ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[áƒŦინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(a){return/(áƒŦამი|áƒŦáƒŖáƒ—áƒ˜|საათი|áƒŦელი)/.test(a)?a.replace(/ი$/,"ში"):a+"ში"},past:function(a){return/(áƒŦამი|áƒŦáƒŖáƒ—áƒ˜|საათი|დáƒĻე|თვე)/.test(a)?a.replace(/(ი|ე)$/,"იქ áƒŦინ"):/áƒŦელი/.test(a)?a.replace(/áƒŦელი$/,"áƒŦლის áƒŦინ"):void 0},s:"რამდენიმე áƒŦამი",m:"áƒŦáƒŖáƒ—áƒ˜",mm:"%d áƒŦáƒŖáƒ—áƒ˜",h:"საათი",hh:"%d საათი",d:"დáƒĻე",dd:"%d დáƒĻე",M:"თვე",MM:"%d თვე",y:"áƒŦელი",yy:"%d áƒŦელი"},ordinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+"-ლი":20>a||100>=a&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}}),uf.defineLocale("km",{months:"មករážļ_កážģម្ភៈ_មិនážļ_មេសážļ_ឧសភážļ_មិថážģនážļ_កក្កដážļ_សីហážļ_កញ្ញážļ_តážģលážļ_វិច្ឆិកážļ_ធ្នážŧ".split("_"),monthsShort:"មករážļ_កážģម្ភៈ_មិនážļ_មេសážļ_ឧសភážļ_មិថážģនážļ_កក្កដážļ_សីហážļ_កញ្ញážļ_តážģលážļ_វិច្ឆិកážļ_ធ្នážŧ".split("_"),weekdays:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),weekdaysShort:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),weekdaysMin:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនៈ ម៉ោង] LT",nextDay:"[ស្ážĸែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តážļហ៍មážģន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមážģន",s:"ប៉ážģន្មážļនវិនážļទី",m:"មážŊយនážļទី",mm:"%d នážļទី",h:"មážŊយម៉ោង",hh:"%d ម៉ោង",d:"មážŊយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មážŊយខែ",MM:"%d ខែ",y:"មážŊយឆ្នážļំ",yy:"%d ឆ្នážļំ"},week:{dow:1,doy:4}}),uf.defineLocale("ko",{months:"1ė›”_2ė›”_3ė›”_4ė›”_5ė›”_6ė›”_7ė›”_8ė›”_9ė›”_10ė›”_11ė›”_12ė›”".split("_"),monthsShort:"1ė›”_2ė›”_3ė›”_4ė›”_5ė›”_6ė›”_7ė›”_8ė›”_9ė›”_10ė›”_11ė›”_12ė›”".split("_"),weekdays:"ėŧėš”ėŧ_ė›”ėš”ėŧ_í™”ėš”ėŧ_ėˆ˜ėš”ėŧ_ëĒŠėš”ėŧ_ę¸ˆėš”ėŧ_í† ėš”ėŧ".split("_"),weekdaysShort:"ėŧ_ė›”_화_눘_ëĒŠ_금_토".split("_"),weekdaysMin:"ėŧ_ė›”_화_눘_ëĒŠ_금_토".split("_"),longDateFormat:{LT:"A hė‹œ mëļ„",LTS:"A hė‹œ mëļ„ s봈",L:"YYYY.MM.DD",LL:"YYYY년 MMMM Dėŧ",LLL:"YYYY년 MMMM Dėŧ A hė‹œ mëļ„",LLLL:"YYYY년 MMMM Dėŧ dddd A hė‹œ mëļ„"},calendar:{sameDay:"ė˜¤ëŠ˜ LT",nextDay:"내ėŧ LT",nextWeek:"dddd LT",lastDay:"ė–´ė œ LT",lastWeek:"ė§€ë‚œėŖŧ dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s ė „",s:"ëĒ‡ė´ˆ",ss:"%d봈",m:"ėŧëļ„",mm:"%dëļ„",h:"í•œė‹œę°„",hh:"%dė‹œę°„",d:"í•˜ëŖ¨",dd:"%dėŧ",M:"한ë‹Ŧ",MM:"%dë‹Ŧ",y:"ėŧ년",yy:"%d년"},ordinalParse:/\d{1,2}ėŧ/,ordinal:"%dėŧ",meridiemParse:/ė˜¤ė „|ė˜¤í›„/,isPM:function(a){return"ė˜¤í›„"===a},meridiem:function(a,b,c){return 12>a?"ė˜¤ė „":"ė˜¤í›„"}}),uf.defineLocale("lb",{months:"Januar_Februar_Mäerz_AbrÃĢll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonndeg_MÊindeg_DÃĢnschdeg_MÃĢttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._MÊ._DÃĢ._MÃĢ._Do._Fr._Sa.".split("_"),weekdaysMin:"So_MÊ_DÃĢ_MÃĢ_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[GÃĢschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:hd,past:id,s:"e puer Sekonnen",m:gd,mm:"%d Minutten",h:gd,hh:"%d Stonnen",d:gd,dd:"%d Deeg",M:gd,MM:"%d MÊint",y:gd,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{m:"minutė_minutės_minutę",mm:"minutės_minučiÅŗ_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandÅŗ_valandas",d:"diena_dienos_dieną",dd:"dienos_dienÅŗ_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesiÅŗ_mėnesius",y:"metai_metÅŗ_metus",yy:"metai_metÅŗ_metus"}),Wf="sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_ÅĄeÅĄtadienis".split("_"),Xf=(uf.defineLocale("lt",{months:ld,monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:qd,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Å eÅĄ".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Å ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Å iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieÅĄ %s",s:kd,m:md,mm:pd,h:md,hh:pd,d:md,dd:pd,M:md,MM:pd,y:md,yy:pd},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}}),{m:"minÅĢtes_minÅĢtēm_minÅĢte_minÅĢtes".split("_"),mm:"minÅĢtes_minÅĢtēm_minÅĢte_minÅĢtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneÅĄa_mēneÅĄiem_mēnesis_mēneÅĄi".split("_"),MM:"mēneÅĄa_mēneÅĄiem_mēnesis_mēneÅĄi".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")}),Yf=(uf.defineLocale("lv",{months:"janvāris_februāris_marts_aprÄĢlis_maijs_jÅĢnijs_jÅĢlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jÅĢn_jÅĢl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_treÅĄdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Å odien pulksten] LT",nextDay:"[RÄĢt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[PagājuÅĄÄ] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:ud,m:td,mm:sd,h:td,hh:sd,d:td,dd:sd,M:td,MM:sd,y:td,yy:sd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=Yf.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Yf.correctGrammaticalCase(a,d)}}),Zf=(uf.defineLocale("me",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sri.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[proÅĄle] [nedjelje] [u] LT","[proÅĄlog] [ponedjeljka] [u] LT","[proÅĄlog] [utorka] [u] LT","[proÅĄle] [srijede] [u] LT","[proÅĄlog] [četvrtka] [u] LT","[proÅĄlog] [petka] [u] LT","[proÅĄle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:Yf.translate,mm:Yf.translate,h:Yf.translate,hh:Yf.translate,d:"dan",dd:Yf.translate,M:"mjesec",MM:Yf.translate,y:"godinu",yy:Yf.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("mk",{months:"Ņ˜Đ°ĐŊŅƒĐ°Ņ€Đ¸_Ņ„ĐĩĐ˛Ņ€ŅƒĐ°Ņ€Đ¸_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€Đ¸Đģ_ĐŧĐ°Ņ˜_Ҙ҃ĐŊи_Ҙ҃Đģи_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŋŅ‚ĐĩĐŧĐ˛Ņ€Đ¸_ĐžĐēŅ‚ĐžĐŧĐ˛Ņ€Đ¸_ĐŊĐžĐĩĐŧĐ˛Ņ€Đ¸_Đ´ĐĩĐēĐĩĐŧĐ˛Ņ€Đ¸".split("_"),monthsShort:"Ņ˜Đ°ĐŊ_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧĐ°Ņ˜_Ҙ҃ĐŊ_Ҙ҃Đģ_Đ°Đ˛Đŗ_ҁĐĩĐŋ_ĐžĐēŅ‚_ĐŊĐžĐĩ_Đ´ĐĩĐē".split("_"),weekdays:"ĐŊĐĩĐ´ĐĩĐģа_ĐŋĐžĐŊĐĩĐ´ĐĩĐģĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩда_҇ĐĩŅ‚Đ˛Ņ€Ņ‚ĐžĐē_ĐŋĐĩŅ‚ĐžĐē_ŅĐ°ĐąĐžŅ‚Đ°".split("_"),weekdaysShort:"ĐŊĐĩĐ´_ĐŋĐžĐŊ_Đ˛Ņ‚Đž_ҁҀĐĩ_҇ĐĩŅ‚_ĐŋĐĩŅ‚_ŅĐ°Đą".split("_"),weekdaysMin:"ĐŊe_Đŋo_Đ˛Ņ‚_ҁҀ_҇Đĩ_ĐŋĐĩ_ҁa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ДĐĩĐŊĐĩҁ вО] LT",nextDay:"[ĐŖŅ‚Ņ€Đĩ вО] LT",nextWeek:"dddd [вО] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° вО] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Во иСĐŧиĐŊĐ°Ņ‚Đ°Ņ‚Đ°] dddd [вО] LT";case 1:case 2:case 4:case 5:return"[Во иСĐŧиĐŊĐ°Ņ‚Đ¸ĐžŅ‚] dddd [вО] LT"}},sameElse:"L"},relativeTime:{future:"ĐŋĐžŅĐģĐĩ %s",past:"ĐŋŅ€ĐĩĐ´ %s",s:"ĐŊĐĩĐēĐžĐģĐē҃ ҁĐĩĐē҃ĐŊди",m:"ĐŧиĐŊŅƒŅ‚Đ°",mm:"%d ĐŧиĐŊŅƒŅ‚Đ¸",h:"Ņ‡Đ°Ņ",hh:"%d Ņ‡Đ°ŅĐ°",d:"Đ´ĐĩĐŊ",dd:"%d Đ´ĐĩĐŊа",M:"ĐŧĐĩҁĐĩ҆",MM:"%d ĐŧĐĩҁĐĩŅ†Đ¸",y:"ĐŗĐžĐ´Đ¸ĐŊа",yy:"%d ĐŗĐžĐ´Đ¸ĐŊи"},ordinalParse:/\d{1,2}-(Đĩв|ĐĩĐŊ|Ņ‚Đ¸|ви|Ņ€Đ¸|Đŧи)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-Đĩв":0===c?a+"-ĐĩĐŊ":c>10&&20>c?a+"-Ņ‚Đ¸":1===b?a+"-ви":2===b?a+"-Ņ€Đ¸":7===b||8===b?a+"-Đŧи":a+"-Ņ‚Đ¸"},week:{dow:1,doy:7}}),uf.defineLocale("ml",{months:"ⴜⴍāĩā´ĩā´°ā´ŋ_ā´Ģāĩ†ā´Ŧāĩā´°āĩā´ĩā´°ā´ŋ_ā´Žā´žāĩŧⴚāĩā´šāĩ_ā´ā´Ēāĩā´°ā´ŋāĩŊ_ā´Žāĩ‡ā´¯āĩ_ⴜāĩ‚āĩē_ⴜāĩ‚ā´˛āĩˆ_ā´“ā´—ā´¸āĩā´ąāĩā´ąāĩ_ā´¸āĩ†ā´Ēāĩā´ąāĩā´ąā´‚ā´Ŧāĩŧ_ā´’ā´•āĩā´Ÿāĩ‹ā´Ŧāĩŧ_ā´¨ā´ĩā´‚ā´Ŧāĩŧ_ā´Ąā´ŋⴏⴂā´Ŧāĩŧ".split("_"),monthsShort:"ⴜⴍāĩ._ā´Ģāĩ†ā´Ŧāĩā´°āĩ._ā´Žā´žāĩŧ._ā´ā´Ēāĩā´°ā´ŋ._ā´Žāĩ‡ā´¯āĩ_ⴜāĩ‚āĩē_ⴜāĩ‚ā´˛āĩˆ._ā´“ā´—._ā´¸āĩ†ā´Ēāĩā´ąāĩā´ą._ā´’ā´•āĩā´Ÿāĩ‹._ā´¨ā´ĩā´‚._ā´Ąā´ŋⴏⴂ.".split("_"),weekdays:"ā´žā´žā´¯ā´ąā´žā´´āĩā´š_ā´¤ā´ŋā´™āĩā´•ā´ŗā´žā´´āĩā´š_ⴚāĩŠā´ĩāĩā´ĩā´žā´´āĩā´š_ā´Ŧāĩā´§ā´¨ā´žā´´āĩā´š_ā´ĩāĩā´¯ā´žā´´ā´žā´´āĩā´š_ā´ĩāĩ†ā´ŗāĩā´ŗā´ŋā´¯ā´žā´´āĩā´š_ā´ļā´¨ā´ŋā´¯ā´žā´´āĩā´š".split("_"),weekdaysShort:"ā´žā´žā´¯āĩŧ_ā´¤ā´ŋā´™āĩā´•āĩž_ⴚāĩŠā´ĩāĩā´ĩ_ā´Ŧāĩā´§āĩģ_ā´ĩāĩā´¯ā´žā´´ā´‚_ā´ĩāĩ†ā´ŗāĩā´ŗā´ŋ_ā´ļā´¨ā´ŋ".split("_"),weekdaysMin:"ā´žā´ž_ā´¤ā´ŋ_ⴚāĩŠ_ā´Ŧāĩ_ā´ĩāĩā´¯ā´ž_ā´ĩāĩ†_ā´ļ".split("_"),longDateFormat:{LT:"A h:mm -ā´¨āĩ",LTS:"A h:mm:ss -ā´¨āĩ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -ā´¨āĩ",LLLL:"dddd, D MMMM YYYY, A h:mm -ā´¨āĩ"},calendar:{sameDay:"[ⴇⴍāĩā´¨āĩ] LT",nextDay:"[ā´¨ā´žā´ŗāĩ†] LT",nextWeek:"dddd, LT",lastDay:"[ⴇⴍāĩā´¨ā´˛āĩ†] LT",lastWeek:"[ā´•ā´´ā´ŋā´žāĩā´ž] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ā´•ā´´ā´ŋā´žāĩā´žāĩ",past:"%s ā´Žāĩāĩģā´Ēāĩ",s:"ā´…āĩŊā´Ē ā´¨ā´ŋā´Žā´ŋⴎⴙāĩā´™āĩž",m:"ā´’ā´°āĩ ā´Žā´ŋā´¨ā´ŋā´ąāĩā´ąāĩ",mm:"%d ā´Žā´ŋā´¨ā´ŋā´ąāĩā´ąāĩ",h:"ā´’ā´°āĩ ā´Žā´Ŗā´ŋā´•āĩā´•āĩ‚āĩŧ",hh:"%d ā´Žā´Ŗā´ŋā´•āĩā´•āĩ‚āĩŧ",d:"ā´’ā´°āĩ ā´Ļā´ŋā´ĩⴏⴂ",dd:"%d ā´Ļā´ŋā´ĩⴏⴂ",M:"ā´’ā´°āĩ ā´Žā´žā´¸ā´‚",MM:"%d ā´Žā´žā´¸ā´‚",y:"ā´’ā´°āĩ ā´ĩāĩŧⴎⴂ",yy:"%d ā´ĩāĩŧⴎⴂ"},meridiemParse:/ā´°ā´žā´¤āĩā´°ā´ŋ|ā´°ā´žā´ĩā´ŋā´˛āĩ†|ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ|ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚|ā´°ā´žā´¤āĩā´°ā´ŋ/i,isPM:function(a){return/^(ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ|ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚|ā´°ā´žā´¤āĩā´°ā´ŋ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ā´°ā´žā´¤āĩā´°ā´ŋ":12>a?"ā´°ā´žā´ĩā´ŋā´˛āĩ†":17>a?"ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ":20>a?"ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚":"ā´°ā´žā´¤āĩā´°ā´ŋ"}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),$f={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},_f=(uf.defineLocale("mr",{months:"ā¤œā¤žā¤¨āĨ‡ā¤ĩā¤žā¤°āĨ€_ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨā¤ĩā¤žā¤°āĨ€_ā¤Žā¤žā¤°āĨā¤š_ā¤ā¤ĒāĨā¤°ā¤ŋ⤞_ā¤ŽāĨ‡_⤜āĨ‚⤍_⤜āĨā¤˛āĨˆ_⤑⤗⤏āĨā¤Ÿ_⤏ā¤ĒāĨā¤ŸāĨ‡ā¤‚ā¤Ŧ⤰_⤑⤕āĨā¤ŸāĨ‹ā¤Ŧ⤰_⤍āĨ‹ā¤ĩāĨā¤šāĨ‡ā¤‚ā¤Ŧ⤰_ā¤Ąā¤ŋ⤏āĨ‡ā¤‚ā¤Ŧ⤰".split("_"),monthsShort:"ā¤œā¤žā¤¨āĨ‡._ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨ._ā¤Žā¤žā¤°āĨā¤š._ā¤ā¤ĒāĨā¤°ā¤ŋ._ā¤ŽāĨ‡._⤜āĨ‚⤍._⤜āĨā¤˛āĨˆ._⤑⤗._⤏ā¤ĒāĨā¤ŸāĨ‡ā¤‚._⤑⤕āĨā¤ŸāĨ‹._⤍āĨ‹ā¤ĩāĨā¤šāĨ‡ā¤‚._ā¤Ąā¤ŋ⤏āĨ‡ā¤‚.".split("_"),weekdays:"⤰ā¤ĩā¤ŋā¤ĩā¤žā¤°_⤏āĨ‹ā¤Žā¤ĩā¤žā¤°_ā¤Žā¤‚ā¤—ā¤ŗā¤ĩā¤žā¤°_ā¤ŦāĨā¤§ā¤ĩā¤žā¤°_⤗āĨā¤°āĨ‚ā¤ĩā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤ĩā¤žā¤°_ā¤ļ⤍ā¤ŋā¤ĩā¤žā¤°".split("_"),weekdaysShort:"⤰ā¤ĩā¤ŋ_⤏āĨ‹ā¤Ž_ā¤Žā¤‚ā¤—ā¤ŗ_ā¤ŦāĨā¤§_⤗āĨā¤°āĨ‚_ā¤ļāĨā¤•āĨā¤°_ā¤ļ⤍ā¤ŋ".split("_"),weekdaysMin:"⤰_⤏āĨ‹_ā¤Žā¤‚_ā¤ŦāĨ_⤗āĨ_ā¤ļāĨ_ā¤ļ".split("_"),longDateFormat:{LT:"A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž",LTS:"A h:mm:ss ā¤ĩā¤žā¤œā¤¤ā¤ž",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž",LLLL:"dddd, D MMMM YYYY, A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤉ā¤ĻāĨā¤¯ā¤ž] LT",nextWeek:"dddd, LT",lastDay:"[ā¤•ā¤žā¤˛] LT",lastWeek:"[ā¤Žā¤žā¤—āĨ€ā¤˛] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ⤍⤂⤤⤰",past:"%s ā¤ĒāĨ‚⤰āĨā¤ĩāĨ€",s:"⤏āĨ‡ā¤•⤂ā¤Ļ",m:"ā¤ā¤• ā¤Žā¤ŋ⤍ā¤ŋ⤟",mm:"%d ā¤Žā¤ŋ⤍ā¤ŋ⤟āĨ‡",h:"ā¤ā¤• ā¤¤ā¤žā¤¸",hh:"%d ā¤¤ā¤žā¤¸",d:"ā¤ā¤• ā¤Ļā¤ŋā¤ĩ⤏",dd:"%d ā¤Ļā¤ŋā¤ĩ⤏",M:"ā¤ā¤• ā¤Žā¤šā¤ŋā¤¨ā¤ž",MM:"%d ā¤Žā¤šā¤ŋ⤍āĨ‡",y:"ā¤ā¤• ā¤ĩ⤰āĨā¤ˇ",yy:"%d ā¤ĩ⤰āĨā¤ˇāĨ‡"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return $f[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Zf[a]})},meridiemParse:/ā¤°ā¤žā¤¤āĨā¤°āĨ€|ā¤¸ā¤•ā¤žā¤ŗāĨ€|ā¤ĻāĨā¤Ēā¤žā¤°āĨ€|ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤āĨā¤°āĨ€"===b?4>a?a:a+12:"ā¤¸ā¤•ā¤žā¤ŗāĨ€"===b?a:"ā¤ĻāĨā¤Ēā¤žā¤°āĨ€"===b?a>=10?a:a+12:"ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ā¤°ā¤žā¤¤āĨā¤°āĨ€":10>a?"ā¤¸ā¤•ā¤žā¤ŗāĨ€":17>a?"ā¤ĻāĨā¤Ēā¤žā¤°āĨ€":20>a?"ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€":"ā¤°ā¤žā¤¤āĨā¤°āĨ€"},week:{dow:0,doy:6}}),uf.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT", -lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),uf.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),{1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"}),ag={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"},bg=(uf.defineLocale("my",{months:"ဇနá€ēနဝá€Ģရီ_ဖေဖေá€Ŧá€ēဝá€Ģရီ_မတá€ē_ဧပá€ŧီ_မေ_ဇá€Ŋနá€ē_ဇူလိုငá€ē_သá€ŧဂုတá€ē_စကá€ēတငá€ēဘá€Ŧ_အေá€Ŧကá€ēတိုဘá€Ŧ_နိုဝငá€ēဘá€Ŧ_ဒီဇငá€ēဘá€Ŧ".split("_"),monthsShort:"ဇနá€ē_ဖေ_မတá€ē_ပá€ŧီ_မေ_ဇá€Ŋနá€ē_လိုငá€ē_သá€ŧ_စကá€ē_အေá€Ŧကá€ē_နို_ဒီ".split("_"),weekdays:"တနငá€ē္ဂနá€Ŋေ_တနငá€ē္လá€Ŧ_အငá€ē္ဂá€Ģ_ဗုဒယဓဟူး_ကá€ŧá€Ŧသပတေး_သေá€Ŧကá€ŧá€Ŧ_စနေ".split("_"),weekdaysShort:"နá€Ŋေ_လá€Ŧ_ဂá€Ģ_ဟူး_ကá€ŧá€Ŧ_သေá€Ŧ_နေ".split("_"),weekdaysMin:"နá€Ŋေ_လá€Ŧ_ဂá€Ģ_ဟူး_ကá€ŧá€Ŧ_သေá€Ŧ_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှá€Ŧ]",nextDay:"[မနကá€ēဖá€ŧနá€ē] LT [မှá€Ŧ]",nextWeek:"dddd LT [မှá€Ŧ]",lastDay:"[မနေ.က] LT [မှá€Ŧ]",lastWeek:"[ပá€ŧီးခဲ့သေá€Ŧ] dddd LT [မှá€Ŧ]",sameElse:"L"},relativeTime:{future:"လá€Ŧမညá€ē့ %s မှá€Ŧ",past:"လá€Ŋနá€ēခဲ့သေá€Ŧ %s က",s:"စက္ကနá€ē.အနညá€ēးငယá€ē",m:"တစá€ēမိနစá€ē",mm:"%d မိနစá€ē",h:"တစá€ēနá€Ŧရီ",hh:"%d နá€Ŧရီ",d:"တစá€ēရကá€ē",dd:"%d ရကá€ē",M:"တစá€ēလ",MM:"%d လ",y:"တစá€ēနှစá€ē",yy:"%d နှစá€ē"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return ag[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return _f[a]})},week:{dow:1,doy:4}}),uf.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",LTS:"H.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H.mm",LLLL:"dddd D. MMMM YYYY [kl.] H.mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i gÃĨr kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en mÃĨned",MM:"%d mÃĨneder",y:"ett ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),cg={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},dg=(uf.defineLocale("ne",{months:"⤜⤍ā¤ĩ⤰āĨ€_ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨā¤ĩ⤰āĨ€_ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°ā¤ŋ⤞_ā¤Žā¤ˆ_⤜āĨā¤¨_⤜āĨā¤˛ā¤žā¤ˆ_⤅⤗⤎āĨā¤Ÿ_⤏āĨ‡ā¤ĒāĨā¤ŸāĨ‡ā¤ŽāĨā¤Ŧ⤰_⤅⤕āĨā¤ŸāĨ‹ā¤Ŧ⤰_⤍āĨ‹ā¤­āĨ‡ā¤ŽāĨā¤Ŧ⤰_ā¤Ąā¤ŋ⤏āĨ‡ā¤ŽāĨā¤Ŧ⤰".split("_"),monthsShort:"⤜⤍._ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨ._ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°ā¤ŋ._ā¤Žā¤ˆ_⤜āĨā¤¨_⤜āĨā¤˛ā¤žā¤ˆ._⤅⤗._⤏āĨ‡ā¤ĒāĨā¤Ÿ._⤅⤕āĨā¤ŸāĨ‹._⤍āĨ‹ā¤­āĨ‡._ā¤Ąā¤ŋ⤏āĨ‡.".split("_"),weekdays:"⤆⤇⤤ā¤Ŧā¤žā¤°_⤏āĨ‹ā¤Žā¤Ŧā¤žā¤°_ā¤Žā¤™āĨā¤—⤞ā¤Ŧā¤žā¤°_ā¤ŦāĨā¤§ā¤Ŧā¤žā¤°_ā¤Ŧā¤ŋā¤šā¤ŋā¤Ŧā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤Ŧā¤žā¤°_ā¤ļ⤍ā¤ŋā¤Ŧā¤žā¤°".split("_"),weekdaysShort:"⤆⤇⤤._⤏āĨ‹ā¤Ž._ā¤Žā¤™āĨā¤—⤞._ā¤ŦāĨā¤§._ā¤Ŧā¤ŋā¤šā¤ŋ._ā¤ļāĨā¤•āĨā¤°._ā¤ļ⤍ā¤ŋ.".split("_"),weekdaysMin:"⤆⤇._⤏āĨ‹._ā¤Žā¤™āĨ_ā¤ŦāĨ._ā¤Ŧā¤ŋ._ā¤ļāĨ._ā¤ļ.".split("_"),longDateFormat:{LT:"A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡",LTS:"A⤕āĨ‹ h:mm:ss ā¤Ŧ⤜āĨ‡",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡",LLLL:"dddd, D MMMM YYYY, A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return cg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return bg[a]})},meridiemParse:/ā¤°ā¤žā¤¤āĨ€|ā¤Ŧā¤ŋā¤šā¤žā¤¨|ā¤Ļā¤ŋ⤉⤁⤏āĨ‹|ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž|ā¤¸ā¤žā¤ā¤|ā¤°ā¤žā¤¤āĨ€/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤āĨ€"===b?3>a?a:a+12:"ā¤Ŧā¤ŋā¤šā¤žā¤¨"===b?a:"ā¤Ļā¤ŋ⤉⤁⤏āĨ‹"===b?a>=10?a:a+12:"ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž"===b||"ā¤¸ā¤žā¤ā¤"===b?a+12:void 0},meridiem:function(a,b,c){return 3>a?"ā¤°ā¤žā¤¤āĨ€":10>a?"ā¤Ŧā¤ŋā¤šā¤žā¤¨":15>a?"ā¤Ļā¤ŋ⤉⤁⤏āĨ‹":18>a?"ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž":20>a?"ā¤¸ā¤žā¤ā¤":"ā¤°ā¤žā¤¤āĨ€"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤭āĨ‹ā¤˛āĨ€] LT",nextWeek:"[⤆⤉⤁ā¤ĻāĨ‹] dddd[,] LT",lastDay:"[ā¤šā¤ŋ⤜āĨ‹] LT",lastWeek:"[ā¤—ā¤ā¤•āĨ‹] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sā¤Žā¤ž",past:"%s ā¤…ā¤—ā¤žā¤ĄāĨ€",s:"⤕āĨ‡ā¤šāĨ€ ā¤¸ā¤Žā¤¯",m:"ā¤ā¤• ā¤Žā¤ŋ⤍āĨ‡ā¤Ÿ",mm:"%d ā¤Žā¤ŋ⤍āĨ‡ā¤Ÿ",h:"ā¤ā¤• ⤘⤪āĨā¤Ÿā¤ž",hh:"%d ⤘⤪āĨā¤Ÿā¤ž",d:"ā¤ā¤• ā¤Ļā¤ŋ⤍",dd:"%d ā¤Ļā¤ŋ⤍",M:"ā¤ā¤• ā¤Žā¤šā¤ŋā¤¨ā¤ž",MM:"%d ā¤Žā¤šā¤ŋā¤¨ā¤ž",y:"ā¤ā¤• ā¤Ŧ⤰āĨā¤ˇ",yy:"%d ā¤Ŧ⤰āĨā¤ˇ"},week:{dow:1,doy:7}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),eg="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),fg=(uf.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?eg[a.month()]:dg[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"ÊÊn minuut",mm:"%d minuten",h:"ÊÊn uur",hh:"%d uur",d:"ÊÊn dag",dd:"%d dagen",M:"ÊÊn maand",MM:"%d maanden",y:"ÊÊn jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_mÃĨndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mÃĨn_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_mÃĨ_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I gÃĨr klokka] LT",lastWeek:"[FøregÃĨande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein mÃĨnad",MM:"%d mÃĨnader",y:"eit ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),"styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_paÅēdziernik_listopad_grudzień".split("_")),gg="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_paÅēdziernika_listopada_grudnia".split("_"),hg=(uf.defineLocale("pl",{months:function(a,b){return""===b?"("+gg[a.month()]+"|"+fg[a.month()]+")":/D MMMM/.test(b)?gg[a.month()]:fg[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paÅē_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:wd,mm:wd,h:wd,hh:wd,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:wd,y:"rok",yy:wd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_SÃĄbado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_SÃĄb".split("_"),weekdaysMin:"Dom_2ÂĒ_3ÂĒ_4ÂĒ_5ÂĒ_6ÂĒ_SÃĄb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[AmanhÃŖ às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrÃĄs",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mÃĒs",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē"}),uf.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_SÃĄbado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_SÃĄb".split("_"),weekdaysMin:"Dom_2ÂĒ_3ÂĒ_4ÂĒ_5ÂĒ_6ÂĒ_SÃĄb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[AmanhÃŖ às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"hÃĄ %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mÃĒs",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sÃĸmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_SÃĸm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_SÃĸ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mÃĸine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s ÃŽn urmă",s:"cÃĸteva secunde",m:"un minut",mm:xd,h:"o oră",hh:xd,d:"o zi",dd:xd,M:"o lună",MM:xd,y:"un an",yy:xd},week:{dow:1,doy:7}}),uf.defineLocale("ru",{months:Ad,monthsShort:Bd,weekdays:Cd,weekdaysShort:"Đ˛Ņ_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"Đ˛Ņ_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),monthsParse:[/^ŅĐŊв/i,/^Ņ„Đĩв/i,/^ĐŧĐ°Ņ€/i,/^аĐŋŅ€/i,/^Đŧа[Đš|Ņ]/i,/^Đ¸ŅŽĐŊ/i,/^Đ¸ŅŽĐģ/i,/^Đ°Đ˛Đŗ/i,/^ҁĐĩĐŊ/i,/^ĐžĐēŅ‚/i,/^ĐŊĐžŅ/i,/^Đ´ĐĩĐē/i],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Đŗ.",LLL:"D MMMM YYYY Đŗ., HH:mm",LLLL:"dddd, D MMMM YYYY Đŗ., HH:mm"},calendar:{sameDay:"[ĐĄĐĩĐŗĐžĐ´ĐŊŅ в] LT",nextDay:"[Đ—Đ°Đ˛Ņ‚Ņ€Đ° в] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В ĐŋŅ€ĐžŅˆĐģĐžĐĩ] dddd [в] LT";case 1:case 2:case 4:return"[В ĐŋŅ€ĐžŅˆĐģŅ‹Đš] dddd [в] LT";case 3:case 5:case 6:return"[В ĐŋŅ€ĐžŅˆĐģŅƒŅŽ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"҇ĐĩŅ€ĐĩС %s",past:"%s ĐŊаСад",s:"ĐŊĐĩҁĐēĐžĐģҌĐēĐž ҁĐĩĐē҃ĐŊĐ´",m:zd,mm:zd,h:"Ņ‡Đ°Ņ",hh:zd,d:"Đ´ĐĩĐŊҌ",dd:zd,M:"ĐŧĐĩŅŅŅ†",MM:zd,y:"ĐŗĐžĐ´",yy:zd},meridiemParse:/ĐŊĐžŅ‡Đ¸|ŅƒŅ‚Ņ€Đ°|Đ´ĐŊŅ|вĐĩ҇ĐĩŅ€Đ°/i,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩ҇ĐĩŅ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Đ¸":12>a?"ŅƒŅ‚Ņ€Đ°":17>a?"Đ´ĐŊŅ":"вĐĩ҇ĐĩŅ€Đ°"},ordinalParse:/\d{1,2}-(Đš|ĐŗĐž|Ņ)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-Đš";case"D":return a+"-ĐŗĐž";case"w":case"W":return a+"-Ņ";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("si",{months:"āļĸāļąāˇ€āˇāļģ⎒_āļ´āˇ™āļļāļģāˇ€āˇāļģ⎒_āļ¸āˇāļģ⎊āļ­āˇ”_āļ…āļ´āˇŠâ€āļģ⎚āļŊ⎊_āļ¸āˇāļē⎒_āļĸ⎖āļąāˇ’_āļĸ⎖āļŊ⎒_āļ…āļœāˇāˇƒāˇŠāļ­āˇ”_⎃⎐āļ´āˇŠāļ­āˇāļ¸āˇŠāļļāļģ⎊_āļ”āļšāˇŠāļ­āˇāļļāļģ⎊_āļąāˇœāˇ€āˇāļ¸āˇŠāļļāļģ⎊_āļ¯āˇ™āˇƒāˇāļ¸āˇŠāļļāļģ⎊".split("_"),monthsShort:"āļĸāļą_āļ´āˇ™āļļ_āļ¸āˇāļģ⎊_āļ…āļ´āˇŠ_āļ¸āˇāļē⎒_āļĸ⎖āļąāˇ’_āļĸ⎖āļŊ⎒_āļ…āļœāˇ_⎃⎐āļ´āˇŠ_āļ”āļšāˇŠ_āļąāˇœāˇ€āˇ_āļ¯āˇ™āˇƒāˇ".split("_"),weekdays:"āļ‰āļģ⎒āļ¯āˇ_⎃āļŗāˇ”āļ¯āˇ_āļ…āļŸāˇ„āļģāˇ”āˇ€āˇāļ¯āˇ_āļļāļ¯āˇāļ¯āˇ_āļļāˇŠâ€āļģāˇ„āˇƒāˇŠāļ´āļ­āˇ’āļąāˇŠāļ¯āˇ_āˇƒāˇ’āļšāˇ”āļģāˇāļ¯āˇ_āˇƒāˇ™āļąāˇƒāˇ”āļģāˇāļ¯āˇ".split("_"),weekdaysShort:"āļ‰āļģ⎒_⎃āļŗāˇ”_āļ…āļŸ_āļļāļ¯āˇ_āļļāˇŠâ€āļģ⎄_āˇƒāˇ’āļšāˇ”_āˇƒāˇ™āļą".split("_"),weekdaysMin:"āļ‰_⎃_āļ…_āļļ_āļļāˇŠâ€āļģ_āˇƒāˇ’_āˇƒāˇ™".split("_"),longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [⎀⎐āļąāˇ’] dddd, a h:mm:ss"},calendar:{sameDay:"[āļ…āļ¯] LT[āļ§]",nextDay:"[⎄⎙āļ§] LT[āļ§]",nextWeek:"dddd LT[āļ§]",lastDay:"[āļŠāļē⎚] LT[āļ§]",lastWeek:"[āļ´āˇƒāˇ”āļœāˇ’āļē] dddd LT[āļ§]",sameElse:"L"},relativeTime:{future:"%sāļšāˇ’āļąāˇŠ",past:"%sāļšāļ§ āļ´āˇ™āļģ",s:"āļ­āļ­āˇŠāļ´āļģ āļšāˇ’⎄⎒āļ´āļē",m:"āļ¸āˇ’āļąāˇ’āļ­āˇŠāļ­āˇ”⎀",mm:"āļ¸āˇ’āļąāˇ’āļ­āˇŠāļ­āˇ” %d",h:"āļ´āˇāļē",hh:"āļ´āˇāļē %d",d:"āļ¯āˇ’āļąāļē",dd:"āļ¯āˇ’āļą %d",M:"āļ¸āˇāˇƒāļē",MM:"āļ¸āˇāˇƒ %d",y:"āˇ€āˇƒāļģ",yy:"āˇ€āˇƒāļģ %d"},ordinalParse:/\d{1,2} ⎀⎐āļąāˇ’/,ordinal:function(a){return a+" ⎀⎐āļąāˇ’"},meridiem:function(a,b,c){return a>11?c?"āļ´.⎀.":"āļ´āˇƒāˇŠ ⎀āļģ⎔":c?"āļ´āˇ™.⎀.":"āļ´āˇ™āļģ ⎀āļģ⎔"}}),"januÃĄr_februÃĄr_marec_apríl_mÃĄj_jÃēn_jÃēl_august_september_oktÃŗber_november_december".split("_")),ig="jan_feb_mar_apr_mÃĄj_jÃēn_jÃēl_aug_sep_okt_nov_dec".split("_"),jg=(uf.defineLocale("sk",{months:hg,monthsShort:ig,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(hg,ig),weekdays:"nedeÄža_pondelok_utorok_streda_ÅĄtvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_ÅĄt_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_ÅĄt_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeÄžu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo ÅĄtvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulÃē nedeÄžu o] LT";case 1:case 2:return"[minulÃŊ] dddd [o] LT";case 3:return"[minulÃē stredu o] LT";case 4:case 5:return"[minulÃŊ] dddd [o] LT";case 6:return"[minulÃē sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:Ed,m:Ed,mm:Ed,h:Ed,hh:Ed,d:Ed,dd:Ed,M:Ed,MM:Ed,y:Ed,yy:Ed},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejÅĄnjo] [nedeljo] [ob] LT";case 3:return"[prejÅĄnjo] [sredo] [ob] LT";case 6:return"[prejÅĄnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejÅĄnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:Fd,m:Fd,mm:Fd,h:Fd,hh:Fd,d:Fd,dd:Fd,M:Fd,MM:Fd,y:Fd,yy:Fd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_NÃĢntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_NÃĢn_Dhj".split("_"),weekdays:"E Diel_E HÃĢnÃĢ_E MartÃĢ_E MÃĢrkurÃĢ_E Enjte_E Premte_E ShtunÃĢ".split("_"),weekdaysShort:"Die_HÃĢn_Mar_MÃĢr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_MÃĢ_E_P_Sh".split("_"),meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot nÃĢ] LT",nextDay:"[NesÃĢr nÃĢ] LT",nextWeek:"dddd [nÃĢ] LT",lastDay:"[Dje nÃĢ] LT",lastWeek:"dddd [e kaluar nÃĢ] LT",sameElse:"L"},relativeTime:{future:"nÃĢ %s",past:"%s mÃĢ parÃĢ",s:"disa sekonda",m:"njÃĢ minutÃĢ",mm:"%d minuta",h:"njÃĢ orÃĢ",hh:"%d orÃĢ",d:"njÃĢ ditÃĢ",dd:"%d ditÃĢ",M:"njÃĢ muaj",MM:"%d muaj",y:"njÃĢ vit",yy:"%d vite"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{words:{m:["ҘĐĩдаĐŊ ĐŧиĐŊŅƒŅ‚","ҘĐĩĐ´ĐŊĐĩ ĐŧиĐŊŅƒŅ‚Đĩ"],mm:["ĐŧиĐŊŅƒŅ‚","ĐŧиĐŊŅƒŅ‚Đĩ","ĐŧиĐŊŅƒŅ‚Đ°"],h:["ҘĐĩдаĐŊ ŅĐ°Ņ‚","ҘĐĩĐ´ĐŊĐžĐŗ ŅĐ°Ņ‚Đ°"],hh:["ŅĐ°Ņ‚","ŅĐ°Ņ‚Đ°","ŅĐ°Ņ‚Đ¸"],dd:["даĐŊ","даĐŊа","даĐŊа"],MM:["ĐŧĐĩҁĐĩ҆","ĐŧĐĩҁĐĩŅ†Đ°","ĐŧĐĩҁĐĩŅ†Đ¸"],yy:["ĐŗĐžĐ´Đ¸ĐŊа","ĐŗĐžĐ´Đ¸ĐŊĐĩ","ĐŗĐžĐ´Đ¸ĐŊа"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=jg.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+jg.correctGrammaticalCase(a,d)}}),kg=(uf.defineLocale("sr-cyrl",{months:["Ņ˜Đ°ĐŊŅƒĐ°Ņ€","Ņ„ĐĩĐąŅ€ŅƒĐ°Ņ€","ĐŧĐ°Ņ€Ņ‚","аĐŋŅ€Đ¸Đģ","ĐŧĐ°Ņ˜","Ҙ҃ĐŊ","Ҙ҃Đģ","Đ°Đ˛ĐŗŅƒŅŅ‚","ҁĐĩĐŋŅ‚ĐĩĐŧĐąĐ°Ņ€","ĐžĐēŅ‚ĐžĐąĐ°Ņ€","ĐŊОвĐĩĐŧĐąĐ°Ņ€","Đ´Đĩ҆ĐĩĐŧĐąĐ°Ņ€"],monthsShort:["Ņ˜Đ°ĐŊ.","Ņ„ĐĩĐą.","ĐŧĐ°Ņ€.","аĐŋŅ€.","ĐŧĐ°Ņ˜","Ҙ҃ĐŊ","Ҙ҃Đģ","Đ°Đ˛Đŗ.","ҁĐĩĐŋ.","ĐžĐēŅ‚.","ĐŊОв.","Đ´Đĩ҆."],weekdays:["ĐŊĐĩĐ´ĐĩŅ™Đ°","ĐŋĐžĐŊĐĩĐ´ĐĩŅ™Đ°Đē","ŅƒŅ‚ĐžŅ€Đ°Đē","ҁҀĐĩда","҇ĐĩŅ‚Đ˛Ņ€Ņ‚Đ°Đē","ĐŋĐĩŅ‚Đ°Đē","ŅŅƒĐąĐžŅ‚Đ°"],weekdaysShort:["ĐŊĐĩĐ´.","ĐŋĐžĐŊ.","ŅƒŅ‚Đž.","ҁҀĐĩ.","҇ĐĩŅ‚.","ĐŋĐĩŅ‚.","ŅŅƒĐą."],weekdaysMin:["ĐŊĐĩ","ĐŋĐž","ŅƒŅ‚","ҁҀ","҇Đĩ","ĐŋĐĩ","ҁ҃"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[даĐŊĐ°Ņ ҃] LT",nextDay:"[ŅŅƒŅ‚Ņ€Đ° ҃] LT",nextWeek:function(){switch(this.day()){case 0:return"[҃] [ĐŊĐĩĐ´ĐĩŅ™Ņƒ] [҃] LT";case 3:return"[҃] [ҁҀĐĩĐ´Ņƒ] [҃] LT";case 6:return"[҃] [ŅŅƒĐąĐžŅ‚Ņƒ] [҃] LT";case 1:case 2:case 4:case 5:return"[҃] dddd [҃] LT"}},lastDay:"[Ņ˜ŅƒŅ‡Đĩ ҃] LT",lastWeek:function(){var a=["[ĐŋŅ€ĐžŅˆĐģĐĩ] [ĐŊĐĩĐ´ĐĩŅ™Đĩ] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ĐŋĐžĐŊĐĩĐ´ĐĩŅ™Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ŅƒŅ‚ĐžŅ€Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐĩ] [ҁҀĐĩĐ´Đĩ] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [҇ĐĩŅ‚Đ˛Ņ€Ņ‚Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ĐŋĐĩŅ‚Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐĩ] [ŅŅƒĐąĐžŅ‚Đĩ] [҃] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"Са %s",past:"ĐŋŅ€Đĩ %s",s:"ĐŊĐĩĐēĐžĐģиĐēĐž ҁĐĩĐē҃ĐŊди",m:jg.translate,mm:jg.translate,h:jg.translate,hh:jg.translate,d:"даĐŊ",dd:jg.translate,M:"ĐŧĐĩҁĐĩ҆",MM:jg.translate,y:"ĐŗĐžĐ´Đ¸ĐŊ҃",yy:jg.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=kg.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+kg.correctGrammaticalCase(a,d)}}),lg=(uf.defineLocale("sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[proÅĄle] [nedelje] [u] LT","[proÅĄlog] [ponedeljka] [u] LT","[proÅĄlog] [utorka] [u] LT","[proÅĄle] [srede] [u] LT","[proÅĄlog] [četvrtka] [u] LT","[proÅĄlog] [petka] [u] LT","[proÅĄle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:kg.translate,mm:kg.translate,h:kg.translate,hh:kg.translate,d:"dan",dd:kg.translate,M:"mesec",MM:kg.translate,y:"godinu",yy:kg.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"sÃļndag_mÃĨndag_tisdag_onsdag_torsdag_fredag_lÃļrdag".split("_"),weekdaysShort:"sÃļn_mÃĨn_tis_ons_tor_fre_lÃļr".split("_"),weekdaysMin:"sÃļ_mÃĨ_ti_on_to_fr_lÃļ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[IgÃĨr] LT",nextWeek:"[PÃĨ] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"fÃļr %s sedan",s:"nÃĨgra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en mÃĨnad",MM:"%d mÃĨnader",y:"ett ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("ta",{months:"āŽœāŽŠāŽĩāŽ°āŽŋ_āŽĒāŽŋāŽĒā¯āŽ°āŽĩāŽ°āŽŋ_āŽŽāŽžāŽ°ā¯āŽšā¯_āŽāŽĒā¯āŽ°āŽ˛ā¯_āŽŽā¯‡_āŽœā¯‚āŽŠā¯_āŽœā¯‚āŽ˛ā¯ˆ_āŽ†āŽ•āŽ¸ā¯āŽŸā¯_āŽšā¯†āŽĒā¯āŽŸā¯†āŽŽā¯āŽĒāŽ°ā¯_āŽ…āŽ•ā¯āŽŸā¯‡āŽžāŽĒāŽ°ā¯_āŽ¨āŽĩāŽŽā¯āŽĒāŽ°ā¯_āŽŸāŽŋāŽšāŽŽā¯āŽĒāŽ°ā¯".split("_"),monthsShort:"āŽœāŽŠāŽĩāŽ°āŽŋ_āŽĒāŽŋāŽĒā¯āŽ°āŽĩāŽ°āŽŋ_āŽŽāŽžāŽ°ā¯āŽšā¯_āŽāŽĒā¯āŽ°āŽ˛ā¯_āŽŽā¯‡_āŽœā¯‚āŽŠā¯_āŽœā¯‚āŽ˛ā¯ˆ_āŽ†āŽ•āŽ¸ā¯āŽŸā¯_āŽšā¯†āŽĒā¯āŽŸā¯†āŽŽā¯āŽĒāŽ°ā¯_āŽ…āŽ•ā¯āŽŸā¯‡āŽžāŽĒāŽ°ā¯_āŽ¨āŽĩāŽŽā¯āŽĒāŽ°ā¯_āŽŸāŽŋāŽšāŽŽā¯āŽĒāŽ°ā¯".split("_"),weekdays:"āŽžāŽžāŽ¯āŽŋāŽąā¯āŽąā¯āŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽ¤āŽŋāŽ™ā¯āŽ•āŽŸā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽšā¯†āŽĩā¯āŽĩāŽžāŽ¯ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĒā¯āŽ¤āŽŠā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĩāŽŋāŽ¯āŽžāŽ´āŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĩā¯†āŽŗā¯āŽŗāŽŋāŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽšāŽŠāŽŋāŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ".split("_"),weekdaysShort:"āŽžāŽžāŽ¯āŽŋāŽąā¯_āŽ¤āŽŋāŽ™ā¯āŽ•āŽŗā¯_āŽšā¯†āŽĩā¯āŽĩāŽžāŽ¯ā¯_āŽĒā¯āŽ¤āŽŠā¯_āŽĩāŽŋāŽ¯āŽžāŽ´āŽŠā¯_āŽĩā¯†āŽŗā¯āŽŗāŽŋ_āŽšāŽŠāŽŋ".split("_"),weekdaysMin:"āŽžāŽž_āŽ¤āŽŋ_āŽšā¯†_āŽĒ❁_āŽĩāŽŋ_āŽĩ❆_āŽš".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[āŽ‡āŽŠā¯āŽąā¯] LT",nextDay:"[āŽ¨āŽžāŽŗā¯ˆ] LT",nextWeek:"dddd, LT",lastDay:"[āŽ¨ā¯‡āŽąā¯āŽąā¯] LT",lastWeek:"[āŽ•āŽŸāŽ¨ā¯āŽ¤ āŽĩāŽžāŽ°āŽŽā¯] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āŽ‡āŽ˛ā¯",past:"%s āŽŽā¯āŽŠā¯",s:"āŽ’āŽ°ā¯ āŽšāŽŋāŽ˛ āŽĩāŽŋāŽ¨āŽžāŽŸāŽŋāŽ•āŽŗā¯",m:"āŽ’āŽ°ā¯ āŽ¨āŽŋāŽŽāŽŋāŽŸāŽŽā¯",mm:"%d āŽ¨āŽŋāŽŽāŽŋāŽŸāŽ™ā¯āŽ•āŽŗā¯",h:"āŽ’āŽ°ā¯ āŽŽāŽŖāŽŋ āŽ¨ā¯‡āŽ°āŽŽā¯",hh:"%d āŽŽāŽŖāŽŋ āŽ¨ā¯‡āŽ°āŽŽā¯",d:"āŽ’āŽ°ā¯ āŽ¨āŽžāŽŗā¯",dd:"%d āŽ¨āŽžāŽŸā¯āŽ•āŽŗā¯",M:"āŽ’āŽ°ā¯ āŽŽāŽžāŽ¤āŽŽā¯",MM:"%d āŽŽāŽžāŽ¤āŽ™ā¯āŽ•āŽŗā¯",y:"āŽ’āŽ°ā¯ āŽĩāŽ°ā¯āŽŸāŽŽā¯",yy:"%d āŽ†āŽŖā¯āŽŸā¯āŽ•āŽŗā¯"},ordinalParse:/\d{1,2}āŽĩāŽ¤ā¯/,ordinal:function(a){return a+"āŽĩāŽ¤ā¯"},meridiemParse:/āŽ¯āŽžāŽŽāŽŽā¯|āŽĩā¯ˆāŽ•āŽąā¯ˆ|āŽ•āŽžāŽ˛ā¯ˆ|āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯|āŽŽāŽąā¯āŽĒāŽžāŽŸā¯|āŽŽāŽžāŽ˛ā¯ˆ/,meridiem:function(a,b,c){return 2>a?" āŽ¯āŽžāŽŽāŽŽā¯":6>a?" āŽĩā¯ˆāŽ•āŽąā¯ˆ":10>a?" āŽ•āŽžāŽ˛ā¯ˆ":14>a?" āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯":18>a?" āŽŽāŽąā¯āŽĒāŽžāŽŸā¯":22>a?" āŽŽāŽžāŽ˛ā¯ˆ":" āŽ¯āŽžāŽŽāŽŽā¯"},meridiemHour:function(a,b){return 12===a&&(a=0),"āŽ¯āŽžāŽŽāŽŽā¯"===b?2>a?a:a+12:"āŽĩā¯ˆāŽ•āŽąā¯ˆ"===b||"āŽ•āŽžāŽ˛ā¯ˆ"===b?a:"āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯"===b&&a>=10?a:a+12},week:{dow:0,doy:6}}),uf.defineLocale("th",{months:"ā¸Ąā¸ā¸Ŗā¸˛ā¸„ā¸Ą_ā¸ā¸¸ā¸Ąā¸ ā¸˛ā¸žā¸ąā¸™ā¸˜āšŒ_ā¸Ąā¸ĩā¸™ā¸˛ā¸„ā¸Ą_āš€ā¸Ąā¸Šā¸˛ā¸ĸ⏙_ā¸žā¸¤ā¸Šā¸ ā¸˛ā¸„ā¸Ą_ā¸Ąā¸´ā¸–ā¸¸ā¸™ā¸˛ā¸ĸ⏙_ā¸ā¸Ŗā¸ā¸Žā¸˛ā¸„ā¸Ą_ā¸Ē⏴⏇ā¸Ģā¸˛ā¸„ā¸Ą_ā¸ā¸ąā¸™ā¸ĸ⏞ā¸ĸ⏙_⏕⏏ā¸Ĩā¸˛ā¸„ā¸Ą_ā¸žā¸¤ā¸¨ā¸ˆā¸´ā¸ā¸˛ā¸ĸ⏙_ā¸˜ā¸ąā¸™ā¸§ā¸˛ā¸„ā¸Ą".split("_"),monthsShort:"ā¸Ąā¸ā¸Ŗā¸˛_ā¸ā¸¸ā¸Ąā¸ ā¸˛_ā¸Ąā¸ĩ⏙⏞_āš€ā¸Ąā¸Šā¸˛_ā¸žā¸¤ā¸Šā¸ ā¸˛_ā¸Ąā¸´ā¸–ā¸¸ā¸™ā¸˛_ā¸ā¸Ŗā¸ā¸Žā¸˛_ā¸Ē⏴⏇ā¸Ģ⏞_ā¸ā¸ąā¸™ā¸ĸ⏞_⏕⏏ā¸Ĩ⏞_ā¸žā¸¤ā¸¨ā¸ˆā¸´ā¸ā¸˛_ā¸˜ā¸ąā¸™ā¸§ā¸˛".split("_"),weekdays:"⏭⏞⏗⏴⏕ā¸ĸāšŒ_ā¸ˆā¸ąā¸™ā¸—ā¸ŖāšŒ_ā¸­ā¸ąā¸‡ā¸„ā¸˛ā¸Ŗ_ā¸žā¸¸ā¸˜_ā¸žā¸¤ā¸Ģā¸ąā¸Ēā¸šā¸”ā¸ĩ_ā¸¨ā¸¸ā¸ā¸ŖāšŒ_āš€ā¸Ēā¸˛ā¸ŖāšŒ".split("_"),weekdaysShort:"⏭⏞⏗⏴⏕ā¸ĸāšŒ_ā¸ˆā¸ąā¸™ā¸—ā¸ŖāšŒ_ā¸­ā¸ąā¸‡ā¸„ā¸˛ā¸Ŗ_ā¸žā¸¸ā¸˜_ā¸žā¸¤ā¸Ģā¸ąā¸Ē_ā¸¨ā¸¸ā¸ā¸ŖāšŒ_āš€ā¸Ēā¸˛ā¸ŖāšŒ".split("_"),weekdaysMin:"⏭⏞._⏈._⏭._ā¸ž._ā¸žā¸¤._⏍._ā¸Ē.".split("_"),longDateFormat:{LT:"H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ",LTS:"H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ s ⏧⏴⏙⏞⏗ā¸ĩ",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY āš€ā¸§ā¸Ĩ⏞ H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ",LLLL:"ā¸§ā¸ąā¸™dddd⏗ā¸ĩāšˆ D MMMM YYYY āš€ā¸§ā¸Ĩ⏞ H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ"},meridiemParse:/ā¸āšˆā¸­ā¸™āš€ā¸—ā¸ĩāšˆā¸ĸ⏇|ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇/,isPM:function(a){return"ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇"===a},meridiem:function(a,b,c){return 12>a?"ā¸āšˆā¸­ā¸™āš€ā¸—ā¸ĩāšˆā¸ĸ⏇":"ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇"},calendar:{sameDay:"[ā¸§ā¸ąā¸™ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",nextDay:"[ā¸žā¸Ŗā¸¸āšˆā¸‡ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",nextWeek:"dddd[ā¸Ģā¸™āš‰ā¸˛ āš€ā¸§ā¸Ĩ⏞] LT",lastDay:"[āš€ā¸Ąā¸ˇāšˆā¸­ā¸§ā¸˛ā¸™ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",lastWeek:"[ā¸§ā¸ąā¸™]dddd[⏗ā¸ĩāšˆāšā¸Ĩāš‰ā¸§ āš€ā¸§ā¸Ĩ⏞] LT",sameElse:"L"},relativeTime:{future:"⏭ā¸ĩ⏁ %s",past:"%s⏗ā¸ĩāšˆāšā¸Ĩāš‰ā¸§",s:"āš„ā¸Ąāšˆā¸ā¸ĩāšˆā¸§ā¸´ā¸™ā¸˛ā¸—ā¸ĩ",m:"1 ⏙⏞⏗ā¸ĩ",mm:"%d ⏙⏞⏗ā¸ĩ",h:"1 ā¸Šā¸ąāšˆā¸§āš‚ā¸Ąā¸‡",hh:"%d ā¸Šā¸ąāšˆā¸§āš‚ā¸Ąā¸‡",d:"1 ā¸§ā¸ąā¸™",dd:"%d ā¸§ā¸ąā¸™",M:"1 āš€ā¸”ā¸ˇā¸­ā¸™",MM:"%d āš€ā¸”ā¸ˇā¸­ā¸™",y:"1 ⏛ā¸ĩ",yy:"%d ⏛ā¸ĩ"}}),uf.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),{1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'ÃŧncÃŧ",4:"'ÃŧncÃŧ",100:"'ÃŧncÃŧ",6:"'ncÄą",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ÄąncÄą",90:"'ÄąncÄą"}),mg=(uf.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_MayÄąs_Haziran_Temmuz_Ağustos_EylÃŧl_Ekim_KasÄąm_AralÄąk".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_SalÄą_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugÃŧn saat] LT",nextDay:"[yarÄąn saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dÃŧn] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s Ãļnce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gÃŧn",dd:"%d gÃŧn",M:"bir ay",MM:"%d ay",y:"bir yÄąl",yy:"%d yÄąl"},ordinalParse:/\d{1,2}'(inci|nci|ÃŧncÃŧ|ncÄą|uncu|ÄąncÄą)/,ordinal:function(a){if(0===a)return a+"'ÄąncÄą";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(lg[b]||lg[c]||lg[d])},week:{dow:1,doy:7}}),uf.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_GÃŧn_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_GÃŧn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"SÃēladi_LÃēneçi_Maitzi_MÃĄrcuri_XhÃēadi_ViÊnerçi_SÃĄturi".split("_"),weekdaysShort:"SÃēl_LÃēn_Mai_MÃĄr_XhÃē_ViÊ_SÃĄt".split("_"),weekdaysMin:"SÃē_LÃē_Ma_MÃĄ_Xh_Vi_SÃĄ".split("_"),longDateFormat:{LT:"HH.mm",LTS:"LT.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY LT",LLLL:"dddd, [li] D. MMMM [dallas] YYYY LT"},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sÃŧr el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Gd,m:Gd,mm:Gd,h:Gd,hh:Gd,d:Gd,dd:Gd,M:Gd,MM:Gd,y:Gd,yy:Gd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ÉŖwÅĄt_ÅĄwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ÉŖwÅĄt_ÅĄwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),uf.defineLocale("tzm",{months:"âĩ‰âĩâĩâ´°âĩĸâĩ”_â´ąâĩ•â´°âĩĸâĩ•_âĩŽâ´°âĩ•âĩš_âĩ‰â´ąâĩ”âĩ‰âĩ”_âĩŽâ´°âĩĸâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“âĩŖ_âĩ–âĩ“âĩ›âĩœ_âĩ›âĩ“âĩœâ´°âĩâ´ąâĩ‰âĩ”_â´ŊâĩŸâĩ“â´ąâĩ•_âĩâĩ“âĩĄâ´°âĩâ´ąâĩ‰âĩ”_â´ˇâĩ“âĩŠâĩâ´ąâĩ‰âĩ”".split("_"),monthsShort:"âĩ‰âĩâĩâ´°âĩĸâĩ”_â´ąâĩ•â´°âĩĸâĩ•_âĩŽâ´°âĩ•âĩš_âĩ‰â´ąâĩ”âĩ‰âĩ”_âĩŽâ´°âĩĸâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“âĩŖ_âĩ–âĩ“âĩ›âĩœ_âĩ›âĩ“âĩœâ´°âĩâ´ąâĩ‰âĩ”_â´ŊâĩŸâĩ“â´ąâĩ•_âĩâĩ“âĩĄâ´°âĩâ´ąâĩ‰âĩ”_â´ˇâĩ“âĩŠâĩâ´ąâĩ‰âĩ”".split("_"),weekdays:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),weekdaysShort:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),weekdaysMin:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[â´°âĩ™â´ˇâĩ… â´´] LT",nextDay:"[â´°âĩ™â´Ŋâ´° â´´] LT",nextWeek:"dddd [â´´] LT",lastDay:"[â´°âĩšâ´°âĩâĩœ â´´] LT",lastWeek:"dddd [â´´] LT",sameElse:"L"},relativeTime:{future:"ⴡⴰⴡâĩ… âĩ™ âĩĸâ´°âĩ %s",past:"âĩĸâ´°âĩ %s",s:"âĩ‰âĩŽâĩ‰â´Ŋ",m:"âĩŽâĩ‰âĩâĩ“â´ē",mm:"%d âĩŽâĩ‰âĩâĩ“â´ē",h:"âĩ™â´°âĩ„â´°",hh:"%d âĩœâ´°âĩ™âĩ™â´°âĩ„âĩ‰âĩ",d:"â´°âĩ™âĩ™",dd:"%d oâĩ™âĩ™â´°âĩ",M:"â´°âĩĸoâĩ“âĩ”",MM:"%d âĩ‰âĩĸâĩĸâĩ‰âĩ”âĩ",y:"â´°âĩ™â´ŗâ´°âĩ™",yy:"%d âĩ‰âĩ™â´ŗâ´°âĩ™âĩ"},week:{dow:6,doy:12}}),uf.defineLocale("uk",{months:Jd,monthsShort:"ҁҖ҇_ĐģŅŽŅ‚_ĐąĐĩŅ€_ĐēĐ˛Ņ–Ņ‚_Ņ‚Ņ€Đ°Đ˛_҇ĐĩŅ€Đ˛_ĐģиĐŋ_ҁĐĩŅ€Đŋ_вĐĩŅ€_ĐļĐžĐ˛Ņ‚_ĐģĐ¸ŅŅ‚_ĐŗŅ€ŅƒĐ´".split("_"),weekdays:Kd,weekdaysShort:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Ņ€.",LLL:"D MMMM YYYY Ņ€., HH:mm",LLLL:"dddd, D MMMM YYYY Ņ€., HH:mm"},calendar:{sameDay:Ld("[ĐĄŅŒĐžĐŗĐžĐ´ĐŊŅ– "),nextDay:Ld("[Đ—Đ°Đ˛Ņ‚Ņ€Đ° "),lastDay:Ld("[Đ’Ņ‡ĐžŅ€Đ° "),nextWeek:Ld("[ĐŖ] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Ld("[МиĐŊ҃ĐģĐžŅ—] dddd [").call(this);case 1:case 2:case 4:return Ld("[МиĐŊ҃ĐģĐžĐŗĐž] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"Са %s",past:"%s Ņ‚ĐžĐŧ҃",s:"Đ´ĐĩĐēŅ–ĐģҌĐēа ҁĐĩĐē҃ĐŊĐ´",m:Id,mm:Id,h:"ĐŗĐžĐ´Đ¸ĐŊ҃",hh:Id,d:"Đ´ĐĩĐŊҌ",dd:Id,M:"ĐŧŅ–ŅŅŅ†ŅŒ",MM:Id,y:"ҀҖĐē",yy:Id},meridiemParse:/ĐŊĐžŅ‡Ņ–|Ņ€Đ°ĐŊĐē҃|Đ´ĐŊŅ|вĐĩŅ‡ĐžŅ€Đ°/,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩŅ‡ĐžŅ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Ņ–":12>a?"Ņ€Đ°ĐŊĐē҃":17>a?"Đ´ĐŊŅ":"вĐĩŅ‡ĐžŅ€Đ°"},ordinalParse:/\d{1,2}-(Đš|ĐŗĐž)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-Đš";case"D":return a+"-ĐŗĐž";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("uz",{months:"ŅĐŊĐ˛Đ°Ņ€ŅŒ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģҌ_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€ĐĩĐģҌ_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŊŅ‚ŅĐąŅ€ŅŒ_ĐžĐēŅ‚ŅĐąŅ€ŅŒ_ĐŊĐžŅĐąŅ€ŅŒ_Đ´ĐĩĐēĐ°ĐąŅ€ŅŒ".split("_"),monthsShort:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧаК_Đ¸ŅŽĐŊ_Đ¸ŅŽĐģ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_"),weekdays:"Đ¯ĐēŅˆĐ°ĐŊйа_Đ”ŅƒŅˆĐ°ĐŊйа_ĐĄĐĩŅˆĐ°ĐŊйа_Đ§ĐžŅ€ŅˆĐ°ĐŊйа_ĐŸĐ°ĐšŅˆĐ°ĐŊйа_Đ–ŅƒĐŧа_ШаĐŊйа".split("_"),weekdaysShort:"Đ¯Đē҈_Đ”ŅƒŅˆ_ĐĄĐĩ҈_Đ§ĐžŅ€_Пай_Đ–ŅƒĐŧ_ШаĐŊ".split("_"),weekdaysMin:"Đ¯Đē_Đ”Ņƒ_ĐĄĐĩ_ЧО_Па_Đ–Ņƒ_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Đ‘ŅƒĐŗŅƒĐŊ ŅĐžĐ°Ņ‚] LT [да]",nextDay:"[Đ­Ņ€Ņ‚Đ°ĐŗĐ°] LT [да]",nextWeek:"dddd [Đē҃ĐŊи ŅĐžĐ°Ņ‚] LT [да]",lastDay:"[КĐĩŅ‡Đ° ŅĐžĐ°Ņ‚] LT [да]",lastWeek:"[ĐŖŅ‚ĐŗĐ°ĐŊ] dddd [Đē҃ĐŊи ŅĐžĐ°Ņ‚] LT [да]",sameElse:"L"},relativeTime:{future:"Đ¯ĐēиĐŊ %s Đ¸Ņ‡Đ¸Đ´Đ°",past:"Đ‘Đ¸Ņ€ ĐŊĐĩŅ‡Đ° %s ĐžĐģдиĐŊ",s:"Ņ„ŅƒŅ€ŅĐ°Ņ‚",m:"ĐąĐ¸Ņ€ даĐēиĐēа",mm:"%d даĐēиĐēа",h:"ĐąĐ¸Ņ€ ŅĐžĐ°Ņ‚",hh:"%d ŅĐžĐ°Ņ‚",d:"ĐąĐ¸Ņ€ Đē҃ĐŊ",dd:"%d Đē҃ĐŊ",M:"ĐąĐ¸Ņ€ ОК",MM:"%d ОК",y:"ĐąĐ¸Ņ€ КиĐģ",yy:"%d КиĐģ"},week:{dow:1,doy:7}}),uf.defineLocale("vi",{months:"thÃĄng 1_thÃĄng 2_thÃĄng 3_thÃĄng 4_thÃĄng 5_thÃĄng 6_thÃĄng 7_thÃĄng 8_thÃĄng 9_thÃĄng 10_thÃĄng 11_thÃĄng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"cháģ§ nháē­t_tháģŠ hai_tháģŠ ba_tháģŠ tư_tháģŠ năm_tháģŠ sÃĄu_tháģŠ báēŖy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm", -llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lÃēc] LT",nextDay:"[Ngày mai lÃēc] LT",nextWeek:"dddd [tuáē§n táģ›i lÃēc] LT",lastDay:"[Hôm qua lÃēc] LT",lastWeek:"dddd [tuáē§n ráģ“i lÃēc] LT",sameElse:"L"},relativeTime:{future:"%s táģ›i",past:"%s trưáģ›c",s:"vài giÃĸy",m:"máģ™t phÃēt",mm:"%d phÃēt",h:"máģ™t giáģ",hh:"%d giáģ",d:"máģ™t ngày",dd:"%d ngày",M:"máģ™t thÃĄng",MM:"%d thÃĄng",y:"máģ™t năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),uf.defineLocale("zh-cn",{months:"一月_ä猿œˆ_三月_四月_ä甿œˆ_六月_七月_å…Ģ月_䚝月_十月_十一月_十ä猿œˆ".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期æ—Ĩ_星期一_星期äēŒ_星期三_星期四_星期äē”_星期六".split("_"),weekdaysShort:"周æ—Ĩ_周一_周äēŒ_周三_周四_周äē”_周六".split("_"),weekdaysMin:"æ—Ĩ_一_äēŒ_三_四_äē”_六".split("_"),longDateFormat:{LT:"Ahį‚šmm分",LTS:"Ahį‚šm分sį§’",L:"YYYY-MM-DD",LL:"YYYYåš´MMMDæ—Ĩ",LLL:"YYYYåš´MMMDæ—ĨAhį‚šmm分",LLLL:"YYYYåš´MMMDæ—ĨddddAhį‚šmm分",l:"YYYY-MM-DD",ll:"YYYYåš´MMMDæ—Ĩ",lll:"YYYYåš´MMMDæ—ĨAhį‚šmm分",llll:"YYYYåš´MMMDæ—ĨddddAhį‚šmm分"},meridiemParse:/凌晨|旊上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"旊上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"旊上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[äģŠå¤Š]Ah[į‚šæ•´]":"[äģŠå¤Š]LT"},nextDay:function(){return 0===this.minutes()?"[明夊]Ah[į‚šæ•´]":"[明夊]LT"},lastDay:function(){return 0===this.minutes()?"[昨夊]Ah[į‚šæ•´]":"[昨夊]LT"},nextWeek:function(){var a,b;return a=uf().startOf("week"),b=this.unix()-a.unix()>=604800?"[下]":"[æœŦ]",0===this.minutes()?b+"dddAhį‚šæ•´":b+"dddAhį‚šmm"},lastWeek:function(){var a,b;return a=uf().startOf("week"),b=this.unix()=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"旊上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[äģŠå¤Š]LT",nextDay:"[明夊]LT",nextWeek:"[下]ddddLT",lastDay:"[昨夊]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(æ—Ĩ|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ—Ĩ";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"åšžį§’",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一夊",dd:"%d夊",M:"一個月",MM:"%d個月",y:"一嚴",yy:"%dåš´"}}),uf);return mg.locale("en"),mg}); \ No newline at end of file diff --git a/StackExchange_sites_-_convert_dates_to_local_timezone/moment.min.js b/StackExchange_sites_-_convert_dates_to_local_timezone/moment.min.js new file mode 100644 index 0000000..5787a40 --- /dev/null +++ b/StackExchange_sites_-_convert_dates_to_local_timezone/moment.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n>>0,s=0;sSe(e)?(r=e+1,o-Se(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(Se(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=D(e)});function je(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=D(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var $e="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var qe=ae;var Je=ae;var Be=ae;function Qe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),C("hour","h"),F("hour",13),ue("a",et),ue("A",et),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=D(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=D(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i))});var tt,nt=Te("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){var t=null;if(!it[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=tt._abbr,require("./locale/"+e),ut(t)}catch(e){}return it[e]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):lt(e,t))?tt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),tt._abbr}function lt(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ot(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new P(x(s,t)),rt[e]&&rt[e].forEach(function(e){lt(e.name,e.config)}),ut(e),it[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return tt;if(!o(e)){if(t=ot(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r=t&&a(i,n,!0)>=t-1)break;t--}r++}return tt}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11Pe(n[me],n[_e])?ye:n[ge]<0||24Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ct(e._a[me],s[me]),(e._dayOfYear>Se(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var mt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],vt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,s,i,r,a,o=e._i,u=mt.exec(o)||_t.exec(o);if(u){for(g(e).iso=!0,t=0,n=gt.length;tn.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=Et,mn.isUTC=Et,mn.zoneAbbr=function(){return this._isUTC?"UTC":""},mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},mn.dates=n("dates accessor is deprecated. Use date instead.",un),mn.months=n("months accessor is deprecated. Use month instead",Ue),mn.years=n("years accessor is deprecated. Use year instead",Oe),mn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),mn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Ot(e))._a){var t=e._isUTC?y(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&0 Date: Tue, 17 Sep 2019 00:31:50 +0300 Subject: [PATCH 138/439] (RARBG - torrent and magnet links) - replaced '#' hrefs with 'javascript:void(0);' - changed addEventListener to 'click' instead of 'mouseover' Both per https://greasyfork.org/en/forum/discussion/63152/ . Thanks goes to dandyclubs. --- .../RARBG_-_torrent_and_magnet_links.user.js | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index ed65beb..21fccfb 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.8.13 +// @version 2019.9.17 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred -// @contributor sxe +// @contributor sxe, dandyclubs // @license MIT // @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none @@ -15,38 +15,38 @@ function appendColumn(elem) { - var title = 'DL ML'; + const title = 'DL ML'; - var entries = elem.querySelectorAll('.lista2t > tbody > tr > td:nth-child(2) '); // the initial column 'Files' after of which the extra column will be appended + let entries = elem.querySelectorAll('.lista2t > tbody > tr > td:nth-child(2) '); // the initial column 'Files' after of which the extra column will be appended for (let i = 0; i < entries.length; i++) { // creation of the extra column entries[i].insertAdjacentHTML('afterend', `` + title + ``); } - var header = elem.querySelector('.lista2t > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(3)'); // the first cell (the header cell) of the new column + let header = elem.querySelector('.lista2t > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(3)'); // the first cell (the header cell) of the new column header.innerHTML = title; header.setAttribute('align', 'center'); header.setAttribute('class', 'header6'); - var cells = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // the rest cells of the new column + let cells = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // the rest cells of the new column for (let i = 0; i < cells.length; i++) { cells[i].setAttribute('class', 'lista'); cells[i].setAttribute('width', '50px'); cells[i].setAttribute('align', 'center'); } - var newColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // new column - var oldColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(2)'); // old column + let newColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(3)'); // new column + let oldColumn = elem.querySelectorAll('.lista2t > tbody > tr[class="lista2"] > td:nth-child(2)'); // old column for (let i = 0; i < newColumn.length; i++) { let href = oldColumn[i].firstChild.href; - newColumn[i].innerHTML = '
'; + newColumn[i].innerHTML = ''; newColumn[i].lastChild.title = 'DL via XHR'; - newColumn[i].innerHTML += ' '; + newColumn[i].innerHTML += ' '; newColumn[i].lastChild.title = 'ML via XHR'; } @@ -54,15 +54,14 @@ function appendColumn(elem) { -function addMouseoverListeners(links, type){ +function addClickListeners(links, type){ for(let i = 0; i < links.length; i++) { - links[i].addEventListener('mouseover', function(event){ + links[i].addEventListener('click', function(event){ - event.preventDefault(); let href = this.getAttribute('href'); - if (href === '#') { + if (href === 'javascript:void(0);') { let tLink = this.getAttribute('data-href'); var xhr = new XMLHttpRequest(); @@ -82,10 +81,10 @@ function addMouseoverListeners(links, type){ if (retrievedLink) { links[i].setAttribute('href', retrievedLink.href); + links[i].click(); } - }; xhr.send(); @@ -101,8 +100,8 @@ function addMouseoverListeners(links, type){ function createColumn(element){ appendColumn(element); - addMouseoverListeners(element.querySelectorAll('.xhrDownloadLink'), 'dl' ); - addMouseoverListeners(element.querySelectorAll('.xhrMagnetLink'), 'ml' ); + addClickListeners(element.querySelectorAll('.xhrDownloadLink'), 'dl' ); + addClickListeners(element.querySelectorAll('.xhrMagnetLink'), 'ml' ); } From 6c5f8c74ae7d42ecd80f7ed39380a3cdfed68940 Mon Sep 17 00:00:00 2001 From: darkred Date: Tue, 17 Sep 2019 19:10:05 +0300 Subject: [PATCH 139/439] (all RARBG scripts) Added rarbgcore.org in the @include rule (per request). --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 0053222..24bc13c 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.8.13 +// @version 2019.9.17 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 21fccfb..761d8e1 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.9.17 +// @version 2019.9.17.1 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 97c1972..5d5b99b 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.8.27.1 +// @version 2019.9.17 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ // @grant none // ==/UserScript== From f877482514b945f509e9791b35d93d1e99650231 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 19 Sep 2019 00:21:13 +0300 Subject: [PATCH 140/439] (RARBG - various tweaks) - changed addEventListener to 'click' instead of 'mouseover', to avoid accidental unneeded xhr requests) --- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 5d5b99b..27baf5d 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.9.17 +// @version 2019.9.19 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -236,9 +236,8 @@ if (!isOnTorrentListPage) { for(let i = 0; i < 8; i++) { - links[i].addEventListener('mouseover', function(event){ + links[i].addEventListener('click', function(event){ - event.preventDefault(); let tLink = this.getAttribute('href'); if (!tLink.includes('imdb=')){ var xhr = new XMLHttpRequest(); From f45a156077525c07abcf6fe415ac6c97bfc9e6a8 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 19 Sep 2019 22:28:46 +0300 Subject: [PATCH 141/439] (RARBG - various tweaks) - re-added event.preventDefault() - removed the second, now unnecessary 'click' addEventListeners --- .../RARBG_-_various_tweaks.user.js | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 27baf5d..d39cd19 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.9.19 +// @version 2019.9.19.1 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -238,6 +238,8 @@ if (!isOnTorrentListPage) { links[i].addEventListener('click', function(event){ + event.preventDefault(); + let tLink = this.getAttribute('href'); if (!tLink.includes('imdb=')){ var xhr = new XMLHttpRequest(); @@ -255,23 +257,17 @@ if (!isOnTorrentListPage) { } - links[i].addEventListener('click', function(event2){ - - event2.preventDefault(); - - let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext - return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 - }).next().html(); - imdbPlot = removePipesLinebreaks(imdbPlot); // remove all '|', and replace all newlines with spaces - sessionStorage.setItem("imdbPlot", imdbPlot); - - let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().html(); - rtPlot = removePipesLinebreaks(rtPlot); - sessionStorage.setItem("rtPlot", rtPlot); + let imdbPlot = $(container).find(".header2:contains('Plot:')").filter(function() { // https://stackoverflow.com/questions/8978411/jquery-ajax-findp-in-responsetext + return $(this).text() === "Plot:"; // https://stackoverflow.com/questions/15364298/select-element-by-exact-match-of-its-content/18462522 + }).next().html(); + imdbPlot = removePipesLinebreaks(imdbPlot); // remove all '|', and replace all newlines with spaces + sessionStorage.setItem("imdbPlot", imdbPlot); - window.location.href = links[i].href; // https://www.w3schools.com/howto/howto_js_redirect_webpage.asp + let rtPlot = $(container).find(".header2:contains('Rotten Plot:')").next().html(); + rtPlot = removePipesLinebreaks(rtPlot); + sessionStorage.setItem("rtPlot", rtPlot); - }, false); + window.location.href = links[i].href; // https://www.w3schools.com/howto/howto_js_redirect_webpage.asp }; xhr.send(); From 7a0135b8702e39659f5a25d096f1ae7f200f6a47 Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 21 Sep 2019 22:56:08 +0300 Subject: [PATCH 142/439] (RARBG - torrent and magnet links) Removed unneeded semicolon (;) javascript:void(0) in href --- .../RARBG_-_torrent_and_magnet_links.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 761d8e1..17239e2 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.9.17.1 +// @version 2019.9.21 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs @@ -43,10 +43,10 @@ function appendColumn(elem) { let href = oldColumn[i].firstChild.href; - newColumn[i].innerHTML = ''; + newColumn[i].innerHTML = ''; newColumn[i].lastChild.title = 'DL via XHR'; - newColumn[i].innerHTML += ' '; + newColumn[i].innerHTML += ' '; newColumn[i].lastChild.title = 'ML via XHR'; } From 97fb5662e9ddfc95ce08e5bac35f8d4829138383 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Sep 2019 11:25:42 +0300 Subject: [PATCH 143/439] (RARBG - torrent and magnet links) Removed the uneeded ';' from the relevant 'if' too --- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 17239e2..642f988 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.9.21 +// @version 2019.9.22 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs @@ -61,7 +61,7 @@ function addClickListeners(links, type){ links[i].addEventListener('click', function(event){ let href = this.getAttribute('href'); - if (href === 'javascript:void(0);') { + if (href === 'javascript:void(0)') { let tLink = this.getAttribute('data-href'); var xhr = new XMLHttpRequest(); From d5798ffd5f9b448fd4cbd2d994e878314921b9f1 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Sep 2019 11:56:15 +0300 Subject: [PATCH 144/439] (RARBG - torrent and magnet links) Updated README.md --- RARBG_-_torrent_and_magnet_links/README.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/RARBG_-_torrent_and_magnet_links/README.md b/RARBG_-_torrent_and_magnet_links/README.md index a1c6a28..f5006a8 100644 --- a/RARBG_-_torrent_and_magnet_links/README.md +++ b/RARBG_-_torrent_and_magnet_links/README.md @@ -2,16 +2,11 @@ Adds a column with torrent and magnet links in RARBG lists: ![](https://i.imgur.com/JpNCgIe.jpg) Notes: - -- the script generates the magnet links in two ways: - - for most torrent entries, it generates it directly from the current page - *(i.e. from the filename of the thumbnail image that appears when you mouseover on the torrent title, and that's because these filenames are the same as the relevant torrent hash)* . - Update 2/1/2019: DL links are now also retrieved via XHR, because unfortunately they cannot be generated from the page anymore, due to the latest site HTML changes. - - For some torrent entries however, the thumbnail filename is generic (i.e. it doesn't contain the torrent hash), - therefore the magnet link cannot be generated directly. - In such cases, in order to get the magnet link, the target torrent page is retrieved via XHR : -initially the ML links will have as its destination(`href`) the current page's URL with a `#` in its end (e.g. `https://rarbg.to/torrents.php#` ) -and as you mouseover on any such ML icon, the following tooltip will be displayed: "`ML via XHR`", and the relevant target page will be retrieved via XHR in the background. -So at the time you click the ML icon (or just move the mouse away and re-mouseover), it will now have the magnet link. -*(thanks to sxe [for the suggestion](https://greasyfork.org/en/forum/discussion/30691/x))*. -- Since 4/27/2019 it uses the [arrive.js](https://github.com/uzairfarooq/arrive) library in order to work in TV Browser pages too. \ No newline at end of file +- *(Initialy most of the ML links could be generated from the page itself ((i.e. from the filename of the thumbnail image that appeared when you mouseover on the torrent title, and that's because these filenames were the same as the relevant torrent hash)* ). Since 2/1/2019 that's no longer possible, due to the site's latest HTML changes). +- So, from now on, the script generates all links via XHR: + - The DL/ML links will have: + - initially, as its destination (`href`) a: `javascript:void(0)` *(to avoid taking the user back to the top of the page, something that previously occured when I had a `#` as href, instead)*, + - as tooltip: "`DL/ML via XHR`". + - As you click a DL/ML icon, the relevant target page will be retrieved via XHR in the background (so, after clicking an icon, it will now have the magnet link). + *(thanks to sxe [for the initial suggestion](https://greasyfork.org/en/forum/discussion/30691/x))*. +- Since 4/27/2019 it uses the [arrive.js](https://github.com/uzairfarooq/arrive) library in order to work in TV Browser pages too. From 2c65885d45ce966852b5ae787d90a927b60d09b8 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 27 Sep 2019 01:01:56 +0300 Subject: [PATCH 145/439] (RARBG - various tweaks) Added test() before some replace() --- .../RARBG_-_various_tweaks.user.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index d39cd19..684dd8b 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.9.19.1 +// @version 2019.9.27 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT @@ -288,7 +288,9 @@ function removePipesLinebreaks(s){ function makeBold(s, regex){ - return s.replace(regex, function(m, s1, s2, s3) { return s1 + ''+ s2 + '' + s3 ;}); + if (regex.test(s)) { + return s.replace(regex, function(m, s1, s2, s3) { return s1 + ''+ s2 + '' + s3 ;}); + } } @@ -372,12 +374,16 @@ if (isOnSearchbyIMDbIdPage) { // duration from min to h:mm let durationRegex = /(.*Runtime:<\/b> )([\d]+)(.*)/; - imdbRefRatingElement.html(imdbRefRatingElement.html().replace(durationRegex, function(m, s1, s2, s3) { return s1 + minsToHoursMins(s2) + s3 ;})); + if (durationRegex.test(imdbRefRatingElement.html())){ + imdbRefRatingElement.html(imdbRefRatingElement.html().replace(durationRegex, function(m, s1, s2, s3) { return s1 + minsToHoursMins(s2) + s3 ;})); + } // rearrange: IMDb Summary --> IMDb Rating --> RT Tomatometer --> RT Critics Avg --> RT Critics Consensus - var rearrangeRegex = /([\s\S]+)(IMDb<\/a> Rating:.*\/10
)(IMDb Summary:<\/b>.*<\/span>
)(.*>\/10
)( RT Tomatometer:.*%<\/b>[\s]+
)?(RT Critics Consensus.*)?/; - imdbRefRatingElement.html(imdbRefRatingElement.html().replace(rearrangeRegex, function(m, s1, s2, s3, s4, s5, s6) { if (!s5) s5=''; if (!s6) s6=''; return s1 + s3 + s2 + s5 + s4 + s6 ;})); + var rearrangeRegex = /([\s\S]+)(
IMDb<\/a> Rating:.*10
)(IMDb Summary:<\/b>.*<\/span>
)[\s]*(RT Critics Avg:.*10
)?[\s]*(RT Tomatometer:.*%<\/b>[\s]+
)?(RT Critics Consensus:.*)?/; + if (rearrangeRegex.test(imdbRefRatingElement.html())){ + imdbRefRatingElement.html(imdbRefRatingElement.html().replace(rearrangeRegex, function(m, s1, s2, s3, s4, s5, s6) { if (!s4) s4=''; if (!s5) s5=''; if (!s6) s6=''; return s1 + s3 + s2 + s5 + s4 + s6 ;})); + } } From 91af02e091152e08b7eb7c4013246ce0abe4aa1d Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 10 Oct 2019 19:55:40 +0300 Subject: [PATCH 146/439] (all RARBG scripts) Added rarbgway in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 24bc13c..62b7b62 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.9.17 +// @version 2019.10.10 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 642f988..e1024b5 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.9.22 +// @version 2019.10.10 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 684dd8b..e0b9df1 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.9.27 +// @version 2019.10.10 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgenter|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/|torrents\.php).*$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From 6702644dbb39fa6e8d2bb878f25fa332b6907d2b Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 11 Oct 2019 19:50:24 +0300 Subject: [PATCH 147/439] (Google YouTube search link) Added SVG YouTube icon (per request) --- .../Google_youtube_search_link.user.js | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/Google_youtube_search_link/Google_youtube_search_link.user.js b/Google_youtube_search_link/Google_youtube_search_link.user.js index c0219d1..15848d7 100644 --- a/Google_youtube_search_link/Google_youtube_search_link.user.js +++ b/Google_youtube_search_link/Google_youtube_search_link.user.js @@ -1,10 +1,10 @@ // ==UserScript== // @name Google YouTube search link // @namespace darkred -// @version 2017.6.9 -// @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) -// @authors wOxxOm, darkred +// @author wOxxOm, darkred // @license MIT +// @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) +// @version 2019.10.11 // @include https://www.google.com/* // @include /https?:\/\/(www\.)?google\.(com|(?:com?\.)?\w\w)\/.*/ // @grant none @@ -42,7 +42,7 @@ function process(mutations) { } }).observe(queryElement, { attributes: true, attributeFilter: ['value'] }); // monitor the textbox for changes (your typed criteria) } - } else if ((q = location.href.match(/^.+?(?:[#\/&?](?:q|query))=(.+?)(?:|&.+|\|.+)$/))) + } else if ((q = location.href.match(/^.+?(?:[#/&?](?:q|query))=(.+?)(?:|&.+|\|.+)$/))) q = q[1]; var node = document.querySelector(`a[href*='tbm=vid']`); // selector for the 'Videos' link (works in any Google search page language) @@ -50,6 +50,32 @@ function process(mutations) { '
YouTube' + ''; node.parentElement.insertAdjacentHTML('afterend', text); // insert the YouTube link + + + // Source URL: https://upload.wikimedia.org/wikipedia/commons/c/c9/YouTube_play_buttom_dark_icon_%282013-2017%29.svg + // Line 60 initially: y="0px" viewBox="0 0 1024 721" enable-background="new 0 0 1024 721" xml:space="preserve"> + var svg = + ` + + + + + + + + + + `; + + document.querySelector('#__YOUTUBE_SEARCH__ > a').insertAdjacentHTML('beforebegin', svg); + + + } new MutationObserver(process).observe(menuContainer, { childList: true }); From eff6e3dbd3287554a489d74160eb28792530ecc8 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 17 Oct 2019 23:06:21 +0300 Subject: [PATCH 148/439] (Google YouTube search link) Inverted the colors of the SVG YouTube icon (per request) --- .../Google_youtube_search_link.user.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Google_youtube_search_link/Google_youtube_search_link.user.js b/Google_youtube_search_link/Google_youtube_search_link.user.js index 15848d7..4c66a94 100644 --- a/Google_youtube_search_link/Google_youtube_search_link.user.js +++ b/Google_youtube_search_link/Google_youtube_search_link.user.js @@ -4,7 +4,7 @@ // @author wOxxOm, darkred // @license MIT // @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) -// @version 2019.10.11 +// @version 2019.10.17 // @include https://www.google.com/* // @include /https?:\/\/(www\.)?google\.(com|(?:com?\.)?\w\w)\/.*/ // @grant none @@ -80,3 +80,18 @@ function process(mutations) { new MutationObserver(process).observe(menuContainer, { childList: true }); } + + +function addCss(cssString) { + var head = document.getElementsByTagName('head')[0]; + var newCss = document.createElement('style'); + newCss.type = 'text/css'; + newCss.innerHTML = cssString; + head.appendChild(newCss); +} + +addCss(` + svg { + filter: invert(100%); + } +`); From fbf56687f9c6e3bcff715be4cf0701717521fd9c Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 27 Oct 2019 15:53:02 +0200 Subject: [PATCH 149/439] (Metal Archives discography pages - Reviews column split and sortable tables) Fix for the recent page change: the way it now loads jQuery, it wouldn't be present when the script fires (but about half a second later). [Thanks a lot to Brock Adams for the fix] --- ...-_Reviews_column_split_and_sortable_tables.user.js | 11 ++++++----- .../README.md | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index f674d06..1d00528 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -1,21 +1,22 @@ // ==UserScript== // @name Metal Archives discography pages - Reviews column split and sortable tables // @namespace darkred -// @version 2.0.4 -// @date 2018.5.23 +// @version 2.0.5 +// @date 2019.10.27 // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. // @author RobG, Brock Adams, Mottie, darkred // @license MIT // @include /^https?:\/\/www\.metal-archives\.com/bands?/.*$/ -// @grant none +// @grant GM_addStyle +// @require https://code.jquery.com/jquery-1.11.1.min.js // @require https://greasyfork.org/scripts/12036-mutation-summary/code/Mutation%20Summary.js // @require https://greasyfork.org/scripts/5844-tablesorter/code/TableSorter.js // -// This userscript uses jQuery (v1.11.1, i.e. that the page itself loads from inside: http://www.metal-archives.com/min/index.php?g=js ), +// This userscript uses jQuery v1.11.1, // the jQuery plugin 'tablesorter' (forked by Rob Garrison (Mottie)) http://mottie.github.io/tablesorter/docs/index.html , // and the JavaScript library 'Mutation Summary' (https://github.com/rafaelw/mutation-summary) (by Rafael Weinstein). // -// Thanks a lot to RobG, Brock Adams and Mottie for their invaluable help. +// Thanks a lot for the invaluable help to RobG, Mottie and especially Brock Adams. // // ==/UserScript== diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md index b4d1cd4..a215cc0 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/README.md @@ -13,11 +13,12 @@ Tested with Greasemonkey and Tampermonkey.
This userscript makes use of: -- the page's jQuery 1.11.1 (because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js, + +- ~~the page's~~ jQuery 1.11.1 ~~(because of the script's '@grant none' imperative), located inside the combined jQuery libraries file http://www.metal-archives.com/min/index.php?g=js,~~ - the jQuery plugin [tablesorter](http://mottie.github.io/tablesorter/docs/index.html) (forked by Mottie), and - the JavaScript library [Mutation Summary](https://github.com/rafaelw/mutation-summary) (by Rafael Weinstein). -Thanks a lot to Rob Garrison, Brock Adams and Mottie for their invaluable help ([1](http://stackoverflow.com/questions/26331773/javascript-in-an-html-table-how-to-select-part-of-text-matching-some-regex-f), [2](http://stackoverflow.com/questions/26416049/greasemonkey-using-the-waitforkeyelements-utility-how-to-call-a-function-aft), [3](https://github.com/Mottie/tablesorter/issues/990), [4](http://stackoverflow.com/questions/32233895/using-waitforkeyelements-is-it-possible-to-prevent-the-key-element-from-being-d)) +Thanks a lot for the invaluable help to RobG, Mottie and especially Brock Adams ([1](http://stackoverflow.com/questions/26331773/javascript-in-an-html-table-how-to-select-part-of-text-matching-some-regex-f), [2](http://stackoverflow.com/questions/26416049/greasemonkey-using-the-waitforkeyelements-utility-how-to-call-a-function-aft), [3](https://github.com/Mottie/tablesorter/issues/990), [4](http://stackoverflow.com/questions/32233895/using-waitforkeyelements-is-it-possible-to-prevent-the-key-element-from-being-d), [5](https://github.com/Tampermonkey/tampermonkey/issues/780)) Screenshots ![initially](https://greasyfork.org/system/screenshots/screenshots/000/001/815/original/1.jpg?1440546373) ![with the script](https://greasyfork.org/system/screenshots/screenshots/000/001/816/original/2_.jpg?1440546373) ![with the script (here sorted by Ratings(avg) in descending order)](https://greasyfork.org/system/screenshots/screenshots/000/001/817/original/3_.jpg?1440546373) From 88c028592e655fcd6a5b62a1730097ec3561e09b Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 27 Oct 2019 17:19:40 +0200 Subject: [PATCH 150/439] (various scripts) Converted file encoding from 'UTF-8 with BOM' to 'UTF-8' --- ..._Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js | 2 +- ..._Confirmations_before_submitting_issues_and_comments.user.js | 2 +- ...ter_discussions_on_scripts_by_review_type_and_author.user.js | 2 +- .../GreasyFork_-_filter_libraries_in_profiles.user.js | 2 +- .../Instagram_-_visible_images_counter.user.js | 2 +- OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js | 2 +- Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js | 2 +- .../Rotten_Tomatoes_Decimal_Rating.user.js | 2 +- .../Userstyles_-_filter_deleted_styles_in_your_profile.user.js | 2 +- Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js b/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js index ccaf4de..d7263a2 100644 --- a/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js +++ b/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles/Bugzilla_-_reveal_the_Depends,_Blocks,_See_Also_and_Duplicates_bug_titles.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Bugzilla - reveal the Depends, Blocks, See Also and Duplicates bug titles // @namespace darkred // @version 2017.16.11 diff --git a/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js b/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js index dee2126..ac7cb80 100644 --- a/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js +++ b/GitHub_Confirmations_before_submitting_issues_and_comments/GitHub_Confirmations_before_submitting_issues_and_comments.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name GitHub - Confirmations before submitting issues and comments // @namespace darkred // @version 2017.4.26 diff --git a/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js b/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js index a1cefad..a4f416e 100644 --- a/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js +++ b/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author/GreasyFork_-_filter_discussions_on_scripts_by_review_type_and_author.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name GreasyFork - filter discussions on scripts by review type and author // @namespace darkred // @version 2017.4.19 diff --git a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js index a94bc9e..29f78bc 100644 --- a/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js +++ b/GreasyFork_-_filter_libraries_in_profiles/GreasyFork_-_filter_libraries_in_profiles.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name GreasyFork - filter libraries in profiles // @namespace darkred // @version 2018.9.6 diff --git a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js index 62412ff..e07648d 100644 --- a/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js +++ b/Instagram_-_visible_images_counter/Instagram_-_visible_images_counter.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Instagram - visible images counter // @namespace darkred // @version 2019.4.28 diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index c553e04..c390b4a 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred // @version 2018.9.20 diff --git a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js index 5da6968..26440d7 100644 --- a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js +++ b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Reddit Infinite Scrolling // @namespace darkred // @version 2018.4.25 diff --git a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js index 0179a73..a682eff 100644 --- a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js +++ b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Rotten Tomatoes Decimal Rating // @namespace darkred // @version 4 diff --git a/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js b/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js index 65867a0..1aa8017 100644 --- a/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js +++ b/Userstyles_-_filter_deleted_styles_in_your_profile/Userstyles_-_filter_deleted_styles_in_your_profile.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Userstyles - filter deleted styles in your profile // @namespace darkred // @version 1 diff --git a/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js b/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js index 556fbe6..afb0708 100644 --- a/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js +++ b/Userstyles_Bullshit_Filter/Userstyles_Bullshit_Filter.user.js @@ -1,4 +1,4 @@ -īģŋ// ==UserScript== +// ==UserScript== // @name Userstyles Bullshit Filter // @namespace darkred // @version 1.1 From b96888245e75d9ad1eedffc85c10661798edece7 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 27 Oct 2019 19:19:35 +0200 Subject: [PATCH 151/439] (Metal Archives discography pages - Reviews column split and sortable tables) Updated the CSS rule to shorten the width of the 'Reviews' and 'Ratings' columns. --- ...ages_-_Reviews_column_split_and_sortable_tables.user.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 1d00528..044a9ee 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Metal Archives discography pages - Reviews column split and sortable tables // @namespace darkred -// @version 2.0.5 +// @version 2.0.6 // @date 2019.10.27 // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. // @author RobG, Brock Adams, Mottie, darkred @@ -31,13 +31,14 @@ thead th { background-position: right center; } thead th.up { - padding-right: 20px; background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); } thead th.down { - padding-right: 20px; background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); } +.discog th:nth-child(5), .discog th:nth-child(6){ + width: 35px; +} `; $('head').append(stylesheet); From 8aaf1af7e69de82197b45d8e8ccbb2d084150470 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 27 Oct 2019 23:29:52 +0200 Subject: [PATCH 152/439] (Metal Archives discography pages - Reviews column split and sortable tables) Fixed the CSS rule for shortening the width of the 'Reviews' and 'Ratings' columns, to also work when not logged in to the site. --- ...ages_-_Reviews_column_split_and_sortable_tables.user.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js index 044a9ee..2d5c01f 100644 --- a/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js +++ b/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables/Metal_Archives_discography_pages_-_Reviews_column_split_and_sortable_tables.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Metal Archives discography pages - Reviews column split and sortable tables // @namespace darkred -// @version 2.0.6 +// @version 2.0.7 // @date 2019.10.27 // @description Splits the Reviews column into Reviews(count) and Ratings and makes the tables in all discography tabs sortable. // @author RobG, Brock Adams, Mottie, darkred @@ -36,7 +36,10 @@ thead th.up { thead th.down { background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); } -.discog th:nth-child(5), .discog th:nth-child(6){ +.discog th:nth-last-child(2){ + width: 38px; +} +.discog th:nth-last-child(1){ width: 35px; } `; From 4993cb81f5edcacb3a8318900b391c0f0d83185f Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 1 Nov 2019 17:30:27 +0200 Subject: [PATCH 153/439] (Google YouTube search link) Fixed all issues reported in https://greasyfork.org/en/forum/discussion/comment/78472/#Comment_78472 --- .../Google_youtube_search_link.user.js | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/Google_youtube_search_link/Google_youtube_search_link.user.js b/Google_youtube_search_link/Google_youtube_search_link.user.js index 4c66a94..47c40e4 100644 --- a/Google_youtube_search_link/Google_youtube_search_link.user.js +++ b/Google_youtube_search_link/Google_youtube_search_link.user.js @@ -4,7 +4,7 @@ // @author wOxxOm, darkred // @license MIT // @description Adds a YouTube search link next to the Videos link (e.g. Web, Images, Videos, YouTube, News, Maps, Shopping, ...) -// @version 2019.10.17 +// @version 2019.11.1 // @include https://www.google.com/* // @include /https?:\/\/(www\.)?google\.(com|(?:com?\.)?\w\w)\/.*/ // @grant none @@ -45,19 +45,11 @@ function process(mutations) { } else if ((q = location.href.match(/^.+?(?:[#/&?](?:q|query))=(.+?)(?:|&.+|\|.+)$/))) q = q[1]; - var node = document.querySelector(`a[href*='tbm=vid']`); // selector for the 'Videos' link (works in any Google search page language) - var text = '
' + - 'YouTube' + - '
'; - node.parentElement.insertAdjacentHTML('afterend', text); // insert the YouTube link - - // Source URL: https://upload.wikimedia.org/wikipedia/commons/c/c9/YouTube_play_buttom_dark_icon_%282013-2017%29.svg - // Line 60 initially: y="0px" viewBox="0 0 1024 721" enable-background="new 0 0 1024 721" xml:space="preserve"> - var svg = - ` + // No change is done to its source code (the only thing applied to it is the CSS below) + var svg = ` + y="0px" viewBox="0 0 1024 721" enable-background="new 0 0 1024 721" xml:space="preserve"> @@ -72,9 +64,13 @@ function process(mutations) { `; - document.querySelector('#__YOUTUBE_SEARCH__ > a').insertAdjacentHTML('beforebegin', svg); - + var text = ''; + var node = document.querySelector(`a[href*='tbm=vid']`); // selector for the 'Videos' link (works in any Google search page language) + node.parentElement.insertAdjacentHTML('afterend', text); // insert the YouTube link } @@ -91,7 +87,7 @@ function addCss(cssString) { } addCss(` - svg { + #__YOUTUBE_SEARCH__ svg { filter: invert(100%); } `); From c9d3fbad8e5b81da44925561ff343e02959f6824 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 13 Nov 2019 19:41:44 +0200 Subject: [PATCH 154/439] (Reddit Infinite Scrolling) Changed jScroll @require link to cdjns (because of https://github.com/JasonBarnabe/greasyfork/issues/635#issuecomment-549097251 ) --- Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js index 26440d7..3060cc5 100644 --- a/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js +++ b/Reddit_Infinite_Scrolling/Reddit_Infinite_Scrolling.user.js @@ -9,7 +9,7 @@ // @include https://old.reddit.com/* // @grant unsafeWindow // @require http://code.jquery.com/jquery-2.1.4.min.js -// @require https://greasyfork.org/scripts/11636-jscroll/code/jScroll.js +// @require https://cdnjs.cloudflare.com/ajax/libs/jscroll/2.4.1/jquery.jscroll.min.js // ==/UserScript== // Jscroll code From edbd662b42feede66bc0020b3a05a4206913b845 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 13 Nov 2019 19:42:16 +0200 Subject: [PATCH 155/439] Libraries update --- .../setMutationHandler.js | 114 +- .../TableSorter.js | 4297 ++++++++++------- 2 files changed, 2733 insertions(+), 1678 deletions(-) diff --git a/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js b/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js index 7071ab9..2987a2f 100644 --- a/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js +++ b/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js @@ -1,54 +1,96 @@ -/* EXAMPLE: - - setMutationHandler(document, '.container p.some-child', function(nodes) { - // single node: - nodes[0].remove(); - - // or multiple nodes: - nodes.forEach(function(node) { - node.style.display = 'none'; - }); - - //this.disconnect(); // disconnect the observer, this is useful for one-time jobs - return true; // continue enumerating current batch of mutations - }); -*/ - // ==UserScript== // @name setMutationHandler // @description MutationObserver wrapper to wait for the specified CSS selector // @namespace wOxxOm.scripts // @author wOxxOm // @grant none -// @version 2.0.4 +// @version 3.0.2 // ==/UserScript== -function setMutationHandler(baseNode, selector, cb, options) { - var ob = new MutationObserver(function(mutations) { - for (var i=0, ml=mutations.length, m; (i 100 && !document.querySelector(selector)) + return; + var found = []; + for (var i=0, m; (m = mutations[i++]); ) { switch (m.type) { case 'childList': - if (m.addedNodes[0] && m.addedNodes[0].nodeType == 3) { // Node.TEXT_NODE - if (m.target.matches(selector) && !cb.call(ob, [m.target], m)) - return; - continue; + var nodes = m.addedNodes, nl = nodes.length; + var textNodesOnly = true; + for (var j=0; j < nl; j++) { + var n = nodes[j]; + textNodesOnly &= n.nodeType == 3; // TEXT_NODE + if (n.nodeType != 1) // ELEMENT_NODE + continue; + if (n.matches(selector)) + found.push(n); + else if (n.querySelector(selector)) { + n = n.querySelectorAll(selector); + if (n.length < 1000) + found.push.apply(found, n); + else + found = found.concat(found.slice.call(n)); + } } - for (var j=0, nodes=m.addedNodes, nl=nodes.length, n; (j (class from cssIcon) - onRenderTemplate : null, // function(index, template){ return template; }, (template is a string) - onRenderHeader : null, // function(index){}, (nothing to return) - - // *** functionality - cancelSelection : true, // prevent text selection in the header - tabIndex : true, // add tabindex to header for keyboard accessibility - dateFormat : 'mmddyyyy', // other options: "ddmmyyy" or "yyyymmdd" - sortMultiSortKey : 'shiftKey', // key used to select additional columns - sortResetKey : 'ctrlKey', // key used to remove sorting on a column - usNumberFormat : true, // false for German "1.234.567,89" or French "1 234 567,89" - delayInit : false, // if false, the parsed table contents will not update until the first sort - serverSideSorting: false, // if true, server-side sorting should be performed because client-side sorting will be disabled, but the ui and events will still be used. - - // *** sort options - headers : {}, // set sorter, string, empty, locked order, sortInitialOrder, filter, etc. - ignoreCase : true, // ignore case while sorting - sortForce : null, // column(s) first sorted; always applied - sortList : [], // Initial sort order; applied initially; updated when manually sorted - sortAppend : null, // column(s) sorted last; always applied - sortStable : false, // when sorting two rows with exactly the same content, the original sort order is maintained - - sortInitialOrder : 'asc', // sort direction on first click - sortLocaleCompare: false, // replace equivalent character (accented characters) - sortReset : false, // third click on the header will reset column to default - unsorted - sortRestart : false, // restart sort to "sortInitialOrder" when clicking on previously unsorted columns - - emptyTo : 'bottom', // sort empty cell to bottom, top, none, zero - stringTo : 'max', // sort strings in numerical column as max, min, top, bottom, zero - textExtraction : 'basic', // text extraction method/function - function(node, table, cellIndex){} - textAttribute : 'data-text',// data-attribute that contains alternate cell text (used in textExtraction function) - textSorter : null, // choose overall or specific column sorter function(a, b, direction, table, columnIndex) [alt: ts.sortText] - numberSorter : null, // choose overall numeric sorter function(a, b, direction, maxColumnValue) - - // *** widget options - widgets: [], // method to add widgets, e.g. widgets: ['zebra'] - widgetOptions : { - zebra : [ 'even', 'odd' ] // zebra widget alternating row class names - }, - initWidgets : true, // apply widgets on tablesorter initialization - - // *** callbacks - initialized : null, // function(table){}, - - // *** extra css class names - tableClass : '', - cssAsc : '', - cssDesc : '', - cssNone : '', - cssHeader : '', - cssHeaderRow : '', - cssProcessing : '', // processing icon applied to header during sort/filter - - cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to the its parent - cssIcon : 'tablesorter-icon', // if this class exists, a will be added to the header automatically - cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!) - - // *** selectors - selectorHeaders : '> thead th, > thead td', - selectorSort : 'th, td', // jQuery selector of content within selectorHeaders that is clickable to trigger a sort - selectorRemove : '.remove-me', - - // *** advanced - debug : false, - - // *** Internal variables - headerList: [], - empties: {}, - strings: {}, - parsers: [] +;( function( $ ) { + 'use strict'; + var ts = $.tablesorter = { + + version : '2.31.1', + + parsers : [], + widgets : [], + defaults : { + + // *** appearance + theme : 'default', // adds tablesorter-{theme} to the table for styling + widthFixed : false, // adds colgroup to fix widths of columns + showProcessing : false, // show an indeterminate timer icon in the header when the table is sorted or filtered. + + headerTemplate : '{content}',// header layout template (HTML ok); {content} = innerHTML, {icon} = // class from cssIcon + onRenderTemplate : null, // function( index, template ) { return template; }, // template is a string + onRenderHeader : null, // function( index ) {}, // nothing to return + + // *** functionality + cancelSelection : true, // prevent text selection in the header + tabIndex : true, // add tabindex to header for keyboard accessibility + dateFormat : 'mmddyyyy', // other options: 'ddmmyyy' or 'yyyymmdd' + sortMultiSortKey : 'shiftKey', // key used to select additional columns + sortResetKey : 'ctrlKey', // key used to remove sorting on a column + usNumberFormat : true, // false for German '1.234.567,89' or French '1 234 567,89' + delayInit : false, // if false, the parsed table contents will not update until the first sort + serverSideSorting: false, // if true, server-side sorting should be performed because client-side sorting will be disabled, but the ui and events will still be used. + resort : true, // default setting to trigger a resort after an 'update', 'addRows', 'updateCell', etc has completed + + // *** sort options + headers : {}, // set sorter, string, empty, locked order, sortInitialOrder, filter, etc. + ignoreCase : true, // ignore case while sorting + sortForce : null, // column(s) first sorted; always applied + sortList : [], // Initial sort order; applied initially; updated when manually sorted + sortAppend : null, // column(s) sorted last; always applied + sortStable : false, // when sorting two rows with exactly the same content, the original sort order is maintained + + sortInitialOrder : 'asc', // sort direction on first click + sortLocaleCompare: false, // replace equivalent character (accented characters) + sortReset : false, // third click on the header will reset column to default - unsorted + sortRestart : false, // restart sort to 'sortInitialOrder' when clicking on previously unsorted columns + + emptyTo : 'bottom', // sort empty cell to bottom, top, none, zero, emptyMax, emptyMin + stringTo : 'max', // sort strings in numerical column as max, min, top, bottom, zero + duplicateSpan : true, // colspan cells in the tbody will have duplicated content in the cache for each spanned column + textExtraction : 'basic', // text extraction method/function - function( node, table, cellIndex ) {} + textAttribute : 'data-text',// data-attribute that contains alternate cell text (used in default textExtraction function) + textSorter : null, // choose overall or specific column sorter function( a, b, direction, table, columnIndex ) [alt: ts.sortText] + numberSorter : null, // choose overall numeric sorter function( a, b, direction, maxColumnValue ) + + // *** widget options + initWidgets : true, // apply widgets on tablesorter initialization + widgetClass : 'widget-{name}', // table class name template to match to include a widget + widgets : [], // method to add widgets, e.g. widgets: ['zebra'] + widgetOptions : { + zebra : [ 'even', 'odd' ] // zebra widget alternating row class names + }, + + // *** callbacks + initialized : null, // function( table ) {}, + + // *** extra css class names + tableClass : '', + cssAsc : '', + cssDesc : '', + cssNone : '', + cssHeader : '', + cssHeaderRow : '', + cssProcessing : '', // processing icon applied to header during sort/filter + + cssChildRow : 'tablesorter-childRow', // class name indiciating that a row is to be attached to its parent + cssInfoBlock : 'tablesorter-infoOnly', // don't sort tbody with this class name (only one class name allowed here!) + cssNoSort : 'tablesorter-noSort', // class name added to element inside header; clicking on it won't cause a sort + cssIgnoreRow : 'tablesorter-ignoreRow',// header row to ignore; cells within this row will not be added to c.$headers + + cssIcon : 'tablesorter-icon', // if this class does not exist, the {icon} will not be added from the headerTemplate + cssIconNone : '', // class name added to the icon when there is no column sort + cssIconAsc : '', // class name added to the icon when the column has an ascending sort + cssIconDesc : '', // class name added to the icon when the column has a descending sort + cssIconDisabled : '', // class name added to the icon when the column has a disabled sort + + // *** events + pointerClick : 'click', + pointerDown : 'mousedown', + pointerUp : 'mouseup', + + // *** selectors + selectorHeaders : '> thead th, > thead td', + selectorSort : 'th, td', // jQuery selector of content within selectorHeaders that is clickable to trigger a sort + selectorRemove : '.remove-me', + + // *** advanced + debug : false, + + // *** Internal variables + headerList: [], + empties: {}, + strings: {}, + parsers: [], + + // *** parser options for validator; values must be falsy! + globalize: 0, + imgAttr: 0 + + // removed: widgetZebra: { css: ['even', 'odd'] } - // deprecated; but retained for backwards compatibility - // widgetZebra: { css: ["even", "odd"] } + }, - }; + // internal css classes - these will ALWAYS be added to + // the table and MUST only contain one class name - fixes #381 + css : { + table : 'tablesorter', + cssHasChild: 'tablesorter-hasChildRow', + childRow : 'tablesorter-childRow', + colgroup : 'tablesorter-colgroup', + header : 'tablesorter-header', + headerRow : 'tablesorter-headerRow', + headerIn : 'tablesorter-header-inner', + icon : 'tablesorter-icon', + processing : 'tablesorter-processing', + sortAsc : 'tablesorter-headerAsc', + sortDesc : 'tablesorter-headerDesc', + sortNone : 'tablesorter-headerUnSorted' + }, - // internal css classes - these will ALWAYS be added to - // the table and MUST only contain one class name - fixes #381 - ts.css = { - table : 'tablesorter', - cssHasChild: 'tablesorter-hasChildRow', - childRow : 'tablesorter-childRow', - header : 'tablesorter-header', - headerRow : 'tablesorter-headerRow', - headerIn : 'tablesorter-header-inner', - icon : 'tablesorter-icon', - info : 'tablesorter-infoOnly', - processing : 'tablesorter-processing', - sortAsc : 'tablesorter-headerAsc', - sortDesc : 'tablesorter-headerDesc', - sortNone : 'tablesorter-headerUnSorted' - }; + // labels applied to sortable headers for accessibility (aria) support + language : { + sortAsc : 'Ascending sort applied, ', + sortDesc : 'Descending sort applied, ', + sortNone : 'No sort applied, ', + sortDisabled : 'sorting is disabled', + nextAsc : 'activate to apply an ascending sort', + nextDesc : 'activate to apply a descending sort', + nextNone : 'activate to remove the sort' + }, - // labels applied to sortable headers for accessibility (aria) support - ts.language = { - sortAsc : 'Ascending sort applied, ', - sortDesc : 'Descending sort applied, ', - sortNone : 'No sort applied, ', - nextAsc : 'activate to apply an ascending sort', - nextDesc : 'activate to apply a descending sort', - nextNone : 'activate to remove the sort' - }; + regex : { + templateContent : /\{content\}/g, + templateIcon : /\{icon\}/g, + templateName : /\{name\}/i, + spaces : /\s+/g, + nonWord : /\W/g, + formElements : /(input|select|button|textarea)/i, - /* debuging utils */ - function log() { - var a = arguments[0], - s = arguments.length > 1 ? Array.prototype.slice.call(arguments) : a; - if (typeof console !== "undefined" && typeof console.log !== "undefined") { - console[ /error/i.test(a) ? 'error' : /warn/i.test(a) ? 'warn' : 'log' ](s); - } else { - alert(s); + // *** sort functions *** + // regex used in natural sort + // chunk/tokenize numbers & letters + chunk : /(^([+\-]?(?:\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi, + // replace chunks @ ends + chunks : /(^\\0|\\0$)/, + hex : /^0x[0-9a-f]+$/i, + + // *** formatFloat *** + comma : /,/g, + digitNonUS : /[\s|\.]/g, + digitNegativeTest : /^\s*\([.\d]+\)/, + digitNegativeReplace : /^\s*\(([.\d]+)\)/, + + // *** isDigit *** + digitTest : /^[\-+(]?\d+[)]?$/, + digitReplace : /[,.'"\s]/g + + }, + + // digit sort, text location + string : { + max : 1, + min : -1, + emptymin : 1, + emptymax : -1, + zero : 0, + none : 0, + 'null' : 0, + top : true, + bottom : false + }, + + keyCodes : { + enter : 13 + }, + + // placeholder date parser data (globalize) + dates : {}, + + // These methods can be applied on table.config instance + instanceMethods : {}, + + /* + ▄█████ ██████ ██████ ██ ██ █████▄ + ▀█▄ ██▄▄ ██ ██ ██ ██▄▄██ + ▀█▄ ██▀▀ ██ ██ ██ ██▀▀▀ + █████▀ ██████ ██ ▀████▀ ██ + */ + + setup : function( table, c ) { + // if no thead or tbody, or tablesorter is already present, quit + if ( !table || !table.tHead || table.tBodies.length === 0 || table.hasInitialized === true ) { + if ( ts.debug(c, 'core') ) { + if ( table.hasInitialized ) { + console.warn( 'Stopping initialization. Tablesorter has already been initialized' ); + } else { + console.error( 'Stopping initialization! No table, thead or tbody', table ); + } } + return; + } + + var tmp = '', + $table = $( table ), + meta = $.metadata; + // initialization flag + table.hasInitialized = false; + // table is being processed flag + table.isProcessing = true; + // make sure to store the config object + table.config = c; + // save the settings where they read + $.data( table, 'tablesorter', c ); + if ( ts.debug(c, 'core') ) { + console[ console.group ? 'group' : 'log' ]( 'Initializing tablesorter v' + ts.version ); + $.data( table, 'startoveralltimer', new Date() ); } - function benchmark(s, d) { - log(s + " (" + (new Date().getTime() - d.getTime()) + "ms)"); + // removing this in version 3 (only supports jQuery 1.7+) + c.supportsDataObject = ( function( version ) { + version[ 0 ] = parseInt( version[ 0 ], 10 ); + return ( version[ 0 ] > 1 ) || ( version[ 0 ] === 1 && parseInt( version[ 1 ], 10 ) >= 4 ); + })( $.fn.jquery.split( '.' ) ); + // ensure case insensitivity + c.emptyTo = c.emptyTo.toLowerCase(); + c.stringTo = c.stringTo.toLowerCase(); + c.last = { sortList : [], clickedIndex : -1 }; + // add table theme class only if there isn't already one there + if ( !/tablesorter\-/.test( $table.attr( 'class' ) ) ) { + tmp = ( c.theme !== '' ? ' tablesorter-' + c.theme : '' ); } - ts.log = log; - ts.benchmark = benchmark; + // give the table a unique id, which will be used in namespace binding + if ( !c.namespace ) { + c.namespace = '.tablesorter' + Math.random().toString( 16 ).slice( 2 ); + } else { + // make sure namespace starts with a period & doesn't have weird characters + c.namespace = '.' + c.namespace.replace( ts.regex.nonWord, '' ); + } - // $.isEmptyObject from jQuery v1.4 - function isEmptyObject(obj) { - /*jshint forin: false */ - for (var name in obj) { - return false; + c.table = table; + c.$table = $table + // add namespace to table to allow bindings on extra elements to target + // the parent table (e.g. parser-input-select) + .addClass( ts.css.table + ' ' + c.tableClass + tmp + ' ' + c.namespace.slice(1) ) + .attr( 'role', 'grid' ); + c.$headers = $table.find( c.selectorHeaders ); + + c.$table.children().children( 'tr' ).attr( 'role', 'row' ); + c.$tbodies = $table.children( 'tbody:not(.' + c.cssInfoBlock + ')' ).attr({ + 'aria-live' : 'polite', + 'aria-relevant' : 'all' + }); + if ( c.$table.children( 'caption' ).length ) { + tmp = c.$table.children( 'caption' )[ 0 ]; + if ( !tmp.id ) { tmp.id = c.namespace.slice( 1 ) + 'caption'; } + c.$table.attr( 'aria-labelledby', tmp.id ); + } + c.widgetInit = {}; // keep a list of initialized widgets + // change textExtraction via data-attribute + c.textExtraction = c.$table.attr( 'data-text-extraction' ) || c.textExtraction || 'basic'; + // build headers + ts.buildHeaders( c ); + // fixate columns if the users supplies the fixedWidth option + // do this after theme has been applied + ts.fixColumnWidth( table ); + // add widgets from class name + ts.addWidgetFromClass( table ); + // add widget options before parsing (e.g. grouping widget has parser settings) + ts.applyWidgetOptions( table ); + // try to auto detect column type, and store in tables config + ts.setupParsers( c ); + // start total row count at zero + c.totalRows = 0; + // only validate options while debugging. See #1528 + if (c.debug) { + ts.validateOptions( c ); + } + // build the cache for the tbody cells + // delayInit will delay building the cache until the user starts a sort + if ( !c.delayInit ) { ts.buildCache( c ); } + // bind all header events and methods + ts.bindEvents( table, c.$headers, true ); + ts.bindMethods( c ); + // get sort list from jQuery data or metadata + // in jQuery < 1.4, an error occurs when calling $table.data() + if ( c.supportsDataObject && typeof $table.data().sortlist !== 'undefined' ) { + c.sortList = $table.data().sortlist; + } else if ( meta && ( $table.metadata() && $table.metadata().sortlist ) ) { + c.sortList = $table.metadata().sortlist; + } + // apply widget init code + ts.applyWidget( table, true ); + // if user has supplied a sort list to constructor + if ( c.sortList.length > 0 ) { + // save sortList before any sortAppend is added + c.last.sortList = c.sortList; + ts.sortOn( c, c.sortList, {}, !c.initWidgets ); + } else { + ts.setHeadersCss( c ); + if ( c.initWidgets ) { + // apply widget format + ts.applyWidget( table, false ); } - return true; } - function getElementText(table, node, cellIndex) { - if (!node) { return ""; } - var te, c = table.config, - t = c.textExtraction || '', - text = ""; - if (t === "basic") { - // check data-attribute first - text = $(node).attr(c.textAttribute) || node.textContent || node.innerText || $(node).text() || ""; - } else { - if (typeof(t) === "function") { - text = t(node, table, cellIndex); - } else if (typeof (te = ts.getColumnData( table, t, cellIndex )) === 'function') { - text = te(node, table, cellIndex); - } else { - // previous "simple" method - text = node.textContent || node.innerText || $(node).text() || ""; + // show processesing icon + if ( c.showProcessing ) { + $table + .unbind( 'sortBegin' + c.namespace + ' sortEnd' + c.namespace ) + .bind( 'sortBegin' + c.namespace + ' sortEnd' + c.namespace, function( e ) { + clearTimeout( c.timerProcessing ); + ts.isProcessing( table ); + if ( e.type === 'sortBegin' ) { + c.timerProcessing = setTimeout( function() { + ts.isProcessing( table, true ); + }, 500 ); } - } - return $.trim(text); + }); } - function detectParserForColumn(table, rows, rowIndex, cellIndex) { - var cur, - i = ts.parsers.length, - node = false, - nodeValue = '', - keepLooking = true; - while (nodeValue === '' && keepLooking) { - rowIndex++; - if (rows[rowIndex]) { - node = rows[rowIndex].cells[cellIndex]; - nodeValue = getElementText(table, node, cellIndex); - if (table.config.debug) { - log('Checking if value was empty on row ' + rowIndex + ', column: ' + cellIndex + ': "' + nodeValue + '"'); - } + // initialized + table.hasInitialized = true; + table.isProcessing = false; + if ( ts.debug(c, 'core') ) { + console.log( 'Overall initialization time:' + ts.benchmark( $.data( table, 'startoveralltimer' ) ) ); + if ( ts.debug(c, 'core') && console.groupEnd ) { console.groupEnd(); } + } + $table.triggerHandler( 'tablesorter-initialized', table ); + if ( typeof c.initialized === 'function' ) { + c.initialized( table ); + } + }, + + bindMethods : function( c ) { + var $table = c.$table, + namespace = c.namespace, + events = ( 'sortReset update updateRows updateAll updateHeaders addRows updateCell updateComplete ' + + 'sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup ' + + 'mouseleave ' ).split( ' ' ) + .join( namespace + ' ' ); + // apply easy methods that trigger bound events + $table + .unbind( events.replace( ts.regex.spaces, ' ' ) ) + .bind( 'sortReset' + namespace, function( e, callback ) { + e.stopPropagation(); + // using this.config to ensure functions are getting a non-cached version of the config + ts.sortReset( this.config, function( table ) { + if (table.isApplyingWidgets) { + // multiple triggers in a row... filterReset, then sortReset - see #1361 + // wait to update widgets + setTimeout( function() { + ts.applyWidget( table, '', callback ); + }, 100 ); } else { - keepLooking = false; + ts.applyWidget( table, '', callback ); } + }); + }) + .bind( 'updateAll' + namespace, function( e, resort, callback ) { + e.stopPropagation(); + ts.updateAll( this.config, resort, callback ); + }) + .bind( 'update' + namespace + ' updateRows' + namespace, function( e, resort, callback ) { + e.stopPropagation(); + ts.update( this.config, resort, callback ); + }) + .bind( 'updateHeaders' + namespace, function( e, callback ) { + e.stopPropagation(); + ts.updateHeaders( this.config, callback ); + }) + .bind( 'updateCell' + namespace, function( e, cell, resort, callback ) { + e.stopPropagation(); + ts.updateCell( this.config, cell, resort, callback ); + }) + .bind( 'addRows' + namespace, function( e, $row, resort, callback ) { + e.stopPropagation(); + ts.addRows( this.config, $row, resort, callback ); + }) + .bind( 'updateComplete' + namespace, function() { + this.isUpdating = false; + }) + .bind( 'sorton' + namespace, function( e, list, callback, init ) { + e.stopPropagation(); + ts.sortOn( this.config, list, callback, init ); + }) + .bind( 'appendCache' + namespace, function( e, callback, init ) { + e.stopPropagation(); + ts.appendCache( this.config, init ); + if ( $.isFunction( callback ) ) { + callback( this ); + } + }) + // $tbodies variable is used by the tbody sorting widget + .bind( 'updateCache' + namespace, function( e, callback, $tbodies ) { + e.stopPropagation(); + ts.updateCache( this.config, callback, $tbodies ); + }) + .bind( 'applyWidgetId' + namespace, function( e, id ) { + e.stopPropagation(); + ts.applyWidgetId( this, id ); + }) + .bind( 'applyWidgets' + namespace, function( e, callback ) { + e.stopPropagation(); + // apply widgets (false = not initializing) + ts.applyWidget( this, false, callback ); + }) + .bind( 'refreshWidgets' + namespace, function( e, all, dontapply ) { + e.stopPropagation(); + ts.refreshWidgets( this, all, dontapply ); + }) + .bind( 'removeWidget' + namespace, function( e, name, refreshing ) { + e.stopPropagation(); + ts.removeWidget( this, name, refreshing ); + }) + .bind( 'destroy' + namespace, function( e, removeClasses, callback ) { + e.stopPropagation(); + ts.destroy( this, removeClasses, callback ); + }) + .bind( 'resetToLoadState' + namespace, function( e ) { + e.stopPropagation(); + // remove all widgets + ts.removeWidget( this, true, false ); + var tmp = $.extend( true, {}, c.originalSettings ); + // restore original settings; this clears out current settings, but does not clear + // values saved to storage. + c = $.extend( true, {}, ts.defaults, tmp ); + c.originalSettings = tmp; + this.hasInitialized = false; + // setup the entire table again + ts.setup( this, c ); + }); + }, + + bindEvents : function( table, $headers, core ) { + table = $( table )[ 0 ]; + var tmp, + c = table.config, + namespace = c.namespace, + downTarget = null; + if ( core !== true ) { + $headers.addClass( namespace.slice( 1 ) + '_extra_headers' ); + tmp = ts.getClosest( $headers, 'table' ); + if ( tmp.length && tmp[ 0 ].nodeName === 'TABLE' && tmp[ 0 ] !== table ) { + $( tmp[ 0 ] ).addClass( namespace.slice( 1 ) + '_extra_table' ); } - while (--i >= 0) { - cur = ts.parsers[i]; - // ignore the default text parser because it will always be true - if (cur && cur.id !== 'text' && cur.is && cur.is(nodeValue, table, node)) { - return cur; - } + } + tmp = ( c.pointerDown + ' ' + c.pointerUp + ' ' + c.pointerClick + ' sort keyup ' ) + .replace( ts.regex.spaces, ' ' ) + .split( ' ' ) + .join( namespace + ' ' ); + // apply event handling to headers and/or additional headers (stickyheaders, scroller, etc) + $headers + // http://stackoverflow.com/questions/5312849/jquery-find-self; + .find( c.selectorSort ) + .add( $headers.filter( c.selectorSort ) ) + .unbind( tmp ) + .bind( tmp, function( e, external ) { + var $cell, cell, temp, + $target = $( e.target ), + // wrap event type in spaces, so the match doesn't trigger on inner words + type = ' ' + e.type + ' '; + // only recognize left clicks + if ( ( ( e.which || e.button ) !== 1 && !type.match( ' ' + c.pointerClick + ' | sort | keyup ' ) ) || + // allow pressing enter + ( type === ' keyup ' && e.which !== ts.keyCodes.enter ) || + // allow triggering a click event (e.which is undefined) & ignore physical clicks + ( type.match( ' ' + c.pointerClick + ' ' ) && typeof e.which !== 'undefined' ) ) { + return; } - // nothing found, return the generic parser (text) - return ts.getParserById('text'); + // ignore mouseup if mousedown wasn't on the same target + if ( type.match( ' ' + c.pointerUp + ' ' ) && downTarget !== e.target && external !== true ) { + return; + } + // set target on mousedown + if ( type.match( ' ' + c.pointerDown + ' ' ) ) { + downTarget = e.target; + // preventDefault needed or jQuery v1.3.2 and older throws an + // "Uncaught TypeError: handler.apply is not a function" error + temp = $target.jquery.split( '.' ); + if ( temp[ 0 ] === '1' && temp[ 1 ] < 4 ) { e.preventDefault(); } + return; + } + downTarget = null; + $cell = ts.getClosest( $( this ), '.' + ts.css.header ); + // prevent sort being triggered on form elements + if ( ts.regex.formElements.test( e.target.nodeName ) || + // nosort class name, or elements within a nosort container + $target.hasClass( c.cssNoSort ) || $target.parents( '.' + c.cssNoSort ).length > 0 || + // disabled cell directly clicked + $cell.hasClass( 'sorter-false' ) || + // elements within a button + $target.parents( 'button' ).length > 0 ) { + return !c.cancelSelection; + } + if ( c.delayInit && ts.isEmptyObject( c.cache ) ) { + ts.buildCache( c ); + } + // use column index from data-attribute or index of current row; fixes #1116 + c.last.clickedIndex = $cell.attr( 'data-column' ) || $cell.index(); + cell = c.$headerIndexed[ c.last.clickedIndex ][0]; + if ( cell && !cell.sortDisabled ) { + ts.initSort( c, cell, e ); + } + }); + if ( c.cancelSelection ) { + // cancel selection + $headers + .attr( 'unselectable', 'on' ) + .bind( 'selectstart', false ) + .css({ + 'user-select' : 'none', + 'MozUserSelect' : 'none' // not needed for jQuery 1.8+ + }); } + }, - function buildParserCache(table) { - var c = table.config, - // update table bodies in case we start with an empty table - tb = c.$tbodies = c.$table.children('tbody:not(.' + c.cssInfoBlock + ')'), - rows, list, l, i, h, ch, np, p, e, time, - j = 0, - parsersDebug = "", - len = tb.length; - if ( len === 0) { - return c.debug ? log('Warning: *Empty table!* Not building a parser cache') : ''; - } else if (c.debug) { - time = new Date(); - log('Detecting parsers for each column'); - } - list = { - extractors: [], - parsers: [] + buildHeaders : function( c ) { + var $temp, icon, timer, indx; + c.headerList = []; + c.headerContent = []; + c.sortVars = []; + if ( ts.debug(c, 'core') ) { + timer = new Date(); + } + // children tr in tfoot - see issue #196 & #547 + // don't pass table.config to computeColumnIndex here - widgets (math) pass it to "quickly" index tbody cells + c.columns = ts.computeColumnIndex( c.$table.children( 'thead, tfoot' ).children( 'tr' ) ); + // add icon if cssIcon option exists + icon = c.cssIcon ? + '' : + ''; + // redefine c.$headers here in case of an updateAll that replaces or adds an entire header cell - see #683 + c.$headers = $( $.map( c.$table.find( c.selectorHeaders ), function( elem, index ) { + var configHeaders, header, column, template, tmp, + $elem = $( elem ); + // ignore cell (don't add it to c.$headers) if row has ignoreRow class + if ( ts.getClosest( $elem, 'tr' ).hasClass( c.cssIgnoreRow ) ) { return; } + // transfer data-column to element if not th/td - #1459 + if ( !/(th|td)/i.test( elem.nodeName ) ) { + tmp = ts.getClosest( $elem, 'th, td' ); + $elem.attr( 'data-column', tmp.attr( 'data-column' ) ); + } + // make sure to get header cell & not column indexed cell + configHeaders = ts.getColumnData( c.table, c.headers, index, true ); + // save original header content + c.headerContent[ index ] = $elem.html(); + // if headerTemplate is empty, don't reformat the header cell + if ( c.headerTemplate !== '' && !$elem.find( '.' + ts.css.headerIn ).length ) { + // set up header template + template = c.headerTemplate + .replace( ts.regex.templateContent, $elem.html() ) + .replace( ts.regex.templateIcon, $elem.find( '.' + ts.css.icon ).length ? '' : icon ); + if ( c.onRenderTemplate ) { + header = c.onRenderTemplate.apply( $elem, [ index, template ] ); + // only change t if something is returned + if ( header && typeof header === 'string' ) { + template = header; + } + } + $elem.html( '
' + template + '
' ); // faster than wrapInner + } + if ( c.onRenderHeader ) { + c.onRenderHeader.apply( $elem, [ index, c, c.$table ] ); + } + column = parseInt( $elem.attr( 'data-column' ), 10 ); + elem.column = column; + tmp = ts.getOrder( ts.getData( $elem, configHeaders, 'sortInitialOrder' ) || c.sortInitialOrder ); + // this may get updated numerous times if there are multiple rows + c.sortVars[ column ] = { + count : -1, // set to -1 because clicking on the header automatically adds one + order : tmp ? + ( c.sortReset ? [ 1, 0, 2 ] : [ 1, 0 ] ) : // desc, asc, unsorted + ( c.sortReset ? [ 0, 1, 2 ] : [ 0, 1 ] ), // asc, desc, unsorted + lockedOrder : false, + sortedBy : '' }; - while (j < len) { - rows = tb[j].rows; - if (rows[j]) { - l = c.columns; // rows[j].cells.length; - for (i = 0; i < l; i++) { - h = c.$headers.filter('[data-column="' + i + '"]:last'); - // get column indexed table cell - ch = ts.getColumnData( table, c.headers, i ); + tmp = ts.getData( $elem, configHeaders, 'lockedOrder' ) || false; + if ( typeof tmp !== 'undefined' && tmp !== false ) { + c.sortVars[ column ].lockedOrder = true; + c.sortVars[ column ].order = ts.getOrder( tmp ) ? [ 1, 1 ] : [ 0, 0 ]; + } + // add cell to headerList + c.headerList[ index ] = elem; + $elem.addClass( ts.css.header + ' ' + c.cssHeader ); + // add to parent in case there are multiple rows + ts.getClosest( $elem, 'tr' ) + .addClass( ts.css.headerRow + ' ' + c.cssHeaderRow ) + .attr( 'role', 'row' ); + // allow keyboard cursor to focus on element + if ( c.tabIndex ) { + $elem.attr( 'tabindex', 0 ); + } + return elem; + }) ); + // cache headers per column + c.$headerIndexed = []; + for ( indx = 0; indx < c.columns; indx++ ) { + // colspan in header making a column undefined + if ( ts.isEmptyObject( c.sortVars[ indx ] ) ) { + c.sortVars[ indx ] = {}; + } + // Use c.$headers.parent() in case selectorHeaders doesn't point to the th/td + $temp = c.$headers.filter( '[data-column="' + indx + '"]' ); + // target sortable column cells, unless there are none, then use non-sortable cells + // .last() added in jQuery 1.4; use .filter(':last') to maintain compatibility with jQuery v1.2.6 + c.$headerIndexed[ indx ] = $temp.length ? + $temp.not( '.sorter-false' ).length ? + $temp.not( '.sorter-false' ).filter( ':last' ) : + $temp.filter( ':last' ) : + $(); + } + c.$table.find( c.selectorHeaders ).attr({ + scope: 'col', + role : 'columnheader' + }); + // enable/disable sorting + ts.updateHeader( c ); + if ( ts.debug(c, 'core') ) { + console.log( 'Built headers:' + ts.benchmark( timer ) ); + console.log( c.$headers ); + } + }, + + // Use it to add a set of methods to table.config which will be available for all tables. + // This should be done before table initialization + addInstanceMethods : function( methods ) { + $.extend( ts.instanceMethods, methods ); + }, + + /* + █████▄ ▄████▄ █████▄ ▄█████ ██████ █████▄ ▄█████ + ██▄▄██ ██▄▄██ ██▄▄██ ▀█▄ ██▄▄ ██▄▄██ ▀█▄ + ██▀▀▀ ██▀▀██ ██▀██ ▀█▄ ██▀▀ ██▀██ ▀█▄ + ██ ██ ██ ██ ██ █████▀ ██████ ██ ██ █████▀ + */ + setupParsers : function( c, $tbodies ) { + var rows, list, span, max, colIndex, indx, header, configHeaders, + noParser, parser, extractor, time, tbody, len, + table = c.table, + tbodyIndex = 0, + debug = ts.debug(c, 'core'), + debugOutput = {}; + // update table bodies in case we start with an empty table + c.$tbodies = c.$table.children( 'tbody:not(.' + c.cssInfoBlock + ')' ); + tbody = typeof $tbodies === 'undefined' ? c.$tbodies : $tbodies; + len = tbody.length; + if ( len === 0 ) { + return debug ? console.warn( 'Warning: *Empty table!* Not building a parser cache' ) : ''; + } else if ( debug ) { + time = new Date(); + console[ console.group ? 'group' : 'log' ]( 'Detecting parsers for each column' ); + } + list = { + extractors: [], + parsers: [] + }; + while ( tbodyIndex < len ) { + rows = tbody[ tbodyIndex ].rows; + if ( rows.length ) { + colIndex = 0; + max = c.columns; + for ( indx = 0; indx < max; indx++ ) { + header = c.$headerIndexed[ colIndex ]; + if ( header && header.length ) { + // get column indexed table cell; adding true parameter fixes #1362 but + // it would break backwards compatibility... + configHeaders = ts.getColumnData( table, c.headers, colIndex ); // , true ); // get column parser/extractor - e = ts.getParserById( ts.getData(h, ch, 'extractor') ); - p = ts.getParserById( ts.getData(h, ch, 'sorter') ); - np = ts.getData(h, ch, 'parser') === 'false'; + extractor = ts.getParserById( ts.getData( header, configHeaders, 'extractor' ) ); + parser = ts.getParserById( ts.getData( header, configHeaders, 'sorter' ) ); + noParser = ts.getData( header, configHeaders, 'parser' ) === 'false'; // empty cells behaviour - keeping emptyToBottom for backwards compatibility - c.empties[i] = ( ts.getData(h, ch, 'empty') || c.emptyTo || (c.emptyToBottom ? 'bottom' : 'top' ) ).toLowerCase(); + c.empties[colIndex] = ( + ts.getData( header, configHeaders, 'empty' ) || + c.emptyTo || ( c.emptyToBottom ? 'bottom' : 'top' ) ).toLowerCase(); // text strings behaviour in numerical sorts - c.strings[i] = ( ts.getData(h, ch, 'string') || c.stringTo || 'max' ).toLowerCase(); - if (np) { - p = ts.getParserById('no-parser'); + c.strings[colIndex] = ( + ts.getData( header, configHeaders, 'string' ) || + c.stringTo || + 'max' ).toLowerCase(); + if ( noParser ) { + parser = ts.getParserById( 'no-parser' ); } - if (!e) { + if ( !extractor ) { // For now, maybe detect someday - e = false; + extractor = false; } - if (!p) { - p = detectParserForColumn(table, rows, -1, i); + if ( !parser ) { + parser = ts.detectParserForColumn( c, rows, -1, colIndex ); } - if (c.debug) { - parsersDebug += "column:" + i + "; extractor:" + e.id + "; parser:" + p.id + "; string:" + c.strings[i] + '; empty: ' + c.empties[i] + "\n"; - } - list.parsers[i] = p; - list.extractors[i] = e; - } - } - j += (list.parsers.length) ? len : 1; - } - if (c.debug) { - log(parsersDebug ? parsersDebug : "No parsers detected"); - benchmark("Completed detecting parsers", time); - } - c.parsers = list.parsers; - c.extractors = list.extractors; - } - - /* utils */ - function buildCache(table) { - var cc, t, tx, v, i, j, k, $row, rows, cols, cacheTime, - totalRows, rowData, colMax, - c = table.config, - $tb = c.$table.children('tbody'), - extractors = c.extractors, - parsers = c.parsers; - c.cache = {}; - c.totalRows = 0; - // if no parsers found, return - it's an empty table. - if (!parsers) { - return c.debug ? log('Warning: *Empty table!* Not building a cache') : ''; - } - if (c.debug) { - cacheTime = new Date(); - } - // processing icon - if (c.showProcessing) { - ts.isProcessing(table, true); - } - for (k = 0; k < $tb.length; k++) { - colMax = []; // column max value per tbody - cc = c.cache[k] = { - normalized: [] // array of normalized row data; last entry contains "rowData" above - // colMax: # // added at the end - }; - - // ignore tbodies with class name from c.cssInfoBlock - if (!$tb.eq(k).hasClass(c.cssInfoBlock)) { - totalRows = ($tb[k] && $tb[k].rows.length) || 0; - for (i = 0; i < totalRows; ++i) { - rowData = { - // order: original row order # - // $row : jQuery Object[] - child: [] // child row text (filter widget) - }; - /** Add the table data to main data array */ - $row = $($tb[k].rows[i]); - rows = [ new Array(c.columns) ]; - cols = []; - // if this is a child row, add it to the last row's children and continue to the next row - // ignore child row class, if it is the first row - if ($row.hasClass(c.cssChildRow) && i !== 0) { - t = cc.normalized.length - 1; - cc.normalized[t][c.columns].$row = cc.normalized[t][c.columns].$row.add($row); - // add "hasChild" class name to parent row - if (!$row.prev().hasClass(c.cssChildRow)) { - $row.prev().addClass(ts.css.cssHasChild); - } - // save child row content (un-parsed!) - rowData.child[t] = $.trim( $row[0].textContent || $row[0].innerText || $row.text() || "" ); - // go to the next for loop - continue; + if ( debug ) { + debugOutput[ '(' + colIndex + ') ' + header.text() ] = { + parser : parser.id, + extractor : extractor ? extractor.id : 'none', + string : c.strings[ colIndex ], + empty : c.empties[ colIndex ] + }; } - rowData.$row = $row; - rowData.order = i; // add original row position to rowCache - for (j = 0; j < c.columns; ++j) { - if (typeof parsers[j] === 'undefined') { - if (c.debug) { - log('No parser found for cell:', $row[0].cells[j], 'does it have a header?'); - } - continue; - } - t = getElementText(table, $row[0].cells[j], j); - // do extract before parsing if there is one - if (typeof extractors[j].id === 'undefined') { - tx = t; - } else { - tx = extractors[j].format(t, table, $row[0].cells[j], j); - } - // allow parsing if the string is empty, previously parsing would change it to zero, - // in case the parser needs to extract data from the table cell attributes - v = parsers[j].id === 'no-parser' ? '' : parsers[j].format(tx, table, $row[0].cells[j], j); - cols.push( c.ignoreCase && typeof v === 'string' ? v.toLowerCase() : v ); - if ((parsers[j].type || '').toLowerCase() === "numeric") { - // determine column max value (ignore sign) - colMax[j] = Math.max(Math.abs(v) || 0, colMax[j] || 0); + list.parsers[ colIndex ] = parser; + list.extractors[ colIndex ] = extractor; + span = header[ 0 ].colSpan - 1; + if ( span > 0 ) { + colIndex += span; + max += span; + while ( span + 1 > 0 ) { + // set colspan columns to use the same parsers & extractors + list.parsers[ colIndex - span ] = parser; + list.extractors[ colIndex - span ] = extractor; + span--; } } - // ensure rowData is always in the same location (after the last column) - cols[c.columns] = rowData; - cc.normalized.push(cols); } - cc.colMax = colMax; - // total up rows, not including child rows - c.totalRows += cc.normalized.length; + colIndex++; } } - if (c.showProcessing) { - ts.isProcessing(table); // remove processing icon + tbodyIndex += ( list.parsers.length ) ? len : 1; + } + if ( debug ) { + if ( !ts.isEmptyObject( debugOutput ) ) { + console[ console.table ? 'table' : 'log' ]( debugOutput ); + } else { + console.warn( ' No parsers detected!' ); } - if (c.debug) { - benchmark("Building cache for " + totalRows + " rows", cacheTime); + console.log( 'Completed detecting parsers' + ts.benchmark( time ) ); + if ( console.groupEnd ) { console.groupEnd(); } + } + c.parsers = list.parsers; + c.extractors = list.extractors; + }, + + addParser : function( parser ) { + var indx, + len = ts.parsers.length, + add = true; + for ( indx = 0; indx < len; indx++ ) { + if ( ts.parsers[ indx ].id.toLowerCase() === parser.id.toLowerCase() ) { + add = false; } } + if ( add ) { + ts.parsers[ ts.parsers.length ] = parser; + } + }, - // init flag (true) used by pager plugin to prevent widget application - function appendToTable(table, init) { - var c = table.config, - wo = c.widgetOptions, - b = table.tBodies, - rows = [], - cc = c.cache, - n, totalRows, $bk, $tb, - i, k, appendTime; - // empty table - fixes #206/#346 - if (isEmptyObject(cc)) { - // run pager appender in case the table was just emptied - return c.appender ? c.appender(table, rows) : - table.isUpdating ? c.$table.trigger("updateComplete", table) : ''; // Fixes #532 - } - if (c.debug) { - appendTime = new Date(); - } - for (k = 0; k < b.length; k++) { - $bk = $(b[k]); - if ($bk.length && !$bk.hasClass(c.cssInfoBlock)) { - // get tbody - $tb = ts.processTbody(table, $bk, true); - n = cc[k].normalized; - totalRows = n.length; - for (i = 0; i < totalRows; i++) { - rows.push(n[i][c.columns].$row); - // removeRows used by the pager plugin; don't render if using ajax - fixes #411 - if (!c.appender || (c.pager && (!c.pager.removeRows || !wo.pager_removeRows) && !c.pager.ajax)) { - $tb.append(n[i][c.columns].$row); - } - } - // restore tbody - ts.processTbody(table, $tb, false); - } + getParserById : function( name ) { + /*jshint eqeqeq:false */ // eslint-disable-next-line eqeqeq + if ( name == 'false' ) { return false; } + var indx, + len = ts.parsers.length; + for ( indx = 0; indx < len; indx++ ) { + if ( ts.parsers[ indx ].id.toLowerCase() === ( name.toString() ).toLowerCase() ) { + return ts.parsers[ indx ]; } - if (c.appender) { - c.appender(table, rows); - } - if (c.debug) { - benchmark("Rebuilt table", appendTime); - } - // apply table widgets; but not before ajax completes - if (!init && !c.appender) { ts.applyWidget(table); } - if (table.isUpdating) { - c.$table.trigger("updateComplete", table); - } - } - - function formatSortingOrder(v) { - // look for "d" in "desc" order; return true - return (/^d/i.test(v) || v === 1); - } - - function buildHeaders(table) { - var ch, $t, - h, i, t, lock, time, - c = table.config; - c.headerList = []; - c.headerContent = []; - if (c.debug) { - time = new Date(); - } - // children tr in tfoot - see issue #196 & #547 - c.columns = ts.computeColumnIndex( c.$table.children('thead, tfoot').children('tr') ); - // add icon if cssIcon option exists - i = c.cssIcon ? '' : ''; - // redefine c.$headers here in case of an updateAll that replaces or adds an entire header cell - see #683 - c.$headers = $(table).find(c.selectorHeaders).each(function(index) { - $t = $(this); - // make sure to get header cell & not column indexed cell - ch = ts.getColumnData( table, c.headers, index, true ); - // save original header content - c.headerContent[index] = $(this).html(); - // if headerTemplate is empty, don't reformat the header cell - if ( c.headerTemplate !== '' ) { - // set up header template - t = c.headerTemplate.replace(/\{content\}/g, $(this).html()).replace(/\{icon\}/g, i); - if (c.onRenderTemplate) { - h = c.onRenderTemplate.apply($t, [index, t]); - if (h && typeof h === 'string') { t = h; } // only change t if something is returned - } - $(this).html('
' + t + '
'); // faster than wrapInner - } - if (c.onRenderHeader) { c.onRenderHeader.apply($t, [index]); } - this.column = parseInt( $(this).attr('data-column'), 10); - this.order = formatSortingOrder( ts.getData($t, ch, 'sortInitialOrder') || c.sortInitialOrder ) ? [1,0,2] : [0,1,2]; - this.count = -1; // set to -1 because clicking on the header automatically adds one - this.lockedOrder = false; - lock = ts.getData($t, ch, 'lockedOrder') || false; - if (typeof lock !== 'undefined' && lock !== false) { - this.order = this.lockedOrder = formatSortingOrder(lock) ? [1,1,1] : [0,0,0]; - } - $t.addClass(ts.css.header + ' ' + c.cssHeader); - // add cell to headerList - c.headerList[index] = this; - // add to parent in case there are multiple rows - $t.parent().addClass(ts.css.headerRow + ' ' + c.cssHeaderRow).attr('role', 'row'); - // allow keyboard cursor to focus on element - if (c.tabIndex) { $t.attr("tabindex", 0); } - }).attr({ - scope: 'col', - role : 'columnheader' - }); - // enable/disable sorting - updateHeader(table); - if (c.debug) { - benchmark("Built headers:", time); - log(c.$headers); - } - } - - function commonUpdate(table, resort, callback) { - var c = table.config; - // remove rows/elements before update - c.$table.find(c.selectorRemove).remove(); - // rebuild parsers - buildParserCache(table); - // rebuild the cache map - buildCache(table); - checkResort(c.$table, resort, callback); - } - - function updateHeader(table) { - var s, $th, col, - c = table.config; - c.$headers.each(function(index, th){ - $th = $(th); - col = ts.getColumnData( table, c.headers, index, true ); - // add "sorter-false" class if "parser-false" is set - s = ts.getData( th, col, 'sorter' ) === 'false' || ts.getData( th, col, 'parser' ) === 'false'; - th.sortDisabled = s; - $th[ s ? 'addClass' : 'removeClass' ]('sorter-false').attr('aria-disabled', '' + s); - // aria-controls - requires table ID - if (table.id) { - if (s) { - $th.removeAttr('aria-controls'); - } else { - $th.attr('aria-controls', table.id); - } - } - }); } + return false; + }, - function setHeadersCss(table) { - var f, i, j, - c = table.config, - list = c.sortList, - len = list.length, - none = ts.css.sortNone + ' ' + c.cssNone, - css = [ts.css.sortAsc + ' ' + c.cssAsc, ts.css.sortDesc + ' ' + c.cssDesc], - aria = ['ascending', 'descending'], - // find the footer - $t = $(table).find('tfoot tr').children().add(c.$extraHeaders).removeClass(css.join(' ')); - // remove all header information - c.$headers - .removeClass(css.join(' ')) - .addClass(none).attr('aria-sort', 'none'); - for (i = 0; i < len; i++) { - // direction = 2 means reset! - if (list[i][1] !== 2) { - // multicolumn sorting updating - choose the :last in case there are nested columns - f = c.$headers.not('.sorter-false').filter('[data-column="' + list[i][0] + '"]' + (len === 1 ? ':last' : '') ); - if (f.length) { - for (j = 0; j < f.length; j++) { - if (!f[j].sortDisabled) { - f.eq(j).removeClass(none).addClass(css[list[i][1]]).attr('aria-sort', aria[list[i][1]]); - } - } - // add sorted class to footer & extra headers, if they exist - if ($t.length) { - $t.filter('[data-column="' + list[i][0] + '"]').removeClass(none).addClass(css[list[i][1]]); - } + detectParserForColumn : function( c, rows, rowIndex, cellIndex ) { + var cur, $node, row, + indx = ts.parsers.length, + node = false, + nodeValue = '', + debug = ts.debug(c, 'core'), + keepLooking = true; + while ( nodeValue === '' && keepLooking ) { + rowIndex++; + row = rows[ rowIndex ]; + // stop looking after 50 empty rows + if ( row && rowIndex < 50 ) { + if ( row.className.indexOf( ts.cssIgnoreRow ) < 0 ) { + node = rows[ rowIndex ].cells[ cellIndex ]; + nodeValue = ts.getElementText( c, node, cellIndex ); + $node = $( node ); + if ( debug ) { + console.log( 'Checking if value was empty on row ' + rowIndex + ', column: ' + + cellIndex + ': "' + nodeValue + '"' ); } } + } else { + keepLooking = false; } - // add verbose aria labels - c.$headers.not('.sorter-false').each(function(){ - var $this = $(this), - nextSort = this.order[(this.count + 1) % (c.sortReset ? 3 : 2)], - txt = $this.text() + ': ' + - ts.language[ $this.hasClass(ts.css.sortAsc) ? 'sortAsc' : $this.hasClass(ts.css.sortDesc) ? 'sortDesc' : 'sortNone' ] + - ts.language[ nextSort === 0 ? 'nextAsc' : nextSort === 1 ? 'nextDesc' : 'nextNone' ]; - $this.attr('aria-label', txt ); - }); } - - // automatically add col group, and column sizes if set - function fixColumnWidth(table) { - var colgroup, overallWidth, - c = table.config; - if (c.widthFixed && c.$table.find('colgroup').length === 0) { - colgroup = $(''); - overallWidth = $(table).width(); - // only add col for visible columns - fixes #371 - $(table.tBodies).not('.' + c.cssInfoBlock).find("tr:first").children(":visible").each(function() { - colgroup.append($('').css('width', parseInt(($(this).width()/overallWidth)*1000, 10)/10 + '%')); - }); - c.$table.prepend(colgroup); + while ( --indx >= 0 ) { + cur = ts.parsers[ indx ]; + // ignore the default text parser because it will always be true + if ( cur && cur.id !== 'text' && cur.is && cur.is( nodeValue, c.table, node, $node ) ) { + return cur; } } + // nothing found, return the generic parser (text) + return ts.getParserById( 'text' ); + }, - function updateHeaderSortCount(table, list) { - var s, t, o, col, primary, - c = table.config, - sl = list || c.sortList; - c.sortList = []; - $.each(sl, function(i,v){ - // ensure all sortList values are numeric - fixes #127 - col = parseInt(v[0], 10); - // make sure header exists - o = c.$headers.filter('[data-column="' + col + '"]:last')[0]; - if (o) { // prevents error if sorton array is wrong - // o.count = o.count + 1; - t = ('' + v[1]).match(/^(1|d|s|o|n)/); - t = t ? t[0] : ''; - // 0/(a)sc (default), 1/(d)esc, (s)ame, (o)pposite, (n)ext - switch(t) { - case '1': case 'd': // descending - t = 1; - break; - case 's': // same direction (as primary column) - // if primary sort is set to "s", make it ascending - t = primary || 0; - break; - case 'o': - s = o.order[(primary || 0) % (c.sortReset ? 3 : 2)]; - // opposite of primary column; but resets if primary resets - t = s === 0 ? 1 : s === 1 ? 0 : 2; - break; - case 'n': - o.count = o.count + 1; - t = o.order[(o.count) % (c.sortReset ? 3 : 2)]; - break; - default: // ascending - t = 0; - break; - } - primary = i === 0 ? t : primary; - s = [ col, parseInt(t, 10) || 0 ]; - c.sortList.push(s); - t = $.inArray(s[1], o.order); // fixes issue #167 - o.count = t >= 0 ? t : s[1] % (c.sortReset ? 3 : 2); - } - }); + getElementText : function( c, node, cellIndex ) { + if ( !node ) { return ''; } + var tmp, + extract = c.textExtraction || '', + // node could be a jquery object + // http://jsperf.com/jquery-vs-instanceof-jquery/2 + $node = node.jquery ? node : $( node ); + if ( typeof extract === 'string' ) { + // check data-attribute first when set to 'basic'; don't use node.innerText - it's really slow! + // http://www.kellegous.com/j/2013/02/27/innertext-vs-textcontent/ + if ( extract === 'basic' && typeof ( tmp = $node.attr( c.textAttribute ) ) !== 'undefined' ) { + return $.trim( tmp ); + } + return $.trim( node.textContent || $node.text() ); + } else { + if ( typeof extract === 'function' ) { + return $.trim( extract( $node[ 0 ], c.table, cellIndex ) ); + } else if ( typeof ( tmp = ts.getColumnData( c.table, extract, cellIndex ) ) === 'function' ) { + return $.trim( tmp( $node[ 0 ], c.table, cellIndex ) ); + } } + // fallback + return $.trim( $node[ 0 ].textContent || $node.text() ); + }, - function getCachedSortType(parsers, i) { - return (parsers && parsers[i]) ? parsers[i].type || '' : ''; - } - - function initSort(table, cell, event){ - if (table.isUpdating) { - // let any updates complete before initializing a sort - return setTimeout(function(){ initSort(table, cell, event); }, 50); - } - var arry, indx, col, order, s, - c = table.config, - key = !event[c.sortMultiSortKey], - $table = c.$table; - // Only call sortStart if sorting is enabled - $table.trigger("sortStart", table); - // get current column sort order - cell.count = event[c.sortResetKey] ? 2 : (cell.count + 1) % (c.sortReset ? 3 : 2); - // reset all sorts on non-current column - issue #30 - if (c.sortRestart) { - indx = cell; - c.$headers.each(function() { - // only reset counts on columns that weren't just clicked on and if not included in a multisort - if (this !== indx && (key || !$(this).is('.' + ts.css.sortDesc + ',.' + ts.css.sortAsc))) { - this.count = -1; - } - }); + // centralized function to extract/parse cell contents + getParsedText : function( c, cell, colIndex, txt ) { + if ( typeof txt === 'undefined' ) { + txt = ts.getElementText( c, cell, colIndex ); + } + // if no parser, make sure to return the txt + var val = '' + txt, + parser = c.parsers[ colIndex ], + extractor = c.extractors[ colIndex ]; + if ( parser ) { + // do extract before parsing, if there is one + if ( extractor && typeof extractor.format === 'function' ) { + txt = extractor.format( txt, c.table, cell, colIndex ); + } + // allow parsing if the string is empty, previously parsing would change it to zero, + // in case the parser needs to extract data from the table cell attributes + val = parser.id === 'no-parser' ? '' : + // make sure txt is a string (extractor may have converted it) + parser.format( '' + txt, c.table, cell, colIndex ); + if ( c.ignoreCase && typeof val === 'string' ) { + val = val.toLowerCase(); } - // get current column index - indx = cell.column; - // user only wants to sort on one column - if (key) { - // flush the sort list - c.sortList = []; - if (c.sortForce !== null) { - arry = c.sortForce; - for (col = 0; col < arry.length; col++) { - if (arry[col][0] !== indx) { - c.sortList.push(arry[col]); - } - } + } + return val; + }, + + /* + ▄████▄ ▄████▄ ▄████▄ ██ ██ ██████ + ██ ▀▀ ██▄▄██ ██ ▀▀ ██▄▄██ ██▄▄ + ██ ▄▄ ██▀▀██ ██ ▄▄ ██▀▀██ ██▀▀ + ▀████▀ ██ ██ ▀████▀ ██ ██ ██████ + */ + buildCache : function( c, callback, $tbodies ) { + var cache, val, txt, rowIndex, colIndex, tbodyIndex, $tbody, $row, + cols, $cells, cell, cacheTime, totalRows, rowData, prevRowData, + colMax, span, cacheIndex, hasParser, max, len, index, + table = c.table, + parsers = c.parsers, + debug = ts.debug(c, 'core'); + // update tbody variable + c.$tbodies = c.$table.children( 'tbody:not(.' + c.cssInfoBlock + ')' ); + $tbody = typeof $tbodies === 'undefined' ? c.$tbodies : $tbodies, + c.cache = {}; + c.totalRows = 0; + // if no parsers found, return - it's an empty table. + if ( !parsers ) { + return debug ? console.warn( 'Warning: *Empty table!* Not building a cache' ) : ''; + } + if ( debug ) { + cacheTime = new Date(); + } + // processing icon + if ( c.showProcessing ) { + ts.isProcessing( table, true ); + } + for ( tbodyIndex = 0; tbodyIndex < $tbody.length; tbodyIndex++ ) { + colMax = []; // column max value per tbody + cache = c.cache[ tbodyIndex ] = { + normalized: [] // array of normalized row data; last entry contains 'rowData' above + // colMax: # // added at the end + }; + + totalRows = ( $tbody[ tbodyIndex ] && $tbody[ tbodyIndex ].rows.length ) || 0; + for ( rowIndex = 0; rowIndex < totalRows; ++rowIndex ) { + rowData = { + // order: original row order # + // $row : jQuery Object[] + child: [], // child row text (filter widget) + raw: [] // original row text + }; + /** Add the table data to main data array */ + $row = $( $tbody[ tbodyIndex ].rows[ rowIndex ] ); + cols = []; + // ignore "remove-me" rows + if ( $row.hasClass( c.selectorRemove.slice(1) ) ) { + continue; } - // add column to sort list - order = cell.order[cell.count]; - if (order < 2) { - c.sortList.push([indx, order]); - // add other columns if header spans across multiple - if (cell.colSpan > 1) { - for (col = 1; col < cell.colSpan; col++) { - c.sortList.push([indx + col, order]); - } + // if this is a child row, add it to the last row's children and continue to the next row + // ignore child row class, if it is the first row + if ( $row.hasClass( c.cssChildRow ) && rowIndex !== 0 ) { + len = cache.normalized.length - 1; + prevRowData = cache.normalized[ len ][ c.columns ]; + prevRowData.$row = prevRowData.$row.add( $row ); + // add 'hasChild' class name to parent row + if ( !$row.prev().hasClass( c.cssChildRow ) ) { + $row.prev().addClass( ts.css.cssHasChild ); } - } - // multi column sorting - } else { - // get rid of the sortAppend before adding more - fixes issue #115 & #523 - if (c.sortAppend && c.sortList.length > 1) { - for (col = 0; col < c.sortAppend.length; col++) { - s = ts.isValueInArray(c.sortAppend[col][0], c.sortList); - if (s >= 0) { - c.sortList.splice(s,1); + // save child row content (un-parsed!) + $cells = $row.children( 'th, td' ); + len = prevRowData.child.length; + prevRowData.child[ len ] = []; + // child row content does not account for colspans/rowspans; so indexing may be off + cacheIndex = 0; + max = c.columns; + for ( colIndex = 0; colIndex < max; colIndex++ ) { + cell = $cells[ colIndex ]; + if ( cell ) { + prevRowData.child[ len ][ colIndex ] = ts.getParsedText( c, cell, colIndex ); + span = $cells[ colIndex ].colSpan - 1; + if ( span > 0 ) { + cacheIndex += span; + max += span; + } } + cacheIndex++; } + // go to the next for loop + continue; } - // the user has clicked on an already sorted column - if (ts.isValueInArray(indx, c.sortList) >= 0) { - // reverse the sorting direction - for (col = 0; col < c.sortList.length; col++) { - s = c.sortList[col]; - order = c.$headers.filter('[data-column="' + s[0] + '"]:last')[0]; - if (s[0] === indx) { - // order.count seems to be incorrect when compared to cell.count - s[1] = order.order[cell.count]; - if (s[1] === 2) { - c.sortList.splice(col,1); - order.count = -1; - } + rowData.$row = $row; + rowData.order = rowIndex; // add original row position to rowCache + cacheIndex = 0; + max = c.columns; + for ( colIndex = 0; colIndex < max; ++colIndex ) { + cell = $row[ 0 ].cells[ colIndex ]; + if ( cell && cacheIndex < c.columns ) { + hasParser = typeof parsers[ cacheIndex ] !== 'undefined'; + if ( !hasParser && debug ) { + console.warn( 'No parser found for row: ' + rowIndex + ', column: ' + colIndex + + '; cell containing: "' + $(cell).text() + '"; does it have a header?' ); } - } - } else { - // add column to sort list array - order = cell.order[cell.count]; - if (order < 2) { - c.sortList.push([indx, order]); - // add other columns if header spans across multiple - if (cell.colSpan > 1) { - for (col = 1; col < cell.colSpan; col++) { - c.sortList.push([indx + col, order]); + val = ts.getElementText( c, cell, cacheIndex ); + rowData.raw[ cacheIndex ] = val; // save original row text + // save raw column text even if there is no parser set + txt = ts.getParsedText( c, cell, cacheIndex, val ); + cols[ cacheIndex ] = txt; + if ( hasParser && ( parsers[ cacheIndex ].type || '' ).toLowerCase() === 'numeric' ) { + // determine column max value (ignore sign) + colMax[ cacheIndex ] = Math.max( Math.abs( txt ) || 0, colMax[ cacheIndex ] || 0 ); + } + // allow colSpan in tbody + span = cell.colSpan - 1; + if ( span > 0 ) { + index = 0; + while ( index <= span ) { + // duplicate text (or not) to spanned columns + // instead of setting duplicate span to empty string, use textExtraction to try to get a value + // see http://stackoverflow.com/q/36449711/145346 + txt = c.duplicateSpan || index === 0 ? + val : + typeof c.textExtraction !== 'string' ? + ts.getElementText( c, cell, cacheIndex + index ) || '' : + ''; + rowData.raw[ cacheIndex + index ] = txt; + cols[ cacheIndex + index ] = txt; + index++; } + cacheIndex += span; + max += span; } } + cacheIndex++; } + // ensure rowData is always in the same location (after the last column) + cols[ c.columns ] = rowData; + cache.normalized[ cache.normalized.length ] = cols; } - if (c.sortAppend !== null) { - arry = c.sortAppend; - for (col = 0; col < arry.length; col++) { - if (arry[col][0] !== indx) { - c.sortList.push(arry[col]); + cache.colMax = colMax; + // total up rows, not including child rows + c.totalRows += cache.normalized.length; + + } + if ( c.showProcessing ) { + ts.isProcessing( table ); // remove processing icon + } + if ( debug ) { + len = Math.min( 5, c.cache[ 0 ].normalized.length ); + console[ console.group ? 'group' : 'log' ]( 'Building cache for ' + c.totalRows + + ' rows (showing ' + len + ' rows in log) and ' + c.columns + ' columns' + + ts.benchmark( cacheTime ) ); + val = {}; + for ( colIndex = 0; colIndex < c.columns; colIndex++ ) { + for ( cacheIndex = 0; cacheIndex < len; cacheIndex++ ) { + if ( !val[ 'row: ' + cacheIndex ] ) { + val[ 'row: ' + cacheIndex ] = {}; } + val[ 'row: ' + cacheIndex ][ c.$headerIndexed[ colIndex ].text() ] = + c.cache[ 0 ].normalized[ cacheIndex ][ colIndex ]; } } - // sortBegin event triggered immediately before the sort - $table.trigger("sortBegin", table); - // setTimeout needed so the processing icon shows up - setTimeout(function(){ - // set css for headers - setHeadersCss(table); - multisort(table); - appendToTable(table); - $table.trigger("sortEnd", table); - }, 1); - } - - // sort multiple columns - function multisort(table) { /*jshint loopfunc:true */ - var i, k, num, col, sortTime, colMax, - cache, order, sort, x, y, - dir = 0, - c = table.config, - cts = c.textSorter || '', - sortList = c.sortList, - l = sortList.length, - bl = table.tBodies.length; - if (c.serverSideSorting || isEmptyObject(c.cache)) { // empty table - fixes #206/#346 - return; + console[ console.table ? 'table' : 'log' ]( val ); + if ( console.groupEnd ) { console.groupEnd(); } + } + if ( $.isFunction( callback ) ) { + callback( table ); + } + }, + + getColumnText : function( table, column, callback, rowFilter ) { + table = $( table )[0]; + var tbodyIndex, rowIndex, cache, row, tbodyLen, rowLen, raw, parsed, $cell, result, + hasCallback = typeof callback === 'function', + allColumns = column === 'all', + data = { raw : [], parsed: [], $cell: [] }, + c = table.config; + if ( ts.isEmptyObject( c ) ) { + if ( ts.debug(c, 'core') ) { + console.warn( 'No cache found - aborting getColumnText function!' ); + } + } else { + tbodyLen = c.$tbodies.length; + for ( tbodyIndex = 0; tbodyIndex < tbodyLen; tbodyIndex++ ) { + cache = c.cache[ tbodyIndex ].normalized; + rowLen = cache.length; + for ( rowIndex = 0; rowIndex < rowLen; rowIndex++ ) { + row = cache[ rowIndex ]; + if ( rowFilter && !row[ c.columns ].$row.is( rowFilter ) ) { + continue; + } + result = true; + parsed = ( allColumns ) ? row.slice( 0, c.columns ) : row[ column ]; + row = row[ c.columns ]; + raw = ( allColumns ) ? row.raw : row.raw[ column ]; + $cell = ( allColumns ) ? row.$row.children() : row.$row.children().eq( column ); + if ( hasCallback ) { + result = callback({ + tbodyIndex : tbodyIndex, + rowIndex : rowIndex, + parsed : parsed, + raw : raw, + $row : row.$row, + $cell : $cell + }); + } + if ( result !== false ) { + data.parsed[ data.parsed.length ] = parsed; + data.raw[ data.raw.length ] = raw; + data.$cell[ data.$cell.length ] = $cell; + } + } } - if (c.debug) { sortTime = new Date(); } - for (k = 0; k < bl; k++) { - colMax = c.cache[k].colMax; - cache = c.cache[k].normalized; - - cache.sort(function(a, b) { - // cache is undefined here in IE, so don't use it! - for (i = 0; i < l; i++) { - col = sortList[i][0]; - order = sortList[i][1]; - // sort direction, true = asc, false = desc - dir = order === 0; - - if (c.sortStable && a[col] === b[col] && l === 1) { - return a[c.columns].order - b[c.columns].order; - } + // return everything + return data; + } + }, - // fallback to natural sort since it is more robust - num = /n/i.test(getCachedSortType(c.parsers, col)); - if (num && c.strings[col]) { - // sort strings in numerical columns - if (typeof (c.string[c.strings[col]]) === 'boolean') { - num = (dir ? 1 : -1) * (c.string[c.strings[col]] ? -1 : 1); - } else { - num = (c.strings[col]) ? c.string[c.strings[col]] || 0 : 0; - } - // fall back to built-in numeric sort - // var sort = $.tablesorter["sort" + s](table, a[c], b[c], c, colMax[c], dir); - sort = c.numberSorter ? c.numberSorter(a[col], b[col], dir, colMax[col], table) : - ts[ 'sortNumeric' + (dir ? 'Asc' : 'Desc') ](a[col], b[col], num, colMax[col], col, table); - } else { - // set a & b depending on sort direction - x = dir ? a : b; - y = dir ? b : a; - // text sort function - if (typeof(cts) === 'function') { - // custom OVERALL text sorter - sort = cts(x[col], y[col], dir, col, table); - } else if (typeof(cts) === 'object' && cts.hasOwnProperty(col)) { - // custom text sorter for a SPECIFIC COLUMN - sort = cts[col](x[col], y[col], dir, col, table); - } else { - // fall back to natural sort - sort = ts[ 'sortNatural' + (dir ? 'Asc' : 'Desc') ](a[col], b[col], col, table, c); - } - } - if (sort) { return sort; } + /* + ██ ██ █████▄ █████▄ ▄████▄ ██████ ██████ + ██ ██ ██▄▄██ ██ ██ ██▄▄██ ██ ██▄▄ + ██ ██ ██▀▀▀ ██ ██ ██▀▀██ ██ ██▀▀ + ▀████▀ ██ █████▀ ██ ██ ██ ██████ + */ + setHeadersCss : function( c ) { + var indx, column, + list = c.sortList, + len = list.length, + none = ts.css.sortNone + ' ' + c.cssNone, + css = [ ts.css.sortAsc + ' ' + c.cssAsc, ts.css.sortDesc + ' ' + c.cssDesc ], + cssIcon = [ c.cssIconAsc, c.cssIconDesc, c.cssIconNone ], + aria = [ 'ascending', 'descending' ], + updateColumnSort = function($el, index) { + $el + .removeClass( none ) + .addClass( css[ index ] ) + .attr( 'aria-sort', aria[ index ] ) + .find( '.' + ts.css.icon ) + .removeClass( cssIcon[ 2 ] ) + .addClass( cssIcon[ index ] ); + }, + // find the footer + $extras = c.$table + .find( 'tfoot tr' ) + .children( 'td, th' ) + .add( $( c.namespace + '_extra_headers' ) ) + .removeClass( css.join( ' ' ) ), + // remove all header information + $sorted = c.$headers + .add( $( 'thead ' + c.namespace + '_extra_headers' ) ) + .removeClass( css.join( ' ' ) ) + .addClass( none ) + .attr( 'aria-sort', 'none' ) + .find( '.' + ts.css.icon ) + .removeClass( cssIcon.join( ' ' ) ) + .end(); + // add css none to all sortable headers + $sorted + .not( '.sorter-false' ) + .find( '.' + ts.css.icon ) + .addClass( cssIcon[ 2 ] ); + // add disabled css icon class + if ( c.cssIconDisabled ) { + $sorted + .filter( '.sorter-false' ) + .find( '.' + ts.css.icon ) + .addClass( c.cssIconDisabled ); + } + for ( indx = 0; indx < len; indx++ ) { + // direction = 2 means reset! + if ( list[ indx ][ 1 ] !== 2 ) { + // multicolumn sorting updating - see #1005 + // .not(function() {}) needs jQuery 1.4 + // filter(function(i, el) {}) <- el is undefined in jQuery v1.2.6 + $sorted = c.$headers.filter( function( i ) { + // only include headers that are in the sortList (this includes colspans) + var include = true, + $el = c.$headers.eq( i ), + col = parseInt( $el.attr( 'data-column' ), 10 ), + end = col + ts.getClosest( $el, 'th, td' )[0].colSpan; + for ( ; col < end; col++ ) { + include = include ? include || ts.isValueInArray( col, c.sortList ) > -1 : false; } - return a[c.columns].order - b[c.columns].order; + return include; }); + + // choose the :last in case there are nested columns + $sorted = $sorted + .not( '.sorter-false' ) + .filter( '[data-column="' + list[ indx ][ 0 ] + '"]' + ( len === 1 ? ':last' : '' ) ); + if ( $sorted.length ) { + for ( column = 0; column < $sorted.length; column++ ) { + if ( !$sorted[ column ].sortDisabled ) { + updateColumnSort( $sorted.eq( column ), list[ indx ][ 1 ] ); + } + } + } + // add sorted class to footer & extra headers, if they exist + if ( $extras.length ) { + updateColumnSort( $extras.filter( '[data-column="' + list[ indx ][ 0 ] + '"]' ), list[ indx ][ 1 ] ); + } } - if (c.debug) { benchmark("Sorting on " + sortList.toString() + " and dir " + order + " time", sortTime); } } + // add verbose aria labels + len = c.$headers.length; + for ( indx = 0; indx < len; indx++ ) { + ts.setColumnAriaLabel( c, c.$headers.eq( indx ) ); + } + }, - function resortComplete($table, callback){ - var table = $table[0]; - if (table.isUpdating) { - $table.trigger('updateComplete', table); - } - if ($.isFunction(callback)) { - callback($table[0]); + getClosest : function( $el, selector ) { + // jQuery v1.2.6 doesn't have closest() + if ( $.fn.closest ) { + return $el.closest( selector ); + } + return $el.is( selector ) ? + $el : + $el.parents( selector ).filter( ':first' ); + }, + + // nextSort (optional), lets you disable next sort text + setColumnAriaLabel : function( c, $header, nextSort ) { + if ( $header.length ) { + var column = parseInt( $header.attr( 'data-column' ), 10 ), + vars = c.sortVars[ column ], + tmp = $header.hasClass( ts.css.sortAsc ) ? + 'sortAsc' : + $header.hasClass( ts.css.sortDesc ) ? 'sortDesc' : 'sortNone', + txt = $.trim( $header.text() ) + ': ' + ts.language[ tmp ]; + if ( $header.hasClass( 'sorter-false' ) || nextSort === false ) { + txt += ts.language.sortDisabled; + } else { + tmp = ( vars.count + 1 ) % vars.order.length; + nextSort = vars.order[ tmp ]; + // if nextSort + txt += ts.language[ nextSort === 0 ? 'nextAsc' : nextSort === 1 ? 'nextDesc' : 'nextNone' ]; + } + $header.attr( 'aria-label', txt ); + if (vars.sortedBy) { + $header.attr( 'data-sortedBy', vars.sortedBy ); + } else { + $header.removeAttr('data-sortedBy'); } } + }, + + updateHeader : function( c ) { + var index, isDisabled, $header, col, + table = c.table, + len = c.$headers.length; + for ( index = 0; index < len; index++ ) { + $header = c.$headers.eq( index ); + col = ts.getColumnData( table, c.headers, index, true ); + // add 'sorter-false' class if 'parser-false' is set + isDisabled = ts.getData( $header, col, 'sorter' ) === 'false' || ts.getData( $header, col, 'parser' ) === 'false'; + ts.setColumnSort( c, $header, isDisabled ); + } + }, - function checkResort($table, flag, callback) { - var sl = $table[0].config.sortList; - // don't try to resort if the table is still processing - // this will catch spamming of the updateCell method - if (flag !== false && !$table[0].isProcessing && sl.length) { - $table.trigger("sorton", [sl, function(){ - resortComplete($table, callback); - }, true]); + setColumnSort : function( c, $header, isDisabled ) { + var id = c.table.id; + $header[ 0 ].sortDisabled = isDisabled; + $header[ isDisabled ? 'addClass' : 'removeClass' ]( 'sorter-false' ) + .attr( 'aria-disabled', '' + isDisabled ); + // disable tab index on disabled cells + if ( c.tabIndex ) { + if ( isDisabled ) { + $header.removeAttr( 'tabindex' ); + } else { + $header.attr( 'tabindex', '0' ); + } + } + // aria-controls - requires table ID + if ( id ) { + if ( isDisabled ) { + $header.removeAttr( 'aria-controls' ); } else { - resortComplete($table, callback); - ts.applyWidget($table[0], false); + $header.attr( 'aria-controls', id ); } } + }, - function bindMethods(table){ - var c = table.config, - $table = c.$table; - // apply easy methods that trigger bound events - $table - .unbind('sortReset update updateRows updateCell updateAll addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave '.split(' ').join(c.namespace + ' ')) - .bind("sortReset" + c.namespace, function(e, callback){ - e.stopPropagation(); - c.sortList = []; - setHeadersCss(table); - multisort(table); - appendToTable(table); - if ($.isFunction(callback)) { - callback(table); - } - }) - .bind("updateAll" + c.namespace, function(e, resort, callback){ - e.stopPropagation(); - table.isUpdating = true; - ts.refreshWidgets(table, true, true); - ts.restoreHeaders(table); - buildHeaders(table); - ts.bindEvents(table, c.$headers, true); - bindMethods(table); - commonUpdate(table, resort, callback); - }) - .bind("update" + c.namespace + " updateRows" + c.namespace, function(e, resort, callback) { - e.stopPropagation(); - table.isUpdating = true; - // update sorting (if enabled/disabled) - updateHeader(table); - commonUpdate(table, resort, callback); - }) - .bind("updateCell" + c.namespace, function(e, cell, resort, callback) { - e.stopPropagation(); - table.isUpdating = true; - $table.find(c.selectorRemove).remove(); - // get position from the dom - var v, t, row, icell, - $tb = $table.find('tbody'), - $cell = $(cell), - // update cache - format: function(s, table, cell, cellIndex) - // no closest in jQuery v1.2.6 - tbdy = $tb.index( $(cell).closest('tbody') ),$row = $(cell).closest('tr'); - tbdy = $tb.index( $.fn.closest ? $cell.closest('tbody') : $cell.parents('tbody').filter(':first') ), - $row = $.fn.closest ? $cell.closest('tr') : $cell.parents('tr').filter(':first'); - cell = $cell[0]; // in case cell is a jQuery object - // tbody may not exist if update is initialized while tbody is removed for processing - if ($tb.length && tbdy >= 0) { - row = $tb.eq(tbdy).find('tr').index( $row ); - icell = $cell.index(); - c.cache[tbdy].normalized[row][c.columns].$row = $row; - if (typeof c.extractors[icell].id === 'undefined') { - t = getElementText(table, cell, icell); + updateHeaderSortCount : function( c, list ) { + var col, dir, group, indx, primary, temp, val, order, + sortList = list || c.sortList, + len = sortList.length; + c.sortList = []; + for ( indx = 0; indx < len; indx++ ) { + val = sortList[ indx ]; + // ensure all sortList values are numeric - fixes #127 + col = parseInt( val[ 0 ], 10 ); + // prevents error if sorton array is wrong + if ( col < c.columns ) { + + // set order if not already defined - due to colspan header without associated header cell + // adding this check prevents a javascript error + if ( !c.sortVars[ col ].order ) { + if ( ts.getOrder( c.sortInitialOrder ) ) { + order = c.sortReset ? [ 1, 0, 2 ] : [ 1, 0 ]; } else { - t = c.extractors[icell].format( getElementText(table, cell, icell), table, cell, icell ); + order = c.sortReset ? [ 0, 1, 2 ] : [ 0, 1 ]; } - v = c.parsers[icell].id === 'no-parser' ? '' : - c.parsers[icell].format( t, table, cell, icell ); - c.cache[tbdy].normalized[row][icell] = c.ignoreCase && typeof v === 'string' ? v.toLowerCase() : v; - if ((c.parsers[icell].type || '').toLowerCase() === "numeric") { - // update column max value (ignore sign) - c.cache[tbdy].colMax[icell] = Math.max(Math.abs(v) || 0, c.cache[tbdy].colMax[icell] || 0); - } - checkResort($table, resort, callback); + c.sortVars[ col ].order = order; + c.sortVars[ col ].count = 0; } - }) - .bind("addRows" + c.namespace, function(e, $row, resort, callback) { - e.stopPropagation(); - table.isUpdating = true; - if (isEmptyObject(c.cache)) { - // empty table, do an update instead - fixes #450 - updateHeader(table); - commonUpdate(table, resort, callback); - } else { - $row = $($row).attr('role', 'row'); // make sure we're using a jQuery object - var i, j, l, t, v, rowData, cells, - rows = $row.filter('tr').length, - tbdy = $table.find('tbody').index( $row.parents('tbody').filter(':first') ); - // fixes adding rows to an empty table - see issue #179 - if (!(c.parsers && c.parsers.length)) { - buildParserCache(table); - } - // add each row - for (i = 0; i < rows; i++) { - l = $row[i].cells.length; - cells = []; - rowData = { - child: [], - $row : $row.eq(i), - order: c.cache[tbdy].normalized.length - }; - // add each cell - for (j = 0; j < l; j++) { - if (typeof c.extractors[j].id === 'undefined') { - t = getElementText(table, $row[i].cells[j], j); - } else { - t = c.extractors[j].format( getElementText(table, $row[i].cells[j], j), table, $row[i].cells[j], j ); - } - v = c.parsers[j].id === 'no-parser' ? '' : - c.parsers[j].format( t, table, $row[i].cells[j], j ); - cells[j] = c.ignoreCase && typeof v === 'string' ? v.toLowerCase() : v; - if ((c.parsers[j].type || '').toLowerCase() === "numeric") { - // update column max value (ignore sign) - c.cache[tbdy].colMax[j] = Math.max(Math.abs(cells[j]) || 0, c.cache[tbdy].colMax[j] || 0); - } - } - // add the row data to the end - cells.push(rowData); - // update cache - c.cache[tbdy].normalized.push(cells); - } - // resort using current settings - checkResort($table, resort, callback); - } - }) - .bind("updateComplete" + c.namespace, function(){ - table.isUpdating = false; - }) - .bind("sorton" + c.namespace, function(e, list, callback, init) { - var c = table.config; - e.stopPropagation(); - $table.trigger("sortStart", this); - // update header count index - updateHeaderSortCount(table, list); - // set css for headers - setHeadersCss(table); - // fixes #346 - if (c.delayInit && isEmptyObject(c.cache)) { buildCache(table); } - $table.trigger("sortBegin", this); - // sort the table and append it to the dom - multisort(table); - appendToTable(table, init); - $table.trigger("sortEnd", this); - ts.applyWidget(table); - if ($.isFunction(callback)) { - callback(table); - } - }) - .bind("appendCache" + c.namespace, function(e, callback, init) { - e.stopPropagation(); - appendToTable(table, init); - if ($.isFunction(callback)) { - callback(table); - } - }) - .bind("updateCache" + c.namespace, function(e, callback){ - // rebuild parsers - if (!(c.parsers && c.parsers.length)) { - buildParserCache(table); - } - // rebuild the cache map - buildCache(table); - if ($.isFunction(callback)) { - callback(table); + + order = c.sortVars[ col ].order; + dir = ( '' + val[ 1 ] ).match( /^(1|d|s|o|n)/ ); + dir = dir ? dir[ 0 ] : ''; + // 0/(a)sc (default), 1/(d)esc, (s)ame, (o)pposite, (n)ext + switch ( dir ) { + case '1' : case 'd' : // descending + dir = 1; + break; + case 's' : // same direction (as primary column) + // if primary sort is set to 's', make it ascending + dir = primary || 0; + break; + case 'o' : + temp = order[ ( primary || 0 ) % order.length ]; + // opposite of primary column; but resets if primary resets + dir = temp === 0 ? 1 : temp === 1 ? 0 : 2; + break; + case 'n' : + dir = order[ ( ++c.sortVars[ col ].count ) % order.length ]; + break; + default : // ascending + dir = 0; + break; } - }) - .bind("applyWidgetId" + c.namespace, function(e, id) { - e.stopPropagation(); - ts.getWidgetById(id).format(table, c, c.widgetOptions); - }) - .bind("applyWidgets" + c.namespace, function(e, init) { - e.stopPropagation(); - // apply widgets - ts.applyWidget(table, init); - }) - .bind("refreshWidgets" + c.namespace, function(e, all, dontapply){ - e.stopPropagation(); - ts.refreshWidgets(table, all, dontapply); - }) - .bind("destroy" + c.namespace, function(e, c, cb){ - e.stopPropagation(); - ts.destroy(table, c, cb); - }) - .bind("resetToLoadState" + c.namespace, function(){ - // remove all widgets - ts.refreshWidgets(table, true, true); - // restore original settings; this clears out current settings, but does not clear - // values saved to storage. - c = $.extend(true, ts.defaults, c.originalSettings); - table.hasInitialized = false; - // setup the entire table again - ts.setup( table, c ); - }); + primary = indx === 0 ? dir : primary; + group = [ col, parseInt( dir, 10 ) || 0 ]; + c.sortList[ c.sortList.length ] = group; + dir = $.inArray( group[ 1 ], order ); // fixes issue #167 + c.sortVars[ col ].count = dir >= 0 ? dir : group[ 1 ] % order.length; + } } + }, - /* public methods */ - ts.construct = function(settings) { - return this.each(function() { - var table = this, - // merge & extend config options - c = $.extend(true, {}, ts.defaults, settings); - // save initial settings - c.originalSettings = settings; - // create a table from data (build table widget) - if (!table.hasInitialized && ts.buildTable && this.tagName !== 'TABLE') { - // return the table (in case the original target is the table's container) - ts.buildTable(table, c); - } else { - ts.setup(table, c); - } - }); - }; + updateAll : function( c, resort, callback ) { + var table = c.table; + table.isUpdating = true; + ts.refreshWidgets( table, true, true ); + ts.buildHeaders( c ); + ts.bindEvents( table, c.$headers, true ); + ts.bindMethods( c ); + ts.commonUpdate( c, resort, callback ); + }, - ts.setup = function(table, c) { - // if no thead or tbody, or tablesorter is already present, quit - if (!table || !table.tHead || table.tBodies.length === 0 || table.hasInitialized === true) { - return c.debug ? log('ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized') : ''; - } + update : function( c, resort, callback ) { + var table = c.table; + table.isUpdating = true; + // update sorting (if enabled/disabled) + ts.updateHeader( c ); + ts.commonUpdate( c, resort, callback ); + }, - var k = '', - $table = $(table), - m = $.metadata; - // initialization flag - table.hasInitialized = false; - // table is being processed flag - table.isProcessing = true; - // make sure to store the config object - table.config = c; - // save the settings where they read - $.data(table, "tablesorter", c); - if (c.debug) { $.data( table, 'startoveralltimer', new Date()); } - - // removing this in version 3 (only supports jQuery 1.7+) - c.supportsDataObject = (function(version) { - version[0] = parseInt(version[0], 10); - return (version[0] > 1) || (version[0] === 1 && parseInt(version[1], 10) >= 4); - })($.fn.jquery.split(".")); - // digit sort text location; keeping max+/- for backwards compatibility - c.string = { 'max': 1, 'min': -1, 'emptymin': 1, 'emptymax': -1, 'zero': 0, 'none': 0, 'null': 0, 'top': true, 'bottom': false }; - // ensure case insensitivity - c.emptyTo = c.emptyTo.toLowerCase(); - c.stringTo = c.stringTo.toLowerCase(); - // add table theme class only if there isn't already one there - if (!/tablesorter\-/.test($table.attr('class'))) { - k = (c.theme !== '' ? ' tablesorter-' + c.theme : ''); - } - c.table = table; - c.$table = $table - .addClass(ts.css.table + ' ' + c.tableClass + k) - .attr('role', 'grid'); - c.$headers = $table.find(c.selectorHeaders); - - // give the table a unique id, which will be used in namespace binding - if (!c.namespace) { - c.namespace = '.tablesorter' + Math.random().toString(16).slice(2); + // simple header update - see #989 + updateHeaders : function( c, callback ) { + c.table.isUpdating = true; + ts.buildHeaders( c ); + ts.bindEvents( c.table, c.$headers, true ); + ts.resortComplete( c, callback ); + }, + + updateCell : function( c, cell, resort, callback ) { + // updateCell for child rows is a mess - we'll ignore them for now + // eventually I'll break out the "update" row cache code to make everything consistent + if ( $( cell ).closest( 'tr' ).hasClass( c.cssChildRow ) ) { + console.warn('Tablesorter Warning! "updateCell" for child row content has been disabled, use "update" instead'); + return; + } + if ( ts.isEmptyObject( c.cache ) ) { + // empty table, do an update instead - fixes #1099 + ts.updateHeader( c ); + ts.commonUpdate( c, resort, callback ); + return; + } + c.table.isUpdating = true; + c.$table.find( c.selectorRemove ).remove(); + // get position from the dom + var tmp, indx, row, icell, cache, len, + $tbodies = c.$tbodies, + $cell = $( cell ), + // update cache - format: function( s, table, cell, cellIndex ) + // no closest in jQuery v1.2.6 + tbodyIndex = $tbodies.index( ts.getClosest( $cell, 'tbody' ) ), + tbcache = c.cache[ tbodyIndex ], + $row = ts.getClosest( $cell, 'tr' ); + cell = $cell[ 0 ]; // in case cell is a jQuery object + // tbody may not exist if update is initialized while tbody is removed for processing + if ( $tbodies.length && tbodyIndex >= 0 ) { + row = $tbodies.eq( tbodyIndex ).find( 'tr' ).not( '.' + c.cssChildRow ).index( $row ); + cache = tbcache.normalized[ row ]; + len = $row[ 0 ].cells.length; + if ( len !== c.columns ) { + // colspan in here somewhere! + icell = 0; + tmp = false; + for ( indx = 0; indx < len; indx++ ) { + if ( !tmp && $row[ 0 ].cells[ indx ] !== cell ) { + icell += $row[ 0 ].cells[ indx ].colSpan; + } else { + tmp = true; + } + } } else { - // make sure namespace starts with a period & doesn't have weird characters - c.namespace = '.' + c.namespace.replace(/\W/g,''); + icell = $cell.index(); + } + tmp = ts.getElementText( c, cell, icell ); // raw + cache[ c.columns ].raw[ icell ] = tmp; + tmp = ts.getParsedText( c, cell, icell, tmp ); + cache[ icell ] = tmp; // parsed + if ( ( c.parsers[ icell ].type || '' ).toLowerCase() === 'numeric' ) { + // update column max value (ignore sign) + tbcache.colMax[ icell ] = Math.max( Math.abs( tmp ) || 0, tbcache.colMax[ icell ] || 0 ); + } + tmp = resort !== 'undefined' ? resort : c.resort; + if ( tmp !== false ) { + // widgets will be reapplied + ts.checkResort( c, tmp, callback ); + } else { + // don't reapply widgets is resort is false, just in case it causes + // problems with element focus + ts.resortComplete( c, callback ); + } + } else { + if ( ts.debug(c, 'core') ) { + console.error( 'updateCell aborted, tbody missing or not within the indicated table' ); } + c.table.isUpdating = false; + } + }, - c.$table.children().children('tr').attr('role', 'row'); - c.$tbodies = $table.children('tbody:not(.' + c.cssInfoBlock + ')').attr({ - 'aria-live' : 'polite', - 'aria-relevant' : 'all' - }); - if (c.$table.find('caption').length) { - c.$table.attr('aria-labelledby', 'theCaption'); - } - c.widgetInit = {}; // keep a list of initialized widgets - // change textExtraction via data-attribute - c.textExtraction = c.$table.attr('data-text-extraction') || c.textExtraction || 'basic'; - // build headers - buildHeaders(table); - // fixate columns if the users supplies the fixedWidth option - // do this after theme has been applied - fixColumnWidth(table); - // try to auto detect column type, and store in tables config - buildParserCache(table); - // start total row count at zero - c.totalRows = 0; - // build the cache for the tbody cells - // delayInit will delay building the cache until the user starts a sort - if (!c.delayInit) { buildCache(table); } - // bind all header events and methods - ts.bindEvents(table, c.$headers, true); - bindMethods(table); - // get sort list from jQuery data or metadata - // in jQuery < 1.4, an error occurs when calling $table.data() - if (c.supportsDataObject && typeof $table.data().sortlist !== 'undefined') { - c.sortList = $table.data().sortlist; - } else if (m && ($table.metadata() && $table.metadata().sortlist)) { - c.sortList = $table.metadata().sortlist; - } - // apply widget init code - ts.applyWidget(table, true); - // if user has supplied a sort list to constructor - if (c.sortList.length > 0) { - $table.trigger("sorton", [c.sortList, {}, !c.initWidgets, true]); - } else { - setHeadersCss(table); - if (c.initWidgets) { - // apply widget format - ts.applyWidget(table, false); + addRows : function( c, $row, resort, callback ) { + var txt, val, tbodyIndex, rowIndex, rows, cellIndex, len, order, + cacheIndex, rowData, cells, cell, span, + // allow passing a row string if only one non-info tbody exists in the table + valid = typeof $row === 'string' && c.$tbodies.length === 1 && / 0 ) { + cacheIndex += span; + } + cacheIndex++; } + // add the row data to the end + cells[ c.columns ] = rowData; + // update cache + c.cache[ tbodyIndex ].normalized[ order ] = cells; } + // resort using current settings + ts.checkResort( c, resort, callback ); + } + }, - // show processesing icon - if (c.showProcessing) { - $table - .unbind('sortBegin' + c.namespace + ' sortEnd' + c.namespace) - .bind('sortBegin' + c.namespace + ' sortEnd' + c.namespace, function(e) { - clearTimeout(c.processTimer); - ts.isProcessing(table); - if (e.type === 'sortBegin') { - c.processTimer = setTimeout(function(){ - ts.isProcessing(table, true); - }, 500); + updateCache : function( c, callback, $tbodies ) { + // rebuild parsers + if ( !( c.parsers && c.parsers.length ) ) { + ts.setupParsers( c, $tbodies ); + } + // rebuild the cache map + ts.buildCache( c, callback, $tbodies ); + }, + + // init flag (true) used by pager plugin to prevent widget application + // renamed from appendToTable + appendCache : function( c, init ) { + var parsed, totalRows, $tbody, $curTbody, rowIndex, tbodyIndex, appendTime, + table = c.table, + $tbodies = c.$tbodies, + rows = [], + cache = c.cache; + // empty table - fixes #206/#346 + if ( ts.isEmptyObject( cache ) ) { + // run pager appender in case the table was just emptied + return c.appender ? c.appender( table, rows ) : + table.isUpdating ? c.$table.triggerHandler( 'updateComplete', table ) : ''; // Fixes #532 + } + if ( ts.debug(c, 'core') ) { + appendTime = new Date(); + } + for ( tbodyIndex = 0; tbodyIndex < $tbodies.length; tbodyIndex++ ) { + $tbody = $tbodies.eq( tbodyIndex ); + if ( $tbody.length ) { + // detach tbody for manipulation + $curTbody = ts.processTbody( table, $tbody, true ); + parsed = cache[ tbodyIndex ].normalized; + totalRows = parsed.length; + for ( rowIndex = 0; rowIndex < totalRows; rowIndex++ ) { + rows[rows.length] = parsed[ rowIndex ][ c.columns ].$row; + // removeRows used by the pager plugin; don't render if using ajax - fixes #411 + if ( !c.appender || ( c.pager && !c.pager.removeRows && !c.pager.ajax ) ) { + $curTbody.append( parsed[ rowIndex ][ c.columns ].$row ); } - }); + } + // restore tbody + ts.processTbody( table, $curTbody, false ); } + } + if ( c.appender ) { + c.appender( table, rows ); + } + if ( ts.debug(c, 'core') ) { + console.log( 'Rebuilt table' + ts.benchmark( appendTime ) ); + } + // apply table widgets; but not before ajax completes + if ( !init && !c.appender ) { + ts.applyWidget( table ); + } + if ( table.isUpdating ) { + c.$table.triggerHandler( 'updateComplete', table ); + } + }, - // initialized - table.hasInitialized = true; - table.isProcessing = false; - if (c.debug) { - ts.benchmark("Overall initialization time", $.data( table, 'startoveralltimer')); - } - $table.trigger('tablesorter-initialized', table); - if (typeof c.initialized === 'function') { c.initialized(table); } - }; + commonUpdate : function( c, resort, callback ) { + // remove rows/elements before update + c.$table.find( c.selectorRemove ).remove(); + // rebuild parsers + ts.setupParsers( c ); + // rebuild the cache map + ts.buildCache( c ); + ts.checkResort( c, resort, callback ); + }, - ts.getColumnData = function(table, obj, indx, getCell){ - if (typeof obj === 'undefined' || obj === null) { return; } - table = $(table)[0]; - var result, $h, k, - c = table.config; - if (obj[indx]) { - return getCell ? obj[indx] : obj[c.$headers.index( c.$headers.filter('[data-column="' + indx + '"]:last') )]; - } - for (k in obj) { - if (typeof k === 'string') { - if (getCell) { - // get header cell - $h = c.$headers.eq(indx).filter(k); - } else { - // get column indexed cell - $h = c.$headers.filter('[data-column="' + indx + '"]:last').filter(k); - } - if ($h.length) { - return obj[k]; + /* + ▄█████ ▄████▄ █████▄ ██████ ██ █████▄ ▄████▄ + ▀█▄ ██ ██ ██▄▄██ ██ ██ ██ ██ ██ ▄▄▄ + ▀█▄ ██ ██ ██▀██ ██ ██ ██ ██ ██ ▀██ + █████▀ ▀████▀ ██ ██ ██ ██ ██ ██ ▀████▀ + */ + initSort : function( c, cell, event ) { + if ( c.table.isUpdating ) { + // let any updates complete before initializing a sort + return setTimeout( function() { + ts.initSort( c, cell, event ); + }, 50 ); + } + + var arry, indx, headerIndx, dir, temp, tmp, $header, + notMultiSort = !event[ c.sortMultiSortKey ], + table = c.table, + len = c.$headers.length, + th = ts.getClosest( $( cell ), 'th, td' ), + col = parseInt( th.attr( 'data-column' ), 10 ), + sortedBy = event.type === 'mouseup' ? 'user' : event.type, + order = c.sortVars[ col ].order; + th = th[0]; + // Only call sortStart if sorting is enabled + c.$table.triggerHandler( 'sortStart', table ); + // get current column sort order + tmp = ( c.sortVars[ col ].count + 1 ) % order.length; + c.sortVars[ col ].count = event[ c.sortResetKey ] ? 2 : tmp; + // reset all sorts on non-current column - issue #30 + if ( c.sortRestart ) { + for ( headerIndx = 0; headerIndx < len; headerIndx++ ) { + $header = c.$headers.eq( headerIndx ); + tmp = parseInt( $header.attr( 'data-column' ), 10 ); + // only reset counts on columns that weren't just clicked on and if not included in a multisort + if ( col !== tmp && ( notMultiSort || $header.hasClass( ts.css.sortNone ) ) ) { + c.sortVars[ tmp ].count = -1; + } + } + } + // user only wants to sort on one column + if ( notMultiSort ) { + $.each( c.sortVars, function( i ) { + c.sortVars[ i ].sortedBy = ''; + }); + // flush the sort list + c.sortList = []; + c.last.sortList = []; + if ( c.sortForce !== null ) { + arry = c.sortForce; + for ( indx = 0; indx < arry.length; indx++ ) { + if ( arry[ indx ][ 0 ] !== col ) { + c.sortList[ c.sortList.length ] = arry[ indx ]; + c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortForce'; } } } - return result; - }; - - // computeTableHeaderCellIndexes from: - // http://www.javascripttoolbox.com/lib/table/examples.php - // http://www.javascripttoolbox.com/temp/table_cellindex.html - ts.computeColumnIndex = function(trs) { - var matrix = [], - lookup = {}, - cols = 0, // determine the number of columns - i, j, k, l, $cell, cell, cells, rowIndex, cellId, rowSpan, colSpan, firstAvailCol, matrixrow; - for (i = 0; i < trs.length; i++) { - cells = trs[i].cells; - for (j = 0; j < cells.length; j++) { - cell = cells[j]; - $cell = $(cell); - rowIndex = cell.parentNode.rowIndex; - cellId = rowIndex + "-" + $cell.index(); - rowSpan = cell.rowSpan || 1; - colSpan = cell.colSpan || 1; - if (typeof(matrix[rowIndex]) === "undefined") { - matrix[rowIndex] = []; + // add column to sort list + dir = order[ c.sortVars[ col ].count ]; + if ( dir < 2 ) { + c.sortList[ c.sortList.length ] = [ col, dir ]; + c.sortVars[ col ].sortedBy = sortedBy; + // add other columns if header spans across multiple + if ( th.colSpan > 1 ) { + for ( indx = 1; indx < th.colSpan; indx++ ) { + c.sortList[ c.sortList.length ] = [ col + indx, dir ]; + // update count on columns in colSpan + c.sortVars[ col + indx ].count = $.inArray( dir, order ); + c.sortVars[ col + indx ].sortedBy = sortedBy; } - // Find first available column in the first row - for (k = 0; k < matrix[rowIndex].length + 1; k++) { - if (typeof(matrix[rowIndex][k]) === "undefined") { - firstAvailCol = k; - break; + } + } + // multi column sorting + } else { + // get rid of the sortAppend before adding more - fixes issue #115 & #523 + c.sortList = $.extend( [], c.last.sortList ); + + // the user has clicked on an already sorted column + if ( ts.isValueInArray( col, c.sortList ) >= 0 ) { + // reverse the sorting direction + c.sortVars[ col ].sortedBy = sortedBy; + for ( indx = 0; indx < c.sortList.length; indx++ ) { + tmp = c.sortList[ indx ]; + if ( tmp[ 0 ] === col ) { + // order.count seems to be incorrect when compared to cell.count + tmp[ 1 ] = order[ c.sortVars[ col ].count ]; + if ( tmp[1] === 2 ) { + c.sortList.splice( indx, 1 ); + c.sortVars[ col ].count = -1; } } - lookup[cellId] = firstAvailCol; - cols = Math.max(firstAvailCol, cols); - // add data-column - $cell.attr({ 'data-column' : firstAvailCol }); // 'data-row' : rowIndex - for (k = rowIndex; k < rowIndex + rowSpan; k++) { - if (typeof(matrix[k]) === "undefined") { - matrix[k] = []; + } + } else { + // add column to sort list array + dir = order[ c.sortVars[ col ].count ]; + c.sortVars[ col ].sortedBy = sortedBy; + if ( dir < 2 ) { + c.sortList[ c.sortList.length ] = [ col, dir ]; + // add other columns if header spans across multiple + if ( th.colSpan > 1 ) { + for ( indx = 1; indx < th.colSpan; indx++ ) { + c.sortList[ c.sortList.length ] = [ col + indx, dir ]; + // update count on columns in colSpan + c.sortVars[ col + indx ].count = $.inArray( dir, order ); + c.sortVars[ col + indx ].sortedBy = sortedBy; } - matrixrow = matrix[k]; - for (l = firstAvailCol; l < firstAvailCol + colSpan; l++) { - matrixrow[l] = "x"; + } + } + } + } + // save sort before applying sortAppend + c.last.sortList = $.extend( [], c.sortList ); + if ( c.sortList.length && c.sortAppend ) { + arry = $.isArray( c.sortAppend ) ? c.sortAppend : c.sortAppend[ c.sortList[ 0 ][ 0 ] ]; + if ( !ts.isEmptyObject( arry ) ) { + for ( indx = 0; indx < arry.length; indx++ ) { + if ( arry[ indx ][ 0 ] !== col && ts.isValueInArray( arry[ indx ][ 0 ], c.sortList ) < 0 ) { + dir = arry[ indx ][ 1 ]; + temp = ( '' + dir ).match( /^(a|d|s|o|n)/ ); + if ( temp ) { + tmp = c.sortList[ 0 ][ 1 ]; + switch ( temp[ 0 ] ) { + case 'd' : + dir = 1; + break; + case 's' : + dir = tmp; + break; + case 'o' : + dir = tmp === 0 ? 1 : 0; + break; + case 'n' : + dir = ( tmp + 1 ) % order.length; + break; + default: + dir = 0; + break; + } } + c.sortList[ c.sortList.length ] = [ arry[ indx ][ 0 ], dir ]; + c.sortVars[ arry[ indx ][ 0 ] ].sortedBy = 'sortAppend'; } } } - // may not be accurate if # header columns !== # tbody columns - return cols + 1; // add one because it's a zero-based index - }; + } + // sortBegin event triggered immediately before the sort + c.$table.triggerHandler( 'sortBegin', table ); + // setTimeout needed so the processing icon shows up + setTimeout( function() { + // set css for headers + ts.setHeadersCss( c ); + ts.multisort( c ); + ts.appendCache( c ); + c.$table.triggerHandler( 'sortBeforeEnd', table ); + c.$table.triggerHandler( 'sortEnd', table ); + }, 1 ); + }, - // *** Process table *** - // add processing indicator - ts.isProcessing = function(table, toggle, $ths) { - table = $(table); - var c = table[0].config, - // default to all headers - $h = $ths || table.find('.' + ts.css.header); - if (toggle) { - // don't use sortList if custom $ths used - if (typeof $ths !== 'undefined' && c.sortList.length > 0) { - // get headers from the sortList - $h = $h.filter(function(){ - // get data-column from attr to keep compatibility with jQuery 1.2.6 - return this.sortDisabled ? false : ts.isValueInArray( parseFloat($(this).attr('data-column')), c.sortList) >= 0; - }); + // sort multiple columns + multisort : function( c ) { /*jshint loopfunc:true */ + var tbodyIndex, sortTime, colMax, rows, tmp, + table = c.table, + sorter = [], + dir = 0, + textSorter = c.textSorter || '', + sortList = c.sortList, + sortLen = sortList.length, + len = c.$tbodies.length; + if ( c.serverSideSorting || ts.isEmptyObject( c.cache ) ) { + // empty table - fixes #206/#346 + return; + } + if ( ts.debug(c, 'core') ) { sortTime = new Date(); } + // cache textSorter to optimize speed + if ( typeof textSorter === 'object' ) { + colMax = c.columns; + while ( colMax-- ) { + tmp = ts.getColumnData( table, textSorter, colMax ); + if ( typeof tmp === 'function' ) { + sorter[ colMax ] = tmp; } - table.add($h).addClass(ts.css.processing + ' ' + c.cssProcessing); - } else { - table.add($h).removeClass(ts.css.processing + ' ' + c.cssProcessing); } - }; + } + for ( tbodyIndex = 0; tbodyIndex < len; tbodyIndex++ ) { + colMax = c.cache[ tbodyIndex ].colMax; + rows = c.cache[ tbodyIndex ].normalized; + + rows.sort( function( a, b ) { + var sortIndex, num, col, order, sort, x, y; + // rows is undefined here in IE, so don't use it! + for ( sortIndex = 0; sortIndex < sortLen; sortIndex++ ) { + col = sortList[ sortIndex ][ 0 ]; + order = sortList[ sortIndex ][ 1 ]; + // sort direction, true = asc, false = desc + dir = order === 0; + + if ( c.sortStable && a[ col ] === b[ col ] && sortLen === 1 ) { + return a[ c.columns ].order - b[ c.columns ].order; + } - // detach tbody but save the position - // don't use tbody because there are portions that look for a tbody index (updateCell) - ts.processTbody = function(table, $tb, getIt){ - table = $(table)[0]; - var holdr; - if (getIt) { - table.isProcessing = true; - $tb.before(''); - holdr = ($.fn.detach) ? $tb.detach() : $tb.remove(); - return holdr; - } - holdr = $(table).find('span.tablesorter-savemyplace'); - $tb.insertAfter( holdr ); - holdr.remove(); - table.isProcessing = false; - }; + // fallback to natural sort since it is more robust + num = /n/i.test( ts.getSortType( c.parsers, col ) ); + if ( num && c.strings[ col ] ) { + // sort strings in numerical columns + if ( typeof ( ts.string[ c.strings[ col ] ] ) === 'boolean' ) { + num = ( dir ? 1 : -1 ) * ( ts.string[ c.strings[ col ] ] ? -1 : 1 ); + } else { + num = ( c.strings[ col ] ) ? ts.string[ c.strings[ col ] ] || 0 : 0; + } + // fall back to built-in numeric sort + // var sort = $.tablesorter['sort' + s]( a[col], b[col], dir, colMax[col], table ); + sort = c.numberSorter ? c.numberSorter( a[ col ], b[ col ], dir, colMax[ col ], table ) : + ts[ 'sortNumeric' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ], b[ col ], num, colMax[ col ], col, c ); + } else { + // set a & b depending on sort direction + x = dir ? a : b; + y = dir ? b : a; + // text sort function + if ( typeof textSorter === 'function' ) { + // custom OVERALL text sorter + sort = textSorter( x[ col ], y[ col ], dir, col, table ); + } else if ( typeof sorter[ col ] === 'function' ) { + // custom text sorter for a SPECIFIC COLUMN + sort = sorter[ col ]( x[ col ], y[ col ], dir, col, table ); + } else { + // fall back to natural sort + sort = ts[ 'sortNatural' + ( dir ? 'Asc' : 'Desc' ) ]( a[ col ] || '', b[ col ] || '', col, c ); + } + } + if ( sort ) { return sort; } + } + return a[ c.columns ].order - b[ c.columns ].order; + }); + } + if ( ts.debug(c, 'core') ) { + console.log( 'Applying sort ' + sortList.toString() + ts.benchmark( sortTime ) ); + } + }, - ts.clearTableBody = function(table) { - $(table)[0].config.$tbodies.children().detach(); - }; + resortComplete : function( c, callback ) { + if ( c.table.isUpdating ) { + c.$table.triggerHandler( 'updateComplete', c.table ); + } + if ( $.isFunction( callback ) ) { + callback( c.table ); + } + }, + + checkResort : function( c, resort, callback ) { + var sortList = $.isArray( resort ) ? resort : c.sortList, + // if no resort parameter is passed, fallback to config.resort (true by default) + resrt = typeof resort === 'undefined' ? c.resort : resort; + // don't try to resort if the table is still processing + // this will catch spamming of the updateCell method + if ( resrt !== false && !c.serverSideSorting && !c.table.isProcessing ) { + if ( sortList.length ) { + ts.sortOn( c, sortList, function() { + ts.resortComplete( c, callback ); + }, true ); + } else { + ts.sortReset( c, function() { + ts.resortComplete( c, callback ); + ts.applyWidget( c.table, false ); + } ); + } + } else { + ts.resortComplete( c, callback ); + ts.applyWidget( c.table, false ); + } + }, + + sortOn : function( c, list, callback, init ) { + var indx, + table = c.table; + c.$table.triggerHandler( 'sortStart', table ); + for (indx = 0; indx < c.columns; indx++) { + c.sortVars[ indx ].sortedBy = ts.isValueInArray( indx, list ) > -1 ? 'sorton' : ''; + } + // update header count index + ts.updateHeaderSortCount( c, list ); + // set css for headers + ts.setHeadersCss( c ); + // fixes #346 + if ( c.delayInit && ts.isEmptyObject( c.cache ) ) { + ts.buildCache( c ); + } + c.$table.triggerHandler( 'sortBegin', table ); + // sort the table and append it to the dom + ts.multisort( c ); + ts.appendCache( c, init ); + c.$table.triggerHandler( 'sortBeforeEnd', table ); + c.$table.triggerHandler( 'sortEnd', table ); + ts.applyWidget( table ); + if ( $.isFunction( callback ) ) { + callback( table ); + } + }, + + sortReset : function( c, callback ) { + c.sortList = []; + var indx; + for (indx = 0; indx < c.columns; indx++) { + c.sortVars[ indx ].count = -1; + c.sortVars[ indx ].sortedBy = ''; + } + ts.setHeadersCss( c ); + ts.multisort( c ); + ts.appendCache( c ); + if ( $.isFunction( callback ) ) { + callback( c.table ); + } + }, + + getSortType : function( parsers, column ) { + return ( parsers && parsers[ column ] ) ? parsers[ column ].type || '' : ''; + }, + + getOrder : function( val ) { + // look for 'd' in 'desc' order; return true + return ( /^d/i.test( val ) || val === 1 ); + }, + + // Natural sort - https://github.com/overset/javascript-natural-sort (date sorting removed) + sortNatural : function( a, b ) { + if ( a === b ) { return 0; } + a = ( a || '' ).toString(); + b = ( b || '' ).toString(); + var aNum, bNum, aFloat, bFloat, indx, max, + regex = ts.regex; + // first try and sort Hex codes + if ( regex.hex.test( b ) ) { + aNum = parseInt( a.match( regex.hex ), 16 ); + bNum = parseInt( b.match( regex.hex ), 16 ); + if ( aNum < bNum ) { return -1; } + if ( aNum > bNum ) { return 1; } + } + // chunk/tokenize + aNum = a.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' ); + bNum = b.replace( regex.chunk, '\\0$1\\0' ).replace( regex.chunks, '' ).split( '\\0' ); + max = Math.max( aNum.length, bNum.length ); + // natural sorting through split numeric strings and default strings + for ( indx = 0; indx < max; indx++ ) { + // find floats not starting with '0', string or 0 if not defined + aFloat = isNaN( aNum[ indx ] ) ? aNum[ indx ] || 0 : parseFloat( aNum[ indx ] ) || 0; + bFloat = isNaN( bNum[ indx ] ) ? bNum[ indx ] || 0 : parseFloat( bNum[ indx ] ) || 0; + // handle numeric vs string comparison - number < string - (Kyle Adams) + if ( isNaN( aFloat ) !== isNaN( bFloat ) ) { return isNaN( aFloat ) ? 1 : -1; } + // rely on string comparison if different types - i.e. '02' < 2 != '02' < '2' + if ( typeof aFloat !== typeof bFloat ) { + aFloat += ''; + bFloat += ''; + } + if ( aFloat < bFloat ) { return -1; } + if ( aFloat > bFloat ) { return 1; } + } + return 0; + }, + + sortNaturalAsc : function( a, b, col, c ) { + if ( a === b ) { return 0; } + var empty = ts.string[ ( c.empties[ col ] || c.emptyTo ) ]; + if ( a === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? -1 : 1 ) : -empty || -1; } + if ( b === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? 1 : -1 ) : empty || 1; } + return ts.sortNatural( a, b ); + }, + + sortNaturalDesc : function( a, b, col, c ) { + if ( a === b ) { return 0; } + var empty = ts.string[ ( c.empties[ col ] || c.emptyTo ) ]; + if ( a === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? -1 : 1 ) : empty || 1; } + if ( b === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? 1 : -1 ) : -empty || -1; } + return ts.sortNatural( b, a ); + }, + + // basic alphabetical sort + sortText : function( a, b ) { + return a > b ? 1 : ( a < b ? -1 : 0 ); + }, + + // return text string value by adding up ascii value + // so the text is somewhat sorted when using a digital sort + // this is NOT an alphanumeric sort + getTextValue : function( val, num, max ) { + if ( max ) { + // make sure the text value is greater than the max numerical value (max) + var indx, + len = val ? val.length : 0, + n = max + num; + for ( indx = 0; indx < len; indx++ ) { + n += val.charCodeAt( indx ); + } + return num * n; + } + return 0; + }, + + sortNumericAsc : function( a, b, num, max, col, c ) { + if ( a === b ) { return 0; } + var empty = ts.string[ ( c.empties[ col ] || c.emptyTo ) ]; + if ( a === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? -1 : 1 ) : -empty || -1; } + if ( b === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? 1 : -1 ) : empty || 1; } + if ( isNaN( a ) ) { a = ts.getTextValue( a, num, max ); } + if ( isNaN( b ) ) { b = ts.getTextValue( b, num, max ); } + return a - b; + }, + + sortNumericDesc : function( a, b, num, max, col, c ) { + if ( a === b ) { return 0; } + var empty = ts.string[ ( c.empties[ col ] || c.emptyTo ) ]; + if ( a === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? -1 : 1 ) : empty || 1; } + if ( b === '' && empty !== 0 ) { return typeof empty === 'boolean' ? ( empty ? 1 : -1 ) : -empty || -1; } + if ( isNaN( a ) ) { a = ts.getTextValue( a, num, max ); } + if ( isNaN( b ) ) { b = ts.getTextValue( b, num, max ); } + return b - a; + }, + + sortNumeric : function( a, b ) { + return a - b; + }, - ts.bindEvents = function(table, $headers, core){ - table = $(table)[0]; - var downTime, - c = table.config; - if (core !== true) { - c.$extraHeaders = c.$extraHeaders ? c.$extraHeaders.add($headers) : $headers; + /* + ██ ██ ██ ██ █████▄ ▄████▄ ██████ ██████ ▄█████ + ██ ██ ██ ██ ██ ██ ██ ▄▄▄ ██▄▄ ██ ▀█▄ + ██ ██ ██ ██ ██ ██ ██ ▀██ ██▀▀ ██ ▀█▄ + ███████▀ ██ █████▀ ▀████▀ ██████ ██ █████▀ + */ + addWidget : function( widget ) { + if ( widget.id && !ts.isEmptyObject( ts.getWidgetById( widget.id ) ) ) { + console.warn( '"' + widget.id + '" widget was loaded more than once!' ); + } + ts.widgets[ ts.widgets.length ] = widget; + }, + + hasWidget : function( $table, name ) { + $table = $( $table ); + return $table.length && $table[ 0 ].config && $table[ 0 ].config.widgetInit[ name ] || false; + }, + + getWidgetById : function( name ) { + var indx, widget, + len = ts.widgets.length; + for ( indx = 0; indx < len; indx++ ) { + widget = ts.widgets[ indx ]; + if ( widget && widget.id && widget.id.toLowerCase() === name.toLowerCase() ) { + return widget; } - // apply event handling to headers and/or additional headers (stickyheaders, scroller, etc) - $headers - // http://stackoverflow.com/questions/5312849/jquery-find-self; - .find(c.selectorSort).add( $headers.filter(c.selectorSort) ) - .unbind('mousedown mouseup sort keyup '.split(' ').join(c.namespace + ' ')) - .bind('mousedown mouseup sort keyup '.split(' ').join(c.namespace + ' '), function(e, external) { - var cell, type = e.type; - // only recognize left clicks or enter - if ( ((e.which || e.button) !== 1 && !/sort|keyup/.test(type)) || (type === 'keyup' && e.which !== 13) ) { - return; + } + }, + + applyWidgetOptions : function( table ) { + var indx, widget, wo, + c = table.config, + len = c.widgets.length; + if ( len ) { + for ( indx = 0; indx < len; indx++ ) { + widget = ts.getWidgetById( c.widgets[ indx ] ); + if ( widget && widget.options ) { + wo = $.extend( true, {}, widget.options ); + c.widgetOptions = $.extend( true, wo, c.widgetOptions ); + // add widgetOptions to defaults for option validator + $.extend( true, ts.defaults.widgetOptions, widget.options ); } - // ignore long clicks (prevents resizable widget from initializing a sort) - if (type === 'mouseup' && external !== true && (new Date().getTime() - downTime > 250)) { return; } - // set timer on mousedown - if (type === 'mousedown') { - downTime = new Date().getTime(); - return /(input|select|button|textarea)/i.test(e.target.tagName) ? '' : !c.cancelSelection; + } + } + }, + + addWidgetFromClass : function( table ) { + var len, indx, + c = table.config, + // look for widgets to apply from table class + // don't match from 'ui-widget-content'; use \S instead of \w to include widgets + // with dashes in the name, e.g. "widget-test-2" extracts out "test-2" + regex = '^' + c.widgetClass.replace( ts.regex.templateName, '(\\S+)+' ) + '$', + widgetClass = new RegExp( regex, 'g' ), + // split up table class (widget id's can include dashes) - stop using match + // otherwise only one widget gets extracted, see #1109 + widgets = ( table.className || '' ).split( ts.regex.spaces ); + if ( widgets.length ) { + len = widgets.length; + for ( indx = 0; indx < len; indx++ ) { + if ( widgets[ indx ].match( widgetClass ) ) { + c.widgets[ c.widgets.length ] = widgets[ indx ].replace( widgetClass, '$1' ); } - if (c.delayInit && isEmptyObject(c.cache)) { buildCache(table); } - // jQuery v1.2.6 doesn't have closest() - cell = $.fn.closest ? $(this).closest('th, td')[0] : /TH|TD/.test(this.tagName) ? this : $(this).parents('th, td')[0]; - // reference original table headers and find the same cell - cell = c.$headers[ $headers.index( cell ) ]; - if (!cell.sortDisabled) { - initSort(table, cell, e); + } + } + }, + + applyWidgetId : function( table, id, init ) { + table = $(table)[0]; + var applied, time, name, + c = table.config, + wo = c.widgetOptions, + debug = ts.debug(c, 'core'), + widget = ts.getWidgetById( id ); + if ( widget ) { + name = widget.id; + applied = false; + // add widget name to option list so it gets reapplied after sorting, filtering, etc + if ( $.inArray( name, c.widgets ) < 0 ) { + c.widgets[ c.widgets.length ] = name; + } + if ( debug ) { time = new Date(); } + + if ( init || !( c.widgetInit[ name ] ) ) { + // set init flag first to prevent calling init more than once (e.g. pager) + c.widgetInit[ name ] = true; + if ( table.hasInitialized ) { + // don't reapply widget options on tablesorter init + ts.applyWidgetOptions( table ); + } + if ( typeof widget.init === 'function' ) { + applied = true; + if ( debug ) { + console[ console.group ? 'group' : 'log' ]( 'Initializing ' + name + ' widget' ); + } + widget.init( table, widget, c, wo ); } - }); - if (c.cancelSelection) { - // cancel selection - $headers - .attr('unselectable', 'on') - .bind('selectstart', false) - .css({ - 'user-select': 'none', - 'MozUserSelect': 'none' // not needed for jQuery 1.8+ - }); } - }; + if ( !init && typeof widget.format === 'function' ) { + applied = true; + if ( debug ) { + console[ console.group ? 'group' : 'log' ]( 'Updating ' + name + ' widget' ); + } + widget.format( table, c, wo, false ); + } + if ( debug ) { + if ( applied ) { + console.log( 'Completed ' + ( init ? 'initializing ' : 'applying ' ) + name + ' widget' + ts.benchmark( time ) ); + if ( console.groupEnd ) { console.groupEnd(); } + } + } + } + }, - // restore headers - ts.restoreHeaders = function(table){ - var c = $(table)[0].config; - // don't use c.$headers here in case header cells were swapped - c.$table.find(c.selectorHeaders).each(function(i){ - // only restore header cells if it is wrapped - // because this is also used by the updateAll method - if ($(this).find('.' + ts.css.headerIn).length){ - $(this).html( c.headerContent[i] ); + applyWidget : function( table, init, callback ) { + table = $( table )[ 0 ]; // in case this is called externally + var indx, len, names, widget, time, + c = table.config, + debug = ts.debug(c, 'core'), + widgets = []; + // prevent numerous consecutive widget applications + if ( init !== false && table.hasInitialized && ( table.isApplyingWidgets || table.isUpdating ) ) { + return; + } + if ( debug ) { time = new Date(); } + ts.addWidgetFromClass( table ); + // prevent "tablesorter-ready" from firing multiple times in a row + clearTimeout( c.timerReady ); + if ( c.widgets.length ) { + table.isApplyingWidgets = true; + // ensure unique widget ids + c.widgets = $.grep( c.widgets, function( val, index ) { + return $.inArray( val, c.widgets ) === index; + }); + names = c.widgets || []; + len = names.length; + // build widget array & add priority as needed + for ( indx = 0; indx < len; indx++ ) { + widget = ts.getWidgetById( names[ indx ] ); + if ( widget && widget.id ) { + // set priority to 10 if not defined + if ( !widget.priority ) { widget.priority = 10; } + widgets[ indx ] = widget; + } else if ( debug ) { + console.warn( '"' + names[ indx ] + '" was enabled, but the widget code has not been loaded!' ); } + } + // sort widgets by priority + widgets.sort( function( a, b ) { + return a.priority < b.priority ? -1 : a.priority === b.priority ? 0 : 1; }); - }; - - ts.destroy = function(table, removeClasses, callback){ - table = $(table)[0]; - if (!table.hasInitialized) { return; } - // remove all widgets - ts.refreshWidgets(table, true, true); - var $t = $(table), c = table.config, - $h = $t.find('thead:first'), - $r = $h.find('tr.' + ts.css.headerRow).removeClass(ts.css.headerRow + ' ' + c.cssHeaderRow), - $f = $t.find('tfoot:first > tr').children('th, td'); - if (removeClasses === false && $.inArray('uitheme', c.widgets) >= 0) { - // reapply uitheme classes, in case we want to maintain appearance - $t.trigger('applyWidgetId', ['uitheme']); - $t.trigger('applyWidgetId', ['zebra']); - } - // remove widget added rows, just in case - $h.find('tr').not($r).remove(); - // disable tablesorter - $t - .removeData('tablesorter') - .unbind('sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd resetToLoadState '.split(' ').join(c.namespace + ' ')); - c.$headers.add($f) - .removeClass( [ts.css.header, c.cssHeader, c.cssAsc, c.cssDesc, ts.css.sortAsc, ts.css.sortDesc, ts.css.sortNone].join(' ') ) - .removeAttr('data-column') - .removeAttr('aria-label') - .attr('aria-disabled', 'true'); - $r.find(c.selectorSort).unbind('mousedown mouseup keypress '.split(' ').join(c.namespace + ' ')); - ts.restoreHeaders(table); - $t.toggleClass(ts.css.table + ' ' + c.tableClass + ' tablesorter-' + c.theme, removeClasses === false); - // clear flag in case the plugin is initialized again - table.hasInitialized = false; - delete table.config.cache; - if (typeof callback === 'function') { - callback(table); + // add/update selected widgets + len = widgets.length; + if ( debug ) { + console[ console.group ? 'group' : 'log' ]( 'Start ' + ( init ? 'initializing' : 'applying' ) + ' widgets' ); + } + for ( indx = 0; indx < len; indx++ ) { + widget = widgets[ indx ]; + if ( widget && widget.id ) { + ts.applyWidgetId( table, widget.id, init ); + } } - }; - - // *** sort functions *** - // regex used in natural sort - ts.regex = { - chunk : /(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi, // chunk/tokenize numbers & letters - chunks: /(^\\0|\\0$)/, // replace chunks @ ends - hex: /^0x[0-9a-f]+$/i // hex - }; + if ( debug && console.groupEnd ) { console.groupEnd(); } + } + c.timerReady = setTimeout( function() { + table.isApplyingWidgets = false; + $.data( table, 'lastWidgetApplication', new Date() ); + c.$table.triggerHandler( 'tablesorter-ready' ); + // callback executed on init only + if ( !init && typeof callback === 'function' ) { + callback( table ); + } + if ( debug ) { + widget = c.widgets.length; + console.log( 'Completed ' + + ( init === true ? 'initializing ' : 'applying ' ) + widget + + ' widget' + ( widget !== 1 ? 's' : '' ) + ts.benchmark( time ) ); + } + }, 10 ); + }, - // Natural sort - https://github.com/overset/javascript-natural-sort (date sorting removed) - // this function will only accept strings, or you'll see "TypeError: undefined is not a function" - // I could add a = a.toString(); b = b.toString(); but it'll slow down the sort overall - ts.sortNatural = function(a, b) { - if (a === b) { return 0; } - var xN, xD, yN, yD, xF, yF, i, mx, - r = ts.regex; - // first try and sort Hex codes - if (r.hex.test(b)) { - xD = parseInt(a.match(r.hex), 16); - yD = parseInt(b.match(r.hex), 16); - if ( xD < yD ) { return -1; } - if ( xD > yD ) { return 1; } - } - // chunk/tokenize - xN = a.replace(r.chunk, '\\0$1\\0').replace(r.chunks, '').split('\\0'); - yN = b.replace(r.chunk, '\\0$1\\0').replace(r.chunks, '').split('\\0'); - mx = Math.max(xN.length, yN.length); - // natural sorting through split numeric strings and default strings - for (i = 0; i < mx; i++) { - // find floats not starting with '0', string or 0 if not defined - xF = isNaN(xN[i]) ? xN[i] || 0 : parseFloat(xN[i]) || 0; - yF = isNaN(yN[i]) ? yN[i] || 0 : parseFloat(yN[i]) || 0; - // handle numeric vs string comparison - number < string - (Kyle Adams) - if (isNaN(xF) !== isNaN(yF)) { return (isNaN(xF)) ? 1 : -1; } - // rely on string comparison if different types - i.e. '02' < 2 != '02' < '2' - if (typeof xF !== typeof yF) { - xF += ''; - yF += ''; + removeWidget : function( table, name, refreshing ) { + table = $( table )[ 0 ]; + var index, widget, indx, len, + c = table.config; + // if name === true, add all widgets from $.tablesorter.widgets + if ( name === true ) { + name = []; + len = ts.widgets.length; + for ( indx = 0; indx < len; indx++ ) { + widget = ts.widgets[ indx ]; + if ( widget && widget.id ) { + name[ name.length ] = widget.id; } - if (xF < yF) { return -1; } - if (xF > yF) { return 1; } } - return 0; - }; + } else { + // name can be either an array of widgets names, + // or a space/comma separated list of widget names + name = ( $.isArray( name ) ? name.join( ',' ) : name || '' ).toLowerCase().split( /[\s,]+/ ); + } + len = name.length; + for ( index = 0; index < len; index++ ) { + widget = ts.getWidgetById( name[ index ] ); + indx = $.inArray( name[ index ], c.widgets ); + // don't remove the widget from config.widget if refreshing + if ( indx >= 0 && refreshing !== true ) { + c.widgets.splice( indx, 1 ); + } + if ( widget && widget.remove ) { + if ( ts.debug(c, 'core') ) { + console.log( ( refreshing ? 'Refreshing' : 'Removing' ) + ' "' + name[ index ] + '" widget' ); + } + widget.remove( table, c, c.widgetOptions, refreshing ); + c.widgetInit[ name[ index ] ] = false; + } + } + c.$table.triggerHandler( 'widgetRemoveEnd', table ); + }, - ts.sortNaturalAsc = function(a, b, col, table, c) { - if (a === b) { return 0; } - var e = c.string[ (c.empties[col] || c.emptyTo ) ]; - if (a === '' && e !== 0) { return typeof e === 'boolean' ? (e ? -1 : 1) : -e || -1; } - if (b === '' && e !== 0) { return typeof e === 'boolean' ? (e ? 1 : -1) : e || 1; } - return ts.sortNatural(a, b); - }; + refreshWidgets : function( table, doAll, dontapply ) { + table = $( table )[ 0 ]; // see issue #243 + var indx, widget, + c = table.config, + curWidgets = c.widgets, + widgets = ts.widgets, + len = widgets.length, + list = [], + callback = function( table ) { + $( table ).triggerHandler( 'refreshComplete' ); + }; + // remove widgets not defined in config.widgets, unless doAll is true + for ( indx = 0; indx < len; indx++ ) { + widget = widgets[ indx ]; + if ( widget && widget.id && ( doAll || $.inArray( widget.id, curWidgets ) < 0 ) ) { + list[ list.length ] = widget.id; + } + } + ts.removeWidget( table, list.join( ',' ), true ); + if ( dontapply !== true ) { + // call widget init if + ts.applyWidget( table, doAll || false, callback ); + if ( doAll ) { + // apply widget format + ts.applyWidget( table, false, callback ); + } + } else { + callback( table ); + } + }, - ts.sortNaturalDesc = function(a, b, col, table, c) { - if (a === b) { return 0; } - var e = c.string[ (c.empties[col] || c.emptyTo ) ]; - if (a === '' && e !== 0) { return typeof e === 'boolean' ? (e ? -1 : 1) : e || 1; } - if (b === '' && e !== 0) { return typeof e === 'boolean' ? (e ? 1 : -1) : -e || -1; } - return ts.sortNatural(b, a); - }; + /* + ██ ██ ██████ ██ ██ ██ ██████ ██ ██████ ▄█████ + ██ ██ ██ ██ ██ ██ ██ ██ ██▄▄ ▀█▄ + ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀█▄ + ▀████▀ ██ ██ ██████ ██ ██ ██ ██████ █████▀ + */ + benchmark : function( diff ) { + return ( ' (' + ( new Date().getTime() - diff.getTime() ) + ' ms)' ); + }, + // deprecated ts.log + log : function() { + console.log( arguments ); + }, + debug : function(c, name) { + return c && ( + c.debug === true || + typeof c.debug === 'string' && c.debug.indexOf(name) > -1 + ); + }, - // basic alphabetical sort - ts.sortText = function(a, b) { - return a > b ? 1 : (a < b ? -1 : 0); - }; + // $.isEmptyObject from jQuery v1.4 + isEmptyObject : function( obj ) { + /*jshint forin: false */ + for ( var name in obj ) { + return false; + } + return true; + }, - // return text string value by adding up ascii value - // so the text is somewhat sorted when using a digital sort - // this is NOT an alphanumeric sort - ts.getTextValue = function(a, num, mx) { - if (mx) { - // make sure the text value is greater than the max numerical value (mx) - var i, l = a ? a.length : 0, n = mx + num; - for (i = 0; i < l; i++) { - n += a.charCodeAt(i); - } - return num * n; + isValueInArray : function( column, arry ) { + var indx, + len = arry && arry.length || 0; + for ( indx = 0; indx < len; indx++ ) { + if ( arry[ indx ][ 0 ] === column ) { + return indx; } - return 0; - }; - - ts.sortNumericAsc = function(a, b, num, mx, col, table) { - if (a === b) { return 0; } - var c = table.config, - e = c.string[ (c.empties[col] || c.emptyTo ) ]; - if (a === '' && e !== 0) { return typeof e === 'boolean' ? (e ? -1 : 1) : -e || -1; } - if (b === '' && e !== 0) { return typeof e === 'boolean' ? (e ? 1 : -1) : e || 1; } - if (isNaN(a)) { a = ts.getTextValue(a, num, mx); } - if (isNaN(b)) { b = ts.getTextValue(b, num, mx); } - return a - b; - }; + } + return -1; + }, - ts.sortNumericDesc = function(a, b, num, mx, col, table) { - if (a === b) { return 0; } - var c = table.config, - e = c.string[ (c.empties[col] || c.emptyTo ) ]; - if (a === '' && e !== 0) { return typeof e === 'boolean' ? (e ? -1 : 1) : e || 1; } - if (b === '' && e !== 0) { return typeof e === 'boolean' ? (e ? 1 : -1) : -e || -1; } - if (isNaN(a)) { a = ts.getTextValue(a, num, mx); } - if (isNaN(b)) { b = ts.getTextValue(b, num, mx); } - return b - a; - }; + formatFloat : function( str, table ) { + if ( typeof str !== 'string' || str === '' ) { return str; } + // allow using formatFloat without a table; defaults to US number format + var num, + usFormat = table && table.config ? table.config.usNumberFormat !== false : + typeof table !== 'undefined' ? table : true; + if ( usFormat ) { + // US Format - 1,234,567.89 -> 1234567.89 + str = str.replace( ts.regex.comma, '' ); + } else { + // German Format = 1.234.567,89 -> 1234567.89 + // French Format = 1 234 567,89 -> 1234567.89 + str = str.replace( ts.regex.digitNonUS, '' ).replace( ts.regex.comma, '.' ); + } + if ( ts.regex.digitNegativeTest.test( str ) ) { + // make (#) into a negative number -> (10) = -10 + str = str.replace( ts.regex.digitNegativeReplace, '-$1' ); + } + num = parseFloat( str ); + // return the text instead of zero + return isNaN( num ) ? $.trim( str ) : num; + }, - ts.sortNumeric = function(a, b) { - return a - b; - }; + isDigit : function( str ) { + // replace all unwanted chars and match + return isNaN( str ) ? + ts.regex.digitTest.test( str.toString().replace( ts.regex.digitReplace, '' ) ) : + str !== ''; + }, - // used when replacing accented characters during sorting - ts.characterEquivalents = { - "a" : "\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5", // ÃĄÃ ÃĸÃŖÃ¤Ä…ÃĨ - "A" : "\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5", // ÁÀÂÃÄĄÅ - "c" : "\u00e7\u0107\u010d", // çćč - "C" : "\u00c7\u0106\u010c", // ÇĆČ - "e" : "\u00e9\u00e8\u00ea\u00eb\u011b\u0119", // ÊèÃĒÃĢěę - "E" : "\u00c9\u00c8\u00ca\u00cb\u011a\u0118", // ÉÈÊËĚĘ - "i" : "\u00ed\u00ec\u0130\u00ee\u00ef\u0131", // íÃŦÄ°ÃŽÃ¯Äą - "I" : "\u00cd\u00cc\u0130\u00ce\u00cf", // ÍÌİÎÏ - "o" : "\u00f3\u00f2\u00f4\u00f5\u00f6", // ÃŗÃ˛Ã´ÃĩÃļ - "O" : "\u00d3\u00d2\u00d4\u00d5\u00d6", // ÓÒÔÕÖ - "ss": "\u00df", // ß (s sharp) - "SS": "\u1e9e", // áēž (Capital sharp s) - "u" : "\u00fa\u00f9\u00fb\u00fc\u016f", // ÃēÚÃģÃŧů - "U" : "\u00da\u00d9\u00db\u00dc\u016e" // ÚÙÛÜŎ - }; - ts.replaceAccents = function(s) { - var a, acc = '[', eq = ts.characterEquivalents; - if (!ts.characterRegex) { - ts.characterRegexArray = {}; - for (a in eq) { - if (typeof a === 'string') { - acc += eq[a]; - ts.characterRegexArray[a] = new RegExp('[' + eq[a] + ']', 'g'); + // computeTableHeaderCellIndexes from: + // http://www.javascripttoolbox.com/lib/table/examples.php + // http://www.javascripttoolbox.com/temp/table_cellindex.html + computeColumnIndex : function( $rows, c ) { + var i, j, k, l, cell, cells, rowIndex, rowSpan, colSpan, firstAvailCol, + // total columns has been calculated, use it to set the matrixrow + columns = c && c.columns || 0, + matrix = [], + matrixrow = new Array( columns ); + for ( i = 0; i < $rows.length; i++ ) { + cells = $rows[ i ].cells; + for ( j = 0; j < cells.length; j++ ) { + cell = cells[ j ]; + rowIndex = i; + rowSpan = cell.rowSpan || 1; + colSpan = cell.colSpan || 1; + if ( typeof matrix[ rowIndex ] === 'undefined' ) { + matrix[ rowIndex ] = []; + } + // Find first available column in the first row + for ( k = 0; k < matrix[ rowIndex ].length + 1; k++ ) { + if ( typeof matrix[ rowIndex ][ k ] === 'undefined' ) { + firstAvailCol = k; + break; } } - ts.characterRegex = new RegExp(acc + ']'); - } - if (ts.characterRegex.test(s)) { - for (a in eq) { - if (typeof a === 'string') { - s = s.replace( ts.characterRegexArray[a], a ); + // jscs:disable disallowEmptyBlocks + if ( columns && cell.cellIndex === firstAvailCol ) { + // don't to anything + } else if ( cell.setAttribute ) { + // jscs:enable disallowEmptyBlocks + // add data-column (setAttribute = IE8+) + cell.setAttribute( 'data-column', firstAvailCol ); + } else { + // remove once we drop support for IE7 - 1/12/2016 + $( cell ).attr( 'data-column', firstAvailCol ); + } + for ( k = rowIndex; k < rowIndex + rowSpan; k++ ) { + if ( typeof matrix[ k ] === 'undefined' ) { + matrix[ k ] = []; + } + matrixrow = matrix[ k ]; + for ( l = firstAvailCol; l < firstAvailCol + colSpan; l++ ) { + matrixrow[ l ] = 'x'; } } } - return s; - }; + } + ts.checkColumnCount($rows, matrix, matrixrow.length); + return matrixrow.length; + }, - // *** utilities *** - ts.isValueInArray = function(column, arry) { - var indx, len = arry.length; - for (indx = 0; indx < len; indx++) { - if (arry[indx][0] === column) { - return indx; + checkColumnCount : function($rows, matrix, columns) { + // this DOES NOT report any tbody column issues, except for the math and + // and column selector widgets + var i, len, + valid = true, + cells = []; + for ( i = 0; i < matrix.length; i++ ) { + // some matrix entries are undefined when testing the footer because + // it is using the rowIndex property + if ( matrix[i] ) { + len = matrix[i].length; + if ( matrix[i].length !== columns ) { + valid = false; + break; } } - return -1; - }; + } + if ( !valid ) { + $rows.each( function( indx, el ) { + var cell = el.parentElement.nodeName; + if ( cells.indexOf( cell ) < 0 ) { + cells.push( cell ); + } + }); + console.error( + 'Invalid or incorrect number of columns in the ' + + cells.join( ' or ' ) + '; expected ' + columns + + ', but found ' + len + ' columns' + ); + } + }, + + // automatically add a colgroup with col elements set to a percentage width + fixColumnWidth : function( table ) { + table = $( table )[ 0 ]; + var overallWidth, percent, $tbodies, len, index, + c = table.config, + $colgroup = c.$table.children( 'colgroup' ); + // remove plugin-added colgroup, in case we need to refresh the widths + if ( $colgroup.length && $colgroup.hasClass( ts.css.colgroup ) ) { + $colgroup.remove(); + } + if ( c.widthFixed && c.$table.children( 'colgroup' ).length === 0 ) { + $colgroup = $( '' ); + overallWidth = c.$table.width(); + // only add col for visible columns - fixes #371 + $tbodies = c.$tbodies.find( 'tr:first' ).children( ':visible' ); + len = $tbodies.length; + for ( index = 0; index < len; index++ ) { + percent = parseInt( ( $tbodies.eq( index ).width() / overallWidth ) * 1000, 10 ) / 10 + '%'; + $colgroup.append( $( '' ).css( 'width', percent ) ); + } + c.$table.prepend( $colgroup ); + } + }, - ts.addParser = function(parser) { - var i, l = ts.parsers.length, a = true; - for (i = 0; i < l; i++) { - if (ts.parsers[i].id.toLowerCase() === parser.id.toLowerCase()) { - a = false; + // get sorter, string, empty, etc options for each column from + // jQuery data, metadata, header option or header class name ('sorter-false') + // priority = jQuery data > meta > headers option > header class name + getData : function( header, configHeader, key ) { + var meta, cl4ss, + val = '', + $header = $( header ); + if ( !$header.length ) { return ''; } + meta = $.metadata ? $header.metadata() : false; + cl4ss = ' ' + ( $header.attr( 'class' ) || '' ); + if ( typeof $header.data( key ) !== 'undefined' || + typeof $header.data( key.toLowerCase() ) !== 'undefined' ) { + // 'data-lockedOrder' is assigned to 'lockedorder'; but 'data-locked-order' is assigned to 'lockedOrder' + // 'data-sort-initial-order' is assigned to 'sortInitialOrder' + val += $header.data( key ) || $header.data( key.toLowerCase() ); + } else if ( meta && typeof meta[ key ] !== 'undefined' ) { + val += meta[ key ]; + } else if ( configHeader && typeof configHeader[ key ] !== 'undefined' ) { + val += configHeader[ key ]; + } else if ( cl4ss !== ' ' && cl4ss.match( ' ' + key + '-' ) ) { + // include sorter class name 'sorter-text', etc; now works with 'sorter-my-custom-parser' + val = cl4ss.match( new RegExp( '\\s' + key + '-([\\w-]+)' ) )[ 1 ] || ''; + } + return $.trim( val ); + }, + + getColumnData : function( table, obj, indx, getCell, $headers ) { + if ( typeof obj !== 'object' || obj === null ) { + return obj; + } + table = $( table )[ 0 ]; + var $header, key, + c = table.config, + $cells = ( $headers || c.$headers ), + // c.$headerIndexed is not defined initially + $cell = c.$headerIndexed && c.$headerIndexed[ indx ] || + $cells.find( '[data-column="' + indx + '"]:last' ); + if ( typeof obj[ indx ] !== 'undefined' ) { + return getCell ? obj[ indx ] : obj[ $cells.index( $cell ) ]; + } + for ( key in obj ) { + if ( typeof key === 'string' ) { + $header = $cell + // header cell with class/id + .filter( key ) + // find elements within the header cell with cell/id + .add( $cell.find( key ) ); + if ( $header.length ) { + return obj[ key ]; } } - if (a) { - ts.parsers.push(parser); - } - }; + } + return; + }, - ts.getParserById = function(name) { - /*jshint eqeqeq:false */ - if (name == 'false') { return false; } - var i, l = ts.parsers.length; - for (i = 0; i < l; i++) { - if (ts.parsers[i].id.toLowerCase() === (name.toString()).toLowerCase()) { - return ts.parsers[i]; - } + // *** Process table *** + // add processing indicator + isProcessing : function( $table, toggle, $headers ) { + $table = $( $table ); + var c = $table[ 0 ].config, + // default to all headers + $header = $headers || $table.find( '.' + ts.css.header ); + if ( toggle ) { + // don't use sortList if custom $headers used + if ( typeof $headers !== 'undefined' && c.sortList.length > 0 ) { + // get headers from the sortList + $header = $header.filter( function() { + // get data-column from attr to keep compatibility with jQuery 1.2.6 + return this.sortDisabled ? + false : + ts.isValueInArray( parseFloat( $( this ).attr( 'data-column' ) ), c.sortList ) >= 0; + }); } - return false; - }; + $table.add( $header ).addClass( ts.css.processing + ' ' + c.cssProcessing ); + } else { + $table.add( $header ).removeClass( ts.css.processing + ' ' + c.cssProcessing ); + } + }, - ts.addWidget = function(widget) { - ts.widgets.push(widget); - }; + // detach tbody but save the position + // don't use tbody because there are portions that look for a tbody index (updateCell) + processTbody : function( table, $tb, getIt ) { + table = $( table )[ 0 ]; + if ( getIt ) { + table.isProcessing = true; + $tb.before( '' ); + return $.fn.detach ? $tb.detach() : $tb.remove(); + } + var holdr = $( table ).find( 'colgroup.tablesorter-savemyplace' ); + $tb.insertAfter( holdr ); + holdr.remove(); + table.isProcessing = false; + }, - ts.hasWidget = function(table, name){ - table = $(table); - return table.length && table[0].config && table[0].config.widgetInit[name] || false; - }; + clearTableBody : function( table ) { + $( table )[ 0 ].config.$tbodies.children().detach(); + }, - ts.getWidgetById = function(name) { - var i, w, l = ts.widgets.length; - for (i = 0; i < l; i++) { - w = ts.widgets[i]; - if (w && w.hasOwnProperty('id') && w.id.toLowerCase() === name.toLowerCase()) { - return w; - } - } - }; + // used when replacing accented characters during sorting + characterEquivalents : { + 'a' : '\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5', // ÃĄÃ ÃĸÃŖÃ¤Ä…ÃĨ + 'A' : '\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5', // ÁÀÂÃÄĄÅ + 'c' : '\u00e7\u0107\u010d', // çćč + 'C' : '\u00c7\u0106\u010c', // ÇĆČ + 'e' : '\u00e9\u00e8\u00ea\u00eb\u011b\u0119', // ÊèÃĒÃĢěę + 'E' : '\u00c9\u00c8\u00ca\u00cb\u011a\u0118', // ÉÈÊËĚĘ + 'i' : '\u00ed\u00ec\u0130\u00ee\u00ef\u0131', // íÃŦÄ°ÃŽÃ¯Äą + 'I' : '\u00cd\u00cc\u0130\u00ce\u00cf', // ÍÌİÎÏ + 'o' : '\u00f3\u00f2\u00f4\u00f5\u00f6\u014d', // ÃŗÃ˛Ã´ÃĩÃļō + 'O' : '\u00d3\u00d2\u00d4\u00d5\u00d6\u014c', // ÓÒÔÕÖŌ + 'ss': '\u00df', // ß (s sharp) + 'SS': '\u1e9e', // áēž (Capital sharp s) + 'u' : '\u00fa\u00f9\u00fb\u00fc\u016f', // ÃēÚÃģÃŧů + 'U' : '\u00da\u00d9\u00db\u00dc\u016e' // ÚÙÛÜŎ + }, - ts.applyWidget = function(table, init) { - table = $(table)[0]; // in case this is called externally - var c = table.config, - wo = c.widgetOptions, - widgets = [], - time, w, wd; - // prevent numerous consecutive widget applications - if (init !== false && table.hasInitialized && (table.isApplyingWidgets || table.isUpdating)) { return; } - if (c.debug) { time = new Date(); } - if (c.widgets.length) { - table.isApplyingWidgets = true; - // ensure unique widget ids - c.widgets = $.grep(c.widgets, function(v, k){ - return $.inArray(v, c.widgets) === k; - }); - // build widget array & add priority as needed - $.each(c.widgets || [], function(i,n){ - wd = ts.getWidgetById(n); - if (wd && wd.id) { - // set priority to 10 if not defined - if (!wd.priority) { wd.priority = 10; } - widgets[i] = wd; - } - }); - // sort widgets by priority - widgets.sort(function(a, b){ - return a.priority < b.priority ? -1 : a.priority === b.priority ? 0 : 1; - }); - // add/update selected widgets - $.each(widgets, function(i,w){ - if (w) { - if (init || !(c.widgetInit[w.id])) { - // set init flag first to prevent calling init more than once (e.g. pager) - c.widgetInit[w.id] = true; - if (w.hasOwnProperty('options')) { - wo = table.config.widgetOptions = $.extend( true, {}, w.options, wo ); - } - if (w.hasOwnProperty('init')) { - w.init(table, w, c, wo); - } - } - if (!init && w.hasOwnProperty('format')) { - w.format(table, c, wo, false); - } - } - }); + replaceAccents : function( str ) { + var chr, + acc = '[', + eq = ts.characterEquivalents; + if ( !ts.characterRegex ) { + ts.characterRegexArray = {}; + for ( chr in eq ) { + if ( typeof chr === 'string' ) { + acc += eq[ chr ]; + ts.characterRegexArray[ chr ] = new RegExp( '[' + eq[ chr ] + ']', 'g' ); + } } - setTimeout(function(){ - table.isApplyingWidgets = false; - }, 0); - if (c.debug) { - w = c.widgets.length; - benchmark("Completed " + (init === true ? "initializing " : "applying ") + w + " widget" + (w !== 1 ? "s" : ""), time); + ts.characterRegex = new RegExp( acc + ']' ); + } + if ( ts.characterRegex.test( str ) ) { + for ( chr in eq ) { + if ( typeof chr === 'string' ) { + str = str.replace( ts.characterRegexArray[ chr ], chr ); + } } - }; + } + return str; + }, - ts.refreshWidgets = function(table, doAll, dontapply) { - table = $(table)[0]; // see issue #243 - var i, c = table.config, - cw = c.widgets, - w = ts.widgets, l = w.length; - // remove previous widgets - for (i = 0; i < l; i++){ - if ( w[i] && w[i].id && (doAll || $.inArray( w[i].id, cw ) < 0) ) { - if (c.debug) { log( 'Refeshing widgets: Removing "' + w[i].id + '"' ); } - // only remove widgets that have been initialized - fixes #442 - if (w[i].hasOwnProperty('remove') && c.widgetInit[w[i].id]) { - w[i].remove(table, c, c.widgetOptions); - c.widgetInit[w[i].id] = false; + validateOptions : function( c ) { + var setting, setting2, typ, timer, + // ignore options containing an array + ignore = 'headers sortForce sortList sortAppend widgets'.split( ' ' ), + orig = c.originalSettings; + if ( orig ) { + if ( ts.debug(c, 'core') ) { + timer = new Date(); + } + for ( setting in orig ) { + typ = typeof ts.defaults[setting]; + if ( typ === 'undefined' ) { + console.warn( 'Tablesorter Warning! "table.config.' + setting + '" option not recognized' ); + } else if ( typ === 'object' ) { + for ( setting2 in orig[setting] ) { + typ = ts.defaults[setting] && typeof ts.defaults[setting][setting2]; + if ( $.inArray( setting, ignore ) < 0 && typ === 'undefined' ) { + console.warn( 'Tablesorter Warning! "table.config.' + setting + '.' + setting2 + '" option not recognized' ); + } } } } - if (dontapply !== true) { - ts.applyWidget(table, doAll); + if ( ts.debug(c, 'core') ) { + console.log( 'validate options time:' + ts.benchmark( timer ) ); } - }; - - // get sorter, string, empty, etc options for each column from - // jQuery data, metadata, header option or header class name ("sorter-false") - // priority = jQuery data > meta > headers option > header class name - ts.getData = function(h, ch, key) { - var val = '', $h = $(h), m, cl; - if (!$h.length) { return ''; } - m = $.metadata ? $h.metadata() : false; - cl = ' ' + ($h.attr('class') || ''); - if (typeof $h.data(key) !== 'undefined' || typeof $h.data(key.toLowerCase()) !== 'undefined'){ - // "data-lockedOrder" is assigned to "lockedorder"; but "data-locked-order" is assigned to "lockedOrder" - // "data-sort-initial-order" is assigned to "sortInitialOrder" - val += $h.data(key) || $h.data(key.toLowerCase()); - } else if (m && typeof m[key] !== 'undefined') { - val += m[key]; - } else if (ch && typeof ch[key] !== 'undefined') { - val += ch[key]; - } else if (cl !== ' ' && cl.match(' ' + key + '-')) { - // include sorter class name "sorter-text", etc; now works with "sorter-my-custom-parser" - val = cl.match( new RegExp('\\s' + key + '-([\\w-]+)') )[1] || ''; - } - return $.trim(val); - }; + } + }, - ts.formatFloat = function(s, table) { - if (typeof s !== 'string' || s === '') { return s; } - // allow using formatFloat without a table; defaults to US number format - var i, - t = table && table.config ? table.config.usNumberFormat !== false : - typeof table !== "undefined" ? table : true; - if (t) { - // US Format - 1,234,567.89 -> 1234567.89 - s = s.replace(/,/g,''); - } else { - // German Format = 1.234.567,89 -> 1234567.89 - // French Format = 1 234 567,89 -> 1234567.89 - s = s.replace(/[\s|\.]/g,'').replace(/,/g,'.'); - } - if(/^\s*\([.\d]+\)/.test(s)) { - // make (#) into a negative number -> (10) = -10 - s = s.replace(/^\s*\(([.\d]+)\)/, '-$1'); + // restore headers + restoreHeaders : function( table ) { + var index, $cell, + c = $( table )[ 0 ].config, + $headers = c.$table.find( c.selectorHeaders ), + len = $headers.length; + // don't use c.$headers here in case header cells were swapped + for ( index = 0; index < len; index++ ) { + $cell = $headers.eq( index ); + // only restore header cells if it is wrapped + // because this is also used by the updateAll method + if ( $cell.find( '.' + ts.css.headerIn ).length ) { + $cell.html( c.headerContent[ index ] ); } - i = parseFloat(s); - // return the text instead of zero - return isNaN(i) ? $.trim(s) : i; - }; - - ts.isDigit = function(s) { - // replace all unwanted chars and match - return isNaN(s) ? (/^[\-+(]?\d+[)]?$/).test(s.toString().replace(/[,.'"\s]/g, '')) : true; - }; - - }() - }); + } + }, - // make shortcut - var ts = $.tablesorter; + destroy : function( table, removeClasses, callback ) { + table = $( table )[ 0 ]; + if ( !table.hasInitialized ) { return; } + // remove all widgets + ts.removeWidget( table, true, false ); + var events, + $t = $( table ), + c = table.config, + $h = $t.find( 'thead:first' ), + $r = $h.find( 'tr.' + ts.css.headerRow ).removeClass( ts.css.headerRow + ' ' + c.cssHeaderRow ), + $f = $t.find( 'tfoot:first > tr' ).children( 'th, td' ); + if ( removeClasses === false && $.inArray( 'uitheme', c.widgets ) >= 0 ) { + // reapply uitheme classes, in case we want to maintain appearance + $t.triggerHandler( 'applyWidgetId', [ 'uitheme' ] ); + $t.triggerHandler( 'applyWidgetId', [ 'zebra' ] ); + } + // remove widget added rows, just in case + $h.find( 'tr' ).not( $r ).remove(); + // disable tablesorter - not using .unbind( namespace ) because namespacing was + // added in jQuery v1.4.3 - see http://api.jquery.com/event.namespace/ + events = 'sortReset update updateRows updateAll updateHeaders updateCell addRows updateComplete sorton ' + + 'appendCache updateCache applyWidgetId applyWidgets refreshWidgets removeWidget destroy mouseup mouseleave ' + + 'keypress sortBegin sortEnd resetToLoadState '.split( ' ' ) + .join( c.namespace + ' ' ); + $t + .removeData( 'tablesorter' ) + .unbind( events.replace( ts.regex.spaces, ' ' ) ); + c.$headers + .add( $f ) + .removeClass( [ ts.css.header, c.cssHeader, c.cssAsc, c.cssDesc, ts.css.sortAsc, ts.css.sortDesc, ts.css.sortNone ].join( ' ' ) ) + .removeAttr( 'data-column' ) + .removeAttr( 'aria-label' ) + .attr( 'aria-disabled', 'true' ); + $r + .find( c.selectorSort ) + .unbind( ( 'mousedown mouseup keypress '.split( ' ' ).join( c.namespace + ' ' ) ).replace( ts.regex.spaces, ' ' ) ); + ts.restoreHeaders( table ); + $t.toggleClass( ts.css.table + ' ' + c.tableClass + ' tablesorter-' + c.theme, removeClasses === false ); + $t.removeClass(c.namespace.slice(1)); + // clear flag in case the plugin is initialized again + table.hasInitialized = false; + delete table.config.cache; + if ( typeof callback === 'function' ) { + callback( table ); + } + if ( ts.debug(c, 'core') ) { + console.log( 'tablesorter has been removed' ); + } + } - // extend plugin scope - $.fn.extend({ - tablesorter: ts.construct - }); + }; + + $.fn.tablesorter = function( settings ) { + return this.each( function() { + var table = this, + // merge & extend config options + c = $.extend( true, {}, ts.defaults, settings, ts.instanceMethods ); + // save initial settings + c.originalSettings = settings; + // create a table from data (build table widget) + if ( !table.hasInitialized && ts.buildTable && this.nodeName !== 'TABLE' ) { + // return the table (in case the original target is the table's container) + ts.buildTable( table, c ); + } else { + ts.setup( table, c ); + } + }); + }; + + // set up debug logs + if ( !( window.console && window.console.log ) ) { + // access $.tablesorter.logs for browsers that don't have a console... + ts.logs = []; + /*jshint -W020 */ + console = {}; + console.log = console.warn = console.error = console.table = function() { + var arg = arguments.length > 1 ? arguments : arguments[0]; + ts.logs[ ts.logs.length ] = { date: Date.now(), log: arg }; + }; + } // add default parsers ts.addParser({ - id: 'no-parser', - is: function() { + id : 'no-parser', + is : function() { return false; }, - format: function() { + format : function() { return ''; }, - type: 'text' + type : 'text' }); ts.addParser({ - id: "text", - is: function() { + id : 'text', + is : function() { return true; }, - format: function(s, table) { + format : function( str, table ) { var c = table.config; - if (s) { - s = $.trim( c.ignoreCase ? s.toLocaleLowerCase() : s ); - s = c.sortLocaleCompare ? ts.replaceAccents(s) : s; + if ( str ) { + str = $.trim( c.ignoreCase ? str.toLocaleLowerCase() : str ); + str = c.sortLocaleCompare ? ts.replaceAccents( str ) : str; } - return s; + return str; }, - type: "text" + type : 'text' }); + ts.regex.nondigit = /[^\w,. \-()]/g; ts.addParser({ - id: "digit", - is: function(s) { - return ts.isDigit(s); + id : 'digit', + is : function( str ) { + return ts.isDigit( str ); }, - format: function(s, table) { - var n = ts.formatFloat((s || '').replace(/[^\w,. \-()]/g, ""), table); - return s && typeof n === 'number' ? n : s ? $.trim( s && table.config.ignoreCase ? s.toLocaleLowerCase() : s ) : s; + format : function( str, table ) { + var num = ts.formatFloat( ( str || '' ).replace( ts.regex.nondigit, '' ), table ); + return str && typeof num === 'number' ? num : + str ? $.trim( str && table.config.ignoreCase ? str.toLocaleLowerCase() : str ) : str; }, - type: "numeric" + type : 'numeric' }); + ts.regex.currencyReplace = /[+\-,. ]/g; + ts.regex.currencyTest = /^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/; ts.addParser({ - id: "currency", - is: function(s) { - return (/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/).test((s || '').replace(/[+\-,. ]/g,'')); // ÂŖ$â‚Ŧ¤ÂĨÂĸ + id : 'currency', + is : function( str ) { + str = ( str || '' ).replace( ts.regex.currencyReplace, '' ); + // test for ÂŖ$â‚Ŧ¤ÂĨÂĸ + return ts.regex.currencyTest.test( str ); }, - format: function(s, table) { - var n = ts.formatFloat((s || '').replace(/[^\w,. \-()]/g, ""), table); - return s && typeof n === 'number' ? n : s ? $.trim( s && table.config.ignoreCase ? s.toLocaleLowerCase() : s ) : s; + format : function( str, table ) { + var num = ts.formatFloat( ( str || '' ).replace( ts.regex.nondigit, '' ), table ); + return str && typeof num === 'number' ? num : + str ? $.trim( str && table.config.ignoreCase ? str.toLocaleLowerCase() : str ) : str; }, - type: "numeric" + type : 'numeric' }); + // too many protocols to add them all https://en.wikipedia.org/wiki/URI_scheme + // now, this regex can be updated before initialization + ts.regex.urlProtocolTest = /^(https?|ftp|file):\/\//; + ts.regex.urlProtocolReplace = /(https?|ftp|file):\/\/(www\.)?/; ts.addParser({ - id: "ipAddress", - is: function(s) { - return (/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/).test(s); + id : 'url', + is : function( str ) { + return ts.regex.urlProtocolTest.test( str ); }, - format: function(s, table) { - var i, a = s ? s.split(".") : '', - r = "", - l = a.length; - for (i = 0; i < l; i++) { - r += ("00" + a[i]).slice(-3); - } - return s ? ts.formatFloat(r, table) : s; + format : function( str ) { + return str ? $.trim( str.replace( ts.regex.urlProtocolReplace, '' ) ) : str; }, - type: "numeric" + type : 'text' }); + ts.regex.dash = /-/g; + ts.regex.isoDate = /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/; ts.addParser({ - id: "url", - is: function(s) { - return (/^(https?|ftp|file):\/\//).test(s); + id : 'isoDate', + is : function( str ) { + return ts.regex.isoDate.test( str ); }, - format: function(s) { - return s ? $.trim(s.replace(/(https?|ftp|file):\/\//, '')) : s; + format : function( str ) { + var date = str ? new Date( str.replace( ts.regex.dash, '/' ) ) : str; + return date instanceof Date && isFinite( date ) ? date.getTime() : str; }, - parsed : true, // filter widget flag - type: "text" + type : 'numeric' }); + ts.regex.percent = /%/g; + ts.regex.percentTest = /(\d\s*?%|%\s*?\d)/; ts.addParser({ - id: "isoDate", - is: function(s) { - return (/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/).test(s); + id : 'percent', + is : function( str ) { + return ts.regex.percentTest.test( str ) && str.length < 15; }, - format: function(s, table) { - return s ? ts.formatFloat((s !== "") ? (new Date(s.replace(/-/g, "/")).getTime() || s) : "", table) : s; + format : function( str, table ) { + return str ? ts.formatFloat( str.replace( ts.regex.percent, '' ), table ) : str; }, - type: "numeric" + type : 'numeric' }); + // added image parser to core v2.17.9 ts.addParser({ - id: "percent", - is: function(s) { - return (/(\d\s*?%|%\s*?\d)/).test(s) && s.length < 15; + id : 'image', + is : function( str, table, node, $node ) { + return $node.find( 'img' ).length > 0; }, - format: function(s, table) { - return s ? ts.formatFloat(s.replace(/%/g, ""), table) : s; + format : function( str, table, cell ) { + return $( cell ).find( 'img' ).attr( table.config.imgAttr || 'alt' ) || str; }, - type: "numeric" + parsed : true, // filter widget flag + type : 'text' }); + ts.regex.dateReplace = /(\S)([AP]M)$/i; // used by usLongDate & time parser + ts.regex.usLongDateTest1 = /^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i; + ts.regex.usLongDateTest2 = /^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i; ts.addParser({ - id: "usLongDate", - is: function(s) { + id : 'usLongDate', + is : function( str ) { // two digit years are not allowed cross-browser // Jan 01, 2013 12:34:56 PM or 01 Jan 2013 - return (/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i).test(s) || (/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i).test(s); + return ts.regex.usLongDateTest1.test( str ) || ts.regex.usLongDateTest2.test( str ); }, - format: function(s, table) { - return s ? ts.formatFloat( (new Date(s.replace(/(\S)([AP]M)$/i, "$1 $2")).getTime() || s), table) : s; + format : function( str ) { + var date = str ? new Date( str.replace( ts.regex.dateReplace, '$1 $2' ) ) : str; + return date instanceof Date && isFinite( date ) ? date.getTime() : str; }, - type: "numeric" + type : 'numeric' }); + // testing for ##-##-#### or ####-##-##, so it's not perfect; time can be included + ts.regex.shortDateTest = /(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/; + // escaped "-" because JSHint in Firefox was showing it as an error + ts.regex.shortDateReplace = /[\-.,]/g; + // XXY covers MDY & DMY formats + ts.regex.shortDateXXY = /(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/; + ts.regex.shortDateYMD = /(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/; + ts.convertFormat = function( dateString, format ) { + dateString = ( dateString || '' ) + .replace( ts.regex.spaces, ' ' ) + .replace( ts.regex.shortDateReplace, '/' ); + if ( format === 'mmddyyyy' ) { + dateString = dateString.replace( ts.regex.shortDateXXY, '$3/$1/$2' ); + } else if ( format === 'ddmmyyyy' ) { + dateString = dateString.replace( ts.regex.shortDateXXY, '$3/$2/$1' ); + } else if ( format === 'yyyymmdd' ) { + dateString = dateString.replace( ts.regex.shortDateYMD, '$1/$2/$3' ); + } + var date = new Date( dateString ); + return date instanceof Date && isFinite( date ) ? date.getTime() : ''; + }; + ts.addParser({ - id: "shortDate", // "mmddyyyy", "ddmmyyyy" or "yyyymmdd" - is: function(s) { - // testing for ##-##-#### or ####-##-##, so it's not perfect; time can be included - return (/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/).test((s || '').replace(/\s+/g," ").replace(/[\-.,]/g, "/")); + id : 'shortDate', // 'mmddyyyy', 'ddmmyyyy' or 'yyyymmdd' + is : function( str ) { + str = ( str || '' ).replace( ts.regex.spaces, ' ' ).replace( ts.regex.shortDateReplace, '/' ); + return ts.regex.shortDateTest.test( str ); }, - format: function(s, table, cell, cellIndex) { - if (s) { + format : function( str, table, cell, cellIndex ) { + if ( str ) { var c = table.config, - ci = c.$headers.filter('[data-column=' + cellIndex + ']:last'), - format = ci.length && ci[0].dateFormat || ts.getData( ci, ts.getColumnData( table, c.headers, cellIndex ), 'dateFormat') || c.dateFormat; - s = s.replace(/\s+/g," ").replace(/[\-.,]/g, "/"); // escaped - because JSHint in Firefox was showing it as an error - if (format === "mmddyyyy") { - s = s.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$1/$2"); - } else if (format === "ddmmyyyy") { - s = s.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$2/$1"); - } else if (format === "yyyymmdd") { - s = s.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/, "$1/$2/$3"); - } + $header = c.$headerIndexed[ cellIndex ], + format = $header.length && $header.data( 'dateFormat' ) || + ts.getData( $header, ts.getColumnData( table, c.headers, cellIndex ), 'dateFormat' ) || + c.dateFormat; + // save format because getData can be slow... + if ( $header.length ) { + $header.data( 'dateFormat', format ); + } + return ts.convertFormat( str, format ) || str; } - return s ? ts.formatFloat( (new Date(s).getTime() || s), table) : s; + return str; }, - type: "numeric" + type : 'numeric' }); + // match 24 hour time & 12 hours time + am/pm - see http://regexr.com/3c3tk + ts.regex.timeTest = /^(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)$|^((?:[01]\d|[2][0-4]):[0-5]\d)$/i; + ts.regex.timeMatch = /(0?[1-9]|1[0-2]):([0-5]\d)(\s[AP]M)|((?:[01]\d|[2][0-4]):[0-5]\d)/i; ts.addParser({ - id: "time", - is: function(s) { - return (/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i).test(s); + id : 'time', + is : function( str ) { + return ts.regex.timeTest.test( str ); }, - format: function(s, table) { - return s ? ts.formatFloat( (new Date("2000/01/01 " + s.replace(/(\S)([AP]M)$/i, "$1 $2")).getTime() || s), table) : s; + format : function( str ) { + // isolate time... ignore month, day and year + var temp, + timePart = ( str || '' ).match( ts.regex.timeMatch ), + orig = new Date( str ), + // no time component? default to 00:00 by leaving it out, but only if str is defined + time = str && ( timePart !== null ? timePart[ 0 ] : '00:00 AM' ), + date = time ? new Date( '2000/01/01 ' + time.replace( ts.regex.dateReplace, '$1 $2' ) ) : time; + if ( date instanceof Date && isFinite( date ) ) { + temp = orig instanceof Date && isFinite( orig ) ? orig.getTime() : 0; + // if original string was a valid date, add it to the decimal so the column sorts in some kind of order + // luckily new Date() ignores the decimals + return temp ? parseFloat( date.getTime() + '.' + orig.getTime() ) : date.getTime(); + } + return str; }, - type: "numeric" + type : 'numeric' }); ts.addParser({ - id: "metadata", - is: function() { + id : 'metadata', + is : function() { return false; }, - format: function(s, table, cell) { + format : function( str, table, cell ) { var c = table.config, - p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName; - return $(cell).metadata()[p]; + p = ( !c.parserMetadataName ) ? 'sortValue' : c.parserMetadataName; + return $( cell ).metadata()[ p ]; }, - type: "numeric" + type : 'numeric' }); + /* + ██████ ██████ █████▄ █████▄ ▄████▄ + ▄█▀ ██▄▄ ██▄▄██ ██▄▄██ ██▄▄██ + ▄█▀ ██▀▀ ██▀▀██ ██▀▀█ ██▀▀██ + ██████ ██████ █████▀ ██ ██ ██ ██ + */ // add default widgets ts.addWidget({ - id: "zebra", - priority: 90, - format: function(table, c, wo) { - var $tb, $tv, $tr, row, even, time, k, - child = new RegExp(c.cssChildRow, 'i'), - b = c.$tbodies; - if (c.debug) { - time = new Date(); - } - for (k = 0; k < b.length; k++ ) { + id : 'zebra', + priority : 90, + format : function( table, c, wo ) { + var $visibleRows, $row, count, isEven, tbodyIndex, rowIndex, len, + child = new RegExp( c.cssChildRow, 'i' ), + $tbodies = c.$tbodies.add( $( c.namespace + '_extra_table' ).children( 'tbody:not(.' + c.cssInfoBlock + ')' ) ); + for ( tbodyIndex = 0; tbodyIndex < $tbodies.length; tbodyIndex++ ) { // loop through the visible rows - row = 0; - $tb = b.eq(k); - $tv = $tb.children('tr:visible').not(c.selectorRemove); - // revered back to using jQuery each - strangely it's the fastest method - /*jshint loopfunc:true */ - $tv.each(function(){ - $tr = $(this); + count = 0; + $visibleRows = $tbodies.eq( tbodyIndex ).children( 'tr:visible' ).not( c.selectorRemove ); + len = $visibleRows.length; + for ( rowIndex = 0; rowIndex < len; rowIndex++ ) { + $row = $visibleRows.eq( rowIndex ); // style child rows the same way the parent row was styled - if (!child.test(this.className)) { row++; } - even = (row % 2 === 0); - $tr.removeClass(wo.zebra[even ? 1 : 0]).addClass(wo.zebra[even ? 0 : 1]); - }); - } - if (c.debug) { - ts.benchmark("Applying Zebra widget", time); + if ( !child.test( $row[ 0 ].className ) ) { count++; } + isEven = ( count % 2 === 0 ); + $row + .removeClass( wo.zebra[ isEven ? 1 : 0 ] ) + .addClass( wo.zebra[ isEven ? 0 : 1 ] ); + } } }, - remove: function(table, c, wo){ - var k, $tb, - b = c.$tbodies, - rmv = (wo.zebra || [ "even", "odd" ]).join(' '); - for (k = 0; k < b.length; k++ ){ - $tb = $.tablesorter.processTbody(table, b.eq(k), true); // remove tbody - $tb.children().removeClass(rmv); - $.tablesorter.processTbody(table, $tb, false); // restore tbody + remove : function( table, c, wo, refreshing ) { + if ( refreshing ) { return; } + var tbodyIndex, $tbody, + $tbodies = c.$tbodies, + toRemove = ( wo.zebra || [ 'even', 'odd' ] ).join( ' ' ); + for ( tbodyIndex = 0; tbodyIndex < $tbodies.length; tbodyIndex++ ) { + $tbody = ts.processTbody( table, $tbodies.eq( tbodyIndex ), true ); // remove tbody + $tbody.children().removeClass( toRemove ); + ts.processTbody( table, $tbody, false ); // restore tbody } } }); -})(jQuery); +})( jQuery ); From f047eaf06cba70cbf459531aec46e24abe2566d4 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 14 Nov 2019 22:46:19 +0200 Subject: [PATCH 156/439] (RARBG - various tweaks) Readded the torrent pages pattern in the include regex rule (it was removed by mistake, oops) --- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index e0b9df1..84051a8 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.10.10 +// @version 2019.11.14 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From 53773bd5448a3a9eedef6758dfdec5a364e4b518 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 15 Nov 2019 19:56:49 +0200 Subject: [PATCH 157/439] (OpenUserJS Bullshit Filter) Reverted last commit, it was submitted by mistake, sorry. --- .../OpenUserJS_Bullshit_Filter.user.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index c390b4a..bf7c848 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,11 +1,12 @@ // ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2018.9.20 +// @version 2019.11.15 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred, valacar // @license MIT // @include /^https:\/\/openuserjs\.org\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ +// @include /^http:\/\/localhost:8080\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png // This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. @@ -19,8 +20,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Non-ASCII': /[^\x00-\xBF\s]+/i, + 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; From 3beccd325b112c64861ab5fcaa9d84a1d196b961 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 15 Nov 2019 22:22:50 +0200 Subject: [PATCH 158/439] (All 'Bullshit Filter' scripts) Added 'Non-Latin' regex (thanks to Graphen for the contribution, https://greasyfork.org/en/forum/discussion/66149/make-non-ascii-to-non-latin ) --- .../GreasyFork_Bullshit_Filter.user.js | 15 +++++++++------ ..._Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 15 +++++++++------ .../OpenUserJS_Bullshit_Filter.user.js | 15 +++++++++------ 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index ce1f6f4..58149d2 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,17 +1,19 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2018.9.20 +// @version 2019.11.15 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @author kuehlschrank, darkred, valacar +// @author kuehlschrank, darkred, valacar, Graphen // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter/large.png // @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ // @exclude /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)((scripts\/\d+)|forum\/(discussion\/|profile|messages)).*$/ // @grant none -// This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. -// Thanks a lot to kuehlschrank for making another great script. -// Thanks a lot to valacar for the refactoring. +// This is a modified version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. +// Thanks a lot to: +// - kuehlschrank for making another great script, +// - valacar for the refactoring, +// - Graphen for the 'Non-Latin' regex. // ==/UserScript== @@ -20,7 +22,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Non-ASCII': /[^\x00-\x7F\s]+/, + 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 7816395..58d550d 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,18 +1,20 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2018.9.20 +// @version 2019.11.15 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. -// @author kuehlschrank, darkred, valacar +// @author kuehlschrank, darkred, valacar, Graphen // @license MIT // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/large.png // @include /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)?(scripts|forum|users).*$/ // @exclude /^https:\/\/(greasy|sleazy)fork\.org\/(.*\/)((scripts\/\d+)|forum\/(discussion\/|profile|messages)).*$/ // @grant none // @run-at document-idle -// This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. -// Thanks a lot to kuehlschrank for making another great script. -// Thanks a lot to valacar for the refactoring. +// This is a modified version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. +// Thanks a lot to: +// - kuehlschrank for making another great script, +// - valacar for the refactoring, +// - Graphen for the 'Non-Latin' regex. // ==/UserScript== @@ -21,7 +23,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\x7F\s]+/i, + 'Non-ASCII': /[^\x00-\x7F\s]+/, + 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index bf7c848..d3b0550 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,17 +1,19 @@ // ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2019.11.15 +// @version 2019.11.15.1 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. -// @author kuehlschrank, darkred, valacar +// @author kuehlschrank, darkred, valacar, Graphen // @license MIT // @include /^https:\/\/openuserjs\.org\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @include /^http:\/\/localhost:8080\/((\?(q|p|orderBy|library)=|group\/|users\/.*\/scripts).*)?$/ // @grant none // @icon https://raw.githubusercontent.com/darkred/Userscripts/master/OpenUserJS_Bullshit_Filter/large.png -// This is an edited version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. -// Thanks a lot to kuehlschrank for making another great script. -// Thanks a lot to valacar for the refactoring. +// This is a modified version of this script (http://userscripts-mirror.org/scripts/show/97145) by kuehlschrank. +// Thanks a lot to: +// - kuehlschrank for making another great script, +// - valacar for the refactoring, +// - Graphen for the 'Non-Latin' regex. // ==/UserScript== @@ -20,7 +22,8 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\xBF\s]+/i, + 'Non-ASCII': /[^\x00-\xBF\s]+/, + 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu From b03e367fe9d19863868f80b74d6c6db5d412a92f Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 5 Dec 2019 20:57:35 +0200 Subject: [PATCH 159/439] (All 'Bullshit Filter' variants) - Improved the Clutter scripts (thanks to Graphen for the contribution, https://greasyfork.org/en/forum/discussion/comment/80143/#Comment_80143 ) - Improved the Games filter --- .../GreasyFork_Bullshit_Filter.user.js | 6 +++--- ...easyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js | 6 +++--- .../OpenUserJS_Bullshit_Filter.user.js | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js index 58149d2..ce33094 100644 --- a/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js +++ b/GreasyFork_Bullshit_Filter/GreasyFork_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter // @namespace darkred -// @version 2019.11.15 +// @version 2019.12.5 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred, valacar, Graphen // @license MIT @@ -24,9 +24,9 @@ const filters = { 'Non-ASCII': /[^\x00-\x7F\s]+/, 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Games': /Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Balz|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bloble|Bonk|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Krunker|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|MooMoo|MyFreeFarm|narwhale\.io|Neopets|NeoQuest|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|Skribbl|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|Survivio|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium|Yohoho|Zombs/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just )?(\ban? |\b)test(ing|s|\d|\b)|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; const commonCss = ` diff --git a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js index 58d550d..71e8d1c 100644 --- a/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js +++ b/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork/GreasyFork_Bullshit_Filter_-_for_TS_Citrus_Gfork.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name GreasyFork Bullshit Filter - for TS Citrus Gfork // @namespace darkred -// @version 2019.11.15 +// @version 2019.12.5 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. Applies to posts in Forum too. // @author kuehlschrank, darkred, valacar, Graphen // @license MIT @@ -25,9 +25,9 @@ const filters = { 'Non-ASCII': /[^\x00-\x7F\s]+/, 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, - 'Games': /AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Games': /Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Balz|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bloble|Bonk|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Krunker|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|MooMoo|MyFreeFarm|narwhale\.io|Neopets|NeoQuest|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|Skribbl|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|Survivio|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium|Yohoho|Zombs/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just )?(\ban? |\b)test(ing|s|\d|\b)|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; const commonCss = ` diff --git a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js index d3b0550..0454a12 100644 --- a/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js +++ b/OpenUserJS_Bullshit_Filter/OpenUserJS_Bullshit_Filter.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name OpenUserJS Bullshit Filter // @namespace darkred -// @version 2019.11.15.1 +// @version 2019.12.5 // @description Hides scripts for popular browser games and social networks as well as scripts that use "foreign" characters in descriptions. // @author kuehlschrank, darkred, valacar, Graphen // @license MIT @@ -22,11 +22,11 @@ const DEBUGGING = 0; const filters = { - 'Non-ASCII': /[^\x00-\xBF\s]+/, + 'Non-ASCII': /[^\x00-\x7F\s]+/, 'Non-Latin': /[^\u0000-\u024F\u2000-\u214F\s]+/, - 'Games': /\w+\.io|Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|NeoQuest|MyFreeFarm|narwhale\.io|Neopets|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium/iu, + 'Games': /Aimbot|AntiGame|Agar|agar\.io|alis\.io|angel\.io|ExtencionRipXChetoMalo|AposBot|DFxLite|ZTx-Lite|AposFeedingBot|AposLoader|Balz|Blah Blah|Orc Clan Script|Astro\s*Empires|^\s*Attack|^\s*Battle|BiteFight|Blood\s*Wars|Bloble|Bonk|Bots|Bots4|Brawler|\bBvS\b|Business\s*Tycoon|Castle\s*Age|City\s*Ville|chopcoin\.io|Comunio|Conquer\s*Club|CosmoPulse|cursors\.io|Dark\s*Orbit|Dead\s*Frontier|Diep\.io|\bDOA\b|doblons\.io|DotD|Dossergame|Dragons\s*of\s*Atlantis|driftin\.io|Dugout|\bDS[a-z]+\n|elites\.io|Empire\s*Board|eRep(ublik)?|Epicmafia|Epic.*War|ExoPlanet|Falcon Tools|Feuerwache|Farming|FarmVille|Fightinfo|Frontier\s*Ville|Ghost\s*Trapper|Gladiatus|Goalline|Gondal|gota\.io|Grepolis|Hobopolis|\bhwm(\b|_)|Ikariam|\bIT2\b|Jellyneo|Kapi\s*Hospital|Kings\s*Age|Kingdoms?\s*of|knastv(o|oe)gel|Knight\s*Fight|\b(Power)?KoC(Atta?ck)?\b|\bKOL\b|Kongregate|Krunker|Last\s*Emperor|Legends?\s*of|Light\s*Rising|lite\.ext\.io|Lockerz|\bLoU\b|Mafia\s*(Wars|Mofo)|Menelgame|Mob\s*Wars|Mouse\s*Hunt|Molehill\s*Empire|MooMoo|MyFreeFarm|narwhale\.io|Neopets|NeoQuest|Nemexia|\bOGame\b|Ogar(io)?|Pardus|Pennergame|Pigskin\s*Empire|PlayerScripts|pokeradar\.io|Popmundo|Po?we?r\s*(Bot|Tools)|PsicoTSI|Ravenwood|Schulterglatze|Skribbl|slither\.io|slitherplus\.io|slitheriogameplay|SpaceWars|splix\.io|Survivio|\bSW_[a-z]+\n|\bSnP\b|The\s*Crims|The\s*West|torto\.io|Travian|Treasure\s*Isl(and|e)|Tribal\s*Wars|TW.?PRO|Vampire\s*Wars|vertix\.io|War\s*of\s*Ninja|World\s*of\s*Tanks|West\s*Wars|wings\.io|\bWoD\b|World\s*of\s*Dungeons|wtf\s*battles|Wurzelimperium|Yohoho|Zombs/iu, 'Social Networks': /Face\s*book|Google(\+| Plus)|\bHabbo|Kaskus|\bLepra|Leprosorium|MySpace|meinVZ|odnoklassniki|ОдĐŊĐžĐēĐģĐ°ŅŅĐŊиĐēи|Orkut|sch(ue|Ãŧ)ler(VZ|\.cc)?|studiVZ|Unfriend|Valenth|VK|vkontakte|ВКоĐŊŅ‚Đ°ĐēŅ‚Đĩ|Qzone|Twitter|TweetDeck/iu, - 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just)?(\s*a)?\s*test|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu + 'Clutter': /^\s*(.{1,3})\1+\n|^\s*(.+?)\n+\2\n*$|^\s*.{1,5}\n|do\s*n('|o)?t (install|download)|nicht installieren|(just )?(\ban? |\b)test(ing|s|\d|\b)|^\s*.{0,4}test.{0,4}\n|\ntest(ing)?\s*|^\s*(\{@|Smolka|Hacks)|\[\d{4,5}\]|free\s*download|theme|(night|dark) ?(mode)?/iu }; const commonCss = ` From 3ca9da5cdcd663f5dd1a8f230bedd6c599ed637e Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 29 Jan 2020 16:39:12 +0200 Subject: [PATCH 160/439] (all RARBG scripts) Added rarbggo in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 62b7b62..e0cea66 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2019.10.10 +// @version 2020.01.29 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index e1024b5..3efeca3 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2019.10.10 +// @version 2020.01.29 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 84051a8..cbf5a52 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2019.11.14 +// @version 2020.01.29 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From df9ce2f50f753d023d7e5c9fdaa53813bbc4e998 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 31 Jan 2020 16:52:12 +0200 Subject: [PATCH 161/439] (all RARBG scripts) Added rarbgp2p in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index e0cea66..81e8a30 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2020.01.29 +// @version 2020.01.31 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 3efeca3..0047e21 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2020.01.29 +// @version 2020.01.31 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index cbf5a52..d54591d 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2020.01.29 +// @version 2020.01.31 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From 18583ec3fa99c197742f0bf009fe486f03353b5a Mon Sep 17 00:00:00 2001 From: darkred Date: Sat, 1 Feb 2020 19:17:32 +0200 Subject: [PATCH 162/439] (all RARBG scripts) Added rarbgdata.org and rarbgweb.org in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 81e8a30..089f41f 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2020.01.31 +// @version 2020.02.01 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index 0047e21..ea8e725 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2020.01.31 +// @version 2020.02.01 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index d54591d..7587107 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2020.01.31 +// @version 2020.02.01 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From 6f7a2fbf92c442e269ff1d3631eed47ba9bf54a5 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 2 Feb 2020 22:09:07 +0200 Subject: [PATCH 163/439] (all RARBG scripts) Added rarbgindex.org and rarbgproxies.org in the @include rule (per request) --- ...BG_-_convert_torrent_timestamps_to_relative_format.user.js | 4 ++-- .../RARBG_-_torrent_and_magnet_links.user.js | 4 ++-- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 089f41f..f3966f1 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2020.02.01 +// @version 2020.02.02 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index ea8e725..add60d3 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -1,12 +1,12 @@ // ==UserScript== // @name RARBG - torrent and magnet links // @namespace darkred -// @version 2020.02.01 +// @version 2020.02.02 // @description Adds a column with torrent and magnet links in RARBG lists // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 7587107..228c39a 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -1,11 +1,11 @@ // ==UserScript== // @name RARBG - various tweaks // @namespace darkred -// @version 2020.02.01 +// @version 2020.02.02 // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From 1913eb58d3259128001de3cb127b35a52cf62da8 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 9 Feb 2020 21:22:12 +0200 Subject: [PATCH 164/439] (all RARBG scripts) Cleaned up, added some more and shortened the @include line Cleaned up expired/dead/non-working domains in the @include line, and added some more domains, hopefully covering all working RARBG mirrors. (Thanks a lot to 'fixed' for his help with providing this list woth RARBG mirrors per country he had found: https://i.imgur.com/QaMhArH.png .) --- ...ARBG_-_convert_torrent_timestamps_to_relative_format.user.js | 2 +- .../RARBG_-_torrent_and_magnet_links.user.js | 2 +- RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index f3966f1..b3bac72 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -5,7 +5,7 @@ // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js diff --git a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js index add60d3..4b887df 100644 --- a/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js +++ b/RARBG_-_torrent_and_magnet_links/RARBG_-_torrent_and_magnet_links.user.js @@ -6,7 +6,7 @@ // @author darkred // @contributor sxe, dandyclubs // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js // @run-at document-idle diff --git a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js index 228c39a..faa9f58 100644 --- a/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js +++ b/RARBG_-_various_tweaks/RARBG_-_various_tweaks.user.js @@ -5,7 +5,7 @@ // @description Various tweaks for RARBG torrent detail pages, listings and search-by-IMDb-id pages. // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(rarbg|rbg(\.(bypassed|unblockall|unblocked))?|rarbgaccess(ed)?|rarbgcore|rarbgdata|rarbgenter|rarbgget|rarbgindex|rarbggo|rarbgmirror(ed)?|rarbgp2p|rarbgproxy|rarbgproxied|rarbgproxies|rarbgprx|rarbgs|rarbgto|rarbgunblock|rarbgway|rarbgweb|proxyrarbg|unblocktorrent)\.(to|com|org|is|xyz|lol|vc|link)\/(rarbg-proxy-unblock\/)?(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrent\/.*|torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // ==/UserScript== From d42d252b5051a9f96a3e43d9c410a30e19afd4c8 Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 12 Feb 2020 20:46:10 +0200 Subject: [PATCH 165/439] Update README.md --- .../README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/README.md b/RARBG_-_convert_torrent_timestamps_to_relative_format/README.md index 8366c51..6025950 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/README.md +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/README.md @@ -1,6 +1,13 @@ -This script applies to rarbg.to. +This script applies to RARBG torrent lists. -It converts torrent timestamps to relative format. +It converts torrent timestamps to relative format in local timezone. Also, it recalculates them every 10 seconds. +It uses [moment.js](http://momentjs.com/), [moment-timezone.js](http://momentjs.com/timezone/) and [jsTimezoneDetect](https://bitbucket.org/pellepim/jstimezonedetect) -It uses [moment.js](http://momentjs.com/), [moment-timezone.js](http://momentjs.com/timezone/) and [jsTimezoneDetect](https://bitbucket.org/pellepim/jstimezonedetect) \ No newline at end of file +Screenshot comparison: +Initial: +![](https://i.imgur.com/vdv2xjR.jpg) +With the script: +![](https://i.imgur.com/iTuWa4d.jpg) + +[Hosted in GitHub](https://github.com/darkred/Userscripts) From 58918db56d6316c53a8d0d03041ebd8c8240a5d4 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 14 Feb 2020 00:44:03 +0200 Subject: [PATCH 166/439] (Rotten Tomatoes Decimal Rating) - Rewrite for the new rottentomatoes.com layout update Also, removed "@run-at document-start" and "@require setMutationHandler.js" as they are no longer needed. --- Rotten_Tomatoes_Decimal_Rating/README.md | 15 ++- .../Rotten_Tomatoes_Decimal_Rating.user.js | 62 ++++++++---- .../setMutationHandler.js | 96 ------------------- 3 files changed, 52 insertions(+), 121 deletions(-) delete mode 100644 Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js diff --git a/Rotten_Tomatoes_Decimal_Rating/README.md b/Rotten_Tomatoes_Decimal_Rating/README.md index 1fe7bec..7c8256a 100644 --- a/Rotten_Tomatoes_Decimal_Rating/README.md +++ b/Rotten_Tomatoes_Decimal_Rating/README.md @@ -1,13 +1,10 @@ -*By default RottenTomatoes pages uses base 10 rating for TOMATOMETER and base-5 for AUDIENCE SCORE.* -This script changes the latter's base-5 to base-10, and modifies both relevant tooltips, in order to be perceived more easily. -It modifies these 3 elements: +*By default RottenTomatoes pages uses base 10 rating for TOMATOMETER and base-5 for AUDIENCE SCORE.* +This script changes the latter's base-5 to base-10, and modifies both relevant tooltips, in order to be perceived more easily. +It modifies the following 3 elements inside the modal that is displayed after clicking "See score details": -- multiplies `x2` the AUDIENCE SCORE **Average Ratings**, -- appends `(=6 stars or higher)` to the TOMATOMETER **descriptive text**, -- modifies`3.5 stars or higher` to `7 stars or higher`, in the AUDIENCE SCORE **descriptive text**. - -*Note 1: this script uses the [setMutationHandler](https://greasyfork.org/en/scripts/12228-setmutationhandler) function (by wOxxOm) -Note 2: after the new rottentomatoes.com layout (Feb. 25, 2019), since v4 the `// @run-at document-start` rule is no longer needed.* +- multiplies `x2` the Audience Rating **Avg Rating**, +- appends `(=6 stars or higher)` to the Tomatometer **descriptive text**, +- modifies`3.5 stars or higher` to `7 stars or higher`, in the Audience Score **descriptive text**.   diff --git a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js index a682eff..a0867c7 100644 --- a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js +++ b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js @@ -1,34 +1,64 @@ // ==UserScript== // @name Rotten Tomatoes Decimal Rating // @namespace darkred -// @version 4 +// @version 5 // @description Changes base-5 Rating of Rotten Tomatoes to base-10 -// @author wOxxOm +// @author wOxxOm, darkred // @license MIT // @match https://*.rottentomatoes.com/* // @grant none -// @require https://greasyfork.org/scripts/12228/code/setMutationHandler.js -// @run-at document-start // ==/UserScript== -// Monitor mutations on the "AUDIENCE SCORE Average Rating" stars selector -setMutationHandler(document, '#js-tomatometer-overlay .star-display', function (nodes) { - // this.disconnect(); - // "AUDIENCE SCORE > Average Rating" score - Multiply x2 - var audienceScoreStars = nodes[0].nextElementSibling; +const buttonSeeScoreDetails = document.querySelector('.mop-ratings-wrap__score-detail-container'); + +function audienceScorex2(){ + // 'See Score Details' | 'Audience Score' > Avg rating" score --> Multiply x2 + let audienceScoreStars = document.querySelector('span.js-audience-score-info'); + audienceScoreStars.textContent = audienceScoreStars.textContent.replace('/5',''); audienceScoreStars.textContent *= 2; audienceScoreStars.textContent += '/10'; +} + + - // The 1st is for TOMATOMETER, the 2nd is for AUDIENCE SCORE - var theTwoDescriptiveTexts = document.querySelectorAll('li.score-modal__dets'); +buttonSeeScoreDetails.addEventListener('click', function(){ - // "TOMATOMETER" descriptive text - Append '(=6 stars or higher)' - theTwoDescriptiveTexts[0].innerHTML = theTwoDescriptiveTexts[0].innerHTML.replace('review.', 'review (=6 stars or higher).'); + audienceScorex2(); - // "AUDIENCE SCORE" descriptive text - modify in the text, from '3.5 stars or higher' to '7 stars or higher' - theTwoDescriptiveTexts[1].innerHTML = theTwoDescriptiveTexts[1].innerHTML.replace(/([\d.]+)( stars)/, function (m, s1, s2) { - return 2 * s1 + s2; + let buttonInsideVerifiedAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(1)'); + let buttonInsideAllAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(2)'); + [ buttonInsideVerifiedAudience, buttonInsideAllAudience ].forEach(function(element) { + element.addEventListener('click', function() { + audienceScorex2(); + }); }); + + + // the buttons for the two descriptive texts: The 1st is for TOMATOMETER, the 2nd is for AUDIENCE SCORE + let buttonQuestionmarkTomatometer = document.querySelector('.score-detail__help--tomatometer'); + let buttonQuestionmarkAudienceScore = document.querySelector('.score-detail__help--audience-score'); + + + buttonQuestionmarkTomatometer.addEventListener('click', function(){ + + let descriptiveTextTomatometer = document.querySelector('p.score-detail__tooltip-text:nth-child(1)'); + // "TOMATOMETER" descriptive text - Append '(=6 stars or higher)' + descriptiveTextTomatometer.innerHTML = descriptiveTextTomatometer.innerHTML.replace('review', 'review (=6 stars or higher)'); + + }); + + + buttonQuestionmarkAudienceScore.addEventListener('click', function(){ + + let descriptiveTextAudienceScode = document.querySelector('.score-detail__tooltip-content'); + // "AUDIENCE SCORE" descriptive text - modify in the text, from '3.5 stars or higher' to '7 stars or higher' + descriptiveTextAudienceScode.innerHTML = descriptiveTextAudienceScode.innerHTML.replace(/([\d.]+)( stars)/g, function (m, s1, s2) { + return 2 * s1 + s2; + }); + + }); + + }); diff --git a/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js b/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js deleted file mode 100644 index 2987a2f..0000000 --- a/Rotten_Tomatoes_Decimal_Rating/setMutationHandler.js +++ /dev/null @@ -1,96 +0,0 @@ -// ==UserScript== -// @name setMutationHandler -// @description MutationObserver wrapper to wait for the specified CSS selector -// @namespace wOxxOm.scripts -// @author wOxxOm -// @grant none -// @version 3.0.2 -// ==/UserScript== - -function setMutationHandler(target, selector, handler, options) { -// or setMutationHandler(selector, handler, options) { -// or setMutationHandler(options) { - if (typeof arguments[0] == 'string') { - options = arguments[2] || {}; - handler = arguments[1]; - selector = arguments[0]; - target = document; - } else if (arguments.length == 1 && target && typeof target.handler == 'function') { - options = arguments[0]; - handler = options.handler; - selector = options.selector; - target = options.target || document; - } else if (!(target instanceof Node)) { - throw 'Bad params for setMutationHandler.\n' + - 'A: [optional Node] target, [String] selector, [Function] handler, [optional Object] options\n' + - 'B: [Object] options\n' + - 'Options: target, selector, handler, processExisting, childList, attributes, characterData, subtree, attributeOldValue, characterDataOldValue, attributeFilter'; - } else - options = options || {}; - - if (options.processExisting && target.querySelector(selector)) - handler.call(null, Array.prototype.slice.call(target.querySelectorAll(selector))); - if (!options.attributes && !options.characterData && !options.childList && options.subtree === undefined) - options.childList = options.subtree = true; - - var cb; - if (/^#[\w\d-]+$/.test(selector)) { - selector = selector.substr(1); - cb = MOhandlerForId; - } else { - cb = MOhandler; - } - var observer = new MutationObserver(cb); - observer.observe(target, options || {subtree:true, childList:true}); - return observer; - - function MOhandler(mutations) { - if (mutations.length > 100 && !document.querySelector(selector)) - return; - var found = []; - for (var i=0, m; (m = mutations[i++]); ) { - switch (m.type) { - case 'childList': - var nodes = m.addedNodes, nl = nodes.length; - var textNodesOnly = true; - for (var j=0; j < nl; j++) { - var n = nodes[j]; - textNodesOnly &= n.nodeType == 3; // TEXT_NODE - if (n.nodeType != 1) // ELEMENT_NODE - continue; - if (n.matches(selector)) - found.push(n); - else if (n.querySelector(selector)) { - n = n.querySelectorAll(selector); - if (n.length < 1000) - found.push.apply(found, n); - else - found = found.concat(found.slice.call(n)); - } - } - if (textNodesOnly && m.target.matches(selector)) - found.push(m.target); - break; - case 'attributes': - if (m.target.matches(selector)) - found.push(m.target); - break; - case 'characterData': - if (m.target.parentNode && m.target.parentNode.matches(selector)) - found.push(m.target.parentNode); - break; - } - } - if (!found.length) - return; - if (handler.call(observer, found) === false) - observer.disconnect(); - } - - function MOhandlerForId(mutations) { - var el = document.getElementById(selector); - if (el && target.contains(el)) - if (handler.call(observer, [el]) === false) - observer.disconnect(); - } -} From 6c35a1cc183c00390d715e56cbb2e4732068af6f Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 20 Feb 2020 17:54:29 +0200 Subject: [PATCH 167/439] Update Rotten_Tomatoes_Decimal_Rating.user.js --- .../Rotten_Tomatoes_Decimal_Rating.user.js | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js index a0867c7..75a61e1 100644 --- a/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js +++ b/Rotten_Tomatoes_Decimal_Rating/Rotten_Tomatoes_Decimal_Rating.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Rotten Tomatoes Decimal Rating // @namespace darkred -// @version 5 +// @version 5.0.1 // @description Changes base-5 Rating of Rotten Tomatoes to base-10 // @author wOxxOm, darkred // @license MIT @@ -10,6 +10,12 @@ // ==/UserScript== +// Example URLs: +// https://www.rottentomatoes.com/m/birds_of_prey_2020 +// https://www.rottentomatoes.com/m/toy_story_3 + + + const buttonSeeScoreDetails = document.querySelector('.mop-ratings-wrap__score-detail-container'); function audienceScorex2(){ @@ -26,24 +32,26 @@ buttonSeeScoreDetails.addEventListener('click', function(){ audienceScorex2(); - let buttonInsideVerifiedAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(1)'); - let buttonInsideAllAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(2)'); - [ buttonInsideVerifiedAudience, buttonInsideAllAudience ].forEach(function(element) { - element.addEventListener('click', function() { - audienceScorex2(); - }); + let buttonVerifiedAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(1)'); + let buttonAllAudience = document.querySelector('div.score-detail__info-wrap-section:nth-child(2) > nav:nth-child(2) > button:nth-child(2)'); + [ buttonVerifiedAudience, buttonAllAudience ].forEach(function(element) { + if (element) { + element.addEventListener('click', function() { + audienceScorex2(); + }); + } }); - // the buttons for the two descriptive texts: The 1st is for TOMATOMETER, the 2nd is for AUDIENCE SCORE + // the '?' buttons for the two descriptive texts let buttonQuestionmarkTomatometer = document.querySelector('.score-detail__help--tomatometer'); let buttonQuestionmarkAudienceScore = document.querySelector('.score-detail__help--audience-score'); buttonQuestionmarkTomatometer.addEventListener('click', function(){ - let descriptiveTextTomatometer = document.querySelector('p.score-detail__tooltip-text:nth-child(1)'); + let descriptiveTextTomatometer = document.querySelector('.score-detail__tooltip-content > p:nth-child(1)'); // "TOMATOMETER" descriptive text - Append '(=6 stars or higher)' descriptiveTextTomatometer.innerHTML = descriptiveTextTomatometer.innerHTML.replace('review', 'review (=6 stars or higher)'); @@ -53,7 +61,7 @@ buttonSeeScoreDetails.addEventListener('click', function(){ buttonQuestionmarkAudienceScore.addEventListener('click', function(){ let descriptiveTextAudienceScode = document.querySelector('.score-detail__tooltip-content'); - // "AUDIENCE SCORE" descriptive text - modify in the text, from '3.5 stars or higher' to '7 stars or higher' + // "AUDIENCE SCORE" descriptive text - Modify '3.5 stars or higher' to '7 stars or higher' descriptiveTextAudienceScode.innerHTML = descriptiveTextAudienceScode.innerHTML.replace(/([\d.]+)( stars)/g, function (m, s1, s2) { return 2 * s1 + s2; }); From d73ee77f2a6f5f90c696471a3c131daed69c27b8 Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 24 Feb 2020 22:42:31 +0200 Subject: [PATCH 168/439] New script: 'Blabbermouth cd/dvd reviews and news pages - generate timestamps in relative format and add link to FB comment' --- ...imestamps_in_relative_format_and_a.user.js | 206 ++++++++++++++++++ .../README.md | 31 +++ 2 files changed, 237 insertions(+) create mode 100644 Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js create mode 100644 Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/README.md diff --git a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js new file mode 100644 index 0000000..4106e70 --- /dev/null +++ b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js @@ -0,0 +1,206 @@ +// ==UserScript== +// @name Blabbermouth cd/dvd reviews and news pages - generate timestamps in relative format and add link to the FB comments area +// @namespace http://tampermonkey.net/ +// @version darkred +// @description Generates timestamps in relative format in cd/dvd reviews pages and news pages and adds link to the FB comments area. +// @author You +// @match https://www.blabbermouth.net/news +// @match https://www.blabbermouth.net/news/* +// @match https://www.blabbermouth.net/cdreviews/* +// @match https://www.blabbermouth.net/dvdreviews/* +// @match https://www.facebook.com/plugins/feedback.php* +// @grant none +// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js +// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js +// ==/UserScript== + + +/* global jstz, moment */ +'use strict'; + + +// Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) +moment.updateLocale('en', { + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'seconds', + m: '1 minute', + mm: '%d minutes', + h: '1 hour', + hh: '%d hours', + d: '1 day', + dd: '%d days', + M: '1 month', + MM: '%d months', + y: '1 year', + yy: '%d years' + } +}); + +function convertToLocalTimezone(timestamp) { + const localTimezone = jstz.determine().name(); + const serverTimezone = 'Europe/Berlin'; // GMT+1 + + let initialTimestamp = timestamp; + let convertedToLocalTimezone = moment + .tz(initialTimestamp, serverTimezone) + .tz(localTimezone); + publishedTimeLTZ = convertedToLocalTimezone.fromNow(); + let format = 'YYYY-MM-DD HH:mm:ss'; + publishedTimeLTZtitle = convertedToLocalTimezone.format(format); +} + +function recalc(timestamp, format, notitle) { + // repeat every 1 minute + setInterval(function() { + if ( + timestamp && + moment( + timestamp.title, + format, + true + ).isValid() + ) { + timestamp.textContent = moment(timestamp.title).fromNow(); + } else if (notitle === true) { + timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); + } + }, 1 * 60 * 1000); +} + + + + + + + + +// if (window.top === window.self) return; +// console.log ('Script start...'); + +/* +if (window.location.href === 'https://www.blabbermouth.net/news') { + var allTimestamps = document.querySelectorAll('.date-time'); + // February 22, 2020 + allTimestamps.forEach(function(item) { + item.innerText = moment(item.innerText.trim()).fromNow(); + recalc(item, 'MMMM DD, YYYY', true); + }); + +} else */ if ( + window.location.href.includes('blabbermouth.net/news/') +) { + + // if there's a timestamp inside the page + if ( + document.querySelector('meta[property="article:published_time"]') !== + null + ) { + var publishedTimestamp = document.querySelector( + 'meta[property="article:published_time"]' + ).content; + } + + + console.log(publishedTimestamp); + + var publishedTimeLTZ, publishedTimeLTZtitle; + + convertToLocalTimezone(publishedTimestamp); + + document.querySelector('.date-time').textContent = publishedTimeLTZ; + document.querySelector('.date-time').title = publishedTimeLTZtitle; +} else if ( + window.location.href.includes('blabbermouth.net/cdreviews') || + window.location.href.includes('blabbermouth.net/dvdreviews') +) { + if (/blabbermouth\.net/i.test(location.host)) { + console.log('Userscript is in the MAIN page.'); + + if ( + document.querySelector( + 'meta[property="article:published_time"]' + ) !== null + ) { + publishedTimestamp = document.querySelector( + 'meta[property="article:published_time"]' + ).content; + } + + console.log(publishedTimestamp); + + var currentURL = window.location.href; + + convertToLocalTimezone(publishedTimestamp); + + var commentcount = ''; + + var HTML = ` + +`; + + if (document.querySelector('.entry-content') !== null) { + document + .querySelector('.entry-content') + .insertAdjacentHTML('beforebegin', HTML); + document.querySelector('.date-time').title = publishedTimeLTZtitle; + + let newDateTimeElement = document.querySelector('.date-time'); + recalc(newDateTimeElement, 'YYYY-MM-DD HH:mm:ss'); + } + + // Wait fof messages (from iframe) + window.addEventListener( + 'message', + function addFbCounter(e) { + if (e.data.indexOf(' Comment') !== -1) { + document.querySelector( + '#main > article > p > span.date-comments > a:nth-child(2)' + ).innerText = + e.data; + window.removeEventListener('message', addFbCounter); + } + }, + false + ); + console.log('Waiting for Message 1, from iframe...'); + } +} else if (window.location.href.includes('facebook.com')) { + console.log('Userscript is in the FRAMED page.'); + + var observer = new MutationObserver(function(mutations) { + mutations.forEach(function(mutation) { + if (!mutation.addedNodes) return; + + for (var i = 0; i < mutation.addedNodes.length; i++) { + var selector = '._50f7'; + if (document.body.contains(document.querySelector(selector))) { + observer.disconnect(); + // Send message from iframe + window.top.postMessage (document.querySelector(selector).innerText, '*'); + } + } + }); + }); + + observer.observe(document.body, { + childList: true, + subtree: true + }); +} diff --git a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/README.md b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/README.md new file mode 100644 index 0000000..95ac123 --- /dev/null +++ b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/README.md @@ -0,0 +1,31 @@ +This script applies to blabbermouth.net. + +Blabbermouth doesn't display timestamps in cd/dvd reviews pages and news pages (it only displays in news listings). +This script fixes that. + +In details: + +- in cd/dvd reviews pages: + This script generates timestamps in cd/dvd reviews pages using the `published_time` data from inside the pages (e.g. `2020-02-20T19:10:22.000Z`) +and converts them to relative format in local timezone. Also, it recalculates them every 10 seconds. + + It also shows a link to the Facebook comments next to the generated timestamp, +containing **the comment count** 1 from that FB iframe (i.e. it displays "6 Comments" instead of plain "comments" ). + +- in news pages: + the script just converts the existing timetamps to releative format. + +  + +1 +Compatibility note regarding that last feature - it works in: + +- Violentmonkey: ok with default settings. +- Tampermonkey: `*://www.facebook.com/plugins/*` is blacklisted by default, that's why, in order the script to work, you have to remove that pattern from TM blacklist. +- Greasemonkey: not supported. + +--- + +The script uses [moment.js](http://momentjs.com/), [moment-timezone.js](http://momentjs.com/timezone/) and [jsTimezoneDetect](https://bitbucket.org/pellepim/jstimezonedetect) + +[Hosted in GitHub](https://github.com/darkred/Userscripts) From a3fd46e07f273644bd91976e29d92979eea31e1a Mon Sep 17 00:00:00 2001 From: darkred Date: Mon, 24 Feb 2020 22:45:07 +0200 Subject: [PATCH 169/439] Update Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js --- ...ages_-_generate_timestamps_in_relative_format_and_a.user.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js index 4106e70..317a653 100644 --- a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js +++ b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js @@ -3,7 +3,8 @@ // @namespace http://tampermonkey.net/ // @version darkred // @description Generates timestamps in relative format in cd/dvd reviews pages and news pages and adds link to the FB comments area. -// @author You +// @author darkred +// @license MIT // @match https://www.blabbermouth.net/news // @match https://www.blabbermouth.net/news/* // @match https://www.blabbermouth.net/cdreviews/* From 835fbd5efd7e489277b1f7e4b15d6265a7e3aeff Mon Sep 17 00:00:00 2001 From: darkred Date: Wed, 26 Feb 2020 21:05:54 +0200 Subject: [PATCH 170/439] Update Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js --- ...imestamps_in_relative_format_and_a.user.js | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js index 317a653..f15146d 100644 --- a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js +++ b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Blabbermouth cd/dvd reviews and news pages - generate timestamps in relative format and add link to the FB comments area // @namespace http://tampermonkey.net/ -// @version darkred +// @version 1 // @description Generates timestamps in relative format in cd/dvd reviews pages and news pages and adds link to the FB comments area. // @author darkred // @license MIT @@ -81,16 +81,41 @@ function recalc(timestamp, format, notitle) { // if (window.top === window.self) return; // console.log ('Script start...'); -/* -if (window.location.href === 'https://www.blabbermouth.net/news') { +// Example for 'diff' +// var a = moment([2007, 0, 29]); +// var b = moment([2007, 0, 28]); +// a.diff(b, 'days') // 1 + +if (window.location.href === 'https://www.blabbermouth.net' + || window.location.href === ('https://www.blabbermouth.net/news') + || window.location.href === ('https://www.blabbermouth.net/news/') + || window.location.href.startsWith('https://www.blabbermouth.net/news/page')) { var allTimestamps = document.querySelectorAll('.date-time'); // February 22, 2020 allTimestamps.forEach(function(item) { - item.innerText = moment(item.innerText.trim()).fromNow(); + var initial = item.innerText.trim(); + var now = moment(); + // diff() - The supported measurements are: years, months, weeks, days + var interval = now.diff(moment(item.innerText.trim()), 'days'); + if (interval === 0) { + item.innerText = 'Today'; + } else if (interval < 7){ + item.innerText = interval + ' days ago'; + } else if (interval < 30) { + item.innerText = now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; + } else if (interval < 365) { + item.innerText = now.diff(moment(item.innerText.trim()), 'months') + ' months ago'; + } else { + item.innerText = now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; + } + if (interval === 1 || interval === 7 || interval === 30 || interval === 365 ){ + item.innerText = item.innerText.replace('s ', ' '); + } + item.title = initial; recalc(item, 'MMMM DD, YYYY', true); }); -} else */ if ( +} else if ( window.location.href.includes('blabbermouth.net/news/') ) { @@ -120,6 +145,7 @@ if (window.location.href === 'https://www.blabbermouth.net/news') { if (/blabbermouth\.net/i.test(location.host)) { console.log('Userscript is in the MAIN page.'); + // 2019-10-17T15:32:18.000Z if ( document.querySelector( 'meta[property="article:published_time"]' From 4ab1ee612ee990668141d80a243e4edb33c41db2 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 27 Feb 2020 16:48:09 +0200 Subject: [PATCH 171/439] Update Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js --- ...imestamps_in_relative_format_and_a.user.js | 128 +++++++----------- 1 file changed, 49 insertions(+), 79 deletions(-) diff --git a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js index f15146d..11eeef3 100644 --- a/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js +++ b/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_add_link_to_FB_comments/Blabbermouth_cd-dvd_reviews_and_news_pages_-_generate_timestamps_in_relative_format_and_a.user.js @@ -5,11 +5,11 @@ // @description Generates timestamps in relative format in cd/dvd reviews pages and news pages and adds link to the FB comments area. // @author darkred // @license MIT -// @match https://www.blabbermouth.net/news -// @match https://www.blabbermouth.net/news/* -// @match https://www.blabbermouth.net/cdreviews/* -// @match https://www.blabbermouth.net/dvdreviews/* -// @match https://www.facebook.com/plugins/feedback.php* +// @include https://www.blabbermouth.net/ +// @include https://www.blabbermouth.net/news* +// @include https://www.blabbermouth.net/cdreviews* +// @include https://www.blabbermouth.net/dvdreviews* +// @include https://www.facebook.com/plugins/feedback.php* // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js @@ -56,14 +56,7 @@ function convertToLocalTimezone(timestamp) { function recalc(timestamp, format, notitle) { // repeat every 1 minute setInterval(function() { - if ( - timestamp && - moment( - timestamp.title, - format, - true - ).isValid() - ) { + if (timestamp && moment(timestamp.title, format, true).isValid()) { timestamp.textContent = moment(timestamp.title).fromNow(); } else if (notitle === true) { timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); @@ -72,24 +65,11 @@ function recalc(timestamp, format, notitle) { } - - - - - - -// if (window.top === window.self) return; -// console.log ('Script start...'); - -// Example for 'diff' -// var a = moment([2007, 0, 29]); -// var b = moment([2007, 0, 28]); -// a.diff(b, 'days') // 1 - -if (window.location.href === 'https://www.blabbermouth.net' - || window.location.href === ('https://www.blabbermouth.net/news') - || window.location.href === ('https://www.blabbermouth.net/news/') - || window.location.href.startsWith('https://www.blabbermouth.net/news/page')) { +if ( + window.location.href === 'https://www.blabbermouth.net/' || + window.location.href === 'https://www.blabbermouth.net/news' || + window.location.href.startsWith('https://www.blabbermouth.net/news/page') +) { var allTimestamps = document.querySelectorAll('.date-time'); // February 22, 2020 allTimestamps.forEach(function(item) { @@ -99,27 +79,31 @@ if (window.location.href === 'https://www.blabbermouth.net' var interval = now.diff(moment(item.innerText.trim()), 'days'); if (interval === 0) { item.innerText = 'Today'; - } else if (interval < 7){ + } else if (interval < 7) { item.innerText = interval + ' days ago'; } else if (interval < 30) { - item.innerText = now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; - } else if (interval < 365) { - item.innerText = now.diff(moment(item.innerText.trim()), 'months') + ' months ago'; + item.innerText = + now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; + } else if (interval < 365) { + item.innerText = + now.diff(moment(item.innerText.trim()), 'months') + + ' months ago'; } else { - item.innerText = now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; + item.innerText = + now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; } - if (interval === 1 || interval === 7 || interval === 30 || interval === 365 ){ + if ( + interval === 1 || + interval === 7 || + interval === 30 || + interval === 365 + ) { item.innerText = item.innerText.replace('s ', ' '); } item.title = initial; recalc(item, 'MMMM DD, YYYY', true); }); - -} else if ( - window.location.href.includes('blabbermouth.net/news/') -) { - - // if there's a timestamp inside the page +} else if (window.location.href.includes('blabbermouth.net/news/')) { if ( document.querySelector('meta[property="article:published_time"]') !== null @@ -139,13 +123,16 @@ if (window.location.href === 'https://www.blabbermouth.net' document.querySelector('.date-time').textContent = publishedTimeLTZ; document.querySelector('.date-time').title = publishedTimeLTZtitle; } else if ( - window.location.href.includes('blabbermouth.net/cdreviews') || - window.location.href.includes('blabbermouth.net/dvdreviews') + (window.location.href.includes('blabbermouth.net/cdreviews') || + window.location.href.includes('blabbermouth.net/dvdreviews')) && + !window.location.href.includes('/page/') ) { + //--- Double-check that this iframe is on the expected domain: if (/blabbermouth\.net/i.test(location.host)) { console.log('Userscript is in the MAIN page.'); // 2019-10-17T15:32:18.000Z + if ( document.querySelector( 'meta[property="article:published_time"]' @@ -166,15 +153,9 @@ if (window.location.href === 'https://www.blabbermouth.net' var HTML = ` +`; + + if (document.querySelector('.entry-content') !== null) { + document + .querySelector('.entry-content') + .insertAdjacentHTML('beforebegin', HTML); + document.querySelector('.date-time').title = publishedTimeLTZtitle; + + let newDateTimeElement = document.querySelector('.date-time'); + recalc(newDateTimeElement, 'YYYY-MM-DD HH:mm:ss'); + } + + // Wait fof messages (from iframe) + window.addEventListener( + 'message', + function addFbCounter(e) { + // something from an unknown domain, or doesn't contain the string "Comment" let's ignore it + if (e.origin != 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { + return; + } + console.log("Received message: " + e.data); + document.querySelector( + '#main > article > p > span.date-comments > a:nth-child(1)' + ).innerText = e.data.replace(/\ Comments?/i,''); + window.removeEventListener('message', addFbCounter); + }, + false + ); + console.log('Waiting for Message 1, from iframe...'); + } +} else if (window.location.href.includes('facebook.com')) { + + console.log('Userscript is in the FRAMED page.'); + + var selector = '._50f7'; + window.parent.postMessage( + document.querySelector(selector).innerText, + 'https://www.blabbermouth.net/cdreviews/' + ); +} diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js new file mode 100644 index 0000000..fda1e18 --- /dev/null +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js @@ -0,0 +1,202 @@ +// ==UserScript== +// @name Blabbermouth - generate timestamps and add link to the fb comments area +// @namespace darkred +// @version 1 +// @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area +// @author darkred +// @license MIT +// @include https://www.blabbermouth.net/ +// @include https://www.blabbermouth.net/news* +// @include https://www.blabbermouth.net/cdreviews* +// @include https://www.blabbermouth.net/dvdreviews* +// @include https://www.facebook.com/plugins/feedback.php* +// @grant none +// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js +// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js +// ==/UserScript== + + +/* global jstz, moment */ +'use strict'; + + +// Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) +moment.updateLocale('en', { + relativeTime: { + future: 'in %s', + past: '%s ago', + s: 'seconds', + m: '1 minute', + mm: '%d minutes', + h: '1 hour', + hh: '%d hours', + d: '1 day', + dd: '%d days', + M: '1 month', + MM: '%d months', + y: '1 year', + yy: '%d years' + } +}); + +function convertToLocalTimezone(timestamp) { + const localTimezone = jstz.determine().name(); + const serverTimezone = 'Europe/Berlin'; // GMT+1 + + let initialTimestamp = timestamp; + let convertedToLocalTimezone = moment + .tz(initialTimestamp, serverTimezone) + .tz(localTimezone); + publishedTimeLTZ = convertedToLocalTimezone.fromNow(); + let format = 'YYYY-MM-DD HH:mm:ss'; + publishedTimeLTZtitle = convertedToLocalTimezone.format(format); +} + +function recalc(timestamp, format, notitle) { + // repeat every 1 minute + setInterval(function() { + if (timestamp && moment(timestamp.title, format, true).isValid()) { + timestamp.textContent = moment(timestamp.title).fromNow(); + } else if (notitle === true) { + timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); + } + }, 1 * 60 * 1000); +} + + +if ( + window.location.href === 'https://www.blabbermouth.net/' || + window.location.href === 'https://www.blabbermouth.net/news' || + window.location.href.startsWith('https://www.blabbermouth.net/news/page') +) { + var allTimestamps = document.querySelectorAll('.date-time'); + // February 22, 2020 + allTimestamps.forEach(function(item) { + var initial = item.innerText.trim(); + var now = moment(); + // diff() - The supported measurements are: years, months, weeks, days + var interval = now.diff(moment(item.innerText.trim()), 'days'); + if (interval === 0) { + item.innerText = 'Today'; + } else if (interval < 7) { + item.innerText = interval + ' days ago'; + } else if (interval < 30) { + item.innerText = + now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; + } else if (interval < 365) { + item.innerText = + now.diff(moment(item.innerText.trim()), 'months') + + ' months ago'; + } else { + item.innerText = + now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; + } + if ( + interval === 1 || + interval === 7 || + interval === 30 || + interval === 365 + ) { + item.innerText = item.innerText.replace('s ', ' '); + } + item.title = initial; + }); +} else if (window.location.href.includes('blabbermouth.net/news/')) { + if ( + document.querySelector('meta[property="article:published_time"]') !== + null + ) { + var publishedTimestamp = document.querySelector( + 'meta[property="article:published_time"]' + ).content; + } + + + console.log(publishedTimestamp); + + var publishedTimeLTZ, publishedTimeLTZtitle; + + convertToLocalTimezone(publishedTimestamp); + + document.querySelector('.date-time').textContent = publishedTimeLTZ; + document.querySelector('.date-time').title = publishedTimeLTZtitle; +} else if ( + (window.location.href.includes('blabbermouth.net/cdreviews') || + window.location.href.includes('blabbermouth.net/dvdreviews')) && + !window.location.href.includes('/page/') +) { + //--- Double-check that this iframe is on the expected domain: + if (/blabbermouth\.net/i.test(location.host)) { + console.log('Userscript is in the MAIN page.'); + + // 2019-10-17T15:32:18.000Z + + if ( + document.querySelector( + 'meta[property="article:published_time"]' + ) !== null + ) { + publishedTimestamp = document.querySelector( + 'meta[property="article:published_time"]' + ).content; + } + + console.log(publishedTimestamp); + + var currentURL = window.location.href; + + convertToLocalTimezone(publishedTimestamp); + + var commentcount = ''; + + var HTML = ` + +`; + + if (document.querySelector('.entry-content') !== null) { + document + .querySelector('.entry-content') + .insertAdjacentHTML('beforebegin', HTML); + document.querySelector('.date-time').title = publishedTimeLTZtitle; + + let newDateTimeElement = document.querySelector('.date-time'); + recalc(newDateTimeElement, 'YYYY-MM-DD HH:mm:ss'); + } + + // Wait fof messages (from iframe) + window.addEventListener( + 'message', + function addFbCounter(e) { + // something from an unknown domain, or doesn't contain the string "Comment" let's ignore it + if (e.origin != 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { + return; + } + console.log("Received message: " + e.data); + document.querySelector( + '#main > article > p > span.date-comments > a:nth-child(1)' + ).innerText = e.data.replace(/\ Comments?/i,''); + window.removeEventListener('message', addFbCounter); + }, + false + ); + console.log('Waiting for Message 1, from iframe...'); + } +} else if (window.location.href.includes('facebook.com')) { + + console.log('Userscript is in the FRAMED page.'); + + var selector = '._50f7'; + window.parent.postMessage( + document.querySelector(selector).innerText, + 'https://www.blabbermouth.net/cdreviews/' + ); +} diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js index fda1e18..2216145 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Blabbermouth - generate timestamps and add link to the fb comments area // @namespace darkred -// @version 1 +// @version 1.0.1 // @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area // @author darkred // @license MIT @@ -11,9 +11,9 @@ // @include https://www.blabbermouth.net/dvdreviews* // @include https://www.facebook.com/plugins/feedback.php* // @grant none -// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js -// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data-1970-2030.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js // ==/UserScript== @@ -42,15 +42,16 @@ moment.updateLocale('en', { function convertToLocalTimezone(timestamp) { const localTimezone = jstz.determine().name(); - const serverTimezone = 'Europe/Berlin'; // GMT+1 - + // (the timestamp is in ISO 8601 format and its trailing Z means that it's in UTC ) + // 2020-03-05T15:40:38.000Z let initialTimestamp = timestamp; - let convertedToLocalTimezone = moment - .tz(initialTimestamp, serverTimezone) - .tz(localTimezone); - publishedTimeLTZ = convertedToLocalTimezone.fromNow(); - let format = 'YYYY-MM-DD HH:mm:ss'; - publishedTimeLTZtitle = convertedToLocalTimezone.format(format); + if (moment(initialTimestamp, moment.ISO_8601, true).isValid()) { + let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ') // the server's timezone is GMT-5 + .tz(localTimezone); + publishedTimeLTZ = convertedToLocalTimezone.fromNow(); + let format = 'YYYY-MM-DD HH:mm:ss'; + publishedTimeLTZtitle = convertedToLocalTimezone.format(format); + } } function recalc(timestamp, format, notitle) { @@ -113,7 +114,7 @@ if ( } - console.log(publishedTimestamp); + console.log('publishedTimestamp: ' + publishedTimestamp); var publishedTimeLTZ, publishedTimeLTZtitle; @@ -122,8 +123,8 @@ if ( document.querySelector('.date-time').textContent = publishedTimeLTZ; document.querySelector('.date-time').title = publishedTimeLTZtitle; } else if ( - (window.location.href.includes('blabbermouth.net/cdreviews') || - window.location.href.includes('blabbermouth.net/dvdreviews')) && + (window.location.href.includes('blabbermouth.net/cdreviews/') || + window.location.href.includes('blabbermouth.net/dvdreviews/')) && !window.location.href.includes('/page/') ) { //--- Double-check that this iframe is on the expected domain: @@ -177,13 +178,13 @@ Comments 'message', function addFbCounter(e) { // something from an unknown domain, or doesn't contain the string "Comment" let's ignore it - if (e.origin != 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { + if (e.origin !== 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { return; } - console.log("Received message: " + e.data); + console.log('Received message: ' + e.data); document.querySelector( '#main > article > p > span.date-comments > a:nth-child(1)' - ).innerText = e.data.replace(/\ Comments?/i,''); + ).innerText = e.data.replace(/ Comments?/i,''); window.removeEventListener('message', addFbCounter); }, false From e434d050586bc3d5770ea71f85c2f3d838b22100 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 6 Mar 2020 23:58:34 +0200 Subject: [PATCH 177/439] Remove uneeded require : 'moment-timezone' and 'jstz' --- ...to_the_FB_comments_area.user - Copy (2).js | 223 ------------------ ...ink_to_the_FB_comments_area.user - Copy.js | 202 ---------------- ...d_add_link_to_the_FB_comments_area.user.js | 11 +- ...rent_timestamps_to_relative_format.user.js | 12 +- 4 files changed, 8 insertions(+), 440 deletions(-) delete mode 100644 Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy (2).js delete mode 100644 Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy (2).js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy (2).js deleted file mode 100644 index f1be742..0000000 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy (2).js +++ /dev/null @@ -1,223 +0,0 @@ -// ==UserScript== -// @name Blabbermouth - generate timestamps and add link to the fb comments area -// @namespace darkred -// @version 1 -// @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area -// @author darkred -// @license MIT -// @include https://www.blabbermouth.net/ -// @include https://www.blabbermouth.net/news* -// @include https://www.blabbermouth.net/cdreviews* -// @include https://www.blabbermouth.net/dvdreviews* -// @include https://www.facebook.com/plugins/feedback.php* -// @grant none -// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data-1970-2030.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js -// ==/UserScript== - - -/* global jstz, moment */ -'use strict'; - - -// Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) -moment.updateLocale('en', { - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'seconds', - m: '1 minute', - mm: '%d minutes', - h: '1 hour', - hh: '%d hours', - d: '1 day', - dd: '%d days', - M: '1 month', - MM: '%d months', - y: '1 year', - yy: '%d years' - } -}); - -function convertToLocalTimezone(timestamp) { - // alert(timestamp) - const localTimezone = jstz.determine().name(); - const serverTimezone = 'Europe/Berlin'; // GMT+1 - // const serverTimezone = 'Africa/Lagos'; // GMT+1 - - // (the timestamp is in ISO 8601 format and its trailing Z means that it's in UTC ) - // 2020-03-05T15:40:38.000Z - - let initialTimestamp = timestamp; - // if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { - if (moment(initialTimestamp, moment.ISO_8601, true).isValid()) { - // alert(initialTimestamp.replace('Z','')) - // alert(moment(initialTimestamp).format('Z')) - let convertedToLocalTimezone = moment - // .tz(initialTimestamp, moment.ISO_8601, serverTimezone) - // .tz(initialTimestamp, moment.ISO_8601, 'UTC') - // (initialTimestamp, moment.ISO_8601) - (initialTimestamp.replace('Z','') + "-05:00", 'YYYY-MM-DDTHH:mm:ssZ') - // .tz('UTC+5') - // .tz('America/Sao_Paulo') - // .tz('America/Danmarkshavn') - // .tz(initialTimestamp, 'YYYY-MM-DDTHH:mm:ssZ', serverTimezone) - // .tz(initialTimestamp, moment.ISO_8601) - .tz(localTimezone); - console.log('convertedToLocalTimezone :' + convertedToLocalTimezone.format()) - publishedTimeLTZ = convertedToLocalTimezone.fromNow(); - // alert(publishedTimeLTZ) - let format = 'YYYY-MM-DD HH:mm:ss'; - publishedTimeLTZtitle = convertedToLocalTimezone.format(format); - // alert(publishedTimeLTZtitle) - } -} - -function recalc(timestamp, format, notitle) { - // repeat every 1 minute - setInterval(function() { - if (timestamp && moment(timestamp.title, format, true).isValid()) { - timestamp.textContent = moment(timestamp.title).fromNow(); - } else if (notitle === true) { - timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); - } - }, 1 * 60 * 1000); -} - - -if ( - window.location.href === 'https://www.blabbermouth.net/' || - window.location.href === 'https://www.blabbermouth.net/news' || - window.location.href.startsWith('https://www.blabbermouth.net/news/page') -) { - var allTimestamps = document.querySelectorAll('.date-time'); - // February 22, 2020 - allTimestamps.forEach(function(item) { - var initial = item.innerText.trim(); - var now = moment(); - // diff() - The supported measurements are: years, months, weeks, days - var interval = now.diff(moment(item.innerText.trim()), 'days'); - if (interval === 0) { - item.innerText = 'Today'; - } else if (interval < 7) { - item.innerText = interval + ' days ago'; - } else if (interval < 30) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; - } else if (interval < 365) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'months') + - ' months ago'; - } else { - item.innerText = - now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; - } - if ( - interval === 1 || - interval === 7 || - interval === 30 || - interval === 365 - ) { - item.innerText = item.innerText.replace('s ', ' '); - } - item.title = initial; - }); -} else if (window.location.href.includes('blabbermouth.net/news/')) { - if ( - document.querySelector('meta[property="article:published_time"]') !== - null - ) { - var publishedTimestamp = document.querySelector( - 'meta[property="article:published_time"]' - ).content; - } - - - console.log('publishedTimestamp: ' + publishedTimestamp); - - var publishedTimeLTZ, publishedTimeLTZtitle; - - convertToLocalTimezone(publishedTimestamp); - - document.querySelector('.date-time').textContent = publishedTimeLTZ; - document.querySelector('.date-time').title = publishedTimeLTZtitle; -} else if ( - (window.location.href.includes('blabbermouth.net/cdreviews/') || - window.location.href.includes('blabbermouth.net/dvdreviews/')) && - !window.location.href.includes('/page/') -) { - //--- Double-check that this iframe is on the expected domain: - if (/blabbermouth\.net/i.test(location.host)) { - console.log('Userscript is in the MAIN page.'); - - // 2019-10-17T15:32:18.000Z - - if ( - document.querySelector( - 'meta[property="article:published_time"]' - ) !== null - ) { - publishedTimestamp = document.querySelector( - 'meta[property="article:published_time"]' - ).content; - } - - console.log(publishedTimestamp); - - var currentURL = window.location.href; - - convertToLocalTimezone(publishedTimestamp); - - var commentcount = ''; - - var HTML = ` - -`; - - if (document.querySelector('.entry-content') !== null) { - document - .querySelector('.entry-content') - .insertAdjacentHTML('beforebegin', HTML); - document.querySelector('.date-time').title = publishedTimeLTZtitle; - - let newDateTimeElement = document.querySelector('.date-time'); - recalc(newDateTimeElement, 'YYYY-MM-DD HH:mm:ss'); - } - - // Wait fof messages (from iframe) - window.addEventListener( - 'message', - function addFbCounter(e) { - // something from an unknown domain, or doesn't contain the string "Comment" let's ignore it - if (e.origin != 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { - return; - } - console.log("Received message: " + e.data); - document.querySelector( - '#main > article > p > span.date-comments > a:nth-child(1)' - ).innerText = e.data.replace(/\ Comments?/i,''); - window.removeEventListener('message', addFbCounter); - }, - false - ); - console.log('Waiting for Message 1, from iframe...'); - } -} else if (window.location.href.includes('facebook.com')) { - - console.log('Userscript is in the FRAMED page.'); - - var selector = '._50f7'; - window.parent.postMessage( - document.querySelector(selector).innerText, - 'https://www.blabbermouth.net/cdreviews/' - ); -} diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js deleted file mode 100644 index fda1e18..0000000 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user - Copy.js +++ /dev/null @@ -1,202 +0,0 @@ -// ==UserScript== -// @name Blabbermouth - generate timestamps and add link to the fb comments area -// @namespace darkred -// @version 1 -// @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area -// @author darkred -// @license MIT -// @include https://www.blabbermouth.net/ -// @include https://www.blabbermouth.net/news* -// @include https://www.blabbermouth.net/cdreviews* -// @include https://www.blabbermouth.net/dvdreviews* -// @include https://www.facebook.com/plugins/feedback.php* -// @grant none -// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js -// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js -// ==/UserScript== - - -/* global jstz, moment */ -'use strict'; - - -// Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) -moment.updateLocale('en', { - relativeTime: { - future: 'in %s', - past: '%s ago', - s: 'seconds', - m: '1 minute', - mm: '%d minutes', - h: '1 hour', - hh: '%d hours', - d: '1 day', - dd: '%d days', - M: '1 month', - MM: '%d months', - y: '1 year', - yy: '%d years' - } -}); - -function convertToLocalTimezone(timestamp) { - const localTimezone = jstz.determine().name(); - const serverTimezone = 'Europe/Berlin'; // GMT+1 - - let initialTimestamp = timestamp; - let convertedToLocalTimezone = moment - .tz(initialTimestamp, serverTimezone) - .tz(localTimezone); - publishedTimeLTZ = convertedToLocalTimezone.fromNow(); - let format = 'YYYY-MM-DD HH:mm:ss'; - publishedTimeLTZtitle = convertedToLocalTimezone.format(format); -} - -function recalc(timestamp, format, notitle) { - // repeat every 1 minute - setInterval(function() { - if (timestamp && moment(timestamp.title, format, true).isValid()) { - timestamp.textContent = moment(timestamp.title).fromNow(); - } else if (notitle === true) { - timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); - } - }, 1 * 60 * 1000); -} - - -if ( - window.location.href === 'https://www.blabbermouth.net/' || - window.location.href === 'https://www.blabbermouth.net/news' || - window.location.href.startsWith('https://www.blabbermouth.net/news/page') -) { - var allTimestamps = document.querySelectorAll('.date-time'); - // February 22, 2020 - allTimestamps.forEach(function(item) { - var initial = item.innerText.trim(); - var now = moment(); - // diff() - The supported measurements are: years, months, weeks, days - var interval = now.diff(moment(item.innerText.trim()), 'days'); - if (interval === 0) { - item.innerText = 'Today'; - } else if (interval < 7) { - item.innerText = interval + ' days ago'; - } else if (interval < 30) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; - } else if (interval < 365) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'months') + - ' months ago'; - } else { - item.innerText = - now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; - } - if ( - interval === 1 || - interval === 7 || - interval === 30 || - interval === 365 - ) { - item.innerText = item.innerText.replace('s ', ' '); - } - item.title = initial; - }); -} else if (window.location.href.includes('blabbermouth.net/news/')) { - if ( - document.querySelector('meta[property="article:published_time"]') !== - null - ) { - var publishedTimestamp = document.querySelector( - 'meta[property="article:published_time"]' - ).content; - } - - - console.log(publishedTimestamp); - - var publishedTimeLTZ, publishedTimeLTZtitle; - - convertToLocalTimezone(publishedTimestamp); - - document.querySelector('.date-time').textContent = publishedTimeLTZ; - document.querySelector('.date-time').title = publishedTimeLTZtitle; -} else if ( - (window.location.href.includes('blabbermouth.net/cdreviews') || - window.location.href.includes('blabbermouth.net/dvdreviews')) && - !window.location.href.includes('/page/') -) { - //--- Double-check that this iframe is on the expected domain: - if (/blabbermouth\.net/i.test(location.host)) { - console.log('Userscript is in the MAIN page.'); - - // 2019-10-17T15:32:18.000Z - - if ( - document.querySelector( - 'meta[property="article:published_time"]' - ) !== null - ) { - publishedTimestamp = document.querySelector( - 'meta[property="article:published_time"]' - ).content; - } - - console.log(publishedTimestamp); - - var currentURL = window.location.href; - - convertToLocalTimezone(publishedTimestamp); - - var commentcount = ''; - - var HTML = ` - -`; - - if (document.querySelector('.entry-content') !== null) { - document - .querySelector('.entry-content') - .insertAdjacentHTML('beforebegin', HTML); - document.querySelector('.date-time').title = publishedTimeLTZtitle; - - let newDateTimeElement = document.querySelector('.date-time'); - recalc(newDateTimeElement, 'YYYY-MM-DD HH:mm:ss'); - } - - // Wait fof messages (from iframe) - window.addEventListener( - 'message', - function addFbCounter(e) { - // something from an unknown domain, or doesn't contain the string "Comment" let's ignore it - if (e.origin != 'https://www.facebook.com' || e.data.indexOf(' Comment') === -1) { - return; - } - console.log("Received message: " + e.data); - document.querySelector( - '#main > article > p > span.date-comments > a:nth-child(1)' - ).innerText = e.data.replace(/\ Comments?/i,''); - window.removeEventListener('message', addFbCounter); - }, - false - ); - console.log('Waiting for Message 1, from iframe...'); - } -} else if (window.location.href.includes('facebook.com')) { - - console.log('Userscript is in the FRAMED page.'); - - var selector = '._50f7'; - window.parent.postMessage( - document.querySelector(selector).innerText, - 'https://www.blabbermouth.net/cdreviews/' - ); -} diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js index 2216145..48d99cd 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Blabbermouth - generate timestamps and add link to the fb comments area // @namespace darkred -// @version 1.0.1 +// @version 1.0.2 // @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area // @author darkred // @license MIT @@ -12,12 +12,10 @@ // @include https://www.facebook.com/plugins/feedback.php* // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.28/moment-timezone-with-data-1970-2030.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js // ==/UserScript== -/* global jstz, moment */ +/* global moment */ 'use strict'; @@ -41,13 +39,12 @@ moment.updateLocale('en', { }); function convertToLocalTimezone(timestamp) { - const localTimezone = jstz.determine().name(); // (the timestamp is in ISO 8601 format and its trailing Z means that it's in UTC ) // 2020-03-05T15:40:38.000Z let initialTimestamp = timestamp; if (moment(initialTimestamp, moment.ISO_8601, true).isValid()) { - let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ') // the server's timezone is GMT-5 - .tz(localTimezone); + // let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 + let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-04:54', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 (6 min less, according to the relevant post timestamps in both Twitter and FB blabbbermouth pages) publishedTimeLTZ = convertedToLocalTimezone.fromNow(); let format = 'YYYY-MM-DD HH:mm:ss'; publishedTimeLTZtitle = convertedToLocalTimezone.format(format); diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index b3bac72..8295b49 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -1,19 +1,17 @@ // ==UserScript== // @name RARBG - convert torrent timestamps to relative format // @namespace darkred -// @version 2020.02.02 +// @version 2020.03.06 // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT // @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none -// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js -// @require https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.6/moment-timezone-with-data-2010-2020.js -// @require https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.6/jstz.min.js +// @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js // ==/UserScript== -/* global jstz, moment */ +/* global moment */ // Customize the strings in the locale to display "1 minute ago" instead of "a minute ago" (https://github.com/moment/moment/issues/3764#issuecomment-279928245) moment.updateLocale('en', { @@ -36,13 +34,11 @@ moment.updateLocale('en', { function convertToLocalTimezone(timestamps) { - const localTimezone = jstz.determine().name(); - const serverTimezone = 'Europe/Berlin'; // GMT+1 for (let i = 0; i < timestamps.length; i++) { let initialTimestamp = timestamps[i].textContent; // if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss').isValid()) { if (moment(initialTimestamp, 'YYYY-MM-DD HH:mm:ss', true).isValid()) { // As of moment.js v2.3.0, you may specify a boolean for the last argument to make Moment use strict parsing. Strict parsing requires that the format and input match exactly, including delimeters. - let convertedToLocalTimezone = moment.tz(initialTimestamp, serverTimezone).tz(localTimezone); + let convertedToLocalTimezone = moment(initialTimestamp + '+01:00', 'YYYY-MM-DD HH:mm:ss Z'); // The server time is GMT+1 timestamps[i].textContent = convertedToLocalTimezone.fromNow(); // let format = 'MM/DD/YYYY HH:mm:ss'; let format = 'YYYY-MM-DD HH:mm:ss'; From ec7a2b5f46514d6e058096e83763bee86c291422 Mon Sep 17 00:00:00 2001 From: darkred Date: Fri, 6 Mar 2020 23:59:50 +0200 Subject: [PATCH 178/439] Update Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js --- ...rate_timestamps_and_add_link_to_the_FB_comments_area.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js index 48d99cd..2175221 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js @@ -44,7 +44,7 @@ function convertToLocalTimezone(timestamp) { let initialTimestamp = timestamp; if (moment(initialTimestamp, moment.ISO_8601, true).isValid()) { // let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 - let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-04:54', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 (6 min less, according to the relevant post timestamps in both Twitter and FB blabbbermouth pages) + let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-04:54', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 (6 min less, according to the relevant post timestamps in both https://www.facebook.com/Blabbermouth.net and https://twitter.com/BLABBERMOUTHNET publishedTimeLTZ = convertedToLocalTimezone.fromNow(); let format = 'YYYY-MM-DD HH:mm:ss'; publishedTimeLTZtitle = convertedToLocalTimezone.format(format); From ebf162282e0c379c4d427563e8211a465c4406b3 Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 15 Mar 2020 22:40:43 +0200 Subject: [PATCH 179/439] (Blabbermouth - generate timestamps and add link to the fb comments area) Now generate timestamps in news listings too, replacing the existing date-only ones --- ...d_add_link_to_the_FB_comments_area.user.js | 105 +++++++++++------- .../README.md | 19 ++-- 2 files changed, 72 insertions(+), 52 deletions(-) diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js index 2175221..228c925 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js @@ -1,8 +1,8 @@ // ==UserScript== // @name Blabbermouth - generate timestamps and add link to the fb comments area // @namespace darkred -// @version 1.0.2 -// @description (blabbermouth cd/dvd reviews and news pages) generates the missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area +// @version 1.1 +// @description Generates missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area // @author darkred // @license MIT // @include https://www.blabbermouth.net/ @@ -43,23 +43,22 @@ function convertToLocalTimezone(timestamp) { // 2020-03-05T15:40:38.000Z let initialTimestamp = timestamp; if (moment(initialTimestamp, moment.ISO_8601, true).isValid()) { - // let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 - let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-04:54', 'YYYY-MM-DDTHH:mm:ssZ'); // The server's timezone is GMT-5 (6 min less, according to the relevant post timestamps in both https://www.facebook.com/Blabbermouth.net and https://twitter.com/BLABBERMOUTHNET + // let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-05:00', 'YYYY-MM-DDTHH:mm:ssZ'); // the server's timezone is GMT-5 + let convertedToLocalTimezone = moment(initialTimestamp.replace('Z','') + '-03:54', 'YYYY-MM-DDTHH:mm:ssZ'); // the server's timezone is GMT-4 (6 min less, in order to sync with the relevant post timestamps in both Twitter and FB blabbbermouth pages) publishedTimeLTZ = convertedToLocalTimezone.fromNow(); let format = 'YYYY-MM-DD HH:mm:ss'; publishedTimeLTZtitle = convertedToLocalTimezone.format(format); } } -function recalc(timestamp, format, notitle) { - // repeat every 1 minute +function recalc(existingTimestampElement, format, notitle) { setInterval(function() { - if (timestamp && moment(timestamp.title, format, true).isValid()) { - timestamp.textContent = moment(timestamp.title).fromNow(); + if (existingTimestampElement && moment(existingTimestampElement.title, format, true).isValid()) { + existingTimestampElement.textContent = moment(existingTimestampElement.title).fromNow(); } else if (notitle === true) { - timestamp.innerText = moment(timestamp.innerText.trim()).fromNow(); + existingTimestampElement.innerText = moment(existingTimestampElement.innerText.trim()).fromNow(); } - }, 1 * 60 * 1000); + }, 1 * 60 * 1000); // repeat every 1 minute } @@ -68,38 +67,52 @@ if ( window.location.href === 'https://www.blabbermouth.net/news' || window.location.href.startsWith('https://www.blabbermouth.net/news/page') ) { - var allTimestamps = document.querySelectorAll('.date-time'); - // February 22, 2020 - allTimestamps.forEach(function(item) { - var initial = item.innerText.trim(); - var now = moment(); - // diff() - The supported measurements are: years, months, weeks, days - var interval = now.diff(moment(item.innerText.trim()), 'days'); - if (interval === 0) { - item.innerText = 'Today'; - } else if (interval < 7) { - item.innerText = interval + ' days ago'; - } else if (interval < 30) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'weeks') + ' weeks ago'; - } else if (interval < 365) { - item.innerText = - now.diff(moment(item.innerText.trim()), 'months') + - ' months ago'; - } else { - item.innerText = - now.diff(moment(item.innerText.trim()), 'years') + ' years ago'; - } - if ( - interval === 1 || - interval === 7 || - interval === 30 || - interval === 365 - ) { - item.innerText = item.innerText.replace('s ', ' '); - } - item.title = initial; + + let options = { + root: null, + rootMargin: '0px', + threshold: 0 + }; + + let callback = (entries, observer) => { + entries.forEach(entry => { + if (entry.isIntersecting && !entry.target.classList.contains('in-viewport') ) { + entry.target.classList.add('in-viewport'); + + var xhr = new XMLHttpRequest(); + var url = entry.target.parentElement.parentElement.firstElementChild.firstElementChild.href; + xhr.open('GET', url, true); // XMLHttpRequest.open(method, url, async) + xhr.onload = function () { + + let container = document.implementation.createHTMLDocument().documentElement; + container.innerHTML = xhr.responseText; + + let publishedTimestamp = container.querySelector( + 'meta[property="article:published_time"]' + ).content; + + convertToLocalTimezone(publishedTimestamp); + + entry.target.textContent = publishedTimeLTZ; + entry.target.title = publishedTimeLTZtitle; + + recalc(entry.target, 'YYYY-MM-DD HH:mm:ss'); + + }; + xhr.send(); + + } + }); + }; + + let observer = new IntersectionObserver(callback, options); + + var allTimestamps = document.querySelectorAll('span.date-time'); + allTimestamps.forEach((element) => { + observer.observe(element); }); + + } else if (window.location.href.includes('blabbermouth.net/news/')) { if ( document.querySelector('meta[property="article:published_time"]') !== @@ -117,8 +130,14 @@ if ( convertToLocalTimezone(publishedTimestamp); - document.querySelector('.date-time').textContent = publishedTimeLTZ; - document.querySelector('.date-time').title = publishedTimeLTZtitle; + let existingTimestampElement = document.querySelector('.date-time'); + + existingTimestampElement.textContent = publishedTimeLTZ; + existingTimestampElement.title = publishedTimeLTZtitle; + + recalc(existingTimestampElement, 'YYYY-MM-DD HH:mm:ss'); + + } else if ( (window.location.href.includes('blabbermouth.net/cdreviews/') || window.location.href.includes('blabbermouth.net/dvdreviews/')) && diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md index 0cb627d..2b79b86 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md @@ -1,33 +1,34 @@ This script applies to blabbermouth.net. -Blabbermouth only displays timestamps in news listings and pages. **It doesn't display timestamps in cd/dvd reviews pages.** -The script implements that. +Blabbermouth only displays timestamps (just the date) in news listings and pages. +**It doesn't display timestamps in cd/dvd reviews pages at all.** +The script generates timestamps in relative format, in all cases. In details: -- in **cd/dvd reviews** pages: +- in **news** and **cd/dvd reviews** pages: It generates timestamps *(making use of the existing `published_time` data from inside the pages, e.g. `2020-02-20T19:10:22.000Z`)* -to relative format in local timezone. Also, it recalculates them every 1 minute. +in relative format. Also, it recalculates them every 1 minute. It also shows a link to the Facebook comments next to the generated timestamp, with **the comment count from that fb iframe** 1 (i.e. `6 Comments`, not just "Comments" ). -- in **news** pages and listings: +- in **news** listings: - it converts the existing timestamps to releative format. + As you scroll down each page, it retrieves the relevant target news page in the background in order to get the relevant `published_time` data from the page, and then generates timestamps (like before) in relative format.   1 Compatibility note regarding that feature: -- Violentmonkey: the script works in ok with default VM settings. -- Tampermonkey: `*://www.facebook.com/plugins/*` is blacklisted in TM by default. in order the script to work, you have to remove that pattern from TM blacklist. +- Violentmonkey: the script works in ok with VM in its default settings. +- Tampermonkey: in order to work with TM, you have to remove the `*://www.facebook.com/plugins/*` pattern from TM blacklist (it's blacklisted in TM settings by default). - Greasemonkey: not supported. --- -The script uses [moment.js](http://momentjs.com/), [moment-timezone.js](http://momentjs.com/timezone/) and [jsTimezoneDetect](https://bitbucket.org/pellepim/jstimezonedetect) +The script uses [moment.js](http://momentjs.com/). [Hosted in GitHub](https://github.com/darkred/Userscripts) From 888c1db7cd11961855832d96bddb2688e2dfc3a3 Mon Sep 17 00:00:00 2001 From: darkred Date: Thu, 19 Mar 2020 22:11:58 +0200 Subject: [PATCH 180/439] (Blabbermouth - generate timestamps and add link to the fb comments area) Improved and combinded the include rules, replacing them with regexes. --- ...amps_and_add_link_to_the_FB_comments_area.user.js | 12 +++++------- .../README.md | 1 + 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js index 228c925..4e7e929 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area.user.js @@ -5,10 +5,8 @@ // @description Generates missing timestamps or converts the existing ones in relative format, and adds link to the fb comments area // @author darkred // @license MIT -// @include https://www.blabbermouth.net/ -// @include https://www.blabbermouth.net/news* -// @include https://www.blabbermouth.net/cdreviews* -// @include https://www.blabbermouth.net/dvdreviews* +// @include /^(https?:)?\/\/(www\.)?blabbermouth\.net\/(news|cdreviews|dvdreviews)?/ +// @exclude /^(https?:)?\/\/(www\.)?blabbermouth\.net\/(cdreviews|dvdreviews)(\/page|$)/ // @include https://www.facebook.com/plugins/feedback.php* // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js @@ -63,9 +61,9 @@ function recalc(existingTimestampElement, format, notitle) { if ( - window.location.href === 'https://www.blabbermouth.net/' || - window.location.href === 'https://www.blabbermouth.net/news' || - window.location.href.startsWith('https://www.blabbermouth.net/news/page') + window.location.href.endsWith('blabbermouth.net/') || + window.location.href.endsWith('blabbermouth.net/news') || + window.location.href.includes('blabbermouth.net/news/page/') ) { let options = { diff --git a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md index 2b79b86..daec69d 100644 --- a/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md +++ b/Blabbermouth_-_generate_timestamps_and_add_link_to_the_FB_comments_area/README.md @@ -10,6 +10,7 @@ In details: It generates timestamps *(making use of the existing `published_time` data from inside the pages, e.g. `2020-02-20T19:10:22.000Z`)* in relative format. Also, it recalculates them every 1 minute. +_(the initial retrieved timestamps -converted to local timezone's offset- are tooltips: just hover mouse on a relative date to view)_ It also shows a link to the Facebook comments next to the generated timestamp, with **the comment count from that fb iframe** 1 (i.e. `6 Comments`, not just "Comments" ). From d915f4e91ae3316e1f8db981d231f5eafc1907ef Mon Sep 17 00:00:00 2001 From: darkred Date: Sun, 22 Mar 2020 12:34:57 +0200 Subject: [PATCH 181/439] (all RARBG scripts) - added new mirror: rarbgcdn.org (thanks to 'fixed') - deleted no longer included files --- ...rent_timestamps_to_relative_format.user.js | 2 +- .../jstz.min.js | 2 - .../moment-timezone-with-data.min.js | 7 -- .../moment-with-locales.min.js | 80 ------------------- .../moment.min.js | 1 + .../RARBG_-_torrent_and_magnet_links.user.js | 2 +- .../jquery-3.1.1.min.js | 4 - .../RARBG_-_various_tweaks.user.js | 2 +- 8 files changed, 4 insertions(+), 96 deletions(-) delete mode 100644 RARBG_-_convert_torrent_timestamps_to_relative_format/jstz.min.js delete mode 100644 RARBG_-_convert_torrent_timestamps_to_relative_format/moment-timezone-with-data.min.js delete mode 100644 RARBG_-_convert_torrent_timestamps_to_relative_format/moment-with-locales.min.js create mode 100644 RARBG_-_convert_torrent_timestamps_to_relative_format/moment.min.js delete mode 100644 RARBG_-_torrent_and_magnet_links/jquery-3.1.1.min.js diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js index 8295b49..c81cc9b 100644 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/RARBG_-_convert_torrent_timestamps_to_relative_format.user.js @@ -5,7 +5,7 @@ // @description Converts torrent upload timestamps to relative format // @author darkred // @license MIT -// @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ +// @include /^(https?:)?\/\/(www\.)?(proxy|unblocked)?rarbg((2018|2019|2020|2021)?|access(ed)?|cdn|core|data|enter|get|go|index|mirror(ed)?|p2p|prox(ied|ies|y)|prx|to(r|rrents)?|unblock(ed)?|way|web)\.(to|com|org|is)\/(torrents\.php.*|catalog\/.*|tv\/.*|top10)$/ // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js // ==/UserScript== diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/jstz.min.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/jstz.min.js deleted file mode 100644 index a6be0f6..0000000 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/jstz.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* jstz.min.js Version: 1.0.6 Build date: 2015-11-04 */ -!function(e){var a=function(){"use strict";var e="s",s={DAY:864e5,HOUR:36e5,MINUTE:6e4,SECOND:1e3,BASELINE_YEAR:2014,MAX_SCORE:864e6,AMBIGUITIES:{"America/Denver":["America/Mazatlan"],"Europe/London":["Africa/Casablanca"],"America/Chicago":["America/Mexico_City"],"America/Asuncion":["America/Campo_Grande","America/Santiago"],"America/Montevideo":["America/Sao_Paulo","America/Santiago"],"Asia/Beirut":["Asia/Amman","Asia/Jerusalem","Europe/Helsinki","Asia/Damascus","Africa/Cairo","Asia/Gaza","Europe/Minsk"],"Pacific/Auckland":["Pacific/Fiji"],"America/Los_Angeles":["America/Santa_Isabel"],"America/New_York":["America/Havana"],"America/Halifax":["America/Goose_Bay"],"America/Godthab":["America/Miquelon"],"Asia/Dubai":["Asia/Yerevan"],"Asia/Jakarta":["Asia/Krasnoyarsk"],"Asia/Shanghai":["Asia/Irkutsk","Australia/Perth"],"Australia/Sydney":["Australia/Lord_Howe"],"Asia/Tokyo":["Asia/Yakutsk"],"Asia/Dhaka":["Asia/Omsk"],"Asia/Baku":["Asia/Yerevan"],"Australia/Brisbane":["Asia/Vladivostok"],"Pacific/Noumea":["Asia/Vladivostok"],"Pacific/Majuro":["Asia/Kamchatka","Pacific/Fiji"],"Pacific/Tongatapu":["Pacific/Apia"],"Asia/Baghdad":["Europe/Minsk","Europe/Moscow"],"Asia/Karachi":["Asia/Yekaterinburg"],"Africa/Johannesburg":["Asia/Gaza","Africa/Cairo"]}},i=function(e){var a=-e.getTimezoneOffset();return null!==a?a:0},r=function(){var a=i(new Date(s.BASELINE_YEAR,0,2)),r=i(new Date(s.BASELINE_YEAR,5,2)),n=a-r;return 0>n?a+",1":n>0?r+",1,"+e:a+",0"},n=function(){var e,a;if("undefined"!=typeof Intl&&"undefined"!=typeof Intl.DateTimeFormat&&(e=Intl.DateTimeFormat(),"undefined"!=typeof e&&"undefined"!=typeof e.resolvedOptions))return a=e.resolvedOptions().timeZone,a&&(a.indexOf("/")>-1||"UTC"===a)?a:void 0},o=function(e){for(var a=new Date(e,0,1,0,0,1,0).getTime(),s=new Date(e,12,31,23,59,59).getTime(),i=a,r=new Date(i).getTimezoneOffset(),n=null,o=null;s-864e5>i;){var t=new Date(i),A=t.getTimezoneOffset();A!==r&&(r>A&&(n=t),A>r&&(o=t),r=A),i+=864e5}return n&&o?{s:u(n).getTime(),e:u(o).getTime()}:!1},u=function l(e,a,i){"undefined"==typeof a&&(a=s.DAY,i=s.HOUR);for(var r=new Date(e.getTime()-a).getTime(),n=e.getTime()+a,o=new Date(r).getTimezoneOffset(),u=r,t=null;n-i>u;){var A=new Date(u),c=A.getTimezoneOffset();if(c!==o){t=A;break}u+=i}return a===s.DAY?l(t,s.HOUR,s.MINUTE):a===s.HOUR?l(t,s.MINUTE,s.SECOND):t},t=function(e,a,s,i){if("N/A"!==s)return s;if("Asia/Beirut"===a){if("Africa/Cairo"===i.name&&13983768e5===e[6].s&&14116788e5===e[6].e)return 0;if("Asia/Jerusalem"===i.name&&13959648e5===e[6].s&&14118588e5===e[6].e)return 0}else if("America/Santiago"===a){if("America/Asuncion"===i.name&&14124816e5===e[6].s&&1397358e6===e[6].e)return 0;if("America/Campo_Grande"===i.name&&14136912e5===e[6].s&&13925196e5===e[6].e)return 0}else if("America/Montevideo"===a){if("America/Sao_Paulo"===i.name&&14136876e5===e[6].s&&1392516e6===e[6].e)return 0}else if("Pacific/Auckland"===a&&"Pacific/Fiji"===i.name&&14142456e5===e[6].s&&13961016e5===e[6].e)return 0;return s},A=function(e,i){for(var r=function(a){for(var r=0,n=0;n=a.rules[n].s&&e[n].e<=a.rules[n].e)){r="N/A";break}if(r=0,r+=Math.abs(e[n].s-a.rules[n].s),r+=Math.abs(a.rules[n].e-e[n].e),r>s.MAX_SCORE){r="N/A";break}}return r=t(e,i,r,a)},n={},o=a.olson.dst_rules.zones,u=o.length,A=s.AMBIGUITIES[i],c=0;u>c;c++){var m=o[c],l=r(o[c]);"N/A"!==l&&(n[m.name]=l)}for(var f in n)if(n.hasOwnProperty(f))for(var d=0;d96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;dc;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;cz||2===z&&6>A)&&q("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;be;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],c>b&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),fz||2===z&&9>A)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.toString.call(C)?(C.push("_z"),C.push("_a")):C&&(C._z=null),n({version:"2015g",zones:["Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q","Africa/Accra|LMT GMT GHST|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE","Africa/Addis_Ababa|LMT EAT BEAT BEAUT|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ","Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0","Africa/Bangui|LMT WAT|-d.A -10|01|-22y0d.A","Africa/Bissau|LMT WAT GMT|12.k 10 0|012|-2ldWV.E 2xonV.E","Africa/Blantyre|LMT CAT|-2a.k -20|01|-2GJea.k","Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0","Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0","Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1y7p0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Africa/El_Aaiun|LMT WAT WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0","Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0","Africa/Juba|LMT CAT CAST EAT|-2a.8 -20 -30 -30|01212121212121212121212121212121213|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0","Africa/Monrovia|MMT LRT GMT|H.8 I.u 0|012|-23Lzg.Q 29s01.m","Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0","Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00","Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00","Africa/Windhoek|SWAT SAST SAST CAT WAT WAST|-1u -20 -30 -20 -10 -20|012134545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2GJdu 1Ajdu 1cL0 1SqL0 9NA0 11D0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0","America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Anchorage|CAT CAWT CAPT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Anguilla|LMT AST|46.4 40|01|-2kNvR.U","America/Araguaina|LMT BRT BRST|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0","America/Argentina/Buenos_Aires|CMT ART ARST ART ARST|4g.M 40 30 30 20|0121212121212121212121212121212121212121213434343434343234343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 j3c0 uL0 1qN0 WL0","America/Argentina/Catamarca|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343454343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Cordoba|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343454343234343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 j3c0 uL0 1qN0 WL0","America/Argentina/Jujuy|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|01212121212121212121212121212121212121212134343456543432343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 g0p0 10M0 j3c0 uL0","America/Argentina/La_Rioja|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434534343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Mendoza|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|0121212121212121212121212121212121212121213434345656543235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 g0p0 10M0 agM0 Op0 7TX0 uL0","America/Argentina/Rio_Gallegos|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343434343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 ako0 7B0 8zb0 uL0","America/Argentina/Salta|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434543432343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 j3c0 uL0","America/Argentina/San_Juan|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|01212121212121212121212121212121212121212134343434534343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 g0p0 10M0 ak00 m10 8lb0 uL0","America/Argentina/San_Luis|CMT ART ARST ART ARST WART WARST|4g.M 40 30 30 20 40 30|01212121212121212121212121212121212121212134343456536353465653|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 kin0 10M0 ak00 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0","America/Argentina/Tucuman|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|012121212121212121212121212121212121212121343434345434323534343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 g0p0 10M0 ako0 4N0 8BX0 uL0 1qN0 WL0","America/Argentina/Ushuaia|CMT ART ARST ART ARST WART|4g.M 40 30 30 20 40|0121212121212121212121212121212121212121213434343434343235343|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 g0p0 10M0 ajA0 8p0 8zb0 uL0","America/Aruba|LMT ANT AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d","America/Asuncion|AMT PYT PYT PYST|3O.E 40 30 30|012131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0","America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0","America/Bahia|LMT BRT BRST|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0","America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0","America/Belem|LMT BRT BRST|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0","America/Belize|LMT CST CHDT CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0","America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0","America/Boa_Vista|LMT AMT AMST|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0","America/Bogota|BMT COT COST|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0","America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Cambridge_Bay|zzz MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Campo_Grande|LMT AMT AMST|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0","America/Caracas|CMT VET VET|4r.E 4u 40|0121|-2kV7w.k 28KM2.k 1IwOu","America/Cayenne|LMT GFT GFT|3t.k 40 30|012|-2mrwu.E 2gWou.E","America/Cayman|KMT EST EDT|57.b 50 40|0121212121212121212121212121212121212121212121|-2l1uQ.N 4duNQ.N 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0","America/Creston|MST PST|70 80|010|-29DR0 43B0","America/Cuiaba|LMT AMT AMST|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Danmarkshavn|LMT WGT WGST GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0","America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0","America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|01234252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 Jy10 SL0 dnB0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Eirunepe|LMT ACT ACST AMT|4D.s 50 40 40|0121212121212121212121212121212131|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0","America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0","America/Ensenada|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOP0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0","America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Fortaleza|LMT BRT BRST|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0","America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Godthab|LMT WGT WGST|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Grand_Turk|KMT EST EDT AST|57.b 50 40 40|0121212121212121212121212121212121212121212121212121212121212121212121212123|-2l1uQ.N 2HHBQ.N 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0","America/Guayaquil|QMT ECT|5e 50|01|-1yVSK","America/Guyana|LMT GBGT GYT GYT GYT|3Q.E 3J 3J 30 40|01234|-2dvU7.k 24JzQ.k mlc0 Bxbf","America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0","America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0","America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Inuvik|zzz PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Iqaluit|zzz EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Jamaica|KMT EST EDT|57.b 50 40|0121212121212121212121|-2l1uQ.N 2uM1Q.N 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0","America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/La_Paz|CMT BOST BOT|4w.A 3w.A 40|012|-1x37r.o 13b0","America/Lima|LMT PET PEST|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0","America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp0 1Vb0 3dB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Maceio|LMT BRT BRST|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0","America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0","America/Manaus|LMT AMT AMST|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0","America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0","America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Metlakatla|PST PWT PPT PDT|80 70 70 70|0120303030303030303030303030303030|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0","America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Miquelon|LMT AST PMST PMDT|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Montevideo|MMT UYT UYHST UYST UYT UYHST|3I.I 3u 30 20 30 2u|012121212121212121212121213434343434345454543453434343434343434343434343434343434343434|-20UIf.g 8jzJ.g 1cLu 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1qMu WLu 1qMu 11zu 1o0u 11zu NAu 11bu 2iMu zWu Dq10 19X0 pd0 jz0 cm10 19X0 1fB0 1on0 11d0 1oL0 1nB0 1fzu 1aou 1fzu 1aou 1fzu 3nAu Jb0 3MN0 1SLu 4jzu 2PB0 Lb0 3Dd0 1pb0 ixd0 An0 1MN0 An0 1wp0 On0 1wp0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0","America/Montreal|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Noronha|LMT FNT FNST|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0","America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Panama|CMT EST|5j.A 50|01|-2uduE.o","America/Pangnirtung|zzz AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Paramaribo|LMT PMT PMT NEGT SRT SRT|3E.E 3E.Q 3E.A 3u 3u 30|012345|-2nDUj.k Wqo0.c qanX.I 1dmLN.o lzc0","America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0","America/Port-au-Prince|PPMT EST EDT|4N 50 40|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Porto_Acre|LMT ACT ACST AMT|4v.c 50 40 40|01212121212121212121212121212131|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0","America/Porto_Velho|LMT AMT AMST|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0","America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0","America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Rankin_Inlet|zzz CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Recife|LMT BRT BRST|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0","America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0","America/Resolute|zzz CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Santa_Isabel|LMT MST PST PDT PWT PPT|7D.s 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOP0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0","America/Santarem|LMT AMT AMST BRT|3C.M 40 30 30|0121212121212121212121212121213|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0","America/Santiago|SMT CLT CLT CLST CLST CLT|4G.K 50 40 40 30 30|01020313131313121242124242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424245|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","America/Santo_Domingo|SDMT EST EDT EHDT AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00","America/Sao_Paulo|LMT BRT BRST|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10 Lz0 1C10 On0 1zd0 Rb0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0","America/Scoresbysund|LMT CGT CGST EGST EGT|1r.Q 20 10 0 10|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0","America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0","America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Yellowknife|zzz MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Antarctica/Casey|zzz AWST CAST|0 -80 -b0|012121|-2q00 1DjS0 T90 40P0 KL0","Antarctica/Davis|zzz DAVT DAVT|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0","Antarctica/DumontDUrville|zzz PMT DDUT|0 -a0 -a0|0102|-U0o0 cfq0 bFm0","Antarctica/Macquarie|AEST AEDT zzz MIST|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0","Antarctica/Mawson|zzz MAWT MAWT|0 -60 -50|012|-CEo0 2fyk0","Antarctica/McMurdo|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","Antarctica/Palmer|zzz ARST ART ART ARST CLT CLST CLT|0 30 40 30 20 40 30 30|012121212123435656565656565656565656565656565656565656565656565656565656565656567|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","Antarctica/Rothera|zzz ROTT|0 30|01|gOo0","Antarctica/Syowa|zzz SYOT|0 -30|01|-vs00","Antarctica/Troll|zzz UTC CEST|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Antarctica/Vostok|zzz VOST|0 -60|01|-tjA0","Arctic/Longyearbyen|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Aden|LMT AST|-36.Q -30|01|-TvD6.Q","Asia/Almaty|LMT ALMT ALMT ALMST|-57.M -50 -60 -70|0123232323232323232323232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3Cl0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0","Asia/Anadyr|LMT ANAT ANAT ANAST ANAST ANAST ANAT|-bN.U -c0 -d0 -e0 -d0 -c0 -b0|01232414141414141414141561414141414141414141414141414141414141561|-1PcbN.U eUnN.U 23CL0 1db0 1cN0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Asia/Aqtau|LMT FORT FORT SHET SHET SHEST AQTT AQTST AQTST AQTT|-3l.4 -40 -50 -50 -60 -60 -50 -60 -50 -40|012345353535353535353536767676898989898989898989896|-1Pc3l.4 eUnl.4 1jcL0 JDc0 1cL0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cN0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 RW0","Asia/Aqtobe|LMT AKTT AKTT AKTST AKTT AQTT AQTST|-3M.E -40 -50 -60 -60 -50 -60|01234323232323232323232565656565656565656565656565|-1Pc3M.E eUnM.E 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Ashgabat|LMT ASHT ASHT ASHST ASHST TMT TMT|-3R.w -40 -50 -60 -50 -40 -50|012323232323232323232324156|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 ba0 xC0","Asia/Baghdad|BMT AST ADT|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0","Asia/Bahrain|LMT GST AST|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8","Asia/Baku|LMT BAKT BAKT BAKST BAKST AZST AZT AZT AZST|-3j.o -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245657878787878787878787878787878787878787878787878787878787878787878787878787878787878787|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 10K0 c30 1cJ0 1cL0 8wu0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Bangkok|BMT ICT|-6G.4 -70|01|-218SG.4","Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0","Asia/Bishkek|LMT FRUT FRUT FRUST FRUST KGT KGST KGT|-4W.o -50 -60 -70 -60 -50 -60 -60|01232323232323232323232456565656565656565656565656567|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11c0 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 T8u","Asia/Brunei|LMT BNT BNT|-7D.E -7u -80|012|-1KITD.E gDc9.E","Asia/Calcutta|HMT BURT IST IST|-5R.k -6u -5u -6u|01232|-18LFR.k 1unn.k HB0 7zX0","Asia/Chita|LMT YAKT YAKT YAKST YAKST YAKT IRKT|-7x.Q -80 -90 -a0 -90 -a0 -80|012323232323232323232324123232323232323232323232323232323232323256|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Choibalsan|LMT ULAT ULAT CHOST CHOT CHOT CHOST|-7C -70 -80 -a0 -90 -80 -90|0123434343434343434343434343434343434343434343456565656565656565656565656565656565656565656565|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Chongqing|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0","Asia/Colombo|MMT IST IHST IST LKT LKT|-5j.w -5u -60 -6u -6u -60|01231451|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu","Asia/Dacca|HMT BURT IST DACT BDT BDST|-5R.k -6u -5u -60 -60 -70|01213454|-18LFR.k 1unn.k HB0 m6n0 LqMu 1x6n0 1i00","Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0","Asia/Dili|LMT TLT JST TLT WITA|-8m.k -80 -90 -90 -80|012343|-2le8m.k 1dnXm.k 8HA0 1ew00 Xld0","Asia/Dubai|LMT GST|-3F.c -40|01|-21JfF.c","Asia/Dushanbe|LMT DUST DUST DUSST DUSST TJT|-4z.c -50 -60 -70 -60 -50|0123232323232323232323245|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 14N0","Asia/Gaza|EET EET EEST IST IDT|-20 -30 -30 -20 -30|010101010102020202020202020202023434343434343434343434343430202020202020202020202020202020202020202020202020202020202020202020202020202020202020|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0","Asia/Hebron|EET EET EEST IST IDT|-20 -30 -30 -20 -30|01010101010202020202020202020202343434343434343434343434343020202020202020202020202020202020202020202020202020202020202020202020202020202020202020|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 1210 1nz0 14N0 1nz0 1210 1nz0 1210 1nz0 1210 1nz0","Asia/Ho_Chi_Minh|LMT PLMT ICT IDT JST|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0","Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0","Asia/Hovd|LMT HOVT HOVT HOVST|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Irkutsk|IMT IRKT IRKT IRKST IRKST IRKT|-6V.5 -70 -80 -90 -80 -90|012323232323232323232324123232323232323232323232323232323232323252|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Istanbul|IMT EET EEST TRST TRT|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1df0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Jakarta|BMT JAVT WIB JST WIB WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu","Asia/Jayapura|LMT WIT ACST|-9m.M -90 -9u|0121|-1uu9m.M sMMm.M L4nu","Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0","Asia/Kabul|AFT AFT|-40 -4u|01|-10Qs0","Asia/Kamchatka|LMT PETT PETT PETST PETST|-ay.A -b0 -c0 -d0 -c0|01232323232323232323232412323232323232323232323232323232323232412|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Asia/Karachi|LMT IST IST KART PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy01 1cL0 dK0X 11b0 1610 1jX0","Asia/Kashgar|LMT XJT|-5O.k -60|01|-1GgtO.k","Asia/Kathmandu|LMT IST NPT|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g","Asia/Khandyga|LMT YAKT YAKT YAKST YAKST VLAT VLAST VLAT YAKT|-92.d -80 -90 -a0 -90 -a0 -b0 -b0 -a0|01232323232323232323232412323232323232323232323232565656565656565782|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0","Asia/Krasnoyarsk|LMT KRAT KRAT KRAST KRAST KRAT|-6b.q -60 -70 -80 -70 -80|012323232323232323232324123232323232323232323232323232323232323252|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Kuala_Lumpur|SMT MALT MALST MALT MALT JST MYT|-6T.p -70 -7k -7k -7u -90 -80|01234546|-2Bg6T.p 17anT.p 7hXE dM00 17bO 8Fyu 1so1u","Asia/Kuching|LMT BORT BORT BORTST JST MYT|-7l.k -7u -80 -8k -90 -80|01232323232323232425|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0 1so10","Asia/Macao|LMT MOT MOST CST|-7y.k -80 -90 -80|0121212121212121212121212121212121212121213|-2le7y.k 1XO34.k 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0 KEp0","Asia/Magadan|LMT MAGT MAGT MAGST MAGST MAGT|-a3.c -a0 -b0 -c0 -b0 -c0|012323232323232323232324123232323232323232323232323232323232323251|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Makassar|LMT MMT WITA JST|-7V.A -7V.A -80 -90|01232|-21JjV.A vfc0 myLV.A 8ML0","Asia/Manila|PHT PHST JST|-80 -90 -90|010201010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0","Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Asia/Novokuznetsk|LMT KRAT KRAT KRAST KRAST NOVST NOVT NOVT|-5M.M -60 -70 -80 -70 -70 -60 -70|012323232323232323232324123232323232323232323232323232323232325672|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0 8Hz0","Asia/Novosibirsk|LMT NOVT NOVT NOVST NOVST|-5v.E -60 -70 -80 -70|0123232323232323232323241232341414141414141414141414141414141414121|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Omsk|LMT OMST OMST OMSST OMSST OMST|-4R.u -50 -60 -70 -60 -70|012323232323232323232324123232323232323232323232323232323232323252|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Oral|LMT URAT URAT URAST URAT URAST ORAT ORAST ORAT|-3p.o -40 -50 -60 -60 -50 -40 -50 -50|012343232323232323251516767676767676767676767676768|-1Pc3p.o eUnp.o 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 2UK0 Fz0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 RW0","Asia/Pontianak|LMT PMT WIB JST WIB WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu","Asia/Pyongyang|LMT KST JCST JST KST|-8n -8u -90 -90 -90|012341|-2um8n 97XR 12FXu jdA0 2Onc0","Asia/Qyzylorda|LMT KIZT KIZT KIZST KIZT QYZT QYZT QYZST|-4l.Q -40 -50 -60 -60 -50 -60 -70|012343232323232323232325676767676767676767676767676|-1Pc4l.Q eUol.Q 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2UK0 dC0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0","Asia/Rangoon|RMT BURT JST MMT|-6o.E -6u -90 -6u|0123|-21Jio.E SmnS.E 7j9u","Asia/Sakhalin|LMT JCST JST SAKT SAKST SAKST SAKT|-9u.M -90 -90 -b0 -c0 -b0 -a0|0123434343434343434343435634343434343565656565656565656565656565636|-2AGVu.M 1iaMu.M je00 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o10 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Samarkand|LMT SAMT SAMT SAMST TAST UZST UZT|-4r.R -40 -50 -60 -60 -60 -50|01234323232323232323232356|-1Pc4r.R eUor.R 23CL0 1db0 1cM0 1dc0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11x0 bf0","Asia/Seoul|LMT KST JCST JST KST KDT KDT|-8r.Q -8u -90 -90 -90 -9u -a0|01234151515151515146464|-2um8r.Q 97XV.Q 12FXu jjA0 kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0","Asia/Singapore|SMT MALT MALST MALT MALT JST SGT SGT|-6T.p -70 -7k -7k -7u -90 -7u -80|012345467|-2Bg6T.p 17anT.p 7hXE dM00 17bO 8Fyu Mspu DTA0","Asia/Srednekolymsk|LMT MAGT MAGT MAGST MAGST MAGT SRET|-ae.Q -a0 -b0 -c0 -b0 -c0 -b0|012323232323232323232324123232323232323232323232323232323232323256|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Taipei|JWST JST CST CDT|-80 -90 -80 -90|01232323232323232323232323232323232323232|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0","Asia/Tashkent|LMT TAST TAST TASST TASST UZST UZT|-4B.b -50 -60 -70 -60 -60 -50|01232323232323232323232456|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 11y0 bf0","Asia/Tbilisi|TBMT TBIT TBIT TBIST TBIST GEST GET GET GEST|-2X.b -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245656565787878787878787878567|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 3y0 19f0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cM0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0","Asia/Tehran|LMT TMT IRST IRST IRDT IRDT|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0","Asia/Thimbu|LMT IST BTT|-5W.A -5u -60|012|-Su5W.A 1BGMs.A","Asia/Tokyo|JCST JST JDT|-90 -90 -a0|0121212121|-1iw90 pKq0 QL0 1lB0 13X0 1zB0 NX0 1zB0 NX0","Asia/Ulaanbaatar|LMT ULAT ULAT ULAST|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0","Asia/Ust-Nera|LMT YAKT YAKT MAGST MAGT MAGST MAGT MAGT VLAT VLAT|-9w.S -80 -90 -c0 -b0 -b0 -a0 -c0 -b0 -a0|0123434343434343434343456434343434343434343434343434343434343434789|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0","Asia/Vladivostok|LMT VLAT VLAT VLAST VLAST VLAT|-8L.v -90 -a0 -b0 -a0 -b0|012323232323232323232324123232323232323232323232323232323232323252|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yakutsk|LMT YAKT YAKT YAKST YAKST YAKT|-8C.W -80 -90 -a0 -90 -a0|012323232323232323232324123232323232323232323232323232323232323252|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yekaterinburg|LMT PMT SVET SVET SVEST SVEST YEKT YEKST YEKT|-42.x -3J.5 -40 -50 -60 -50 -50 -60 -60|0123434343434343434343435267676767676767676767676767676767676767686|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Asia/Yerevan|LMT YERT YERT YERST YERST AMST AMT AMT AMST|-2W -30 -40 -50 -40 -40 -30 -40 -50|0123232323232323232323245656565657878787878787878787878787878787|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1am0 2r0 1cJ0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fb0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0","Atlantic/Azores|HMT AZOT AZOST AZOMT AZOT AZOST WET|1S.w 20 10 0 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545456545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldW5.s aPX5.s Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Atlantic/Canary|LMT CANT WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Cape_Verde|LMT CVT CVST CVT|1y.4 20 10 10|01213|-2xomp.U 1qOMp.U 7zX0 1djf0","Atlantic/Faeroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Madeira|FMT MADT MADST MADMT WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldWQ.o aPWQ.o Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Atlantic/Reykjavik|LMT IST ISST GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0","Atlantic/South_Georgia|GST|20|0|","Atlantic/Stanley|SMT FKT FKST FKT FKST|3P.o 40 30 30 20|0121212121212134343212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 U10 1qM0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10","Australia/ACT|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0","Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0","Australia/Eucla|ACWST ACWDT|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0","Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/LHI|AEST LHST LHDT LHDT|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu","Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0","Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0","Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0","CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Chile/EasterIsland|EMT EAST EASST EAST EASST EAST|7h.s 70 60 60 50 50|012121212121212121212121212123434343434343434343434343434343434343434343434343434343434343434345|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 1wn0","EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","EST|EST|50|0|","EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Eire|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g5X0 14p0 1wn0 17d0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Etc/GMT+0|GMT|0|0|","Etc/GMT+1|GMT+1|10|0|","Etc/GMT+10|GMT+10|a0|0|","Etc/GMT+11|GMT+11|b0|0|","Etc/GMT+12|GMT+12|c0|0|","Etc/GMT+2|GMT+2|20|0|","Etc/GMT+3|GMT+3|30|0|","Etc/GMT+4|GMT+4|40|0|","Etc/GMT+5|GMT+5|50|0|","Etc/GMT+6|GMT+6|60|0|","Etc/GMT+7|GMT+7|70|0|","Etc/GMT+8|GMT+8|80|0|","Etc/GMT+9|GMT+9|90|0|","Etc/GMT-1|GMT-1|-10|0|","Etc/GMT-10|GMT-10|-a0|0|","Etc/GMT-11|GMT-11|-b0|0|","Etc/GMT-12|GMT-12|-c0|0|","Etc/GMT-13|GMT-13|-d0|0|","Etc/GMT-14|GMT-14|-e0|0|","Etc/GMT-2|GMT-2|-20|0|","Etc/GMT-3|GMT-3|-30|0|","Etc/GMT-4|GMT-4|-40|0|","Etc/GMT-5|GMT-5|-50|0|","Etc/GMT-6|GMT-6|-60|0|","Etc/GMT-7|GMT-7|-70|0|","Etc/GMT-8|GMT-8|-80|0|","Etc/GMT-9|GMT-9|-90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Amsterdam|AMT NST NEST NET CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Belfast|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Bratislava|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 16M0 1lc0 1tA0 17A0 11c0 1io0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Busingen|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|0123232323232323232345454676767676767676767623232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1ty0 2bD0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET FET|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454545454676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1cJ0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ldXn.f aPWn.f Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|01010101010101010101010121212121234343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-28dd0 11A0 1go0 19A0 1co0 1dA0 b1A0 18o0 3I00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 iyo0 Rc0 18o0 1hc0 1io0 1a00 14o0 5aL0 MM0 1vc0 17A0 1i00 1bc0 1eo0 17d0 1in0 17A0 6hA0 10N0 XIL0 1a10 1in0 17d0 19X0 1cN0 1fz0 1a10 1fX0 1cp0 1cO0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2as10 M00 1cM0 1cM0 14o0 1o00 WM0 1qM0 17c0 1cM0 M3A0 5M20 WM0 1fA0 1cM0 1cM0 1cM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 Lz0 1C10 Lz0 1EN0 Lz0 1C10 Lz0 1zd0 Oo0 1C00 On0 1cp0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Minsk|MMT EET MSK CEST CET MSD EEST FET|-1O -20 -30 -20 -10 -40 -30 -30|012343432525252525252525252616161616161616161616161616161616161616172|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cK0 1cM0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hy0","Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Moscow|MMT MMT MST MDST MSD MSK MSM EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c20 imv.j 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rU0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2as10 M00 1cM0 1cM0 14o0 1o00 WM0 1qM0 17c0 1cM0 M3A0 5M20 WM0 1fA0 1cM0 16K0 1iO0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 Lz0 1C10 Lz0 1EN0 Lz0 1C10 Lz0 1zd0 Oo0 1C00 On0 1C10 Lz0 1zd0 On0 1C10 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Samara|LMT SAMT SAMT KUYT KUYST MSD MSK EEST KUYT SAMST SAMST|-3k.k -30 -40 -40 -50 -40 -30 -30 -30 -50 -40|012343434343434343435656782929292929292929292929292929292929292a12|-22WNk.k qHak.k bcn0 1Qqo0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cN0 8o0 14j0 1cL0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qN0 WM0","Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0","Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646464647373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Volgograd|LMT TSAT STAT STAT VOLT VOLST VOLST VOLT MSD MSK MSK|-2V.E -30 -30 -40 -40 -50 -40 -30 -40 -30 -40|0123454545454545454546767489898989898989898989898989898989898989a9|-21IqV.E cLXV.E cEM0 1gqn0 Lco0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 2pz0 1cJ0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0","Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Europe/Zaporozhye|CUT EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","HST|HST|a0|0|","Indian/Chagos|LMT IOT IOT|-4N.E -50 -60|012|-2xosN.E 3AGLN.E","Indian/Christmas|CXT|-70|0|","Indian/Cocos|CCT|-6u|0|","Indian/Kerguelen|zzz TFT|0 -50|01|-MG00","Indian/Mahe|LMT SCT|-3F.M -40|01|-2yO3F.M","Indian/Maldives|MMT MVT|-4S -50|01|-olgS","Indian/Mauritius|LMT MUT MUST|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0","Indian/Reunion|LMT RET|-3F.Q -40|01|-2mDDF.Q","Kwajalein|MHT KWAT MHT|-b0 c0 -c0|012|-AX0 W9X0","MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","MST|MST|70|0|","MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","NZ-CHAT|CHAST CHAST CHADT|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","Pacific/Apia|LMT WSST SST SDT WSDT WSST|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00","Pacific/Bougainville|PGT JST BST|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0","Pacific/Chuuk|CHUT|-a0|0|","Pacific/Efate|LMT VUT VUST|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0","Pacific/Enderbury|PHOT PHOT PHOT|c0 b0 -d0|012|nIc0 B8n0","Pacific/Fakaofo|TKT TKT|b0 -d0|01|1Gfn0","Pacific/Fiji|LMT FJT FJST|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0 uM0","Pacific/Funafuti|TVT|-c0|0|","Pacific/Galapagos|LMT ECT GALT|5W.o 50 60|012|-1yVS1.A 2dTz1.A","Pacific/Gambier|LMT GAMT|8X.M 90|01|-2jof0.c","Pacific/Guadalcanal|LMT SBT|-aD.M -b0|01|-2joyD.M","Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0","Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0","Pacific/Kiritimati|LINT LINT LINT|aE a0 -e0|012|nIaE B8nk","Pacific/Kosrae|KOST KOST|-b0 -c0|010|-AX0 1bdz0","Pacific/Majuro|MHT MHT|-b0 -c0|01|-AX0","Pacific/Marquesas|LMT MART|9i 9u|01|-2joeG","Pacific/Midway|LMT NST BST SST|bm.M b0 b0 b0|0123|-2nDMB.c 2gVzB.c EyM0","Pacific/Nauru|LMT NRT JST NRT|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu","Pacific/Niue|NUT NUT NUT|bk bu b0|012|-KfME 17y0a","Pacific/Norfolk|NMT NFT NFST NFT|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0","Pacific/Noumea|LMT NCT NCST|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0","Pacific/Palau|PWT|-90|0|","Pacific/Pitcairn|PNT PST|8u 80|01|18Vku","Pacific/Pohnpei|PONT|-b0|0|","Pacific/Port_Moresby|PGT|-a0|0|","Pacific/Rarotonga|CKT CKHST CKT|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu","Pacific/Tahiti|LMT TAHT|9W.g a0|01|-2joe1.I","Pacific/Tarawa|GILT|-c0|0|","Pacific/Tongatapu|TOT TOT TOST|-ck -d0 -e0|01212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0","Pacific/Wake|WAKT|-c0|0|","Pacific/Wallis|WFT|-c0|0|","WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00"], -links:["Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Sao_Tome","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|Atlantic/St_Helena","Africa/Addis_Ababa|Africa/Asmara","Africa/Addis_Ababa|Africa/Asmera","Africa/Addis_Ababa|Africa/Dar_es_Salaam","Africa/Addis_Ababa|Africa/Djibouti","Africa/Addis_Ababa|Africa/Kampala","Africa/Addis_Ababa|Africa/Mogadishu","Africa/Addis_Ababa|Africa/Nairobi","Africa/Addis_Ababa|Indian/Antananarivo","Africa/Addis_Ababa|Indian/Comoro","Africa/Addis_Ababa|Indian/Mayotte","Africa/Bangui|Africa/Brazzaville","Africa/Bangui|Africa/Douala","Africa/Bangui|Africa/Kinshasa","Africa/Bangui|Africa/Lagos","Africa/Bangui|Africa/Libreville","Africa/Bangui|Africa/Luanda","Africa/Bangui|Africa/Malabo","Africa/Bangui|Africa/Niamey","Africa/Bangui|Africa/Porto-Novo","Africa/Blantyre|Africa/Bujumbura","Africa/Blantyre|Africa/Gaborone","Africa/Blantyre|Africa/Harare","Africa/Blantyre|Africa/Kigali","Africa/Blantyre|Africa/Lubumbashi","Africa/Blantyre|Africa/Lusaka","Africa/Blantyre|Africa/Maputo","Africa/Cairo|Egypt","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Juba|Africa/Khartoum","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|US/Alaska","America/Anguilla|America/Antigua","America/Anguilla|America/Dominica","America/Anguilla|America/Grenada","America/Anguilla|America/Guadeloupe","America/Anguilla|America/Marigot","America/Anguilla|America/Montserrat","America/Anguilla|America/Port_of_Spain","America/Anguilla|America/St_Barthelemy","America/Anguilla|America/St_Kitts","America/Anguilla|America/St_Lucia","America/Anguilla|America/St_Thomas","America/Anguilla|America/St_Vincent","America/Anguilla|America/Tortola","America/Anguilla|America/Virgin","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Catamarca|America/Argentina/ComodRivadavia","America/Argentina/Catamarca|America/Catamarca","America/Argentina/Cordoba|America/Cordoba","America/Argentina/Cordoba|America/Rosario","America/Argentina/Jujuy|America/Jujuy","America/Argentina/Mendoza|America/Mendoza","America/Aruba|America/Curacao","America/Aruba|America/Kralendijk","America/Aruba|America/Lower_Princes","America/Atikokan|America/Coral_Harbour","America/Chicago|US/Central","America/Denver|America/Shiprock","America/Denver|Navajo","America/Denver|US/Mountain","America/Detroit|US/Michigan","America/Edmonton|Canada/Mountain","America/Ensenada|America/Tijuana","America/Ensenada|Mexico/BajaNorte","America/Fort_Wayne|America/Indiana/Indianapolis","America/Fort_Wayne|America/Indianapolis","America/Fort_Wayne|US/East-Indiana","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Indiana/Knox|America/Knox_IN","America/Indiana/Knox|US/Indiana-Starke","America/Jamaica|Jamaica","America/Kentucky/Louisville|America/Louisville","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Manaus|Brazil/West","America/Mazatlan|Mexico/BajaSur","America/Mexico_City|Mexico/General","America/Montreal|America/Toronto","America/Montreal|Canada/Eastern","America/New_York|US/Eastern","America/Noronha|Brazil/DeNoronha","America/Phoenix|US/Arizona","America/Porto_Acre|America/Rio_Branco","America/Porto_Acre|Brazil/Acre","America/Regina|Canada/East-Saskatchewan","America/Regina|Canada/Saskatchewan","America/Santiago|Chile/Continental","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","America/Vancouver|Canada/Pacific","America/Whitehorse|Canada/Yukon","America/Winnipeg|Canada/Central","Antarctica/McMurdo|Antarctica/South_Pole","Antarctica/McMurdo|NZ","Antarctica/McMurdo|Pacific/Auckland","Arctic/Longyearbyen|Atlantic/Jan_Mayen","Arctic/Longyearbyen|Europe/Oslo","Asia/Aden|Asia/Kuwait","Asia/Aden|Asia/Riyadh","Asia/Ashgabat|Asia/Ashkhabad","Asia/Bahrain|Asia/Qatar","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Vientiane","Asia/Calcutta|Asia/Kolkata","Asia/Chongqing|Asia/Chungking","Asia/Chongqing|Asia/Harbin","Asia/Chongqing|Asia/Shanghai","Asia/Chongqing|PRC","Asia/Dacca|Asia/Dhaka","Asia/Dubai|Asia/Muscat","Asia/Ho_Chi_Minh|Asia/Saigon","Asia/Hong_Kong|Hongkong","Asia/Istanbul|Europe/Istanbul","Asia/Istanbul|Turkey","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kashgar|Asia/Urumqi","Asia/Kathmandu|Asia/Katmandu","Asia/Macao|Asia/Macau","Asia/Makassar|Asia/Ujung_Pandang","Asia/Nicosia|Europe/Nicosia","Asia/Seoul|ROK","Asia/Singapore|Singapore","Asia/Taipei|ROC","Asia/Tehran|Iran","Asia/Thimbu|Asia/Thimphu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Atlantic/Faeroe|Atlantic/Faroe","Atlantic/Reykjavik|Iceland","Australia/ACT|Australia/Canberra","Australia/ACT|Australia/NSW","Australia/ACT|Australia/Sydney","Australia/Adelaide|Australia/South","Australia/Brisbane|Australia/Queensland","Australia/Broken_Hill|Australia/Yancowinna","Australia/Darwin|Australia/North","Australia/Hobart|Australia/Tasmania","Australia/LHI|Australia/Lord_Howe","Australia/Melbourne|Australia/Victoria","Australia/Perth|Australia/West","Chile/EasterIsland|Pacific/Easter","Eire|Europe/Dublin","Etc/GMT+0|Etc/GMT","Etc/GMT+0|Etc/GMT-0","Etc/GMT+0|Etc/GMT0","Etc/GMT+0|Etc/Greenwich","Etc/GMT+0|GMT","Etc/GMT+0|GMT+0","Etc/GMT+0|GMT-0","Etc/GMT+0|GMT0","Etc/GMT+0|Greenwich","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Belfast|Europe/Guernsey","Europe/Belfast|Europe/Isle_of_Man","Europe/Belfast|Europe/Jersey","Europe/Belfast|Europe/London","Europe/Belfast|GB","Europe/Belfast|GB-Eire","Europe/Belgrade|Europe/Ljubljana","Europe/Belgrade|Europe/Podgorica","Europe/Belgrade|Europe/Sarajevo","Europe/Belgrade|Europe/Skopje","Europe/Belgrade|Europe/Zagreb","Europe/Bratislava|Europe/Prague","Europe/Busingen|Europe/Vaduz","Europe/Busingen|Europe/Zurich","Europe/Chisinau|Europe/Tiraspol","Europe/Helsinki|Europe/Mariehamn","Europe/Lisbon|Portugal","Europe/Moscow|W-SU","Europe/Rome|Europe/San_Marino","Europe/Rome|Europe/Vatican","Europe/Warsaw|Poland","Kwajalein|Pacific/Kwajalein","NZ-CHAT|Pacific/Chatham","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Midway|Pacific/Pago_Pago","Pacific/Midway|Pacific/Samoa","Pacific/Midway|US/Samoa","Pacific/Pohnpei|Pacific/Ponape"]}),a}); \ No newline at end of file diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/moment-with-locales.min.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/moment-with-locales.min.js deleted file mode 100644 index 90eb91b..0000000 --- a/RARBG_-_convert_torrent_timestamps_to_relative_format/moment-with-locales.min.js +++ /dev/null @@ -1,80 +0,0 @@ -!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Md.apply(null,arguments)}function b(a){Md=a}function c(a){return"[object Array]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function e(a,b){var c,d=[];for(c=0;c0)for(c in Od)d=Od[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function n(b){m(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),Pd===!1&&(Pd=!0,a.updateOffset(this),Pd=!1)}function o(a){return a instanceof n||null!=a&&null!=a._isAMomentObject}function p(a){return 0>a?Math.ceil(a):Math.floor(a)}function q(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=p(b)),c}function r(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&q(a[d])!==q(b[d]))&&g++;return g+f}function s(){}function t(a){return a?a.toLowerCase().replace("_","-"):a}function u(a){for(var b,c,d,e,f=0;f0;){if(d=v(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&r(e,c,!0)>=b-1)break;b--}f++}return null}function v(a){var b=null;if(!Qd[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Nd._abbr,require("./locale/"+a),w(b)}catch(c){}return Qd[a]}function w(a,b){var c;return a&&(c="undefined"==typeof b?y(a):x(a,b),c&&(Nd=c)),Nd._abbr}function x(a,b){return null!==b?(b.abbr=a,Qd[a]=Qd[a]||new s,Qd[a].set(b),w(a),Qd[a]):(delete Qd[a],null)}function y(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Nd;if(!c(a)){if(b=v(a))return b;a=[a]}return u(a)}function z(a,b){var c=a.toLowerCase();Rd[c]=Rd[c+"s"]=Rd[b]=a}function A(a){return"string"==typeof a?Rd[a]||Rd[a.toLowerCase()]:void 0}function B(a){var b,c,d={};for(c in a)f(a,c)&&(b=A(c),b&&(d[b]=a[c]));return d}function C(b,c){return function(d){return null!=d?(E(this,b,d),a.updateOffset(this,c),this):D(this,b)}}function D(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function E(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function F(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=A(a),"function"==typeof this[a])return this[a](b);return this}function G(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function H(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Vd[a]=e),b&&(Vd[b[0]]=function(){return G(e.apply(this,arguments),b[1],b[2])}),c&&(Vd[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function I(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function J(a){var b,c,d=a.match(Sd);for(b=0,c=d.length;c>b;b++)Vd[d[b]]?d[b]=Vd[d[b]]:d[b]=I(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function K(a,b){return a.isValid()?(b=L(b,a.localeData()),Ud[b]=Ud[b]||J(b),Ud[b](a)):a.localeData().invalidDate()}function L(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Td.lastIndex=0;d>=0&&Td.test(a);)a=a.replace(Td,c),Td.lastIndex=0,d-=1;return a}function M(a){return"function"==typeof a&&"[object Function]"===Object.prototype.toString.call(a)}function N(a,b,c){ie[a]=M(b)?b:function(a){return a&&c?c:b}}function O(a,b){return f(ie,a)?ie[a](b._strict,b._locale):new RegExp(P(a))}function P(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=q(a)}),c=0;cd;d++){if(e=h([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function X(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),T(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function Y(b){return null!=b?(X(this,b),a.updateOffset(this,!0),this):D(this,"Month")}function Z(){return T(this.year(),this.month())}function $(a){var b,c=a._a;return c&&-2===j(a).overflow&&(b=c[le]<0||c[le]>11?le:c[me]<1||c[me]>T(c[ke],c[le])?me:c[ne]<0||c[ne]>24||24===c[ne]&&(0!==c[oe]||0!==c[pe]||0!==c[qe])?ne:c[oe]<0||c[oe]>59?oe:c[pe]<0||c[pe]>59?pe:c[qe]<0||c[qe]>999?qe:-1,j(a)._overflowDayOfYear&&(ke>b||b>me)&&(b=me),j(a).overflow=b),a}function _(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function aa(a,b){var c=!0;return g(function(){return c&&(_(a+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ba(a,b){te[a]||(_(b),te[a]=!0)}function ca(a){var b,c,d=a._i,e=ue.exec(d);if(e){for(j(a).iso=!0,b=0,c=ve.length;c>b;b++)if(ve[b][1].exec(d)){a._f=ve[b][0];break}for(b=0,c=we.length;c>b;b++)if(we[b][1].exec(d)){a._f+=(e[6]||" ")+we[b][0];break}d.match(fe)&&(a._f+="Z"),va(a)}else a._isValid=!1}function da(b){var c=xe.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ca(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ea(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function fa(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function ga(a){return ha(a)?366:365}function ha(a){return a%4===0&&a%100!==0||a%400===0}function ia(){return ha(this.year())}function ja(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=Da(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ka(a){return ja(a,this._week.dow,this._week.doy).week}function la(){return this._week.dow}function ma(){return this._week.doy}function na(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function oa(a){var b=ja(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function pa(a,b,c,d,e){var f,g=6+e-d,h=fa(a,0,1+g),i=h.getUTCDay();return e>i&&(i+=7),c=null!=c?1*c:e,f=1+g+7*(b-1)-i+c,{year:f>0?a:a-1,dayOfYear:f>0?f:ga(a-1)+f}}function qa(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ra(a,b,c){return null!=a?a:null!=b?b:c}function sa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function ta(a){var b,c,d,e,f=[];if(!a._d){for(d=sa(a),a._w&&null==a._a[me]&&null==a._a[le]&&ua(a),a._dayOfYear&&(e=ra(a._a[ke],d[ke]),a._dayOfYear>ga(e)&&(j(a)._overflowDayOfYear=!0),c=fa(e,0,a._dayOfYear),a._a[le]=c.getUTCMonth(),a._a[me]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[ne]&&0===a._a[oe]&&0===a._a[pe]&&0===a._a[qe]&&(a._nextDay=!0,a._a[ne]=0),a._d=(a._useUTC?fa:ea).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[ne]=24)}}function ua(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ra(b.GG,a._a[ke],ja(Da(),1,4).year),d=ra(b.W,1),e=ra(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ra(b.gg,a._a[ke],ja(Da(),f,g).year),d=ra(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=pa(c,d,e,g,f),a._a[ke]=h.year,a._dayOfYear=h.dayOfYear}function va(b){if(b._f===a.ISO_8601)return void ca(b);b._a=[],j(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,k=0;for(e=L(b._f,b._locale).match(Sd)||[],c=0;c0&&j(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),k+=d.length),Vd[f]?(d?j(b).empty=!1:j(b).unusedTokens.push(f),S(f,d,b)):b._strict&&!d&&j(b).unusedTokens.push(f);j(b).charsLeftOver=i-k,h.length>0&&j(b).unusedInput.push(h),j(b).bigHour===!0&&b._a[ne]<=12&&b._a[ne]>0&&(j(b).bigHour=void 0),b._a[ne]=wa(b._locale,b._a[ne],b._meridiem),ta(b),$(b)}function wa(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function xa(a){var b,c,d,e,f;if(0===a._f.length)return j(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ef)&&(d=f,c=b));g(a,c||b)}function ya(a){if(!a._d){var b=B(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],ta(a)}}function za(a){var b=new n($(Aa(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Aa(a){var b=a._i,e=a._f;return a._locale=a._locale||y(a._l),null===b||void 0===e&&""===b?l({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),o(b)?new n($(b)):(c(e)?xa(a):e?va(a):d(b)?a._d=b:Ba(a),a))}function Ba(b){var f=b._i;void 0===f?b._d=new Date:d(f)?b._d=new Date(+f):"string"==typeof f?da(b):c(f)?(b._a=e(f.slice(0),function(a){return parseInt(a,10)}),ta(b)):"object"==typeof f?ya(b):"number"==typeof f?b._d=new Date(f):a.createFromInputFallback(b)}function Ca(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,za(f)}function Da(a,b,c,d){return Ca(a,b,c,d,!1)}function Ea(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return Da();for(d=b[0],e=1;ea&&(a=-a,c="-"),c+G(~~(a/60),2)+b+G(~~a%60,2)})}function Ka(a){var b=(a||"").match(fe)||[],c=b[b.length-1]||[],d=(c+"").match(Ce)||["-",0,0],e=+(60*d[1])+q(d[2]);return"+"===d[0]?e:-e}function La(b,c){var e,f;return c._isUTC?(e=c.clone(),f=(o(b)||d(b)?+b:+Da(b))-+e,e._d.setTime(+e._d+f),a.updateOffset(e,!1),e):Da(b).local()}function Ma(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Na(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ka(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ma(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?bb(this,Ya(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ma(this)}function Oa(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pa(a){return this.utcOffset(0,a)}function Qa(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ma(this),"m")),this}function Ra(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ka(this._i)),this}function Sa(a){return a=a?Da(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Ta(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ua(){if("undefined"!=typeof this._isDSTShifted)return this._isDSTShifted;var a={};if(m(a,this),a=Aa(a),a._a){var b=a._isUTC?h(a._a):Da(a._a);this._isDSTShifted=this.isValid()&&r(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Va(){return!this._isUTC}function Wa(){return this._isUTC}function Xa(){return this._isUTC&&0===this._offset}function Ya(a,b){var c,d,e,g=a,h=null;return Ia(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(g={},b?g[b]=a:g.milliseconds=a):(h=De.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:q(h[me])*c,h:q(h[ne])*c,m:q(h[oe])*c,s:q(h[pe])*c,ms:q(h[qe])*c}):(h=Ee.exec(a))?(c="-"===h[1]?-1:1,g={y:Za(h[2],c),M:Za(h[3],c),d:Za(h[4],c),h:Za(h[5],c),m:Za(h[6],c),s:Za(h[7],c),w:Za(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=_a(Da(g.from),Da(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new Ha(g),Ia(a)&&f(a,"_locale")&&(d._locale=a._locale),d}function Za(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $a(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function _a(a,b){var c;return b=La(b,a),a.isBefore(b)?c=$a(a,b):(c=$a(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function ab(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ba(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ya(c,d),bb(this,e,a),this}}function bb(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&E(b,"Date",D(b,"Date")+g*d),h&&X(b,D(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function cb(a,b){var c=a||Da(),d=La(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse";return this.format(b&&b[f]||this.localeData().calendar(f,this,Da(c)))}function db(){return new n(this)}function eb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+this>+a):(c=o(a)?+a:+Da(a),c<+this.clone().startOf(b))}function fb(a,b){var c;return b=A("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=o(a)?a:Da(a),+a>+this):(c=o(a)?+a:+Da(a),+this.clone().endOf(b)b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function kb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function lb(){var a=this.clone().utc();return 0b;b++)if(this._weekdaysParse[b]||(c=Da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Pb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Kb(a,this.localeData()),this.add(a-b,"d")):b}function Qb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Rb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Sb(a,b){H(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Tb(a,b){return b._meridiemParse}function Ub(a){return"p"===(a+"").toLowerCase().charAt(0)}function Vb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wb(a,b){b[qe]=q(1e3*("0."+a))}function Xb(){return this._isUTC?"UTC":""}function Yb(){return this._isUTC?"Coordinated Universal Time":""}function Zb(a){return Da(1e3*a)}function $b(){return Da.apply(null,arguments).parseZone()}function _b(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function ac(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function bc(){return this._invalidDate}function cc(a){return this._ordinal.replace("%d",a)}function dc(a){return a}function ec(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function fc(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function gc(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function hc(a,b,c,d){var e=y(),f=h().set(d,b);return e[c](f,a)}function ic(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return hc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=hc(a,f,c,e);return g}function jc(a,b){return ic(a,b,"months",12,"month")}function kc(a,b){return ic(a,b,"monthsShort",12,"month")}function lc(a,b){return ic(a,b,"weekdays",7,"day")}function mc(a,b){return ic(a,b,"weekdaysShort",7,"day")}function nc(a,b){return ic(a,b,"weekdaysMin",7,"day")}function oc(){var a=this._data;return this._milliseconds=_e(this._milliseconds),this._days=_e(this._days),this._months=_e(this._months),a.milliseconds=_e(a.milliseconds),a.seconds=_e(a.seconds),a.minutes=_e(a.minutes),a.hours=_e(a.hours),a.months=_e(a.months),a.years=_e(a.years),this}function pc(a,b,c,d){var e=Ya(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function qc(a,b){return pc(this,a,b,1)}function rc(a,b){return pc(this,a,b,-1)}function sc(a){return 0>a?Math.floor(a):Math.ceil(a)}function tc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*sc(vc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=p(f/1e3),i.seconds=a%60,b=p(a/60),i.minutes=b%60,c=p(b/60),i.hours=c%24,g+=p(c/24),e=p(uc(g)),h+=e,g-=sc(vc(e)),d=p(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function uc(a){return 4800*a/146097}function vc(a){return 146097*a/4800}function wc(a){var b,c,d=this._milliseconds;if(a=A(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+uc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(vc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function xc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12)}function yc(a){return function(){return this.as(a)}}function zc(a){return a=A(a),this[a+"s"]()}function Ac(a){return function(){return this._data[a]}}function Bc(){return p(this.days()/7)}function Cc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Dc(a,b,c){var d=Ya(a).abs(),e=qf(d.as("s")),f=qf(d.as("m")),g=qf(d.as("h")),h=qf(d.as("d")),i=qf(d.as("M")),j=qf(d.as("y")),k=e0,k[4]=c,Cc.apply(null,k)}function Ec(a,b){return void 0===rf[a]?!1:void 0===b?rf[a]:(rf[a]=b,!0)}function Fc(a){var b=this.localeData(),c=Dc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Gc(){var a,b,c,d=sf(this._milliseconds)/1e3,e=sf(this._days),f=sf(this._months);a=p(d/60),b=p(a/60),d%=60,a%=60,c=p(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"} -//! moment.js locale configuration -//! locale : belarusian (be) -//! author : Dmitry Demidov : https://github.com/demidov91 -//! author: Praleska: http://praleska.pro/ -//! Author : Menelion ElensÃēle : https://github.com/Oire -function Hc(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Ic(a,b,c){var d={mm:b?"Ņ…Đ˛Ņ–ĐģŅ–ĐŊа_Ņ…Đ˛Ņ–ĐģŅ–ĐŊŅ‹_Ņ…Đ˛Ņ–ĐģŅ–ĐŊ":"Ņ…Đ˛Ņ–ĐģŅ–ĐŊ҃_Ņ…Đ˛Ņ–ĐģŅ–ĐŊŅ‹_Ņ…Đ˛Ņ–ĐģŅ–ĐŊ",hh:b?"ĐŗĐ°Đ´ĐˇŅ–ĐŊа_ĐŗĐ°Đ´ĐˇŅ–ĐŊŅ‹_ĐŗĐ°Đ´ĐˇŅ–ĐŊ":"ĐŗĐ°Đ´ĐˇŅ–ĐŊ҃_ĐŗĐ°Đ´ĐˇŅ–ĐŊŅ‹_ĐŗĐ°Đ´ĐˇŅ–ĐŊ",dd:"дСĐĩĐŊҌ_Đ´ĐŊŅ–_Đ´ĐˇŅ‘ĐŊ",MM:"ĐŧĐĩŅŅŅ†_ĐŧĐĩŅŅŅ†Ņ‹_ĐŧĐĩŅŅŅ†Đ°Ņž",yy:"ĐŗĐžĐ´_ĐŗĐ°Đ´Ņ‹_ĐŗĐ°Đ´ĐžŅž"};return"m"===c?b?"Ņ…Đ˛Ņ–ĐģŅ–ĐŊа":"Ņ…Đ˛Ņ–ĐģŅ–ĐŊ҃":"h"===c?b?"ĐŗĐ°Đ´ĐˇŅ–ĐŊа":"ĐŗĐ°Đ´ĐˇŅ–ĐŊ҃":a+" "+Hc(d[c],+a)}function Jc(a,b){var c={nominative:"ŅŅ‚ŅƒĐ´ĐˇĐĩĐŊҌ_ĐģŅŽŅ‚Ņ‹_ŅĐ°ĐēĐ°Đ˛Ņ–Đē_ĐēŅ€Đ°ŅĐ°Đ˛Ņ–Đē_Ņ‚Ņ€Đ°Đ˛ĐĩĐŊҌ_Ņ‡ŅŅ€Đ˛ĐĩĐŊҌ_ĐģŅ–ĐŋĐĩĐŊҌ_ĐļĐŊŅ–Đ˛ĐĩĐŊҌ_вĐĩŅ€Đ°ŅĐĩĐŊҌ_ĐēĐ°ŅŅ‚Ņ€Ņ‹Ņ‡ĐŊŅ–Đē_ĐģŅ–ŅŅ‚Đ°Đŋад_ҁĐŊĐĩĐļаĐŊҌ".split("_"),accusative:"ŅŅ‚ŅƒĐ´ĐˇĐĩĐŊŅ_ĐģŅŽŅ‚Đ°ĐŗĐ°_ŅĐ°ĐēĐ°Đ˛Ņ–Đēа_ĐēŅ€Đ°ŅĐ°Đ˛Ņ–Đēа_Ņ‚Ņ€Đ°ŅžĐŊŅ_Ņ‡ŅŅ€Đ˛ĐĩĐŊŅ_ĐģŅ–ĐŋĐĩĐŊŅ_ĐļĐŊŅ–ŅžĐŊŅ_вĐĩŅ€Đ°ŅĐŊŅ_ĐēĐ°ŅŅ‚Ņ€Ņ‹Ņ‡ĐŊŅ–Đēа_ĐģŅ–ŅŅ‚Đ°Đŋада_ҁĐŊĐĩĐļĐŊŅ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Kc(a,b){var c={nominative:"ĐŊŅĐ´ĐˇĐĩĐģŅ_ĐŋаĐŊŅĐ´ĐˇĐĩĐģаĐē_Đ°ŅžŅ‚ĐžŅ€Đ°Đē_ҁĐĩŅ€Đ°Đ´Đ°_Ņ‡Đ°Ņ†Đ˛ĐĩŅ€_ĐŋŅŅ‚ĐŊŅ–Ņ†Đ°_ŅŅƒĐąĐžŅ‚Đ°".split("_"),accusative:"ĐŊŅĐ´ĐˇĐĩĐģŅŽ_ĐŋаĐŊŅĐ´ĐˇĐĩĐģаĐē_Đ°ŅžŅ‚ĐžŅ€Đ°Đē_ҁĐĩŅ€Đ°Đ´Ņƒ_Ņ‡Đ°Ņ†Đ˛ĐĩŅ€_ĐŋŅŅ‚ĐŊŅ–Ņ†Ņƒ_ŅŅƒĐąĐžŅ‚Ņƒ".split("_")},d=/\[ ?[Вв] ?(?:ĐŧŅ–ĐŊ҃ĐģŅƒŅŽ|ĐŊĐ°ŅŅ‚ŅƒĐŋĐŊŅƒŅŽ)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]} -//! moment.js locale configuration -//! locale : breton (br) -//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou -function Lc(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+Oc(d[c],a)}function Mc(a){switch(Nc(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function Nc(a){return a>9?Nc(a%10):a}function Oc(a,b){return 2===b?Pc(a):a}function Pc(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)} -//! moment.js locale configuration -//! locale : bosnian (bs) -//! author : Nedim Cholich : https://github.com/frontyard -//! based on (hr) translation by Bojan Marković -function Qc(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Rc(a){return a>1&&5>a&&1!==~~(a/10)}function Sc(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pÃĄr sekund":"pÃĄr sekundami";case"m":return b?"minuta":d?"minutu":"minutou";case"mm":return b||d?e+(Rc(a)?"minuty":"minut"):e+"minutami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Rc(a)?"hodiny":"hodin"):e+"hodinami";break;case"d":return b||d?"den":"dnem";case"dd":return b||d?e+(Rc(a)?"dny":"dní"):e+"dny";break;case"M":return b||d?"měsíc":"měsícem";case"MM":return b||d?e+(Rc(a)?"měsíce":"měsíců"):e+"měsíci";break;case"y":return b||d?"rok":"rokem";case"yy":return b||d?e+(Rc(a)?"roky":"let"):e+"lety"}} -//! moment.js locale configuration -//! locale : austrian german (de-at) -//! author : lluchs : https://github.com/lluchs -//! author: Menelion ElensÃēle: https://github.com/Oire -//! author : Martin Groller : https://github.com/MadMG -function Tc(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]} -//! moment.js locale configuration -//! locale : german (de) -//! author : lluchs : https://github.com/lluchs -//! author: Menelion ElensÃēle: https://github.com/Oire -function Uc(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]} -//! moment.js locale configuration -//! locale : estonian (et) -//! author : Henry Kehlmann : https://github.com/madhenry -//! improvements : Illimar Tambek : https://github.com/ragulka -function Vc(a,b,c,d){var e={s:["mÃĩne sekundi","mÃĩni sekund","paar sekundit"],m:["Ãŧhe minuti","Ãŧks minut"],mm:[a+" minuti",a+" minutit"],h:["Ãŧhe tunni","tund aega","Ãŧks tund"],hh:[a+" tunni",a+" tundi"],d:["Ãŧhe päeva","Ãŧks päev"],M:["kuu aja","kuu aega","Ãŧks kuu"],MM:[a+" kuu",a+" kuud"],y:["Ãŧhe aasta","aasta","Ãŧks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function Wc(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Xc(a,d)+" "+e}function Xc(a,b){return 10>a?b?Pf[a]:Of[a]:a} -//! moment.js locale configuration -//! locale : hrvatski (hr) -//! author : Bojan Marković : https://github.com/bmarkovic -function Yc(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Zc(a,b,c,d){var e=a;switch(c){case"s":return d||b?"nÊhÃĄny mÃĄsodperc":"nÊhÃĄny mÃĄsodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" Ãŗra":" ÃŗrÃĄja");case"hh":return e+(d||b?" Ãŗra":" ÃŗrÃĄja");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hÃŗnap":" hÃŗnapja");case"MM":return e+(d||b?" hÃŗnap":" hÃŗnapja");case"y":return"egy"+(d||b?" Êv":" Êve");case"yy":return e+(d||b?" Êv":" Êve")}return""}function $c(a){return(a?"":"[mÃēlt] ")+"["+Uf[this.day()]+"] LT[-kor]"} -//! moment.js locale configuration -//! locale : Armenian (hy-am) -//! author : Armendarabyan : https://github.com/armendarabyan -function _c(a,b){var c={nominative:"հուÕļÕžÕĄÖ€_փÕĨÕŋÖ€ÕžÕĄÖ€_Õ´ÕĄÖ€Õŋ_ÕĄÕēրÕĢÕŦ_Õ´ÕĄÕĩÕĢÕŊ_հուÕļÕĢÕŊ_հուÕŦÕĢÕŊ_Ö…ÕŖÕ¸ÕŊÕŋÕ¸ÕŊ_ÕŊÕĨÕēÕŋÕĨÕ´ÕĸÕĨր_Õ°Õ¸Õ¯ÕŋÕĨÕ´ÕĸÕĨր_ÕļÕ¸ÕĩÕĨÕ´ÕĸÕĨր_Õ¤ÕĨÕ¯ÕŋÕĨÕ´ÕĸÕĨր".split("_"),accusative:"հուÕļÕžÕĄÖ€ÕĢ_փÕĨÕŋÖ€ÕžÕĄÖ€ÕĢ_Õ´ÕĄÖ€ÕŋÕĢ_ÕĄÕēրÕĢÕŦÕĢ_Õ´ÕĄÕĩÕĢÕŊÕĢ_հուÕļÕĢÕŊÕĢ_հուÕŦÕĢÕŊÕĢ_Ö…ÕŖÕ¸ÕŊÕŋÕ¸ÕŊÕĢ_ÕŊÕĨÕēÕŋÕĨÕ´ÕĸÕĨրÕĢ_Õ°Õ¸Õ¯ÕŋÕĨÕ´ÕĸÕĨրÕĢ_ÕļÕ¸ÕĩÕĨÕ´ÕĸÕĨրÕĢ_Õ¤ÕĨÕ¯ÕŋÕĨÕ´ÕĸÕĨրÕĢ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function ad(a,b){var c="Õ°ÕļÕž_փÕŋր_մրÕŋ_ÕĄÕēր_Õ´ÕĩÕŊ_Õ°ÕļÕŊ_Õ°ÕŦÕŊ_Ö…ÕŖÕŊ_ÕŊÕēÕŋ_Õ°Õ¯Õŋ_ÕļÕ´Õĸ_Õ¤Õ¯Õŋ".split("_");return c[a.month()]}function bd(a,b){var c="Õ¯ÕĢÖ€ÕĄÕ¯ÕĢ_ÕĨÖ€Õ¯Õ¸Ö‚ÕˇÕĄÕĸÕŠÕĢ_ÕĨրÕĨÖ„ÕˇÕĄÕĸÕŠÕĢ_ÕšÕ¸Ö€ÕĨÖ„ÕˇÕĄÕĸÕŠÕĢ_Õ°ÕĢÕļÕŖÕˇÕĄÕĸÕŠÕĢ_ուրÕĸÕĄÕŠ_ÕˇÕĄÕĸÕĄÕŠ".split("_");return c[a.day()]} -//! moment.js locale configuration -//! locale : icelandic (is) -//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik -function cd(a){return a%100===11?!0:a%10===1?!1:!0}function dd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekÃēndur":"nokkrum sekÃēndum";case"m":return b?"mínÃēta":"mínÃētu";case"mm":return cd(a)?e+(b||d?"mínÃētur":"mínÃētum"):b?e+"mínÃēta":e+"mínÃētu";case"hh":return cd(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return cd(a)?b?e+"dagar":e+(d?"daga":"dÃļgum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mÃĄnuður":d?"mÃĄnuð":"mÃĄnuði";case"MM":return cd(a)?b?e+"mÃĄnuðir":e+(d?"mÃĄnuði":"mÃĄnuðum"):b?e+"mÃĄnuður":e+(d?"mÃĄnuð":"mÃĄnuði");case"y":return b||d?"ÃĄr":"ÃĄri";case"yy":return cd(a)?e+(b||d?"ÃĄr":"ÃĄrum"):e+(b||d?"ÃĄr":"ÃĄri")}} -//! moment.js locale configuration -//! locale : Georgian (ka) -//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili -function ed(a,b){var c={nominative:"იანვარი_თებერვალი_მარáƒĸი_აპრილი_მაისი_ივნისი_ივლისი_აგვისáƒĸო_სეáƒĨáƒĸემბერი_ოáƒĨáƒĸომბერი_ნოემბერი_დეკემბერი".split("_"),accusative:"იანვარს_თებერვალს_მარáƒĸქ_აპრილის_მაისს_ივნისს_ივლისს_აგვისáƒĸქ_სეáƒĨáƒĸემბერს_ოáƒĨáƒĸომბერს_ნოემბერს_დეკემბერს".split("_")},d=/D[oD] *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function fd(a,b){var c={nominative:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_áƒŽáƒŖáƒ—áƒ¨áƒáƒ‘áƒáƒ—áƒ˜_პარასკევი_შაბათი".split("_"),accusative:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_áƒŽáƒŖáƒ—áƒ¨áƒáƒ‘áƒáƒ—áƒĄ_პარასკევს_შაბათს".split("_")},d=/(áƒŦინა|შემდეგ)/.test(b)?"accusative":"nominative";return c[d][a.day()]} -//! moment.js locale configuration -//! locale : Luxembourgish (lb) -//! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz -function gd(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function hd(a){var b=a.substr(0,a.indexOf(" "));return jd(b)?"a "+a:"an "+a}function id(a){var b=a.substr(0,a.indexOf(" "));return jd(b)?"viru "+a:"virun "+a}function jd(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return jd(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return jd(a)}return a/=1e3,jd(a)}function kd(a,b,c,d){return b?"kelios sekundės":d?"keliÅŗ sekundÅžiÅŗ":"kelias sekundes"}function ld(a,b){var c={nominative:"sausis_vasaris_kovas_balandis_geguŞė_birÅželis_liepa_rugpjÅĢtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),accusative:"sausio_vasario_kovo_balandÅžio_geguŞės_birÅželio_liepos_rugpjÅĢčio_rugsėjo_spalio_lapkričio_gruodÅžio".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function md(a,b,c,d){return b?od(c)[0]:d?od(c)[1]:od(c)[2]}function nd(a){return a%10===0||a>10&&20>a}function od(a){return Vf[a].split("_")}function pd(a,b,c,d){var e=a+" ";return 1===a?e+md(a,b,c[0],d):b?e+(nd(a)?od(c)[1]:od(c)[0]):d?e+od(c)[1]:e+(nd(a)?od(c)[1]:od(c)[2])}function qd(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=Wf[a.day()];return c?d:d.substring(0,d.length-2)+"į"}function rd(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function sd(a,b,c){return a+" "+rd(Xf[c],a,b)}function td(a,b,c){return rd(Xf[c],a,b)}function ud(a,b){return b?"daÅžas sekundes":"daŞām sekundēm"}function vd(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function wd(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutę";case"mm":return d+(vd(a)?"minuty":"minut");case"h":return b?"godzina":"godzinę";case"hh":return d+(vd(a)?"godziny":"godzin");case"MM":return d+(vd(a)?"miesiące":"miesięcy");case"yy":return d+(vd(a)?"lata":"lat")}} -//! moment.js locale configuration -//! locale : romanian (ro) -//! author : Vlad Gurdiga : https://github.com/gurdiga -//! author : Valentin Agachi : https://github.com/avaly -function xd(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]} -//! moment.js locale configuration -//! locale : russian (ru) -//! author : Viktorminator : https://github.com/Viktorminator -//! Author : Menelion ElensÃēle : https://github.com/Oire -function yd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function zd(a,b,c){var d={mm:b?"ĐŧиĐŊŅƒŅ‚Đ°_ĐŧиĐŊŅƒŅ‚Ņ‹_ĐŧиĐŊŅƒŅ‚":"ĐŧиĐŊŅƒŅ‚Ņƒ_ĐŧиĐŊŅƒŅ‚Ņ‹_ĐŧиĐŊŅƒŅ‚",hh:"Ņ‡Đ°Ņ_Ņ‡Đ°ŅĐ°_Ņ‡Đ°ŅĐžĐ˛",dd:"Đ´ĐĩĐŊҌ_Đ´ĐŊŅ_Đ´ĐŊĐĩĐš",MM:"ĐŧĐĩŅŅŅ†_ĐŧĐĩŅŅŅ†Đ°_ĐŧĐĩŅŅŅ†Đĩв",yy:"ĐŗĐžĐ´_ĐŗĐžĐ´Đ°_ĐģĐĩŅ‚"};return"m"===c?b?"ĐŧиĐŊŅƒŅ‚Đ°":"ĐŧиĐŊŅƒŅ‚Ņƒ":a+" "+yd(d[c],+a)}function Ad(a,b){var c={nominative:"ŅĐŊĐ˛Đ°Ņ€ŅŒ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģҌ_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€ĐĩĐģҌ_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŊŅ‚ŅĐąŅ€ŅŒ_ĐžĐēŅ‚ŅĐąŅ€ŅŒ_ĐŊĐžŅĐąŅ€ŅŒ_Đ´ĐĩĐēĐ°ĐąŅ€ŅŒ".split("_"),accusative:"ŅĐŊĐ˛Đ°Ņ€Ņ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģŅ_ĐŧĐ°Ņ€Ņ‚Đ°_аĐŋŅ€ĐĩĐģŅ_ĐŧĐ°Ņ_Đ¸ŅŽĐŊŅ_Đ¸ŅŽĐģŅ_Đ°Đ˛ĐŗŅƒŅŅ‚Đ°_ҁĐĩĐŊŅ‚ŅĐąŅ€Ņ_ĐžĐēŅ‚ŅĐąŅ€Ņ_ĐŊĐžŅĐąŅ€Ņ_Đ´ĐĩĐēĐ°ĐąŅ€Ņ".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Bd(a,b){var c={nominative:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_"),accusative:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧĐ°Ņ_Đ¸ŅŽĐŊŅ_Đ¸ŅŽĐģŅ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Cd(a,b){var c={nominative:"Đ˛ĐžŅĐēŅ€ĐĩҁĐĩĐŊҌĐĩ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģҌĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩда_҇ĐĩŅ‚Đ˛ĐĩŅ€Đŗ_ĐŋŅŅ‚ĐŊĐ¸Ņ†Đ°_ŅŅƒĐąĐąĐžŅ‚Đ°".split("_"),accusative:"Đ˛ĐžŅĐēŅ€ĐĩҁĐĩĐŊҌĐĩ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģҌĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩĐ´Ņƒ_҇ĐĩŅ‚Đ˛ĐĩŅ€Đŗ_ĐŋŅŅ‚ĐŊĐ¸Ņ†Ņƒ_ŅŅƒĐąĐąĐžŅ‚Ņƒ".split("_")},d=/\[ ?[Вв] ?(?:ĐŋŅ€ĐžŅˆĐģŅƒŅŽ|ҁĐģĐĩĐ´ŅƒŅŽŅ‰ŅƒŅŽ|ŅŅ‚Ņƒ)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}function Dd(a){return a>1&&5>a}function Ed(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pÃĄr sekÃēnd":"pÃĄr sekundami";case"m":return b?"minÃēta":d?"minÃētu":"minÃētou";case"mm":return b||d?e+(Dd(a)?"minÃēty":"minÃēt"):e+"minÃētami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Dd(a)?"hodiny":"hodín"):e+"hodinami";break;case"d":return b||d?"deň":"dňom";case"dd":return b||d?e+(Dd(a)?"dni":"dní"):e+"dňami";break;case"M":return b||d?"mesiac":"mesiacom";case"MM":return b||d?e+(Dd(a)?"mesiace":"mesiacov"):e+"mesiacmi";break;case"y":return b||d?"rok":"rokom";case"yy":return b||d?e+(Dd(a)?"roky":"rokov"):e+"rokmi"}} -//! moment.js locale configuration -//! locale : slovenian (sl) -//! author : Robert SedovÅĄek : https://github.com/sedovsek -function Fd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}function Gd(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[a+" míuts"," "+a+" míuts"],h:["'n Þora","'iensa Þora"],hh:[a+" Þoras"," "+a+" Þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas"," "+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen"," "+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars"," "+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1].trim()} -//! moment.js locale configuration -//! locale : ukrainian (uk) -//! author : zemlanin : https://github.com/zemlanin -//! Author : Menelion ElensÃēle : https://github.com/Oire -function Hd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function Id(a,b,c){var d={mm:"Ņ…Đ˛Đ¸ĐģиĐŊа_Ņ…Đ˛Đ¸ĐģиĐŊи_Ņ…Đ˛Đ¸ĐģиĐŊ",hh:"ĐŗĐžĐ´Đ¸ĐŊа_ĐŗĐžĐ´Đ¸ĐŊи_ĐŗĐžĐ´Đ¸ĐŊ",dd:"Đ´ĐĩĐŊҌ_Đ´ĐŊŅ–_Đ´ĐŊŅ–Đ˛",MM:"ĐŧŅ–ŅŅŅ†ŅŒ_ĐŧŅ–ŅŅŅ†Ņ–_ĐŧŅ–ŅŅŅ†Ņ–Đ˛",yy:"ҀҖĐē_Ņ€ĐžĐēи_Ņ€ĐžĐēŅ–Đ˛"};return"m"===c?b?"Ņ…Đ˛Đ¸ĐģиĐŊа":"Ņ…Đ˛Đ¸ĐģиĐŊ҃":"h"===c?b?"ĐŗĐžĐ´Đ¸ĐŊа":"ĐŗĐžĐ´Đ¸ĐŊ҃":a+" "+Hd(d[c],+a)}function Jd(a,b){var c={nominative:"ҁҖ҇ĐĩĐŊҌ_ĐģŅŽŅ‚Đ¸Đš_ĐąĐĩŅ€ĐĩСĐĩĐŊҌ_ĐēĐ˛Ņ–Ņ‚ĐĩĐŊҌ_Ņ‚Ņ€Đ°Đ˛ĐĩĐŊҌ_҇ĐĩŅ€Đ˛ĐĩĐŊҌ_ĐģиĐŋĐĩĐŊҌ_ҁĐĩŅ€ĐŋĐĩĐŊҌ_вĐĩŅ€ĐĩҁĐĩĐŊҌ_ĐļĐžĐ˛Ņ‚ĐĩĐŊҌ_ĐģĐ¸ŅŅ‚ĐžĐŋад_ĐŗŅ€ŅƒĐ´ĐĩĐŊҌ".split("_"),accusative:"ҁҖ҇ĐŊŅ_ĐģŅŽŅ‚ĐžĐŗĐž_ĐąĐĩŅ€ĐĩСĐŊŅ_ĐēĐ˛Ņ–Ņ‚ĐŊŅ_Ņ‚Ņ€Đ°Đ˛ĐŊŅ_҇ĐĩŅ€Đ˛ĐŊŅ_ĐģиĐŋĐŊŅ_ҁĐĩŅ€ĐŋĐŊŅ_вĐĩŅ€ĐĩҁĐŊŅ_ĐļĐžĐ˛Ņ‚ĐŊŅ_ĐģĐ¸ŅŅ‚ĐžĐŋада_ĐŗŅ€ŅƒĐ´ĐŊŅ".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function Kd(a,b){var c={nominative:"ĐŊĐĩĐ´Ņ–ĐģŅ_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐžĐē_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€ĐžĐē_ҁĐĩŅ€Đĩда_҇ĐĩŅ‚Đ˛ĐĩŅ€_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†Ņ_ŅŅƒĐąĐžŅ‚Đ°".split("_"),accusative:"ĐŊĐĩĐ´Ņ–ĐģŅŽ_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐžĐē_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€ĐžĐē_ҁĐĩŅ€ĐĩĐ´Ņƒ_҇ĐĩŅ‚Đ˛ĐĩŅ€_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†ŅŽ_ŅŅƒĐąĐžŅ‚Ņƒ".split("_"),genitive:"ĐŊĐĩĐ´Ņ–ĐģŅ–_ĐŋĐžĐŊĐĩĐ´Ņ–ĐģĐēа_Đ˛Ņ–Đ˛Ņ‚ĐžŅ€Đēа_ҁĐĩŅ€Đĩди_҇ĐĩŅ‚Đ˛ĐĩŅ€ĐŗĐ°_Đŋâ€™ŅŅ‚ĐŊĐ¸Ņ†Ņ–_ŅŅƒĐąĐžŅ‚Đ¸".split("_")},d=/(\[[Đ’Đ˛ĐŖŅƒ]\]) ?dddd/.test(b)?"accusative":/\[?(?:ĐŧиĐŊ҃ĐģĐžŅ—|ĐŊĐ°ŅŅ‚ŅƒĐŋĐŊĐžŅ—)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function Ld(a){return function(){return a+"Đž"+(11===this.hours()?"Đą":"")+"] LT"}}var Md,Nd,Od=a.momentProperties=[],Pd=!1,Qd={},Rd={},Sd=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Td=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ud={},Vd={},Wd=/\d/,Xd=/\d\d/,Yd=/\d{3}/,Zd=/\d{4}/,$d=/[+-]?\d{6}/,_d=/\d\d?/,ae=/\d{1,3}/,be=/\d{1,4}/,ce=/[+-]?\d{1,6}/,de=/\d+/,ee=/[+-]?\d+/,fe=/Z|[+-]\d\d:?\d\d/gi,ge=/[+-]?\d+(\.\d{1,3})?/,he=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ie={},je={},ke=0,le=1,me=2,ne=3,oe=4,pe=5,qe=6;H("M",["MM",2],"Mo",function(){return this.month()+1}),H("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),H("MMMM",0,0,function(a){return this.localeData().months(this,a)}),z("month","M"),N("M",_d),N("MM",_d,Xd),N("MMM",he),N("MMMM",he),Q(["M","MM"],function(a,b){b[le]=q(a)-1}),Q(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[le]=e:j(c).invalidMonth=a});var re="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),se="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),te={};a.suppressDeprecationWarnings=!1;var ue=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ve=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],we=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],xe=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=aa("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),H(0,["YY",2],0,function(){return this.year()%100}),H(0,["YYYY",4],0,"year"),H(0,["YYYYY",5],0,"year"),H(0,["YYYYYY",6,!0],0,"year"),z("year","y"),N("Y",ee),N("YY",_d,Xd),N("YYYY",be,Zd),N("YYYYY",ce,$d),N("YYYYYY",ce,$d),Q(["YYYYY","YYYYYY"],ke),Q("YYYY",function(b,c){c[ke]=2===b.length?a.parseTwoDigitYear(b):q(b)}),Q("YY",function(b,c){c[ke]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return q(a)+(q(a)>68?1900:2e3)};var ye=C("FullYear",!1);H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),z("week","w"),z("isoWeek","W"),N("w",_d),N("ww",_d,Xd),N("W",_d),N("WW",_d,Xd),R(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=q(a)});var ze={dow:0,doy:6};H("DDD",["DDDD",3],"DDDo","dayOfYear"),z("dayOfYear","DDD"),N("DDD",ae),N("DDDD",Yd),Q(["DDD","DDDD"],function(a,b,c){c._dayOfYear=q(a)}),a.ISO_8601=function(){};var Ae=aa("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return this>a?this:a}),Be=aa("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Da.apply(null,arguments);return a>this?this:a});Ja("Z",":"),Ja("ZZ",""),N("Z",fe),N("ZZ",fe),Q(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ka(a)});var Ce=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var De=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ee=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ya.fn=Ha.prototype;var Fe=ab(1,"add"),Ge=ab(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var He=aa("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});H(0,["gg",2],0,function(){return this.weekYear()%100}),H(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Db("gggg","weekYear"),Db("ggggg","weekYear"),Db("GGGG","isoWeekYear"),Db("GGGGG","isoWeekYear"),z("weekYear","gg"),z("isoWeekYear","GG"),N("G",ee),N("g",ee),N("GG",_d,Xd),N("gg",_d,Xd),N("GGGG",be,Zd),N("gggg",be,Zd),N("GGGGG",ce,$d),N("ggggg",ce,$d),R(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=q(a)}),R(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),H("Q",0,0,"quarter"),z("quarter","Q"),N("Q",Wd),Q("Q",function(a,b){b[le]=3*(q(a)-1)}),H("D",["DD",2],"Do","date"),z("date","D"),N("D",_d),N("DD",_d,Xd),N("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),Q(["D","DD"],me),Q("Do",function(a,b){b[me]=q(a.match(_d)[0],10)});var Ie=C("Date",!0);H("d",0,"do","day"),H("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),H("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),H("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),z("day","d"),z("weekday","e"),z("isoWeekday","E"),N("d",_d),N("e",_d),N("E",_d),N("dd",he),N("ddd",he),N("dddd",he),R(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:j(c).invalidWeekday=a}),R(["d","e","E"],function(a,b,c,d){b[d]=q(a)});var Je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ke="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Le="Su_Mo_Tu_We_Th_Fr_Sa".split("_");H("H",["HH",2],0,"hour"),H("h",["hh",2],0,function(){return this.hours()%12||12}),Sb("a",!0),Sb("A",!1),z("hour","h"),N("a",Tb),N("A",Tb),N("H",_d),N("h",_d),N("HH",_d,Xd),N("hh",_d,Xd),Q(["H","HH"],ne),Q(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Q(["h","hh"],function(a,b,c){b[ne]=q(a),j(c).bigHour=!0});var Me=/[ap]\.?m?\.?/i,Ne=C("Hours",!0);H("m",["mm",2],0,"minute"),z("minute","m"),N("m",_d),N("mm",_d,Xd),Q(["m","mm"],oe);var Oe=C("Minutes",!1);H("s",["ss",2],0,"second"),z("second","s"),N("s",_d),N("ss",_d,Xd),Q(["s","ss"],pe);var Pe=C("Seconds",!1);H("S",0,0,function(){return~~(this.millisecond()/100)}),H(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,function(){return 10*this.millisecond()}),H(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),H(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),H(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),H(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),H(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),z("millisecond","ms"),N("S",ae,Wd),N("SS",ae,Xd),N("SSS",ae,Yd);var Qe;for(Qe="SSSS";Qe.length<=9;Qe+="S")N(Qe,de);for(Qe="S";Qe.length<=9;Qe+="S")Q(Qe,Wb);var Re=C("Milliseconds",!1);H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var Se=n.prototype;Se.add=Fe,Se.calendar=cb,Se.clone=db,Se.diff=ib,Se.endOf=ub,Se.format=mb,Se.from=nb,Se.fromNow=ob,Se.to=pb,Se.toNow=qb,Se.get=F,Se.invalidAt=Cb,Se.isAfter=eb,Se.isBefore=fb,Se.isBetween=gb,Se.isSame=hb,Se.isValid=Ab,Se.lang=He,Se.locale=rb,Se.localeData=sb,Se.max=Be,Se.min=Ae,Se.parsingFlags=Bb,Se.set=F,Se.startOf=tb,Se.subtract=Ge,Se.toArray=yb,Se.toObject=zb,Se.toDate=xb,Se.toISOString=lb,Se.toJSON=lb,Se.toString=kb,Se.unix=wb,Se.valueOf=vb,Se.year=ye,Se.isLeapYear=ia,Se.weekYear=Fb,Se.isoWeekYear=Gb,Se.quarter=Se.quarters=Jb,Se.month=Y,Se.daysInMonth=Z,Se.week=Se.weeks=na,Se.isoWeek=Se.isoWeeks=oa,Se.weeksInYear=Ib,Se.isoWeeksInYear=Hb,Se.date=Ie,Se.day=Se.days=Pb,Se.weekday=Qb,Se.isoWeekday=Rb,Se.dayOfYear=qa,Se.hour=Se.hours=Ne,Se.minute=Se.minutes=Oe,Se.second=Se.seconds=Pe,Se.millisecond=Se.milliseconds=Re,Se.utcOffset=Na,Se.utc=Pa,Se.local=Qa,Se.parseZone=Ra,Se.hasAlignedHourOffset=Sa,Se.isDST=Ta,Se.isDSTShifted=Ua,Se.isLocal=Va,Se.isUtcOffset=Wa,Se.isUtc=Xa,Se.isUTC=Xa,Se.zoneAbbr=Xb,Se.zoneName=Yb,Se.dates=aa("dates accessor is deprecated. Use date instead.",Ie),Se.months=aa("months accessor is deprecated. Use month instead",Y),Se.years=aa("years accessor is deprecated. Use year instead",ye),Se.zone=aa("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Oa);var Te=Se,Ue={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ve={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},We="Invalid date",Xe="%d",Ye=/\d{1,2}/,Ze={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},$e=s.prototype;$e._calendar=Ue,$e.calendar=_b,$e._longDateFormat=Ve,$e.longDateFormat=ac,$e._invalidDate=We,$e.invalidDate=bc,$e._ordinal=Xe,$e.ordinal=cc,$e._ordinalParse=Ye,$e.preparse=dc,$e.postformat=dc,$e._relativeTime=Ze,$e.relativeTime=ec,$e.pastFuture=fc,$e.set=gc,$e.months=U,$e._months=re,$e.monthsShort=V,$e._monthsShort=se,$e.monthsParse=W,$e.week=ka,$e._week=ze,$e.firstDayOfYear=ma,$e.firstDayOfWeek=la,$e.weekdays=Lb,$e._weekdays=Je,$e.weekdaysMin=Nb,$e._weekdaysMin=Le,$e.weekdaysShort=Mb,$e._weekdaysShort=Ke,$e.weekdaysParse=Ob,$e.isPM=Ub,$e._meridiemParse=Me,$e.meridiem=Vb,w("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===q(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=aa("moment.lang is deprecated. Use moment.locale instead.",w),a.langData=aa("moment.langData is deprecated. Use moment.localeData instead.",y);var _e=Math.abs,af=yc("ms"),bf=yc("s"),cf=yc("m"),df=yc("h"),ef=yc("d"),ff=yc("w"),gf=yc("M"),hf=yc("y"),jf=Ac("milliseconds"),kf=Ac("seconds"),lf=Ac("minutes"),mf=Ac("hours"),nf=Ac("days"),of=Ac("months"),pf=Ac("years"),qf=Math.round,rf={s:45,m:45,h:22,d:26,M:11},sf=Math.abs,tf=Ha.prototype;tf.abs=oc,tf.add=qc,tf.subtract=rc,tf.as=wc,tf.asMilliseconds=af,tf.asSeconds=bf,tf.asMinutes=cf,tf.asHours=df,tf.asDays=ef,tf.asWeeks=ff,tf.asMonths=gf,tf.asYears=hf,tf.valueOf=xc,tf._bubble=tc,tf.get=zc,tf.milliseconds=jf,tf.seconds=kf,tf.minutes=lf,tf.hours=mf,tf.days=nf,tf.weeks=Bc,tf.months=of,tf.years=pf,tf.humanize=Fc,tf.toISOString=Gc,tf.toString=Gc,tf.toJSON=Gc,tf.locale=rb,tf.localeData=sb,tf.toIsoString=aa("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Gc),tf.lang=He,H("X",0,0,"unix"),H("x",0,0,"valueOf"),N("x",ee),N("X",ge),Q("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Q("x",function(a,b,c){c._d=new Date(q(a))}), -//! moment.js -//! version : 2.10.6 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -a.version="2.10.6",b(Da),a.fn=Te,a.min=Fa,a.max=Ga,a.utc=h,a.unix=Zb,a.months=jc,a.isDate=d,a.locale=w,a.invalid=l,a.duration=Ya,a.isMoment=o,a.weekdays=lc,a.parseZone=$b,a.localeData=y,a.isDuration=Ia,a.monthsShort=kc,a.weekdaysMin=nc,a.defineLocale=x,a.weekdaysShort=mc,a.normalizeUnits=A,a.relativeTimeThreshold=Ec;var uf=a,vf=(uf.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("ar-ma",{months:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆØ˛_ØēØ´ØĒ_Ø´ØĒŲ†Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲ†Ø¨Øą_دØŦŲ†Ø¨Øą".split("_"),monthsShort:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆØ˛_ØēØ´ØĒ_Ø´ØĒŲ†Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲ†Ø¨Øą_دØŦŲ†Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĒŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"احد_اØĒŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_Ø§ØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},week:{dow:6,doy:12}}),{1:"ŲĄ",2:"Ųĸ",3:"ŲŖ",4:"Ų¤",5:"ŲĨ",6:"ŲĻ",7:"Ų§",8:"Ų¨",9:"ŲŠ",0:"Ų "}),wf={"ŲĄ":"1","Ųĸ":"2","ŲŖ":"3","Ų¤":"4","ŲĨ":"5","ŲĻ":"6","Ų§":"7","Ų¨":"8","ŲŠ":"9","Ų ":"0"},xf=(uf.defineLocale("ar-sa",{months:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠŲˆ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆ_ØŖØēØŗØˇØŗ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),monthsShort:"ŲŠŲ†Ø§ŲŠØą_ŲØ¨ØąØ§ŲŠØą_Ų…Ø§ØąØŗ_ØŖØ¨ØąŲŠŲ„_Ų…Ø§ŲŠŲˆ_ŲŠŲˆŲ†ŲŠŲˆ_ŲŠŲˆŲ„ŲŠŲˆ_ØŖØēØŗØˇØŗ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/Øĩ|Ų…/,isPM:function(a){return"Ų…"===a},meridiem:function(a,b,c){return 12>a?"Øĩ":"Ų…"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},preparse:function(a){return a.replace(/[ŲĄŲĸŲŖŲ¤ŲĨŲĻŲ§Ų¨ŲŠŲ ]/g,function(a){return wf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return vf[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),uf.defineLocale("ar-tn",{months:"ØŦØ§Ų†ŲŲŠ_ŲŲŠŲØąŲŠ_Ų…Ø§ØąØŗ_ØŖŲØąŲŠŲ„_Ų…Ø§ŲŠ_ØŦŲˆØ§Ų†_ØŦŲˆŲŠŲ„ŲŠØŠ_ØŖŲˆØĒ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),monthsShort:"ØŦØ§Ų†ŲŲŠ_ŲŲŠŲØąŲŠ_Ų…Ø§ØąØŗ_ØŖŲØąŲŠŲ„_Ų…Ø§ŲŠ_ØŦŲˆØ§Ų†_ØŦŲˆŲŠŲ„ŲŠØŠ_ØŖŲˆØĒ_ØŗØ¨ØĒŲ…Ø¨Øą_ØŖŲƒØĒŲˆØ¨Øą_Ų†ŲˆŲŲ…Ø¨Øą_Ø¯ŲŠØŗŲ…Ø¨Øą".split("_"),weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[Øēدا ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ„Ų‰ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"؁؊ %s",past:"Ų…Ų†Ø° %s",s:"ØĢŲˆØ§Ų†",m:"Ø¯Ų‚ŲŠŲ‚ØŠ",mm:"%d Ø¯Ų‚Ø§ØĻŲ‚",h:"ØŗØ§ØšØŠ",hh:"%d ØŗØ§ØšØ§ØĒ",d:"ŲŠŲˆŲ…",dd:"%d ØŖŲŠØ§Ų…",M:"Ø´Ų‡Øą",MM:"%d ØŖØ´Ų‡Øą",y:"ØŗŲ†ØŠ",yy:"%d ØŗŲ†ŲˆØ§ØĒ"},week:{dow:1,doy:4}}),{1:"ŲĄ",2:"Ųĸ",3:"ŲŖ",4:"Ų¤",5:"ŲĨ",6:"ŲĻ",7:"Ų§",8:"Ų¨",9:"ŲŠ",0:"Ų "}),yf={"ŲĄ":"1","Ųĸ":"2","ŲŖ":"3","Ų¤":"4","ŲĨ":"5","ŲĻ":"6","Ų§":"7","Ų¨":"8","ŲŠ":"9","Ų ":"0"},zf=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},Af={s:["ØŖŲ‚Ų„ Ų…Ų† ØĢØ§Ų†ŲŠØŠ","ØĢØ§Ų†ŲŠØŠ ŲˆØ§Ø­Ø¯ØŠ",["ØĢØ§Ų†ŲŠØĒØ§Ų†","ØĢØ§Ų†ŲŠØĒŲŠŲ†"],"%d ØĢŲˆØ§Ų†","%d ØĢØ§Ų†ŲŠØŠ","%d ØĢØ§Ų†ŲŠØŠ"],m:["ØŖŲ‚Ų„ Ų…Ų† Ø¯Ų‚ŲŠŲ‚ØŠ","Ø¯Ų‚ŲŠŲ‚ØŠ ŲˆØ§Ø­Ø¯ØŠ",["Ø¯Ų‚ŲŠŲ‚ØĒØ§Ų†","Ø¯Ų‚ŲŠŲ‚ØĒŲŠŲ†"],"%d Ø¯Ų‚Ø§ØĻŲ‚","%d Ø¯Ų‚ŲŠŲ‚ØŠ","%d Ø¯Ų‚ŲŠŲ‚ØŠ"],h:["ØŖŲ‚Ų„ Ų…Ų† ØŗØ§ØšØŠ","ØŗØ§ØšØŠ ŲˆØ§Ø­Ø¯ØŠ",["ØŗØ§ØšØĒØ§Ų†","ØŗØ§ØšØĒŲŠŲ†"],"%d ØŗØ§ØšØ§ØĒ","%d ØŗØ§ØšØŠ","%d ØŗØ§ØšØŠ"],d:["ØŖŲ‚Ų„ Ų…Ų† ŲŠŲˆŲ…","ŲŠŲˆŲ… ŲˆØ§Ø­Ø¯",["ŲŠŲˆŲ…Ø§Ų†","ŲŠŲˆŲ…ŲŠŲ†"],"%d ØŖŲŠØ§Ų…","%d ŲŠŲˆŲ…Ų‹Ø§","%d ŲŠŲˆŲ…"],M:["ØŖŲ‚Ų„ Ų…Ų† Ø´Ų‡Øą","Ø´Ų‡Øą ŲˆØ§Ø­Ø¯",["Ø´Ų‡ØąØ§Ų†","Ø´Ų‡ØąŲŠŲ†"],"%d ØŖØ´Ų‡Øą","%d Ø´Ų‡ØąØ§","%d Ø´Ų‡Øą"],y:["ØŖŲ‚Ų„ Ų…Ų† ØšØ§Ų…","ØšØ§Ų… ŲˆØ§Ø­Ø¯",["ØšØ§Ų…Ø§Ų†","ØšØ§Ų…ŲŠŲ†"],"%d ØŖØšŲˆØ§Ų…","%d ØšØ§Ų…Ų‹Ø§","%d ØšØ§Ų…"]},Bf=function(a){return function(b,c,d,e){var f=zf(b),g=Af[a][zf(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Cf=["ŲƒØ§Ų†ŲˆŲ† Ø§Ų„ØĢØ§Ų†ŲŠ ŲŠŲ†Ø§ŲŠØą","Ø´Ø¨Ø§Øˇ ŲØ¨ØąØ§ŲŠØą","ØĸØ°Ø§Øą Ų…Ø§ØąØŗ","Ų†ŲŠØŗØ§Ų† ØŖØ¨ØąŲŠŲ„","ØŖŲŠØ§Øą Ų…Ø§ŲŠŲˆ","Ø­Ø˛ŲŠØąØ§Ų† ŲŠŲˆŲ†ŲŠŲˆ","ØĒŲ…ŲˆØ˛ ŲŠŲˆŲ„ŲŠŲˆ","Øĸب ØŖØēØŗØˇØŗ","ØŖŲŠŲ„ŲˆŲ„ ØŗØ¨ØĒŲ…Ø¨Øą","ØĒØ´ØąŲŠŲ† Ø§Ų„ØŖŲˆŲ„ ØŖŲƒØĒŲˆØ¨Øą","ØĒØ´ØąŲŠŲ† Ø§Ų„ØĢØ§Ų†ŲŠ Ų†ŲˆŲŲ…Ø¨Øą","ŲƒØ§Ų†ŲˆŲ† Ø§Ų„ØŖŲˆŲ„ Ø¯ŲŠØŗŲ…Ø¨Øą"],Df=(uf.defineLocale("ar",{months:Cf,monthsShort:Cf,weekdays:"Ø§Ų„ØŖØ­Ø¯_Ø§Ų„ØĨØĢŲ†ŲŠŲ†_Ø§Ų„ØĢŲ„Ø§ØĢØ§ØĄ_Ø§Ų„ØŖØąØ¨ØšØ§ØĄ_Ø§Ų„ØŽŲ…ŲŠØŗ_Ø§Ų„ØŦŲ…ØšØŠ_Ø§Ų„ØŗØ¨ØĒ".split("_"),weekdaysShort:"ØŖØ­Ø¯_ØĨØĢŲ†ŲŠŲ†_ØĢŲ„Ø§ØĢØ§ØĄ_ØŖØąØ¨ØšØ§ØĄ_ØŽŲ…ŲŠØŗ_ØŦŲ…ØšØŠ_ØŗØ¨ØĒ".split("_"),weekdaysMin:"Ø­_Ų†_ØĢ_Øą_ØŽ_ØŦ_Øŗ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/Øĩ|Ų…/,isPM:function(a){return"Ų…"===a},meridiem:function(a,b,c){return 12>a?"Øĩ":"Ų…"},calendar:{sameDay:"[Ø§Ų„ŲŠŲˆŲ… ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",nextDay:"[ØēØ¯Ų‹Ø§ ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",nextWeek:"dddd [ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",lastDay:"[ØŖŲ…Øŗ ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",lastWeek:"dddd [ØšŲ†Ø¯ Ø§Ų„ØŗØ§ØšØŠ] LT",sameElse:"L"},relativeTime:{future:"بؚد %s",past:"Ų…Ų†Ø° %s",s:Bf("s"),m:Bf("m"),mm:Bf("m"),h:Bf("h"),hh:Bf("h"),d:Bf("d"),dd:Bf("d"),M:Bf("M"),MM:Bf("M"),y:Bf("y"),yy:Bf("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[ŲĄŲĸŲŖŲ¤ŲĨŲĻŲ§Ų¨ŲŠŲ ]/g,function(a){return yf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return xf[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-ÃŧncÃŧ",4:"-ÃŧncÃŧ",100:"-ÃŧncÃŧ",6:"-ncÄą",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ÄąncÄą",90:"-ÄąncÄą"}),Ef=(uf.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamÄą_Çərşənbə_CÃŧmə axşamÄą_CÃŧmə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_CÃŧm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_CÃŧ_Şə".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugÃŧn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dÃŧnən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gÃŧn",dd:"%d gÃŧn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gÃŧndÃŧz|axşam/,isPM:function(a){return/^(gÃŧndÃŧz|axşam)$/.test(a)},meridiem:function(a,b,c){return 4>a?"gecə":12>a?"səhər":17>a?"gÃŧndÃŧz":"axşam"},ordinalParse:/\d{1,2}-(ÄąncÄą|inci|nci|ÃŧncÃŧ|ncÄą|uncu)/,ordinal:function(a){if(0===a)return a+"-ÄąncÄą";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Df[b]||Df[c]||Df[d])},week:{dow:1,doy:7}}),uf.defineLocale("be",{months:Jc,monthsShort:"ŅŅ‚ŅƒĐ´_ĐģŅŽŅ‚_ŅĐ°Đē_ĐēŅ€Đ°Ņ_Ņ‚Ņ€Đ°Đ˛_Ņ‡ŅŅ€Đ˛_ĐģŅ–Đŋ_ĐļĐŊŅ–Đ˛_вĐĩŅ€_ĐēĐ°ŅŅ‚_ĐģҖҁ҂_ҁĐŊĐĩĐļ".split("_"),weekdays:Kc,weekdaysShort:"ĐŊĐ´_ĐŋĐŊ_Đ°Ņ‚_ҁҀ_҇҆_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ°Ņ‚_ҁҀ_҇҆_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Đŗ.",LLL:"D MMMM YYYY Đŗ., HH:mm",LLLL:"dddd, D MMMM YYYY Đŗ., HH:mm"},calendar:{sameDay:"[ĐĄŅ‘ĐŊĐŊŅ Ņž] LT",nextDay:"[Đ—Đ°ŅžŅ‚Ņ€Đ° Ņž] LT",lastDay:"[ĐŖŅ‡ĐžŅ€Đ° Ņž] LT",nextWeek:function(){return"[ĐŖ] dddd [Ņž] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[ĐŖ ĐŧŅ–ĐŊ҃ĐģŅƒŅŽ] dddd [Ņž] LT";case 1:case 2:case 4:return"[ĐŖ ĐŧŅ–ĐŊ҃ĐģŅ‹] dddd [Ņž] LT"}},sameElse:"L"},relativeTime:{future:"ĐŋŅ€Đ°Đˇ %s",past:"%s Ņ‚Đ°Đŧ҃",s:"ĐŊĐĩĐēаĐģҌĐēŅ– ҁĐĩĐē҃ĐŊĐ´",m:Ic,mm:Ic,h:Ic,hh:Ic,d:"дСĐĩĐŊҌ",dd:Ic,M:"ĐŧĐĩŅŅŅ†",MM:Ic,y:"ĐŗĐžĐ´",yy:Ic},meridiemParse:/ĐŊĐžŅ‡Ņ‹|Ņ€Đ°ĐŊҖ҆ҋ|Đ´ĐŊŅ|вĐĩŅ‡Đ°Ņ€Đ°/,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩŅ‡Đ°Ņ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Ņ‹":12>a?"Ņ€Đ°ĐŊҖ҆ҋ":17>a?"Đ´ĐŊŅ":"вĐĩŅ‡Đ°Ņ€Đ°"},ordinalParse:/\d{1,2}-(Ņ–|Ņ‹|ĐŗĐ°)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-Ņ‹":a+"-Ņ–";case"D":return a+"-ĐŗĐ°";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("bg",{months:"ŅĐŊŅƒĐ°Ņ€Đ¸_Ņ„ĐĩĐ˛Ņ€ŅƒĐ°Ņ€Đ¸_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€Đ¸Đģ_ĐŧаК_ŅŽĐŊи_ŅŽĐģи_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŋŅ‚ĐĩĐŧĐ˛Ņ€Đ¸_ĐžĐēŅ‚ĐžĐŧĐ˛Ņ€Đ¸_ĐŊĐžĐĩĐŧĐ˛Ņ€Đ¸_Đ´ĐĩĐēĐĩĐŧĐ˛Ņ€Đ¸".split("_"),monthsShort:"ŅĐŊŅ€_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧаК_ŅŽĐŊи_ŅŽĐģи_Đ°Đ˛Đŗ_ҁĐĩĐŋ_ĐžĐēŅ‚_ĐŊĐžĐĩ_Đ´ĐĩĐē".split("_"),weekdays:"ĐŊĐĩĐ´ĐĩĐģŅ_ĐŋĐžĐŊĐĩĐ´ĐĩĐģĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ŅŅ€ŅĐ´Đ°_҇ĐĩŅ‚Đ˛ŅŠŅ€Ņ‚ŅŠĐē_ĐŋĐĩŅ‚ŅŠĐē_ŅŅŠĐąĐžŅ‚Đ°".split("_"),weekdaysShort:"ĐŊĐĩĐ´_ĐŋĐžĐŊ_Đ˛Ņ‚Đž_ŅŅ€Ņ_҇ĐĩŅ‚_ĐŋĐĩŅ‚_ŅŅŠĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ДĐŊĐĩҁ в] LT",nextDay:"[ĐŖŅ‚Ņ€Đĩ в] LT",nextWeek:"dddd [в] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В иСĐŧиĐŊаĐģĐ°Ņ‚Đ°] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В иСĐŧиĐŊаĐģĐ¸Ņ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"ҁĐģĐĩĐ´ %s",past:"ĐŋŅ€Đĩди %s",s:"ĐŊŅĐēĐžĐģĐēĐž ҁĐĩĐē҃ĐŊди",m:"ĐŧиĐŊŅƒŅ‚Đ°",mm:"%d ĐŧиĐŊŅƒŅ‚Đ¸",h:"Ņ‡Đ°Ņ",hh:"%d Ņ‡Đ°ŅĐ°",d:"Đ´ĐĩĐŊ",dd:"%d Đ´ĐŊи",M:"ĐŧĐĩҁĐĩ҆",MM:"%d ĐŧĐĩҁĐĩŅ†Đ°",y:"ĐŗĐžĐ´Đ¸ĐŊа",yy:"%d ĐŗĐžĐ´Đ¸ĐŊи"},ordinalParse:/\d{1,2}-(Đĩв|ĐĩĐŊ|Ņ‚Đ¸|ви|Ņ€Đ¸|Đŧи)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-Đĩв":0===c?a+"-ĐĩĐŊ":c>10&&20>c?a+"-Ņ‚Đ¸":1===b?a+"-ви":2===b?a+"-Ņ€Đ¸":7===b||8===b?a+"-Đŧи":a+"-Ņ‚Đ¸"},week:{dow:1,doy:7}}),{1:"ā§§",2:"⧍",3:"ā§Š",4:"ā§Ē",5:"ā§Ģ",6:"ā§Ŧ",7:"ā§­",8:"ā§Ž",9:"⧝",0:"ā§Ļ"}),Ff={"ā§§":"1","⧍":"2","ā§Š":"3","ā§Ē":"4","ā§Ģ":"5","ā§Ŧ":"6","ā§­":"7","ā§Ž":"8","⧝":"9","ā§Ļ":"0"},Gf=(uf.defineLocale("bn",{months:"āϜāĻžāύ⧁⧟āĻžāϰ⧀_āĻĢ⧇āĻŦ⧁⧟āĻžāϰ⧀_āĻŽāĻžāĻ°ā§āϚ_āĻāĻĒā§āϰāĻŋāϞ_āĻŽā§‡_āϜ⧁āύ_āϜ⧁āϞāĻžāχ_āĻ…āĻ—āĻžāĻ¸ā§āϟ_āϏ⧇āĻĒā§āĻŸā§‡āĻŽā§āĻŦāϰ_āĻ…āĻ•ā§āĻŸā§‹āĻŦāϰ_āύāϭ⧇āĻŽā§āĻŦāϰ_āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ".split("_"),monthsShort:"āϜāĻžāύ⧁_āĻĢ⧇āĻŦ_āĻŽāĻžāĻ°ā§āϚ_āĻāĻĒāϰ_āĻŽā§‡_āϜ⧁āύ_āϜ⧁āϞ_āĻ…āĻ—_āϏ⧇āĻĒā§āϟ_āĻ…āĻ•ā§āĻŸā§‹_āύāĻ­_āĻĄāĻŋāϏ⧇āĻŽā§".split("_"),weekdays:"āϰāĻŦāĻŋāĻŦāĻžāϰ_āϏ⧋āĻŽāĻŦāĻžāϰ_āĻŽāĻ™ā§āĻ—āϞāĻŦāĻžāϰ_āĻŦ⧁āϧāĻŦāĻžāϰ_āĻŦ⧃āĻšāĻ¸ā§āĻĒāĻ¤ā§āϤāĻŋāĻŦāĻžāϰ_āĻļ⧁āĻ•ā§āϰ⧁āĻŦāĻžāϰ_āĻļāύāĻŋāĻŦāĻžāϰ".split("_"),weekdaysShort:"āϰāĻŦāĻŋ_āϏ⧋āĻŽ_āĻŽāĻ™ā§āĻ—āϞ_āĻŦ⧁āϧ_āĻŦ⧃āĻšāĻ¸ā§āĻĒāĻ¤ā§āϤāĻŋ_āĻļ⧁āĻ•ā§āϰ⧁_āĻļāύāĻŋ".split("_"),weekdaysMin:"āϰāĻŦ_āϏāĻŽ_āĻŽāĻ™ā§āĻ—_āĻŦ⧁_āĻŦā§āϰāĻŋāĻš_āĻļ⧁_āĻļāύāĻŋ".split("_"),longDateFormat:{LT:"A h:mm āϏāĻŽā§Ÿ",LTS:"A h:mm:ss āϏāĻŽā§Ÿ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm āϏāĻŽā§Ÿ",LLLL:"dddd, D MMMM YYYY, A h:mm āϏāĻŽā§Ÿ"},calendar:{sameDay:"[āφāϜ] LT",nextDay:"[āφāĻ—āĻžāĻŽā§€āĻ•āĻžāϞ] LT",nextWeek:"dddd, LT",lastDay:"[āĻ—āϤāĻ•āĻžāϞ] LT",lastWeek:"[āĻ—āϤ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āĻĒāϰ⧇",past:"%s āφāϗ⧇",s:"āĻ•āĻāĻ• āϏ⧇āϕ⧇āĻ¨ā§āĻĄ",m:"āĻāĻ• āĻŽāĻŋāύāĻŋāϟ",mm:"%d āĻŽāĻŋāύāĻŋāϟ",h:"āĻāĻ• āϘāĻ¨ā§āϟāĻž",hh:"%d āϘāĻ¨ā§āϟāĻž",d:"āĻāĻ• āĻĻāĻŋāύ",dd:"%d āĻĻāĻŋāύ",M:"āĻāĻ• āĻŽāĻžāϏ",MM:"%d āĻŽāĻžāϏ",y:"āĻāĻ• āĻŦāĻ›āϰ",yy:"%d āĻŦāĻ›āϰ"},preparse:function(a){return a.replace(/[ā§§ā§¨ā§Šā§Ēā§Ģā§Ŧā§­ā§Žā§¯ā§Ļ]/g,function(a){return Ff[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Ef[a]})},meridiemParse:/āϰāĻžāϤ|āϏāĻ•āĻžāϞ|āĻĻ⧁āĻĒ⧁āϰ|āĻŦāĻŋāϕ⧇āϞ|āϰāĻžāϤ/,isPM:function(a){return/^(āĻĻ⧁āĻĒ⧁āϰ|āĻŦāĻŋāϕ⧇āϞ|āϰāĻžāϤ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"āϰāĻžāϤ":10>a?"āϏāĻ•āĻžāϞ":17>a?"āĻĻ⧁āĻĒ⧁āϰ":20>a?"āĻŦāĻŋāϕ⧇āϞ":"āϰāĻžāϤ"},week:{dow:0,doy:6}}),{1:"āŧĄ",2:"āŧĸ",3:"āŧŖ",4:"āŧ¤",5:"āŧĨ",6:"āŧĻ",7:"āŧ§",8:"āŧ¨",9:"āŧŠ",0:"āŧ "}),Hf={"āŧĄ":"1","āŧĸ":"2","āŧŖ":"3","āŧ¤":"4","āŧĨ":"5","āŧĻ":"6","āŧ§":"7","āŧ¨":"8","āŧŠ":"9","āŧ ":"0"},If=(uf.defineLocale("bo",{months:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ„āŧ‹āŊ”āŊŧ_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊĻāŊ´āŊ˜āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊžāŊ˛āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊŖāž”āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āž˛āŊ´āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊĸāž’āžąāŊ‘āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ‚āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ…āŊ˛āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”".split("_"),monthsShort:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ„āŧ‹āŊ”āŊŧ_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊĻāŊ´āŊ˜āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊžāŊ˛āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊŖāž”āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āž˛āŊ´āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊĸāž’āžąāŊ‘āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‘āŊ‚āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ…āŊ˛āŊ‚āŧ‹āŊ”_āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ–āŊ…āŊ´āŧ‹āŊ‚āŊ‰āŊ˛āŊĻāŧ‹āŊ”".split("_"),weekdays:"āŊ‚āŊŸāŊ āŧ‹āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ‚āŊŸāŊ āŧ‹āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊ‚āŊŸāŊ āŧ‹āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),weekdaysShort:"āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),weekdaysMin:"āŊ‰āŊ˛āŧ‹āŊ˜āŧ‹_āŊŸāžŗāŧ‹āŊ–āŧ‹_āŊ˜āŊ˛āŊ‚āŧ‹āŊ‘āŊ˜āŊĸāŧ‹_āŊŖāžˇāŊ‚āŧ‹āŊ”āŧ‹_āŊ•āŊ´āŊĸāŧ‹āŊ–āŊ´_āŊ”āŧ‹āŊĻāŊ„āŊĻāŧ‹_āŊĻāž¤āŊēāŊ“āŧ‹āŊ”āŧ‹".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[āŊ‘āŊ˛āŧ‹āŊĸāŊ˛āŊ„] LT",nextDay:"[āŊĻāŊ„āŧ‹āŊ‰āŊ˛āŊ“] LT",nextWeek:"[āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ•āž˛āŊ‚āŧ‹āŊĸāž—āŊēāŊĻāŧ‹āŊ˜], LT",lastDay:"[āŊāŧ‹āŊĻāŊ„] LT",lastWeek:"[āŊ–āŊ‘āŊ´āŊ“āŧ‹āŊ•āž˛āŊ‚āŧ‹āŊ˜āŊāŊ āŧ‹āŊ˜] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āŊŖāŧ‹",past:"%s āŊĻāž”āŊ“āŧ‹āŊŖ",s:"āŊŖāŊ˜āŧ‹āŊĻāŊ„",m:"āŊĻāžāŊĸāŧ‹āŊ˜āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",mm:"%d āŊĻāžāŊĸāŧ‹āŊ˜",h:"āŊ†āŊ´āŧ‹āŊšāŊŧāŊ‘āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",hh:"%d āŊ†āŊ´āŧ‹āŊšāŊŧāŊ‘",d:"āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",dd:"%d āŊ‰āŊ˛āŊ“āŧ‹",M:"āŊŸāžŗāŧ‹āŊ–āŧ‹āŊ‚āŊ…āŊ˛āŊ‚",MM:"%d āŊŸāžŗāŧ‹āŊ–",y:"āŊŖāŊŧāŧ‹āŊ‚āŊ…āŊ˛āŊ‚",yy:"%d āŊŖāŊŧ"},preparse:function(a){return a.replace(/[āŧĄāŧĸāŧŖāŧ¤āŧĨāŧĻāŧ§āŧ¨āŧŠāŧ ]/g,function(a){return Hf[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Gf[a]})},meridiemParse:/āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ|āŊžāŊŧāŊ‚āŊĻāŧ‹āŊ€āŊĻ|āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„|āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚|āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ/,isPM:function(a){return/^(āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„|āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚|āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ":10>a?"āŊžāŊŧāŊ‚āŊĻāŧ‹āŊ€āŊĻ":17>a?"āŊ‰āŊ˛āŊ“āŧ‹āŊ‚āŊ´āŊ„":20>a?"āŊ‘āŊ‚āŊŧāŊ„āŧ‹āŊ‘āŊ‚":"āŊ˜āŊšāŊ“āŧ‹āŊ˜āŊŧ"},week:{dow:0,doy:6}}),uf.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoÚ",m:"ur vunutenn",mm:Lc,h:"un eur",hh:"%d eur",d:"un devezh",dd:Lc,M:"ur miz",MM:Lc,y:"ur bloaz",yy:Mc},ordinalParse:/\d{1,2}(aÃą|vet)/,ordinal:function(a){var b=1===a?"aÃą":"vet";return a+b},week:{dow:1,doy:4}}),uf.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅĄlu] dddd [u] LT";case 6:return"[proÅĄle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅĄli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Qc,mm:Qc,h:Qc,hh:Qc,d:"dan",dd:Qc,M:"mjesec",MM:Qc,y:"godinu",yy:Qc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return("w"===b||"W"===b)&&(c="a"),a+c},week:{dow:1,doy:4}}),"leden_Ãēnor_březen_duben_květen_červen_červenec_srpen_zÃĄÅ™Ã­_říjen_listopad_prosinec".split("_")),Jf="led_Ãēno_bře_dub_kvě_čvn_čvc_srp_zÃĄÅ™_říj_lis_pro".split("_"),Kf=(uf.defineLocale("cs",{months:If,monthsShort:Jf,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(If,Jf),weekdays:"neděle_pondělí_ÃēterÃŊ_středa_čtvrtek_pÃĄtek_sobota".split("_"),weekdaysShort:"ne_po_Ãēt_st_čt_pÃĄ_so".split("_"),weekdaysMin:"ne_po_Ãēt_st_čt_pÃĄ_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pÃĄtek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulÊ] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulÃŊ] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:Sc,m:Sc,mm:Sc,h:Sc,hh:Sc,d:Sc,dd:Sc,M:Sc,MM:Sc,y:Sc,yy:Sc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("cv",{months:"Đē͑ҀĐģĐ°Ņ‡_ĐŊĐ°Ņ€Ķ‘Ņ_Đŋ҃҈_аĐēа_ĐŧаК_ŌĢ͗Ҁ҂ĐŧĐĩ_ŅƒŅ‚Ķ‘_ŌĢŅƒŅ€Đģа_Đ°Đ˛Ķ‘ĐŊ_ŅŽĐŋа_҇ͺĐē_Ņ€Đ°ŅˆŅ‚Đ°Đ˛".split("_"),monthsShort:"Đē͑Ҁ_ĐŊĐ°Ņ€_Đŋ҃҈_аĐēа_ĐŧаК_ŌĢĶ—Ņ€_ŅƒŅ‚Ķ‘_ŌĢŅƒŅ€_авĐŊ_ŅŽĐŋа_҇ͺĐē_Ņ€Đ°Ņˆ".split("_"),weekdays:"Đ˛Ņ‹Ņ€ŅĐ°Ņ€ĐŊиĐē҃ĐŊ_Ņ‚ŅƒĐŊŅ‚Đ¸Đē҃ĐŊ_ҋ҂ĐģĐ°Ņ€Đ¸Đē҃ĐŊ_ŅŽĐŊĐē҃ĐŊ_ĐēĶ—ŌĢĐŊĐĩŅ€ĐŊиĐē҃ĐŊ_ŅŅ€ĐŊĐĩĐē҃ĐŊ_ŅˆĶ‘ĐŧĐ°Ņ‚Đē҃ĐŊ".split("_"),weekdaysShort:"Đ˛Ņ‹Ņ€_Ņ‚ŅƒĐŊ_ҋ҂Đģ_ŅŽĐŊ_ĐēĶ—ŌĢ_ŅŅ€ĐŊ_ŅˆĶ‘Đŧ".split("_"),weekdaysMin:"Đ˛Ņ€_Ņ‚ĐŊ_ҋ҂_ŅŽĐŊ_ĐēŌĢ_ŅŅ€_҈Đŧ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—]",LLL:"YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—], HH:mm",LLLL:"dddd, YYYY [ŌĢ҃ĐģŅ…Đ¸] MMMM [ŅƒĐšĶ‘Ņ…Ķ—ĐŊ] D[-ĐŧĶ—ŅˆĶ—], HH:mm"},calendar:{sameDay:"[ĐŸĐ°ŅĐŊ] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",nextDay:"[ĐĢŅ€Đ°ĐŊ] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",lastDay:"[Ķ–ĐŊĐĩŅ€] LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",nextWeek:"[ŌĒĐ¸Ņ‚Đĩҁ] dddd LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",lastWeek:"[Đ˜Ņ€Ņ‚ĐŊĶ—] dddd LT [ҁĐĩŅ…Đĩ҂ҀĐĩ]",sameElse:"L"},relativeTime:{future:function(a){var b=/ҁĐĩŅ…ĐĩŅ‚$/i.exec(a)?"Ņ€ĐĩĐŊ":/ŌĢ҃Đģ$/i.exec(a)?"Ņ‚Đ°ĐŊ":"Ņ€Đ°ĐŊ";return a+b},past:"%s ĐēĐ°ŅĐģĐģа",s:"ĐŋĶ—Ņ€-иĐē ŌĢĐĩĐēĐē҃ĐŊŅ‚",m:"ĐŋĶ—Ņ€ ĐŧиĐŊŅƒŅ‚",mm:"%d ĐŧиĐŊŅƒŅ‚",h:"ĐŋĶ—Ņ€ ҁĐĩŅ…ĐĩŅ‚",hh:"%d ҁĐĩŅ…ĐĩŅ‚",d:"ĐŋĶ—Ņ€ Đē҃ĐŊ",dd:"%d Đē҃ĐŊ",M:"ĐŋĶ—Ņ€ ŅƒĐšĶ‘Ņ…",MM:"%d ŅƒĐšĶ‘Ņ…",y:"ĐŋĶ—Ņ€ ŌĢ҃Đģ",yy:"%d ŌĢ҃Đģ"},ordinalParse:/\d{1,2}-ĐŧĶ—Ņˆ/,ordinal:"%d-ĐŧĶ—Ņˆ",week:{dow:1,doy:7}}),uf.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}}),uf.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I gÃĨr kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"fÃĨ sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en mÃĨned",MM:"%d mÃĨneder",y:"et ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Tc,mm:"%d Minuten",h:Tc,hh:"%d Stunden",d:Tc,dd:Tc,M:Tc,MM:Tc,y:Tc,yy:Tc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Uc,mm:"%d Minuten",h:Uc,hh:"%d Stunden",d:Uc,dd:Uc,M:Uc,MM:Uc,y:Uc,yy:Uc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("el",{monthsNominativeEl:"ΙαÎŊÎŋĪ…ÎŦĪÎšÎŋĪ‚_ÎĻÎĩÎ˛ĪÎŋĪ…ÎŦĪÎšÎŋĪ‚_ΜÎŦĪĪ„ÎšÎŋĪ‚_Î‘Ī€ĪÎ¯ÎģΚÎŋĪ‚_ΜÎŦΚÎŋĪ‚_ΙÎŋĪÎŊΚÎŋĪ‚_ΙÎŋĪÎģΚÎŋĪ‚_Î‘ĪÎŗÎŋĪ…ĪƒĪ„ÎŋĪ‚_ÎŖÎĩĪ€Ī„Î­ÎŧÎ˛ĪÎšÎŋĪ‚_ΟÎēĪ„ĪŽÎ˛ĪÎšÎŋĪ‚_ΝÎŋέÎŧÎ˛ĪÎšÎŋĪ‚_ΔÎĩÎēέÎŧÎ˛ĪÎšÎŋĪ‚".split("_"),monthsGenitiveEl:"ΙαÎŊÎŋĪ…ÎąĪÎ¯ÎŋĪ…_ÎĻÎĩÎ˛ĪÎŋĪ…ÎąĪÎ¯ÎŋĪ…_ÎœÎąĪĪ„Î¯ÎŋĪ…_Î‘Ī€ĪÎšÎģίÎŋĪ…_ΜαΐÎŋĪ…_ΙÎŋĪ…ÎŊίÎŋĪ…_ΙÎŋĪ…ÎģίÎŋĪ…_Î‘Ī…ÎŗÎŋĪĪƒĪ„ÎŋĪ…_ÎŖÎĩ΀΄ÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…_ΟÎēĪ„Ī‰Î˛ĪÎ¯ÎŋĪ…_ΝÎŋÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…_ΔÎĩÎēÎĩÎŧÎ˛ĪÎ¯ÎŋĪ…".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"ΙαÎŊ_ÎĻÎĩβ_ÎœÎąĪ_Î‘Ī€Ī_ÎœÎąĪŠ_ΙÎŋĪ…ÎŊ_ΙÎŋĪ…Îģ_Î‘Ī…Îŗ_ÎŖÎĩĪ€_ΟÎēĪ„_ΝÎŋÎĩ_ΔÎĩÎē".split("_"),weekdays:"ÎšĪ…ĪÎšÎąÎēÎŽ_ΔÎĩĪ…Ī„Î­ĪÎą_Î¤ĪÎ¯Ī„Îˇ_ΤÎĩĪ„ÎŦĪĪ„Îˇ_ΠέÎŧĪ€Ī„Îˇ_Î ÎąĪÎąĪƒÎēÎĩĪ…ÎŽ_ÎŖÎŦÎ˛Î˛ÎąĪ„Îŋ".split("_"),weekdaysShort:"ÎšĪ…Ī_ΔÎĩĪ…_Î¤ĪÎš_ΤÎĩĪ„_ΠÎĩÎŧ_Î ÎąĪ_ÎŖÎąÎ˛".split("_"),weekdaysMin:"ÎšĪ…_ΔÎĩ_Î¤Ī_ΤÎĩ_ΠÎĩ_Πι_ÎŖÎą".split("_"),meridiem:function(a,b,c){return a>11?c?"ÎŧÎŧ":"ΜΜ":c?"Ī€Îŧ":"ΠΜ"},isPM:function(a){return"Îŧ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[ÎŖÎŽÎŧÎĩĪÎą {}] LT",nextDay:"[Î‘ĪĪÎšÎŋ {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[ΧθÎĩĪ‚ {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[Ī„Îŋ ΀΁ÎŋÎˇÎŗÎŋĪÎŧÎĩÎŊÎŋ] dddd [{}] LT";default:return"[Ī„ÎˇÎŊ ΀΁ÎŋÎˇÎŗÎŋĪÎŧÎĩÎŊΡ] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return"function"==typeof c&&(c=c.apply(b)),c.replace("{}",d%12===1?"ĪƒĪ„Îˇ":"ĪƒĪ„ÎšĪ‚")},relativeTime:{future:"΃Îĩ %s",past:"%s Ī€ĪÎšÎŊ",s:"ÎģÎ¯ÎŗÎą δÎĩĪ…Ī„Îĩ΁ΌÎģÎĩĪ€Ī„Îą",m:"έÎŊÎą ÎģÎĩĪ€Ī„ĪŒ",mm:"%d ÎģÎĩ΀΄ÎŦ",h:"ÎŧÎ¯Îą ĪŽĪÎą",hh:"%d ĪŽĪÎĩĪ‚",d:"ÎŧÎ¯Îą ÎŧÎ­ĪÎą",dd:"%d ÎŧÎ­ĪÎĩĪ‚",M:"έÎŊÎąĪ‚ ÎŧÎŽÎŊÎąĪ‚",MM:"%d ÎŧÎŽÎŊÎĩĪ‚",y:"έÎŊÎąĪ‚ Ī‡ĪĪŒÎŊÎŋĪ‚",yy:"%d Ī‡ĪĪŒÎŊΚι"},ordinalParse:/\d{1,2}Ρ/,ordinal:"%dΡ",week:{dow:1,doy:4}}),uf.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY h:mm A",LLLL:"dddd, D MMMM, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),uf.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ä´aÅ­do_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ä´aÅ­_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ä´a_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-an de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[HodiaÅ­ je] LT",nextDay:"[MorgaÅ­ je] LT",nextWeek:"dddd [je] LT",lastDay:"[HieraÅ­ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaÅ­ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}}),"Ene._Feb._Mar._Abr._May._Jun._Jul._Ago._Sep._Oct._Nov._Dic.".split("_")),Lf="Ene_Feb_Mar_Abr_May_Jun_Jul_Ago_Sep_Oct_Nov_Dic".split("_"),Mf=(uf.defineLocale("es",{months:"Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Lf[a.month()]:Kf[a.month()]},weekdays:"Domingo_Lunes_Martes_MiÊrcoles_Jueves_Viernes_SÃĄbado".split("_"),weekdaysShort:"Dom._Lun._Mar._MiÊ._Jue._Vie._SÃĄb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_SÃĄ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[maÃąana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un aÃąo",yy:"%d aÃąos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pÃŧhapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:Vc,m:Vc,mm:Vc,h:Vc,hh:Vc,d:Vc,dd:"%d päeva",M:Vc,MM:Vc,y:Vc,yy:Vc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]", -lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{1:"Ûą",2:"Û˛",3:"Ûŗ",4:"Û´",5:"Ûĩ",6:"Ûļ",7:"Ûˇ",8:"Û¸",9:"Ûš",0:"Û°"}),Nf={"Ûą":"1","Û˛":"2","Ûŗ":"3","Û´":"4","Ûĩ":"5","Ûļ":"6","Ûˇ":"7","Û¸":"8","Ûš":"9","Û°":"0"},Of=(uf.defineLocale("fa",{months:"Ú˜Ø§Ų†ŲˆÛŒŲ‡_ŲŲˆØąÛŒŲ‡_Ų…Ø§ØąØŗ_ØĸŲˆØąÛŒŲ„_Ų…Ų‡_Ú˜ŲˆØĻŲ†_Ú˜ŲˆØĻÛŒŲ‡_Ø§ŲˆØĒ_ØŗŲžØĒØ§Ų…Ø¨Øą_اڊØĒØ¨Øą_Ų†ŲˆØ§Ų…Ø¨Øą_Ø¯ØŗØ§Ų…Ø¨Øą".split("_"),monthsShort:"Ú˜Ø§Ų†ŲˆÛŒŲ‡_ŲŲˆØąÛŒŲ‡_Ų…Ø§ØąØŗ_ØĸŲˆØąÛŒŲ„_Ų…Ų‡_Ú˜ŲˆØĻŲ†_Ú˜ŲˆØĻÛŒŲ‡_Ø§ŲˆØĒ_ØŗŲžØĒØ§Ų…Ø¨Øą_اڊØĒØ¨Øą_Ų†ŲˆØ§Ų…Ø¨Øą_Ø¯ØŗØ§Ų…Ø¨Øą".split("_"),weekdays:"ÛŒÚŠâ€ŒØ´Ų†Ø¨Ų‡_Ø¯ŲˆØ´Ų†Ø¨Ų‡_ØŗŲ‡â€ŒØ´Ų†Ø¨Ų‡_Ú†Ų‡Ø§ØąØ´Ų†Ø¨Ų‡_ŲžŲ†ØŦâ€ŒØ´Ų†Ø¨Ų‡_ØŦŲ…ØšŲ‡_Ø´Ų†Ø¨Ų‡".split("_"),weekdaysShort:"ÛŒÚŠâ€ŒØ´Ų†Ø¨Ų‡_Ø¯ŲˆØ´Ų†Ø¨Ų‡_ØŗŲ‡â€ŒØ´Ų†Ø¨Ų‡_Ú†Ų‡Ø§ØąØ´Ų†Ø¨Ų‡_ŲžŲ†ØŦâ€ŒØ´Ų†Ø¨Ų‡_ØŦŲ…ØšŲ‡_Ø´Ų†Ø¨Ų‡".split("_"),weekdaysMin:"ی_د_Øŗ_چ_Ųž_ØŦ_Ø´".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/Ų‚Ø¨Ų„ Ø§Ø˛ Ø¸Ų‡Øą|بؚد Ø§Ø˛ Ø¸Ų‡Øą/,isPM:function(a){return/بؚد Ø§Ø˛ Ø¸Ų‡Øą/.test(a)},meridiem:function(a,b,c){return 12>a?"Ų‚Ø¨Ų„ Ø§Ø˛ Ø¸Ų‡Øą":"بؚد Ø§Ø˛ Ø¸Ų‡Øą"},calendar:{sameDay:"[Ø§Ų…ØąŲˆØ˛ ØŗØ§ØšØĒ] LT",nextDay:"[ŲØąØ¯Ø§ ØŗØ§ØšØĒ] LT",nextWeek:"dddd [ØŗØ§ØšØĒ] LT",lastDay:"[Ø¯ÛŒØąŲˆØ˛ ØŗØ§ØšØĒ] LT",lastWeek:"dddd [ŲžÛŒØ´] [ØŗØ§ØšØĒ] LT",sameElse:"L"},relativeTime:{future:"Ø¯Øą %s",past:"%s ŲžÛŒØ´",s:"Ú†Ų†Ø¯ÛŒŲ† ØĢØ§Ų†ÛŒŲ‡",m:"یڊ Ø¯Ų‚ÛŒŲ‚Ų‡",mm:"%d Ø¯Ų‚ÛŒŲ‚Ų‡",h:"یڊ ØŗØ§ØšØĒ",hh:"%d ØŗØ§ØšØĒ",d:"یڊ ØąŲˆØ˛",dd:"%d ØąŲˆØ˛",M:"یڊ Ų…Ø§Ų‡",MM:"%d Ų…Ø§Ų‡",y:"یڊ ØŗØ§Ų„",yy:"%d ØŗØ§Ų„"},preparse:function(a){return a.replace(/[Û°-Ûš]/g,function(a){return Nf[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Mf[a]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}Ų…/,ordinal:"%dŲ…",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" ")),Pf=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",Of[7],Of[8],Of[9]],Qf=(uf.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Wc,m:Wc,mm:Wc,h:Wc,hh:Wc,d:Wc,dd:Wc,M:Wc,MM:Wc,y:Wc,yy:Wc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mÃĄnadagur_tÃŊsdagur_mikudagur_hÃŗsdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mÃĄn_tÃŊs_mik_hÃŗs_frí_ley".split("_"),weekdaysMin:"su_mÃĄ_tÃŊ_mi_hÃŗ_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjÃĄr kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fÃĄ sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mÃĄnaði",MM:"%d mÃĄnaðir",y:"eitt ÃĄr",yy:"%d ÃĄr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("fr-ca",{months:"janvier_fÊvrier_mars_avril_mai_juin_juillet_aoÃģt_septembre_octobre_novembre_dÊcembre".split("_"),monthsShort:"janv._fÊvr._mars_avr._mai_juin_juil._aoÃģt_sept._oct._nov._dÊc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}}),uf.defineLocale("fr",{months:"janvier_fÊvrier_mars_avril_mai_juin_juillet_aoÃģt_septembre_octobre_novembre_dÊcembre".split("_"),monthsShort:"janv._fÊvr._mars_avr._mai_juin_juil._aoÃģt_sept._oct._nov._dÊc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),Rf="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),Sf=(uf.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Rf[a.month()]:Qf[a.month()]},weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrÃģne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minÃēt",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_XuÃąo_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._XuÃą._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_MÊrcores_Xoves_Venres_SÃĄbado".split("_"),weekdaysShort:"Dom._Lun._Mar._MÊr._Xov._Ven._SÃĄb.".split("_"),weekdaysMin:"Do_Lu_Ma_MÊ_Xo_Ve_SÃĄ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ÃĄs":"ÃĄ")+"] LT"},nextDay:function(){return"[maÃąÃĄ "+(1!==this.hours()?"ÃĄs":"ÃĄ")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ÃĄs":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"ÃĄ":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ÃĄs":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:7}}),uf.defineLocale("he",{months:"ינואר_פברואר_מר×Ĩ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_ד×Ļמבר".split("_"),monthsShort:"ינו׺_פב׍׺_מר×Ĩ_אפ׍׺_מאי_יוני_יולי_אוג׺_×Ą×¤×˜×ŗ_אוק׺_נוב׺_ד×Ļ×ž×ŗ".split("_"),weekdays:"ראשון_שני_שלישי_רבי×ĸי_חמישי_שישי_שב×Ē".split("_"),weekdaysShort:"א׺_ב׺_×’×ŗ_ד׺_×”×ŗ_ו׺_×Š×ŗ".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_׊".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בש×ĸה] LT",lastDay:"[א×Ēמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בש×ĸה] LT",sameElse:"L"},relativeTime:{future:"ב×ĸוד %s",past:"לפני %s",s:"מספר שניו×Ē",m:"דקה",mm:"%d דקו×Ē",h:"׊×ĸה",hh:function(a){return 2===a?"׊×ĸ×Ēיים":a+" ׊×ĸו×Ē"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"׊נ×Ēיים":a%10===0&&10!==a?a+" שנה":a+" שנים"}}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),Tf={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},Uf=(uf.defineLocale("hi",{months:"⤜⤍ā¤ĩ⤰āĨ€_ā¤Ģā¤ŧ⤰ā¤ĩ⤰āĨ€_ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°āĨˆā¤˛_ā¤Žā¤ˆ_⤜āĨ‚⤍_⤜āĨā¤˛ā¤žā¤ˆ_⤅⤗⤏āĨā¤¤_⤏ā¤ŋā¤¤ā¤ŽāĨā¤Ŧ⤰_⤅⤕āĨā¤ŸāĨ‚ā¤Ŧ⤰_⤍ā¤ĩā¤ŽāĨā¤Ŧ⤰_ā¤Ļā¤ŋā¤¸ā¤ŽāĨā¤Ŧ⤰".split("_"),monthsShort:"⤜⤍._ā¤Ģā¤ŧ⤰._ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°āĨˆ._ā¤Žā¤ˆ_⤜āĨ‚⤍_⤜āĨā¤˛._⤅⤗._⤏ā¤ŋ⤤._⤅⤕āĨā¤ŸāĨ‚._⤍ā¤ĩ._ā¤Ļā¤ŋ⤏.".split("_"),weekdays:"⤰ā¤ĩā¤ŋā¤ĩā¤žā¤°_⤏āĨ‹ā¤Žā¤ĩā¤žā¤°_ā¤Žā¤‚ā¤—ā¤˛ā¤ĩā¤žā¤°_ā¤ŦāĨā¤§ā¤ĩā¤žā¤°_⤗āĨā¤°āĨ‚ā¤ĩā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤ĩā¤žā¤°_ā¤ļ⤍ā¤ŋā¤ĩā¤žā¤°".split("_"),weekdaysShort:"⤰ā¤ĩā¤ŋ_⤏āĨ‹ā¤Ž_ā¤Žā¤‚ā¤—ā¤˛_ā¤ŦāĨā¤§_⤗āĨā¤°āĨ‚_ā¤ļāĨā¤•āĨā¤°_ā¤ļ⤍ā¤ŋ".split("_"),weekdaysMin:"⤰_⤏āĨ‹_ā¤Žā¤‚_ā¤ŦāĨ_⤗āĨ_ā¤ļāĨ_ā¤ļ".split("_"),longDateFormat:{LT:"A h:mm ā¤Ŧ⤜āĨ‡",LTS:"A h:mm:ss ā¤Ŧ⤜āĨ‡",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ā¤Ŧ⤜āĨ‡",LLLL:"dddd, D MMMM YYYY, A h:mm ā¤Ŧ⤜āĨ‡"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤕⤞] LT",nextWeek:"dddd, LT",lastDay:"[⤕⤞] LT",lastWeek:"[ā¤Ēā¤ŋ⤛⤞āĨ‡] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ā¤ŽāĨ‡ā¤‚",past:"%s ā¤Ēā¤šā¤˛āĨ‡",s:"⤕āĨā¤› ā¤šāĨ€ ⤕āĨā¤ˇā¤Ŗ",m:"ā¤ā¤• ā¤Žā¤ŋ⤍⤟",mm:"%d ā¤Žā¤ŋ⤍⤟",h:"ā¤ā¤• ā¤˜ā¤‚ā¤Ÿā¤ž",hh:"%d ā¤˜ā¤‚ā¤ŸāĨ‡",d:"ā¤ā¤• ā¤Ļā¤ŋ⤍",dd:"%d ā¤Ļā¤ŋ⤍",M:"ā¤ā¤• ā¤Žā¤šāĨ€ā¤¨āĨ‡",MM:"%d ā¤Žā¤šāĨ€ā¤¨āĨ‡",y:"ā¤ā¤• ā¤ĩ⤰āĨā¤ˇ",yy:"%d ā¤ĩ⤰āĨā¤ˇ"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return Tf[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Sf[a]})},meridiemParse:/ā¤°ā¤žā¤¤|⤏āĨā¤Ŧā¤š|ā¤ĻāĨ‹ā¤Ēā¤šā¤°|ā¤ļā¤žā¤Ž/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤"===b?4>a?a:a+12:"⤏āĨā¤Ŧā¤š"===b?a:"ā¤ĻāĨ‹ā¤Ēā¤šā¤°"===b?a>=10?a:a+12:"ā¤ļā¤žā¤Ž"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ā¤°ā¤žā¤¤":10>a?"⤏āĨā¤Ŧā¤š":17>a?"ā¤ĻāĨ‹ā¤Ēā¤šā¤°":20>a?"ā¤ļā¤žā¤Ž":"ā¤°ā¤žā¤¤"},week:{dow:0,doy:6}}),uf.defineLocale("hr",{months:"siječanj_veljača_oÅžujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sij._velj._oÅžu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[proÅĄlu] dddd [u] LT";case 6:return"[proÅĄle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[proÅĄli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Yc,mm:Yc,h:Yc,hh:Yc,d:"dan",dd:Yc,M:"mjesec",MM:Yc,y:"godinu",yy:Yc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),"vasÃĄrnap hÊtfőn kedden szerdÃĄn csÃŧtÃļrtÃļkÃļn pÊnteken szombaton".split(" ")),Vf=(uf.defineLocale("hu",{months:"januÃĄr_februÃĄr_mÃĄrcius_ÃĄprilis_mÃĄjus_jÃēnius_jÃēlius_augusztus_szeptember_oktÃŗber_november_december".split("_"),monthsShort:"jan_feb_mÃĄrc_ÃĄpr_mÃĄj_jÃēn_jÃēl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasÃĄrnap_hÊtfő_kedd_szerda_csÃŧtÃļrtÃļk_pÊntek_szombat".split("_"),weekdaysShort:"vas_hÊt_kedd_sze_csÃŧt_pÊn_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return $c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return $c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s mÃēlva",past:"%s",s:Zc,m:Zc,mm:Zc,h:Zc,hh:Zc,d:Zc,dd:Zc,M:Zc,MM:Zc,y:Zc,yy:Zc},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("hy-am",{months:_c,monthsShort:ad,weekdays:bd,weekdaysShort:"կրկ_ÕĨրկ_ÕĨրք_ÕšÖ€Ö„_Õ°ÕļÕŖ_ուրÕĸ_ÕˇÕĸÕŠ".split("_"),weekdaysMin:"կրկ_ÕĨրկ_ÕĨրք_ÕšÖ€Ö„_Õ°ÕļÕŖ_ուրÕĸ_ÕˇÕĸÕŠ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY ÕŠ.",LLL:"D MMMM YYYY ÕŠ., HH:mm",LLLL:"dddd, D MMMM YYYY ÕŠ., HH:mm"},calendar:{sameDay:"[ÕĄÕĩÕŊօր] LT",nextDay:"[ÕžÕĄÕ˛Õ¨] LT",lastDay:"[ÕĨրÕĨÕ¯] LT",nextWeek:function(){return"dddd [օրը ÕĒÕĄÕ´Õ¨] LT"},lastWeek:function(){return"[ÕĄÕļÖÕĄÕŽ] dddd [օրը ÕĒÕĄÕ´Õ¨] LT"},sameElse:"L"},relativeTime:{future:"%s Õ°ÕĨÕŋÕ¸",past:"%s ÕĄÕŧÕĄÕģ",s:"Õ´ÕĢ Ö„ÕĄÕļÕĢ ÕžÕĄÕĩրկÕĩÕĄÕļ",m:"րոÕēÕĨ",mm:"%d րոÕēÕĨ",h:"ÕĒÕĄÕ´",hh:"%d ÕĒÕĄÕ´",d:"օր",dd:"%d օր",M:"ÕĄÕ´ÕĢÕŊ",MM:"%d ÕĄÕ´ÕĢÕŊ",y:"ÕŋÕĄÖ€ÕĢ",yy:"%d ÕŋÕĄÖ€ÕĢ"},meridiemParse:/ÕŖÕĢÕˇÕĨÖ€ÕžÕĄ|ÕĄÕŧÕĄÕžÕ¸ÕŋÕžÕĄ|ցÕĨրÕĨÕ¯ÕžÕĄ|ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ/,isPM:function(a){return/^(ցÕĨրÕĨÕ¯ÕžÕĄ|ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ)$/.test(a)},meridiem:function(a){return 4>a?"ÕŖÕĢÕˇÕĨÖ€ÕžÕĄ":12>a?"ÕĄÕŧÕĄÕžÕ¸ÕŋÕžÕĄ":17>a?"ցÕĨրÕĨÕ¯ÕžÕĄ":"ÕĨրÕĨÕ¯Õ¸ÕĩÕĄÕļ"},ordinalParse:/\d{1,2}|\d{1,2}-(ÕĢÕļ|րդ)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ÕĢÕļ":a+"-րդ";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),uf.defineLocale("is",{months:"janÃēar_febrÃēar_mars_apríl_maí_jÃēní_jÃēlí_ÃĄgÃēst_september_oktÃŗber_nÃŗvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jÃēn_jÃēl_ÃĄgÃē_sep_okt_nÃŗv_des".split("_"),weekdays:"sunnudagur_mÃĄnudagur_Þriðjudagur_miðvikudagur_fimmtudagur_fÃļstudagur_laugardagur".split("_"),weekdaysShort:"sun_mÃĄn_Þri_mið_fim_fÃļs_lau".split("_"),weekdaysMin:"Su_MÃĄ_Þr_Mi_Fi_FÃļ_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[ÃĄ morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gÃĻr kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:dd,m:dd,mm:dd,h:"klukkustund",hh:dd,d:dd,dd:dd,M:dd,MM:dd,y:dd,yy:dd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_LunedÃŦ_MartedÃŦ_MercoledÃŦ_GiovedÃŦ_VenerdÃŦ_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"æ—Ĩ曜æ—Ĩ_月曜æ—Ĩ_įĢ曜æ—Ĩ_水曜æ—Ĩ_木曜æ—Ĩ_金曜æ—Ĩ_土曜æ—Ĩ".split("_"),weekdaysShort:"æ—Ĩ_月_įĢ_æ°´_木_金_土".split("_"),weekdaysMin:"æ—Ĩ_月_įĢ_æ°´_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分sį§’",L:"YYYY/MM/DD",LL:"YYYYåš´M月Dæ—Ĩ",LLL:"YYYYåš´M月Dæ—ĨAh時m分",LLLL:"YYYYåš´M月Dæ—ĨAh時m分 dddd"},meridiemParse:/午前|午垌/i,isPM:function(a){return"午垌"===a},meridiem:function(a,b,c){return 12>a?"午前":"午垌"},calendar:{sameDay:"[ä슿—Ĩ] LT",nextDay:"[明æ—Ĩ] LT",nextWeek:"[æĨ週]dddd LT",lastDay:"[昨æ—Ĩ] LT",lastWeek:"[å‰é€ą]dddd LT",sameElse:"L"},relativeTime:{future:"%s垌",past:"%s前",s:"æ•°į§’",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1æ—Ĩ",dd:"%dæ—Ĩ",M:"1ãƒļ月",MM:"%dãƒļ月",y:"1åš´",yy:"%dåš´"}}),uf.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"enjing":15>a?"siyang":19>a?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),uf.defineLocale("ka",{months:ed,monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სეáƒĨ_ოáƒĨáƒĸ_ნოე_დეკ".split("_"),weekdays:fd,weekdaysShort:"კვი_ორშ_სამ_ოთხ_áƒŽáƒŖáƒ—_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_ქა_ოთ_áƒŽáƒŖ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დáƒĻეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[áƒ’áƒŖáƒ¨áƒ˜áƒœ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[áƒŦინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(a){return/(áƒŦამი|áƒŦáƒŖáƒ—áƒ˜|საათი|áƒŦელი)/.test(a)?a.replace(/ი$/,"ში"):a+"ში"},past:function(a){return/(áƒŦამი|áƒŦáƒŖáƒ—áƒ˜|საათი|დáƒĻე|თვე)/.test(a)?a.replace(/(ი|ე)$/,"იქ áƒŦინ"):/áƒŦელი/.test(a)?a.replace(/áƒŦელი$/,"áƒŦლის áƒŦინ"):void 0},s:"რამდენიმე áƒŦამი",m:"áƒŦáƒŖáƒ—áƒ˜",mm:"%d áƒŦáƒŖáƒ—áƒ˜",h:"საათი",hh:"%d საათი",d:"დáƒĻე",dd:"%d დáƒĻე",M:"თვე",MM:"%d თვე",y:"áƒŦელი",yy:"%d áƒŦელი"},ordinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+"-ლი":20>a||100>=a&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}}),uf.defineLocale("km",{months:"មករážļ_កážģម្ភៈ_មិនážļ_មេសážļ_ឧសភážļ_មិថážģនážļ_កក្កដážļ_សីហážļ_កញ្ញážļ_តážģលážļ_វិច្ឆិកážļ_ធ្នážŧ".split("_"),monthsShort:"មករážļ_កážģម្ភៈ_មិនážļ_មេសážļ_ឧសភážļ_មិថážģនážļ_កក្កដážļ_សីហážļ_កញ្ញážļ_តážģលážļ_វិច្ឆិកážļ_ធ្នážŧ".split("_"),weekdays:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),weekdaysShort:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),weekdaysMin:"ážĸážļទិត្យ_ច័ន្ទ_ážĸង្គážļរ_ពážģធ_ព្រហស្បតិ៍_សážģក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនៈ ម៉ោង] LT",nextDay:"[ស្ážĸែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តážļហ៍មážģន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមážģន",s:"ប៉ážģន្មážļនវិនážļទី",m:"មážŊយនážļទី",mm:"%d នážļទី",h:"មážŊយម៉ោង",hh:"%d ម៉ោង",d:"មážŊយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មážŊយខែ",MM:"%d ខែ",y:"មážŊយឆ្នážļំ",yy:"%d ឆ្នážļំ"},week:{dow:1,doy:4}}),uf.defineLocale("ko",{months:"1ė›”_2ė›”_3ė›”_4ė›”_5ė›”_6ė›”_7ė›”_8ė›”_9ė›”_10ė›”_11ė›”_12ė›”".split("_"),monthsShort:"1ė›”_2ė›”_3ė›”_4ė›”_5ė›”_6ė›”_7ė›”_8ė›”_9ė›”_10ė›”_11ė›”_12ė›”".split("_"),weekdays:"ėŧėš”ėŧ_ė›”ėš”ėŧ_í™”ėš”ėŧ_ėˆ˜ėš”ėŧ_ëĒŠėš”ėŧ_ę¸ˆėš”ėŧ_í† ėš”ėŧ".split("_"),weekdaysShort:"ėŧ_ė›”_화_눘_ëĒŠ_금_토".split("_"),weekdaysMin:"ėŧ_ė›”_화_눘_ëĒŠ_금_토".split("_"),longDateFormat:{LT:"A hė‹œ mëļ„",LTS:"A hė‹œ mëļ„ s봈",L:"YYYY.MM.DD",LL:"YYYY년 MMMM Dėŧ",LLL:"YYYY년 MMMM Dėŧ A hė‹œ mëļ„",LLLL:"YYYY년 MMMM Dėŧ dddd A hė‹œ mëļ„"},calendar:{sameDay:"ė˜¤ëŠ˜ LT",nextDay:"내ėŧ LT",nextWeek:"dddd LT",lastDay:"ė–´ė œ LT",lastWeek:"ė§€ë‚œėŖŧ dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s ė „",s:"ëĒ‡ė´ˆ",ss:"%d봈",m:"ėŧëļ„",mm:"%dëļ„",h:"í•œė‹œę°„",hh:"%dė‹œę°„",d:"í•˜ëŖ¨",dd:"%dėŧ",M:"한ë‹Ŧ",MM:"%dë‹Ŧ",y:"ėŧ년",yy:"%d년"},ordinalParse:/\d{1,2}ėŧ/,ordinal:"%dėŧ",meridiemParse:/ė˜¤ė „|ė˜¤í›„/,isPM:function(a){return"ė˜¤í›„"===a},meridiem:function(a,b,c){return 12>a?"ė˜¤ė „":"ė˜¤í›„"}}),uf.defineLocale("lb",{months:"Januar_Februar_Mäerz_AbrÃĢll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonndeg_MÊindeg_DÃĢnschdeg_MÃĢttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._MÊ._DÃĢ._MÃĢ._Do._Fr._Sa.".split("_"),weekdaysMin:"So_MÊ_DÃĢ_MÃĢ_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[GÃĢschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:hd,past:id,s:"e puer Sekonnen",m:gd,mm:"%d Minutten",h:gd,hh:"%d Stonnen",d:gd,dd:"%d Deeg",M:gd,MM:"%d MÊint",y:gd,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{m:"minutė_minutės_minutę",mm:"minutės_minučiÅŗ_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandÅŗ_valandas",d:"diena_dienos_dieną",dd:"dienos_dienÅŗ_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesiÅŗ_mėnesius",y:"metai_metÅŗ_metus",yy:"metai_metÅŗ_metus"}),Wf="sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_ÅĄeÅĄtadienis".split("_"),Xf=(uf.defineLocale("lt",{months:ld,monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:qd,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Å eÅĄ".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Å ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Å iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieÅĄ %s",s:kd,m:md,mm:pd,h:md,hh:pd,d:md,dd:pd,M:md,MM:pd,y:md,yy:pd},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}}),{m:"minÅĢtes_minÅĢtēm_minÅĢte_minÅĢtes".split("_"),mm:"minÅĢtes_minÅĢtēm_minÅĢte_minÅĢtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneÅĄa_mēneÅĄiem_mēnesis_mēneÅĄi".split("_"),MM:"mēneÅĄa_mēneÅĄiem_mēnesis_mēneÅĄi".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")}),Yf=(uf.defineLocale("lv",{months:"janvāris_februāris_marts_aprÄĢlis_maijs_jÅĢnijs_jÅĢlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jÅĢn_jÅĢl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_treÅĄdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Å odien pulksten] LT",nextDay:"[RÄĢt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[PagājuÅĄÄ] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:ud,m:td,mm:sd,h:td,hh:sd,d:td,dd:sd,M:td,MM:sd,y:td,yy:sd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=Yf.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Yf.correctGrammaticalCase(a,d)}}),Zf=(uf.defineLocale("me",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedjelja","ponedjeljak","utorak","srijeda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sri.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[proÅĄle] [nedjelje] [u] LT","[proÅĄlog] [ponedjeljka] [u] LT","[proÅĄlog] [utorka] [u] LT","[proÅĄle] [srijede] [u] LT","[proÅĄlog] [četvrtka] [u] LT","[proÅĄlog] [petka] [u] LT","[proÅĄle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:Yf.translate,mm:Yf.translate,h:Yf.translate,hh:Yf.translate,d:"dan",dd:Yf.translate,M:"mjesec",MM:Yf.translate,y:"godinu",yy:Yf.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("mk",{months:"Ņ˜Đ°ĐŊŅƒĐ°Ņ€Đ¸_Ņ„ĐĩĐ˛Ņ€ŅƒĐ°Ņ€Đ¸_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€Đ¸Đģ_ĐŧĐ°Ņ˜_Ҙ҃ĐŊи_Ҙ҃Đģи_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŋŅ‚ĐĩĐŧĐ˛Ņ€Đ¸_ĐžĐēŅ‚ĐžĐŧĐ˛Ņ€Đ¸_ĐŊĐžĐĩĐŧĐ˛Ņ€Đ¸_Đ´ĐĩĐēĐĩĐŧĐ˛Ņ€Đ¸".split("_"),monthsShort:"Ņ˜Đ°ĐŊ_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧĐ°Ņ˜_Ҙ҃ĐŊ_Ҙ҃Đģ_Đ°Đ˛Đŗ_ҁĐĩĐŋ_ĐžĐēŅ‚_ĐŊĐžĐĩ_Đ´ĐĩĐē".split("_"),weekdays:"ĐŊĐĩĐ´ĐĩĐģа_ĐŋĐžĐŊĐĩĐ´ĐĩĐģĐŊиĐē_Đ˛Ņ‚ĐžŅ€ĐŊиĐē_ҁҀĐĩда_҇ĐĩŅ‚Đ˛Ņ€Ņ‚ĐžĐē_ĐŋĐĩŅ‚ĐžĐē_ŅĐ°ĐąĐžŅ‚Đ°".split("_"),weekdaysShort:"ĐŊĐĩĐ´_ĐŋĐžĐŊ_Đ˛Ņ‚Đž_ҁҀĐĩ_҇ĐĩŅ‚_ĐŋĐĩŅ‚_ŅĐ°Đą".split("_"),weekdaysMin:"ĐŊe_Đŋo_Đ˛Ņ‚_ҁҀ_҇Đĩ_ĐŋĐĩ_ҁa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[ДĐĩĐŊĐĩҁ вО] LT",nextDay:"[ĐŖŅ‚Ņ€Đĩ вО] LT",nextWeek:"dddd [вО] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° вО] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Во иСĐŧиĐŊĐ°Ņ‚Đ°Ņ‚Đ°] dddd [вО] LT";case 1:case 2:case 4:case 5:return"[Во иСĐŧиĐŊĐ°Ņ‚Đ¸ĐžŅ‚] dddd [вО] LT"}},sameElse:"L"},relativeTime:{future:"ĐŋĐžŅĐģĐĩ %s",past:"ĐŋŅ€ĐĩĐ´ %s",s:"ĐŊĐĩĐēĐžĐģĐē҃ ҁĐĩĐē҃ĐŊди",m:"ĐŧиĐŊŅƒŅ‚Đ°",mm:"%d ĐŧиĐŊŅƒŅ‚Đ¸",h:"Ņ‡Đ°Ņ",hh:"%d Ņ‡Đ°ŅĐ°",d:"Đ´ĐĩĐŊ",dd:"%d Đ´ĐĩĐŊа",M:"ĐŧĐĩҁĐĩ҆",MM:"%d ĐŧĐĩҁĐĩŅ†Đ¸",y:"ĐŗĐžĐ´Đ¸ĐŊа",yy:"%d ĐŗĐžĐ´Đ¸ĐŊи"},ordinalParse:/\d{1,2}-(Đĩв|ĐĩĐŊ|Ņ‚Đ¸|ви|Ņ€Đ¸|Đŧи)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-Đĩв":0===c?a+"-ĐĩĐŊ":c>10&&20>c?a+"-Ņ‚Đ¸":1===b?a+"-ви":2===b?a+"-Ņ€Đ¸":7===b||8===b?a+"-Đŧи":a+"-Ņ‚Đ¸"},week:{dow:1,doy:7}}),uf.defineLocale("ml",{months:"ⴜⴍāĩā´ĩā´°ā´ŋ_ā´Ģāĩ†ā´Ŧāĩā´°āĩā´ĩā´°ā´ŋ_ā´Žā´žāĩŧⴚāĩā´šāĩ_ā´ā´Ēāĩā´°ā´ŋāĩŊ_ā´Žāĩ‡ā´¯āĩ_ⴜāĩ‚āĩē_ⴜāĩ‚ā´˛āĩˆ_ā´“ā´—ā´¸āĩā´ąāĩā´ąāĩ_ā´¸āĩ†ā´Ēāĩā´ąāĩā´ąā´‚ā´Ŧāĩŧ_ā´’ā´•āĩā´Ÿāĩ‹ā´Ŧāĩŧ_ā´¨ā´ĩā´‚ā´Ŧāĩŧ_ā´Ąā´ŋⴏⴂā´Ŧāĩŧ".split("_"),monthsShort:"ⴜⴍāĩ._ā´Ģāĩ†ā´Ŧāĩā´°āĩ._ā´Žā´žāĩŧ._ā´ā´Ēāĩā´°ā´ŋ._ā´Žāĩ‡ā´¯āĩ_ⴜāĩ‚āĩē_ⴜāĩ‚ā´˛āĩˆ._ā´“ā´—._ā´¸āĩ†ā´Ēāĩā´ąāĩā´ą._ā´’ā´•āĩā´Ÿāĩ‹._ā´¨ā´ĩā´‚._ā´Ąā´ŋⴏⴂ.".split("_"),weekdays:"ā´žā´žā´¯ā´ąā´žā´´āĩā´š_ā´¤ā´ŋā´™āĩā´•ā´ŗā´žā´´āĩā´š_ⴚāĩŠā´ĩāĩā´ĩā´žā´´āĩā´š_ā´Ŧāĩā´§ā´¨ā´žā´´āĩā´š_ā´ĩāĩā´¯ā´žā´´ā´žā´´āĩā´š_ā´ĩāĩ†ā´ŗāĩā´ŗā´ŋā´¯ā´žā´´āĩā´š_ā´ļā´¨ā´ŋā´¯ā´žā´´āĩā´š".split("_"),weekdaysShort:"ā´žā´žā´¯āĩŧ_ā´¤ā´ŋā´™āĩā´•āĩž_ⴚāĩŠā´ĩāĩā´ĩ_ā´Ŧāĩā´§āĩģ_ā´ĩāĩā´¯ā´žā´´ā´‚_ā´ĩāĩ†ā´ŗāĩā´ŗā´ŋ_ā´ļā´¨ā´ŋ".split("_"),weekdaysMin:"ā´žā´ž_ā´¤ā´ŋ_ⴚāĩŠ_ā´Ŧāĩ_ā´ĩāĩā´¯ā´ž_ā´ĩāĩ†_ā´ļ".split("_"),longDateFormat:{LT:"A h:mm -ā´¨āĩ",LTS:"A h:mm:ss -ā´¨āĩ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -ā´¨āĩ",LLLL:"dddd, D MMMM YYYY, A h:mm -ā´¨āĩ"},calendar:{sameDay:"[ⴇⴍāĩā´¨āĩ] LT",nextDay:"[ā´¨ā´žā´ŗāĩ†] LT",nextWeek:"dddd, LT",lastDay:"[ⴇⴍāĩā´¨ā´˛āĩ†] LT",lastWeek:"[ā´•ā´´ā´ŋā´žāĩā´ž] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ā´•ā´´ā´ŋā´žāĩā´žāĩ",past:"%s ā´Žāĩāĩģā´Ēāĩ",s:"ā´…āĩŊā´Ē ā´¨ā´ŋā´Žā´ŋⴎⴙāĩā´™āĩž",m:"ā´’ā´°āĩ ā´Žā´ŋā´¨ā´ŋā´ąāĩā´ąāĩ",mm:"%d ā´Žā´ŋā´¨ā´ŋā´ąāĩā´ąāĩ",h:"ā´’ā´°āĩ ā´Žā´Ŗā´ŋā´•āĩā´•āĩ‚āĩŧ",hh:"%d ā´Žā´Ŗā´ŋā´•āĩā´•āĩ‚āĩŧ",d:"ā´’ā´°āĩ ā´Ļā´ŋā´ĩⴏⴂ",dd:"%d ā´Ļā´ŋā´ĩⴏⴂ",M:"ā´’ā´°āĩ ā´Žā´žā´¸ā´‚",MM:"%d ā´Žā´žā´¸ā´‚",y:"ā´’ā´°āĩ ā´ĩāĩŧⴎⴂ",yy:"%d ā´ĩāĩŧⴎⴂ"},meridiemParse:/ā´°ā´žā´¤āĩā´°ā´ŋ|ā´°ā´žā´ĩā´ŋā´˛āĩ†|ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ|ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚|ā´°ā´žā´¤āĩā´°ā´ŋ/i,isPM:function(a){return/^(ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ|ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚|ā´°ā´žā´¤āĩā´°ā´ŋ)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ā´°ā´žā´¤āĩā´°ā´ŋ":12>a?"ā´°ā´žā´ĩā´ŋā´˛āĩ†":17>a?"ā´‰ā´šāĩā´š ā´•ā´´ā´ŋā´žāĩā´žāĩ":20>a?"ā´ĩāĩˆā´•āĩā´¨āĩā´¨āĩ‡ā´°ā´‚":"ā´°ā´žā´¤āĩā´°ā´ŋ"}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),$f={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},_f=(uf.defineLocale("mr",{months:"ā¤œā¤žā¤¨āĨ‡ā¤ĩā¤žā¤°āĨ€_ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨā¤ĩā¤žā¤°āĨ€_ā¤Žā¤žā¤°āĨā¤š_ā¤ā¤ĒāĨā¤°ā¤ŋ⤞_ā¤ŽāĨ‡_⤜āĨ‚⤍_⤜āĨā¤˛āĨˆ_⤑⤗⤏āĨā¤Ÿ_⤏ā¤ĒāĨā¤ŸāĨ‡ā¤‚ā¤Ŧ⤰_⤑⤕āĨā¤ŸāĨ‹ā¤Ŧ⤰_⤍āĨ‹ā¤ĩāĨā¤šāĨ‡ā¤‚ā¤Ŧ⤰_ā¤Ąā¤ŋ⤏āĨ‡ā¤‚ā¤Ŧ⤰".split("_"),monthsShort:"ā¤œā¤žā¤¨āĨ‡._ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨ._ā¤Žā¤žā¤°āĨā¤š._ā¤ā¤ĒāĨā¤°ā¤ŋ._ā¤ŽāĨ‡._⤜āĨ‚⤍._⤜āĨā¤˛āĨˆ._⤑⤗._⤏ā¤ĒāĨā¤ŸāĨ‡ā¤‚._⤑⤕āĨā¤ŸāĨ‹._⤍āĨ‹ā¤ĩāĨā¤šāĨ‡ā¤‚._ā¤Ąā¤ŋ⤏āĨ‡ā¤‚.".split("_"),weekdays:"⤰ā¤ĩā¤ŋā¤ĩā¤žā¤°_⤏āĨ‹ā¤Žā¤ĩā¤žā¤°_ā¤Žā¤‚ā¤—ā¤ŗā¤ĩā¤žā¤°_ā¤ŦāĨā¤§ā¤ĩā¤žā¤°_⤗āĨā¤°āĨ‚ā¤ĩā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤ĩā¤žā¤°_ā¤ļ⤍ā¤ŋā¤ĩā¤žā¤°".split("_"),weekdaysShort:"⤰ā¤ĩā¤ŋ_⤏āĨ‹ā¤Ž_ā¤Žā¤‚ā¤—ā¤ŗ_ā¤ŦāĨā¤§_⤗āĨā¤°āĨ‚_ā¤ļāĨā¤•āĨā¤°_ā¤ļ⤍ā¤ŋ".split("_"),weekdaysMin:"⤰_⤏āĨ‹_ā¤Žā¤‚_ā¤ŦāĨ_⤗āĨ_ā¤ļāĨ_ā¤ļ".split("_"),longDateFormat:{LT:"A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž",LTS:"A h:mm:ss ā¤ĩā¤žā¤œā¤¤ā¤ž",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž",LLLL:"dddd, D MMMM YYYY, A h:mm ā¤ĩā¤žā¤œā¤¤ā¤ž"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤉ā¤ĻāĨā¤¯ā¤ž] LT",nextWeek:"dddd, LT",lastDay:"[ā¤•ā¤žā¤˛] LT",lastWeek:"[ā¤Žā¤žā¤—āĨ€ā¤˛] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ⤍⤂⤤⤰",past:"%s ā¤ĒāĨ‚⤰āĨā¤ĩāĨ€",s:"⤏āĨ‡ā¤•⤂ā¤Ļ",m:"ā¤ā¤• ā¤Žā¤ŋ⤍ā¤ŋ⤟",mm:"%d ā¤Žā¤ŋ⤍ā¤ŋ⤟āĨ‡",h:"ā¤ā¤• ā¤¤ā¤žā¤¸",hh:"%d ā¤¤ā¤žā¤¸",d:"ā¤ā¤• ā¤Ļā¤ŋā¤ĩ⤏",dd:"%d ā¤Ļā¤ŋā¤ĩ⤏",M:"ā¤ā¤• ā¤Žā¤šā¤ŋā¤¨ā¤ž",MM:"%d ā¤Žā¤šā¤ŋ⤍āĨ‡",y:"ā¤ā¤• ā¤ĩ⤰āĨā¤ˇ",yy:"%d ā¤ĩ⤰āĨā¤ˇāĨ‡"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return $f[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Zf[a]})},meridiemParse:/ā¤°ā¤žā¤¤āĨā¤°āĨ€|ā¤¸ā¤•ā¤žā¤ŗāĨ€|ā¤ĻāĨā¤Ēā¤žā¤°āĨ€|ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤āĨā¤°āĨ€"===b?4>a?a:a+12:"ā¤¸ā¤•ā¤žā¤ŗāĨ€"===b?a:"ā¤ĻāĨā¤Ēā¤žā¤°āĨ€"===b?a>=10?a:a+12:"ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ā¤°ā¤žā¤¤āĨā¤°āĨ€":10>a?"ā¤¸ā¤•ā¤žā¤ŗāĨ€":17>a?"ā¤ĻāĨā¤Ēā¤žā¤°āĨ€":20>a?"ā¤¸ā¤žā¤¯ā¤‚ā¤•ā¤žā¤ŗāĨ€":"ā¤°ā¤žā¤¤āĨā¤°āĨ€"},week:{dow:0,doy:6}}),uf.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT", -lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),uf.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),{1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"}),ag={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"},bg=(uf.defineLocale("my",{months:"ဇနá€ēနဝá€Ģရီ_ဖေဖေá€Ŧá€ēဝá€Ģရီ_မတá€ē_ဧပá€ŧီ_မေ_ဇá€Ŋနá€ē_ဇူလိုငá€ē_သá€ŧဂုတá€ē_စကá€ēတငá€ēဘá€Ŧ_အေá€Ŧကá€ēတိုဘá€Ŧ_နိုဝငá€ēဘá€Ŧ_ဒီဇငá€ēဘá€Ŧ".split("_"),monthsShort:"ဇနá€ē_ဖေ_မတá€ē_ပá€ŧီ_မေ_ဇá€Ŋနá€ē_လိုငá€ē_သá€ŧ_စကá€ē_အေá€Ŧကá€ē_နို_ဒီ".split("_"),weekdays:"တနငá€ē္ဂနá€Ŋေ_တနငá€ē္လá€Ŧ_အငá€ē္ဂá€Ģ_ဗုဒယဓဟူး_ကá€ŧá€Ŧသပတေး_သေá€Ŧကá€ŧá€Ŧ_စနေ".split("_"),weekdaysShort:"နá€Ŋေ_လá€Ŧ_ဂá€Ģ_ဟူး_ကá€ŧá€Ŧ_သေá€Ŧ_နေ".split("_"),weekdaysMin:"နá€Ŋေ_လá€Ŧ_ဂá€Ģ_ဟူး_ကá€ŧá€Ŧ_သေá€Ŧ_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှá€Ŧ]",nextDay:"[မနကá€ēဖá€ŧနá€ē] LT [မှá€Ŧ]",nextWeek:"dddd LT [မှá€Ŧ]",lastDay:"[မနေ.က] LT [မှá€Ŧ]",lastWeek:"[ပá€ŧီးခဲ့သေá€Ŧ] dddd LT [မှá€Ŧ]",sameElse:"L"},relativeTime:{future:"လá€Ŧမညá€ē့ %s မှá€Ŧ",past:"လá€Ŋနá€ēခဲ့သေá€Ŧ %s က",s:"စက္ကနá€ē.အနညá€ēးငယá€ē",m:"တစá€ēမိနစá€ē",mm:"%d မိနစá€ē",h:"တစá€ēနá€Ŧရီ",hh:"%d နá€Ŧရီ",d:"တစá€ēရကá€ē",dd:"%d ရကá€ē",M:"တစá€ēလ",MM:"%d လ",y:"တစá€ēနှစá€ē",yy:"%d နှစá€ē"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return ag[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return _f[a]})},week:{dow:1,doy:4}}),uf.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",LTS:"H.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H.mm",LLLL:"dddd D. MMMM YYYY [kl.] H.mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i gÃĨr kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en mÃĨned",MM:"%d mÃĨneder",y:"ett ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"āĨ§",2:"āĨ¨",3:"āĨŠ",4:"āĨĒ",5:"āĨĢ",6:"āĨŦ",7:"āĨ­",8:"āĨŽ",9:"āĨ¯",0:"āĨĻ"}),cg={"āĨ§":"1","āĨ¨":"2","āĨŠ":"3","āĨĒ":"4","āĨĢ":"5","āĨŦ":"6","āĨ­":"7","āĨŽ":"8","āĨ¯":"9","āĨĻ":"0"},dg=(uf.defineLocale("ne",{months:"⤜⤍ā¤ĩ⤰āĨ€_ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨā¤ĩ⤰āĨ€_ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°ā¤ŋ⤞_ā¤Žā¤ˆ_⤜āĨā¤¨_⤜āĨā¤˛ā¤žā¤ˆ_⤅⤗⤎āĨā¤Ÿ_⤏āĨ‡ā¤ĒāĨā¤ŸāĨ‡ā¤ŽāĨā¤Ŧ⤰_⤅⤕āĨā¤ŸāĨ‹ā¤Ŧ⤰_⤍āĨ‹ā¤­āĨ‡ā¤ŽāĨā¤Ŧ⤰_ā¤Ąā¤ŋ⤏āĨ‡ā¤ŽāĨā¤Ŧ⤰".split("_"),monthsShort:"⤜⤍._ā¤ĢāĨ‡ā¤ŦāĨā¤°āĨ._ā¤Žā¤žā¤°āĨā¤š_⤅ā¤ĒāĨā¤°ā¤ŋ._ā¤Žā¤ˆ_⤜āĨā¤¨_⤜āĨā¤˛ā¤žā¤ˆ._⤅⤗._⤏āĨ‡ā¤ĒāĨā¤Ÿ._⤅⤕āĨā¤ŸāĨ‹._⤍āĨ‹ā¤­āĨ‡._ā¤Ąā¤ŋ⤏āĨ‡.".split("_"),weekdays:"⤆⤇⤤ā¤Ŧā¤žā¤°_⤏āĨ‹ā¤Žā¤Ŧā¤žā¤°_ā¤Žā¤™āĨā¤—⤞ā¤Ŧā¤žā¤°_ā¤ŦāĨā¤§ā¤Ŧā¤žā¤°_ā¤Ŧā¤ŋā¤šā¤ŋā¤Ŧā¤žā¤°_ā¤ļāĨā¤•āĨā¤°ā¤Ŧā¤žā¤°_ā¤ļ⤍ā¤ŋā¤Ŧā¤žā¤°".split("_"),weekdaysShort:"⤆⤇⤤._⤏āĨ‹ā¤Ž._ā¤Žā¤™āĨā¤—⤞._ā¤ŦāĨā¤§._ā¤Ŧā¤ŋā¤šā¤ŋ._ā¤ļāĨā¤•āĨā¤°._ā¤ļ⤍ā¤ŋ.".split("_"),weekdaysMin:"⤆⤇._⤏āĨ‹._ā¤Žā¤™āĨ_ā¤ŦāĨ._ā¤Ŧā¤ŋ._ā¤ļāĨ._ā¤ļ.".split("_"),longDateFormat:{LT:"A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡",LTS:"A⤕āĨ‹ h:mm:ss ā¤Ŧ⤜āĨ‡",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡",LLLL:"dddd, D MMMM YYYY, A⤕āĨ‹ h:mm ā¤Ŧ⤜āĨ‡"},preparse:function(a){return a.replace(/[āĨ§āĨ¨āĨŠāĨĒāĨĢāĨŦāĨ­āĨŽāĨ¯āĨĻ]/g,function(a){return cg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return bg[a]})},meridiemParse:/ā¤°ā¤žā¤¤āĨ€|ā¤Ŧā¤ŋā¤šā¤žā¤¨|ā¤Ļā¤ŋ⤉⤁⤏āĨ‹|ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž|ā¤¸ā¤žā¤ā¤|ā¤°ā¤žā¤¤āĨ€/,meridiemHour:function(a,b){return 12===a&&(a=0),"ā¤°ā¤žā¤¤āĨ€"===b?3>a?a:a+12:"ā¤Ŧā¤ŋā¤šā¤žā¤¨"===b?a:"ā¤Ļā¤ŋ⤉⤁⤏āĨ‹"===b?a>=10?a:a+12:"ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž"===b||"ā¤¸ā¤žā¤ā¤"===b?a+12:void 0},meridiem:function(a,b,c){return 3>a?"ā¤°ā¤žā¤¤āĨ€":10>a?"ā¤Ŧā¤ŋā¤šā¤žā¤¨":15>a?"ā¤Ļā¤ŋ⤉⤁⤏āĨ‹":18>a?"ā¤ŦāĨ‡ā¤˛āĨā¤•ā¤ž":20>a?"ā¤¸ā¤žā¤ā¤":"ā¤°ā¤žā¤¤āĨ€"},calendar:{sameDay:"[ā¤†ā¤œ] LT",nextDay:"[⤭āĨ‹ā¤˛āĨ€] LT",nextWeek:"[⤆⤉⤁ā¤ĻāĨ‹] dddd[,] LT",lastDay:"[ā¤šā¤ŋ⤜āĨ‹] LT",lastWeek:"[ā¤—ā¤ā¤•āĨ‹] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sā¤Žā¤ž",past:"%s ā¤…ā¤—ā¤žā¤ĄāĨ€",s:"⤕āĨ‡ā¤šāĨ€ ā¤¸ā¤Žā¤¯",m:"ā¤ā¤• ā¤Žā¤ŋ⤍āĨ‡ā¤Ÿ",mm:"%d ā¤Žā¤ŋ⤍āĨ‡ā¤Ÿ",h:"ā¤ā¤• ⤘⤪āĨā¤Ÿā¤ž",hh:"%d ⤘⤪āĨā¤Ÿā¤ž",d:"ā¤ā¤• ā¤Ļā¤ŋ⤍",dd:"%d ā¤Ļā¤ŋ⤍",M:"ā¤ā¤• ā¤Žā¤šā¤ŋā¤¨ā¤ž",MM:"%d ā¤Žā¤šā¤ŋā¤¨ā¤ž",y:"ā¤ā¤• ā¤Ŧ⤰āĨā¤ˇ",yy:"%d ā¤Ŧ⤰āĨā¤ˇ"},week:{dow:1,doy:7}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),eg="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),fg=(uf.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?eg[a.month()]:dg[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"ÊÊn minuut",mm:"%d minuten",h:"ÊÊn uur",hh:"%d uur",d:"ÊÊn dag",dd:"%d dagen",M:"ÊÊn maand",MM:"%d maanden",y:"ÊÊn jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),uf.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_mÃĨndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mÃĨn_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_mÃĨ_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I gÃĨr klokka] LT",lastWeek:"[FøregÃĨande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein mÃĨnad",MM:"%d mÃĨnader",y:"eit ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),"styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_paÅēdziernik_listopad_grudzień".split("_")),gg="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_paÅēdziernika_listopada_grudnia".split("_"),hg=(uf.defineLocale("pl",{months:function(a,b){return""===b?"("+gg[a.month()]+"|"+fg[a.month()]+")":/D MMMM/.test(b)?gg[a.month()]:fg[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paÅē_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:wd,mm:wd,h:wd,hh:wd,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:wd,y:"rok",yy:wd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_SÃĄbado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_SÃĄb".split("_"),weekdaysMin:"Dom_2ÂĒ_3ÂĒ_4ÂĒ_5ÂĒ_6ÂĒ_SÃĄb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[AmanhÃŖ às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrÃĄs",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mÃĒs",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē"}),uf.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_SÃĄbado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_SÃĄb".split("_"),weekdaysMin:"Dom_2ÂĒ_3ÂĒ_4ÂĒ_5ÂĒ_6ÂĒ_SÃĄb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[AmanhÃŖ às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"hÃĄ %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mÃĒs",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}Âē/,ordinal:"%dÂē",week:{dow:1,doy:4}}),uf.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sÃĸmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_SÃĸm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_SÃĸ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mÃĸine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s ÃŽn urmă",s:"cÃĸteva secunde",m:"un minut",mm:xd,h:"o oră",hh:xd,d:"o zi",dd:xd,M:"o lună",MM:xd,y:"un an",yy:xd},week:{dow:1,doy:7}}),uf.defineLocale("ru",{months:Ad,monthsShort:Bd,weekdays:Cd,weekdaysShort:"Đ˛Ņ_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"Đ˛Ņ_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),monthsParse:[/^ŅĐŊв/i,/^Ņ„Đĩв/i,/^ĐŧĐ°Ņ€/i,/^аĐŋŅ€/i,/^Đŧа[Đš|Ņ]/i,/^Đ¸ŅŽĐŊ/i,/^Đ¸ŅŽĐģ/i,/^Đ°Đ˛Đŗ/i,/^ҁĐĩĐŊ/i,/^ĐžĐēŅ‚/i,/^ĐŊĐžŅ/i,/^Đ´ĐĩĐē/i],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Đŗ.",LLL:"D MMMM YYYY Đŗ., HH:mm",LLLL:"dddd, D MMMM YYYY Đŗ., HH:mm"},calendar:{sameDay:"[ĐĄĐĩĐŗĐžĐ´ĐŊŅ в] LT",nextDay:"[Đ—Đ°Đ˛Ņ‚Ņ€Đ° в] LT",lastDay:"[Đ’Ņ‡ĐĩŅ€Đ° в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В ĐŋŅ€ĐžŅˆĐģĐžĐĩ] dddd [в] LT";case 1:case 2:case 4:return"[В ĐŋŅ€ĐžŅˆĐģŅ‹Đš] dddd [в] LT";case 3:case 5:case 6:return"[В ĐŋŅ€ĐžŅˆĐģŅƒŅŽ] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"҇ĐĩŅ€ĐĩС %s",past:"%s ĐŊаСад",s:"ĐŊĐĩҁĐēĐžĐģҌĐēĐž ҁĐĩĐē҃ĐŊĐ´",m:zd,mm:zd,h:"Ņ‡Đ°Ņ",hh:zd,d:"Đ´ĐĩĐŊҌ",dd:zd,M:"ĐŧĐĩŅŅŅ†",MM:zd,y:"ĐŗĐžĐ´",yy:zd},meridiemParse:/ĐŊĐžŅ‡Đ¸|ŅƒŅ‚Ņ€Đ°|Đ´ĐŊŅ|вĐĩ҇ĐĩŅ€Đ°/i,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩ҇ĐĩŅ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Đ¸":12>a?"ŅƒŅ‚Ņ€Đ°":17>a?"Đ´ĐŊŅ":"вĐĩ҇ĐĩŅ€Đ°"},ordinalParse:/\d{1,2}-(Đš|ĐŗĐž|Ņ)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-Đš";case"D":return a+"-ĐŗĐž";case"w":case"W":return a+"-Ņ";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("si",{months:"āļĸāļąāˇ€āˇāļģ⎒_āļ´āˇ™āļļāļģāˇ€āˇāļģ⎒_āļ¸āˇāļģ⎊āļ­āˇ”_āļ…āļ´āˇŠâ€āļģ⎚āļŊ⎊_āļ¸āˇāļē⎒_āļĸ⎖āļąāˇ’_āļĸ⎖āļŊ⎒_āļ…āļœāˇāˇƒāˇŠāļ­āˇ”_⎃⎐āļ´āˇŠāļ­āˇāļ¸āˇŠāļļāļģ⎊_āļ”āļšāˇŠāļ­āˇāļļāļģ⎊_āļąāˇœāˇ€āˇāļ¸āˇŠāļļāļģ⎊_āļ¯āˇ™āˇƒāˇāļ¸āˇŠāļļāļģ⎊".split("_"),monthsShort:"āļĸāļą_āļ´āˇ™āļļ_āļ¸āˇāļģ⎊_āļ…āļ´āˇŠ_āļ¸āˇāļē⎒_āļĸ⎖āļąāˇ’_āļĸ⎖āļŊ⎒_āļ…āļœāˇ_⎃⎐āļ´āˇŠ_āļ”āļšāˇŠ_āļąāˇœāˇ€āˇ_āļ¯āˇ™āˇƒāˇ".split("_"),weekdays:"āļ‰āļģ⎒āļ¯āˇ_⎃āļŗāˇ”āļ¯āˇ_āļ…āļŸāˇ„āļģāˇ”āˇ€āˇāļ¯āˇ_āļļāļ¯āˇāļ¯āˇ_āļļāˇŠâ€āļģāˇ„āˇƒāˇŠāļ´āļ­āˇ’āļąāˇŠāļ¯āˇ_āˇƒāˇ’āļšāˇ”āļģāˇāļ¯āˇ_āˇƒāˇ™āļąāˇƒāˇ”āļģāˇāļ¯āˇ".split("_"),weekdaysShort:"āļ‰āļģ⎒_⎃āļŗāˇ”_āļ…āļŸ_āļļāļ¯āˇ_āļļāˇŠâ€āļģ⎄_āˇƒāˇ’āļšāˇ”_āˇƒāˇ™āļą".split("_"),weekdaysMin:"āļ‰_⎃_āļ…_āļļ_āļļāˇŠâ€āļģ_āˇƒāˇ’_āˇƒāˇ™".split("_"),longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [⎀⎐āļąāˇ’] dddd, a h:mm:ss"},calendar:{sameDay:"[āļ…āļ¯] LT[āļ§]",nextDay:"[⎄⎙āļ§] LT[āļ§]",nextWeek:"dddd LT[āļ§]",lastDay:"[āļŠāļē⎚] LT[āļ§]",lastWeek:"[āļ´āˇƒāˇ”āļœāˇ’āļē] dddd LT[āļ§]",sameElse:"L"},relativeTime:{future:"%sāļšāˇ’āļąāˇŠ",past:"%sāļšāļ§ āļ´āˇ™āļģ",s:"āļ­āļ­āˇŠāļ´āļģ āļšāˇ’⎄⎒āļ´āļē",m:"āļ¸āˇ’āļąāˇ’āļ­āˇŠāļ­āˇ”⎀",mm:"āļ¸āˇ’āļąāˇ’āļ­āˇŠāļ­āˇ” %d",h:"āļ´āˇāļē",hh:"āļ´āˇāļē %d",d:"āļ¯āˇ’āļąāļē",dd:"āļ¯āˇ’āļą %d",M:"āļ¸āˇāˇƒāļē",MM:"āļ¸āˇāˇƒ %d",y:"āˇ€āˇƒāļģ",yy:"āˇ€āˇƒāļģ %d"},ordinalParse:/\d{1,2} ⎀⎐āļąāˇ’/,ordinal:function(a){return a+" ⎀⎐āļąāˇ’"},meridiem:function(a,b,c){return a>11?c?"āļ´.⎀.":"āļ´āˇƒāˇŠ ⎀āļģ⎔":c?"āļ´āˇ™.⎀.":"āļ´āˇ™āļģ ⎀āļģ⎔"}}),"januÃĄr_februÃĄr_marec_apríl_mÃĄj_jÃēn_jÃēl_august_september_oktÃŗber_november_december".split("_")),ig="jan_feb_mar_apr_mÃĄj_jÃēn_jÃēl_aug_sep_okt_nov_dec".split("_"),jg=(uf.defineLocale("sk",{months:hg,monthsShort:ig,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(hg,ig),weekdays:"nedeÄža_pondelok_utorok_streda_ÅĄtvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_ÅĄt_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_ÅĄt_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeÄžu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo ÅĄtvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulÃē nedeÄžu o] LT";case 1:case 2:return"[minulÃŊ] dddd [o] LT";case 3:return"[minulÃē stredu o] LT";case 4:case 5:return"[minulÃŊ] dddd [o] LT";case 6:return"[minulÃē sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:Ed,m:Ed,mm:Ed,h:Ed,hh:Ed,d:Ed,dd:Ed,M:Ed,MM:Ed,y:Ed,yy:Ed},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejÅĄnjo] [nedeljo] [ob] LT";case 3:return"[prejÅĄnjo] [sredo] [ob] LT";case 6:return"[prejÅĄnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejÅĄnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:Fd,m:Fd,mm:Fd,h:Fd,hh:Fd,d:Fd,dd:Fd,M:Fd,MM:Fd,y:Fd,yy:Fd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_NÃĢntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_NÃĢn_Dhj".split("_"),weekdays:"E Diel_E HÃĢnÃĢ_E MartÃĢ_E MÃĢrkurÃĢ_E Enjte_E Premte_E ShtunÃĢ".split("_"),weekdaysShort:"Die_HÃĢn_Mar_MÃĢr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_MÃĢ_E_P_Sh".split("_"),meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot nÃĢ] LT",nextDay:"[NesÃĢr nÃĢ] LT",nextWeek:"dddd [nÃĢ] LT",lastDay:"[Dje nÃĢ] LT",lastWeek:"dddd [e kaluar nÃĢ] LT",sameElse:"L"},relativeTime:{future:"nÃĢ %s",past:"%s mÃĢ parÃĢ",s:"disa sekonda",m:"njÃĢ minutÃĢ",mm:"%d minuta",h:"njÃĢ orÃĢ",hh:"%d orÃĢ",d:"njÃĢ ditÃĢ",dd:"%d ditÃĢ",M:"njÃĢ muaj",MM:"%d muaj",y:"njÃĢ vit",yy:"%d vite"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{words:{m:["ҘĐĩдаĐŊ ĐŧиĐŊŅƒŅ‚","ҘĐĩĐ´ĐŊĐĩ ĐŧиĐŊŅƒŅ‚Đĩ"],mm:["ĐŧиĐŊŅƒŅ‚","ĐŧиĐŊŅƒŅ‚Đĩ","ĐŧиĐŊŅƒŅ‚Đ°"],h:["ҘĐĩдаĐŊ ŅĐ°Ņ‚","ҘĐĩĐ´ĐŊĐžĐŗ ŅĐ°Ņ‚Đ°"],hh:["ŅĐ°Ņ‚","ŅĐ°Ņ‚Đ°","ŅĐ°Ņ‚Đ¸"],dd:["даĐŊ","даĐŊа","даĐŊа"],MM:["ĐŧĐĩҁĐĩ҆","ĐŧĐĩҁĐĩŅ†Đ°","ĐŧĐĩҁĐĩŅ†Đ¸"],yy:["ĐŗĐžĐ´Đ¸ĐŊа","ĐŗĐžĐ´Đ¸ĐŊĐĩ","ĐŗĐžĐ´Đ¸ĐŊа"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=jg.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+jg.correctGrammaticalCase(a,d)}}),kg=(uf.defineLocale("sr-cyrl",{months:["Ņ˜Đ°ĐŊŅƒĐ°Ņ€","Ņ„ĐĩĐąŅ€ŅƒĐ°Ņ€","ĐŧĐ°Ņ€Ņ‚","аĐŋŅ€Đ¸Đģ","ĐŧĐ°Ņ˜","Ҙ҃ĐŊ","Ҙ҃Đģ","Đ°Đ˛ĐŗŅƒŅŅ‚","ҁĐĩĐŋŅ‚ĐĩĐŧĐąĐ°Ņ€","ĐžĐēŅ‚ĐžĐąĐ°Ņ€","ĐŊОвĐĩĐŧĐąĐ°Ņ€","Đ´Đĩ҆ĐĩĐŧĐąĐ°Ņ€"],monthsShort:["Ņ˜Đ°ĐŊ.","Ņ„ĐĩĐą.","ĐŧĐ°Ņ€.","аĐŋŅ€.","ĐŧĐ°Ņ˜","Ҙ҃ĐŊ","Ҙ҃Đģ","Đ°Đ˛Đŗ.","ҁĐĩĐŋ.","ĐžĐēŅ‚.","ĐŊОв.","Đ´Đĩ҆."],weekdays:["ĐŊĐĩĐ´ĐĩŅ™Đ°","ĐŋĐžĐŊĐĩĐ´ĐĩŅ™Đ°Đē","ŅƒŅ‚ĐžŅ€Đ°Đē","ҁҀĐĩда","҇ĐĩŅ‚Đ˛Ņ€Ņ‚Đ°Đē","ĐŋĐĩŅ‚Đ°Đē","ŅŅƒĐąĐžŅ‚Đ°"],weekdaysShort:["ĐŊĐĩĐ´.","ĐŋĐžĐŊ.","ŅƒŅ‚Đž.","ҁҀĐĩ.","҇ĐĩŅ‚.","ĐŋĐĩŅ‚.","ŅŅƒĐą."],weekdaysMin:["ĐŊĐĩ","ĐŋĐž","ŅƒŅ‚","ҁҀ","҇Đĩ","ĐŋĐĩ","ҁ҃"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[даĐŊĐ°Ņ ҃] LT",nextDay:"[ŅŅƒŅ‚Ņ€Đ° ҃] LT",nextWeek:function(){switch(this.day()){case 0:return"[҃] [ĐŊĐĩĐ´ĐĩŅ™Ņƒ] [҃] LT";case 3:return"[҃] [ҁҀĐĩĐ´Ņƒ] [҃] LT";case 6:return"[҃] [ŅŅƒĐąĐžŅ‚Ņƒ] [҃] LT";case 1:case 2:case 4:case 5:return"[҃] dddd [҃] LT"}},lastDay:"[Ņ˜ŅƒŅ‡Đĩ ҃] LT",lastWeek:function(){var a=["[ĐŋŅ€ĐžŅˆĐģĐĩ] [ĐŊĐĩĐ´ĐĩŅ™Đĩ] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ĐŋĐžĐŊĐĩĐ´ĐĩŅ™Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ŅƒŅ‚ĐžŅ€Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐĩ] [ҁҀĐĩĐ´Đĩ] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [҇ĐĩŅ‚Đ˛Ņ€Ņ‚Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐžĐŗ] [ĐŋĐĩŅ‚Đēа] [҃] LT","[ĐŋŅ€ĐžŅˆĐģĐĩ] [ŅŅƒĐąĐžŅ‚Đĩ] [҃] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"Са %s",past:"ĐŋŅ€Đĩ %s",s:"ĐŊĐĩĐēĐžĐģиĐēĐž ҁĐĩĐē҃ĐŊди",m:jg.translate,mm:jg.translate,h:jg.translate,hh:jg.translate,d:"даĐŊ",dd:jg.translate,M:"ĐŧĐĩҁĐĩ҆",MM:jg.translate,y:"ĐŗĐžĐ´Đ¸ĐŊ҃",yy:jg.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=kg.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+kg.correctGrammaticalCase(a,d)}}),lg=(uf.defineLocale("sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[proÅĄle] [nedelje] [u] LT","[proÅĄlog] [ponedeljka] [u] LT","[proÅĄlog] [utorka] [u] LT","[proÅĄle] [srede] [u] LT","[proÅĄlog] [četvrtka] [u] LT","[proÅĄlog] [petka] [u] LT","[proÅĄle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:kg.translate,mm:kg.translate,h:kg.translate,hh:kg.translate,d:"dan",dd:kg.translate,M:"mesec",MM:kg.translate,y:"godinu",yy:kg.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),uf.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"sÃļndag_mÃĨndag_tisdag_onsdag_torsdag_fredag_lÃļrdag".split("_"),weekdaysShort:"sÃļn_mÃĨn_tis_ons_tor_fre_lÃļr".split("_"),weekdaysMin:"sÃļ_mÃĨ_ti_on_to_fr_lÃļ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[IgÃĨr] LT",nextWeek:"[PÃĨ] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"fÃļr %s sedan",s:"nÃĨgra sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en mÃĨnad",MM:"%d mÃĨnader",y:"ett ÃĨr",yy:"%d ÃĨr"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}}),uf.defineLocale("ta",{months:"āŽœāŽŠāŽĩāŽ°āŽŋ_āŽĒāŽŋāŽĒā¯āŽ°āŽĩāŽ°āŽŋ_āŽŽāŽžāŽ°ā¯āŽšā¯_āŽāŽĒā¯āŽ°āŽ˛ā¯_āŽŽā¯‡_āŽœā¯‚āŽŠā¯_āŽœā¯‚āŽ˛ā¯ˆ_āŽ†āŽ•āŽ¸ā¯āŽŸā¯_āŽšā¯†āŽĒā¯āŽŸā¯†āŽŽā¯āŽĒāŽ°ā¯_āŽ…āŽ•ā¯āŽŸā¯‡āŽžāŽĒāŽ°ā¯_āŽ¨āŽĩāŽŽā¯āŽĒāŽ°ā¯_āŽŸāŽŋāŽšāŽŽā¯āŽĒāŽ°ā¯".split("_"),monthsShort:"āŽœāŽŠāŽĩāŽ°āŽŋ_āŽĒāŽŋāŽĒā¯āŽ°āŽĩāŽ°āŽŋ_āŽŽāŽžāŽ°ā¯āŽšā¯_āŽāŽĒā¯āŽ°āŽ˛ā¯_āŽŽā¯‡_āŽœā¯‚āŽŠā¯_āŽœā¯‚āŽ˛ā¯ˆ_āŽ†āŽ•āŽ¸ā¯āŽŸā¯_āŽšā¯†āŽĒā¯āŽŸā¯†āŽŽā¯āŽĒāŽ°ā¯_āŽ…āŽ•ā¯āŽŸā¯‡āŽžāŽĒāŽ°ā¯_āŽ¨āŽĩāŽŽā¯āŽĒāŽ°ā¯_āŽŸāŽŋāŽšāŽŽā¯āŽĒāŽ°ā¯".split("_"),weekdays:"āŽžāŽžāŽ¯āŽŋāŽąā¯āŽąā¯āŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽ¤āŽŋāŽ™ā¯āŽ•āŽŸā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽšā¯†āŽĩā¯āŽĩāŽžāŽ¯ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĒā¯āŽ¤āŽŠā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĩāŽŋāŽ¯āŽžāŽ´āŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽĩā¯†āŽŗā¯āŽŗāŽŋāŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ_āŽšāŽŠāŽŋāŽ•ā¯āŽ•āŽŋāŽ´āŽŽā¯ˆ".split("_"),weekdaysShort:"āŽžāŽžāŽ¯āŽŋāŽąā¯_āŽ¤āŽŋāŽ™ā¯āŽ•āŽŗā¯_āŽšā¯†āŽĩā¯āŽĩāŽžāŽ¯ā¯_āŽĒā¯āŽ¤āŽŠā¯_āŽĩāŽŋāŽ¯āŽžāŽ´āŽŠā¯_āŽĩā¯†āŽŗā¯āŽŗāŽŋ_āŽšāŽŠāŽŋ".split("_"),weekdaysMin:"āŽžāŽž_āŽ¤āŽŋ_āŽšā¯†_āŽĒ❁_āŽĩāŽŋ_āŽĩ❆_āŽš".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[āŽ‡āŽŠā¯āŽąā¯] LT",nextDay:"[āŽ¨āŽžāŽŗā¯ˆ] LT",nextWeek:"dddd, LT",lastDay:"[āŽ¨ā¯‡āŽąā¯āŽąā¯] LT",lastWeek:"[āŽ•āŽŸāŽ¨ā¯āŽ¤ āŽĩāŽžāŽ°āŽŽā¯] dddd, LT",sameElse:"L"},relativeTime:{future:"%s āŽ‡āŽ˛ā¯",past:"%s āŽŽā¯āŽŠā¯",s:"āŽ’āŽ°ā¯ āŽšāŽŋāŽ˛ āŽĩāŽŋāŽ¨āŽžāŽŸāŽŋāŽ•āŽŗā¯",m:"āŽ’āŽ°ā¯ āŽ¨āŽŋāŽŽāŽŋāŽŸāŽŽā¯",mm:"%d āŽ¨āŽŋāŽŽāŽŋāŽŸāŽ™ā¯āŽ•āŽŗā¯",h:"āŽ’āŽ°ā¯ āŽŽāŽŖāŽŋ āŽ¨ā¯‡āŽ°āŽŽā¯",hh:"%d āŽŽāŽŖāŽŋ āŽ¨ā¯‡āŽ°āŽŽā¯",d:"āŽ’āŽ°ā¯ āŽ¨āŽžāŽŗā¯",dd:"%d āŽ¨āŽžāŽŸā¯āŽ•āŽŗā¯",M:"āŽ’āŽ°ā¯ āŽŽāŽžāŽ¤āŽŽā¯",MM:"%d āŽŽāŽžāŽ¤āŽ™ā¯āŽ•āŽŗā¯",y:"āŽ’āŽ°ā¯ āŽĩāŽ°ā¯āŽŸāŽŽā¯",yy:"%d āŽ†āŽŖā¯āŽŸā¯āŽ•āŽŗā¯"},ordinalParse:/\d{1,2}āŽĩāŽ¤ā¯/,ordinal:function(a){return a+"āŽĩāŽ¤ā¯"},meridiemParse:/āŽ¯āŽžāŽŽāŽŽā¯|āŽĩā¯ˆāŽ•āŽąā¯ˆ|āŽ•āŽžāŽ˛ā¯ˆ|āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯|āŽŽāŽąā¯āŽĒāŽžāŽŸā¯|āŽŽāŽžāŽ˛ā¯ˆ/,meridiem:function(a,b,c){return 2>a?" āŽ¯āŽžāŽŽāŽŽā¯":6>a?" āŽĩā¯ˆāŽ•āŽąā¯ˆ":10>a?" āŽ•āŽžāŽ˛ā¯ˆ":14>a?" āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯":18>a?" āŽŽāŽąā¯āŽĒāŽžāŽŸā¯":22>a?" āŽŽāŽžāŽ˛ā¯ˆ":" āŽ¯āŽžāŽŽāŽŽā¯"},meridiemHour:function(a,b){return 12===a&&(a=0),"āŽ¯āŽžāŽŽāŽŽā¯"===b?2>a?a:a+12:"āŽĩā¯ˆāŽ•āŽąā¯ˆ"===b||"āŽ•āŽžāŽ˛ā¯ˆ"===b?a:"āŽ¨āŽŖā¯āŽĒāŽ•āŽ˛ā¯"===b&&a>=10?a:a+12},week:{dow:0,doy:6}}),uf.defineLocale("th",{months:"ā¸Ąā¸ā¸Ŗā¸˛ā¸„ā¸Ą_ā¸ā¸¸ā¸Ąā¸ ā¸˛ā¸žā¸ąā¸™ā¸˜āšŒ_ā¸Ąā¸ĩā¸™ā¸˛ā¸„ā¸Ą_āš€ā¸Ąā¸Šā¸˛ā¸ĸ⏙_ā¸žā¸¤ā¸Šā¸ ā¸˛ā¸„ā¸Ą_ā¸Ąā¸´ā¸–ā¸¸ā¸™ā¸˛ā¸ĸ⏙_ā¸ā¸Ŗā¸ā¸Žā¸˛ā¸„ā¸Ą_ā¸Ē⏴⏇ā¸Ģā¸˛ā¸„ā¸Ą_ā¸ā¸ąā¸™ā¸ĸ⏞ā¸ĸ⏙_⏕⏏ā¸Ĩā¸˛ā¸„ā¸Ą_ā¸žā¸¤ā¸¨ā¸ˆā¸´ā¸ā¸˛ā¸ĸ⏙_ā¸˜ā¸ąā¸™ā¸§ā¸˛ā¸„ā¸Ą".split("_"),monthsShort:"ā¸Ąā¸ā¸Ŗā¸˛_ā¸ā¸¸ā¸Ąā¸ ā¸˛_ā¸Ąā¸ĩ⏙⏞_āš€ā¸Ąā¸Šā¸˛_ā¸žā¸¤ā¸Šā¸ ā¸˛_ā¸Ąā¸´ā¸–ā¸¸ā¸™ā¸˛_ā¸ā¸Ŗā¸ā¸Žā¸˛_ā¸Ē⏴⏇ā¸Ģ⏞_ā¸ā¸ąā¸™ā¸ĸ⏞_⏕⏏ā¸Ĩ⏞_ā¸žā¸¤ā¸¨ā¸ˆā¸´ā¸ā¸˛_ā¸˜ā¸ąā¸™ā¸§ā¸˛".split("_"),weekdays:"⏭⏞⏗⏴⏕ā¸ĸāšŒ_ā¸ˆā¸ąā¸™ā¸—ā¸ŖāšŒ_ā¸­ā¸ąā¸‡ā¸„ā¸˛ā¸Ŗ_ā¸žā¸¸ā¸˜_ā¸žā¸¤ā¸Ģā¸ąā¸Ēā¸šā¸”ā¸ĩ_ā¸¨ā¸¸ā¸ā¸ŖāšŒ_āš€ā¸Ēā¸˛ā¸ŖāšŒ".split("_"),weekdaysShort:"⏭⏞⏗⏴⏕ā¸ĸāšŒ_ā¸ˆā¸ąā¸™ā¸—ā¸ŖāšŒ_ā¸­ā¸ąā¸‡ā¸„ā¸˛ā¸Ŗ_ā¸žā¸¸ā¸˜_ā¸žā¸¤ā¸Ģā¸ąā¸Ē_ā¸¨ā¸¸ā¸ā¸ŖāšŒ_āš€ā¸Ēā¸˛ā¸ŖāšŒ".split("_"),weekdaysMin:"⏭⏞._⏈._⏭._ā¸ž._ā¸žā¸¤._⏍._ā¸Ē.".split("_"),longDateFormat:{LT:"H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ",LTS:"H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ s ⏧⏴⏙⏞⏗ā¸ĩ",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY āš€ā¸§ā¸Ĩ⏞ H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ",LLLL:"ā¸§ā¸ąā¸™dddd⏗ā¸ĩāšˆ D MMMM YYYY āš€ā¸§ā¸Ĩ⏞ H ⏙⏞ā¸Ŧ⏴⏁⏞ m ⏙⏞⏗ā¸ĩ"},meridiemParse:/ā¸āšˆā¸­ā¸™āš€ā¸—ā¸ĩāšˆā¸ĸ⏇|ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇/,isPM:function(a){return"ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇"===a},meridiem:function(a,b,c){return 12>a?"ā¸āšˆā¸­ā¸™āš€ā¸—ā¸ĩāšˆā¸ĸ⏇":"ā¸Ģā¸Ĩā¸ąā¸‡āš€ā¸—ā¸ĩāšˆā¸ĸ⏇"},calendar:{sameDay:"[ā¸§ā¸ąā¸™ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",nextDay:"[ā¸žā¸Ŗā¸¸āšˆā¸‡ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",nextWeek:"dddd[ā¸Ģā¸™āš‰ā¸˛ āš€ā¸§ā¸Ĩ⏞] LT",lastDay:"[āš€ā¸Ąā¸ˇāšˆā¸­ā¸§ā¸˛ā¸™ā¸™ā¸ĩāš‰ āš€ā¸§ā¸Ĩ⏞] LT",lastWeek:"[ā¸§ā¸ąā¸™]dddd[⏗ā¸ĩāšˆāšā¸Ĩāš‰ā¸§ āš€ā¸§ā¸Ĩ⏞] LT",sameElse:"L"},relativeTime:{future:"⏭ā¸ĩ⏁ %s",past:"%s⏗ā¸ĩāšˆāšā¸Ĩāš‰ā¸§",s:"āš„ā¸Ąāšˆā¸ā¸ĩāšˆā¸§ā¸´ā¸™ā¸˛ā¸—ā¸ĩ",m:"1 ⏙⏞⏗ā¸ĩ",mm:"%d ⏙⏞⏗ā¸ĩ",h:"1 ā¸Šā¸ąāšˆā¸§āš‚ā¸Ąā¸‡",hh:"%d ā¸Šā¸ąāšˆā¸§āš‚ā¸Ąā¸‡",d:"1 ā¸§ā¸ąā¸™",dd:"%d ā¸§ā¸ąā¸™",M:"1 āš€ā¸”ā¸ˇā¸­ā¸™",MM:"%d āš€ā¸”ā¸ˇā¸­ā¸™",y:"1 ⏛ā¸ĩ",yy:"%d ⏛ā¸ĩ"}}),uf.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),{1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'ÃŧncÃŧ",4:"'ÃŧncÃŧ",100:"'ÃŧncÃŧ",6:"'ncÄą",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ÄąncÄą",90:"'ÄąncÄą"}),mg=(uf.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_MayÄąs_Haziran_Temmuz_Ağustos_EylÃŧl_Ekim_KasÄąm_AralÄąk".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_SalÄą_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugÃŧn saat] LT",nextDay:"[yarÄąn saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dÃŧn] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s Ãļnce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gÃŧn",dd:"%d gÃŧn",M:"bir ay",MM:"%d ay",y:"bir yÄąl",yy:"%d yÄąl"},ordinalParse:/\d{1,2}'(inci|nci|ÃŧncÃŧ|ncÄą|uncu|ÄąncÄą)/,ordinal:function(a){if(0===a)return a+"'ÄąncÄą";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(lg[b]||lg[c]||lg[d])},week:{dow:1,doy:7}}),uf.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_GÃŧn_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_GÃŧn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"SÃēladi_LÃēneçi_Maitzi_MÃĄrcuri_XhÃēadi_ViÊnerçi_SÃĄturi".split("_"),weekdaysShort:"SÃēl_LÃēn_Mai_MÃĄr_XhÃē_ViÊ_SÃĄt".split("_"),weekdaysMin:"SÃē_LÃē_Ma_MÃĄ_Xh_Vi_SÃĄ".split("_"),longDateFormat:{LT:"HH.mm",LTS:"LT.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY LT",LLLL:"dddd, [li] D. MMMM [dallas] YYYY LT"},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sÃŧr el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Gd,m:Gd,mm:Gd,h:Gd,hh:Gd,d:Gd,dd:Gd,M:Gd,MM:Gd,y:Gd,yy:Gd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),uf.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ÉŖwÅĄt_ÅĄwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ÉŖwÅĄt_ÅĄwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),uf.defineLocale("tzm",{months:"âĩ‰âĩâĩâ´°âĩĸâĩ”_â´ąâĩ•â´°âĩĸâĩ•_âĩŽâ´°âĩ•âĩš_âĩ‰â´ąâĩ”âĩ‰âĩ”_âĩŽâ´°âĩĸâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“âĩŖ_âĩ–âĩ“âĩ›âĩœ_âĩ›âĩ“âĩœâ´°âĩâ´ąâĩ‰âĩ”_â´ŊâĩŸâĩ“â´ąâĩ•_âĩâĩ“âĩĄâ´°âĩâ´ąâĩ‰âĩ”_â´ˇâĩ“âĩŠâĩâ´ąâĩ‰âĩ”".split("_"),monthsShort:"âĩ‰âĩâĩâ´°âĩĸâĩ”_â´ąâĩ•â´°âĩĸâĩ•_âĩŽâ´°âĩ•âĩš_âĩ‰â´ąâĩ”âĩ‰âĩ”_âĩŽâ´°âĩĸâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“_âĩĸâĩ“âĩâĩĸâĩ“âĩŖ_âĩ–âĩ“âĩ›âĩœ_âĩ›âĩ“âĩœâ´°âĩâ´ąâĩ‰âĩ”_â´ŊâĩŸâĩ“â´ąâĩ•_âĩâĩ“âĩĄâ´°âĩâ´ąâĩ‰âĩ”_â´ˇâĩ“âĩŠâĩâ´ąâĩ‰âĩ”".split("_"),weekdays:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),weekdaysShort:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),weekdaysMin:"â´°âĩ™â´°âĩŽâ´°âĩ™_â´°âĩĸâĩâ´°âĩ™_â´°âĩ™âĩ‰âĩâ´°âĩ™_â´°â´Ŋâĩ”â´°âĩ™_â´°â´ŊâĩĄâ´°âĩ™_â´°âĩ™âĩ‰âĩŽâĩĄâ´°âĩ™_â´°âĩ™âĩ‰â´šâĩĸâ´°âĩ™".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[â´°âĩ™â´ˇâĩ… â´´] LT",nextDay:"[â´°âĩ™â´Ŋâ´° â´´] LT",nextWeek:"dddd [â´´] LT",lastDay:"[â´°âĩšâ´°âĩâĩœ â´´] LT",lastWeek:"dddd [â´´] LT",sameElse:"L"},relativeTime:{future:"ⴡⴰⴡâĩ… âĩ™ âĩĸâ´°âĩ %s",past:"âĩĸâ´°âĩ %s",s:"âĩ‰âĩŽâĩ‰â´Ŋ",m:"âĩŽâĩ‰âĩâĩ“â´ē",mm:"%d âĩŽâĩ‰âĩâĩ“â´ē",h:"âĩ™â´°âĩ„â´°",hh:"%d âĩœâ´°âĩ™âĩ™â´°âĩ„âĩ‰âĩ",d:"â´°âĩ™âĩ™",dd:"%d oâĩ™âĩ™â´°âĩ",M:"â´°âĩĸoâĩ“âĩ”",MM:"%d âĩ‰âĩĸâĩĸâĩ‰âĩ”âĩ",y:"â´°âĩ™â´ŗâ´°âĩ™",yy:"%d âĩ‰âĩ™â´ŗâ´°âĩ™âĩ"},week:{dow:6,doy:12}}),uf.defineLocale("uk",{months:Jd,monthsShort:"ҁҖ҇_ĐģŅŽŅ‚_ĐąĐĩŅ€_ĐēĐ˛Ņ–Ņ‚_Ņ‚Ņ€Đ°Đ˛_҇ĐĩŅ€Đ˛_ĐģиĐŋ_ҁĐĩŅ€Đŋ_вĐĩŅ€_ĐļĐžĐ˛Ņ‚_ĐģĐ¸ŅŅ‚_ĐŗŅ€ŅƒĐ´".split("_"),weekdays:Kd,weekdaysShort:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),weekdaysMin:"ĐŊĐ´_ĐŋĐŊ_Đ˛Ņ‚_ҁҀ_҇҂_ĐŋŅ‚_ŅĐą".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY Ņ€.",LLL:"D MMMM YYYY Ņ€., HH:mm",LLLL:"dddd, D MMMM YYYY Ņ€., HH:mm"},calendar:{sameDay:Ld("[ĐĄŅŒĐžĐŗĐžĐ´ĐŊŅ– "),nextDay:Ld("[Đ—Đ°Đ˛Ņ‚Ņ€Đ° "),lastDay:Ld("[Đ’Ņ‡ĐžŅ€Đ° "),nextWeek:Ld("[ĐŖ] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Ld("[МиĐŊ҃ĐģĐžŅ—] dddd [").call(this);case 1:case 2:case 4:return Ld("[МиĐŊ҃ĐģĐžĐŗĐž] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"Са %s",past:"%s Ņ‚ĐžĐŧ҃",s:"Đ´ĐĩĐēŅ–ĐģҌĐēа ҁĐĩĐē҃ĐŊĐ´",m:Id,mm:Id,h:"ĐŗĐžĐ´Đ¸ĐŊ҃",hh:Id,d:"Đ´ĐĩĐŊҌ",dd:Id,M:"ĐŧŅ–ŅŅŅ†ŅŒ",MM:Id,y:"ҀҖĐē",yy:Id},meridiemParse:/ĐŊĐžŅ‡Ņ–|Ņ€Đ°ĐŊĐē҃|Đ´ĐŊŅ|вĐĩŅ‡ĐžŅ€Đ°/,isPM:function(a){return/^(Đ´ĐŊŅ|вĐĩŅ‡ĐžŅ€Đ°)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ĐŊĐžŅ‡Ņ–":12>a?"Ņ€Đ°ĐŊĐē҃":17>a?"Đ´ĐŊŅ":"вĐĩŅ‡ĐžŅ€Đ°"},ordinalParse:/\d{1,2}-(Đš|ĐŗĐž)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-Đš";case"D":return a+"-ĐŗĐž";default:return a}},week:{dow:1,doy:7}}),uf.defineLocale("uz",{months:"ŅĐŊĐ˛Đ°Ņ€ŅŒ_Ņ„ĐĩĐ˛Ņ€Đ°ĐģҌ_ĐŧĐ°Ņ€Ņ‚_аĐŋŅ€ĐĩĐģҌ_ĐŧаК_Đ¸ŅŽĐŊҌ_Đ¸ŅŽĐģҌ_Đ°Đ˛ĐŗŅƒŅŅ‚_ҁĐĩĐŊŅ‚ŅĐąŅ€ŅŒ_ĐžĐēŅ‚ŅĐąŅ€ŅŒ_ĐŊĐžŅĐąŅ€ŅŒ_Đ´ĐĩĐēĐ°ĐąŅ€ŅŒ".split("_"),monthsShort:"ŅĐŊв_Ņ„Đĩв_ĐŧĐ°Ņ€_аĐŋŅ€_ĐŧаК_Đ¸ŅŽĐŊ_Đ¸ŅŽĐģ_Đ°Đ˛Đŗ_ҁĐĩĐŊ_ĐžĐēŅ‚_ĐŊĐžŅ_Đ´ĐĩĐē".split("_"),weekdays:"Đ¯ĐēŅˆĐ°ĐŊйа_Đ”ŅƒŅˆĐ°ĐŊйа_ĐĄĐĩŅˆĐ°ĐŊйа_Đ§ĐžŅ€ŅˆĐ°ĐŊйа_ĐŸĐ°ĐšŅˆĐ°ĐŊйа_Đ–ŅƒĐŧа_ШаĐŊйа".split("_"),weekdaysShort:"Đ¯Đē҈_Đ”ŅƒŅˆ_ĐĄĐĩ҈_Đ§ĐžŅ€_Пай_Đ–ŅƒĐŧ_ШаĐŊ".split("_"),weekdaysMin:"Đ¯Đē_Đ”Ņƒ_ĐĄĐĩ_ЧО_Па_Đ–Ņƒ_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Đ‘ŅƒĐŗŅƒĐŊ ŅĐžĐ°Ņ‚] LT [да]",nextDay:"[Đ­Ņ€Ņ‚Đ°ĐŗĐ°] LT [да]",nextWeek:"dddd [Đē҃ĐŊи ŅĐžĐ°Ņ‚] LT [да]",lastDay:"[КĐĩŅ‡Đ° ŅĐžĐ°Ņ‚] LT [да]",lastWeek:"[ĐŖŅ‚ĐŗĐ°ĐŊ] dddd [Đē҃ĐŊи ŅĐžĐ°Ņ‚] LT [да]",sameElse:"L"},relativeTime:{future:"Đ¯ĐēиĐŊ %s Đ¸Ņ‡Đ¸Đ´Đ°",past:"Đ‘Đ¸Ņ€ ĐŊĐĩŅ‡Đ° %s ĐžĐģдиĐŊ",s:"Ņ„ŅƒŅ€ŅĐ°Ņ‚",m:"ĐąĐ¸Ņ€ даĐēиĐēа",mm:"%d даĐēиĐēа",h:"ĐąĐ¸Ņ€ ŅĐžĐ°Ņ‚",hh:"%d ŅĐžĐ°Ņ‚",d:"ĐąĐ¸Ņ€ Đē҃ĐŊ",dd:"%d Đē҃ĐŊ",M:"ĐąĐ¸Ņ€ ОК",MM:"%d ОК",y:"ĐąĐ¸Ņ€ КиĐģ",yy:"%d КиĐģ"},week:{dow:1,doy:7}}),uf.defineLocale("vi",{months:"thÃĄng 1_thÃĄng 2_thÃĄng 3_thÃĄng 4_thÃĄng 5_thÃĄng 6_thÃĄng 7_thÃĄng 8_thÃĄng 9_thÃĄng 10_thÃĄng 11_thÃĄng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"cháģ§ nháē­t_tháģŠ hai_tháģŠ ba_tháģŠ tư_tháģŠ năm_tháģŠ sÃĄu_tháģŠ báēŖy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm", -llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lÃēc] LT",nextDay:"[Ngày mai lÃēc] LT",nextWeek:"dddd [tuáē§n táģ›i lÃēc] LT",lastDay:"[Hôm qua lÃēc] LT",lastWeek:"dddd [tuáē§n ráģ“i lÃēc] LT",sameElse:"L"},relativeTime:{future:"%s táģ›i",past:"%s trưáģ›c",s:"vài giÃĸy",m:"máģ™t phÃēt",mm:"%d phÃēt",h:"máģ™t giáģ",hh:"%d giáģ",d:"máģ™t ngày",dd:"%d ngày",M:"máģ™t thÃĄng",MM:"%d thÃĄng",y:"máģ™t năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),uf.defineLocale("zh-cn",{months:"一月_ä猿œˆ_三月_四月_ä甿œˆ_六月_七月_å…Ģ月_䚝月_十月_十一月_十ä猿œˆ".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期æ—Ĩ_星期一_星期äēŒ_星期三_星期四_星期äē”_星期六".split("_"),weekdaysShort:"周æ—Ĩ_周一_周äēŒ_周三_周四_周äē”_周六".split("_"),weekdaysMin:"æ—Ĩ_一_äēŒ_三_四_äē”_六".split("_"),longDateFormat:{LT:"Ahį‚šmm分",LTS:"Ahį‚šm分sį§’",L:"YYYY-MM-DD",LL:"YYYYåš´MMMDæ—Ĩ",LLL:"YYYYåš´MMMDæ—ĨAhį‚šmm分",LLLL:"YYYYåš´MMMDæ—ĨddddAhį‚šmm分",l:"YYYY-MM-DD",ll:"YYYYåš´MMMDæ—Ĩ",lll:"YYYYåš´MMMDæ—ĨAhį‚šmm分",llll:"YYYYåš´MMMDæ—ĨddddAhį‚šmm分"},meridiemParse:/凌晨|旊上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"旊上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"旊上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[äģŠå¤Š]Ah[į‚šæ•´]":"[äģŠå¤Š]LT"},nextDay:function(){return 0===this.minutes()?"[明夊]Ah[į‚šæ•´]":"[明夊]LT"},lastDay:function(){return 0===this.minutes()?"[昨夊]Ah[į‚šæ•´]":"[昨夊]LT"},nextWeek:function(){var a,b;return a=uf().startOf("week"),b=this.unix()-a.unix()>=604800?"[下]":"[æœŦ]",0===this.minutes()?b+"dddAhį‚šæ•´":b+"dddAhį‚šmm"},lastWeek:function(){var a,b;return a=uf().startOf("week"),b=this.unix()=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"旊上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[äģŠå¤Š]LT",nextDay:"[明夊]LT",nextWeek:"[下]ddddLT",lastDay:"[昨夊]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(æ—Ĩ|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"æ—Ĩ";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"åšžį§’",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一夊",dd:"%d夊",M:"一個月",MM:"%d個月",y:"一嚴",yy:"%dåš´"}}),uf);return mg.locale("en"),mg}); \ No newline at end of file diff --git a/RARBG_-_convert_torrent_timestamps_to_relative_format/moment.min.js b/RARBG_-_convert_torrent_timestamps_to_relative_format/moment.min.js new file mode 100644 index 0000000..5787a40 --- /dev/null +++ b/RARBG_-_convert_torrent_timestamps_to_relative_format/moment.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n>>0,s=0;sSe(e)?(r=e+1,o-Se(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(Se(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=D(e)});function je(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=D(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var $e="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var qe=ae;var Je=ae;var Be=ae;function Qe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),C("hour","h"),F("hour",13),ue("a",et),ue("A",et),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=D(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=D(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i))});var tt,nt=Te("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){var t=null;if(!it[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=tt._abbr,require("./locale/"+e),ut(t)}catch(e){}return it[e]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):lt(e,t))?tt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),tt._abbr}function lt(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ot(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new P(x(s,t)),rt[e]&&rt[e].forEach(function(e){lt(e.name,e.config)}),ut(e),it[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return tt;if(!o(e)){if(t=ot(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r=t&&a(i,n,!0)>=t-1)break;t--}r++}return tt}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11Pe(n[me],n[_e])?ye:n[ge]<0||24Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ct(e._a[me],s[me]),(e._dayOfYear>Se(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var mt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],vt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,s,i,r,a,o=e._i,u=mt.exec(o)||_t.exec(o);if(u){for(g(e).iso=!0,t=0,n=gt.length;tn.valueOf():n.valueOf()this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=Et,mn.isUTC=Et,mn.zoneAbbr=function(){return this._isUTC?"UTC":""},mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},mn.dates=n("dates accessor is deprecated. Use date instead.",un),mn.months=n("months accessor is deprecated. Use month instead",Ue),mn.years=n("years accessor is deprecated. Use year instead",Oe),mn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),mn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Ot(e))._a){var t=e._isUTC?y(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&0=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), -a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), -void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("

heading