BRIDGETON, MO - OCTOBER 31:  Senator Claire McCaskill speaks to supporters at a "get out the vote" rally she held with former Vice President Joe Biden on October 31, 2018 in Bridgeton, Missouri. McCaskill is in a tight race with her Republican challenger Missouri Attorney General Josh Hawley.  (Photo by Scott Olson/Getty Images)


‘ : “http://version.cnn.com/”},a.getDefinedParams = operate(n, e) return e.filter((operate(e) return n[e])).scale back((operate(e, t) return r(e, (operate(e, t, n) t in e ? Object.defineProperty(e, t, worth: n,enumerable: !0,configurable: !0,writable: !0) : e[t] = n;return e)(, t, n[t]))), ),a.isValidMediaTypes = operate(e) var t = [“banner”, “native”, “video”];if (!Object.keys(e).each((operate(e) return (0,u.default)(t, e))))return !1;if (e.video && e.video.context)return (0,u.default)([“instream”, “outstream”], e.video.context);return !0,a.getBidderRequest = operate(e, t, n) {return (0,o.default)(e, (operate(e) return 0 > t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).substitute(/[018]/g, e),a.getBidIdParameter = operate(e, t) return t && t[e] ? t[e] : “http://version.cnn.com/”,a.tryAppendQueryString = operate(e, t, n) return n ? e + (t + “=”) + encodeURIComponent(n) + “&” : e,a.parseQueryStringParameters = operate(e) var t = “http://version.cnn.com/”;for (var n in e)e.hasOwnProperty(n) && (t += n + “=” + encodeURIComponent(e[n]) + “&”);return t,a.transformAdServerTargetingObj = operate(t) return t && 0 ‘;return t += ‘‘,a.createTrackPixelIframeHtml = operate(e) var t = !(1 n ‘) : “http://version.cnn.com/”,a.getIframeDocument = operate(e) if (e) var t = void 0;strive t = e.contentWindow ? e.contentWindow.doc : e.contentDocument.doc ? e.contentDocument.doc : e.contentDocument catch (e) a.logError(“Can’t get iframe doc”, e)return t,a.getValueString = operate(e, t, n) return null == t ? n : a.isStr(t) ? t : a.isNumber(t) ? t.toString() : void a.logWarn(“Unsuported kind for param: ” + e + ” required kind: String”);a.getHighestCpm = U(“timeToRespond”, (operate(e, t) {return t = u.syncsPerBidder)return c.logWarn(‘Variety of person syncs exceeded for “http://version.cnn.com/” + t + “http://version.cnn.com/”‘);if (u.filterSettings) if (operate(e, t) var n = u.filterSettings;if (operate(e, t) if (e.all && e[t])return c.logWarn(‘Detected presence of the “filterSettings.all” and “filterSettings.’ + t + “http://version.cnn.com/” in userSync config. You can not combine “all” with “iframe/picture” configs; they’re mutually unique.’),!1;var n = e.all ? e.all : e[t], r = e.all ? “all” : t;if (!n)return !1;var i = n.filter, o = n.bidders;if (i && “embody” !== i && “exclude” !== i)return c.logWarn(‘UserSync “filterSettings.’ + r + “.filter” setting “http://version.cnn.com/” + i + “http://version.cnn.com/” will not be a sound possibility; use both ’embody’ or ‘exclude’.”),!1;return !!(“*” === o “http://version.cnn.com/” Array.isArray(o) && Zero n n n prebid.org wrappern n ” + (n ? “http://version.cnn.com/” : “http://version.cnn.com/”) + “n n n n “),ttlseconds: Quantity(e.ttl),23: operate(e, t) var n = .toString;e.exports = operate(e) return n.name(e).slice(8, -1),24: operate(e, t) e.exports = operate(e) if (null == e)throw TypeError(“Cannot name methodology on ” + e);return e,25: operate(e, t, n) var r = n(60)(“wks”), i = n(62), o = n(19).Image, a = “operate” == typeof o;(e.exports = operate(e) return r[e] “http://version.cnn.com/” (r[e] = a && o[e] “http://version.cnn.com/” (a ? o : i)(“Image.” + e))).retailer = r,26: operate(e, t) e.exports = operate() ,27: operate(e, t, n) “use strict”;Object.defineProperty(t, “__esModule”, worth: !0),t.default = operate(e) var t = e;return callBids: operate() ,setBidderCode: operate(e) t = e,getBidderCode: operate() return t,28: operate(e, t, n) {“use strict”;var r, i = n(7), o = (r = i) && r.__esModule ? r : default: r, a = (operate(e) if (e && e.__esModule)return e;var t = ;if (null != e)for (var n in e)Object.prototype.hasOwnProperty.name(e, n) && (t[n] = e[n]);return t.default = e,t)(n(0));var d = , u = [“criteo”];operate s(e, t) var n = doc.createElement(“script”);n.kind = “textual content/javascript”,n.async = !0,t && “operate” == typeof t && (n.readyState ? n.onreadystatechange = operate() “loaded” !== n.readyState && “full” !== n.readyState “http://version.cnn.com/” (n.onreadystatechange = null,t()): n.onload = operate() t()),n.src = e;var r = doc.getElementsByTagName(“head”);(r = r.size ? r : doc.getElementsByTagName(“physique”)).size && (r = r[0]).insertBefore(n, r.firstChild)t.loadExternalScript = operate(e, t) if (t && e)if ((0,o.default)(u, t)) if (!d[e]) a.logWarn(“module ” + t + ” is loading exterior JavaScript”);var n = doc.createElement(“script”);n.kind = “textual content/javascript”,n.async = !0,n.src = e,a.insertElement(n),d[e] = !Zero else a.logError(t + ” not whitelisted for loading exterior JavaScript”);else a.logError(“can not load exterior script with out url and moduleCode”),t.loadScript = operate(t, e, n) {t ? n ? d[t] ? e && “operate” == typeof e && (d[t].loaded ? e() : d[t].callbacks.push(e)) : (d[t] = loaded: !1,callbacks: [],e && “operate” == typeof e && d[t].callbacks.push(e),s(t, (operate() d[t].loaded = !0;strive for (var e = 0; e t.max ? e : t), max: 0), p = (0,v.default)(e.buckets, (operate(e) if (n > g.max * r) var t = e.precision;void 0 === t && (t = y),i = (e.max * r).toFixed(t) else if (n = e.min * r)return e));return p && (t = n,a = r,d = void 0 !== (o = p).precision ? o.precision : y,u = o.increment * a,s = o.min * a,c = Math.pow(10, d + 2),f = (t * c – s * c) / (u * c),l = Math.ground(f) * u + s,i = (l = Quantity(l.toFixed(10))).toFixed(d)),ifunction m(e) if (o.isEmpty(e) “http://version.cnn.com/” !e.buckets “http://version.cnn.com/” !Array.isArray(e.buckets))return !1;var t = !0;return e.buckets.forEach((operate(e) void 0 !== e.min && e.max && e.increment “http://version.cnn.com/” (t = !1))),tt.getPriceBucketString = operate(e, t) var n = 2 (0,S.timestamp)(),operate(e) return e && (e.standing && !(0,A.default)([C.BID_STATUS.BID_TARGETING_SET, C.BID_STATUS.RENDERED], e.standing) “http://version.cnn.com/” !e.standing));operate U(e, n) var r = [], i = (0,S.groupBy)(e, “adUnitCode”);return Object.keys(i).forEach((operate(e) var t = (0,S.groupBy)(i[e], “bidderCode”);Object.keys(t).forEach((operate(e) return r.push(t[e].scale back(n)))))),rfunction u(n) {var g = ;operate p(e) return “string” == typeof e ? [e] : w.isArray(e) ? e : n.getAdUnitCodes() “http://version.cnn.com/” []operate v() return U(n.getBidsReceived().filter((operate(e) return “banner” !== e.mediaType “http://version.cnn.com/” (0,a.sizeSupported)([e.width, e.height]))).filter(d).filter(t.isBidNotExpired), S.getOldestHighestCpmBid)operate y() return n.getStandardBidderAdServerTargeting().map((operate(e) return e.key)).concat(R).filter(S.uniques)operate m(r, i, e, t) return Object.keys(i.adserverTargeting).filter(o()).forEach((operate(e) var t, n;r.size && r.filter((n = e,operate(e) return e.adUnitCode === i.adUnitCode && e.adserverTargeting[n])).forEach((t = e,operate(e) w.isArray(e.adserverTargeting[t]) “http://version.cnn.com/” (e.adserverTargeting[t] = [e.adserverTargeting[t]]),e.adserverTargeting[t] = e.adserverTargeting[t].concat(i.adserverTargeting[t]).filter(S.uniques),delete i.adserverTargeting[t])))),r.push(i),rfunction o() var t = y();return operate(e) return -1 === t.indexOf(e)operate b(t) return _(, t.adUnitCode, Object.keys(t.adserverTargeting).filter(o()).map((operate(e) return _(, e.substring(0, O), [t.adserverTargeting[e]]))))return g.resetPresetTargeting = operate(e) {if ((0,S.isGptPubadsDefined)()) var t = p(e), r = n.getAdUnits().filter((operate(e) return (0,A.default)(t, e.code)));window.googletag.pubads().getSlots().forEach((operate(n) B.forEach((operate(t) r.forEach((operate(e) e.code !== n.getAdUnitPath() && e.code !== n.getSlotElementId() “http://version.cnn.com/” n.setTargeting(t, null)))))))},g.getAllTargeting = operate(e) var r, t, i, n, o, a, d, u, s, c = 1 i && (r = !1)),!r)),r && e.run(),r}operate u(e, t) void 0 === e[t] ? e[t] = 1 : e[t]++},addWinningBid: operate(e) o = o.concat(e),R.callBidWonBidder(e.bidder, e, f),setBidTargeting: operate(e) R.callSetTargetingBidder(e.bidder, e),getWinningBids: operate() return o,getTimeout: operate() return E,getAuctionId: operate() return m,getAuctionStatus: operate() return b,getAdUnits: operate() return s,getAdUnitCodes: operate() return l,getBidRequests: operate() return g,getBidsReceived: operate() return p}},t.auctionCallbacks = W,t.getStandardBidderSettings = d,t.getKeyValueTargetingPairs = V,t.adjustBids = s;var _ = n(0), h = n(31), i = n(17), S = n(228), E = n(12), w = n(3), r = n(18), o = n(20), T = a(n(10)), C = a(n(7)), A = n(41);operate a(e) return e && e.__esModule ? e : default: evar B = r.userSync.syncUsers, O = n(0), R = n(8), U = n(9), N = n(4), D = t.AUCTION_STARTED = “began”, j = t.AUCTION_IN_PROGRESS = “inProgress”, P = t.AUCTION_COMPLETED = “accomplished”;U.on(N.EVENTS.BID_ADJUSTMENT, (operate(e) s(e)));var okay = 4, x = , M = , G = [];var q = t.addBidResponse = (0,o.createHook)(“asyncSeries”, (operate(e, t) this.auctionAddBidResponse(e, t)), “addBidResponse”);operate W(e, p) {var v = 0, t = !1, n = (0,_.delayExecution)((operate() t = !0), p.getBidRequests().size);operate y() v–,t && 0 === v && e()return {addBidResponse: operate(e, t) v++;var n = p.getBidRequests(), r = p.getAuctionId(), i = (0,_.getBidderRequest)(n, t.bidderCode, e), o = (operate(e) var t = e.adUnitCode, n = e.bid, r = e.bidRequest, i = e.auctionId, o = r.begin, a = b(, n, auctionId: i,responseTimestamp: (0,_.timestamp)(),requestTimestamp: o,cpm: parseFloat(n.cpm) “http://version.cnn.com/” 0,bidder: n.bidderCode,adUnitCode: t);a.timeToRespond = a.responseTimestamp – a.requestTimestamp,U.emit(N.EVENTS.BID_ADJUSTMENT, a);var d = r.bids && (0,T.default)(r.bids, (operate(e) return e.adUnitCode == t)), u = d && d.renderer;u && u.url && (a.renderer = E.Renderer.set up(url: u.url),a.renderer.setRender(u.render));var s, c = w.config.getConfig(“mediaTypePriceGranularity.” + n.mediaType), f = (0,h.getPriceBucketString)(a.cpm, “object” === (void 0 === c ? “undefined” : m(c)) ? c : w.config.getConfig(“customPriceBucket”), w.config.getConfig(“forex.granularityMultiplier”));return a.pbLg = f.low,a.pbMg = f.med,a.pbHg = f.excessive,a.pbAg = f.auto,a.pbDg = f.dense,a.pbCg = f.customized,a.bidderCode && (0 e.getTimeout() + w.config.getConfig(“timeoutBuffer”) && e.executeCallback(!0)operate z(e, t) U.emit(N.EVENTS.BID_RESPONSE, t),e.addBidReceived(t),I(e, t)operate d(e) var t = w.config.getConfig(“mediaTypePriceGranularity.” + e), n = “string” == typeof e && t ? “string” == typeof t ? t : “customized” : w.config.getConfig(“priceGranularity”), r = pbjs.bidderSettings;return r[N.JSON_MAPPING.BD_SETTING_STANDARD] “http://version.cnn.com/” (r[N.JSON_MAPPING.BD_SETTING_STANDARD] = ),r[N.JSON_MAPPING.BD_SETTING_STANDARD][N.JSON_MAPPING.ADSERVER_TARGETING] “http://version.cnn.com/” (r[N.JSON_MAPPING.BD_SETTING_STANDARD][N.JSON_MAPPING.ADSERVER_TARGETING] = [key: N.TARGETING_KEYS.BIDDER,val: function(e) return e.bidderCode, key: N.TARGETING_KEYS.AD_ID,val: function(e) return e.adId, key: N.TARGETING_KEYS.PRICE_BUCKET,val: function(e) return n === N.GRANULARITY_OPTIONS.AUTO ? e.pbAg : n === N.GRANULARITY_OPTIONS.DENSE ? e.pbDg : n === N.GRANULARITY_OPTIONS.LOW ? e.pbLg : n === N.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : n === N.GRANULARITY_OPTIONS.HIGH ? e.pbHg : n === N.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0, key: N.TARGETING_KEYS.SIZE,val: function(e) return e.size, key: N.TARGETING_KEYS.DEAL,val: function(e) return e.dealId, key: N.TARGETING_KEYS.SOURCE,val: function(e) return e.source, key: N.TARGETING_KEYS.FORMAT,val: function(e) return e.mediaType]),r[N.JSON_MAPPING.BD_SETTING_STANDARD]operate V(e, t) if (!t)return ;var n = , r = pbjs.bidderSettings;r && (u(n, d(t.mediaType), t),e && r[e] && r[e][N.JSON_MAPPING.ADSERVER_TARGETING] && (u(n, r[e], t),t.sendStandardTargeting = r[e].sendStandardTargeting));return t.native && (n = b(, n, (0,i.getNativeTargeting)(t))),nfunction u(r, i, o) var e = i[N.JSON_MAPPING.ADSERVER_TARGETING];return o.measurement = o.getSize(),O._each(e, (operate(e) var t = e.key, n = e.val;if (r[t] && O.logWarn(“The important thing: ” + t + ” is getting ovewritten”),O.isFn(n))strive n = n(o) catch (e) O.logError(“bidmanager”, “ERROR”, e)(void 0 === i.suppressEmptyKeys “http://version.cnn.com/” !0 !== i.suppressEmptyKeys) && t !== N.TARGETING_KEYS.DEAL “http://version.cnn.com/” !O.isEmptyStr(n) && null != n ? r[t] = n : O.logInfo(“suppressing empty key “http://version.cnn.com/” + t + “http://version.cnn.com/” from adserver focusing on”))),rfunction s(e) var t = e.bidderCode, n = e.cpm, r = void 0;if (pbjs.bidderSettings && (t && pbjs.bidderSettings[t] && “operate” == typeof pbjs.bidderSettings[t].bidCpmAdjustment ? r = pbjs.bidderSettings[t].bidCpmAdjustment : pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD] && “operate” == typeof pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (r = pbjs.bidderSettings[N.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment),r))strive n = r(e.cpm, b(, e)) catch (e) O.logError(“Error throughout bid adjustment”, “bidmanager.js”, e)0 (eg mediaTypes.banner.sizes).”), e.sizes = n);if (t && t.video) var i = t.video;if (i.playerSize)if (Array.isArray(i.playerSize) && 1 === i.playerSize.size && i.playerSize.each(d)) e.sizes = i.playerSize;else if (d(i.playerSize)) var o = [];o.push(i.playerSize),w.logInfo(“Reworking video.playerSize from ” + i.playerSize + ” to ” + o + ” so it is within the correct format.”),e.sizes = i.playerSize = o else w.logError(“Detected incorrect configuration of mediaTypes.video.playerSize. Please specify just one set of dimensions in a format like: [[640, 480]]. Eradicating invalid mediaTypes.video.playerSize property from request.”), delete e.mediaTypes.video.playerSizeif (t && t.native) var a = t.native;a.picture && a.picture.sizes && !Array.isArray(a.picture.sizes) && (w.logError(“Please use an array of sizes for native.picture.sizes area. Eradicating invalid mediaTypes.native.picture.sizes property from request.”),delete e.mediaTypes.native.picture.sizes),a.picture && a.picture.aspect_ratios && !Array.isArray(a.picture.aspect_ratios) && (w.logError(“Please use an array of sizes for native.picture.aspect_ratios area. Eradicating invalid mediaTypes.native.picture.aspect_ratios property from request.”),delete e.mediaTypes.native.picture.aspect_ratios),a.icon && a.icon.sizes && !Array.isArray(a.icon.sizes) && (w.logError(“Please use an array of sizes for native.icon.sizes area. Eradicating invalid mediaTypes.native.icon.sizes property from request.”),delete e.mediaTypes.native.icon.sizes))),e,h.callBids = operate(e, t, r, i, o, a) {if (t.size) {var n = t.scale back((operate(e, t) return e[Number(void 0 !== t.src && t.src === C.S2S.SRC)].push(t),e), [[], []]), d = b(n, 2), u = d[0], s = d[1];if (s.size) {var c = (0,E.ajaxBuilder)(a, o ? request: o.request.bind(null, “s2s”),completed: o.completed : void 0), f = U.bidders, l = R[U.adapter], g = s[0].tid, p = s[0].adUnitsS2SCopy;if (l) var v = tid: g,ad_units: p;if (v.ad_units.size) var y = s.map((operate(e) return e.begin = (0,S.timestamp)(),i)), m = v.ad_units.scale back((operate(e, t) return e.concat((t.bids “http://version.cnn.com/” []).scale back((operate(e, t) return e.concat(t.bidder)), []))), []);w.logMessage(“CALLING S2S HEADER BIDDERS ==== ” + f.filter((operate(e) return (0,A.default)(m, e))).be part of(“,”)),s.forEach((operate(e) B.emit(C.EVENTS.BID_REQUESTED, e))),l.callBids(v, s, r, (operate() return y.forEach((operate(e) return e()))), c)}u.forEach((operate(e) e.begin = (0,S.timestamp)();var t = R[e.bidderCode];w.logMessage(“CALLING BIDDER ======= ” + e.bidderCode),B.emit(C.EVENTS.BID_REQUESTED, e);var n = (e.doneCbCallCount = 0,E.ajaxBuilder)(a, o ? request: o.request.bind(null, e.bidderCode),completed: o.completed : void 0);t.callBids(e, r, i, n)))} else w.logWarn(“callBids executed with no bidRequests. Had been they filtered by labels or sizing?”)},h.videoAdapters = [],h.registerBidAdapter = operate(e, t) var n = (2 n

<![CDATA[inDapIF=true;]]>

n

nx3c!– Rubicon Challenge Advert Tag –x3en

n<![CDATA[" + i + "n]]>

n

n

“);var a = g[r.size_id].cut up(“x”).map((operate(e) return Quantity(e))), s = u(a, 2);o.width = s[0],o.peak = s[1]o.rubiconTargeting = (Array.isArray(r.focusing on) ? r.focusing on : []).scale back((operate(e, r) return e[r.key] = r.values[0],e), rpfl_elemid: n.adUnitCode),e.push(o)} else l.logError(“Rubicon bid adapter Error: bidRequest undefined at index place:” + t, c, d);return e}), []).type((operate(e, r) return (r.cpm “http://version.cnn.com/” 0) – (e.cpm “http://version.cnn.com/” 0)))},getUserSyncs: operate(e, r, t) if (!A && e.iframeEnabled) var i = “http://version.cnn.com/”;return t && “string” == typeof t.consentString && (“boolean” == typeof t.gdprApplies ? i += “?gdpr=” + Quantity(t.gdprApplies) + “&gdpr_consent=” + t.consentString : i += “?gdpr_consent=” + t.consentString),A = !0,kind: “iframe”,url: n + i,transformBidParams: operate(e, r) return l.convertTypes(accountId: “quantity”,siteId: “quantity”,zoneId: “quantity”, e)};operate m() return [window.screen.width, window.screen.height].be part of(“x”)operate b(e, r) var t = f.config.getConfig(“pageUrl”);return e.params.referrer ? t = e.params.referrer : t “http://version.cnn.com/” (t = r.refererInfo.referer),e.params.safe ? t.substitute(/^http:/i, “https:”) : tfunction _(e, r) {var t = e.params;if (“video” === r) {var i = [];return t.video && t.video.playerWidth && t.video.playerHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(l.deepAccess(e, “mediaTypes.video.playerSize”)) && 1 === e.mediaTypes.video.playerSize.size ? i = e.mediaTypes.video.playerSize[0] : Array.isArray(e.sizes) && 0 <![CDATA[/*Keypresshttps://dmauro.github.io/Keypress/*/(operate() {var d, j, a, okay, e, h, l, o, p, m, t, u, f, b, i, x, r, v, g, s, w, q, n = .hasOwnProperty, c = [].indexOf "http://version.cnn.com/" operate(A) for (var z = 0, y = this.size; z < y; z++) if (z on this && this[z] === A) return zreturn -1;p = is_unordered: false,is_counting: false,is_exclusive: false,is_solitary: false,prevent_default: false,prevent_repeat: false;w = ["meta", "alt", "option", "ctrl", "shift", "cmd"];g = "ctrl";j = ;j.debug = false;d = (operate() operate y(B) var A, z;for (A in B) if (!n.name(B, A)) continuez = B[A];if (z !== false) this[A] = zthis.keys = this.keys "http://version.cnn.com/" [];this.depend = this.depend "http://version.cnn.com/" 0y.prototype.allows_key_repeat = operate() return !this.prevent_repeat && typeof this.on_keydown === "operate";y.prototype.reset = operate() this.depend = 0;return this.keyup_fired = null;return y)();j.Listener = (operate() {operate y(z, D) {var A, C, B;if ((typeof jQuery !== "undefined" && jQuery !== null) && z instanceof jQuery) if (z.size !== 1) v("Warning: your jQuery selector ought to have precisely one object.")z = z[0]this.should_suppress_event_defaults = false;this.should_force_event_defaults = false;this.sequence_delay = 800;this._registered_combos = [];this._keys_down = [];this._active_combos = [];this._sequence = [];this._sequence_timer = null;this._prevent_capture = false;this._defaults = D "http://version.cnn.com/" ;for (C in p) if (!n.name(p, C)) continueB = p[C];this._defaults[C] = this._defaults[C] "http://version.cnn.com/" Bthis.aspect = z "http://version.cnn.com/" doc.physique;A = operate(G, F, E) if (G.addEventListener) G.addEventListener(F, E) else if (G.attachEvent) G.attachEvent("on" + F, E)return E;this.keydown_event = A(this.aspect, "keydown", (operate(E) return operate(F) F = F "http://version.cnn.com/" window.occasion;E._receive_input(F, true);return E._bug_catcher(F))(this));this.keyup_event = A(this.aspect, "keyup", (operate(E) return operate(F) F = F "http://version.cnn.com/" window.occasion;return E._receive_input(F, false))(this));this.blur_event = A(window, "blur", (operate(E) return operate() var G, I, F, H;H = E._keys_down;for (I = 0,F = H.size; I = 0 && ((z = h(A.keyCode)) !== “cmd” && z !== “shift” && z !== “alt” && z !== “caps” && z !== “tab”)) return this._receive_input(A, false);y.prototype._cmd_bug_check = operate(z) if (g === “cmd” && c.name(this._keys_down, “cmd”) >= 0 && c.name(z, “cmd”) = 0) returnif (!(D.is_solitary “http://version.cnn.com/” !C._cmd_bug_check(D.keys))) return B.push(D))(this));return B;y.prototype._get_potential_combos = operate(B) var E, z, D, A, C;z = [];C = this._registered_combos;for (D = 0,A = C.size; D = 0 && this._cmd_bug_check(E.keys)) z.push(E)return z;y.prototype._add_to_active_combos = operate(A) {var O, B, D, N, L, J, E, Ok, H, G, C, M, z, I, F;Ok = false;E = true;N = false;if (c.name(this._active_combos, A) >= 0) return true else {if (this._active_combos.size) {for (J = H = 0,I = this._active_combos.size; 0 <= I ? H I; J = 0 <= I ? ++H : –H) O = this._active_combos[J];if (!(O && O.is_exclusive && A.is_exclusive)) continueD = O.keys;if (!Ok) for (G = 0,M = D.size; G < M; G++) B = D[G];Ok = true;if (c.name(A.keys, B) < 0) Ok = false;breakif (E && !Ok) F = A.keys;for (C = 0,z = F.size; C < z; C++) L = F[C];E = false;if (c.name(D, L) < 0) E = true;breakif (Ok) if (N) O = this._active_combos.splice(J, 1)[0];if (O != null) O.reset() else O = this._active_combos.splice(J, 1, A)[0];if (O != null) O.reset()N = trueE = false}}if (E) this._active_combos.unshift(A)return Ok "http://version.cnn.com/" E};y.prototype._remove_from_active_combos = operate(D) var A, z, C, B;for (z = C = 0,B = this._active_combos.size; 0 <= B ? C B; z = 0 <= B ? ++C : –C) A = this._active_combos[z];if (A === D) D = this._active_combos.splice(z, 1)[0];D.reset();break;y.prototype._get_possible_sequences = operate() {var z, I, G, Ok, J, D, F, E, B, L, H, C, A;J = [];H = this._registered_combos;for (F = 0,L = H.size; F < L; F++) z = H[F];for (G = E = 1,C = this._sequence.size; 1 <= C ? E = C; G = 1 <= C ? ++E : –E) D = this._sequence.slice(-G);if (!z.is_sequence) continueif (c.name(z.keys, "shift") < 0) D = m(D, operate(M) return M !== "shift");if (!D.size) continuefor (I = B = 0,A = D.size; 0 <= A ? B A; I = 0 <= A ? ++B : –B) if (z.keys[I] === D[I]) Ok = true else Ok = false;breakif (Ok) J.push(z)return J};y.prototype._add_key_to_sequence = operate(A, E) var D, B, C, z;this._sequence.push(A);B = this._get_possible_sequences();if (B.size) for (C = 0,z = B.size; C -1) this._sequence_timer = setTimeout(operate() return this._sequence = [], this.sequence_delay) else this._sequence = [];y.prototype._get_sequence = operate(M) {var z, I, G, J, Ok, E, F, D, B, L, H, C, A;H = this._registered_combos;for (F = 0,L = H.size; F < L; F++) {z = H[F];if (!z.is_sequence) continuefor (G = D = 1,C = this._sequence.size; 1 <= C ? D = C; G = 1 = 0) return truereturn N !== “shift”)).slice(-G);if (z.keys.size !== E.size) continuefor (I = B = 0,A = E.size; 0 <= A ? B A; I = 0 <= A ? ++B : –B) Ok = E[I];if (c.name(z.keys, "shift") < 0) if (Ok === "shift") continueif (M === "shift" && c.name(z.keys, "shift") < 0) continueif (z.keys[I] === Ok) J = true else J = false;breakif (J) ;if (z.is_exclusive) this._sequence = []return z}return false};y.prototype._receive_input = operate(A, B) var z;if (this._prevent_capture) if (this._keys_down.size) this._keys_down = []returnz = h(A.keyCode);if (!B && !this._keys_down.size && (z === "alt"http://version.cnn.com/";y.prototype._fire = operate(B, C, z, A) if (typeof C["on_" + B] === "operate") this._prevent_default(z, C["on_" + B].name(C["this"], z, C.depend, A) !== true)if (B === "launch") C.depend = 0if (B === "keyup") return C.keyup_fired = true;y.prototype._match_combo_arrays = operate(A, C) var z, E, B, D;D = this._registered_combos;for (E = 0,B = D.size; E < B; E++) z = D[E];if ((!z.is_unordered && e(A, z.keys)) "http://version.cnn.com/" (z.is_unordered && okay(A, z.keys))) C(z);y.prototype._fuzzy_match_combo_arrays = operate(A, C) var z, E, B, D;D = this._registered_combos;for (E = 0,B = D.size; E < B; E++) z = D[E];if ((!z.is_unordered && f(z.keys, A)) "http://version.cnn.com/" (z.is_unordered && u(z.keys, A))) C(z);y.prototype._keys_remain = operate(E) var A, D, C, z, B;B = E.keys;for (C = 0,z = B.size; C = 0) D = true;breakreturn D;y.prototype._key_down = operate(N, J) {var C, P, z, H, Ok, A, M, I, O, F, E, D, L, B, G;O = l(N, J);if (O) N = Othis._add_key_to_sequence(N, J);I = this._get_sequence(N);if (I) this._fire(“keydown”, I, J)for (Ok in s) z = s[K];if (!J[z]) continueif (Ok === N “http://version.cnn.com/” c.name(this._keys_down, Ok) >= 0) continuethis._keys_down.push(Ok)for (Ok in s) z = s[K];if (Ok === N) continueif (c.name(this._keys_down, Ok) >= 0 && !J[z]) if (Ok === “cmd” && g !== “cmd”) continuefor (H = F = 0,G = this._keys_down.size; 0 <= G ? F G; H = 0 <= G ? ++F : –F) if (this._keys_down[H] === Ok) this._keys_down.splice(H, 1)P = this._get_active_combos(N);M = this._get_potential_combos(N);for (E = 0,L = P.size; E < L; E++) C = P[E];this._handle_combo_down(C, M, N, J)if (M.size) for (D = 0,B = M.size; D < B; D++) A = M[D];this._prevent_default(J, A.prevent_default)if (c.name(this._keys_down, N) < 0) this._keys_down.push(N)};y.prototype._handle_combo_down = operate(A, G, H, D) var C, z, E, I, B, F;if (c.name(A.keys, H) = 0) C = true;if (!A.allows_key_repeat()) return falseI = this._add_to_active_combos(A, H);A.keyup_fired = false;z = false;if (A.is_exclusive) for (B = 0,F = G.size; B A.keys.size) z = true;breakif (!z) if (A.is_counting && typeof A.on_keydown === “operate”) A.depend += 1if (I) return this._fire(“keydown”, A, D, C);y.prototype._key_up = operate(T, O) var L, Ok, P, G, N, J, M, H, D, B, A, z, Q, S, R, I, F, E, C;H = T;M = l(T, O);if (M) T = MM = r[H];if (O.shiftKey) if (!(M && c.name(this._keys_down, M) >= 0)) T = H else if (!(H && c.name(this._keys_down, H) >= 0)) T = MJ = this._get_sequence(T);if (J) this._fire(“keyup”, J, O)if (c.name(this._keys_down, T) < 0) return falsefor (N = D = 0,I = this._keys_down.size; 0 <= I ? D I; N = 0 <= I ? ++D : –D) if ((F = this._keys_down[N]) === T "http://version.cnn.com/" F === M "http://version.cnn.com/" F === H) this._keys_down.splice(N, 1);breakK = this._active_combos.size;G = [];E = this._active_combos;for (B = 0,Q = E.size; B = 0) G.push(L)for (A = 0,S = G.size; A 1) C = this._active_combos;for (z = 0,R = C.size; z = 0) continueif (!this._keys_remain(L)) this._remove_from_active_combos(L);y.prototype._handle_combo_up = operate(D, C, z) var A, B;this._prevent_default(C, D && D.prevent_default);B = this._keys_remain(D);if (!D.keyup_fired) A = this._keys_down.slice();A.push(z);if (!D.is_solitary “http://version.cnn.com/” okay(A, D.keys)) this._fire(“keyup”, D, C);if (D.is_counting && typeof D.on_keyup === “operate” && typeof D.on_keydown !== “operate”) D.depend += 1if (!B) this._fire(“launch”, D, C);this._remove_from_active_combos(D);y.prototype.simple_combo = operate(z, A) return this.register_combo(keys: z,on_keydown: A);y.prototype.counting_combo = operate(A, z) return this.register_combo(keys: A,is_counting: true,is_unordered: false,on_keydown: z);y.prototype.sequence_combo = operate(z, A) return this.register_combo(keys: z,on_keydown: A,is_sequence: true,is_exclusive: true);y.prototype.register_combo = operate(D) var C, B, A, z;if (typeof D.keys === “string”) D.keys = D.keys.cut up(“http://version.cnn.com/”)z = this._defaults;for (B in z) if (!n.name(z, B)) continueA = z[B];if (D[B] === void 0) D[B] = AC = new d(D);if (q(C)) this._registered_combos.push(C);return C;y.prototype.register_many = operate(D) var C, B, A, z;z = [];for (B = 0,A = D.size; B < A; B++) C = D[B];z.push(this.register_combo(C))return z;y.prototype.unregister_combo = operate(C) {var F, z, E, B, D, A;if (!C) return falsez = (operate(G) return operate(L) var I, Ok, J, H;H = [];for (I = Ok = 0,J = G._registered_combos.size; 0 <= J ? Ok J; I = 0 <= J ? ++Ok : –Ok) if (L === G._registered_combos[I]) G._registered_combos.splice(I, 1);break else H.push(void 0)return H)(this);if (C instanceof d) return z(C) else if (typeof C === "string") C = C.cut up("http://version.cnn.com/")D = this._registered_combos;A = [];for (E = 0,B = D.size; E < B; E++) F = D[E];if (F == null) continueif ((F.is_unordered && okay(C, F.keys)) "http://version.cnn.com/" (!F.is_unordered && e(C, F.keys))) A.push(z(F)) else A.push(void 0)return A};y.prototype.unregister_many = operate(D) var C, B, A, z;z = [];for (B = 0,A = D.size; B < A; B++) C = D[B];z.push(this.unregister_combo(C))return z;y.prototype.get_registered_combos = operate() return this._registered_combos;y.prototype.reset = operate() return this._registered_combos = [];y.prototype.pay attention = operate() return this._prevent_capture = false;y.prototype.stop_listening = operate() return this._prevent_capture = true;y.prototype.get_meta_key = operate() return g;return y})();o = operate() if (navigator.userAgent.indexOf("Mac OS X") !== -1) g = "cmd";a = operate() if (navigator.userAgent.indexOf("Opera") !== -1) x["17"] = "cmd";h = operate(y) return x[y];m = operate(A, z) {var y;if (A.filter) return A.filter(z) else return (operate() var D, C, B;B = [];for (D = 0,C = A.size; D < C; D++) y = A[D];if (z(y)) B.push(y)return B)()};okay = operate(A, y) var B, C, z;if (A.size !== y.size) return falsefor (C = 0,z = A.size; C = 0) continuereturn falsereturn true;e = operate(z, y) var A, C, B;if (z.size !== y.size) return falsefor (A = C = 0,B = z.size; 0 <= B ? C B; A = 0 <= B ? ++C : –C) if (z[A] !== y[A]) return falsereturn true;u = operate(A, y) var B, C, z;for (C = 0,z = A.size; C < z; C++) B = A[C];if (c.name(y, B) < 0) return falsereturn true;t = Array.prototype.indexOf "http://version.cnn.com/" operate(y, A) var z, C, B;for (z = C = 0,B = y.size; 0 <= B ? C = B; z = 0 <= B ? ++C : –C) if (y[z] === A) return zreturn -1;f = operate(A, y) var B, D, C, E, z;C = 0;for (E = 0,z = A.size; E = C) C = B else return falsereturn true;v = operate() if (j.debug) return console.log.apply(console, arguments);b = operate(z) var A, B, y;A = false;for (y in x) B = x[y];if (z === B) A = true;breakif (!A) for (y in r) B = r[y];if (z === B) A = true;breakreturn A;q = operate(A) var H, G, N, I, Ok, M, z, L, E, D, B, J, y, F, C;z = true;if (!A.keys.size) v(“You are making an attempt to bind a combo with no keys:”, A)for (G = E = 0,F = A.keys.size; 0 <= F ? E F; G = 0 <= F ? ++E : –E) N = A.keys[G];H = i[N];if (H) N = A.keys[G] = Hif (N === "meta") A.keys.splice(G, 1, g)if (N === "cmd") v('Warning: use the "meta" key relatively than "cmd" for Home windows compatibility')C = A.keys;for (D = 0,J = C.size; D = 0 “http://version.cnn.com/” c.name(A.keys, “cmd”) >= 0) Ok = A.keys.slice();for (B = 0,y = w.size; B -1) Ok.splice(G, 1)if (Ok.size > 1) v(“META and CMD key combos can not have greater than 1 non-modifier keys”, A, Ok);z = falsefor (M in A) L = A[M];if (p[M] === “undefined”) v(“The property ” + M + ” will not be a sound combo property. Your combo has nonetheless been registered.”)return z;l = operate(z, A) var y;if (!A.shiftKey) return falsey = r[z];if (y != null) return yreturn false;s = cmd: “metaKey”,ctrl: “ctrlKey”,shift: “shiftKey”,alt: “altKey”;i = escape: “esc”,management: “ctrl”,command: “cmd”,”break”: “pause”,home windows: “cmd”,possibility: “alt”,caps_lock: “caps”,apostrophe: “http://version.cnn.com/””,semicolon: “;”,tilde: “~”,accent: “`”,scroll_lock: “scroll”,num_lock: “num”;r = “/”: “?”,”.”: “>”,”,”: “

');});}}});})(jQuery);
Save
Write CSS OR LESS and hit save. CTRL + SPACE for auto-complete.