Last active
May 18, 2019 01:52
-
-
Save nabbynz/bcf2a1a470a6d9277c9a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Reddit on TagPro | |
// @description Put the latest posts from /r/tagpro (or any other sub) on your TagPro homepage | |
// @version 1.5.1 | |
// - v1.5.1: Changed gild order to P/G/S. Fixed more formatting bugs. Updated @include to https. | |
// - v1.5.0: Show gilded posts & comments (silver / gold / platinum). Show "NSFW" tag. Show when crossposted to other subs. Fixed some formatting bugs. | |
// - v1.4.0: Added basic filter for excluding comments by a user (e.g. exclude "AutoModerator") | |
// - Show subreddit name when using multi-reddits (eg "tagpro+mltp") | |
// - Added lastest comments option (rather than threads). | |
// - Fixed a few bugs when not logged in (for mail). Tidied up the ui a bit. | |
// - Made compatible with new TagPro site design | |
// - Added new mail sound notification | |
// @include https://tagpro.koalabeast.com | |
// @include https://tagpro.koalabeast.com/ | |
// @connect reddit.com | |
// @updateURL https://gist.github.com/nabbynz/bcf2a1a470a6d9277c9a/raw/TagPro_RedditOnTagPro.user.js | |
// @downloadURL https://gist.github.com/nabbynz/bcf2a1a470a6d9277c9a/raw/TagPro_RedditOnTagPro.user.js | |
// @grant GM_xmlhttpRequest | |
// @grant GM_setValue | |
// @grant GM_getValue | |
// @grant GM_deleteValue | |
// @grant GM_addStyle | |
// @license GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html | |
// @author nabby | |
// ==/UserScript== | |
console.log('START: ' + GM_info.script.name + ' (v' + GM_info.script.version + ' by ' + GM_info.script.author + ')'); | |
//momentjs | |
!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 d(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function h(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function y(e,t,n,s){return Ot(e,t,n,s,!0).utc()}function g(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function p(e){if(null==e._isValid){var t=g(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function v(e){var t=y(NaN);return null!=e?_(g(t),e):g(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var r=c.momentProperties=[];function w(e,t){var n,s,i;if(l(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),l(t._i)||(e._i=t._i),l(t._f)||(e._f=t._f),l(t._l)||(e._l=t._l),l(t._strict)||(e._strict=t._strict),l(t._tzm)||(e._tzm=t._tzm),l(t._isUTC)||(e._isUTC=t._isUTC),l(t._offset)||(e._offset=t._offset),l(t._pf)||(e._pf=g(t)),l(t._locale)||(e._locale=t._locale),0<r.length)for(n=0;n<r.length;n++)l(i=t[s=r[n]])||(e[s]=i);return e}var t=!1;function M(e){w(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,c.updateOffset(this),t=!1)}function S(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function D(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function k(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=D(t)),n}function a(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&k(e[s])!==k(t[s]))&&a++;return a+r}function Y(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return _(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,i),a){for(var e,t=[],n=0;n<arguments.length;n++){if(e="","object"==typeof arguments[n]){for(var s in e+="\n["+n+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[n];t.push(e)}Y(i+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,O={};function T(e,t){null!=c.deprecationHandler&&c.deprecationHandler(e,t),O[e]||(Y(t),O[e]=!0)}function x(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,t){var n,s=_({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},_(s[n],e[n]),_(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=_({},s[n]));return s}function P(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};var W={};function H(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function R(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function C(e){var t,n,s={};for(n in e)m(e,n)&&(t=R(n))&&(s[t]=e[n]);return s}var F={};function L(e,t){F[e]=t}function U(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function I(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return U(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(s){var e,i,t,r=s.match(N);for(e=0,i=r.length;e<i;e++)E[r[e]]?r[e]=E[r[e]]:r[e]=(t=r[e]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(e){var t,n="";for(t=0;t<i;t++)n+=x(r[t])?r[t].call(e,s):r[t];return n}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;0<=n&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var Z=/\d/,z=/\d\d/,$=/\d{3}/,q=/\d{4}/,J=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,oe={};function ue(e,n,s){oe[e]=x(n)?n:function(e,t){return e&&s?s:n}}function le(e,t){return m(oe,e)?oe[e](t._strict,t._locale):new RegExp(de(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function de(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var he={};function ce(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),d(n)&&(s=function(e,t){t[n]=k(e)}),t=0;t<e.length;t++)he[e[t]]=s}function fe(e,i){ce(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var me=0,_e=1,ye=2,ge=3,pe=4,ve=5,we=6,Me=7,Se=8;function De(e){return ke(e)?366:365}function ke(e){return e%4==0&&e%100!=0||e%400==0}I("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),H("year","y"),L("year",1),ue("Y",se),ue("YY",B,z),ue("YYYY",ee,q),ue("YYYYY",te,J),ue("YYYYYY",te,J),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?c.parseTwoDigitYear(e):k(e)}),ce("YY",function(e,t){t[me]=c.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return k(e)+(68<k(e)?1900:2e3)};var Ye,Oe=Te("FullYear",!0);function Te(t,n){return function(e){return null!=e?(be(this,t,e),c.updateOffset(this,n),this):xe(this,t)}}function xe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function be(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ke(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?ke(e)?29:28:31-s%7%2}Ye=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),I("MMMM",0,0,function(e){return this.localeData().months(this,e)}),H("month","M"),L("month",8),ue("M",B),ue("MM",B,z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=k(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:g(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,He="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Re="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ce(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=k(t);else if(!d(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Fe(e){return null!=e?(Ce(this,e),c.updateOffset(this,!0),this):xe(this,"Month")}var Le=ae;var Ue=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=y([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=de(s[t]),i[t]=de(i[t]);for(t=0;t<24;t++)r[t]=de(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&0<=e&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ve(e,t,n){var s=7+t-n;return-((7+Ge(e,0,s).getUTCDay()-t)%7)+s-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return o<=0?a=De(r=e-1)+o:o>De(e)?(r=e+1,a=o-De(e)):(r=e,a=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(De(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),L("week",5),L("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)]=k(e)});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"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),L("day",11),L("weekday",11),L("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]=k(e)});var je="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var ze="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var $e=ae;var qe=ae;var Je=ae;function Be(){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]=de(o[t]),u[t]=de(u[t]),l[t]=de(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 Qe(){return this.hours()%12||12}function Xe(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Qe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Qe.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),H("hour","h"),L("hour",13),ue("a",Ke),ue("A",Ke),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=k(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]=k(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=k(e.substr(0,s)),t[pe]=k(e.substr(s,2)),t[ve]=k(e.substr(i))});var et,tt=Te("Hours",!0),nt={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:He,monthsShort:Re,week:{dow:0,doy:6},weekdays:je,weekdaysMin:ze,weekdaysShort:Ze,meridiemParse:/[ap]\.?m?\.?/i},st={},it={};function rt(e){return e?e.toLowerCase().replace("_","-"):e}function at(e){var t=null;if(!st[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=et._abbr,require("./locale/"+e),ot(t)}catch(e){}return st[e]}function ot(e,t){var n;return e&&((n=l(t)?lt(e):ut(e,t))?et=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),et._abbr}function ut(e,t){if(null!==t){var n,s=nt;if(t.abbr=e,null!=st[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=st[e]._config;else if(null!=t.parentLocale)if(null!=st[t.parentLocale])s=st[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return it[t.parentLocale]||(it[t.parentLocale]=[]),it[t.parentLocale].push({name:e,config:t}),null;s=n._config}return st[e]=new P(b(s,t)),it[e]&&it[e].forEach(function(e){ut(e.name,e.config)}),ot(e),st[e]}return delete st[e],null}function lt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return et;if(!o(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=rt(e[r]).split("-")).length,n=(n=rt(e[r+1]))?n.split("-"):null;0<t;){if(s=at(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&a(i,n,!0)>=t-1)break;t--}r++}return et}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11<n[_e]?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||24<n[ge]||24===n[ge]&&(0!==n[pe]||0!==n[ve]||0!==n[we])?ge:n[pe]<0||59<n[pe]?pe:n[ve]<0||59<n[ve]?ve:n[we]<0||999<n[we]?we:-1,g(e)._overflowDayOfYear&&(t<me||ye<t)&&(t=ye),g(e)._overflowWeeks&&-1===t&&(t=Me),g(e)._overflowWeekday&&-1===t&&(t=Se),g(e).overflow=t),e}function ht(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var t,n,s,i,r,a=[];if(!e._d){var o,u;for(o=e,u=new Date(c.now()),s=o._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ht(t.GG,e._a[me],Ie(Tt(),1,4).year),s=ht(t.W,1),((i=ht(t.E,1))<1||7<i)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Ie(Tt(),r,a);n=ht(t.gg,e._a[me],l.year),s=ht(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r}s<1||s>Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ht(e._a[me],s[me]),(e._dayOfYear>De(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[pe]&&0===e._a[ve]&&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=new Date(e,t,n,s,i,r,a);return e<100&&0<=e&&isFinite(o.getFullYear())&&o.setFullYear(e),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 ft=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,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=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["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}/]],gt=[["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 vt(e){var t,n,s,i,r,a,o=e._i,u=ft.exec(o)||mt.exec(o);if(u){for(g(e).iso=!0,t=0,n=yt.length;t<n;t++)if(yt[t][1].exec(u[1])){i=yt[t][0],s=!1!==yt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[3])){r=(u[2]||" ")+gt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!_t.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),kt(e)}else e._isValid=!1}var wt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function Mt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),Re.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t,n,s,i=wt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim());if(i){var r=Mt(i[4],i[3],i[2],i[5],i[6],i[7]);if(t=i[1],n=r,s=e,t&&Ze.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(g(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=r,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function kt(e){if(e._f!==c.ISO_8601)if(e._f!==c.RFC_2822){e._a=[],g(e).empty=!0;var t,n,s,i,r,a,o,u,l=""+e._i,d=l.length,h=0;for(s=j(e._f,e._locale).match(N)||[],t=0;t<s.length;t++)i=s[t],(n=(l.match(le(i,e))||[])[0])&&(0<(r=l.substr(0,l.indexOf(n))).length&&g(e).unusedInput.push(r),l=l.slice(l.indexOf(n)+n.length),h+=n.length),E[i]?(n?g(e).empty=!1:g(e).unusedTokens.push(i),a=i,u=e,null!=(o=n)&&m(he,a)&&he[a](o,u._a,u,a)):e._strict&&!n&&g(e).unusedTokens.push(i);g(e).charsLeftOver=d-h,0<l.length&&g(e).unusedInput.push(l),e._a[ge]<=12&&!0===g(e).bigHour&&0<e._a[ge]&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[ge],e._meridiem),ct(e),dt(e)}else Dt(e);else vt(e)}function Yt(e){var t,n,s,i,r=e._i,a=e._f;return e._locale=e._locale||lt(e._l),null===r||void 0===a&&""===r?v({nullInput:!0}):("string"==typeof r&&(e._i=r=e._locale.preparse(r)),S(r)?new M(dt(r)):(h(r)?e._d=r:o(a)?function(e){var t,n,s,i,r;if(0===e._f.length)return g(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,t=w({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],kt(t),p(t)&&(r+=g(t).charsLeftOver,r+=10*g(t).unusedTokens.length,g(t).score=r,(null==s||r<s)&&(s=r,n=t));_(e,n||t)}(e):a?kt(e):l(n=(t=e)._i)?t._d=new Date(c.now()):h(n)?t._d=new Date(n.valueOf()):"string"==typeof n?(s=t,null===(i=pt.exec(s._i))?(vt(s),!1===s._isValid&&(delete s._isValid,Dt(s),!1===s._isValid&&(delete s._isValid,c.createFromInputFallback(s)))):s._d=new Date(+i[1])):o(n)?(t._a=f(n.slice(0),function(e){return parseInt(e,10)}),ct(t)):u(n)?function(e){if(!e._d){var t=C(e._i);e._a=f([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}(t):d(n)?t._d=new Date(n):c.createFromInputFallback(t),p(e)||(e._d=null),e))}function Ot(e,t,n,s,i){var r,a={};return!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new M(dt(Yt(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function Tt(e,t,n,s){return Ot(e,t,n,s,!1)}c.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};var xt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:v()}),bt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:v()});function Pt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Tt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Wt=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=C(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,d=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ye.call(Wt,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Wt.length;++s)if(e[Wt[s]]){if(n)return!1;parseFloat(e[Wt[s]])!==k(e[Wt[s]])&&(n=!0)}return!0}(t),this._milliseconds=+d+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=lt(),this._bubble()}function Rt(e){return e instanceof Ht}function Ct(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){I(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+U(~~(e/60),2)+n+U(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ut(re,e)});var Lt=/([\+\-]|\d\d)/gi;function Ut(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Lt)||["-",0,0],i=60*s[1]+k(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Nt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(S(e)||h(e)?e.valueOf():Tt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),c.updateOffset(n,!1),n):Tt(e).local()}function Gt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Vt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}c.updateOffset=function(){};var Et=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,It=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function At(e,t){var n,s,i,r=e,a=null;return Rt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:d(e)?(r={},t?r[t]=e:r.milliseconds=e):(a=Et.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:k(a[ye])*n,h:k(a[ge])*n,m:k(a[pe])*n,s:k(a[ve])*n,ms:k(Ct(1e3*a[we]))*n}):(a=It.exec(e))?(n="-"===a[1]?-1:(a[1],1),r={y:jt(a[2],n),M:jt(a[3],n),w:jt(a[4],n),d:jt(a[5],n),h:jt(a[6],n),m:jt(a[7],n),s:jt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Nt(t,e),e.isBefore(t)?n=Zt(e,t):((n=Zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(Tt(r.from),Tt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Rt(e)&&m(e,"_locale")&&(s._locale=e._locale),s}function jt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Zt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function zt(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(T(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),$t(this,At(e="string"==typeof e?+e:e,t),s),this}}function $t(e,t,n,s){var i=t._milliseconds,r=Ct(t._days),a=Ct(t._months);e.isValid()&&(s=null==s||s,a&&Ce(e,xe(e,"Month")+a*n),r&&be(e,"Date",xe(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&c.updateOffset(e,r||a))}At.fn=Ht.prototype,At.invalid=function(){return At(NaN)};var qt=zt(1,"add"),Jt=zt(-1,"subtract");function Bt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(n+1,"months")-s)))||0}function Qt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=lt(e))&&(this._locale=t),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xt=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function Kt(){return this._locale}function en(e,t){I(0,[e,e.length],0,t)}function tn(e,t,n,s,i){var r;return null==e?Ie(this,s,i).year:((r=Ae(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),en("gggg","weekYear"),en("ggggg","weekYear"),en("GGGG","isoWeekYear"),en("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),L("weekYear",1),L("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,z),ue("gg",B,z),ue("GGGG",ee,q),ue("gggg",ee,q),ue("GGGGG",te,J),ue("ggggg",te,J),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=k(e)}),fe(["gg","GG"],function(e,t,n,s){t[s]=c.parseTwoDigitYear(e)}),I("Q",0,"Qo","quarter"),H("quarter","Q"),L("quarter",7),ue("Q",Z),ce("Q",function(e,t){t[_e]=3*(k(e)-1)}),I("D",["DD",2],"Do","date"),H("date","D"),L("date",9),ue("D",B),ue("DD",B,z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=k(e.match(B)[0])});var nn=Te("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),L("dayOfYear",4),ue("DDD",K),ue("DDDD",$),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=k(e)}),I("m",["mm",2],0,"minute"),H("minute","m"),L("minute",14),ue("m",B),ue("mm",B,z),ce(["m","mm"],pe);var sn=Te("Minutes",!1);I("s",["ss",2],0,"second"),H("second","s"),L("second",15),ue("s",B),ue("ss",B,z),ce(["s","ss"],ve);var rn,an=Te("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),L("millisecond",16),ue("S",K,Z),ue("SS",K,z),ue("SSS",K,$),rn="SSSS";rn.length<=9;rn+="S")ue(rn,ne);function on(e,t){t[we]=k(1e3*("0."+e))}for(rn="S";rn.length<=9;rn+="S")ce(rn,on);var un=Te("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var ln=M.prototype;function dn(e){return e}ln.add=qt,ln.calendar=function(e,t){var n=e||Tt(),s=Nt(n,this).startOf("day"),i=c.calendarFormat(this,s)||"sameElse",r=t&&(x(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,Tt(n)))},ln.clone=function(){return new M(this)},ln.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Nt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=R(t)){case"year":r=Bt(this,s)/12;break;case"month":r=Bt(this,s);break;case"quarter":r=Bt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:D(r)},ln.endOf=function(e){return void 0===(e=R(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},ln.format=function(e){e||(e=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=A(this,e);return this.localeData().postformat(t)},ln.from=function(e,t){return this.isValid()&&(S(e)&&e.isValid()||Tt(e).isValid())?At({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.fromNow=function(e){return this.from(Tt(),e)},ln.to=function(e,t){return this.isValid()&&(S(e)&&e.isValid()||Tt(e).isValid())?At({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},ln.toNow=function(e){return this.to(Tt(),e)},ln.get=function(e){return x(this[e=R(e)])?this[e]():this},ln.invalidAt=function(){return g(this).overflow},ln.isAfter=function(e,t){var n=S(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=R(l(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},ln.isBefore=function(e,t){var n=S(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=R(l(t)?"millisecond":t))?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},ln.isBetween=function(e,t,n,s){return("("===(s=s||"()")[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(")"===s[1]?this.isBefore(t,n):!this.isAfter(t,n))},ln.isSame=function(e,t){var n,s=S(e)?e:Tt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=R(t||"millisecond"))?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},ln.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},ln.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},ln.isValid=function(){return p(this)},ln.lang=Xt,ln.locale=Qt,ln.localeData=Kt,ln.max=bt,ln.min=xt,ln.parsingFlags=function(){return _({},g(this))},ln.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:F[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=C(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(x(this[e=R(e)]))return this[e](t);return this},ln.startOf=function(e){switch(e=R(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},ln.subtract=Jt,ln.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},ln.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},ln.toDate=function(){return new Date(this.valueOf())},ln.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):x(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},ln.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},ln.toJSON=function(){return this.isValid()?this.toISOString():null},ln.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},ln.unix=function(){return Math.floor(this.valueOf()/1e3)},ln.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},ln.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},ln.year=Oe,ln.isLeapYear=function(){return ke(this.year())},ln.weekYear=function(e){return tn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},ln.isoWeekYear=function(e){return tn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},ln.quarter=ln.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},ln.month=Fe,ln.daysInMonth=function(){return Pe(this.year(),this.month())},ln.week=ln.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},ln.isoWeek=ln.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},ln.weeksInYear=function(){var e=this.localeData()._week;return Ae(this.year(),e.dow,e.doy)},ln.isoWeeksInYear=function(){return Ae(this.year(),1,4)},ln.date=nn,ln.day=ln.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},ln.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},ln.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=(n=e,s=this.localeData(),"string"==typeof n?s.weekdaysParse(n)%7||7:isNaN(n)?null:n);return this.day(this.day()%7?t:t-7)}return this.day()||7;var n,s},ln.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},ln.hour=ln.hours=tt,ln.minute=ln.minutes=sn,ln.second=ln.seconds=an,ln.millisecond=ln.milliseconds=un,ln.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Ut(re,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Gt(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?$t(this,At(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Gt(this)},ln.utc=function(e){return this.utcOffset(0,e)},ln.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Gt(this),"m")),this},ln.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Ut(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},ln.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Tt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},ln.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},ln.isLocal=function(){return!!this.isValid()&&!this._isUTC},ln.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},ln.isUtc=Vt,ln.isUTC=Vt,ln.zoneAbbr=function(){return this._isUTC?"UTC":""},ln.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},ln.dates=n("dates accessor is deprecated. Use date instead.",nn),ln.months=n("months accessor is deprecated. Use month instead",Fe),ln.years=n("years accessor is deprecated. Use year instead",Oe),ln.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()}),ln.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=Yt(e))._a){var t=e._isUTC?y(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&0<a(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var hn=P.prototype;function cn(e,t,n,s){var i=lt(),r=y().set(s,t);return i[n](r,e)}function fn(e,t,n){if(d(e)&&(t=e,e=void 0),e=e||"",null!=t)return cn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=cn(e,s,n,"month");return i}function mn(e,t,n,s){"boolean"==typeof e?d(t)&&(n=t,t=void 0):(t=e,e=!1,d(n=t)&&(n=t,t=void 0)),t=t||"";var i,r=lt(),a=e?r._week.dow:0;if(null!=n)return cn(t,(n+a)%7,s,"day");var o=[];for(i=0;i<7;i++)o[i]=cn(t,(i+a)%7,s,"day");return o}hn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return x(s)?s.call(t,n):s},hn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},hn.invalidDate=function(){return this._invalidDate},hn.ordinal=function(e){return this._ordinal.replace("%d",e)},hn.preparse=dn,hn.postformat=dn,hn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return x(i)?i(e,t,n,s):i.replace(/%d/i,e)},hn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return x(n)?n(t):n.replace(/%s/i,t)},hn.set=function(e){var t,n;for(n in e)x(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},hn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},hn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},hn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=y([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=y([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},hn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=Ue),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},hn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Le),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},hn.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},hn.firstDayOfYear=function(){return this._week.doy},hn.firstDayOfWeek=function(){return this._week.dow},hn.weekdays=function(e,t){return e?o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},hn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},hn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},hn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=y([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=y([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},hn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=$e),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},hn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},hn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},hn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},hn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ot("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===k(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),c.lang=n("moment.lang is deprecated. Use moment.locale instead.",ot),c.langData=n("moment.langData is deprecated. Use moment.localeData instead.",lt);var _n=Math.abs;function yn(e,t,n,s){var i=At(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function gn(e){return e<0?Math.floor(e):Math.ceil(e)}function pn(e){return 4800*e/146097}function vn(e){return 146097*e/4800}function wn(e){return function(){return this.as(e)}}var Mn=wn("ms"),Sn=wn("s"),Dn=wn("m"),kn=wn("h"),Yn=wn("d"),On=wn("w"),Tn=wn("M"),xn=wn("y");function bn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Pn=bn("milliseconds"),Wn=bn("seconds"),Hn=bn("minutes"),Rn=bn("hours"),Cn=bn("days"),Fn=bn("months"),Ln=bn("years");var Un=Math.round,Nn={ss:44,s:45,m:45,h:22,d:26,M:11};var Gn=Math.abs;function Vn(e){return(0<e)-(e<0)||+e}function En(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Gn(this._milliseconds)/1e3,s=Gn(this._days),i=Gn(this._months);t=D((e=D(n/60))/60),n%=60,e%=60;var r=D(i/12),a=i%=12,o=s,u=t,l=e,d=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var c=h<0?"-":"",f=Vn(this._months)!==Vn(h)?"-":"",m=Vn(this._days)!==Vn(h)?"-":"",_=Vn(this._milliseconds)!==Vn(h)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||d?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(d?_+d+"S":"")}var In=Ht.prototype;return In.isValid=function(){return this._isValid},In.abs=function(){var e=this._data;return this._milliseconds=_n(this._milliseconds),this._days=_n(this._days),this._months=_n(this._months),e.milliseconds=_n(e.milliseconds),e.seconds=_n(e.seconds),e.minutes=_n(e.minutes),e.hours=_n(e.hours),e.months=_n(e.months),e.years=_n(e.years),this},In.add=function(e,t){return yn(this,e,t,1)},In.subtract=function(e,t){return yn(this,e,t,-1)},In.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=R(e))||"year"===e)return t=this._days+s/864e5,n=this._months+pn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(vn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},In.asMilliseconds=Mn,In.asSeconds=Sn,In.asMinutes=Dn,In.asHours=kn,In.asDays=Yn,In.asWeeks=On,In.asMonths=Tn,In.asYears=xn,In.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12):NaN},In._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*gn(vn(o)+a),o=a=0),u.milliseconds=r%1e3,e=D(r/1e3),u.seconds=e%60,t=D(e/60),u.minutes=t%60,n=D(t/60),u.hours=n%24,o+=i=D(pn(a+=D(n/24))),a-=gn(vn(i)),s=D(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},In.clone=function(){return At(this)},In.get=function(e){return e=R(e),this.isValid()?this[e+"s"]():NaN},In.milliseconds=Pn,In.seconds=Wn,In.minutes=Hn,In.hours=Rn,In.days=Cn,In.weeks=function(){return D(this.days()/7)},In.months=Fn,In.years=Ln,In.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,s,i,r,a,o,u,l,d,h,c=this.localeData(),f=(n=!e,s=c,i=At(t=this).abs(),r=Un(i.as("s")),a=Un(i.as("m")),o=Un(i.as("h")),u=Un(i.as("d")),l=Un(i.as("M")),d=Un(i.as("y")),(h=r<=Nn.ss&&["s",r]||r<Nn.s&&["ss",r]||a<=1&&["m"]||a<Nn.m&&["mm",a]||o<=1&&["h"]||o<Nn.h&&["hh",o]||u<=1&&["d"]||u<Nn.d&&["dd",u]||l<=1&&["M"]||l<Nn.M&&["MM",l]||d<=1&&["y"]||["yy",d])[2]=n,h[3]=0<+t,h[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,h));return e&&(f=c.pastFuture(+this,f)),c.postformat(f)},In.toISOString=En,In.toString=En,In.toJSON=En,In.locale=Qt,In.localeData=Kt,In.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",En),In.lang=Xt,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(k(e))}),c.version="2.22.0",e=Tt,c.fn=ln,c.min=function(){return Pt("isBefore",[].slice.call(arguments,0))},c.max=function(){return Pt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=y,c.unix=function(e){return Tt(1e3*e)},c.months=function(e,t){return fn(e,t,"months")},c.isDate=h,c.locale=ot,c.invalid=v,c.duration=At,c.isMoment=S,c.weekdays=function(e,t,n){return mn(e,t,n,"weekdays")},c.parseZone=function(){return Tt.apply(null,arguments).parseZone()},c.localeData=lt,c.isDuration=Rt,c.monthsShort=function(e,t){return fn(e,t,"monthsShort")},c.weekdaysMin=function(e,t,n){return mn(e,t,n,"weekdaysMin")},c.defineLocale=ut,c.updateLocale=function(e,t){if(null!=t){var n,s,i=nt;null!=(s=at(e))&&(i=s._config),(n=new P(t=b(i,t))).parentLocale=st[e],st[e]=n,ot(e)}else null!=st[e]&&(null!=st[e].parentLocale?st[e]=st[e].parentLocale:null!=st[e]&&delete st[e]);return st[e]},c.locales=function(){return s(st)},c.weekdaysShort=function(e,t,n){return mn(e,t,n,"weekdaysShort")},c.normalizeUnits=R,c.relativeTimeRounding=function(e){return void 0===e?Un:"function"==typeof e&&(Un=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==Nn[e]&&(void 0===t?Nn[e]:(Nn[e]=t,"s"===e&&(Nn.ss=t-1),!0))},c.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},c.prototype=ln,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},c}); | |
var $uHome = $('#userscript-home'); | |
var $uTop = $('#userscript-top'); | |
var $uBottom = $('#userscript-bottom'); | |
if (GM_getValue('ReplaceNews', false)) { | |
$('#home-news').empty(); | |
$('#home-news').append('<div id="ROT" style="margin:10px auto; padding:0; height:300px; border-radius:8px; text-shadow:1px 1px 1px #000; background:#111; overflow-x:hidden; overflow-y:auto;"></div>'); | |
} else { | |
$uHome.find('.row').append('<div id="ROT" style="margin:10px auto; padding:0; width:600px; height:400px; border-radius:8px; text-shadow:1px 1px 1px #000; box-shadow:#fff 0px 0px 7px; background:#111; overflow-x:hidden; overflow-y:auto;"></div>'); | |
$uHome.removeClass('hidden'); | |
} | |
var clearablePosts, clearableMessages; | |
if ((GM_getValue('multis_selected') === undefined) && (GM_getValue('SubRedditName') === undefined)) { | |
GM_setValue('multis_selected', ['TagPro']); | |
} | |
var options = '<div id="ROT_Options" style="position:absolute; display:flex; flex-direction:column; align-items:center; align-self:flex-start; font-size:11px; font-weight:normal; color:#111; text-shadow:none; background:#acf; margin:16px 0 0; right:5px; padding:10px 20px; border:1px solid #000; border-radius:7px;">' + | |
' <label title="Unchecked: Sort will be by "Hot" (reddit default)"><input type="checkbox" id="ROT_NewHot"' + (GM_getValue('NewHot', false) ? ' checked' : '') + '>Sort by New</label>' + | |
' <label title="If checked the "Community News" box will be replaced with this one"><input type="checkbox" id="ROT_ReplaceNews"' + (GM_getValue('ReplaceNews', false) ? ' checked' : '') + '>Replace "Community News"</label>' + | |
' <label title="Play a sound when you receive new mail"><input type="checkbox" id="ROT_NewMailSound"' + (GM_getValue('NewMailSound', false) ? ' checked' : '') + '>New Mail Sound</label>' + | |
' <div># Posts: <input type="number" id="ROT_NumberPosts" value="' + GM_getValue('NumberPosts', 12) + '" min="1" max="50" style="width:32px; margin-top:10px;"></div>' + | |
' <div>Interval: <input type="number" id="ROT_RefreshInterval" value="' + GM_getValue('RefreshInterval', 180) + '" min="10" max="600" style="width:40px"></div>' + | |
'</div>'; | |
var subs = ['TagPro', 'MLTP', 'ELTP', 'OLTP', 'minorLTP', 'NLTP', 'NFTL', 'RadiusTP', 'OriginTP', 'SphereMasterRace', 'PiMasterRace', 'OceanicTagPro', 'USContenders', 'ChordContenders', 'OContenders', 'TagProTesting', 'TagProScripts', 'TagProIRL', 'TagProRacing', 'KoalaBeast', 'TagProBots', 'TagProConspiracies', 'TagProCirclejerk', 'TagProMeme', 'TagProRapBattles']; | |
var multis_selected = GM_getValue('multis_selected', []); | |
var exclude_filter = GM_getValue('exclude_filter', ['TagPro_LoveBot']); //Enter an array of users separated by commas, e.g.: ['TagPro_LoveBot', 'LuckySpammer'] | |
var multis = '<div id="ROT_Chooser" style="position:absolute; display:flex; flex-direction:column; align-items:center; align-self:flex-start; font-size:10px; color:#eee; width:200px; background:dodgerblue; margin:16px 0 0; padding:6px; left:5px; border:1px solid #acf; border-radius:7px;">' + | |
' <div id="ROT_Chooser_Inner" style="display:flex; flex-direction:column; align-items:flex-start; padding:6px; width:100%; height:240px; background:#112; border-radius:5px; overflow-y:scroll; overflow-x:hidden;">'; | |
$.each(subs, function(k, v) { | |
multis += ' <label><input type="checkbox" class="ROT_ChooserSub" data-sub="'+v+'"'+(multis_selected.indexOf(v) >= 0 ? ' checked' : '')+'>'+v+'</label>'; | |
}); | |
multis += ' </div>' + | |
' <input type="text" id="ROT_SubRedditName" value="' + GM_getValue('SubRedditName', '') + '" style="margin-top:6px; width:140px; border-radius:3px" title="Type a sub-reddit name (e.g. "tagpro")\nMulti-subs are like "tagpro+mltp"">' + | |
'</div>'; | |
var header = | |
'<a id="ROT_MessagesState" href="https://www.reddit.com/message/inbox/" style="font-size:20px; color:#990000; margin-top:-5px; padding:0 5px;" target="_blank">✉</a>' + | |
'<div id="ROT_ChooserButton" class="ROT_Button" style="background:dodgerblue;" title="Sub Chooser...">Subs</div>' + | |
multis + | |
'<div id="ROT_GoButton" class="ROT_Button" style="background:#33a">Refresh</div>' + | |
'<label title="Show Posts or Comments"><input type="checkbox" id="ROT_Comments"' + (GM_getValue('Comments') ? ' checked' : '') + '>Comments</label>' + | |
'<div id="ROT_Karma" style="color:cornflowerblue; cursor:default"></div>' + | |
'<div id="ROT_OptionsButton" style="display:inline-block; font:12px Arial; text-align:center; text-shadow:none; height:17px; width:17px; border:1px solid #acf; border-radius:50%; cursor:pointer" title="Options">⁞</div>' + | |
options; | |
$('#ROT').append('<div id="ROT_Container" style="padding:10px; position:relative;"></div>'); | |
$('#ROT_Container').append('<div id="ROT_Header" style="margin:-10px -10px 10px; font:10px Arial; background:#113; border-radius:8px 8px 0 0; border-bottom:1px solid lightsteelblue; display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; padding:5px 10px;">' + header + '</div>'); | |
$('#ROT_Container').append('<div id="ROT_RedditPosts" style="margin:0; height:100%; font:11px Arial"></div>'); | |
GM_addStyle('#ROT_Container input { margin:0; padding:0; height:17px; color:black; font:11px Arial; }'); | |
GM_addStyle('#ROT_Container input[type="checkbox"] { width:11px; height:11px; }'); | |
GM_addStyle('#ROT_Header label { margin:0; }'); | |
GM_addStyle('#ROT::-webkit-scrollbar, #ROT_Chooser::-webkit-scrollbar { width:3px; }'); | |
GM_addStyle('#ROT::-webkit-scrollbar-thumb, #ROT_Chooser::-webkit-scrollbar-thumb { background:royalblue; }'); | |
GM_addStyle('#ROT::-webkit-scrollbar-track, #ROT_Chooser::-webkit-scrollbar-track { background:#ddd; }'); | |
GM_addStyle('.ROT_Button { padding:2px; min-width:50px; font:10px Arial; text-align:center; color:#fff; text-shadow:none; border-radius:3px; cursor:pointer; }'); | |
GM_addStyle('.ROT_Button:hover { border:1px solid #fff; box-shadow:0 0 5px white; }'); | |
GM_addStyle('#ROT_Chooser_Inner label, #ROT_Options label { margin:1px 0 0; font:11px Arial; font-weight:normal; }'); | |
GM_addStyle('#ROT_Chooser_Inner::-webkit-scrollbar { width:4px; }'); | |
GM_addStyle('#ROT_Chooser_Inner::-webkit-scrollbar-thumb { background:coral; border-radius:2px; }'); | |
GM_addStyle('#ROT_Chooser_Inner::-webkit-scrollbar-track { background:#112; }'); | |
$('#ROT_Chooser').hide(0); | |
$('#ROT_Options').hide(0); | |
$('#ROT_ChooserButton').on('click', function() { | |
$('#ROT_Chooser').fadeToggle(200); | |
$('#ROT_Options').hide(); | |
}); | |
$('#ROT_Chooser').find('.ROT_ChooserSub').on('click', function() { | |
var subsChecked = $('#ROT_Chooser').find('input.ROT_ChooserSub'); | |
var multis_selected = []; | |
$.each(subsChecked, function(k, v) { | |
if (this.checked) multis_selected.push( $(v).data('sub') ); | |
}); | |
GM_setValue('multis_selected', multis_selected); | |
}); | |
$('#ROT_OptionsButton').on('click', function() { | |
$('#ROT_Options').fadeToggle(200); | |
//$('#ROT_Chooser').hide(0); | |
}); | |
var newMailSound = new Audio( 'data:audio/mpeg;base64,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NXV6y7QwikWbX/////////5vb/9H1wAEDtd/fWAAYKAh4AJiFbGElcY5FIaXh4BTUWFQEPAsziQxex6FzQxnI2oIjZZpjsJ2utaYfEY2xqrAAfKp3CnYtjZ6/W/L2p5FfEg2CyxYm+Vc4Ef////////+5qv/9veAAQAsqr/7gx//+1DE/AALyLU17bzNqZeXpbW3obSWO7zTG70yOKM2wz7SIwMBUFxXmRHZshIYyCssi4Xwv4q5NWXUKfC4YkbePI303vMV8BpOUOv3pxrWV6evzjaM2ULCH/////////7N9p2lASaf/16lAAMQJmeN/gAADC5RPFngxsrDHKXMnQcxMPhEJeR4SAWYgMBw6YE3okmhfbFqSKvxCUSIljkG2peGUot21abdl1/K26jz2gqWkBjv////q0f///+rrc5tat/+sAAABXho2/Zg4+nP//tQxPcADMibLa48baGKkOV1zbycE0ZrVoEf5h9hnNhkW9YVPr4AxNBwtQBsQl9NHhQ4jMSQLh9ApKTrNS0jE0OBX3esXktEgTxdrObd//d//////9VO3ebuT/u1SqoAABBZiJ//AAAJDIcGQZpgmGIhiZxARSxCsC1oAITF0xAYUJLZe6zXcgwBAPMCjgANwWlhuTlDNdbDIuDw6EGOFl/////r//////O7P/0gAAgO0O+/oMbmY+KgzdoYMkQozvBDsBBCAEOYUCMkMX6AU//7UMTwAEwkfSuuPSuhdZAlPbeZrJcYyjYcW9lhFoXBMVSWostUIeONQrolaaaYc807FQntlGil////p/////9X96zRFsywki/67e0AEC3//eoAACFSmx2sa0L5iGkGQKYOlcdEtV+CRYMMEoMN0ZV6N5Z7I5PAUcsOWrozfKMtKqVjm6ibkrTCgbGHJD9mn//R/+r////1tzC4UuQj2rb7bgABMEeXgw0Gz/AkMzrQyGaDVz0Oyj8EiMiZYl4R8hy5IOpeqxosexgeMMxpoi7/+1DE7gBLUHEp7mmE4VKPJT3EjZz0QKMwY9WfQo1L3E5TWgnsE7y+ss+4eTX///0fV/+////dVebAcDOt3X1JyztFAAAAZod9fSAADB8zjDdFzGRATEFJxpHSMQxMaibZxG4GvH4IgBFhcLEpfVlzeu0+6E+eIRhqafqDlrS2ELm0nS8E6p3x6J8y4WYe3f///////9fsTNWuHJspUwS/KoUipoAAkBq8Pv6AwTnzToYzbBhiYijFOgmgtWlYj+nkE1BkwUAgp5Wzfdubf2hP//tQxPOAScxvK+5gZSFmjeT9zJisT4gUdZXbHPjr1zSwgRuo1Xz2fj7lS3//+v/+3////bWlFtYh6KPWplbCCgABQnd3j/fVAAQzzmHDBPTYETH3TMEiYSzBioVJsMAwVVeTM7AeO4lkhIVCQeGBwsWE8/O15MmFnkyBhAggQQhC7s+7u7iIiIiIu7Pu7uzIBAQGATB9oPtBAgYVbN/t///////oABsv/t34BDR4hjUaxEJTo8mK9Yc10Wmo3JdRJygPA2BsJIkiSYmJitWshf/7QMT9AMrAYSeuYMVhbo3k+cykrAUFBQSCgoKChQUFBQSCgqEFChtMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tQxPSATCRvJe7hJWFZDeT9zJjkVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVf/7QMT2AEyglS3tMMzg94bk9YwwnVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV' ); | |
(checkUnreadMessages = function() { | |
clearInterval(clearableMessages); | |
GM_xmlhttpRequest({ | |
method: "GET", | |
timeout: 10000, //wait for response for 10 seconds | |
url: 'https://www.reddit.com/message/unread.json', | |
onload: function(xhr) { | |
if (xhr.status === 200) { | |
var data = JSON.parse(xhr.responseText); | |
var divider = "\n—————————————————————————————"; | |
var title = "You have " + data.data.children.length + " new message"+(data.data.children.length === 1 ? '' : 's')+"! Click to view on Reddit..." + divider; | |
if (data.data.children.length > 0) { | |
var count = 0; | |
$('#ROT_MessagesState').css('color', '#0f0'); | |
if (GM_getValue('NewMailSound')) { | |
newMailSound.pause(); | |
newMailSound.currentTime = 0; | |
newMailSound.play(); | |
} | |
$('#ROT_MessagesState').attr('href', 'https://www.reddit.com/message/unread/'); | |
$.each(data.data.children, function(key, value) { | |
if (count >= 10) { | |
title += "\n..." + divider; | |
return false; | |
} | |
title += "\n" + (value.data.was_comment ? '' : '***MESSAGE*** ') + "[" + value.data.author + "]: " + (value.data.was_comment ? value.data.link_title : value.data.subject) + "\n" + new Date(value.data.created_utc*1000).toString() + divider; | |
count++; | |
}); | |
$('#ROT_MessagesState').attr('title', title); | |
} else { | |
$('#ROT_MessagesState').css('color', '#900'); | |
$('#ROT_MessagesState').attr('href', 'https://www.reddit.com/message/inbox/'); | |
$('#ROT_MessagesState').attr('title', "You have no new messages (checking every "+GM_getValue('RefreshInterval', 180)+" seconds).\nClick to see your Inbox on Reddit..."); | |
} | |
} else { | |
//console.log('ROT Messages Error: '+xhr.status+' '+xhr.responseText); | |
$('#ROT_MessagesState').css('color', '#f90'); | |
if (xhr.status === 403) { | |
$('#ROT_MessagesState').attr('title', 'A ' + xhr.status + ' error has occurred (not logged in to Reddit?)'); | |
} else if (xhr.status === 502) { | |
$('#ROT_MessagesState').attr('title', 'A ' + xhr.status + ' error has occurred (Ow! -- Reddit servers busy?)'); | |
} else if (xhr.status === 503) { | |
$('#ROT_MessagesState').attr('title', 'A ' + xhr.status + ' error has occurred (Ow! -- Reddit servers busy?)'); | |
} else { | |
$('#ROT_MessagesState').attr('title', 'A ' + xhr.status + ' error has occurred'); | |
} | |
} | |
}, | |
onerror: function(xhr) { | |
//console.log('ROT Messages Error...'); | |
//console.log(xhr); | |
//$("#ROT_RedditPosts").empty(); | |
//$("#ROT_RedditPosts").append('<br>Error getting data from Reddit<br><br><i>'+xhr.status+' '+xhr.responseText+'</i>'); | |
}, | |
ontimeout: function() { | |
//$("#ROT_RedditPosts").empty(); | |
//$("#ROT_RedditPosts").append('Error getting data from Reddit (timed out). Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} | |
}); | |
//Get Karma (if 'user' is present)... | |
if (GM_getValue('UserName')) { | |
GM_xmlhttpRequest({ | |
method: "GET", | |
timeout: 10000, //wait for response for 10 seconds | |
url: 'https://www.reddit.com/user/'+GM_getValue('UserName')+'/about.json', | |
onload: function(xhr) { | |
if (xhr.status === 200) { | |
var data = JSON.parse(xhr.responseText); | |
$('#ROT_Karma').html(data.data.link_karma + '-' + data.data.comment_karma).attr('title', "Reddit Name: "+data.data.name + "\nLink Karma: "+data.data.link_karma +"\nComment Karma: "+data.data.comment_karma); | |
} else { | |
//console.log('ROT Karma Error: '+xhr.status+' '+xhr.responseText); | |
} | |
}, | |
onerror: function(xhr) { | |
//console.log('ROT Karma Error...'); | |
//console.log(xhr); | |
$('#ROT_Karma').html('?-?').attr('title', 'Couldn\t get data. Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} | |
}); | |
} else { | |
$('#ROT_Karma').html('?-?').attr('title', 'Karma! Click to enter a Reddit username...'); | |
} | |
clearableMessages = setInterval(checkUnreadMessages, GM_getValue('RefreshInterval', 180) * 1000); | |
})(); | |
(getRedditPosts = function() { | |
var subs_string = $('#ROT_SubRedditName').prop('value'); | |
var subs_array = []; | |
var subs_checked = GM_getValue('multis_selected', []); | |
var subs_combined = []; | |
var numberposts = $('#ROT_NumberPosts').prop('value'); | |
var comments = $('#ROT_Comments').is(':checked'); | |
var url = ''; | |
var colors = ['dodgerblue', 'green', 'orange', 'yellow', 'cyan', 'mediumorchid', 'crimson', 'tomato', 'tan']; // | |
var subs_colors = {}; | |
const redditBaseRUrl = 'https://www.reddit.com/r/'; | |
if (subs_string) { //text box value | |
subs_array = subs_string.split('+'); //(subreddit.match(/\+/g) || []).length + 1; | |
} | |
subs_combined = subs_array.concat(subs_checked); | |
$.each(subs_combined, function(i, v) { | |
subs_combined[i] = v.toLowerCase(); | |
}); | |
var subs_combined_unique = subs_combined.filter(function(item, pos, self) { //remove duplicates... | |
return self.indexOf(item) == pos; | |
}); | |
subs_string = ''; | |
$.each(subs_combined_unique, function(k, v) { | |
subs_string += v + '+'; | |
subs_colors[v] = colors[k % colors.length]; | |
}); | |
$('#ROT_NumberMultis').text(subs_combined_unique.length + ' Sub' + (subs_combined_unique.length === 1 ? '' : 's')); | |
if (subs_string.lastIndexOf('+') === subs_string.length-1) subs_string = subs_string.substr(0, subs_string.length-1); | |
if (subs_string.indexOf('+') === 0) subs_string = subs_string.substr(1); | |
if (!subs_string) { | |
$("#ROT_RedditPosts").empty(); | |
$("#ROT_RedditPosts").append('No sub-reddit name'); | |
return false; | |
} | |
if (!comments && $('#ROT_NewHot').prop('checked')) { | |
subs_string += '/new'; | |
} | |
url = redditBaseRUrl + subs_string + (comments ? "/comments" : "") + ".json?raw_json=1&limit="+numberposts; | |
if (subs_string === GM_getValue('SubRedditName')) $("#ROT_RedditPosts").empty(); | |
clearInterval(clearablePosts); | |
GM_xmlhttpRequest({ | |
method: "GET", | |
timeout: 10000, //wait for response for 10 seconds | |
url: url, | |
onload: function(xhr) { | |
if (xhr.status === 200) { | |
var data = JSON.parse(xhr.responseText); | |
var typeCSS = '#fff'; | |
var typeTitle = ''; | |
var subName = ''; | |
$('#ROT_Chooser').hide(); | |
$('#ROT_Options').hide(); | |
$("#ROT_RedditPosts").empty(); | |
$.each(data.data.children, function(key, value) { | |
//console.log(value.data); //for debugging | |
let date_created_utc_formatted = moment(value.data.created_utc * 1000).format('MMMM Do YYYY, h:mm:ss a'); | |
let date_created_utc_ago = moment(value.data.created_utc * 1000).from(); | |
let date_edited_formatted = null; | |
let date_edited_ago = null; | |
if (value.data.edited) { | |
date_edited_formatted = moment(value.data.edited * 1000).format('MMMM Do YYYY, h:mm:ss a'); | |
date_edited_ago = moment(value.data.edited * 1000).from(); | |
} | |
if (subs_combined_unique.length > 1) { | |
subName = '<a href="' + redditBaseRUrl + value.data.subreddit + ($('#ROT_NewHot').prop('checked')?'/new':'') + '" target="_blank" class="ROT_MultiSub" title="View the "'+value.data.subreddit+'" subreddit"style="color:'+subs_colors[value.data.subreddit.toLowerCase()]+'">' + value.data.subreddit + '</a>'; | |
} | |
if (comments) { //show latest comments... | |
value.data.body_html = value.data.body_html.replace('href="/u/', 'href="https://www.reddit.com/user/'); | |
value.data.body_html = value.data.body_html.replace('href="/r/', 'href="' + redditBaseRUrl); | |
$.each(exclude_filter, function(k, v) { | |
if (!v.length || value.data.author !== v) { | |
$("#ROT_RedditPosts").append('<div class="ROT_Reddit_Post">' + | |
' <div style="color:#999">● ' + subName + '<a href="https://www.reddit.com/r/' + value.data.subreddit + '/comments/' + value.data.link_id.slice(3) + '" class="ROT_Reddit_Comment_Title' + (value.data.distinguished === 'moderator' ? ' ROT_ModPost' : '') + '" title="View this post on Reddit">' + encodeHtml(value.data.link_title) + '</a> <span class="ROT_Reddit_FlairText" title="Comment Score">[' + value.data.score + ']</span></div>' + | |
' <div class="ROT_Reddit_CommentBody">' + value.data.body_html + ' </div>' + | |
' <div class="ROT_Reddit_PostFooter">[<a href="https://www.reddit.com/r/' + value.data.subreddit + '/comments/' + value.data.link_id.slice(3) + '?comment=' + value.data.id + '&context=8" class="ROT_Reddit_Comment" title="Show comment context on Reddit">context</a>] <a class="ROT_Reddit_Author" href="https://www.reddit.com/user/' + value.data.author + '" title="See ' + value.data.author + '\'s post history on Reddit">' + value.data.author + '</a> <span class="ROT_Reddit_FlairText">' + (value.data.author_flair_text ? encodeHtml(value.data.author_flair_text) : '') + '</span>' + (value.data.over_18 ? ' <span class="ROT_NSFW" title="NSFW">nsfw</span> ' : '') + (value.data.gildings.gid_3 ? ' <span class="ROT_Platinum" title="' + value.data.gildings.gid_3 + ' Platinum">✪</span> ' : '') + (value.data.gildings.gid_2 ? ' <span class="ROT_Gold" title="' + value.data.gildings.gid_2 + ' Gold">✪</span> ' : '') + (value.data.gildings.gid_1 ? ' <span class="ROT_Silver" title="' + value.data.gildings.gid_1 + ' Silver">✪</span> ' : '') + ' <span title="' + date_created_utc_formatted + '">' + date_created_utc_ago + (date_edited_formatted ? '<span title="Last edited: ' + date_edited_ago + ' (' + date_edited_formatted + ')"> *</span>' : '') + '</span></div>' + | |
'</div>'); | |
} | |
}); | |
} else { //show latest threads... | |
typeCSS = 'display:none'; | |
typeTitle = ''; | |
if ((value.data.is_self === true) || | |
(value.data.domain.indexOf('reddit.com') >= 0)) { | |
typeCSS = 'color:#fff'; | |
typeTitle = 'Text/Comments'; | |
} else if ((value.data.domain.indexOf('streamable.com') >= 0) || | |
(value.data.domain.indexOf('gfycat.com') >= 0) || | |
(value.data.domain.indexOf('youtu.be') >= 0) || | |
(value.data.domain.indexOf('v.redd.it') >= 0) || | |
(value.data.post_hint === 'rich:video') || | |
(value.data.post_hint === 'hosted:video') || | |
(value.data.is_video)) { | |
typeCSS = 'color:#f0f'; | |
typeTitle = 'Video Link (' + value.data.domain + ')'; | |
} else if ((value.data.domain.indexOf('imgur.com') >= 0) || | |
(value.data.domain.indexOf('staticflickr.com') >= 0) || | |
(value.data.post_hint === 'image')) { | |
typeCSS = 'color:#f90'; | |
typeTitle = 'Image Link'; | |
} else if (value.data.domain.indexOf('soundcloud.com') >= 0) { | |
typeCSS = 'color:#ff0'; | |
typeTitle = 'Audio Link'; | |
} else if (!value.data.is_self || value.data.post_hint === 'link') { | |
typeCSS = 'color:#70f'; | |
typeTitle = 'Direct Link'; | |
} | |
if (value.data.stickied === true) { | |
typeCSS = 'color:#0c0'; | |
typeTitle = 'Stickied Post'; | |
} | |
if (value.data.distinguished === 'moderator') { | |
typeCSS = 'color:#0c0'; | |
typeTitle = 'Moderator Post'; | |
} | |
if (typeTitle === '') { //this is just for testing purposes... | |
//$("#ROT_RedditPosts").append(value.data.post_hint+' : '+value.data.domain); | |
//console.dir(value.data); | |
} | |
$("#ROT_RedditPosts").append('<div class="ROT_Reddit_Post"><div><span style="' + typeCSS + '; font-size:13px; cursor:default;" title="' + typeTitle + '">● </span>' + subName + (value.data.over_18 ? ' <span class="ROT_NSFW" title="NSFW">nsfw</span> ' : '') + (value.data.gildings.gid_3 ? ' <span class="ROT_Platinum" title="' + value.data.gildings.gid_3 + ' Platinum">✪</span> ' : '') + (value.data.gildings.gid_2 ? ' <span class="ROT_Gold" title="' + value.data.gildings.gid_2 + ' Gold">✪</span> ' : '') + (value.data.gildings.gid_1 ? ' <span class="ROT_Silver" title="' + value.data.gildings.gid_1 + ' Silver">✪</span> ' : '') + '<a href="' + value.data.url + '" class="ROT_Reddit_Title' + (value.data.distinguished === 'moderator' ? ' ROT_ModPost' : '') + '" title="View' + (value.data.is_self || value.data.domain.startsWith('self.') ? ' comments on reddit' : ' on ' + value.data.domain) + '">' + encodeHtml(value.data.title) + '</a>' + (value.data.num_crossposts ? ' <a href="https://www.reddit.com/r/' + value.data.subreddit + '/duplicates/' + value.data.id + '" class="ROT_CrossPost" title="Crossposted to ' + value.data.num_crossposts + ' other sub' + (value.data.num_crossposts === 1 ? '' : 's') + '">⨯</a> ' : '') + ' <span class="ROT_Reddit_FlairText" title="Post Score">[' + value.data.score + ']</span></div>' + | |
'<div class="ROT_Reddit_PostFooter"><a class="ROT_Reddit_Author" href="https://www.reddit.com/user/' + value.data.author + '" title="See ' + value.data.author + '\'s post history on Reddit">' + value.data.author + '</a> <span class="ROT_Reddit_FlairText">' + (value.data.author_flair_text ? encodeHtml(value.data.author_flair_text) : '') + '</span> <span title="' + date_created_utc_formatted + '">' + date_created_utc_ago + '</span> [<a href="http://www.reddit.com' + value.data.permalink + '" class="ROT_Reddit_Comments_Count" title="View comments on reddit">' + value.data.num_comments + ' Comments</a>]</span></div></div>'); //+'\n'+new Date(value.data.created*1000).toLocaleString()+' [Their Time] | |
} | |
$('#ROT_RedditPosts').stop().animate({"opacity":0}, 100, "swing", function(){ | |
$('#ROT_RedditPosts').stop().animate({"null":1}, 200, function(){ //delay | |
$('#ROT_RedditPosts').stop().animate({"opacity":1}, 400, "swing", function(){ | |
}); | |
}); | |
}); | |
}); | |
$('#ROT_RedditPosts').find('a').attr('target', '_blank'); | |
$('#ROT_RedditPosts').find('sup').unwrap(); //remove nested sups | |
} else { | |
console.log('0-ROT Posts Error: '+xhr.status+' '+xhr.responseText); | |
console.log(xhr); | |
$("#ROT_RedditPosts").empty(); | |
if (xhr.status === 502) { | |
$("#ROT_RedditPosts").append('<br>A ' + xhr.status + ' error has occurred (Ow! -- Reddit servers busy?)<br><br>Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} else if (xhr.status === 503) { | |
$("#ROT_RedditPosts").append('<br>A ' + xhr.status + ' error has occurred (Ow! -- Reddit servers busy?)<br><br>Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} else if (xhr.status === 504) { | |
$("#ROT_RedditPosts").append('<br>A ' + xhr.status + ' error has occurred (Reddit is down for maintenance)<br><br>Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} else { | |
$("#ROT_RedditPosts").append('<br>A "' + xhr.status + '" error has occurred.<br><br><i>'+xhr.error+'</i><br><br>Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
} | |
} | |
}, | |
onerror: function(xhr) { | |
console.log('1-ROT Posts Error...'+xhr.status+' '+xhr.responseText); | |
console.log(xhr); | |
$("#ROT_RedditPosts").empty(); | |
$("#ROT_RedditPosts").append('<br>A "' + xhr.status + '" error has occurred.<br><br><i>'+xhr.error+'</i><br><br>Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...'); | |
}, | |
ontimeout: function() { | |
$("#ROT_RedditPosts").empty(); | |
$("#ROT_RedditPosts").append('Error getting data from Reddit (timed out). Trying again in '+GM_getValue('RefreshInterval', 180)+' seconds...' ); | |
} | |
}); | |
clearablePosts = setInterval(getRedditPosts, GM_getValue('RefreshInterval', 180) * 1000); | |
})(); | |
GM_addStyle('.ROT_Reddit_Post { margin:1px 0 0 0; padding:0 0 5px 0; color:#ddd; font:11px Arial; border-bottom:1px solid #aaa; line-height:11px; }'); | |
GM_addStyle('.ROT_Reddit_PostFooter { font-size:10px; color:#888; }'); | |
GM_addStyle('.ROT_Reddit_Title { color:#888; }'); | |
GM_addStyle('.ROT_Reddit_Title:hover { text-decoration:underline; color:#888; }'); | |
GM_addStyle('.ROT_Reddit_Author { color:#48c; }'); | |
GM_addStyle('.ROT_Reddit_Author:hover { text-decoration:underline; color:#48c; }'); | |
GM_addStyle('.ROT_Reddit_FlairText { color:#99f; }'); | |
GM_addStyle('.ROT_Reddit_Comments_Count { color:#aaa; }'); | |
GM_addStyle('.ROT_Reddit_Comments_Count:hover { text-decoration:underline; color:#aaa; }'); | |
GM_addStyle('.ROT_MultiSub { font-size:10px; padding:0 2px; margin-right:2px; border:1px solid #666; border-radius:3px; }'); | |
GM_addStyle('.ROT_MultiSub:hover { border:1px solid #bbb; }'); | |
GM_addStyle('.ROT_Reddit_Comment_Title { color:#888; }'); | |
GM_addStyle('.ROT_Reddit_Comment_Title:hover { text-decoration:underline; color:#888; }'); | |
GM_addStyle('.ROT_Reddit_Comment { color:#88d }'); | |
GM_addStyle('.ROT_Reddit_Comment:hover { text-decoration:underline; color:#88d; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody blockquote { margin:2px 0 2px 5px; font-style:italic; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody p { margin:0; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody hr { margin:0; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody pre { margin:0; overflow:hidden }'); | |
GM_addStyle('.ROT_Reddit_CommentBody ul { list-style:disc; margin:0; -webkit-padding-start:20px; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody ol { margin:0; -webkit-padding-start:20px; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody h1 { margin:0; font-size:inherit; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody h2 { margin:0; font-size:inherit; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody a { color:#b9c; }'); | |
GM_addStyle('.ROT_Reddit_CommentBody a:hover { text-decoration:underline; }'); | |
GM_addStyle('.ROT_ModPost { color:#0a0 }'); | |
GM_addStyle('.ROT_Platinum { color:#b0daff; cursor:default; }'); | |
GM_addStyle('.ROT_Gold { color:#ffd700; cursor:default; }'); | |
GM_addStyle('.ROT_Silver { color:#dadada; cursor:default; }'); | |
GM_addStyle('.ROT_NSFW { color:white; background:deeppink; padding:0 2px; border-radius:2px; font-variant:small-caps; font-size:9px; cursor:default; }'); | |
GM_addStyle('.ROT_CrossPost { color:#ccc; display:inline-block; width:10px; height:10px; background:#555; border-radius:3px; text-align:center; text-shadow:none; }'); | |
$('#ROT_SubRedditName').on('change', function(){ | |
GM_setValue('SubRedditName', this.value); | |
}); | |
$('#ROT_Header input').keydown(function(event) { | |
if (event.which == 13 && $('#ROT_SubRedditName').val()) { //enter | |
getRedditPosts(); | |
checkUnreadMessages(); | |
} | |
}); | |
$('#ROT_Karma').on('click', function() { | |
var response = prompt("Enter your reddit username to lookup your Karma..."); | |
if (response !== null) { //null == cancel | |
if (response === "") { | |
GM_deleteValue('UserName'); | |
$('#ROT_Karma').html('?-?').attr('title', 'Karma! Click to enter a Reddit username...'); | |
} else { | |
GM_setValue('UserName', response); | |
checkUnreadMessages(); | |
} | |
} | |
}); | |
$('#ROT_NewHot').on('click', function() { | |
GM_setValue('NewHot', $(this).is(':checked')); | |
getRedditPosts(); | |
checkUnreadMessages(); | |
}); | |
$('#ROT_Comments').on('click', function() { | |
GM_setValue('Comments', $(this).is(':checked')); | |
getRedditPosts(); | |
checkUnreadMessages(); | |
}); | |
$('#ROT_NewMailSound').on('click', function() { | |
GM_setValue('NewMailSound', $(this).is(':checked')); | |
}); | |
$('#ROT_NumberPosts').on('change', function(){ | |
GM_setValue('NumberPosts', this.value); | |
}); | |
$('#ROT_RefreshInterval').on('change', function(){ | |
GM_setValue('RefreshInterval', this.value); | |
}); | |
$('#ROT_GoButton').on('click', function() { | |
getRedditPosts(); | |
checkUnreadMessages(); | |
}); | |
$('#ROT_MessagesState').on('click', function() { | |
setTimeout(checkUnreadMessages, 5000); | |
getRedditPosts(); | |
}); | |
$('#ROT_ReplaceNews').on('click', function() { | |
GM_setValue('ReplaceNews', $(this).is(':checked')); | |
}); | |
function encodeHtml(string) { | |
let result = string.replace(/[\u00A0-\u9999<>\&]/gim, function(i) { | |
return '&#' + i.charCodeAt(0) + ';'; | |
}); | |
return result; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment