Skip to content

Instantly share code, notes, and snippets.

@seangeleno
Last active December 29, 2023 21:45
Show Gist options
  • Save seangeleno/19ca39abeea57db34ccaca172184b26b to your computer and use it in GitHub Desktop.
Save seangeleno/19ca39abeea57db34ccaca172184b26b to your computer and use it in GitHub Desktop.
twitter widget
!function () {
Function && Function.prototype && Function.prototype.bind && (/MSIE [678]/.test(navigator.userAgent) || (window.__twttr && window.__twttr.widgets && window.__twttr.widgets.loaded && window.twttr.widgets.load && window.twttr.widgets.load(), window.__twttr && window.__twttr.widgets && window.__twttr.widgets.init || !function (t) {
function e(n) {
if (r[n]) return r[n].exports;
var i = r[n] = {exports: {}, id: n, loaded: !1};
return t[n].call(i.exports, i, i.exports, e), i.loaded = !0, i.exports
}
var n = window.__twttrll;
window.__twttrll = function (r, o) {
for (var s, a, u = 0, c = []; u < r.length; u++) a = r[u], i[a] && c.push.apply(c, i[a]), i[a] = 0;
for (s in o) t[s] = o[s];
for (n && n(r, o); c.length;) c.shift().call(null, null, e)
};
var r = {}, i = {0: 0};
return e.e = function (t, e) {
}, e.e = function (t, n) {
if (0 === i[t]) return n.call(null, null, e);
if (void 0 !== i[t]) i[t].push(n); else {
i[t] = [n];
var r = document.getElementsByTagName("head")[0], o = document.createElement("script");
o.type = "text/javascript", o.charset = "utf-8", o.async = !0, o.onerror = function () {
var e = i[t];
for (o.onerror = null, delete i[t]; e.length;) e.shift().call(null, new Error("failed to load chunk"))
}, o.src = e.p + "js/" + ({
1: "dm_button",
2: "button",
3: "grid",
4: "moment",
5: "periscope_on_air",
6: "timeline",
7: "tweet"
}[t] || t) + "." + {
1: "c9f0b4f943a926eb7af107443d33364f",
2: "df1da1fef194d8f8f3fd803a219a8177",
3: "d416ad1e7cade90f77b5fb828cf4bc4a",
4: "189c3723afcd0d91c33b2a05c73be7f2",
5: "e6b25843ebf988f199d25724dd785f62",
6: "ff86712a8787b0d6f6120c5ba369b603",
7: "93aa3e9703850a69d5d48b454189def5"
}[t] + ".js", r.appendChild(o)
}
}, e.m = t, e.c = r, e.p = "https://platform.twitter.com/", e(0)
}([function (t, e, n) {
var r, i = n(1), o = n(9), s = n(14), a = n(16), u = n(18), c = n(19), d = n(30), f = n(32), l = n(260),
h = n(271), p = n(272), m = n(239), v = "_e";
n(273), u.set("widgets.init", !0), a.set("init", !0), p(), r = new i, s.exposeReadyPromise(r.promise, a.base, v), a.set("widgets", l), a.set("widgets.load", f.load), a.set("events", d), h(function () {
r.resolve(a.base), c.attachTo(o), m.emitter.trigger(m.START), f.loadPage()
})
}, function (t, e, n) {
function r() {
var t = this;
this.promise = new i(function (e, n) {
t.resolve = e, t.reject = n
})
}
var i = n(2);
t.exports = r
}, function (t, e, n) {
var r = n(3).Promise, i = n(7), o = n(8);
t.exports = o.hasPromiseSupport() ? i.Promise : r
}, function (t, e, n) {
var r;
(function (t) {/*!
* @overview es6-promise - a tiny implementation of Promises/A+.
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
* @license Licensed under MIT license
* See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE
* @version 2.3.0
*/
(function () {
"use strict";
function i(t) {
return "function" == typeof t || "object" == typeof t && null !== t
}
function o(t) {
return "function" == typeof t
}
function s(t) {
return "object" == typeof t && null !== t
}
function a(t) {
V = t
}
function u(t) {
K = t
}
function c() {
var t = process.nextTick, e = process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);
return Array.isArray(e) && "0" === e[1] && "10" === e[2] && (t = setImmediate), function () {
t(p)
}
}
function d() {
return function () {
H(p)
}
}
function f() {
var t = 0, e = new Z(p), n = document.createTextNode("");
return e.observe(n, {characterData: !0}), function () {
n.data = t = ++t % 2
}
}
function l() {
var t = new MessageChannel;
return t.port1.onmessage = p, function () {
t.port2.postMessage(0)
}
}
function h() {
return function () {
setTimeout(p, 1)
}
}
function p() {
for (var t = 0; t < Q; t += 2) {
var e = et[t], n = et[t + 1];
e(n), et[t] = void 0, et[t + 1] = void 0
}
Q = 0
}
function m() {
try {
var t = n(5);
return H = t.runOnLoop || t.runOnContext, d()
} catch (t) {
return h()
}
}
function v() {
}
function g() {
return new TypeError("You cannot resolve a promise with itself")
}
function w() {
return new TypeError("A promises callback cannot return that same promise.")
}
function y(t) {
try {
return t.then
} catch (t) {
return ot.error = t, ot
}
}
function b(t, e, n, r) {
try {
t.call(e, n, r)
} catch (t) {
return t
}
}
function _(t, e, n) {
K(function (t) {
var r = !1, i = b(n, e, function (n) {
r || (r = !0, e !== n ? A(t, n) : T(t, n))
}, function (e) {
r || (r = !0, I(t, e))
}, "Settle: " + (t._label || " unknown promise"));
!r && i && (r = !0, I(t, i))
}, t)
}
function E(t, e) {
e._state === rt ? T(t, e._result) : e._state === it ? I(t, e._result) : S(e, void 0, function (e) {
A(t, e)
}, function (e) {
I(t, e)
})
}
function x(t, e) {
if (e.constructor === t.constructor) E(t, e); else {
var n = y(e);
n === ot ? I(t, ot.error) : void 0 === n ? T(t, e) : o(n) ? _(t, e, n) : T(t, e)
}
}
function A(t, e) {
t === e ? I(t, g()) : i(e) ? x(t, e) : T(t, e)
}
function C(t) {
t._onerror && t._onerror(t._result), R(t)
}
function T(t, e) {
t._state === nt && (t._result = e, t._state = rt, 0 !== t._subscribers.length && K(R, t))
}
function I(t, e) {
t._state === nt && (t._state = it, t._result = e, K(C, t))
}
function S(t, e, n, r) {
var i = t._subscribers, o = i.length;
t._onerror = null, i[o] = e, i[o + rt] = n, i[o + it] = r, 0 === o && t._state && K(R, t)
}
function R(t) {
var e = t._subscribers, n = t._state;
if (0 !== e.length) {
for (var r, i, o = t._result, s = 0; s < e.length; s += 3) r = e[s], i = e[s + n], r ? N(n, r, i, o) : i(o);
t._subscribers.length = 0
}
}
function P() {
this.error = null
}
function j(t, e) {
try {
return t(e)
} catch (t) {
return st.error = t, st
}
}
function N(t, e, n, r) {
var i, s, a, u, c = o(n);
if (c) {
if (i = j(n, r), i === st ? (u = !0, s = i.error, i = null) : a = !0, e === i) return void I(e, w())
} else i = r, a = !0;
e._state !== nt || (c && a ? A(e, i) : u ? I(e, s) : t === rt ? T(e, i) : t === it && I(e, i))
}
function k(t, e) {
try {
e(function (e) {
A(t, e)
}, function (e) {
I(t, e)
})
} catch (e) {
I(t, e)
}
}
function L(t, e) {
var n = this;
n._instanceConstructor = t, n.promise = new t(v), n._validateInput(e) ? (n._input = e, n.length = e.length, n._remaining = e.length, n._init(), 0 === n.length ? T(n.promise, n._result) : (n.length = n.length || 0, n._enumerate(), 0 === n._remaining && T(n.promise, n._result))) : I(n.promise, n._validationError())
}
function O(t) {
return new at(this, t).promise
}
function D(t) {
function e(t) {
A(i, t)
}
function n(t) {
I(i, t)
}
var r = this, i = new r(v);
if (!$(t)) return I(i, new TypeError("You must pass an array to race.")), i;
for (var o = t.length, s = 0; i._state === nt && s < o; s++) S(r.resolve(t[s]), void 0, e, n);
return i
}
function z(t) {
var e = this;
if (t && "object" == typeof t && t.constructor === e) return t;
var n = new e(v);
return A(n, t), n
}
function B(t) {
var e = this, n = new e(v);
return I(n, t), n
}
function F() {
throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")
}
function M() {
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
}
function U(t) {
this._id = lt++, this._state = void 0, this._result = void 0, this._subscribers = [], v !== t && (o(t) || F(), this instanceof U || M(), k(this, t))
}
function q() {
var t;
if ("undefined" != typeof global) t = global; else if ("undefined" != typeof self) t = self; else try {
t = Function("return this")()
} catch (t) {
throw new Error("polyfill failed because global object is unavailable in this environment")
}
var e = t.Promise;
e && "[object Promise]" === Object.prototype.toString.call(e.resolve()) && !e.cast || (t.Promise = ht)
}
var W;
W = Array.isArray ? Array.isArray : function (t) {
return "[object Array]" === Object.prototype.toString.call(t)
};
var H, V, G, $ = W, Q = 0, K = ({}.toString, function (t, e) {
et[Q] = t, et[Q + 1] = e, Q += 2, 2 === Q && (V ? V(p) : G())
}), J = "undefined" != typeof window ? window : void 0, Y = J || {},
Z = Y.MutationObserver || Y.WebKitMutationObserver,
X = "undefined" != typeof process && "[object process]" === {}.toString.call(process),
tt = "undefined" != typeof Uint8ClampedArray && "undefined" != typeof importScripts && "undefined" != typeof MessageChannel,
et = new Array(1e3);
G = X ? c() : Z ? f() : tt ? l() : void 0 === J ? m() : h();
var nt = void 0, rt = 1, it = 2, ot = new P, st = new P;
L.prototype._validateInput = function (t) {
return $(t)
}, L.prototype._validationError = function () {
return new Error("Array Methods must be provided an Array")
}, L.prototype._init = function () {
this._result = new Array(this.length)
};
var at = L;
L.prototype._enumerate = function () {
for (var t = this, e = t.length, n = t.promise, r = t._input, i = 0; n._state === nt && i < e; i++) t._eachEntry(r[i], i)
}, L.prototype._eachEntry = function (t, e) {
var n = this, r = n._instanceConstructor;
s(t) ? t.constructor === r && t._state !== nt ? (t._onerror = null, n._settledAt(t._state, e, t._result)) : n._willSettleAt(r.resolve(t), e) : (n._remaining--, n._result[e] = t)
}, L.prototype._settledAt = function (t, e, n) {
var r = this, i = r.promise;
i._state === nt && (r._remaining--, t === it ? I(i, n) : r._result[e] = n), 0 === r._remaining && T(i, r._result)
}, L.prototype._willSettleAt = function (t, e) {
var n = this;
S(t, void 0, function (t) {
n._settledAt(rt, e, t)
}, function (t) {
n._settledAt(it, e, t)
})
};
var ut = O, ct = D, dt = z, ft = B, lt = 0, ht = U;
U.all = ut, U.race = ct, U.resolve = dt, U.reject = ft, U._setScheduler = a, U._setAsap = u, U._asap = K, U.prototype = {
constructor: U,
then: function (t, e) {
var n = this, r = n._state;
if (r === rt && !t || r === it && !e) return this;
var i = new this.constructor(v), o = n._result;
if (r) {
var s = arguments[r - 1];
K(function () {
N(r, i, s, o)
})
} else S(n, i, t, e);
return i
},
catch: function (t) {
return this.then(null, t)
}
};
var pt = q, mt = {Promise: ht, polyfill: pt};
n(6).amd ? (r = function () {
return mt
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r))) : "undefined" != typeof t && t.exports && (t.exports = mt)
}).call(this)
}).call(e, n(4)(t))
}, function (t, e) {
t.exports = function (t) {
return t.webpackPolyfill || (t.deprecate = function () {
}, t.paths = [], t.children = [], t.webpackPolyfill = 1), t
}
}, function (t, e) {
}, function (t, e) {
t.exports = function () {
throw new Error("define cannot be used indirect")
}
}, function (t, e) {
t.exports = window
}, function (t, e, n) {
function r(t) {
return t = t || w, t.devicePixelRatio ? t.devicePixelRatio >= 1.5 : !!t.matchMedia && t.matchMedia("only screen and (min-resolution: 144dpi)").matches
}
function i(t) {
return t = t || b, /(Trident|MSIE|Edge[\/ ]?\d)/.test(t)
}
function o(t) {
return t = t || b, /MSIE 9/.test(t)
}
function s(t) {
return t = t || b, /MSIE 10/.test(t)
}
function a(t) {
return t = t || b, /(iPad|iPhone|iPod)/.test(t)
}
function u(t) {
return t = t || b, /^Mozilla\/5\.0 \(Linux; (U; )?Android/.test(t)
}
function c(t, e) {
return t = t || w, e = e || b, t.postMessage && !(i(e) && t.opener)
}
function d(t, e, n) {
return t = t || w, e = e || g, n = n || b, "ontouchstart" in t || /Opera Mini/.test(n) || e.msMaxTouchPoints > 0
}
function f() {
var t = v.body.style;
return void 0 !== t.transition || void 0 !== t.webkitTransition || void 0 !== t.mozTransition || void 0 !== t.oTransition || void 0 !== t.msTransition
}
function l() {
return !!w.IntersectionObserver
}
function h() {
return !!(w.Promise && w.Promise.resolve && w.Promise.reject && w.Promise.all && w.Promise.race && function () {
var t;
return new w.Promise(function (e) {
t = e
}), y.isType("function", t)
}())
}
function p() {
return w.performance && w.performance.getEntriesByType
}
function m() {
try {
return w.localStorage.setItem("local_storage_support_test", "true"), "undefined" != typeof w.localStorage
} catch (t) {
return !1
}
}
var v = n(9), g = (n(10), n(13)), w = n(7), y = n(12), b = g.userAgent;
t.exports = {
retina: r,
anyIE: i,
ie9: o,
ie10: s,
ios: a,
android: u,
canPostMessage: c,
touch: d,
cssTransitions: f,
hasPromiseSupport: h,
hasIntersectionObserverSupport: l,
hasPerformanceInformation: p,
hasLocalStorageSupport: m
}
}, function (t, e) {
t.exports = document
}, function (t, e, n) {
function r() {
c("info", l.toRealArray(arguments))
}
function i() {
c("warn", l.toRealArray(arguments))
}
function o() {
c("error", l.toRealArray(arguments))
}
function s(t) {
m && (p[t] = u())
}
function a(t) {
var e;
m && (p[t] ? (e = u(), r("_twitter", t, e - p[t])) : o("timeEnd() called before time() for id: ", t))
}
function u() {
return f.performance && +f.performance.now() || +new Date
}
function c(t, e) {
if (f[h] && f[h][t]) switch (e.length) {
case 1:
f[h][t](e[0]);
break;
case 2:
f[h][t](e[0], e[1]);
break;
case 3:
f[h][t](e[0], e[1], e[2]);
break;
case 4:
f[h][t](e[0], e[1], e[2], e[3]);
break;
case 5:
f[h][t](e[0], e[1], e[2], e[3], e[4]);
break;
default:
0 !== e.length && f[h].warn && f[h].warn("too many params passed to logger." + t)
}
}
var d = n(11), f = n(7), l = n(12), h = ["con", "sole"].join(""), p = {},
m = l.contains(d.href, "tw_debug=true");
t.exports = {info: r, warn: i, error: o, time: s, timeEnd: a}
}, function (t, e) {
t.exports = location
}, function (t, e, n) {
function r(t) {
return f(arguments).slice(1).forEach(function (e) {
o(e, function (e, n) {
t[e] = n
})
}), t
}
function i(t) {
return o(t, function (e, n) {
u(n) && (i(n), c(n) && delete t[e]), void 0 !== n && null !== n && "" !== n || delete t[e]
}), t
}
function o(t, e) {
var n;
for (n in t) t.hasOwnProperty && !t.hasOwnProperty(n) || e(n, t[n]);
return t
}
function s(t) {
return {}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
}
function a(t, e) {
return t == s(e)
}
function u(t) {
return t === Object(t)
}
function c(t) {
var e;
if (!u(t)) return !1;
if (Object.keys) return !Object.keys(t).length;
for (e in t) if (t.hasOwnProperty(e)) return !1;
return !0
}
function d(t, e) {
h.setTimeout(function () {
t.call(e || null)
}, 0)
}
function f(t) {
return t ? Array.prototype.slice.call(t) : []
}
function l(t, e) {
return !(!t || !t.indexOf) && t.indexOf(e) > -1
}
var h = n(7);
t.exports = {
aug: r,
async: d,
compact: i,
contains: l,
forIn: o,
isObject: u,
isEmptyObject: c,
toType: s,
isType: a,
toRealArray: f
}
}, function (t, e) {
t.exports = navigator
}, function (t, e, n) {
function r(t, e, n) {
e.ready = i(t.then, t), n && Array.isArray(e[n]) && (e[n].forEach(i(t.then, t)), delete e[n])
}
var i = n(15);
t.exports = {exposeReadyPromise: r}
}, function (t, e, n) {
var r = n(12);
t.exports = function (t, e) {
var n = Array.prototype.slice.call(arguments, 2);
return function () {
var i = r.toRealArray(arguments);
return t.apply(e, n.concat(i))
}
}
}, function (t, e, n) {
var r = n(17);
t.exports = new r("twttr")
}, function (t, e, n) {
function r(t) {
return a.isType("string", t) ? t.split(".") : a.isType("array", t) ? t : []
}
function i(t, e) {
var n = r(e), i = n.slice(0, -1);
return i.reduce(function (t, e, n) {
if (t[e] = t[e] || {}, !a.isObject(t[e])) throw new Error(i.slice(0, n + 1).join(".") + " is already defined with a value.");
return t[e]
}, t)
}
function o(t, e) {
e = e || s, e[t] = e[t] || {}, Object.defineProperty(this, "base", {value: e[t]}), Object.defineProperty(this, "name", {value: t})
}
var s = n(7), a = n(12);
a.aug(o.prototype, {
get: function (t) {
var e = r(t);
return e.reduce(function (t, e) {
if (a.isObject(t)) return t[e]
}, this.base)
}, set: function (t, e, n) {
var o = r(t), s = i(this.base, t), a = o.slice(-1);
return n && a in s ? s[a] : s[a] = e
}, init: function (t, e) {
return this.set(t, e, !0)
}, unset: function (t) {
var e = r(t), n = this.get(e.slice(0, -1));
n && delete n[e.slice(-1)]
}, aug: function (t) {
var e = this.get(t), n = a.toRealArray(arguments).slice(1);
if (e = "undefined" != typeof e ? e : {}, n.unshift(e), !n.every(a.isObject)) throw new Error("Cannot augment non-object.");
return this.set(t, a.aug.apply(null, n))
}, call: function (t) {
var e = this.get(t), n = a.toRealArray(arguments).slice(1);
if (!a.isType("function", e)) throw new Error("Function " + t + "does not exist.");
return e.apply(null, n)
}, fullPath: function (t) {
var e = r(t);
return e.unshift(this.name), e.join(".")
}
}), t.exports = o
}, function (t, e, n) {
var r = n(17);
t.exports = new r("__twttr")
}, function (t, e, n) {
function r(t) {
var e = s.href, n = "original_referer=" + e;
return [t, n].join(t.indexOf("?") == -1 ? "?" : "&")
}
function i(t) {
var e, n;
t.altKey || t.metaKey || t.shiftKey || (e = u.closest(function (t) {
return "A" === t.tagName || "AREA" === t.tagName
}, t.target), e && d.isIntentURL(e.href) && (n = r(e.href), n = n.replace(/^http[:]/, "https:"), n = n.replace(/^\/\//, "https://"), c.open(n, e), a.preventDefault(t)))
}
function o(t) {
t.addEventListener("click", i, !1)
}
var s = n(11), a = n(20), u = n(22), c = n(23), d = n(24);
t.exports = {attachTo: o}
}, function (t, e, n) {
function r(t) {
var e = t.getAttribute("data-twitter-event-id");
return e ? e : (t.setAttribute("data-twitter-event-id", ++g), g)
}
function i(t, e, n) {
var r = 0, i = t && t.length || 0;
for (r = 0; r < i; r++) if (t[r].call(e, n, e), n.ceaseImmediately) return !1
}
function o(t, e, n) {
for (var r = n || t.target || t.srcElement, s = m.list(r).map(function (t) {
return "." + t
}), a = s.concat(r.tagName), u = 0, c = a.length; u < c; u++) if (i(e[a[u]], r, t) === !1) return;
t.cease || r !== this && o.call(this, t, e, r.parentElement || r.parentNode)
}
function s(t, e, n, r) {
function i(r) {
o.call(t, r, n[e])
}
a(t, i, e, r), t.addEventListener(e, i, !1)
}
function a(t, e, n, r) {
t.id && (w[t.id] = w[t.id] || [], w[t.id].push({el: t, listener: e, type: n, rootId: r}))
}
function u(t) {
var e = w[t];
e && (e.forEach(function (t) {
t.el.removeEventListener(t.type, t.listener, !1), delete v[t.rootId]
}), delete w[t])
}
function c(t, e, n, i) {
var o = r(t);
v[o] = v[o] || {}, v[o][e] || (v[o][e] = {}, s(t, e, v[o], o)), v[o][e][n] = v[o][e][n] || [], v[o][e][n].push(i)
}
function d(t, e, n) {
var i = r(e), s = v[i] && v[i];
o.call(e, {target: n}, s[t])
}
function f(t) {
return h(t), l(t), !1
}
function l(t) {
t && t.preventDefault ? t.preventDefault() : t.returnValue = !1
}
function h(t) {
t && (t.cease = !0) && t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
}
function p(t) {
t && (t.ceaseImmediately = !0, h(t), t.stopImmediatePropagation())
}
var m = n(21), v = {}, g = -1, w = {};
t.exports = {
stop: f,
stopPropagation: h,
stopImmediatePropagation: p,
preventDefault: l,
delegate: c,
simulate: d,
removeDelegatesForWidget: u
}
}, function (t, e, n) {
function r(t) {
return new RegExp("\\b" + t + "\\b", "g")
}
function i(t, e) {
return t.classList ? void t.classList.add(e) : void(r(e).test(t.className) || (t.className += " " + e))
}
function o(t, e) {
return t.classList ? void t.classList.remove(e) : void(t.className = t.className.replace(r(e), " "))
}
function s(t, e, n) {
return void 0 === n && t.classList && t.classList.toggle ? t.classList.toggle(e, n) : (n ? i(t, e) : o(t, e), n)
}
function a(t, e, n) {
return t.classList && u(t, e) ? (o(t, e), void i(t, n)) : void(t.className = t.className.replace(r(e), n))
}
function u(t, e) {
return t.classList ? t.classList.contains(e) : d.contains(c(t), e)
}
function c(t) {
return d.toRealArray(t.classList ? t.classList : t.className.match(f))
}
var d = n(12), f = /\b([\w-_]+)\b/g;
t.exports = {add: i, remove: o, replace: a, toggle: s, present: u, list: c}
}, function (t, e, n) {
function r(t) {
var e = t.charAt(0);
return "." === e ? function (e) {
var n = e.className ? e.className.split(/\s+/) : [];
return o.contains(n, t.slice(1))
} : "#" === e ? function (e) {
return e.id === t.slice(1)
} : function (e) {
return e.tagName === t.toUpperCase()
}
}
function i(t, e, n) {
var s;
if (e) return n = n || e && e.ownerDocument, s = o.isType("function", t) ? t : r(t), e === n ? s(e) ? e : void 0 : s(e) ? e : i(s, e.parentNode, n)
}
var o = n(12);
t.exports = {closest: i}
}, function (t, e, n) {
function r(t, e) {
u.open(t, {}, e)
}
function i(t, e) {
var n = d.decodeURL(e);
switch (t) {
case"favorite":
case"like":
return {tweet_id: n.tweet_id};
case"follow":
return {screen_name: n.screen_name, user_id: n.user_id};
case"retweet":
return {source_tweet_id: n.tweet_id};
default:
return {}
}
}
function o(t, e, n) {
var o = (a.intentType(t) || "").toLowerCase();
a.isTwitterURL(t) && (r(t, n), e && c.trigger("click", {
target: e,
region: "intent",
type: "click",
data: {}
}), e && f[o] && f[o].forEach(function (n) {
c.trigger(n, {target: e, region: "intent", type: n, data: i(o, t)})
}))
}
function s(t) {
this.srcEl = [], this.element = t
}
var a = n(24), u = n(27), c = n(30), d = n(25), f = {
favorite: ["favorite", "like"],
follow: ["follow"],
like: ["favorite", "like"],
retweet: ["retweet"],
tweet: ["tweet"]
};
s.open = o, t.exports = s
}, function (t, e, n) {
function r(t) {
return "string" == typeof t && x.test(t) && RegExp.$1.length <= 20
}
function i(t) {
if (r(t)) return RegExp.$1
}
function o(t, e) {
var n = E.decodeURL(t);
if (e = e || !1, n.screen_name = i(t), n.screen_name) return E.url("https://twitter.com/intent/" + (e ? "follow" : "user"), n)
}
function s(t) {
return o(t, !0)
}
function a(t) {
return "string" == typeof t && I.test(t)
}
function u(t, e) {
if (e = void 0 === e || e, a(t)) return (e ? "#" : "") + RegExp.$1
}
function c(t) {
return "string" == typeof t && A.test(t)
}
function d(t) {
return c(t) && RegExp.$1
}
function f(t) {
return C.test(t)
}
function l(t) {
return T.test(t)
}
function h(t) {
return S.test(t)
}
function p(t) {
return L.test(t)
}
function m(t) {
return O.test(t)
}
function v(t) {
return P.test(t) && RegExp.$1
}
function g(t) {
return R.test(t) && RegExp.$1
}
function w(t) {
return S.test(t) && RegExp.$1
}
function y(t) {
return j.test(t) && RegExp.$1
}
function b(t) {
return !!N.test(t) && {ownerScreenName: RegExp.$1, slug: RegExp.$2}
}
function _(t) {
return k.test(t) && RegExp.$1
}
var E = n(25),
x = /(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?(?:\/intent\/(?:follow|user)\/?\?screen_name=|(?:\/#!)?\/))@?([\w]+)(?:\?|&|$)/i,
A = /(?:^|(?:https?:)?\/\/(?:www\.)?twitter\.com(?::\d+)?\/(?:#!\/)?[\w_]+\/status(?:es)?\/)(\d+)/i,
C = /^http(s?):\/\/(\w+\.)*twitter\.com([:\/]|$)/i, T = /^http(s?):\/\/pbs\.twimg\.com\//,
I = /^#?([^.,<>!\s\/#\-()'"]+)$/, S = /twitter\.com(?::\d{2,4})?\/intent\/(\w+)/,
R = /^https?:\/\/(?:www\.)?twitter\.com\/\w+\/timelines\/(\d+)/i,
P = /^https?:\/\/(?:www\.)?twitter\.com\/i\/moments\/(\d+)/i,
j = /^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/(?:likes|favorites)/i,
N = /^https?:\/\/(?:www\.)?twitter\.com\/(\w+)\/lists\/([\w-]+)/i,
k = /^https?:\/\/(?:www\.)?twitter\.com\/i\/live\/(\d+)/i,
L = /^https?:\/\/syndication\.twitter\.com\/settings/i,
O = /^https?:\/\/(localhost|platform)\.twitter\.com(?::\d+)?\/widgets\/widget_iframe\.(.+)/i;
t.exports = {
isHashTag: a,
hashTag: u,
isScreenName: r,
screenName: i,
isStatus: c,
status: d,
intentForProfileURL: o,
intentForFollowURL: s,
isTwitterURL: f,
isTwimgURL: l,
isIntentURL: h,
isSettingsURL: p,
isWidgetIframeURL: m,
regexen: {profile: x},
momentId: v,
collectionId: g,
intentType: w,
likesScreenName: y,
listScreenNameAndSlug: b,
eventId: _
}
}, function (t, e, n) {
function r(t) {
return encodeURIComponent(t).replace(/\+/g, "%2B").replace(/'/g, "%27")
}
function i(t) {
return decodeURIComponent(t)
}
function o(t) {
var e = [];
return d.forIn(t, function (t, n) {
var i = r(t);
d.isType("array", n) || (n = [n]), n.forEach(function (t) {
c.hasValue(t) && e.push(i + "=" + r(t))
})
}), e.sort().join("&")
}
function s(t) {
var e, n = {};
return t ? (e = t.split("&"), e.forEach(function (t) {
var e = t.split("="), r = i(e[0]), o = i(e[1]);
if (2 == e.length) return d.isType("array", n[r]) ? void n[r].push(o) : r in n ? (n[r] = [n[r]], void n[r].push(o)) : void(n[r] = o)
}), n) : {}
}
function a(t, e) {
var n = o(e);
return n.length > 0 ? d.contains(t, "?") ? t + "&" + o(e) : t + "?" + o(e) : t
}
function u(t) {
var e = t && t.split("?");
return 2 == e.length ? s(e[1]) : {}
}
var c = n(26), d = n(12);
t.exports = {url: a, decodeURL: u, decode: s, encode: o, encodePart: r, decodePart: i}
}, function (t, e, n) {
function r(t) {
return void 0 !== t && null !== t && "" !== t
}
function i(t) {
return a(t) && t % 1 === 0
}
function o(t) {
return "string" === m.toType(t)
}
function s(t) {
return a(t) && !i(t)
}
function a(t) {
return r(t) && !isNaN(t)
}
function u(t) {
return r(t) && "array" == m.toType(t)
}
function c(t) {
return m.contains(g, t)
}
function d(t) {
return m.contains(v, t)
}
function f(t) {
return !!r(t) && (!!d(t) || !c(t) && !!t)
}
function l(t) {
if (a(t)) return t
}
function h(t) {
if (s(t)) return t
}
function p(t) {
if (i(t)) return parseInt(t, 10)
}
var m = n(12), v = [!0, 1, "1", "on", "ON", "true", "TRUE", "yes", "YES"],
g = [!1, 0, "0", "off", "OFF", "false", "FALSE", "no", "NO"];
t.exports = {
hasValue: r,
isInt: i,
isFloat: s,
isNumber: a,
isString: o,
isArray: u,
isTruthValue: d,
isFalseValue: c,
asInt: p,
asFloat: h,
asNumber: l,
asBoolean: f
}
}, function (t, e, n) {
function r(t) {
var e = [];
return m.forIn(t, function (t, n) {
e.push(t + "=" + n)
}), e.join(",")
}
function i() {
return v + p.generate()
}
function o(t, e) {
function n(t) {
return Math.round(t / 2)
}
return t > e ? {coordinate: 0, size: e} : {coordinate: n(e) - n(t), size: t}
}
function s(t, e, n) {
var i, s;
e = a.parse(e), n = n || {}, i = o(e.width, n.width || g), e.left = i.coordinate, e.width = i.size, s = o(e.height, n.height || w), e.top = s.coordinate, e.height = s.size, this.win = t, this.features = r(e)
}
var a, u = n(7), c = n(28), d = n(20), f = n(22), l = n(8), h = n(24), p = n(29), m = n(12), v = "intent_",
g = u.screen.width, w = u.screen.height;
a = (new c).defaults({
width: 550,
height: 520,
personalbar: "0",
toolbar: "0",
location: "1",
scrollbars: "1",
resizable: "1"
}), s.prototype.open = function (t, e) {
var n = e && "click" == e.type && f.closest("a", e.target), r = e && (e.altKey || e.metaKey || e.shiftKey),
o = n && (l.ios() || l.android());
if (h.isTwitterURL(t)) return r || o ? this : (this.name = i(), this.popup = this.win.open(t, this.name, this.features), e && d.preventDefault(e), this)
}, s.open = function (t, e, n) {
var r = new s(u, e);
return r.open(t, n)
}, t.exports = s
}, function (t, e, n) {
function r(t) {
return function (e) {
return o.hasValue(e[t])
}
}
function i() {
this.assertions = [], this._defaults = {}
}
var o = n(26), s = n(12);
i.prototype.assert = function (t, e) {
return this.assertions.push({fn: t, msg: e || "assertion failed"}), this
}, i.prototype.defaults = function (t) {
return this._defaults = t || this._defaults, this
}, i.prototype.require = function (t) {
var e = this;
return t = Array.isArray(t) ? t : s.toRealArray(arguments), t.forEach(function (t) {
e.assert(r(t), "required: " + t)
}), this
}, i.prototype.parse = function (t) {
var e, n;
if (e = s.aug({}, this._defaults, t || {}), n = this.assertions.reduce(function (t, n) {
return n.fn(e) || t.push(n.msg), t
}, []), n.length > 0) throw new Error(n.join("\n"));
return e
}, t.exports = i
}, function (t, e) {
function n() {
return i + String(+new Date) + Math.floor(1e5 * Math.random()) + o++
}
function r() {
return i + String(s++)
}
var i = "i", o = 0, s = 0;
t.exports = {generate: n, deterministic: r}
}, function (t, e, n) {
function r() {
return i.get("events") || {}
}
var i = n(16), o = n(31), s = n(12);
t.exports = s.aug(r(), o.Emitter)
}, function (t, e, n) {
function r() {
return i.aug(function () {
}, s)
}
var i = n(12), o = n(15), s = {
bind: function (t, e) {
return this._handlers = this._handlers || {}, this._handlers[t] = this._handlers[t] || [], this._handlers[t].push(e)
}, unbind: function (t, e) {
var n;
this._handlers && this._handlers[t] && (e ? (n = this._handlers[t].indexOf(e), n >= 0 && this._handlers[t].splice(n, 1)) : this._handlers[t] = [])
}, trigger: function (t, e) {
var n = this._handlers && this._handlers[t];
e = e || {}, e.type = t, n && n.forEach(function (t) {
i.async(o(t, this, e))
})
}
};
t.exports = {Emitter: s, makeEmitter: r}
}, function (t, e, n) {
function r(t) {
return t.reduce(function (t, e) {
return t.concat(w.reduce(function (t, n) {
return t.concat(n(e))
}, []))
}, [])
}
function i() {
var t = f.val("widgets:autoload") || !0;
return !m.isFalseValue(t) && (m.isTruthValue(t) ? a.body : a.querySelectorAll(t))
}
function o(t) {
var e;
return t = t || a.body, t = t.length ? v.toRealArray(t) : [t], h.pause(), e = c.allResolved(r(t).map(function (t) {
return d.addWidget(t)
})).then(function (t) {
p.trigger("loaded", {widgets: t}), y.emitter.trigger(y.ALL_WIDGETS_RENDERED, {widgets: t})
}), c.always(e, function () {
h.resume()
}), e
}
function s() {
var t = i();
return g.load(), t === !1 ? u.resolve() : (l.set("widgets.loaded", !0), o(t))
}
var a = n(9), u = n(2), c = n(33), d = n(34), f = n(41), l = n(18), h = n(42), p = n(30), m = n(26), v = n(12),
g = n(73), w = n(78), y = n(239);
t.exports = {load: o, loadPage: s, _getPageLoadTarget: i}
}, function (t, e, n) {
function r(t, e) {
return t.then(e, e)
}
function i(t) {
var e;
return t = t || [], e = t.length, t = t.filter(a), e ? e !== t.length ? c.reject("non-Promise passed to .some") : new c(function (e, n) {
function r() {
i += 1, i === t.length && n()
}
var i = 0;
t.forEach(function (t) {
t.then(e, r)
})
}) : c.reject("no promises passed to .some")
}
function o(t) {
var e;
return void 0 === t ? c.reject(new Error("undefined is not an object")) : Array.isArray(t) ? (e = t.length, e ? new c(function (n, r) {
function i() {
s += 1, s === e && (0 === u.length ? r() : n(u))
}
function o(t) {
u.push(t), i()
}
var s = 0, u = [];
t.forEach(function (t) {
a(t) ? t.then(o, i) : o(t)
})
}) : c.resolve([])) : c.reject(new Error("Type error"))
}
function s(t) {
function e() {
}
return c.all((t || []).map(function (t) {
return r(t, e)
}))
}
function a(t) {
return t instanceof c
}
function u(t, e) {
var n = new d;
return setTimeout(function () {
n.reject(new Error("Promise timed out"))
}, e), t.then(function (t) {
n.resolve(t)
}, function (t) {
n.reject(t)
}), n.promise
}
var c = n(2), d = n(1);
t.exports = {always: r, allResolved: o, some: i, isPromise: a, allSettled: s, timeout: u}
}, function (t, e, n) {
function r(t) {
return t.reduce(function (t, e) {
return t[e.className] = t[e.className] || [], t[e.className].push(e), t
}, {})
}
function i(t) {
var e = t.map(s.fromRawTask), n = r(e);
f.forIn(n, function (t, e) {
c.allSettled(e.map(function (t) {
return t.initialize()
})).then(function () {
e.forEach(function (t) {
u.all([t.hydrate(), t.insertIntoDom()]).then(d(t.render, t)).then(d(t.success, t), d(t.fail, t))
})
})
})
}
function o(t) {
return l.add(t)
}
var s = n(35), a = n(39), u = n(2), c = n(33), d = n(15), f = n(12), l = new a(i);
t.exports = {addWidget: o}
}, function (t, e, n) {
function r(t) {
var e = t.srcEl || t.targetEl;
return e.ownerDocument.defaultView
}
function i(t, e) {
this._widget = null, this._sandbox = null, this._hydrated = !1, this._insertedIntoDom = !1, this._Sandbox = t.Sandbox, this._factory = t.factory, this._widgetParams = t.parameters, this._resolve = e, this._className = t.className, this._renderedClassName = t.className + "-rendered", this._errorClassName = t.className + "-error", this._srcEl = t.srcEl, this._targetGlobal = r(t), this._insertionStrategy = function (e) {
var n = t.srcEl, r = t.targetEl;
n ? r.insertBefore(e, n) : r.appendChild(e)
}
}
var o = n(21), s = n(36), a = n(30), u = n(38), c = n(2), d = n(33);
i.fromRawTask = function (t) {
return new i(t.input, t.taskDoneDeferred.resolve)
}, i.prototype.initialize = function () {
var t = this, e = new this._Sandbox(this._targetGlobal);
return this._factory(this._widgetParams, e).then(function (n) {
return t._widget = n, t._sandbox = e, n
})
}, i.prototype.insertIntoDom = function () {
var t = this;
return this._widget ? this._sandbox.insert(this._widget.id, {class: [this._className, this._renderedClassName].join(" ")}, null, this._insertionStrategy).then(function () {
t._insertedIntoDom = !0
}) : c.reject(new Error("cannot insert widget into DOM before it is initialized"))
}, i.prototype.hydrate = function () {
var t = this;
return this._widget ? this._widget.hydrate().then(function () {
t._hydrated = !0
}) : c.reject(new Error("cannot hydrate widget before it is initialized"))
}, i.prototype.render = function () {
function t() {
r._sandbox.onResize(function () {
return r._widget.resize().then(function () {
a.trigger("resize", {target: r._sandbox.sandboxEl})
})
})
}
function e() {
return u(r._srcEl).then(function () {
return r._sandbox.sandboxEl
})
}
function n(t) {
return u(r._sandbox.sandboxEl).then(function () {
return c.reject(t)
})
}
var r = this;
return this._hydrated ? this._insertedIntoDom ? r._widget.render(r._sandbox).then(function () {
return t(), r._widget.show()
}).then(e, n) : n(new Error("cannot render widget before DOM insertion")) : n(new Error("cannot render widget before hydration"))
}, i.prototype.fail = function () {
var t = this;
return this._srcEl ? d.always(s.write(function () {
o.add(t._srcEl, t._errorClassName)
}), function () {
a.trigger("rendered", {target: t._srcEl}), t._resolve(t._srcEl)
}) : (t._resolve(), c.resolve())
}, i.prototype.success = function () {
a.trigger("rendered", {target: this._sandbox.sandboxEl}), this._resolve(this._sandbox.sandboxEl)
}, t.exports = i
}, function (t, e, n) {
function r(t, e) {
return function () {
try {
e.resolve(t.call(this))
} catch (t) {
e.reject(t)
}
}
}
function i(t, e) {
t.call(e)
}
function o(t, e) {
var n = new c;
return u.read(r(t, n), e), n.promise
}
function s(t, e) {
var n = new c;
return u.write(r(t, n), e), n.promise
}
function a(t, e, n) {
var i = new c;
return d.isType("function", t) && (n = e, e = t, t = 1), u.defer(t, r(e, i), n), i.promise
}
var u = n(37), c = n(1), d = n(12);
t.exports = {sync: i, read: o, write: s, defer: a}
}, function (t, e, n) {
var r;
!function () {
"use strict";
function i() {
this.frames = [], this.lastId = 0, this.raf = o, this.batch = {
hash: {},
read: [],
write: [],
mode: null
}
}
var o = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function (t) {
return window.setTimeout(t, 1e3 / 60)
};
i.prototype.read = function (t, e) {
var n = this.add("read", t, e), r = n.id;
this.batch.read.push(n.id);
var i = "reading" === this.batch.mode || this.batch.scheduled;
return i ? r : (this.scheduleBatch(), r)
}, i.prototype.write = function (t, e) {
var n = this.add("write", t, e), r = this.batch.mode, i = n.id;
this.batch.write.push(n.id);
var o = "writing" === r || "reading" === r || this.batch.scheduled;
return o ? i : (this.scheduleBatch(), i)
}, i.prototype.defer = function (t, e, n) {
"function" == typeof t && (n = e, e = t, t = 1);
var r = this, i = t - 1;
return this.schedule(i, function () {
r.run({fn: e, ctx: n})
})
}, i.prototype.clear = function (t) {
if ("function" == typeof t) return this.clearFrame(t);
t = Number(t);
var e = this.batch.hash[t];
if (e) {
var n = this.batch[e.type], r = n.indexOf(t);
delete this.batch.hash[t], ~r && n.splice(r, 1)
}
}, i.prototype.clearFrame = function (t) {
var e = this.frames.indexOf(t);
~e && this.frames.splice(e, 1)
}, i.prototype.scheduleBatch = function () {
var t = this;
this.schedule(0, function () {
t.batch.scheduled = !1, t.runBatch()
}), this.batch.scheduled = !0
}, i.prototype.uniqueId = function () {
return ++this.lastId
}, i.prototype.flush = function (t) {
for (var e; e = t.shift();) this.run(this.batch.hash[e])
}, i.prototype.runBatch = function () {
try {
this.batch.mode = "reading", this.flush(this.batch.read), this.batch.mode = "writing", this.flush(this.batch.write), this.batch.mode = null
} catch (t) {
throw this.runBatch(), t
}
}, i.prototype.add = function (t, e, n) {
var r = this.uniqueId();
return this.batch.hash[r] = {id: r, fn: e, ctx: n, type: t}
}, i.prototype.run = function (t) {
var e = t.ctx || this, n = t.fn;
if (delete this.batch.hash[t.id], !this.onError) return n.call(e);
try {
n.call(e)
} catch (t) {
this.onError(t)
}
}, i.prototype.loop = function () {
function t() {
var e = n.frames.shift();
n.frames.length ? r(t) : n.looping = !1, e && e()
}
var e, n = this, r = this.raf, i = !1, o = 500;
this.looping || (e = setTimeout(function () {
i = !0, t()
}, o), r(function () {
i || (clearTimeout(e), t())
}), this.looping = !0)
}, i.prototype.schedule = function (t, e) {
return this.frames[t] ? this.schedule(t + 1, e) : (this.loop(), this.frames[t] = e)
};
var s = new i;
"undefined" != typeof t && t.exports ? t.exports = s : (r = function () {
return s
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r)))
}()
}, function (t, e, n) {
function r(t) {
return i.write(function () {
t && t.parentNode && t.parentNode.removeChild(t)
})
}
var i = n(36);
t.exports = r
}, function (t, e, n) {
function r(t) {
this._inputsQueue = [], this._task = t, this._hasFlushBeenScheduled = !1
}
var i = n(1), o = n(40), s = n(15);
r.prototype.add = function (t) {
var e = new i;
return this._inputsQueue.push({
input: t,
taskDoneDeferred: e
}), this._hasFlushBeenScheduled || (this._hasFlushBeenScheduled = !0, o(s(this._flush, this))), e.promise
}, r.prototype._flush = function () {
try {
this._task.call(null, this._inputsQueue)
} catch (t) {
this._inputsQueue.forEach(function (e) {
e.taskDoneDeferred.reject(t)
})
}
this._inputsQueue = [], this._hasFlushBeenScheduled = !1
}, t.exports = r
}, function (t, e, n) {
var r = n(3).Promise;
t.exports = r._asap
}, function (t, e, n) {
function r(t) {
var e, n, r, i = 0;
for (o = {}, t = t || s, e = t.getElementsByTagName("meta"); e[i]; i++) n = e[i], /^twitter:/.test(n.name) && (r = n.name.replace(/^twitter:/, ""), o[r] = n.content)
}
function i(t) {
return o[t]
}
var o, s = n(9);
r(), t.exports = {init: r, val: i}
}, function (t, e, n) {
function r(t) {
t.forEach(function (t) {
var e = t.input.namespace, n = t.input.data, r = t.input.offsite, i = t.input.version;
f.clientEvent(e, n, r, i), t.taskDoneDeferred.resolve()
})
}
function i(t) {
function e() {
t.forEach(function (t) {
t.taskDoneDeferred.resolve()
})
}
function n() {
t.forEach(function (t) {
t.taskDoneDeferred.reject()
})
}
d.init(), t.forEach(function (t) {
var e = t.input.namespace, n = t.input.data, r = t.input.offsite, i = t.input.version;
d.clientEvent(e, n, r, i)
}), d.flush().then(e, n)
}
function o(t) {
var e, n, o;
if (0 !== t.length) {
if (1 === t.length) return r(t);
e = c(t, function (t) {
return l.noticeSeen(t.input.namespace)
}), n = e.true, o = e.false, n && n.length > 0 && r(n.slice(0, 1)), o && (1 === o.length ? r : i)(o)
}
}
function s(t, e, n, r) {
return p.add({namespace: t, data: e, offsite: n, version: r})
}
function a() {
p.pause()
}
function u() {
p.resume()
}
var c = n(43), d = n(44), f = n(71), l = n(50), h = n(72), p = new h(o);
t.exports = {scribe: s, pause: a, resume: u}
}, function (t, e) {
function n(t, e) {
return t.reduce(function (t, n) {
var r = e(n);
return t[r] = t[r] || [], t[r].push(n), t
}, {})
}
t.exports = n
}, function (t, e, n) {
function r() {
function t(t) {
p.body.appendChild(t)
}
return R ? P.promise : (h = new E(m), h.insert("rufous-sandbox", null, {display: "none"}, t).then(function () {
h.setTitle("Twitter analytics iframe"), f = c(), l = d(), P.resolve([f, l])
}), R = !0, P.promise)
}
function i(t, e) {
var n, r, i;
_.isObject(t) && _.isObject(e) && (i = b.flattenClientEventPayload(t, e), n = f.firstChild, n.value = +(+n.value || i.dnt || 0), r = h.createElement("input"), r.type = "hidden", r.name = "l", r.value = b.stringify(i), f.appendChild(r))
}
function o(t, e) {
var n = !_.isObject(t), r = !!e && !_.isObject(e), i = n || r;
return i
}
function s(t, e, n, r) {
o(t, e) || (A && A(arguments), P.promise.then(function () {
i(b.formatClientEventNamespace(t), b.formatClientEventData(e, n, r))
}))
}
function a() {
return P.promise.then(function () {
var t;
return f.children.length <= 2 ? y.reject() : (t = y.all([h.doc.body.appendChild(f), h.doc.body.appendChild(l)]).then(function (t) {
var e = t[0], n = t[1];
return n.addEventListener("load", function () {
u(e, n)()
}), e.submit(), t
}), f = c(), l = d(), t)
})
}
function u(t, e) {
return function () {
var n = t.parentNode;
n && (n.removeChild(t),
n.removeChild(e))
}
}
function c() {
var t = h.createElement("form"), e = h.createElement("input"), n = h.createElement("input");
return S++, t.action = b.CLIENT_EVENT_ENDPOINT, t.method = "POST", t.target = T + S, t.id = I + S, e.type = "hidden", e.name = "dnt", e.value = g.enabled(), n.type = "hidden", n.name = "tfw_redirect", n.value = b.RUFOUS_REDIRECT, t.appendChild(e), t.appendChild(n), t
}
function d() {
var t = T + S;
return v({id: t, name: t, width: 0, height: 0, border: 0}, {display: "none"}, h.doc)
}
var f, l, h, p = n(9), m = n(7), v = n(45), g = n(46), w = n(1), y = n(2), b = n(50), _ = n(12), E = n(53),
x = n(18), A = x.get("scribeCallback"), C = Math.floor(1e3 * Math.random()) + "_",
T = "rufous-frame-" + C + "-", I = "rufous-form-" + C + "-", S = 0, R = !1, P = new w;
t.exports = {clientEvent: s, flush: a, init: r}
}, function (t, e, n) {
var r = n(9), i = n(12);
t.exports = function (t, e, n) {
var o;
if (n = n || r, t = t || {}, e = e || {}, t.name) {
try {
o = n.createElement('<iframe name="' + t.name + '"></iframe>')
} catch (e) {
o = n.createElement("iframe"), o.name = t.name
}
delete t.name
} else o = n.createElement("iframe");
return t.id && (o.id = t.id, delete t.id), o.allowtransparency = "true", o.scrolling = "no", o.setAttribute("frameBorder", 0), o.setAttribute("allowTransparency", !0), i.forIn(t, function (t, e) {
o.setAttribute(t, e)
}), i.forIn(e, function (t, e) {
o.style[t] = e
}), o
}
}, function (t, e, n) {
function r() {
f = !0
}
function i(t, e) {
return !!f || (!!c.asBoolean(d.val("dnt")) || (!!u.isUrlSensitive(e || s.host) || (!(!a.isFramed() || !u.isUrlSensitive(a.rootDocumentLocation())) || (t = l.test(t || o.referrer) && RegExp.$1, !(!t || !u.isUrlSensitive(t))))))
}
var o = n(9), s = n(11), a = n(47), u = n(49), c = n(26), d = n(41), f = !1, l = /https?:\/\/([^\/]+).*/i;
t.exports = {setOn: r, enabled: i}
}, function (t, e, n) {
function r(t) {
return t && u.isType("string", t) && (c = t), c
}
function i() {
return d
}
function o() {
return c !== d
}
var s = n(11), a = n(48), u = n(12), c = a.getCanonicalURL() || s.href, d = c;
t.exports = {isFramed: o, rootDocumentLocation: r, currentDocumentLocation: i}
}, function (t, e, n) {
function r(t, e) {
var n, r;
return e = e || a, /^https?:\/\//.test(t) ? t : /^\/\//.test(t) ? e.protocol + t : (n = e.host + (e.port.length ? ":" + e.port : ""), 0 !== t.indexOf("/") && (r = e.pathname.split("/"), r.pop(), r.push(t), t = "/" + r.join("/")), [e.protocol, "//", n, t].join(""))
}
function i() {
for (var t, e = s.getElementsByTagName("link"), n = 0; e[n]; n++) if (t = e[n], "canonical" == t.rel) return r(t.href)
}
function o() {
for (var t, e, n, r = s.getElementsByTagName("a"), i = s.getElementsByTagName("link"), o = [r, i], a = 0, c = 0, d = /\bme\b/; t = o[a]; a++) for (c = 0; e = t[c]; c++) if (d.test(e.rel) && (n = u.screenName(e.href))) return n
}
var s = n(9), a = n(11), u = n(24);
t.exports = {absolutize: r, getCanonicalURL: i, getScreenNameFromPage: o}
}, function (t, e, n) {
function r(t) {
return t in a ? a[t] : a[t] = s.test(t)
}
function i() {
return r(o.host)
}
var o = n(11), s = /^[^#?]*\.(gov|mil)(:\d+)?([#?].*)?$/i, a = {};
t.exports = {isUrlSensitive: r, isHostPageSensitive: i}
}, function (t, e, n) {
function r(t, e) {
var n;
return e = e || {}, t && t.nodeType === Node.ELEMENT_NODE ? (n = t.getAttribute("data-scribe"), n && n.split(" ").forEach(function (t) {
var n = t.trim().split(":"), r = n[0], i = n[1];
r && i && !e[r] && (e[r] = i)
}), r(t.parentNode, e)) : e
}
function i(t) {
return m.aug({client: "tfw"}, t || {})
}
function o(t, e, n) {
var r = t && t.widget_origin || l.referrer;
return t = s("tfw_client_event", t, r), t.client_version = w, t.format_version = void 0 !== n ? n : 1, e || (t.widget_origin = r), t
}
function s(t, e, n) {
return e = e || {}, m.aug({}, e, {
_category_: t,
triggered_on: e.triggered_on || +new Date,
dnt: p.enabled(n)
})
}
function a(t, e) {
var n = {};
return e = e || {}, e.association_namespace = i(t), n[E] = e, n
}
function u(t, e) {
return m.aug({}, e, {event_namespace: t})
}
function c(t) {
return "notice" === t.element && "seen" === t.action
}
function d(t) {
var e, n = Array.prototype.toJSON;
return delete Array.prototype.toJSON, e = h.stringify(t), n && (Array.prototype.toJSON = n), e
}
function f(t) {
var e, n, r, i, o, s;
return t.item_ids && t.item_ids.length > 1 ? (e = Math.floor(t.item_ids.length / 2), n = t.item_ids.slice(0, e), r = {}, i = t.item_ids.slice(e), o = {}, n.forEach(function (e) {
r[e] = t.item_details[e]
}), i.forEach(function (e) {
o[e] = t.item_details[e]
}), s = [m.aug({}, t, {item_ids: n, item_details: r}), m.aug({}, t, {item_ids: i, item_details: o})]) : [t]
}
var l = n(9), h = n(51), p = n(46), m = n(12), v = n(52), g = n(18), w = v.version,
y = g.get("clientEventEndpoint") || "https://syndication.twitter.com/i/jot",
b = "https://syndication.twitter.com/i/jot/syndication", _ = "https://platform.twitter.com/jot.html", E = 1;
t.exports = {
extractTermsFromDOM: r,
flattenClientEventPayload: u,
formatGenericEventData: s,
formatClientEventData: o,
formatClientEventNamespace: i,
formatTweetAssociation: a,
noticeSeen: c,
splitLogEntry: f,
stringify: d,
AUDIENCE_ENDPOINT: b,
CLIENT_EVENT_ENDPOINT: y,
RUFOUS_REDIRECT: _
}
}, function (t, e, n) {
var r = n(7), i = r.JSON;
t.exports = {stringify: i.stringify || i.encode, parse: i.parse || i.decode}
}, function (t, e) {
t.exports = {version: "935d799:1516602197101"}
}, function (t, e, n) {
var r = n(54), i = n(63);
t.exports = r.build([i])
}, function (t, e, n) {
var r = n(55), i = n(58), o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function (t, e, n) {
function r() {
return a.toRealArray(arguments)
}
function i(t, e, n) {
var r = new t;
return e = s(o(e || [])), e.forEach(function (t) {
t.call(null, r)
}), r.build(n)
}
var o = n(56), s = n(57), a = n(12);
t.exports = {couple: r, build: i}
}, function (t, e, n) {
function r(t) {
var e = [];
return t.forEach(function (t) {
var n = i.isType("array", t) ? r(t) : [t];
e = e.concat(n)
}), e
}
var i = n(12);
t.exports = r
}, function (t, e) {
function n(t) {
return t.filter(function (e, n) {
return t.indexOf(e) === n
})
}
t.exports = n
}, function (t, e, n) {
function r() {
i.apply(this, arguments)
}
var i = n(59), o = n(12), s = n(62);
r.prototype = Object.create(i.prototype), o.aug(r.prototype, {factory: s}), t.exports = r
}, function (t, e, n) {
function r(t, e, n) {
var r = this[e];
if (!r) throw new Error(e + " does not exist");
this[e] = t(r, n)
}
function i() {
this.Component = this.factory(), this._adviceArgs = [], this._lastArgs = []
}
var o = n(60), s = n(12), a = n(61);
s.aug(i.prototype, {
factory: a, build: function (t) {
var e = this;
this.Component;
return s.aug(this.Component.prototype.boundParams, t), this._adviceArgs.concat(this._lastArgs).forEach(function (t) {
r.apply(e.Component.prototype, t)
}), delete this._lastArgs, delete this._adviceArgs, this.Component
}, params: function (t) {
var e = this.Component.prototype.paramConfigs;
t = t || {}, this.Component.prototype.paramConfigs = s.aug({}, t, e)
}, define: function (t, e) {
if (t in this.Component.prototype) throw new Error(t + " has previously been defined");
this.override(t, e)
}, defineStatic: function (t, e) {
this.Component[t] = e
}, override: function (t, e) {
this.Component.prototype[t] = e
}, defineProperty: function (t, e) {
if (t in this.Component.prototype) throw new Error(t + " has previously been defined");
this.overrideProperty(t, e)
}, overrideProperty: function (t, e) {
var n = s.aug({configurable: !0}, e);
Object.defineProperty(this.Component.prototype, t, n)
}, before: function (t, e) {
this._adviceArgs.push([o.before, t, e])
}, after: function (t, e) {
this._adviceArgs.push([o.after, t, e])
}, around: function (t, e) {
this._adviceArgs.push([o.around, t, e])
}, last: function (t, e) {
this._lastArgs.push([o.after, t, e])
}
}), t.exports = i
}, function (t, e, n) {
function r(t, e) {
return function () {
var n, r = this, i = arguments;
return n = e.apply(this, arguments), s.isPromise(n) ? n.then(function () {
return t.apply(r, i)
}) : t.apply(this, arguments)
}
}
function i(t, e) {
return function () {
function n(t, e) {
return s.isPromise(e) ? e.then(function () {
return t
}) : t
}
var r, i = this, o = arguments;
return r = t.apply(this, arguments), s.isPromise(r) ? r.then(function (t) {
return n(t, e.apply(i, o))
}) : n(r, e.apply(this, arguments))
}
}
function o(t, e) {
return function () {
var n = a.toRealArray(arguments);
return n.unshift(u(t, this)), e.apply(this, n)
}
}
var s = n(33), a = n(12), u = n(15);
t.exports = {before: r, after: i, around: o}
}, function (t, e, n) {
function r() {
return !0
}
function i(t) {
return t
}
function o(t, e, n) {
var r = null;
return t.some(function (t) {
if (t = a.isType("function", t) ? t() : t, e(t)) return r = n(t), !0
}), r
}
function s() {
function t(t) {
var e = this;
t = t || {}, this.params = Object.keys(this.paramConfigs).reduce(function (n, s) {
var a = [], u = e.boundParams, c = e.paramConfigs[s], d = c.validate || r, f = c.transform || i;
if (s in u && a.push(u[s]), s in t && a.push(t[s]), a = "fallback" in c ? a.concat(c.fallback) : a, n[s] = o(a, d, f), c.required && null == n[s]) throw new Error(s + " is a required parameter");
return n
}, {}), this.initialize()
}
return a.aug(t.prototype, {
paramConfigs: {}, boundParams: {}, initialize: function () {
}
}), t
}
var a = n(12);
t.exports = s
}, function (t, e, n) {
function r() {
function t(t) {
e.apply(this, arguments), Object.defineProperty(this, "targetGlobal", {value: t})
}
var e = s();
return t.prototype = Object.create(e.prototype), u.aug(t.prototype, {
id: null,
initialized: !1,
width: 0,
height: 0,
sandboxEl: null,
insert: function () {
return a.reject()
},
onResize: function () {
},
addClass: function (t) {
var e = this.sandboxEl;
return t = Array.isArray(t) ? t : [t], o.write(function () {
t.forEach(function (t) {
i.add(e, t)
})
})
},
removeClass: function (t) {
var e = this.sandboxEl;
return t = Array.isArray(t) ? t : [t], o.write(function () {
t.forEach(function (t) {
i.remove(e, t)
})
})
},
styleSelf: function (t) {
var e = this;
return o.write(function () {
u.forIn(t, function (t, n) {
e.sandboxEl.style[t] = n
})
})
}
}), t
}
var i = n(21), o = n(36), s = n(61), a = n(2), u = n(12);
t.exports = r
}, function (t, e, n) {
function r(t, e, n, r) {
return e = y.aug({id: t}, x, e), n = y.aug({}, A, n), m(e, n, r)
}
function i(t) {
try {
t.contentWindow.document
} catch (t) {
return w.reject(t)
}
return w.resolve(t)
}
function o(t, e, n, i, o) {
var s = new g, u = _.generate(), d = r(t, e, n, o);
return b.set(["sandbox", u], function () {
var t = d.contentWindow.document, e = "<!DOCTYPE html><html><head></head><body></body></html>";
c.write(function () {
t.write(e)
}).then(function () {
t.close(), s.resolve(d)
})
}), d.src = ["javascript:", 'document.write("");', "try { window.parent.document; }", 'catch (e) { document.domain="' + a.domain + '"; }', "window.parent." + b.fullPath(["sandbox", u]) + "();"].join(""), d.addEventListener("error", s.reject, !1), c.write(function () {
i.parentNode.replaceChild(d, i)
}), s.promise
}
function s(t) {
t.overrideProperty("id", {
get: function () {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function () {
return !!this.win
}
}), t.overrideProperty("width", {
get: function () {
return this._width
}
}), t.overrideProperty("height", {
get: function () {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function () {
return this.iframeEl
}
}), t.defineProperty("iframeEl", {
get: function () {
return this._iframe
}
}), t.defineProperty("rootEl", {
get: function () {
return this.doc && this.doc.documentElement
}
}), t.defineProperty("widgetEl", {
get: function () {
return this.doc && this.doc.body.firstElementChild
}
}), t.defineProperty("win", {
get: function () {
return this.iframeEl && this.iframeEl.contentWindow
}
}), t.defineProperty("doc", {
get: function () {
return this.win && this.win.document
}
}), t.define("_updateCachedDimensions", function () {
var t = this;
return c.read(function () {
var e, n = v(t.sandboxEl);
"visible" == t.sandboxEl.style.visibility ? t._width = n.width : (e = v(t.sandboxEl.parentElement).width, t._width = Math.min(n.width, e)), t._height = n.height
})
}), t.define("_setTargetToBlank", function () {
var t = this.createElement("base");
t.target = "_blank", this.doc.head.appendChild(t)
}), t.define("_didResize", function () {
var t = this, e = this._resizeHandlers.slice(0);
return this._updateCachedDimensions().then(function () {
e.forEach(function (e) {
e(t)
})
})
}), t.define("setTitle", function (t) {
this.iframeEl.title = t
}), t.override("createElement", function (t) {
return this.doc.createElement(t)
}), t.override("createFragment", function () {
return this.doc.createDocumentFragment()
}), t.override("htmlToElement", function (t) {
var e;
return e = this.createElement("div"), e.innerHTML = t, e.firstElementChild
}), t.override("hasSelectedText", function () {
return !!d.getSelectedText(this.win)
}), t.override("addRootClass", function (t) {
var e = this.rootEl;
return t = Array.isArray(t) ? t : [t], this.initialized ? c.write(function () {
t.forEach(function (t) {
u.add(e, t)
})
}) : w.reject(new Error("sandbox not initialized"))
}), t.override("removeRootClass", function (t) {
var e = this.rootEl;
return t = Array.isArray(t) ? t : [t], this.initialized ? c.write(function () {
t.forEach(function (t) {
u.remove(e, t)
})
}) : w.reject(new Error("sandbox not initialized"))
}), t.override("hasRootClass", function (t) {
return u.present(this.rootEl, t)
}), t.define("addStyleSheet", function (t, e) {
var n, r = new g;
return this.initialized ? (n = this.createElement("link"), n.type = "text/css", n.rel = "stylesheet", n.href = t, n.addEventListener("load", r.resolve, !1), n.addEventListener("error", r.reject, !1), c.write(E(e, null, n)).then(function () {
return l(t).then(r.resolve, r.reject), r.promise
})) : w.reject(new Error("sandbox not initialized"))
}), t.override("prependStyleSheet", function (t) {
var e = this.doc;
return this.addStyleSheet(t, function (t) {
var n = e.head.firstElementChild;
return n ? e.head.insertBefore(t, n) : e.head.appendChild(t)
})
}), t.override("appendStyleSheet", function (t) {
var e = this.doc;
return this.addStyleSheet(t, function (t) {
return e.head.appendChild(t)
})
}), t.define("addCss", function (t, e) {
var n;
return h.inlineStyle() ? (n = this.createElement("style"), n.type = "text/css", n.appendChild(this.doc.createTextNode(t)), c.write(E(e, null, n))) : w.resolve()
}), t.override("prependCss", function (t) {
var e = this.doc;
return this.addCss(t, function (t) {
var n = e.head.firstElementChild;
return n ? e.head.insertBefore(t, n) : e.head.appendChild(t)
})
}), t.override("appendCss", function (t) {
var e = this.doc;
return this.addCss(t, function (t) {
return e.head.appendChild(t)
})
}), t.override("makeVisible", function () {
var t = this;
return this.styleSelf(C).then(function () {
t._updateCachedDimensions()
})
}), t.override("injectWidgetEl", function (t) {
var e = this;
return this.initialized ? this.widgetEl ? w.reject(new Error("widget already injected")) : c.write(function () {
e.doc.body.appendChild(t)
}) : w.reject(new Error("sandbox not initialized"))
}), t.override("matchHeightToContent", function () {
var t, e = this;
return c.read(function () {
t = e.widgetEl ? v(e.widgetEl).height : 0
}), c.write(function () {
e.sandboxEl.style.height = t + "px"
}).then(function () {
return e._updateCachedDimensions()
})
}), t.override("matchWidthToContent", function () {
var t, e = this;
return c.read(function () {
t = e.widgetEl ? v(e.widgetEl).width : 0
}), c.write(function () {
e.sandboxEl.style.width = t + "px"
}).then(function () {
return e._updateCachedDimensions()
})
}), t.after("initialize", function () {
this._iframe = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.override("insert", function (t, e, n, s) {
var a = this, u = new g, d = this.targetGlobal.document, f = r(t, e, n, d);
return c.write(E(s, null, f)), f.addEventListener("load", function () {
i(f).then(null, E(o, null, t, e, n, f, d)).then(u.resolve, u.reject)
}, !1), f.addEventListener("error", u.reject, !1), u.promise.then(function (t) {
var e = p(a._didResize, S, a);
return a._iframe = t, a.win.addEventListener("resize", e, !1), w.all([a._setTargetToBlank(), a.addRootClass(T), a.prependCss(I)])
})
}), t.override("onResize", function (t) {
this._resizeHandlers.push(t)
}), t.after("styleSelf", function () {
return this._updateCachedDimensions()
})
}
var a = n(9), u = n(21), c = n(36), d = n(64), f = n(54), l = n(65), h = n(66), p = n(67), m = n(45),
v = (n(10), n(68)), g = n(1), w = n(2), y = n(12), b = n(18), _ = n(29), E = n(15),
x = {allowfullscreen: "true"}, A = {
position: "absolute",
visibility: "hidden",
display: "block",
width: "0px",
height: "0px",
padding: "0",
border: "none"
}, C = {position: "static", visibility: "visible"}, T = "SandboxRoot", I = ".SandboxRoot { display: none; }",
S = 50;
t.exports = f.couple(n(69), s)
}, function (t, e, n) {
function r(t) {
return t = t || o, t.getSelection && t.getSelection()
}
function i(t) {
var e = r(t);
return e ? e.toString() : ""
}
var o = n(7);
t.exports = {getSelection: r, getSelectedText: i}
}, function (t, e, n) {
function r(t) {
var e = new s, n = i.createElement("img");
return n.onload = n.onerror = function () {
o.setTimeout(e.resolve, 50)
}, n.src = t, o.setTimeout(e.reject, a), e.promise
}
var i = n(9), o = n(7), s = n(1), a = 2e4;
t.exports = r
}, function (t, e, n) {
function r() {
return h + l.generate()
}
function i() {
var t = r(), e = a.createElement("div"), n = a.createElement("style"),
i = "." + t + " { visibility: hidden; }";
return !!a.body && (f.asBoolean(c.val("widgets:csp")) && (o = !1), void 0 !== o ? o : (e.style.display = "none", s.add(e, t), n.type = "text/css", n.appendChild(a.createTextNode(i)), a.body.appendChild(n), a.body.appendChild(e), o = "hidden" === u.getComputedStyle(e).visibility, d(e), d(n), o))
}
var o, s = n(21), a = n(9), u = n(7), c = n(41), d = n(38), f = n(26), l = n(29), h = "csptest";
t.exports = {inlineStyle: i}
}, function (t, e, n) {
function r(t, e, n) {
function r() {
var a = n || this, u = arguments, c = +new Date;
return i.clearTimeout(o), c - s > e ? (s = c, void t.apply(a, u)) : void(o = i.setTimeout(function () {
r.apply(a, u)
}, e))
}
var o, s = 0;
return n = n || null, r
}
var i = n(7);
t.exports = r
}, function (t, e) {
function n(t) {
var e = t.getBoundingClientRect();
return {width: e.width, height: e.height}
}
t.exports = n
}, function (t, e, n) {
function r(t) {
t.define("createElement", i), t.define("createFragment", i), t.define("htmlToElement", i), t.define("hasSelectedText", i), t.define("addRootClass", i), t.define("removeRootClass", i), t.define("hasRootClass", i), t.define("prependStyleSheet", i), t.define("appendStyleSheet", i), t.define("prependCss", i), t.define("appendCss", i), t.define("makeVisible", i), t.define("injectWidgetEl", i), t.define("matchHeightToContent", i), t.define("matchWidthToContent", i)
}
var i = n(70);
t.exports = r
}, function (t, e) {
function n() {
throw new Error("unimplemented method")
}
t.exports = n
}, function (t, e, n) {
function r(t, e, n) {
return i(t, e, n, 2)
}
function i(t, e, n, r) {
var i = !v.isObject(t), o = !!e && !v.isObject(e);
i || o || (w && w(arguments), s(m.formatClientEventNamespace(t), m.formatClientEventData(e, n, r), m.CLIENT_EVENT_ENDPOINT))
}
function o(t, e, n, r) {
var o = m.extractTermsFromDOM(t.target || t.srcElement);
o.action = r || "click", i(o, e, n)
}
function s(t, e, n) {
var r, i;
n && v.isObject(t) && v.isObject(e) && (r = m.flattenClientEventPayload(t, e), i = {l: m.stringify(r)}, m.noticeSeen(t) && (i.notice_seen = !0), r.dnt && (i.dnt = 1), l(p.url(n, i)))
}
function a(t, e, n, r) {
var i, o = !v.isObject(t), s = !!e && !v.isObject(e);
if (!o && !s) return i = m.flattenClientEventPayload(m.formatClientEventNamespace(t), m.formatClientEventData(e, n, r)), u(i)
}
function u(t) {
return b.push(t), b
}
function c() {
var t, e;
return b.length > 1 && a({
page: "widgets_js",
component: "scribe_pixel",
action: "batch_log"
}, {}), t = b, b = [], e = t.reduce(function (e, n, r) {
var i = e.length, o = i && e[i - 1], s = r + 1 == t.length;
return s && n.event_namespace && "batch_log" == n.event_namespace.action && (n.message = ["entries:" + r, "requests:" + i].join("/")), d(n).forEach(function (t) {
var n = f(t);
(!o || o.urlLength + n > y) && (o = {
urlLength: E,
items: []
}, e.push(o)), o.urlLength += n, o.items.push(t)
}), e
}, []), e.map(function (t) {
var e = {l: t.items};
return h.enabled() && (e.dnt = 1), l(p.url(m.CLIENT_EVENT_ENDPOINT, e))
})
}
function d(t) {
return Array.isArray(t) || (t = [t]), t.reduce(function (t, e) {
var n, r = m.stringify(e), i = f(r);
return E + i < y ? t = t.concat(r) : (n = m.splitLogEntry(e), n.length > 1 && (t = t.concat(d(n)))), t
}, [])
}
function f(t) {
return encodeURIComponent(t).length + 3
}
function l(t) {
var e = new Image;
return e.src = t
}
var h = n(46), p = n(25), m = n(50), v = n(12), g = n(18), w = g.get("scribeCallback"), y = 2083, b = [],
_ = p.url(m.CLIENT_EVENT_ENDPOINT, {dnt: 0, l: ""}), E = encodeURIComponent(_).length;
t.exports = {
_enqueueRawObject: u,
scribe: s,
clientEvent: i,
clientEvent2: r,
enqueueClientEvent: a,
flushClientEvents: c,
interaction: o
}
}, function (t, e, n) {
function r(t, e) {
this._inputsQueue = [], this._task = t, this._isPaused = !1, this._flushDelay = e && e.flushDelay || s, this._pauseLength = e && e.pauseLength || a, this._flushTimeout = void 0
}
var i = n(1), o = n(15), s = 100, a = 3e3;
r.prototype.add = function (t) {
var e = new i;
return this._inputsQueue.push({input: t, taskDoneDeferred: e}), this._scheduleFlush(), e.promise
}, r.prototype._scheduleFlush = function () {
this._isPaused || (clearTimeout(this._flushTimeout), this._flushTimeout = setTimeout(o(this._flush, this), this._flushDelay))
}, r.prototype._flush = function () {
try {
this._task.call(null, this._inputsQueue)
} catch (t) {
this._inputsQueue.forEach(function (e) {
e.taskDoneDeferred.reject(t)
})
}
this._inputsQueue = [], this._flushTimeout = void 0
}, r.prototype.pause = function (t) {
clearTimeout(this._flushTimeout), this._isPaused = !0, !t && this._pauseLength && setTimeout(o(this.resume, this), this._pauseLength)
}, r.prototype.resume = function () {
this._isPaused = !1, this._scheduleFlush()
}, t.exports = r
}, function (t, e, n) {
function r() {
d.load()
}
function i() {
return c().then(function (t) {
return Object.keys(t)
})
}
function o(t) {
return c().then(function (e) {
if (!e[t]) throw new Error("Experiment not found");
return e[t]
})
}
function s(t) {
return d.settingsLoaded().then(function (e) {
return e[t]
})
}
function a() {
return s("isBucketed")
}
function u() {
return s("shouldObtainCookieConsent")
}
function c() {
return s("experiments")
}
var d = n(74);
t.exports = {
isBucketed: a,
shouldObtainCookieConsent: u,
getExperiments: c,
getExperiment: o,
getExperimentKeys: i,
load: r
}
}, function (t, e, n) {
function r() {
var t, e, n, r;
return a = new c, m.ie9() || m.ie10() || "http:" !== l.protocol && "https:" !== l.protocol ? void a.reject(new Error("Unsupported")) : (t = {origin: l.origin}, e = h.url(v.resourceBaseUrl + v.widgetIframeHtmlPath, t), n = function (t) {
var n;
if (e.substr(0, t.origin.length) === t.origin) try {
n = f.parse(t.data), n.namespace === g.settings && (a.resolve(), i(n.settings))
} catch (t) {
}
}, p.addEventListener("message", n), r = u({src: e}, {display: "none"}), void d.body.appendChild(r))
}
function i(t) {
var e = t || {};
s = new w(e.is_bucketed, e.should_obtain_cookie_consent, e.experiments)
}
function o() {
var t = new c;
return a.promise.then(function () {
t.resolve(s)
}).catch(function (e) {
t.reject(e)
}), t.promise
}
var s, a, u = n(45), c = n(1), d = n(9), f = n(51), l = n(11), h = n(25), p = n(7), m = n(8), v = n(75),
g = n(76), w = (n(10), n(77));
t.exports = {load: r, settingsLoaded: o}
}, function (t, e) {
t.exports = {
tweetButtonHtmlPath: "/widgets/tweet_button.34f1d98fbddc2d328cb7fb206fcd1806.{{lang}}.html",
followButtonHtmlPath: "/widgets/follow_button.34f1d98fbddc2d328cb7fb206fcd1806.{{lang}}.html",
hubHtmlPath: "/widgets/hub.html",
widgetIframeHtmlPath: "/widgets/widget_iframe.34f1d98fbddc2d328cb7fb206fcd1806.html",
resourceBaseUrl: "https://platform.twitter.com"
}
}, function (t, e) {
t.exports = {settings: "twttr.settings"}
}, function (t, e) {
function n(t, e, n) {
this.isBucketed = t, this.shouldObtainCookieConsent = e, this.experiments = n || {}
}
t.exports = n
}, function (t, e, n) {
t.exports = [n(79), n(111), n(126), n(160), n(171), n(177), n(222), n(241), n(246)]
}, function (t, e, n) {
function r(t) {
var e = t.getAttribute("data-show-screen-name"), n = u(t), r = t.getAttribute("href"),
i = t.getAttribute("data-screen-name"), c = e ? s.asBoolean(e) : null, d = t.getAttribute("data-size"),
f = o.decodeURL(r), l = f.recipient_id, h = t.getAttribute("data-text") || f.text,
p = t.getAttribute("data-welcome-message-id") || f.welcomeMessageId;
return a.aug(n, {screenName: i, showScreenName: c, size: d, text: h, userId: l, welcomeMessageId: p})
}
function i(t) {
var e = c(t, f);
return e.map(function (t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(25), s = n(26), a = n(12), u = n(80), c = n(82)(), d = n(85), f = "a.twitter-dm-button";
t.exports = i
}, function (t, e, n) {
function r(t) {
var e = t.href && t.href.split("?")[1], n = e ? s.decode(e) : {}, r = {
lang: u(t),
width: t.getAttribute("data-width") || t.getAttribute("width"),
height: t.getAttribute("data-height") || t.getAttribute("height"),
related: t.getAttribute("data-related"),
partner: t.getAttribute("data-partner")
};
return o.asBoolean(t.getAttribute("data-dnt")) && i.setOn(), a.forIn(r, function (t, e) {
var r = n[t];
n[t] = o.hasValue(r) ? r : e
}), a.compact(n)
}
var i = n(46), o = n(26), s = n(25), a = n(12), u = n(81);
t.exports = r
}, function (t, e, n) {
function r(t) {
var e;
if (t) return e = t.lang || t.getAttribute("data-lang"), i.isType("string", e) ? e : r(t.parentElement)
}
var i = n(12);
t.exports = r
}, function (t, e, n) {
var r = n(83), i = n(29);
t.exports = function () {
var t = "data-twitter-extracted-" + i.generate();
return function (e, n) {
function i(e) {
return !e.hasAttribute(t)
}
function o(e) {
return e.setAttribute(t, "true"), e
}
return r(e, n).filter(i).map(o)
}
}
}, function (t, e, n) {
function r(t, e) {
return o(t, e) ? [t] : i.toRealArray(t.querySelectorAll(e))
}
var i = n(12), o = n(84);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
if (s) return s.call(t, e)
}
var i = n(7), o = i.HTMLElement,
s = o.prototype.matches || o.prototype.matchesSelector || o.prototype.webkitMatchesSelector || o.prototype.mozMatchesSelector || o.prototype.msMatchesSelector || o.prototype.oMatchesSelector;
t.exports = r
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-dm-button", t, e, n)
}
var i = n(86), o = n(87), s = n(107);
t.exports = r
}, function (t, e) {
function n(t, e, n, r, i, o) {
this.factory = t, this.Sandbox = e, this.srcEl = o, this.targetEl = i, this.parameters = r, this.className = n
}
n.prototype.destroy = function () {
this.srcEl = this.targetEl = null
}, t.exports = n
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(1, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(88), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , function (t, e, n) {
var r = n(55), i = n(90), o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function (t, e, n) {
function r() {
i.apply(this, arguments), this.Widget = this.Component
}
var i = n(59), o = n(12), s = n(91);
r.prototype = Object.create(i.prototype), o.aug(r.prototype, {
factory: s, build: function () {
var t = i.prototype.build.apply(this, arguments);
return t
}, selectors: function (t) {
var e = this.Widget.prototype.selectors;
t = t || {}, this.Widget.prototype.selectors = o.aug({}, t, e)
}
}), t.exports = r
}, function (t, e, n) {
function r() {
function t(t, n) {
e.apply(this, arguments), this.id = d + c(), this.sandbox = n
}
var e = s();
return t.prototype = Object.create(e.prototype), a.aug(t.prototype, {
selectors: {}, hydrate: function () {
return i.resolve()
}, prepForInsertion: function () {
}, render: function () {
return i.resolve()
}, show: function () {
return i.resolve()
}, resize: function () {
return i.resolve()
}, select: function (t, e) {
return 1 === arguments.length && (e = t, t = this.el), t ? (e = this.selectors[e] || e, a.toRealArray(t.querySelectorAll(e))) : []
}, selectOne: function () {
return this.select.apply(this, arguments)[0]
}, selectLast: function () {
return this.select.apply(this, arguments).pop()
}, on: function (t, e, n) {
function r(t) {
a.addEventListener(t, n, !1)
}
function i(t) {
o.delegate(a, t, s, n)
}
var s, a = this.el;
this.el && (t = (t || "").split(/\s+/), 2 === arguments.length ? n = e : s = e, s = this.selectors[s] || s, n = u(n, this), t.forEach(s ? i : r))
}
}), t
}
var i = n(2), o = n(20), s = n(61), a = n(12), u = n(15), c = n(92), d = "twitter-widget-";
t.exports = r
}, function (t, e) {
function n() {
return String(r++)
}
var r = 0;
t.exports = n
}, , function (t, e, n) {
function r(t) {
return "dark" === t ? "dark" : "light"
}
function i(t, e, n) {
var i, o;
return n = r(n), i = a.isRtlLang(e) ? "rtl" : "ltr", o = [t, u.css, n, i, "css"].join("."), d.resourceBaseUrl + "/css/" + o
}
function o() {
return d.resourceBaseUrl + "/css/" + ["periscope_on_air", u.css, "css"].join(".")
}
function s() {
return d.resourceBaseUrl + "/css/" + ["dm_button", u.css, "css"].join(".")
}
var a = n(95), u = n(98), c = n(15), d = n(75);
t.exports = {
dmButton: s,
tweet: c(i, null, "tweet"),
timeline: c(i, null, "timeline"),
video: c(i, null, "video"),
moment: c(i, null, "moment"),
grid: c(i, null, "grid"),
periscopeOnAir: o
}
}, function (t, e, n) {
function r(t) {
return t = String(t).toLowerCase(), o.contains(a, t)
}
function i(t) {
return t = (t || "").toLowerCase(), t = t.replace("_", "-"), s(t) ? t : (t = t.replace(/-.*/, ""), s(t) ? t : "en")
}
var o = n(12), s = n(96), a = ["ar", "fa", "he", "ur"];
t.exports = {isRtlLang: r, matchLanguage: i}
}, function (t, e, n) {
function r(t) {
return "en" === t || i.contains(o, t)
}
var i = n(12), o = n(97);
t.exports = r
}, function (t, e) {
t.exports = ["hi", "zh-cn", "fr", "zh-tw", "msa", "fil", "fi", "sv", "pl", "ja", "ko", "de", "it", "pt", "es", "ru", "id", "tr", "da", "no", "nl", "hu", "fa", "ar", "ur", "he", "th", "cs", "uk", "vi", "ro", "bn", "el", "en-gb", "gu", "kn", "mr", "ta", "bg", "ca", "hr", "sr", "sk"]
}, function (t, e) {
t.exports = {css: "2244cdc1aa6afd59d64cc31948a29dca"}
}, , function (t, e, n) {
function r(t) {
t.define("injectRefUrlParams", function (t) {
t.getAttribute(s) || (t.setAttribute(s, !0), t.href = i(t.href))
}), t.after("render", function () {
this.on("click", "A", function (t, e) {
o.isTwitterURL(e.href) && this.injectRefUrlParams(e)
})
})
}
var i = n(101), o = n(24), s = "data-url-ref-attrs-injected";
t.exports = r
}, function (t, e, n) {
function r(t) {
return i.url(t, {ref_src: s, ref_url: o.rootDocumentLocation()})
}
var i = n(25), o = n(47), s = "twsrc^tfw";
t.exports = r
}, function (t, e, n) {
function r(t) {
t.params({partner: {fallback: u(c.val, c, "partner")}}), t.define("scribeItems", function () {
return {}
}), t.define("scribeNamespace", function () {
return {client: "tfw"}
}), t.define("scribeData", function () {
return {
widget_origin: s.rootDocumentLocation(),
widget_frame: s.isFramed() && s.currentDocumentLocation(),
widget_partner: this.params.partner,
widget_site_screen_name: c.val("site"),
widget_site_user_id: d.asNumber(c.val("site:id")),
widget_creator_screen_name: c.val("creator"),
widget_creator_user_id: d.asNumber(c.val("creator:id"))
}
}), t.define("scribe", function (t, e, n) {
t = a.aug(this.scribeNamespace(), t || {}), e = a.aug(this.scribeData(), e || {}), i.scribe(t, e, !1, n)
}), t.define("scribeInteraction", function (t, e, n) {
var r = o.extractTermsFromDOM(t.target);
r.action = t.type, this.scribe(r, e, n)
})
}
var i = n(42), o = n(50), s = n(47), a = n(12), u = n(15), c = n(41), d = n(26);
t.exports = r
}, , function (t, e, n) {
function r(t) {
var e;
if (t) return e = a([t]), {item_ids: Object.keys(e), item_details: e}
}
function i(t) {
t.selectors({tweetIdInfo: ".js-tweetIdInfo"}), t.define("scribeClickInteraction", function (t, e) {
var n = o.closest(this.selectors.tweetIdInfo, e, this.el);
this.scribeInteraction(t, r(n))
}), t.after("render", function () {
this.on("click", "A", this.scribeClickInteraction), this.on("click", "BUTTON", this.scribeClickInteraction)
})
}
var o = n(22), s = n(89), a = n(105);
t.exports = s.couple(n(102), i)
}, function (t, e, n) {
function r(t) {
return t ? (t = Array.isArray(t) ? t : [t], t.reduce(function (t, e) {
var n = e.getAttribute("data-tweet-id"), r = e.getAttribute("data-rendered-tweet-id") || n;
return n === r ? t[r] = {item_type: i.TWEET} : n && (t[r] = {
item_type: i.RETWEET,
target_type: i.TWEET,
target_id: n
}), t
}, {})) : {}
}
var i = n(106);
t.exports = r
}, function (t, e) {
t.exports = {TWEET: 0, RETWEET: 10, CUSTOM_TIMELINE: 17, LIVE_VIDEO_EVENT: 28}
}, function (t, e, n) {
var r = n(108), i = n(53);
t.exports = r.isSupported() ? r : i
}, function (t, e, n) {
var r = n(54), i = n(109);
t.exports = r.build([i])
}, function (t, e, n) {
function r(t) {
t.defineStatic("isSupported", function () {
return !!o.HTMLElement.prototype.createShadowRoot && l.inlineStyle() && !h.android()
}), t.overrideProperty("id", {
get: function () {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function () {
return !!this._shadowHost
}
}), t.overrideProperty("width", {
get: function () {
return this._width
}
}), t.overrideProperty("height", {
get: function () {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function () {
return this._shadowHost
}
}), t.define("_updateCachedDimensions", function () {
var t = this;
return u.read(function () {
var e, n = p(t.sandboxEl);
"visible" == t.sandboxEl.style.visibility ? t._width = n.width : (e = p(t.sandboxEl.parentElement).width, t._width = Math.min(n.width, e)), t._height = n.height
})
}), t.define("_didResize", function () {
var t = this, e = this._resizeHandlers.slice(0);
return this._updateCachedDimensions().then(function () {
e.forEach(function (e) {
e(t)
})
})
}), t.override("createElement", function (t) {
return this.targetGlobal.document.createElement(t)
}), t.override("createFragment", function () {
return this.targetGlobal.document.createDocumentFragment()
}), t.override("htmlToElement", function (t) {
var e;
return e = this.createElement("div"), e.innerHTML = t, e.firstElementChild
}), t.override("hasSelectedText", function () {
return !!c.getSelectedText(this.targetGlobal)
}), t.override("addRootClass", function (t) {
var e = this._shadowRootBody;
return t = Array.isArray(t) ? t : [t], this.initialized ? u.write(function () {
t.forEach(function (t) {
s.add(e, t)
})
}) : g.reject(new Error("sandbox not initialized"))
}), t.override("removeRootClass", function (t) {
var e = this._shadowRootBody;
return t = Array.isArray(t) ? t : [t], this.initialized ? u.write(function () {
t.forEach(function (t) {
s.remove(e, t)
})
}) : g.reject(new Error("sandbox not initialized"))
}), t.override("hasRootClass", function (t) {
return s.present(this._shadowRootBody, t)
}), t.override("addStyleSheet", function (t, e) {
return this.addCss('@import url("' + t + '");', e).then(function () {
return f(t)
})
}), t.override("prependStyleSheet", function (t) {
var e = this._shadowRoot;
return this.addStyleSheet(t, function (t) {
var n = e.firstElementChild;
return n ? e.insertBefore(t, n) : e.appendChild(t)
})
}), t.override("appendStyleSheet", function (t) {
var e = this._shadowRoot;
return this.addStyleSheet(t, function (t) {
return e.appendChild(t)
})
}), t.override("addCss", function (t, e) {
var n;
return this.initialized ? l.inlineStyle() ? (n = this.createElement("style"), n.type = "text/css", n.appendChild(this.targetGlobal.document.createTextNode(t)), u.write(m(e, null, n))) : g.resolve() : g.reject(new Error("sandbox not initialized"))
}), t.override("prependCss", function (t) {
var e = this._shadowRoot;
return this.addCss(t, function (t) {
var n = e.firstElementChild;
return n ? e.insertBefore(t, n) : e.appendChild(t)
})
}), t.override("appendCss", function (t) {
var e = this._shadowRoot;
return this.addCss(t, function (t) {
return e.appendChild(t)
})
}), t.override("makeVisible", function () {
return this.styleSelf(_)
}), t.override("injectWidgetEl", function (t) {
function e() {
var t = v(n._didResize, y, n);
new i(n._shadowRootBody, t)
}
var n = this;
return this.initialized ? this._shadowRootBody.firstElementChild ? g.reject(new Error("widget already injected")) : u.write(function () {
n._shadowRootBody.appendChild(t)
}).then(function () {
return n._updateCachedDimensions()
}).then(e) : g.reject(new Error("sandbox not initialized"))
}), t.override("matchHeightToContent", function () {
return g.resolve()
}), t.override("matchWidthToContent", function () {
return g.resolve()
}), t.override("insert", function (t, e, n, r) {
var i = this.targetGlobal.document, o = this._shadowHost = i.createElement(E),
s = this._shadowRoot = o.createShadowRoot(), c = this._shadowRootBody = i.createElement("div");
return w.forIn(e || {}, function (t, e) {
o.setAttribute(t, e)
}), o.id = t, s.appendChild(c), a.delegate(c, "click", "A", function (t, e) {
e.hasAttribute("target") || e.setAttribute("target", "_blank")
}), g.all([this.styleSelf(b), this.addRootClass(x), this.prependCss(A), u.write(r.bind(null, o))])
}), t.override("onResize", function (t) {
this._resizeHandlers.push(t)
}), t.after("initialize", function () {
this._shadowHost = this._shadowRoot = this._shadowRootBody = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.after("styleSelf", function () {
return this._updateCachedDimensions()
})
}
var i = n(110), o = n(7), s = n(21), a = n(20), u = n(36), c = n(64), d = n(54), f = n(65), l = n(66), h = n(8),
p = n(68), m = n(15), v = n(67), g = n(2), w = n(12), y = 50,
b = {position: "absolute", visibility: "hidden", display: "block", transform: "rotate(0deg)"},
_ = {position: "static", visibility: "visible"}, E = "twitterwidget", x = "SandboxRoot",
A = ".SandboxRoot { display: none; }";
t.exports = d.couple(n(69), r)
}, function (t, e) {
!function () {
var e = function (t, n) {
function r() {
this.q = [], this.add = function (t) {
this.q.push(t)
};
var t, e;
this.call = function () {
for (t = 0, e = this.q.length; t < e; t++) this.q[t].call()
}
}
function i(t, e) {
return t.currentStyle ? t.currentStyle[e] : window.getComputedStyle ? window.getComputedStyle(t, null).getPropertyValue(e) : t.style[e]
}
function o(t, e) {
if (t.resizedAttached) {
if (t.resizedAttached) return void t.resizedAttached.add(e)
} else t.resizedAttached = new r, t.resizedAttached.add(e);
t.resizeSensor = document.createElement("div"), t.resizeSensor.className = "resize-sensor";
var n = "position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;",
o = "position: absolute; left: 0; top: 0; transition: 0s;";
t.resizeSensor.style.cssText = n, t.resizeSensor.innerHTML = '<div class="resize-sensor-expand" style="' + n + '"><div style="' + o + '"></div></div><div class="resize-sensor-shrink" style="' + n + '"><div style="' + o + ' width: 200%; height: 200%"></div></div>', t.appendChild(t.resizeSensor), {
fixed: 1,
absolute: 1
}[i(t, "position")] || (t.style.position = "relative");
var s, a, u = t.resizeSensor.childNodes[0], c = u.childNodes[0], d = t.resizeSensor.childNodes[1],
f = (d.childNodes[0], function () {
c.style.width = u.offsetWidth + 10 + "px", c.style.height = u.offsetHeight + 10 + "px", u.scrollLeft = u.scrollWidth, u.scrollTop = u.scrollHeight, d.scrollLeft = d.scrollWidth, d.scrollTop = d.scrollHeight, s = t.offsetWidth, a = t.offsetHeight
});
f();
var l = function () {
t.resizedAttached && t.resizedAttached.call()
}, h = function (t, e, n) {
t.attachEvent ? t.attachEvent("on" + e, n) : t.addEventListener(e, n)
}, p = function () {
t.offsetWidth == s && t.offsetHeight == a || l(), f()
};
h(u, "scroll", p), h(d, "scroll", p)
}
var s = Object.prototype.toString.call(t),
a = "[object Array]" === s || "[object NodeList]" === s || "[object HTMLCollection]" === s || "undefined" != typeof jQuery && t instanceof jQuery || "undefined" != typeof Elements && t instanceof Elements;
if (a) for (var u = 0, c = t.length; u < c; u++) o(t[u], n); else o(t, n);
this.detach = function () {
if (a) for (var n = 0, r = t.length; n < r; n++) e.detach(t[n]); else e.detach(t)
}
};
e.detach = function (t) {
t.resizeSensor && (t.removeChild(t.resizeSensor), delete t.resizeSensor, delete t.resizedAttached)
}, "undefined" != typeof t && "undefined" != typeof t.exports ? t.exports = e : window.ResizeSensor = e
}()
}, function (t, e, n) {
function r(t) {
var e = a(t), n = {
screenName: o.screenName(t.href),
showScreenName: "false" !== t.getAttribute("data-show-screen-name"),
showCount: "false" !== t.getAttribute("data-show-count"),
size: t.getAttribute("data-size"),
count: t.getAttribute("data-count"),
preview: t.getAttribute("data-preview")
};
return s.forIn(n, function (t, n) {
var r = e[t];
e[t] = d.hasValue(r) ? r : n
}), e.screenName = e.screenName || e.screen_name, e
}
function i(t) {
var e = u(t, f);
return e.map(function (t) {
return c(r(t), t.parentNode, t)
})
}
var o = n(24), s = n(12), a = n(80), u = n(82)(), c = n(112), d = n(26), f = "a.twitter-follow-button";
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-follow-button", t, e, n)
}
var i = n(86), o = n(113), s = n(118);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(2, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(114), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function (t, e, n) {
function r(t) {
t.define("widgetDataAttributes", function () {
return {}
}), t.define("setDataAttributes", function () {
var t = this.sandbox.sandboxEl;
o.forIn(this.widgetDataAttributes(), function (e, n) {
i.hasValue(n) && t.setAttribute("data-" + e, n)
})
}), t.after("render", function () {
this.setDataAttributes()
})
}
var i = n(26), o = n(12);
t.exports = r
}, function (t, e, n) {
var r = n(54), i = n(119);
t.exports = r.build([i])
}, function (t, e, n) {
function r(t) {
t.overrideProperty("id", {
get: function () {
return this.sandboxEl && this.sandboxEl.id
}
}), t.overrideProperty("initialized", {
get: function () {
return !!this.iframeEl
}
}), t.overrideProperty("width", {
get: function () {
return this._width
}
}), t.overrideProperty("height", {
get: function () {
return this._height
}
}), t.overrideProperty("sandboxEl", {
get: function () {
return this.iframeEl
}
}), t.defineProperty("iframeEl", {
get: function () {
return this._iframe
}
}), t.define("updateCachedDimensions", function () {
var t = this;
return this.initialized ? i.read(function () {
t._width = t.sandboxEl.offsetWidth, t._height = t.sandboxEl.offsetHeight
}) : c.resolve()
}), t.define("setTitle", function (t) {
this.iframeEl.title = t
}), t.define("makeVisible", function () {
return this.styleSelf(h)
}), t.define("didResize", function () {
var t = this, e = t._resizeHandlers.length > 0;
return this.updateCachedDimensions().then(function () {
e && t._resizeHandlers.forEach(function (e) {
e(t)
})
})
}), t.define("loadDocument", function (t) {
var e = new u;
return this.initialized ? this.iframeEl.src ? c.reject(new Error("widget already loaded")) : (this.iframeEl.addEventListener("load", e.resolve, !1), this.iframeEl.addEventListener("error", e.reject, !1), this.iframeEl.src = t, e.promise) : c.reject(new Error("sandbox not initialized"))
}), t.after("initialize", function () {
this._iframe = null, this._width = this._height = 0, this._resizeHandlers = []
}), t.override("insert", function (t, e, n, r) {
var o = this;
return e = f.aug({id: t}, e), n = f.aug({}, l, n), this._iframe = a(e, n), p[t] = this, this.onResize(s(function () {
o.makeVisible()
})), i.write(d(r, null, this._iframe))
}), t.override("onResize", function (t) {
this._resizeHandlers.push(t)
}), t.after("styleSelf", function () {
return this.updateCachedDimensions()
})
}
var i = n(36), o = n(120), s = n(125), a = n(45), u = n(1), c = n(2), d = n(15), f = n(12),
l = {position: "absolute", visibility: "hidden", width: "0px", height: "0px"},
h = {position: "static", visibility: "visible"}, p = {};
o(function (t, e, n) {
var r = p[t];
if (r) return r.styleSelf({width: e + "px", height: n + "px"}).then(function () {
r.didResize()
})
}), t.exports = r
}, function (t, e, n) {
function r(t) {
(new o).attachReceiver(new s.Receiver(i, "twttr.button")).bind("twttr.private.trigger", function (t, e) {
var n = c(this);
a.trigger(t, {target: n, region: e, type: t, data: {}})
}).bind("twttr.private.resizeButton", function (e) {
var n = c(this), r = n && n.id, i = u.asInt(e.width), o = u.asInt(e.height);
r && i && o && t(r, i, o)
})
}
var i = n(7), o = n(121), s = n(123), a = n(30), u = n(26), c = n(124);
t.exports = r
}, function (t, e, n) {
function r(t) {
this.registry = t || {}
}
function i(t) {
return h.isType("string", t) ? f.parse(t) : t
}
function o(t) {
var e, n, r;
return !!h.isObject(t) && (e = t.jsonrpc === v, n = h.isType("string", t.method), r = !("id" in t) || s(t.id), e && n && r)
}
function s(t) {
var e, n, r;
return e = h.isType("string", t), n = h.isType("number", t), r = null === t, e || n || r
}
function a(t) {
return h.isObject(t) && !h.isType("function", t)
}
function u(t, e) {
return {jsonrpc: v, id: t, result: e}
}
function c(t, e) {
return {jsonrpc: v, id: s(t) ? t : null, error: e}
}
function d(t) {
return p.all(t).then(function (t) {
return t = t.filter(function (t) {
return void 0 !== t
}), t.length ? t : void 0
})
}
var f = n(51), l = n(122), h = n(12), p = n(2), m = n(33), v = "2.0";
r.prototype._invoke = function (t, e) {
var n, r, i;
n = this.registry[t.method], r = t.params || [], r = h.isType("array", r) ? r : [r];
try {
i = n.apply(e.source || null, r)
} catch (t) {
i = p.reject(t.message)
}
return m.isPromise(i) ? i : p.resolve(i)
}, r.prototype._processRequest = function (t, e) {
function n(e) {
return u(t.id, e)
}
function r() {
return c(t.id, l.INTERNAL_ERROR)
}
var i;
return o(t) ? (i = "params" in t && !a(t.params) ? p.resolve(c(t.id, l.INVALID_PARAMS)) : this.registry[t.method] ? this._invoke(t, {source: e}).then(n, r) : p.resolve(c(t.id, l.METHOD_NOT_FOUND)), null != t.id ? i : p.resolve()) : p.resolve(c(t.id, l.INVALID_REQUEST))
}, r.prototype.attachReceiver = function (t) {
return t.attachTo(this), this
}, r.prototype.bind = function (t, e) {
return this.registry[t] = e, this
}, r.prototype.receive = function (t, e) {
var n, r, o, s = this;
try {
t = i(t)
} catch (t) {
return p.resolve(c(null, l.PARSE_ERROR))
}
return e = e || null, n = h.isType("array", t), r = n ? t : [t], o = r.map(function (t) {
return s._processRequest(t, e)
}), n ? d(o) : o[0]
}, t.exports = r
}, function (t, e) {
t.exports = {
PARSE_ERROR: {code: -32700, message: "Parse error"},
INVALID_REQUEST: {code: -32600, message: "Invalid Request"},
INVALID_PARAMS: {code: -32602, message: "Invalid params"},
METHOD_NOT_FOUND: {code: -32601, message: "Method not found"},
INTERNAL_ERROR: {code: -32603, message: "Internal error"}
}
}, function (t, e, n) {
function r(t, e, n) {
var r;
t && t.postMessage && (g ? r = (n || "") + f.stringify(e) : n ? (r = {}, r[n] = e) : r = e, t.postMessage(r, "*"))
}
function i(t) {
return p.isType("string", t) ? t : "JSONRPC"
}
function o(t, e) {
return e ? p.isType("string", t) && 0 === t.indexOf(e) ? t.substring(e.length) : t[e] ? t[e] : void 0 : t
}
function s(t, e) {
var n = t.document;
this.filter = i(e), this.server = null, this.isTwitterFrame = m.isTwitterURL(n.location.href), t.addEventListener("message", v(this._onMessage, this), !1)
}
function a(t, e) {
this.pending = {}, this.target = t, this.isTwitterHost = m.isTwitterURL(c.href), this.filter = i(e), d.addEventListener("message", v(this._onMessage, this), !1)
}
function u(t) {
return arguments.length > 0 && (g = !!t), g
}
var c = n(11), d = n(7), f = n(51), l = n(1), h = n(8), p = n(12), m = n(24), v = n(15), g = h.ie9();
p.aug(s.prototype, {
_onMessage: function (t) {
var e, n = this;
this.server && (this.isTwitterFrame && !m.isTwitterURL(t.origin) || (e = o(t.data, this.filter), e && this.server.receive(e, t.source).then(function (e) {
e && r(t.source, e, n.filter)
})))
}, attachTo: function (t) {
this.server = t
}, detach: function () {
this.server = null
}
}), p.aug(a.prototype, {
_processResponse: function (t) {
var e = this.pending[t.id];
e && (e.resolve(t), delete this.pending[t.id])
}, _onMessage: function (t) {
var e;
if ((!this.isTwitterHost || m.isTwitterURL(t.origin)) && (e = o(t.data, this.filter))) {
if (p.isType("string", e)) try {
e = f.parse(e)
} catch (t) {
return
}
e = p.isType("array", e) ? e : [e], e.forEach(v(this._processResponse, this))
}
}, send: function (t) {
var e = new l;
return t.id ? this.pending[t.id] = e : e.resolve(), r(this.target, t, this.filter), e.promise
}
}), t.exports = {Receiver: s, Dispatcher: a, _stringifyPayload: u}
}, function (t, e, n) {
function r(t) {
for (var e, n = i.getElementsByTagName("iframe"), r = 0; n[r]; r++) if (e = n[r], e.contentWindow === t) return e
}
var i = n(9);
t.exports = r
}, function (t, e) {
function n(t) {
var e, n = !1;
return function () {
return n ? e : (n = !0, e = t.apply(this, arguments))
}
}
t.exports = n
}, function (t, e, n) {
function r(t) {
var e = u(t), n = {
collectionId: a.collectionId(t.href),
chrome: t.getAttribute("data-chrome"),
limit: t.getAttribute("data-limit")
};
return s.forIn(n, function (t, n) {
var r = e[t];
e[t] = o.hasValue(r) ? r : n
}), e
}
function i(t) {
var e = c(t, f);
return e.map(function (t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(26), s = n(12), a = n(24), u = n(80), c = n(82)(), d = n(127), f = "a.twitter-grid";
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-grid", t, e, n)
}
var i = n(86), o = n(128), s = n(53);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(3, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(129), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function (t, e, n) {
function r(t) {
if (t) return t.replace(/[^\w$]/g, "_")
}
function i() {
return f + l++
}
function o(t, e, n, o) {
var f, l, h;
return o = r(o || i()), f = a.fullPath(["callbacks", o]), l = s.createElement("script"), h = new u, e = c.aug({}, e, {
callback: f,
suppress_response_codes: !0
}), a.set(["callbacks", o], function (t) {
var e, r;
e = n(t || !1), t = e.resp, r = e.success, r ? h.resolve(t) : h.reject(t), l.onload = l.onreadystatechange = null, l.parentNode && l.parentNode.removeChild(l), a.unset(["callbacks", o])
}), l.onerror = function () {
h.reject(new Error("failed to fetch " + l.src))
}, l.src = d.url(t, e), l.async = "async", s.body.appendChild(l), h.promise
}
var s = n(9), a = n(18), u = n(1), c = n(12), d = n(25), f = "cb", l = 0;
t.exports = {fetch: o}
}, function (t, e, n) {
function r(t) {
var e, n;
return e = t.headers && t.headers.status, n = t && !t.error && 200 === e, !n && t.headers && t.headers.message && i.warn(t.headers.message), {
success: n,
resp: t
}
}
var i = n(10);
t.exports = r
}, function (t, e) {
function n() {
var t = (new Date).toString().match(/(GMT[+-]?\d+)/);
return t && t[0] || "GMT"
}
t.exports = {getTimezoneOffset: n}
}, function (t, e) {
function n() {
var t = 9e5;
return Math.floor(+new Date / t)
}
t.exports = n
}, function (t, e, n) {
function r() {
w.init("backendHost", b)
}
function i() {
w.unset("backendHost", b)
}
function o(t) {
var e = t || [];
return e.unshift("cookie/consent"), p(E(), e)
}
function s(t) {
var e = t || [];
return e.unshift("settings"), p(E(), e)
}
function a(t) {
var e = t || [];
return e.unshift("video/event"), p(_(), e)
}
function u(t) {
var e = t || [];
return e.unshift("grid/collection"), p(_(), e)
}
function c(t) {
var e = t || [];
return e.unshift("moments"), p(_(), e)
}
function d(t) {
var e = t || [];
return e.unshift("timeline"), p(_(), e)
}
function f(t) {
var e = t || [];
return e.unshift("widgets/timelines"), p(_(), e)
}
function l(t) {
var e = t || [];
return e.unshift("tweets.json"), p(_(), e)
}
function h(t) {
var e = t || [];
return e.unshift("widgets/video"), p(_(), e)
}
function p(t, e) {
var n = [t];
return e.forEach(function (t) {
n.push(m(t))
}), n.join("/")
}
function m(t) {
var e = (t || "").toString(), n = v(e) ? 1 : 0, r = g(e) ? -1 : void 0;
return e.slice(n, r)
}
function v(t) {
return "/" === t.slice(0, 1)
}
function g(t) {
return "/" === t.slice(-1)
}
var w = n(18), y = "https://cdn.syndication.twimg.com", b = "https://syndication.twitter.com", _ = function () {
return w.get("backendHost") || y
}, E = function () {
return w.get("settingsSvcHost") || b
};
t.exports = {
cookieConsent: o,
disableCDN: r,
enableCDN: i,
eventVideo: a,
grid: u,
moment: c,
settings: s,
timeline: d,
timelinePreconfigured: f,
tweetBatch: l,
video: h
}
}, function (t, e, n) {
var r = n(9), i = n(26), o = r.createElement("div");
t.exports = function (t) {
return i.isNumber(t) && (t += "px"), o.style.width = "", o.style.width = t, o.style.width || null
}
}, function (t, e, n) {
function r(t) {
t.after("prepForInsertion", function (t) {
o.sizeIframes(t, this.sandbox.width, s, i.sync)
}), t.after("resize", function () {
o.sizeIframes(this.el, this.sandbox.width, s, i.write)
})
}
var i = n(36), o = n(139), s = 375;
t.exports = r
}, function (t, e, n) {
function r(t, e) {
t.getAttribute("data-image") ? s(t, e) : u(t, e)
}
function i(t) {
var e = t.split(" ");
this.url = decodeURIComponent(e[0].trim()), this.width = +e[1].replace(/w$/, "").trim()
}
function o(t, e, n) {
var r, o, s, u, c;
if (o = a(t), s = e.split(",").map(function (t) {
return new i(t.trim())
}), n) for (c = 0; c < s.length; c++) s[c].url === n && (r = s[c]);
return u = s.reduce(function (t, e) {
return e.width < t.width && e.width >= o ? e : t
}, s[0]), r && r.width > u.width ? r : u
}
function s(t, e) {
var n, r, i, o, s;
n = y.decodeURL(t.src).name, r = n && b(R, function (t) {
if (S[t] === n) return t
}), o = a(e) || 680, r >= o || (i = t.getAttribute("data-image"), s = b(R, function (t) {
if (t >= o) return t
}) || 4096, t.src = y.url(i, {format: "jpg", name: S[s]}))
}
function a(t) {
return v.devicePixelRatio ? t * v.devicePixelRatio : t
}
function u(t, e) {
var n, r = t.getAttribute("data-srcset"), i = t.src;
r && (n = o(e, r, i), t.src = n.url)
}
function c(t, e) {
e = void 0 !== e ? !!e : _.retina(), g.toRealArray(t.getElementsByTagName("IMG")).forEach(function (t) {
var n = t.getAttribute("data-src-1x") || t.getAttribute("src"), r = t.getAttribute("data-src-2x");
e && r ? t.src = r : n && (t.src = n)
})
}
function d(t, e, n) {
t && (g.toRealArray(t.querySelectorAll(".NaturalImage-image")).forEach(function (t) {
n(function () {
r(t, e)
})
}), g.toRealArray(t.querySelectorAll(".CroppedImage-image")).forEach(function (t) {
n(function () {
r(t, e / 2)
})
}), g.toRealArray(t.querySelectorAll("img.autosized-media")).forEach(function (t) {
n(function () {
r(t, e), t.removeAttribute("width"), t.removeAttribute("height")
})
}))
}
function f(t, e, n, r) {
t && g.toRealArray(t.querySelectorAll("iframe.autosized-media, .wvp-player-container")).forEach(function (t) {
var i = h(t.getAttribute("data-width"), t.getAttribute("data-height"), E.effectiveWidth(t.parentElement) || e, n);
r(function () {
t.setAttribute("width", i.width), t.setAttribute("height", i.height), x.present(t, "wvp-player-container") ? (t.style.width = i.width, t.style.height = i.height) : (t.width = i.width, t.height = i.height)
})
})
}
function l(t, e, n, r) {
d(t, e, r), f(t, e, n, r)
}
function h(t, e, n, r, i, o) {
return n = n || t, r = r || e, i = i || 0, o = o || 0, t > n && (e *= n / t, t = n), e > r && (t *= r / e, e = r), t < i && (e *= i / t, t = i), e < o && (t *= o / e, e = o), {
width: Math.floor(t),
height: Math.floor(e)
}
}
function p(t, e, n, r) {
g.toRealArray(t.querySelectorAll(e)).forEach(function (t) {
var e = t.getAttribute("style") || t.getAttribute("data-style"), i = r.test(e) && RegExp.$1;
i && (t.setAttribute("data-csp-fix", !0), t.style[n] = i)
})
}
function m(t) {
w.inlineStyle() || (p(t, ".MediaCard-widthConstraint", "maxWidth", A), p(t, ".MediaCard-mediaContainer", "paddingBottom", I), p(t, ".CroppedImage-image", "top", C), p(t, ".CroppedImage-image", "left", T))
}
var v = n(7), g = n(12), w = n(66), y = n(25), b = n(140), _ = n(8), E = n(141), x = n(21),
A = /max-width:\s*([\d.]+px)/, C = /top:\s*(-?[\d.]+%)/, T = /left:\s*(-?[\d.]+%)/,
I = /padding-bottom:\s*([\d.]+%)/, S = {
64: "tiny",
120: "120x120",
240: "240x240",
360: "360x360",
680: "small",
900: "900x900",
1200: "medium",
2048: "large",
4096: "4096x4096"
}, R = Object.keys(S).sort(function (t, e) {
return t - e
});
t.exports = {
scaleDimensions: h,
retinize: c,
setSrcForImgs: d,
sizeIframes: f,
constrainMedia: l,
fixMediaCardLayout: m,
__setSrcFromSet: u,
__setSrcFromImage: s,
__setImageSrc: r
}
}, function (t, e) {
t.exports = function (t, e, n) {
for (var r, i = 0; i < t.length; i++) if (r = e.call(n, t[i], i, t)) return r
}
}, function (t, e) {
function n(t) {
return t && 1 === t.nodeType ? t.offsetWidth || n(t.parentNode) : 0
}
t.exports = {effectiveWidth: n}
}, function (t, e, n) {
function r(t) {
return t.replace(/-(.)/g, function (t, e) {
return e.toUpperCase()
})
}
function i(t) {
return (t || "").split(";").reduce(function (t, e) {
var n, i;
return c.test(e.trim()) && (n = RegExp.$1, i = RegExp.$2, t[r(n)] = i), t
}, {})
}
function o(t) {
var e = i(t.getAttribute("data-style"));
0 !== Object.keys(e).length && (t.setAttribute("data-csp-fix", "true"), u.forIn(e, function (e, n) {
t.style[e] = n
}))
}
function s(t) {
t.selectors({cspForcedStyle: ".js-cspForcedStyle"}), t.after("prepForInsertion", function (t) {
a.inlineStyle() || this.select(t, "cspForcedStyle").forEach(o)
})
}
var a = n(66), u = (n(10), n(12)), c = /^([a-zA-Z-]+):\s*(.+)$/;
t.exports = s
}, function (t, e, n) {
function r(t) {
t.after("prepForInsertion", function (t) {
i.retinize(t)
})
}
var i = n(139);
t.exports = r
}, function (t, e, n) {
function r(t) {
t.after("prepForInsertion", function (t) {
o.setSrcForImgs(t, this.sandbox.width, i.sync)
}), t.after("resize", function () {
o.setSrcForImgs(this.el, this.sandbox.width, i.write)
})
}
var i = n(36), o = n(139);
t.exports = r
}, function (t, e) {
function n(t) {
t.after("render", function () {
var t = this.el.getAttribute(r);
t && this.sandbox.setTitle && this.sandbox.setTitle(t)
})
}
var r = "data-iframe-title";
t.exports = n
}, function (t, e, n) {
function r(t) {
return t.every(a.isInt)
}
function i(t) {
var e = t.map(function (t) {
return {size: +t, className: u + t}
}).sort(function (t, e) {
return t.size - e.size
});
return e.unshift({size: 0, className: c}), e
}
function o(t) {
t.params({
breakpoints: {
required: !0,
validate: r,
transform: i
}
}), t.define("getClassForWidth", function (t) {
var e, n, r;
for (n = this.params.breakpoints.length - 1; n >= 0; n--) if (r = this.params.breakpoints[n], t > r.size) {
e = r.className;
break
}
return e
}), t.after("initialize", function () {
this.allBreakpoints = this.params.breakpoints.map(function (t) {
return t.className
})
}), t.define("recalculateBreakpoints", function () {
var t = this.getClassForWidth(this.sandbox.width);
return t && this.sandbox.hasRootClass(t) ? s.resolve() : s.all([this.sandbox.removeRootClass(this.allBreakpoints), this.sandbox.addRootClass(t)])
}), t.after("render", function () {
return this.recalculateBreakpoints()
}), t.after("resize", function () {
return this.recalculateBreakpoints()
})
}
var s = n(2), a = n(26), u = "env-bp-", c = u + "min";
t.exports = o
}, , function (t, e, n) {
function r(t, e, n) {
var r, i = new u, o = a(t, n);
if (o) return (r = d.createPlayerForTweet(o.element, e, o.options)) ? (i.resolve(r), i.promise) : i.reject(new Error("unable to create tweet video player"))
}
function i(t, e, n) {
var r, i = new u, o = a(t, n);
return o ? (r = d.createPlayerForLiveVideo(o.element, e, o.options), r.on("ready", function () {
r.playPreview(), i.resolve(r)
}), i.promise) : i.reject(new Error("unable to initialize event video player"))
}
function o(t) {
var e = t.querySelector(".wvp-player-container"), n = e && d.findPlayerForElement(e);
if (n) return n.teardown()
}
function s(t) {
return d.findPlayerForElement(t)
}
function a(t, e) {
var n, r;
if (e = e || {}, r = {
scribeContext: e.scribeContext || {client: "tfw"},
languageCode: e.languageCode,
hideControls: e.hideControls || !1,
addTwitterBranding: e.addBranding || !1,
widgetOrigin: e.widgetOrigin,
borderRadius: e.borderRadius
}, n = c(t, ".wvp-player-container"), n.length > 0) return f && d.setBaseUrl(f), {
element: n[0],
options: r
}
}
var u = n(1), c = n(83), d = n(149), f = null;
t.exports = {insertForTweet: r, insertForEvent: i, remove: o, find: s}
}, function (t, e, n) {
var r;
!function (i, o) {
r = function () {
return i.TwitterVideoPlayer = o()
}.call(e, n, e, t), !(void 0 !== r && (t.exports = r))
}(this, function () {
function t(t) {
if (t && t.data && t.data.params && t.data.params[0]) {
var e = t.data.params[0], n = t.data.id;
if (e && e.context && "TwitterVideoPlayer" === e.context) {
var r = e.playerId;
delete e.playerId, delete e.context;
var i = a[r];
i && i.processMessage(t.data.method, e, n)
}
}
}
function e(t, e, n) {
var r = Object.keys(n).filter(function (t) {
return null != n[t]
}).map(function (t) {
var e = n[t];
return encodeURIComponent(t) + "=" + encodeURIComponent(e)
}).join("&");
return r && (r = "?" + r), t + e + r
}
function n(n, i, o, u, c) {
var d = n.ownerDocument, f = d.defaultView;
f.addEventListener("message", t), this.playerId = s++;
var l = {embed_source: "clientlib", player_id: this.playerId, rpc_init: 1};
if (this.scribeParams = {}, this.scribeParams.suppressScribing = u && u.suppressScribing, !this.scribeParams.suppressScribing) {
if (!u.scribeContext) throw"video_player: Missing scribe context";
if (!u.scribeContext.client) throw"video_player: Scribe context missing client property";
this.scribeParams.client = u.scribeContext.client, this.scribeParams.page = u.scribeContext.page, this.scribeParams.section = u.scribeContext.section, this.scribeParams.component = u.scribeContext.component
}
this.scribeParams.debugScribe = u && u.scribeContext && u.scribeContext.debugScribing, this.scribeParams.scribeUrl = u && u.scribeContext && u.scribeContext.scribeUrl, this.promotedLogParams = u.promotedContext, this.adRequestCallback = u.adRequestCallback, u.languageCode && (l.language_code = u.languageCode), "tfw" === this.scribeParams.client && (l.use_syndication_guest_id = !0);
var h = e(r, i, l);
return this.videoIframe = document.createElement("iframe"), this.videoIframe.setAttribute("src", h), this.videoIframe.setAttribute("allowfullscreen", ""), this.videoIframe.setAttribute("id", o), this.videoIframe.setAttribute("style", "width: 100%; height: 100%; position: absolute; top: 0; left: 0;"), this.domElement = n, this.domElement.appendChild(this.videoIframe), a[this.playerId] = this, this.eventCallbacks = {}, this.emitEvent = function (t, e) {
var n = this.eventCallbacks[t];
"undefined" != typeof n && n.forEach(function (t) {
t.apply(this.playerInterface, [e])
}.bind(this))
}, this.jsonRpc = function (t) {
var e = this.videoIframe.contentWindow;
t.jsonrpc = "2.0", e && e.postMessage && e.postMessage(JSON.stringify(t), "*")
}, this.jsonRpcCall = function (t, e) {
this.jsonRpc({method: t, params: e})
}, this.jsonRpcResult = function (t, e) {
this.jsonRpc({result: t, id: e})
}, this.processMessage = function (t, e, n) {
switch (t) {
case"requestPlayerConfig":
this.jsonRpcResult({
scribeParams: this.scribeParams,
promotedLogParams: this.promotedLogParams,
squareCorners: u.squareCorners,
borderRadius: u.borderRadius,
hideControls: u.hideControls,
embedded: u.addTwitterBranding,
widgetOrigin: u.widgetOrigin,
ignoreFineGrainGeoblocking: u.ignoreFineGrainGeoblocking
}, n);
break;
case"videoPlayerAdStart":
this.emitEvent("adStart", e);
break;
case"videoPlayerAdEnd":
this.emitEvent("adEnd", e);
break;
case"videoPlayerPlay":
this.emitEvent("play", e);
break;
case"videoPlayerPause":
this.emitEvent("pause", e);
break;
case"videoPlayerMute":
this.emitEvent("mute", e);
break;
case"videoPlayerUnmute":
this.emitEvent("unmute", e);
break;
case"videoPlayerPlaybackComplete":
this.emitEvent("playbackComplete", e);
break;
case"videoPlayerReady":
this.emitEvent("ready", e);
break;
case"videoView":
this.emitEvent("view", e);
break;
case"debugLoggingEvent":
this.emitEvent("logged", e);
break;
case"requestDynamicAd":
"function" == typeof this.adRequestCallback ? this.jsonRpcResult(this.adRequestCallback(), n) : this.jsonRpcResult({}, n);
break;
case"videoPlayerError":
e && "NO_COOKIES_ERROR" === e.error_category ? this.emitEvent("noCookiesError", e) : e && "GEOBLOCK_ERROR" === e.error_category && this.emitEvent("geoblockError", e)
}
}, this.playerInterface = {
on: function (t, e) {
return "undefined" == typeof this.eventCallbacks[t] && (this.eventCallbacks[t] = []), this.eventCallbacks[t].push(e), this.playerInterface
}.bind(this), off: function (t, e) {
if ("undefined" == typeof e) delete this.eventCallbacks[t]; else {
var n = this.eventCallbacks[t];
if ("undefined" != typeof n) {
var r = n.indexOf(e);
r > -1 && n.splice(r, 1)
}
}
return this.playerInterface
}.bind(this), play: function () {
return this.jsonRpcCall("play"), this.playerInterface
}.bind(this), pause: function () {
return this.jsonRpcCall("pause"), this.playerInterface
}.bind(this), mute: function () {
return this.jsonRpcCall("mute"), this.playerInterface
}.bind(this), unmute: function () {
return this.jsonRpcCall("unmute"), this.playerInterface
}.bind(this), playPreview: function () {
return this.jsonRpcCall("autoPlayPreview"), this.playerInterface
}.bind(this), pausePreview: function () {
return this.jsonRpcCall("autoPlayPreviewStop"), this.playerInterface
}.bind(this), updatePosition: function (t) {
return this.jsonRpcCall("updatePosition", [t]), this.playerInterface
}.bind(this), updateLayoutBreakpoint: function (t) {
return this.jsonRpcCall("updateLayoutBreakpoint", [t]), this.playerInterface
}.bind(this), enterFullScreen: function () {
return this.jsonRpcCall("enterFullScreen"), this.playerInterface
}.bind(this), exitFullScreen: function () {
return this.jsonRpcCall("exitFullScreen"), this.playerInterface
}.bind(this), teardown: function () {
this.eventCallbacks = {}, n.removeChild(this.videoIframe), this.videoIframe = void 0, delete a[this.playerId]
}.bind(this)
}, this.playerInterface
}
var r = "https://twitter.com", i = /^https?:\/\/([a-zA-Z0-9]+\.)*twitter.com(:\d+)?$/,
o = {suppressScribing: !1, squareCorners: !1, hideControls: !1, addTwitterBranding: !1}, s = 0, a = {};
return {
setBaseUrl: function (t) {
i.test(t) ? r = t : window.console.error("newBaseUrl " + t + " not allowed")
}, createPlayerForTweet: function (t, e, r) {
var i = "/i/videos/tweet/" + e, s = "player_tweet_" + e;
return new n(t, i, s, r || o)
}, createPlayerForDm: function (t, e, r) {
var i = "/i/videos/dm/" + e, s = "player_dm_" + e;
return new n(t, i, s, r || o)
}, createPlayerForLiveVideo: function (t, e, r) {
var i = "/i/videos/live_video/" + e, s = "player_live_video_" + e;
return new n(t, i, s, r || o)
}, findPlayerForElement: function (t) {
for (var e in a) if (a.hasOwnProperty(e)) {
var n = a[e];
if (n && n.domElement === t) return n.playerInterface
}
return null
}
}
})
}, function (t, e, n) {
function r(t) {
t.selectors({clickToOpen: ".js-clickToOpenTarget"}), t.define("shouldOpenTarget", function (t) {
var e = i.closest("A", t.target, this.el), n = i.closest("BUTTON", t.target, this.el),
r = this.sandbox.hasSelectedText();
return !e && !n && !r
}), t.define("openTarget", function (t, e) {
var n = e && e.getAttribute(u);
n && (o(n), this.scribeOpenClick(t))
}), t.define("attemptToOpenTarget", function (t, e) {
this.shouldOpenTarget(t) && this.openTarget(t, e)
}), t.define("scribeOpenClick", function (t) {
var e = a.extractTermsFromDOM(t.target), n = {associations: a.formatTweetAssociation(e)};
this.scribe({section: "chrome", action: "click"}, n)
}), t.after("render", function () {
this.on("click", "clickToOpen", this.attemptToOpenTarget)
})
}
var i = n(22), o = n(151), s = n(89), a = n(50), u = "data-click-to-open-target";
t.exports = s.couple(n(102), r)
}, function (t, e, n) {
function r(t) {
s.isTwitterURL(t) && (t = o(t)), i.open(t)
}
var i = n(7), o = n(101), s = n(24);
t.exports = r
}, function (t, e, n) {
function r(t) {
t.params({
productName: {required: !0},
dataSource: {required: !1},
related: {required: !1},
partner: {fallback: d(o.val, o, "partner")}
}), t.selectors({
timeline: ".timeline",
tweetIdInfo: ".js-tweetIdInfo"
}), t.define("injectWebIntentParams", function (t) {
var e = i.closest(this.selectors.timeline, t, this.el),
n = i.closest(this.selectors.tweetIdInfo, t, this.el);
t.getAttribute(f) || (t.setAttribute(f, !0), t.href = u.url(t.href, {
tw_w: this.params.dataSource && this.params.dataSource.id,
tw_i: n && n.getAttribute("data-tweet-id"),
tw_p: this.params.productName,
related: this.params.related,
partner: this.params.partner,
query: e && e.getAttribute("data-search-query"),
profile_id: e && e.getAttribute("data-profile-id"),
original_referer: a.rootDocumentLocation()
}))
}), t.after("render", function () {
this.on("click", "A", function (t, e) {
c.isIntentURL(e.href) && (this.injectWebIntentParams(e), s.open(e.href, this.sandbox.sandboxEl, t))
})
})
}
var i = n(22), o = n(41), s = n(23), a = n(47), u = n(25), c = n(24), d = n(15), f = "data-url-params-injected";
t.exports = r
}, function (t, e, n) {
function r(t) {
t.before("render", function () {
i.ios() && this.sandbox.addRootClass("env-ios"), i.ie9() && this.sandbox.addRootClass("ie9"), i.touch() && this.sandbox.addRootClass("is-touch")
})
}
var i = n(8);
t.exports = r
}, function (t, e, n) {
function r(t) {
t.params({pageForAudienceImpression: {required: !0}}), t.before("hydrate", function () {
i.scribeAudienceImpression(this.params.pageForAudienceImpression)
})
}
var i = n(155);
t.exports = r
}, function (t, e, n) {
function r() {
return d.formatGenericEventData("syndicated_impression", {})
}
function i() {
u("tweet")
}
function o() {
u("timeline")
}
function s() {
u("video")
}
function a() {
u("partnertweet")
}
function u(t) {
f.isHostPageSensitive() || l[t] || (l[t] = !0, c.scribe(d.formatClientEventNamespace({
page: t,
action: "impression"
}), r(), d.AUDIENCE_ENDPOINT))
}
var c = n(71), d = n(50), f = n(49), l = {};
t.exports = {
scribeAudienceImpression: u,
scribePartnerTweetAudienceImpression: a,
scribeTweetAudienceImpression: i,
scribeTimelineAudienceImpression: o,
scribeVideoAudienceImpression: s
}
}, function (t, e, n) {
function r(t) {
var e = {action: "dimensions"}, n = new o(s);
t.after("show", function () {
var t, r, i;
n.nextBoolean() && (t = this.sandbox.width, r = this.sandbox.height, i = {
widget_width: t,
widget_height: r
}, this.scribe(e, i))
})
}
var i = n(89), o = n(157), s = 1;
t.exports = i.couple(n(102), r)
}, function (t, e) {
function n(t) {
this.percentage = t
}
n.prototype.nextBoolean = function () {
return 100 * Math.random() < this.percentage
}, t.exports = n
}, , function (t, e, n) {
function r(t) {
var e = {transparent: !1, hideBorder: !1, hideHeader: !1, hideFooter: !1, hideScrollBar: !1};
return t = t || "", i.contains(t, "transparent") && (e.transparent = !0), i.contains(t, "noborders") && (e.hideBorder = !0), i.contains(t, "noheader") && (e.hideHeader = !0), i.contains(t, "nofooter") && (e.hideFooter = !0), i.contains(t, "noscrollbar") && (e.hideScrollBar = !0), e
}
var i = n(12);
t.exports = r
}, function (t, e, n) {
function r(t) {
var e = u(t), n = {
momentId: a.momentId(t.href),
chrome: t.getAttribute("data-chrome"),
limit: t.getAttribute("data-limit")
};
return s.forIn(n, function (t, n) {
var r = e[t];
e[t] = o.hasValue(r) ? r : n
}), e
}
function i(t) {
var e = c(t, f);
return e.map(function (t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(26), s = n(12), a = n(24), u = n(80), c = n(82)(), d = n(161), f = "a.twitter-moment";
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-moment", t, e, n)
}
var i = n(86), o = n(162), s = n(53);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(4, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(163), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function (t, e, n) {
function r(t) {
t.selectors({inViewportMarker: ".js-inViewportScribingTarget"}), t.define("scribeInViewportSeen", function (t, e) {
var n = i.extractTermsFromDOM(t);
n.action = "seen", this.scribe(n, e, s.version)
}), t.after("show", function () {
var t = this.selectors.inViewportMarker, e = this.select(t);
e.forEach(function (t) {
t && a.inViewportOnce(t, this.sandbox.sandboxEl, function () {
this.scribeInViewportSeen(t, this.scribeItems())
}.bind(this))
}, this)
})
}
var i = n(50), o = n(89), s = n(52), a = n(167);
t.exports = o.couple(n(102), r)
}, function (t, e, n) {
var r = n(168), i = n(67), o = n(169), s = n(7), a = n(8), u = 50, c = function (t) {
return (s.requestIdleCallback || s.requestAnimationFrame || function (t) {
t()
})(t)
}, d = function () {
this.observers = []
};
d.prototype._register = function (t, e, n) {
var i, u = this;
return a.hasIntersectionObserverSupport() ? (i = new s.IntersectionObserver(function (t) {
t.forEach(function (t) {
t.intersectionRatio >= 1 && (c(n), u._unregister(i))
})
}, {threshold: 1}), i.observe(t), i) : (i = {
update: function (o, s) {
r(t, {viewportWidth: o, viewportHeight: s, sandboxEl: e}) && (n(), u._unregister(i))
}
}, this.observers.push(i), 1 === this.observers.length && (this.unlisten = o.addScrollListener(this._onViewportChange.bind(this))), this._onViewportChange(), i)
}, d.prototype._unregister = function (t) {
var e;
a.hasIntersectionObserverSupport() && t instanceof s.IntersectionObserver ? t.disconnect() : (e = this.observers.indexOf(t), e > -1 && (this.observers.splice(e, 1), 0 === this.observers.length && this.unlisten && this.unlisten()))
}, d.prototype._onViewportChange = function () {
i(c(function () {
this._notify(o.getWidth(), o.getHeight())
}.bind(this)), u, this)
}, d.prototype._notify = function (t, e) {
this.observers.forEach(function (n) {
n.update(t, e)
})
}, d.prototype.inViewportOnce = function (t, e, n) {
return this._register(t, e, n)
}, t.exports = new d
}, function (t, e, n) {
function r(t, e) {
var n, r, s, a;
return e = e || {}, r = e.viewportWidth || o.innerWidth, n = e.viewportHeight || o.innerHeight, s = t.getBoundingClientRect(), t.ownerDocument !== i && e.sandboxEl && (a = e.sandboxEl.getBoundingClientRect(), s = {
top: s.top + a.top,
bottom: s.bottom + a.top,
left: s.left + a.left,
right: s.right + a.left
}), s.top >= 0 && s.left >= 0 && s.bottom <= n && s.right <= r
}
var i = n(9), o = n(7);
t.exports = r
}, function (t, e, n) {
var r = n(7), i = {
_addListener: function (t, e) {
var n, i = function () {
e()
};
return r.addEventListener(t, i), n = function () {
r.removeEventListener(t, i)
}
}, addScrollListener: function (t) {
return this._addListener("scroll", t)
}, getHeight: function () {
return r.innerHeight
}, getWidth: function () {
return r.innerWidth
}
};
t.exports = i
}, , function (t, e, n) {
function r(t) {
var e = s(t), n = t.getAttribute("href"), r = t.getAttribute("data-size"), i = d.exec(n)[1];
return o.aug(e, {username: i, size: r})
}
function i(t) {
var e = a(t, c);
return e.map(function (t) {
return u(r(t), t.parentNode, t)
})
}
var o = n(12), s = n(80), a = n(82)(), u = n(172), c = "a.periscope-on-air",
d = /^https?:\/\/(?:www\.)?(?:periscope|pscp)\.tv\/@?([a-zA-Z0-9_]+)\/?$/i;
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "periscope-on-air", t, e, n)
}
var i = n(86), o = n(173), s = n(53);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(5, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(174), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , function (t, e, n) {
function r(t) {
var e = c(t), n = t.getAttribute("data-show-replies"), r = {
widgetId: t.getAttribute("data-widget-id"),
chrome: t.getAttribute("data-chrome"),
tweetLimit: t.getAttribute("data-tweet-limit"),
ariaLive: t.getAttribute("data-aria-polite"),
theme: t.getAttribute("data-theme"),
linkColor: t.getAttribute("data-link-color"),
borderColor: t.getAttribute("data-border-color"),
showReplies: n ? o.asBoolean(n) : null,
profileScreenName: t.getAttribute("data-screen-name"),
profileUserId: t.getAttribute("data-user-id"),
favoritesScreenName: t.getAttribute("data-favorites-screen-name"),
favoritesUserId: t.getAttribute("data-favorites-user-id"),
likesScreenName: t.getAttribute("data-likes-screen-name"),
likesUserId: t.getAttribute("data-likes-user-id"),
listOwnerScreenName: t.getAttribute("data-list-owner-screen-name"),
listOwnerUserId: t.getAttribute("data-list-owner-id"),
listId: t.getAttribute("data-list-id"),
listSlug: t.getAttribute("data-list-slug"),
customTimelineId: t.getAttribute("data-custom-timeline-id"),
staticContent: t.getAttribute("data-static-content"),
url: t.href
};
return r = s.aug(r, e), r.dataSource = a(r), r.useLegacyDefaults = r.dataSource instanceof u, r
}
function i(t) {
var e = d(t, l);
return e.map(function (t) {
return f(r(t), t.parentNode, t)
})
}
var o = n(26), s = n(12), a = n(178), u = n(193), c = n(80), d = n(82)(), f = n(195),
l = "a.twitter-timeline,div.twitter-timeline";
t.exports = i
}, function (t, e, n) {
function r(t) {
var e, n;
return e = (t.sourceType + "").toLowerCase(), n = p[e], n ? new n(t) : null
}
function i(t) {
return s(m, function (e) {
try {
return new e(t)
} catch (t) {
}
})
}
function o(t) {
return t ? r(t) || i(t) : null
}
var s = n(140), a = n(179), u = n(183), c = n(185), d = n(187), f = n(189), l = n(191), h = n(193),
p = {collection: a, event: u, likes: c, list: d, profile: l, widget: h, url: i}, m = [h, l, c, a, d, u, f];
t.exports = o
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(182)])
}, function (t, e, n) {
var r = n(55), i = n(59), o = n(15);
r = Object.create(r), r.build = o(r.build, null, i), t.exports = r
}, function (t, e, n) {
function r(t) {
if (!t || !t.headers) throw new Error("unexpected response schema");
return {
html: t.body,
config: t.config,
pollInterval: 1e3 * parseInt(t.headers.xPolling, 10) || null,
maxCursorPosition: t.headers.maxPosition,
minCursorPosition: t.headers.minPosition
}
}
function i(t) {
if (t && t.headers) throw new Error(t.headers.status);
throw t instanceof Error ? t : new Error(t)
}
function o(t) {
t.params({
instanceId: {required: !0, fallback: p.deterministic},
lang: {required: !0, transform: d.matchLanguage, fallback: "en"},
tweetLimit: {transform: h.asInt}
}), t.defineProperty("endpoint", {
get: function () {
throw new Error("endpoint not specified")
}
}), t.defineProperty("pollEndpoint", {
get: function () {
return this.endpoint
}
}), t.define("cbId", function (t) {
var e = t ? "_new" : "_old";
return "tl_" + this.params.instanceId + "_" + this.id + e
}), t.define("queryParams", function () {
return {
lang: this.params.lang,
tz: f.getTimezoneOffset(),
t: s(),
domain: c.host,
tweet_limit: this.params.tweetLimit,
dnt: l.enabled()
}
}), t.define("fetch", function () {
return a.fetch(this.endpoint, this.queryParams(), u, this.cbId()).then(r, i)
}), t.define("poll", function (t, e) {
var n, o;
return t = t || {}, n = {
since_id: t.sinceId,
max_id: t.maxId,
min_position: t.minPosition,
max_position: t.maxPosition
}, o = m.aug(this.queryParams(), n), a.fetch(this.pollEndpoint, o, u, this.cbId(e)).then(r, i)
})
}
var s = n(135), a = n(132), u = n(133), c = n(11), d = n(95), f = n(134), l = n(46), h = n(26), p = n(29),
m = n(12);
t.exports = o
}, function (t, e, n) {
function r(t, e) {
return o.collectionId(t) || e
}
function i(t) {
t.params({id: {}, url: {}}), t.overrideProperty("id", {
get: function () {
var t = r(this.params.url, this.params.id);
return u + t
}
}), t.overrideProperty("endpoint", {
get: function () {
return a.timeline(["collection"])
}
}), t.around("queryParams", function (t) {
return s.aug(t(), {collection_id: r(this.params.url, this.params.id)})
}), t.before("initialize", function () {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(24), s = n(12), a = n(136), u = "collection:";
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(184)])
}, function (t, e, n) {
function r(t, e) {
return o.eventId(t) || e
}
function i(t) {
t.params({id: {}, url: {}}), t.overrideProperty("id", {
get: function () {
var t = r(this.params.url, this.params.id);
return u + t
}
}), t.overrideProperty("endpoint", {
get: function () {
return a.timeline(["event"])
}
}), t.around("queryParams", function (t) {
return s.aug(t(), {event_id: r(this.params.url, this.params.id)})
}), t.before("initialize", function () {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(24), s = n(12), a = n(136), u = "event:";
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(186)])
}, function (t, e, n) {
function r(t) {
return o.likesScreenName(t.url) || t.screenName
}
function i(t) {
t.params({screenName: {}, userId: {}, url: {}}), t.overrideProperty("id", {
get: function () {
var t = r(this.params) || this.params.userId;
return u + t
}
}), t.overrideProperty("endpoint", {
get: function () {
return a.timeline(["likes"])
}
}), t.define("_getLikesQueryParam", function () {
var t = r(this.params);
return t ? {screen_name: t} : {user_id: this.params.userId}
}), t.around("queryParams", function (t) {
return s.aug(t(), this._getLikesQueryParam())
}), t.before("initialize", function () {
if (!r(this.params) && !this.params.userId) throw new Error("screen name or user id is required")
})
}
var o = n(24), s = n(12), a = n(136), u = "likes:";
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(188)])
}, function (t, e, n) {
function r(t) {
var e = o.listScreenNameAndSlug(t.url) || t;
return s.compact({screen_name: e.ownerScreenName, user_id: e.ownerUserId, list_slug: e.slug})
}
function i(t) {
t.params({
id: {},
ownerScreenName: {},
ownerUserId: {},
slug: {},
url: {}
}), t.overrideProperty("id", {
get: function () {
var t, e, n;
return this.params.id ? u + this.params.id : (t = r(this.params), e = t && t.list_slug.replace(/-/g, "_"), n = t && (t.screen_name || t.user_id), u + (n + ":" + e))
}
}), t.overrideProperty("endpoint", {
get: function () {
return a.timeline(["list"])
}
}), t.define("_getListQueryParam", function () {
return this.params.id ? {list_id: this.params.id} : r(this.params)
}), t.around("queryParams", function (t) {
return s.aug(t(), this._getListQueryParam())
}), t.before("initialize", function () {
var t = r(this.params);
if (s.isEmptyObject(t) && !this.params.id) throw new Error("qualified slug or list id required")
})
}
var o = n(24), s = n(12), a = n(136), u = "list:";
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(190)])
}, function (t, e, n) {
function r(t) {
t.params({
previewParams: {
required: !0,
validate: i.isObject
}
}), t.overrideProperty("id", {
get: function () {
return "preview"
}
}), t.overrideProperty("endpoint", {
get: function () {
return o.timelinePreconfigured(["preview"])
}
}), t.override("queryParams", function () {
return this.params.previewParams
})
}
var i = n(26), o = n(136);
t.exports = r
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(192)])
}, function (t, e, n) {
function r(t, e) {
return o.screenName(t) || e
}
function i(t) {
t.params({
showReplies: {fallback: !1, transform: s.asBoolean},
screenName: {},
userId: {},
url: {}
}), t.overrideProperty("id", {
get: function () {
var t = r(this.params.url, this.params.screenName);
return c + (t || this.params.userId)
}
}), t.overrideProperty("endpoint", {
get: function () {
return u.timeline(["profile"])
}
}), t.define("_getProfileQueryParam", function () {
var t = r(this.params.url, this.params.screenName),
e = t ? {screen_name: t} : {user_id: this.params.userId};
return a.aug(e, {with_replies: this.params.showReplies ? "true" : "false"})
}), t.around("queryParams", function (t) {
return a.aug(t(), this._getProfileQueryParam())
}), t.before("initialize", function () {
var t = r(this.params.url, this.params.screenName);
if (!t && !this.params.userId) throw new Error("screen name or user id is required")
})
}
var o = n(24), s = n(26), a = n(12), u = n(136), c = "profile:";
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(181), n(194)])
}, function (t, e, n) {
function r(t) {
t.params({
widgetId: {required: !0},
profileShowReplies: {fallback: !1, transform: i.asBoolean},
showReplies: {fallback: !1, transform: i.asBoolean},
profileScreenName: {},
screenName: {},
profileUserId: {},
userId: {},
favoritesScreenName: {},
favoritesUserId: {},
listOwnerScreenName: {},
listOwnerUserId: {},
listOwnerId: {},
listId: {},
listSlug: {},
customTimelineId: {},
previewParams: {}
}), t.overrideProperty("id", {
get: function () {
return this.params.widgetId
}
}), t.overrideProperty("endpoint", {
get: function () {
return s.timelinePreconfigured([this.params.widgetId])
}
}), t.overrideProperty("pollEndpoint", {
get: function () {
return s.timelinePreconfigured(["paged", this.params.widgetId])
}
}), t.define("_getWidgetQueryParams", function () {
var t = this.params.profileScreenName || this.params.screenName,
e = this.params.profileUserId || this.params.userId,
n = this.params.profileShowReplies || this.params.showReplies,
r = this.params.listOwnerUserId || this.params.listOwnerId;
return t || e ? {
override_type: "user",
override_id: e,
override_name: t,
with_replies: n ? "true" : "false"
} : this.params.favoritesScreenName || this.params.favoritesUserId ? {
override_type: "favorites",
override_id: this.params.favoritesUserId,
override_name: this.params.favoritesScreenName
} : this.params.listOwnerScreenName || r || this.params.listId || this.params.listSlug ? {
override_type: "list",
override_owner_id: r,
override_owner_name: this.params.listOwnerScreenName,
override_id: this.params.listId,
override_name: this.params.listSlug
} : this.params.customTimelineId ? {
override_type: "custom",
override_id: this.params.customTimelineId
} : void 0
}), t.around("queryParams", function (t) {
return o.aug(t(), this._getWidgetQueryParams())
})
}
var i = n(26), o = n(12), s = n(136);
t.exports = r
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-timeline", t, e, n)
}
var i = n(86), o = n(196), s = n(53);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(6, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(197), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , , , , , , , , , , , , , , , , , , , , , , , function (t, e, n) {
function r(t) {
var e = u(t), n = t.getElementsByTagName("A"), r = n && n[n.length - 1], i = r && s.status(r.href),
c = t.getAttribute("data-conversation"),
d = "none" == c || "hidden" == c || o.present(t, "tw-hide-thread"), f = t.getAttribute("data-cards"),
h = "none" == f || "hidden" == f || o.present(t, "tw-hide-media"),
p = t.getAttribute("data-align") || t.getAttribute("align"), m = t.getAttribute("data-link-color"),
v = t.getAttribute("data-theme");
return !p && l.test(t.className) && (p = RegExp.$1), a.aug(e, {
tweetId: i,
hideThread: d,
hideCard: h,
align: p,
linkColor: m,
theme: v
})
}
function i(t) {
var e = c(t, f);
return e.map(function (t) {
return d(r(t), t.parentNode, t)
})
}
var o = n(21), s = n(24), a = n(12), u = n(80), c = n(82)(), d = n(223), f = "blockquote.twitter-tweet",
l = /\btw-align-(left|right|center)\b/;
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-tweet", t, e, n)
}
var i = n(86), o = n(224), s = n(107);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(7, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(225), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , , , function (t, e, n) {
function r(t) {
return t.input.lang || v
}
function i(t, e) {
var n = {ids: [], lang: t, tz: h.getTimezoneOffset()};
return n = e.reduce(function (t, e) {
return t.ids.push(e.input.id), t
}, n), n.ids = n.ids.sort().join(","), n
}
function o(t, e) {
t.forEach(function (t) {
var n = e[t.input.id];
n ? t.taskDoneDeferred.resolve(n) : t.taskDoneDeferred.reject(new Error("not found"))
})
}
function s(t) {
t.forEach(function (t) {
t.taskDoneDeferred.reject(new Error("request failed"))
})
}
function a(t, e) {
var n = f(e, r);
p.forIn(n, function (e, n) {
var r = i(e, n), a = m(o, null, n), u = m(s, null, n);
d.fetch(t, r, c).then(a, u)
})
}
function u(t) {
this.requestQueue = new l(m(a, null, t))
}
var c = n(230), d = n(132), f = n(43), l = n(39), h = n(134), p = n(12), m = n(15), v = "en";
u.prototype.fetch = function (t, e) {
return this.requestQueue.add({id: t, lang: e})
}, t.exports = u
}, function (t, e) {
function n(t) {
return {success: !0, resp: t}
}
t.exports = n
}, , , , , , , , function (t, e, n) {
function r() {
a++, i()
}
function i() {
o && o.length === a && (s.emitter.trigger(s.ALL_WIDGETS_AND_IMAGES_LOADED, o), o = null)
}
var o, s = n(239), a = 0;
s.emitter.bind(s.ALL_WIDGETS_RENDERED, function (t) {
o = t.widgets, i()
}), t.exports = {reportImagesLoadForAWidget: r}
}, function (t, e, n) {
var r = n(31), i = r.makeEmitter();
t.exports = {
emitter: i,
START: "start",
ALL_WIDGETS_RENDERED: "all_widgets_rendered",
ALL_WIDGETS_AND_IMAGES_LOADED: "all_widgets_and_images_loaded"
}
}, , function (t, e, n) {
function r(t) {
var e = a(t), n = {
screenName: t.getAttribute("data-button-screen-name"),
text: t.getAttribute("data-text"),
type: t.getAttribute("data-type"),
size: t.getAttribute("data-size"),
url: t.getAttribute("data-url"),
hashtags: t.getAttribute("data-hashtags"),
via: t.getAttribute("data-via"),
buttonHashtag: t.getAttribute("data-button-hashtag")
};
return s.forIn(n, function (t, n) {
var r = e[t];
e[t] = d.hasValue(r) ? r : n
}), e.screenName = e.screenName || e.screen_name, e.buttonHashtag = e.buttonHashtag || e.button_hashtag || e.hashtag, o.present(t, l) && (e.type = "hashtag"), o.present(t, h) && (e.type = "mention"), e
}
function i(t) {
var e = u(t, f);
return e.map(function (t) {
return c(r(t), t.parentNode, t)
})
}
var o = n(21), s = n(12), a = n(80), u = n(82)(), c = n(242), d = n(26),
f = "a.twitter-share-button, a.twitter-mention-button, a.twitter-hashtag-button",
l = "twitter-hashtag-button", h = "twitter-mention-button";
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
var r = t && t.type || "share",
a = "hashtag" == r ? "twitter-hashtag-button" : "mention" == r ? "twitter-mention-button" : "twitter-share-button";
return new i(o, s, a, t, e, n)
}
var i = n(86), o = n(243), s = n(118);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(2, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(244), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , function (t, e, n) {
function r(t) {
var e = s(t), n = t.getElementsByTagName("A"), r = n && n[n.length - 1], i = {url: r.href};
return i = o.aug({}, i, o.compact(e)), i.dataSource = c(i), i
}
function i(t) {
var e = a(t, d);
return e.map(function (t) {
return u(r(t), t.parentNode, t)
})
}
var o = n(12), s = n(80), a = n(82)(), u = n(247), c = n(252), d = "blockquote.twitter-video";
t.exports = i
}, function (t, e, n) {
function r(t, e, n) {
return new i(o, s, "twitter-video", t, e, n)
}
var i = n(86), o = n(248), s = n(251);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
var r = new i;
return n.e(7, function (i, o) {
var s;
if (i) return r.reject(i);
try {
s = n(249), r.resolve(new s(t, e))
} catch (t) {
r.reject(t)
}
}), r.promise
}
var i = n(1);
t.exports = r
}, , , function (t, e, n) {
function r(t) {
t.overrideProperty("sandboxEl", {
get: function () {
return this._constrainingWrapper
}
}), t.override("makeVisible", function () {
var t = this.iframeEl;
return i.write(function () {
t.style.visibility = "visible"
})
}), t.define("setWrapperSize", function (t, e) {
var n = this, r = t / e, o = 100 / r + "%", s = u * r + "px";
return i.write(function () {
n._constrainingWrapper.style.maxWidth = s, n._iframeWrapper.style.paddingBottom = o
})
}), t.after("initialize", function () {
this._constrainingWrapper = this._iframeWrapper = null
}), t.around("insert", function (t, e, n, r, i) {
var o = this.targetGlobal.document, s = this._constrainingWrapper = o.createElement("div"),
u = this._iframeWrapper = o.createElement("div");
return s.id = e, s.className = (n || {}).class, s.style.minWidth = a + "px", s.style.position = "relative", s.style.margin = c, u.style.position = "relative", u.style.height = "0px", s.appendChild(u), t(void 0, null, null, function (t) {
t.style.position = "absolute", t.style.top = "0px", t.style.bottom = "0px", t.style.width = "100%", t.style.height = "100%", u.appendChild(t), i(s)
})
})
}
var i = n(36), o = n(54), s = n(63), a = 320, u = 500, c = "10px 0px";
t.exports = o.build([s, r])
}, function (t, e, n) {
function r(t) {
var e, n;
return e = (t.sourceType + "").toLowerCase(), n = a[e], n ? new n(t) : null
}
function i(t) {
return s(Object.keys(a), function (e) {
var n = a[e];
try {
return new n(t)
} catch (t) {
}
})
}
function o(t) {
return t ? r(t) || i(t) : null
}
var s = n(140), a = n(253);
t.exports = o
}, function (t, e, n) {
var r = n(254), i = n(257);
t.exports = {tweet: r, event: i}
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(255), n(256)])
}, function (t, e, n) {
function r(t) {
t.params({
lang: {
required: !0,
transform: i.matchLanguage,
fallback: "en"
}
}), t.defineProperty("identifier", {
get: function () {
throw new Error("identifier not specified")
}
}), t.defineProperty("name", {
get: function () {
throw new Error("name not specified")
}
}), t.defineProperty("scribeItemType", {
get: function () {
throw new Error("scribeItemType not specified")
}
}), t.define("fetch", function () {
throw new Error("fetch not specified")
})
}
var i = n(95);
t.exports = r
}, function (t, e, n) {
function r(t, e) {
return e || o.status(t)
}
function i(t) {
t.params({id: {}, url: {}}), t.overrideProperty("identifier", {
get: function () {
return r(this.params.url, this.params.id)
}
}), t.override("fetch", function () {
return u.fetch(this.identifier, this.params.lang)
}), t.overrideProperty("scribeItemType", {
get: function () {
return c.TWEET
}
}), t.overrideProperty("name", {
get: function () {
return "tweet"
}
}), t.before("initialize", function () {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(24), s = n(136), a = n(229), u = new a(s.video()), c = n(106);
t.exports = i
}, function (t, e, n) {
var r = n(180);
t.exports = r.build([n(255), n(258)])
}, function (t, e, n) {
function r(t, e) {
return o.eventId(t) || e
}
function i(t) {
t.params({id: {}, url: {}}), t.overrideProperty("identifier", {
get: function () {
return r(this.params.url, this.params.id)
}
}), t.override("fetch", function () {
var t = {lang: this.params.lang, event_id: this.identifier};
return s.fetch(a.eventVideo(), t)
}), t.overrideProperty("scribeItemType", {
get: function () {
return u.LIVE_VIDEO_EVENT
}
}), t.overrideProperty("name", {
get: function () {
return "event"
}
}), t.before("initialize", function () {
if (!r(this.params.url, this.params.id)) throw new Error("one of url or id is required")
})
}
var o = n(24), s = n(259), a = n(136), u = n(106);
t.exports = i
}, function (t, e, n) {
function r(t, e) {
return a.fetch(t, e, i).then(o, s)
}
function i(t) {
return {success: !t.error, resp: t}
}
function o(t) {
return t.data.html
}
function s(t) {
return u.reject(t.error.detail)
}
var a = n(132), u = n(2);
t.exports = {fetch: r}
}, function (t, e, n) {
var r = n(12);
t.exports = r.aug({}, n(261), n(263), n(264), n(265), n(266), n(267), n(268), n(269), n(270))
}, function (t, e, n) {
var r = n(85), i = n(262), o = i(["userId"], {}, r);
t.exports = {createDMButton: o}
}, function (t, e, n) {
function r(t, e, n) {
var r;
return t = t || [], e = e || {}, r = "ƒ(" + t.join(", ") + ", target, [options]);", function () {
var c, d, f, l, h = Array.prototype.slice.apply(arguments, [0, t.length]),
p = Array.prototype.slice.apply(arguments, [t.length]);
return p.forEach(function (t) {
if (t) return t.nodeType === Node.ELEMENT_NODE ? void(f = t) : u.isType("function", t) ? void(c = t) : void(u.isType("object", t) && (d = t))
}), h.length !== t.length || 0 === p.length ? (c && u.async(function () {
c(!1)
}), i.reject(new Error("Not enough parameters. Expected: " + r))) : f ? (d = u.aug({}, d || {}, e), t.forEach(function (t) {
d[t] = h.shift()
}), a.asBoolean(d.dnt) && s.setOn(), l = o.addWidget(n(d, f)), c && l.then(c, function () {
c(!1)
}), l) : (c && u.async(function () {
c(!1)
}), i.reject(new Error("No target element specified. Expected: " + r)))
}
}
var i = n(2), o = n(34), s = n(46), a = n(26), u = n(12);
t.exports = r
}, function (t, e, n) {
var r = n(112), i = n(262), o = i(["screenName"], {}, r);
t.exports = {createFollowButton: o}
}, function (t, e, n) {
var r = n(127), i = n(262), o = i(["collectionId"], {}, r);
t.exports = {createGridFromCollection: o}
}, function (t, e, n) {
var r = n(161), i = n(262), o = i(["momentId"], {}, r);
t.exports = {createMoment: o}
}, function (t, e, n) {
var r = n(172), i = n(262), o = i(["username"], {}, r);
t.exports = {createPeriscopeOnAirButton: o}
}, function (t, e, n) {
function r(t) {
var e, n = a.toRealArray(arguments).slice(1);
return a.isObject(t) || u.isString(t) ? (t = t || {}, n.forEach(function (t) {
a.isType("object", t) && (e = t, i(e))
}), e || (e = {}, n.push(e)), u.isString(t) && (t = a.aug({}, e, {
sourceType: "widget",
widgetId: t
})), t.lang = e.lang, t.tweetLimit = e.tweetLimit, t.showReplies = e.showReplies, e.dataSource = c(t), e.useLegacyDefaults = e.dataSource instanceof d, h.apply(this, n)) : p.reject("data source must be a string or an object.")
}
function i(t) {
t.ariaLive = t.ariaPolite
}
var o = n(11), s = n(24), a = n(12), u = n(26), c = n(178), d = n(193), f = n(195), l = n(262),
h = l([], {}, f), p = n(2), m = {createTimeline: r};
s.isTwitterURL(o.href) && (m.createTimelinePreview = function (t, e, n) {
var r = {previewParams: t, useLegacyDefaults: !0, isPreviewTimeline: !0};
return r.dataSource = c(r), h(e, r, n)
}), t.exports = m
}, function (t, e, n) {
function r(t) {
return function () {
return i.toRealArray(arguments).slice(1).forEach(function (t) {
i.isType("object", t) && (t.hideCard = "none" == t.cards || "hidden" == t.cards, t.hideThread = "none" == t.conversation || "hidden" == t.conversation)
}), t.apply(this, arguments)
}
}
var i = n(12), o = n(223), s = n(262), a = r(s(["tweetId"], {}, o));
t.exports = {createTweet: a, createTweetEmbed: a}
}, function (t, e, n) {
function r(t) {
return function () {
return i.toRealArray(arguments).slice(1).forEach(function (t) {
i.isType("object", t) && (t.screenName = t.screenName || t.screen_name, t.buttonHashtag = t.buttonHashtag || t.button_hashtag || t.hashtag)
}), t.apply(this, arguments)
}
}
var i = n(12), o = n(242), s = n(262), a = s(["url"], {type: "share"}, o),
u = s(["buttonHashtag"], {type: "hashtag"}, o), c = s(["screenName"], {type: "mention"}, o);
t.exports = {createShareButton: r(a), createHashtagButton: r(u), createMentionButton: r(c)}
}, function (t, e, n) {
function r(t) {
var e, n = s.toRealArray(arguments).slice(1), r = t || {};
return n.forEach(function (t) {
s.isType("object", t) && (e = t)
}), e || (e = {}, n.push(e)), (a.isString(t) || a.isNumber(t)) && (r = {
sourceType: "tweet",
id: t
}), r.lang = e.lang, e.dataSource = u(r), c.apply(this, n)
}
var i = n(247), o = n(262), s = n(12), a = n(26), u = n(252), c = o([], {}, i);
t.exports = {createVideo: r}
}, function (t, e, n) {
function r() {
var t, e;
for (c = 1, t = 0, e = d.length; t < e; t++) d[t]()
}
var i, o, s, a = n(9), u = n(7), c = 0, d = [], f = !1, l = a.createElement("a");
/^loade|c/.test(a.readyState) && (c = 1), a.addEventListener && a.addEventListener("DOMContentLoaded", o = function () {
a.removeEventListener("DOMContentLoaded", o, f), r()
}, f), l.doScroll && a.attachEvent("onreadystatechange", i = function () {
/^c/.test(a.readyState) && (a.detachEvent("onreadystatechange", i), r())
}), s = l.doScroll ? function (t) {
u.self != u.top ? c ? t() : d.push(t) : !function () {
try {
l.doScroll("left")
} catch (e) {
return setTimeout(function () {
s(t)
}, 50)
}
t()
}()
} : function (t) {
c ? t() : d.push(t)
}, t.exports = s
}, function (t, e, n) {
var r = n(52), i = n(18);
t.exports = function () {
i.set("buildVersion", r.version)
}
}, function (t, e, n) {
n(274), n(238), n(278)
}, function (t, e, n) {
var r = n(275), i = n(239), o = n(277), s = new r;
i.emitter.bind(i.START, function () {
s.start()
}), i.emitter.bind(i.ALL_WIDGETS_RENDERED, function () {
s.end(), o(s.duration(), {action: "render"})
})
}, function (t, e, n) {
function r() {
}
var i = n(276);
r.prototype.start = function () {
this._startTime = i()
}, r.prototype.end = function () {
this._duration = i() - this._startTime
}, r.prototype.duration = function () {
return this._duration
}, t.exports = r
}, function (t, e, n) {
var r = n(7);
t.exports = function () {
return r.performance && r.performance.now ? r.performance.now() : Date.now()
}
}, function (t, e, n) {
var r = n(42), i = n(47), o = n(12);
t.exports = function (t, e) {
var n = {
widget_origin: i.rootDocumentLocation(),
widget_frame: i.isFramed() ? i.currentDocumentLocation() : null,
duration_ms: t
}, s = o.aug(e, {page: "page", component: "performance"});
r.scribe(s, n)
}
}, function (t, e, n) {
function r(t, e, n) {
var r = Object.keys(t).reduce(function (e, r) {
return n(r) ? e + t[r] : e
}, 0);
a(r, {element: e, action: "resource"})
}
function i(t) {
return t.performance.getEntriesByType("resource").filter(function (t) {
return c.isTwimgURL(t.name) || c.isTwitterURL(t.name)
}).reduce(function (t, e) {
return t[e.name] = e.duration, t
}, {})
}
function o(t) {
return t.reduce(function (t, e) {
return f.aug(t, i(e.contentDocument.defaultView))
}, {})
}
var s = n(239), a = n(277), u = n(279), c = n(24), d = n(7), f = n(12), l = n(8), h = n(108);
s.emitter.bind(s.ALL_WIDGETS_AND_IMAGES_LOADED, function (t) {
var e, n, s = [];
l.hasPerformanceInformation() && (e = i(d), h.isSupported() || (s = o(t)), n = f.aug({}, e, s), Object.keys(u).forEach(function (t) {
r(n, t, u[t])
}))
})
}, function (t, e, n) {
var r = n(24), i = {
all: function () {
return !0
}, image: function (t) {
return r.isTwimgURL(t)
}, settings: function (t) {
return r.isSettingsURL(t)
}, widget_iframe: function (t) {
return r.isWidgetIframeURL(t)
}
};
t.exports = i
}])))
}();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment