Merge branch 'master' of /home/git/concurrency-benchmarks
[c11concurrency-benchmarks.git] / jsbench-2013.1 / twitter / chrome-win / rem.js
diff --git a/jsbench-2013.1/twitter/chrome-win/rem.js b/jsbench-2013.1/twitter/chrome-win/rem.js
new file mode 100644 (file)
index 0000000..a5215ec
--- /dev/null
@@ -0,0 +1,26341 @@
+/* Replayable replacements for global functions */
+
+/***************************************************************
+ * BEGIN STABLE.JS
+ **************************************************************/
+//! stable.js 0.1.3, https://github.com/Two-Screen/stable
+//! © 2012 Stéphan Kochen, Angry Bytes. MIT licensed.
+(function() {
+
+// A stable array sort, because `Array#sort()` is not guaranteed stable.
+// This is an implementation of merge sort, without recursion.
+
+var stable = function(arr, comp) {
+    if (typeof(comp) !== 'function') {
+        comp = function(a, b) {
+            a = String(a);
+            b = String(b);
+            if (a < b) return -1;
+            if (a > b) return 1;
+            return 0;
+        };
+    }
+
+    var len = arr.length;
+
+    if (len <= 1) return arr;
+
+    // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
+    // Chunks are the size of the left or right hand in merge sort.
+    // Stop when the left-hand covers all of the array.
+    var oarr = arr;
+    for (var chk = 1; chk < len; chk *= 2) {
+        arr = pass(arr, comp, chk);
+    }
+    for (var i = 0; i < len; i++) {
+        oarr[i] = arr[i];
+    }
+    return oarr;
+};
+
+// Run a single pass with the given chunk size. Returns a new array.
+var pass = function(arr, comp, chk) {
+    var len = arr.length;
+    // Output, and position.
+    var result = new Array(len);
+    var i = 0;
+    // Step size / double chunk size.
+    var dbl = chk * 2;
+    // Bounds of the left and right chunks.
+    var l, r, e;
+    // Iterators over the left and right chunk.
+    var li, ri;
+
+    // Iterate over pairs of chunks.
+    for (l = 0; l < len; l += dbl) {
+        r = l + chk;
+        e = r + chk;
+        if (r > len) r = len;
+        if (e > len) e = len;
+
+        // Iterate both chunks in parallel.
+        li = l;
+        ri = r;
+        while (true) {
+            // Compare the chunks.
+            if (li < r && ri < e) {
+                // This works for a regular `sort()` compatible comparator,
+                // but also for a simple comparator like: `a > b`
+                if (comp(arr[li], arr[ri]) <= 0) {
+                    result[i++] = arr[li++];
+                }
+                else {
+                    result[i++] = arr[ri++];
+                }
+            }
+            // Nothing to compare, just flush what's left.
+            else if (li < r) {
+                result[i++] = arr[li++];
+            }
+            else if (ri < e) {
+                result[i++] = arr[ri++];
+            }
+            // Both iterators are at the chunk ends.
+            else {
+                break;
+            }
+        }
+    }
+
+    return result;
+};
+
+var arrsort = function(comp) {
+    return stable(this, comp);
+};
+
+if (Object.defineProperty) {
+    Object.defineProperty(Array.prototype, "sort", {
+        configurable: true, writable: true, enumerable: false,
+        value: arrsort
+    });
+} else {
+    Array.prototype.sort = arrsort;
+}
+
+})();
+/***************************************************************
+ * END STABLE.JS
+ **************************************************************/
+
+/*
+ * In a generated replay, this file is partially common, boilerplate code
+ * included in every replay, and partially generated replay code. The following
+ * header applies to the boilerplate code. A comment indicating "Auto-generated
+ * below this comment" marks the separation between these two parts.
+ *
+ * Copyright (C) 2011, 2012 Purdue University
+ * Written by Gregor Richards
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+(function() {
+    // global eval alias
+    var geval = eval;
+
+    // detect if we're in a browser or not
+    var inbrowser = false;
+    var inharness = false;
+    var finished = false;
+    if (typeof window !== "undefined" && "document" in window) {
+        inbrowser = true;
+        if (window.parent && "JSBNG_handleResult" in window.parent) {
+            inharness = true;
+        }
+    } else if (typeof global !== "undefined") {
+        window = global;
+        window.top = window;
+    } else {
+        window = (function() { return this; })();
+        window.top = window;
+    }
+
+    if ("console" in window) {
+        window.JSBNG_Console = window.console;
+    }
+
+    var callpath = [];
+
+    // global state
+    var JSBNG_Replay = window.top.JSBNG_Replay = {
+        push: function(arr, fun) {
+            arr.push(fun);
+            return fun;
+        },
+
+        path: function(str) {
+            verifyPath(str);
+        },
+
+        forInKeys: function(of) {
+            var keys = [];
+            for (var k in of)
+                keys.push(k);
+            return keys.sort();
+        }
+    };
+
+    // the actual replay runner
+    function onload() {
+        try {
+            delete window.onload;
+        } catch (ex) {}
+
+        var jr = JSBNG_Replay$;
+        var cb = function() {
+            var end = new Date().getTime();
+            finished = true;
+
+            var msg = "Time: " + (end - st) + "ms";
+    
+            if (inharness) {
+                window.parent.JSBNG_handleResult({error:false, time:(end - st)});
+            } else if (inbrowser) {
+                var res = document.createElement("div");
+    
+                res.style.position = "fixed";
+                res.style.left = "1em";
+                res.style.top = "1em";
+                res.style.width = "35em";
+                res.style.height = "5em";
+                res.style.padding = "1em";
+                res.style.backgroundColor = "white";
+                res.style.color = "black";
+                res.appendChild(document.createTextNode(msg));
+    
+                document.body.appendChild(res);
+            } else if (typeof console !== "undefined") {
+                console.log(msg);
+            } else if (typeof print !== "undefined") {
+                // hopefully not the browser print() function :)
+                print(msg);
+            }
+        };
+
+        // force it to JIT
+        jr(false);
+
+        // then time it
+        var st = new Date().getTime();
+        while (jr !== null) {
+            jr = jr(true, cb);
+        }
+    }
+
+    // add a frame at replay time
+    function iframe(pageid) {
+        var iw;
+        if (inbrowser) {
+            // represent the iframe as an iframe (of course)
+            var iframe = document.createElement("iframe");
+            iframe.style.display = "none";
+            document.body.appendChild(iframe);
+            iw = iframe.contentWindow;
+            iw.document.write("<script type=\"text/javascript\">var JSBNG_Replay_geval = eval;</script>");
+            iw.document.close();
+        } else {
+            // no general way, just lie and do horrible things
+            var topwin = window;
+            (function() {
+                var window = {};
+                window.window = window;
+                window.top = topwin;
+                window.JSBNG_Replay_geval = function(str) {
+                    eval(str);
+                }
+                iw = window;
+            })();
+        }
+        return iw;
+    }
+
+    // called at the end of the replay stuff
+    function finalize() {
+        if (inbrowser) {
+            setTimeout(onload, 0);
+        } else {
+            onload();
+        }
+    }
+
+    // verify this recorded value and this replayed value are close enough
+    function verify(rep, rec) {
+        if (rec !== rep &&
+            (rep === rep || rec === rec) /* NaN test */) {
+            // FIXME?
+            if (typeof rec === "function" && typeof rep === "function") {
+                return true;
+            }
+            if (typeof rec !== "object" || rec === null ||
+                !(("__JSBNG_unknown_" + typeof(rep)) in rec)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    // general message
+    var firstMessage = true;
+    function replayMessage(msg) {
+        if (inbrowser) {
+            if (firstMessage)
+                document.open();
+            firstMessage = false;
+            document.write(msg);
+        } else {
+            console.log(msg);
+        }
+    }
+
+    // complain when there's an error
+    function verificationError(msg) {
+        if (finished) return;
+        if (inharness) {
+            window.parent.JSBNG_handleResult({error:true, msg: msg});
+        } else replayMessage(msg);
+        throw new Error();
+    }
+
+    // to verify a set
+    function verifySet(objstr, obj, prop, gvalstr, gval) {
+        if (/^on/.test(prop)) {
+            // these aren't instrumented compatibly
+            return;
+        }
+
+        if (!verify(obj[prop], gval)) {
+            var bval = obj[prop];
+            var msg = "Verification failure! " + objstr + "." + prop + " is not " + gvalstr + ", it's " + bval + "!";
+            verificationError(msg);
+        }
+    }
+
+    // to verify a call or new
+    function verifyCall(iscall, func, cthis, cargs) {
+        var ok = true;
+        var callArgs = func.callArgs[func.inst];
+        iscall = iscall ? 1 : 0;
+        if (cargs.length !== callArgs.length - 1) {
+            ok = false;
+        } else {
+            if (iscall && !verify(cthis, callArgs[0])) ok = false;
+            for (var i = 0; i < cargs.length; i++) {
+                if (!verify(cargs[i], callArgs[i+1])) ok = false;
+            }
+        }
+        if (!ok) {
+            var msg = "Call verification failure!";
+            verificationError(msg);
+        }
+
+        return func.returns[func.inst++];
+    }
+
+    // to verify the callpath
+    function verifyPath(func) {
+        var real = callpath.shift();
+        if (real !== func) {
+            var msg = "Call path verification failure! Expected " + real + ", found " + func;
+            verificationError(msg);
+        }
+    }
+
+    // figure out how to define getters
+    var defineGetter;
+    if (Object.defineProperty) {
+        var odp = Object.defineProperty;
+        defineGetter = function(obj, prop, getter, setter) {
+            if (typeof setter === "undefined") setter = function(){};
+            odp(obj, prop, {"enumerable": true, "configurable": true, "get": getter, "set": setter});
+        };
+    } else if (Object.prototype.__defineGetter__) {
+        var opdg = Object.prototype.__defineGetter__;
+        var opds = Object.prototype.__defineSetter__;
+        defineGetter = function(obj, prop, getter, setter) {
+            if (typeof setter === "undefined") setter = function(){};
+            opdg.call(obj, prop, getter);
+            opds.call(obj, prop, setter);
+        };
+    } else {
+        defineGetter = function() {
+            verificationError("This replay requires getters for correct behavior, and your JS engine appears to be incapable of defining getters. Sorry!");
+        };
+    }
+
+    var defineRegetter = function(obj, prop, getter, setter) {
+        defineGetter(obj, prop, function() {
+            return getter.call(this, prop);
+        }, function(val) {
+            // once it's set by the client, it's claimed
+            setter.call(this, prop, val);
+            Object.defineProperty(obj, prop, {
+                "enumerable": true, "configurable": true, "writable": true,
+                "value": val
+            });
+        });
+    }
+
+    // for calling events
+    var fpc = Function.prototype.call;
+
+// resist the urge, don't put a })(); here!
+/******************************************************************************
+ * Auto-generated below this comment
+ *****************************************************************************/
+var ow508011038 = window;
+var f508011038_0;
+var o0;
+var o1;
+var o2;
+var f508011038_4;
+var f508011038_5;
+var f508011038_6;
+var f508011038_7;
+var f508011038_8;
+var o3;
+var f508011038_10;
+var f508011038_11;
+var f508011038_12;
+var f508011038_13;
+var f508011038_14;
+var f508011038_15;
+var f508011038_16;
+var f508011038_17;
+var o4;
+var o5;
+var f508011038_29;
+var f508011038_30;
+var f508011038_31;
+var f508011038_32;
+var f508011038_33;
+var f508011038_34;
+var f508011038_35;
+var f508011038_36;
+var f508011038_37;
+var f508011038_38;
+var f508011038_39;
+var f508011038_40;
+var f508011038_41;
+var f508011038_42;
+var f508011038_43;
+var f508011038_44;
+var o6;
+var f508011038_46;
+var f508011038_47;
+var f508011038_49;
+var f508011038_51;
+var f508011038_53;
+var f508011038_54;
+var o7;
+var f508011038_57;
+var f508011038_59;
+var f508011038_60;
+var f508011038_61;
+var f508011038_62;
+var f508011038_63;
+var f508011038_64;
+var f508011038_65;
+var f508011038_66;
+var f508011038_67;
+var f508011038_68;
+var f508011038_69;
+var f508011038_70;
+var f508011038_71;
+var f508011038_72;
+var f508011038_73;
+var f508011038_74;
+var f508011038_75;
+var f508011038_76;
+var f508011038_77;
+var f508011038_78;
+var f508011038_79;
+var f508011038_80;
+var f508011038_81;
+var f508011038_82;
+var f508011038_83;
+var f508011038_84;
+var f508011038_85;
+var f508011038_86;
+var f508011038_87;
+var f508011038_88;
+var f508011038_89;
+var f508011038_90;
+var f508011038_91;
+var f508011038_92;
+var f508011038_93;
+var f508011038_94;
+var f508011038_95;
+var f508011038_96;
+var f508011038_97;
+var f508011038_98;
+var f508011038_99;
+var f508011038_100;
+var f508011038_101;
+var f508011038_102;
+var f508011038_103;
+var f508011038_104;
+var f508011038_105;
+var f508011038_106;
+var f508011038_107;
+var f508011038_108;
+var f508011038_109;
+var f508011038_110;
+var f508011038_111;
+var f508011038_112;
+var f508011038_113;
+var f508011038_114;
+var f508011038_115;
+var f508011038_116;
+var f508011038_117;
+var f508011038_118;
+var f508011038_119;
+var f508011038_120;
+var f508011038_121;
+var f508011038_122;
+var f508011038_123;
+var f508011038_124;
+var f508011038_125;
+var f508011038_126;
+var f508011038_127;
+var f508011038_128;
+var f508011038_129;
+var f508011038_130;
+var f508011038_131;
+var f508011038_132;
+var f508011038_133;
+var f508011038_134;
+var f508011038_135;
+var f508011038_136;
+var f508011038_137;
+var f508011038_138;
+var f508011038_139;
+var f508011038_140;
+var f508011038_141;
+var f508011038_142;
+var f508011038_143;
+var f508011038_144;
+var f508011038_145;
+var f508011038_146;
+var f508011038_147;
+var f508011038_148;
+var f508011038_149;
+var f508011038_150;
+var f508011038_151;
+var f508011038_152;
+var f508011038_153;
+var f508011038_154;
+var f508011038_155;
+var f508011038_156;
+var f508011038_157;
+var f508011038_158;
+var f508011038_159;
+var f508011038_160;
+var f508011038_161;
+var f508011038_162;
+var f508011038_163;
+var f508011038_164;
+var f508011038_165;
+var f508011038_166;
+var f508011038_167;
+var f508011038_168;
+var f508011038_169;
+var f508011038_170;
+var f508011038_171;
+var f508011038_172;
+var f508011038_173;
+var f508011038_174;
+var f508011038_175;
+var f508011038_176;
+var f508011038_177;
+var f508011038_178;
+var f508011038_179;
+var f508011038_180;
+var f508011038_181;
+var f508011038_182;
+var f508011038_183;
+var f508011038_184;
+var f508011038_185;
+var f508011038_186;
+var f508011038_187;
+var f508011038_188;
+var f508011038_189;
+var f508011038_190;
+var f508011038_191;
+var f508011038_192;
+var f508011038_193;
+var f508011038_194;
+var f508011038_195;
+var f508011038_196;
+var f508011038_197;
+var f508011038_198;
+var f508011038_199;
+var f508011038_200;
+var f508011038_201;
+var f508011038_202;
+var f508011038_203;
+var f508011038_204;
+var f508011038_205;
+var f508011038_206;
+var f508011038_207;
+var f508011038_208;
+var f508011038_209;
+var f508011038_210;
+var f508011038_211;
+var f508011038_212;
+var f508011038_213;
+var f508011038_214;
+var f508011038_215;
+var f508011038_216;
+var f508011038_217;
+var f508011038_218;
+var f508011038_219;
+var f508011038_220;
+var f508011038_221;
+var f508011038_222;
+var f508011038_223;
+var f508011038_224;
+var f508011038_225;
+var f508011038_226;
+var f508011038_227;
+var f508011038_228;
+var f508011038_229;
+var f508011038_230;
+var f508011038_231;
+var f508011038_232;
+var f508011038_233;
+var f508011038_234;
+var f508011038_235;
+var f508011038_236;
+var f508011038_237;
+var f508011038_238;
+var f508011038_239;
+var f508011038_240;
+var f508011038_241;
+var f508011038_242;
+var f508011038_243;
+var f508011038_244;
+var f508011038_245;
+var f508011038_246;
+var f508011038_247;
+var f508011038_248;
+var f508011038_249;
+var f508011038_250;
+var f508011038_251;
+var f508011038_252;
+var f508011038_253;
+var f508011038_254;
+var f508011038_255;
+var f508011038_256;
+var f508011038_257;
+var f508011038_258;
+var f508011038_259;
+var f508011038_260;
+var f508011038_261;
+var f508011038_262;
+var f508011038_263;
+var f508011038_264;
+var f508011038_265;
+var f508011038_266;
+var f508011038_267;
+var f508011038_268;
+var f508011038_269;
+var f508011038_270;
+var f508011038_271;
+var f508011038_272;
+var f508011038_273;
+var f508011038_274;
+var f508011038_275;
+var f508011038_276;
+var f508011038_277;
+var f508011038_278;
+var f508011038_279;
+var f508011038_280;
+var f508011038_281;
+var f508011038_282;
+var f508011038_283;
+var f508011038_284;
+var f508011038_285;
+var f508011038_286;
+var f508011038_287;
+var f508011038_288;
+var f508011038_289;
+var f508011038_290;
+var f508011038_291;
+var f508011038_292;
+var f508011038_293;
+var f508011038_294;
+var f508011038_295;
+var f508011038_296;
+var f508011038_297;
+var f508011038_298;
+var f508011038_299;
+var f508011038_300;
+var f508011038_301;
+var f508011038_302;
+var f508011038_303;
+var f508011038_304;
+var f508011038_305;
+var f508011038_306;
+var f508011038_307;
+var f508011038_308;
+var f508011038_309;
+var f508011038_310;
+var f508011038_311;
+var f508011038_312;
+var f508011038_313;
+var f508011038_314;
+var f508011038_315;
+var f508011038_316;
+var f508011038_317;
+var f508011038_318;
+var f508011038_319;
+var f508011038_320;
+var f508011038_321;
+var f508011038_322;
+var f508011038_323;
+var f508011038_324;
+var f508011038_325;
+var f508011038_326;
+var f508011038_327;
+var f508011038_328;
+var f508011038_329;
+var f508011038_330;
+var f508011038_331;
+var f508011038_332;
+var f508011038_333;
+var f508011038_334;
+var f508011038_335;
+var f508011038_336;
+var f508011038_337;
+var f508011038_338;
+var f508011038_339;
+var f508011038_340;
+var f508011038_341;
+var f508011038_342;
+var f508011038_343;
+var f508011038_344;
+var f508011038_345;
+var f508011038_346;
+var f508011038_347;
+var f508011038_348;
+var f508011038_349;
+var f508011038_350;
+var f508011038_351;
+var f508011038_352;
+var f508011038_353;
+var f508011038_354;
+var f508011038_355;
+var f508011038_356;
+var f508011038_357;
+var f508011038_358;
+var f508011038_359;
+var f508011038_360;
+var f508011038_361;
+var f508011038_362;
+var f508011038_363;
+var f508011038_364;
+var f508011038_365;
+var f508011038_366;
+var f508011038_367;
+var f508011038_368;
+var f508011038_369;
+var f508011038_370;
+var f508011038_371;
+var f508011038_372;
+var f508011038_373;
+var f508011038_374;
+var f508011038_375;
+var f508011038_376;
+var f508011038_377;
+var f508011038_378;
+var f508011038_379;
+var f508011038_380;
+var f508011038_381;
+var f508011038_382;
+var f508011038_383;
+var f508011038_384;
+var f508011038_385;
+var f508011038_386;
+var f508011038_387;
+var f508011038_388;
+var f508011038_389;
+var f508011038_390;
+var f508011038_391;
+var f508011038_392;
+var f508011038_393;
+var f508011038_394;
+var f508011038_395;
+var f508011038_396;
+var f508011038_397;
+var f508011038_398;
+var f508011038_399;
+var f508011038_400;
+var f508011038_401;
+var f508011038_402;
+var f508011038_403;
+var f508011038_404;
+var f508011038_405;
+var f508011038_406;
+var f508011038_407;
+var f508011038_408;
+var f508011038_409;
+var f508011038_410;
+var f508011038_411;
+var f508011038_412;
+var f508011038_413;
+var f508011038_414;
+var f508011038_415;
+var f508011038_416;
+var f508011038_417;
+var f508011038_418;
+var f508011038_419;
+var f508011038_420;
+var f508011038_421;
+var f508011038_422;
+var f508011038_423;
+var f508011038_424;
+var f508011038_425;
+var f508011038_426;
+var f508011038_428;
+var f508011038_429;
+var f508011038_430;
+var f508011038_431;
+var f508011038_432;
+var f508011038_433;
+var f508011038_434;
+var f508011038_435;
+var f508011038_436;
+var f508011038_437;
+var f508011038_438;
+var f508011038_439;
+var f508011038_440;
+var f508011038_441;
+var f508011038_442;
+var f508011038_443;
+var f508011038_444;
+var f508011038_445;
+var f508011038_446;
+var f508011038_447;
+var f508011038_448;
+var f508011038_449;
+var f508011038_450;
+var f508011038_451;
+var f508011038_452;
+var f508011038_453;
+var f508011038_454;
+var f508011038_455;
+var f508011038_456;
+var f508011038_457;
+var f508011038_458;
+var f508011038_459;
+var f508011038_460;
+var f508011038_461;
+var f508011038_462;
+var f508011038_463;
+var f508011038_464;
+var f508011038_466;
+var f508011038_468;
+var f508011038_469;
+var f508011038_470;
+var o8;
+var f508011038_472;
+var f508011038_473;
+var o9;
+var o10;
+var o11;
+var f508011038_478;
+var o12;
+var o13;
+var o14;
+var f508011038_488;
+var f508011038_492;
+var f508011038_497;
+var f508011038_498;
+var f508011038_500;
+var f508011038_508;
+var f508011038_513;
+var f508011038_515;
+var f508011038_518;
+var f508011038_522;
+var f508011038_523;
+var f508011038_524;
+var f508011038_525;
+var f508011038_527;
+var f508011038_537;
+var f508011038_540;
+var f508011038_542;
+var f508011038_543;
+var f508011038_544;
+var f508011038_546;
+var f508011038_558;
+var f508011038_575;
+var fow508011038_JSBNG__event;
+var f508011038_742;
+var f508011038_743;
+var fo508011038_1_jQuery18305379572303500026;
+var f508011038_2581;
+var fo508011038_2585_jQuery18305379572303500026;
+var fo508011038_2587_jQuery18305379572303500026;
+var fo508011038_2599_offsetWidth;
+var f508011038_2628;
+JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4 = [];
+// 1
+// record generated by JSBench 323eb38c39a6+ at 2013-07-24T20:12:32.177Z
+// 2
+// 3
+f508011038_0 = function() { return f508011038_0.returns[f508011038_0.inst++]; };
+f508011038_0.returns = [];
+f508011038_0.inst = 0;
+// 4
+ow508011038.JSBNG__Date = f508011038_0;
+// 5
+o0 = {};
+// 6
+ow508011038.JSBNG__document = o0;
+// 7
+o1 = {};
+// 8
+ow508011038.JSBNG__sessionStorage = o1;
+// 9
+o2 = {};
+// 10
+ow508011038.JSBNG__localStorage = o2;
+// 11
+f508011038_4 = function() { return f508011038_4.returns[f508011038_4.inst++]; };
+f508011038_4.returns = [];
+f508011038_4.inst = 0;
+// 12
+ow508011038.JSBNG__getComputedStyle = f508011038_4;
+// 13
+f508011038_5 = function() { return f508011038_5.returns[f508011038_5.inst++]; };
+f508011038_5.returns = [];
+f508011038_5.inst = 0;
+// 14
+ow508011038.JSBNG__dispatchEvent = f508011038_5;
+// 15
+f508011038_6 = function() { return f508011038_6.returns[f508011038_6.inst++]; };
+f508011038_6.returns = [];
+f508011038_6.inst = 0;
+// 16
+ow508011038.JSBNG__removeEventListener = f508011038_6;
+// 17
+f508011038_7 = function() { return f508011038_7.returns[f508011038_7.inst++]; };
+f508011038_7.returns = [];
+f508011038_7.inst = 0;
+// 18
+ow508011038.JSBNG__addEventListener = f508011038_7;
+// 19
+ow508011038.JSBNG__top = ow508011038;
+// 20
+f508011038_8 = function() { return f508011038_8.returns[f508011038_8.inst++]; };
+f508011038_8.returns = [];
+f508011038_8.inst = 0;
+// 21
+ow508011038.JSBNG__getSelection = f508011038_8;
+// 22
+o3 = {};
+// 23
+ow508011038.JSBNG__scrollbars = o3;
+// undefined
+o3 = null;
+// 24
+ow508011038.JSBNG__scrollX = 0;
+// 25
+ow508011038.JSBNG__scrollY = 0;
+// 26
+f508011038_10 = function() { return f508011038_10.returns[f508011038_10.inst++]; };
+f508011038_10.returns = [];
+f508011038_10.inst = 0;
+// 27
+ow508011038.JSBNG__scrollTo = f508011038_10;
+// 28
+f508011038_11 = function() { return f508011038_11.returns[f508011038_11.inst++]; };
+f508011038_11.returns = [];
+f508011038_11.inst = 0;
+// 29
+ow508011038.JSBNG__scrollBy = f508011038_11;
+// 30
+f508011038_12 = function() { return f508011038_12.returns[f508011038_12.inst++]; };
+f508011038_12.returns = [];
+f508011038_12.inst = 0;
+// 31
+ow508011038.JSBNG__setTimeout = f508011038_12;
+// 32
+f508011038_13 = function() { return f508011038_13.returns[f508011038_13.inst++]; };
+f508011038_13.returns = [];
+f508011038_13.inst = 0;
+// 33
+ow508011038.JSBNG__setInterval = f508011038_13;
+// 34
+f508011038_14 = function() { return f508011038_14.returns[f508011038_14.inst++]; };
+f508011038_14.returns = [];
+f508011038_14.inst = 0;
+// 35
+ow508011038.JSBNG__clearTimeout = f508011038_14;
+// 36
+f508011038_15 = function() { return f508011038_15.returns[f508011038_15.inst++]; };
+f508011038_15.returns = [];
+f508011038_15.inst = 0;
+// 37
+ow508011038.JSBNG__clearInterval = f508011038_15;
+// 38
+f508011038_16 = function() { return f508011038_16.returns[f508011038_16.inst++]; };
+f508011038_16.returns = [];
+f508011038_16.inst = 0;
+// 39
+ow508011038.JSBNG__captureEvents = f508011038_16;
+// 40
+f508011038_17 = function() { return f508011038_17.returns[f508011038_17.inst++]; };
+f508011038_17.returns = [];
+f508011038_17.inst = 0;
+// 41
+ow508011038.JSBNG__releaseEvents = f508011038_17;
+// 42
+ow508011038.JSBNG__frames = ow508011038;
+// 43
+o3 = {};
+// 44
+ow508011038.JSBNG__applicationCache = o3;
+// undefined
+o3 = null;
+// 45
+ow508011038.JSBNG__self = ow508011038;
+// 46
+o3 = {};
+// 47
+ow508011038.JSBNG__navigator = o3;
+// 48
+o4 = {};
+// 49
+ow508011038.JSBNG__screen = o4;
+// undefined
+o4 = null;
+// 50
+o4 = {};
+// 51
+ow508011038.JSBNG__history = o4;
+// 52
+o5 = {};
+// 53
+ow508011038.JSBNG__menubar = o5;
+// undefined
+o5 = null;
+// 54
+o5 = {};
+// 55
+ow508011038.JSBNG__toolbar = o5;
+// undefined
+o5 = null;
+// 56
+o5 = {};
+// 57
+ow508011038.JSBNG__locationbar = o5;
+// undefined
+o5 = null;
+// 58
+o5 = {};
+// 59
+ow508011038.JSBNG__personalbar = o5;
+// undefined
+o5 = null;
+// 60
+o5 = {};
+// 61
+ow508011038.JSBNG__statusbar = o5;
+// undefined
+o5 = null;
+// 62
+ow508011038.JSBNG__closed = false;
+// 63
+o5 = {};
+// 64
+ow508011038.JSBNG__crypto = o5;
+// undefined
+o5 = null;
+// 65
+ow508011038.JSBNG__opener = null;
+// 66
+ow508011038.JSBNG__defaultStatus = "";
+// 67
+o5 = {};
+// 68
+ow508011038.JSBNG__location = o5;
+// 69
+ow508011038.JSBNG__innerWidth = 1034;
+// 70
+ow508011038.JSBNG__innerHeight = 727;
+// 71
+ow508011038.JSBNG__outerWidth = 1050;
+// 72
+ow508011038.JSBNG__outerHeight = 840;
+// 73
+ow508011038.JSBNG__screenX = 60;
+// 74
+ow508011038.JSBNG__screenY = 60;
+// 75
+ow508011038.JSBNG__pageXOffset = 0;
+// 76
+ow508011038.JSBNG__pageYOffset = 0;
+// 77
+f508011038_29 = function() { return f508011038_29.returns[f508011038_29.inst++]; };
+f508011038_29.returns = [];
+f508011038_29.inst = 0;
+// 78
+ow508011038.JSBNG__alert = f508011038_29;
+// 79
+f508011038_30 = function() { return f508011038_30.returns[f508011038_30.inst++]; };
+f508011038_30.returns = [];
+f508011038_30.inst = 0;
+// 80
+ow508011038.JSBNG__confirm = f508011038_30;
+// 81
+f508011038_31 = function() { return f508011038_31.returns[f508011038_31.inst++]; };
+f508011038_31.returns = [];
+f508011038_31.inst = 0;
+// 82
+ow508011038.JSBNG__prompt = f508011038_31;
+// 83
+f508011038_32 = function() { return f508011038_32.returns[f508011038_32.inst++]; };
+f508011038_32.returns = [];
+f508011038_32.inst = 0;
+// 84
+ow508011038.JSBNG__stop = f508011038_32;
+// 85
+f508011038_33 = function() { return f508011038_33.returns[f508011038_33.inst++]; };
+f508011038_33.returns = [];
+f508011038_33.inst = 0;
+// 86
+ow508011038.JSBNG__print = f508011038_33;
+// 87
+f508011038_34 = function() { return f508011038_34.returns[f508011038_34.inst++]; };
+f508011038_34.returns = [];
+f508011038_34.inst = 0;
+// 88
+ow508011038.JSBNG__moveTo = f508011038_34;
+// 89
+f508011038_35 = function() { return f508011038_35.returns[f508011038_35.inst++]; };
+f508011038_35.returns = [];
+f508011038_35.inst = 0;
+// 90
+ow508011038.JSBNG__moveBy = f508011038_35;
+// 91
+f508011038_36 = function() { return f508011038_36.returns[f508011038_36.inst++]; };
+f508011038_36.returns = [];
+f508011038_36.inst = 0;
+// 92
+ow508011038.JSBNG__resizeTo = f508011038_36;
+// 93
+f508011038_37 = function() { return f508011038_37.returns[f508011038_37.inst++]; };
+f508011038_37.returns = [];
+f508011038_37.inst = 0;
+// 94
+ow508011038.JSBNG__resizeBy = f508011038_37;
+// 95
+f508011038_38 = function() { return f508011038_38.returns[f508011038_38.inst++]; };
+f508011038_38.returns = [];
+f508011038_38.inst = 0;
+// 96
+ow508011038.JSBNG__scroll = f508011038_38;
+// 97
+f508011038_39 = function() { return f508011038_39.returns[f508011038_39.inst++]; };
+f508011038_39.returns = [];
+f508011038_39.inst = 0;
+// 98
+ow508011038.JSBNG__atob = f508011038_39;
+// 99
+f508011038_40 = function() { return f508011038_40.returns[f508011038_40.inst++]; };
+f508011038_40.returns = [];
+f508011038_40.inst = 0;
+// 100
+ow508011038.JSBNG__btoa = f508011038_40;
+// 101
+ow508011038.JSBNG__frameElement = null;
+// 102
+f508011038_41 = function() { return f508011038_41.returns[f508011038_41.inst++]; };
+f508011038_41.returns = [];
+f508011038_41.inst = 0;
+// 103
+ow508011038.JSBNG__showModalDialog = f508011038_41;
+// 104
+f508011038_42 = function() { return f508011038_42.returns[f508011038_42.inst++]; };
+f508011038_42.returns = [];
+f508011038_42.inst = 0;
+// 105
+ow508011038.JSBNG__postMessage = f508011038_42;
+// 106
+f508011038_43 = function() { return f508011038_43.returns[f508011038_43.inst++]; };
+f508011038_43.returns = [];
+f508011038_43.inst = 0;
+// 107
+ow508011038.JSBNG__webkitAudioContext = f508011038_43;
+// 108
+f508011038_44 = function() { return f508011038_44.returns[f508011038_44.inst++]; };
+f508011038_44.returns = [];
+f508011038_44.inst = 0;
+// 109
+ow508011038.JSBNG__webkitAudioPannerNode = f508011038_44;
+// 110
+o6 = {};
+// 111
+ow508011038.JSBNG__webkitStorageInfo = o6;
+// undefined
+o6 = null;
+// 112
+f508011038_46 = function() { return f508011038_46.returns[f508011038_46.inst++]; };
+f508011038_46.returns = [];
+f508011038_46.inst = 0;
+// 113
+ow508011038.JSBNG__webkitRequestFileSystem = f508011038_46;
+// 114
+f508011038_47 = function() { return f508011038_47.returns[f508011038_47.inst++]; };
+f508011038_47.returns = [];
+f508011038_47.inst = 0;
+// 115
+ow508011038.JSBNG__webkitResolveLocalFileSystemURL = f508011038_47;
+// 116
+o6 = {};
+// 117
+ow508011038.JSBNG__external = o6;
+// undefined
+o6 = null;
+// 118
+f508011038_49 = function() { return f508011038_49.returns[f508011038_49.inst++]; };
+f508011038_49.returns = [];
+f508011038_49.inst = 0;
+// 119
+ow508011038.JSBNG__webkitIDBTransaction = f508011038_49;
+// 120
+o6 = {};
+// 121
+ow508011038.JSBNG__webkitNotifications = o6;
+// undefined
+o6 = null;
+// 122
+f508011038_51 = function() { return f508011038_51.returns[f508011038_51.inst++]; };
+f508011038_51.returns = [];
+f508011038_51.inst = 0;
+// 123
+ow508011038.JSBNG__webkitIDBIndex = f508011038_51;
+// 124
+o6 = {};
+// 125
+ow508011038.JSBNG__webkitIndexedDB = o6;
+// 126
+ow508011038.JSBNG__screenLeft = 60;
+// 127
+f508011038_53 = function() { return f508011038_53.returns[f508011038_53.inst++]; };
+f508011038_53.returns = [];
+f508011038_53.inst = 0;
+// 128
+ow508011038.JSBNG__webkitIDBFactory = f508011038_53;
+// 129
+ow508011038.JSBNG__clientInformation = o3;
+// 130
+f508011038_54 = function() { return f508011038_54.returns[f508011038_54.inst++]; };
+f508011038_54.returns = [];
+f508011038_54.inst = 0;
+// 131
+ow508011038.JSBNG__webkitIDBCursor = f508011038_54;
+// 132
+ow508011038.JSBNG__defaultstatus = "";
+// 133
+o7 = {};
+// 134
+ow508011038.JSBNG__styleMedia = o7;
+// undefined
+o7 = null;
+// 135
+o7 = {};
+// 136
+ow508011038.JSBNG__performance = o7;
+// undefined
+o7 = null;
+// 137
+f508011038_57 = function() { return f508011038_57.returns[f508011038_57.inst++]; };
+f508011038_57.returns = [];
+f508011038_57.inst = 0;
+// 138
+ow508011038.JSBNG__webkitIDBDatabase = f508011038_57;
+// 139
+o7 = {};
+// 140
+ow508011038.JSBNG__console = o7;
+// 141
+f508011038_59 = function() { return f508011038_59.returns[f508011038_59.inst++]; };
+f508011038_59.returns = [];
+f508011038_59.inst = 0;
+// 142
+ow508011038.JSBNG__webkitIDBRequest = f508011038_59;
+// 143
+f508011038_60 = function() { return f508011038_60.returns[f508011038_60.inst++]; };
+f508011038_60.returns = [];
+f508011038_60.inst = 0;
+// 144
+ow508011038.JSBNG__webkitIDBObjectStore = f508011038_60;
+// 145
+ow508011038.JSBNG__devicePixelRatio = 1;
+// 146
+f508011038_61 = function() { return f508011038_61.returns[f508011038_61.inst++]; };
+f508011038_61.returns = [];
+f508011038_61.inst = 0;
+// 147
+ow508011038.JSBNG__webkitURL = f508011038_61;
+// 148
+f508011038_62 = function() { return f508011038_62.returns[f508011038_62.inst++]; };
+f508011038_62.returns = [];
+f508011038_62.inst = 0;
+// 149
+ow508011038.JSBNG__webkitIDBKeyRange = f508011038_62;
+// 150
+ow508011038.JSBNG__offscreenBuffering = true;
+// 151
+ow508011038.JSBNG__screenTop = 60;
+// 152
+f508011038_63 = function() { return f508011038_63.returns[f508011038_63.inst++]; };
+f508011038_63.returns = [];
+f508011038_63.inst = 0;
+// 153
+ow508011038.JSBNG__matchMedia = f508011038_63;
+// 154
+f508011038_64 = function() { return f508011038_64.returns[f508011038_64.inst++]; };
+f508011038_64.returns = [];
+f508011038_64.inst = 0;
+// 155
+ow508011038.JSBNG__webkitRequestAnimationFrame = f508011038_64;
+// 156
+f508011038_65 = function() { return f508011038_65.returns[f508011038_65.inst++]; };
+f508011038_65.returns = [];
+f508011038_65.inst = 0;
+// 157
+ow508011038.JSBNG__webkitCancelRequestAnimationFrame = f508011038_65;
+// 158
+f508011038_66 = function() { return f508011038_66.returns[f508011038_66.inst++]; };
+f508011038_66.returns = [];
+f508011038_66.inst = 0;
+// 159
+ow508011038.JSBNG__getMatchedCSSRules = f508011038_66;
+// 160
+f508011038_67 = function() { return f508011038_67.returns[f508011038_67.inst++]; };
+f508011038_67.returns = [];
+f508011038_67.inst = 0;
+// 161
+ow508011038.JSBNG__webkitConvertPointFromPageToNode = f508011038_67;
+// 162
+f508011038_68 = function() { return f508011038_68.returns[f508011038_68.inst++]; };
+f508011038_68.returns = [];
+f508011038_68.inst = 0;
+// 163
+ow508011038.JSBNG__webkitConvertPointFromNodeToPage = f508011038_68;
+// 164
+f508011038_69 = function() { return f508011038_69.returns[f508011038_69.inst++]; };
+f508011038_69.returns = [];
+f508011038_69.inst = 0;
+// 165
+ow508011038.JSBNG__openDatabase = f508011038_69;
+// 166
+f508011038_70 = function() { return f508011038_70.returns[f508011038_70.inst++]; };
+f508011038_70.returns = [];
+f508011038_70.inst = 0;
+// 167
+ow508011038.JSBNG__XMLHttpRequest = f508011038_70;
+// 168
+f508011038_71 = function() { return f508011038_71.returns[f508011038_71.inst++]; };
+f508011038_71.returns = [];
+f508011038_71.inst = 0;
+// 169
+ow508011038.JSBNG__Image = f508011038_71;
+// 170
+ow508011038.JSBNG__URL = f508011038_61;
+// 171
+ow508011038.JSBNG__name = "";
+// 172
+f508011038_72 = function() { return f508011038_72.returns[f508011038_72.inst++]; };
+f508011038_72.returns = [];
+f508011038_72.inst = 0;
+// 173
+ow508011038.JSBNG__focus = f508011038_72;
+// 174
+f508011038_73 = function() { return f508011038_73.returns[f508011038_73.inst++]; };
+f508011038_73.returns = [];
+f508011038_73.inst = 0;
+// 175
+ow508011038.JSBNG__blur = f508011038_73;
+// 176
+f508011038_74 = function() { return f508011038_74.returns[f508011038_74.inst++]; };
+f508011038_74.returns = [];
+f508011038_74.inst = 0;
+// 177
+ow508011038.JSBNG__find = f508011038_74;
+// 178
+ow508011038.JSBNG__status = "";
+// 179
+f508011038_75 = function() { return f508011038_75.returns[f508011038_75.inst++]; };
+f508011038_75.returns = [];
+f508011038_75.inst = 0;
+// 180
+ow508011038.JSBNG__Float64Array = f508011038_75;
+// 181
+f508011038_76 = function() { return f508011038_76.returns[f508011038_76.inst++]; };
+f508011038_76.returns = [];
+f508011038_76.inst = 0;
+// 182
+ow508011038.JSBNG__SVGMPathElement = f508011038_76;
+// 183
+f508011038_77 = function() { return f508011038_77.returns[f508011038_77.inst++]; };
+f508011038_77.returns = [];
+f508011038_77.inst = 0;
+// 184
+ow508011038.JSBNG__SVGGlyphRefElement = f508011038_77;
+// 185
+f508011038_78 = function() { return f508011038_78.returns[f508011038_78.inst++]; };
+f508011038_78.returns = [];
+f508011038_78.inst = 0;
+// 186
+ow508011038.JSBNG__SVGAltGlyphDefElement = f508011038_78;
+// 187
+f508011038_79 = function() { return f508011038_79.returns[f508011038_79.inst++]; };
+f508011038_79.returns = [];
+f508011038_79.inst = 0;
+// 188
+ow508011038.JSBNG__CloseEvent = f508011038_79;
+// 189
+f508011038_80 = function() { return f508011038_80.returns[f508011038_80.inst++]; };
+f508011038_80.returns = [];
+f508011038_80.inst = 0;
+// 190
+ow508011038.JSBNG__SVGAnimateMotionElement = f508011038_80;
+// 191
+f508011038_81 = function() { return f508011038_81.returns[f508011038_81.inst++]; };
+f508011038_81.returns = [];
+f508011038_81.inst = 0;
+// 192
+ow508011038.JSBNG__SVGAltGlyphItemElement = f508011038_81;
+// 193
+f508011038_82 = function() { return f508011038_82.returns[f508011038_82.inst++]; };
+f508011038_82.returns = [];
+f508011038_82.inst = 0;
+// 194
+ow508011038.JSBNG__SVGFEDropShadowElement = f508011038_82;
+// 195
+f508011038_83 = function() { return f508011038_83.returns[f508011038_83.inst++]; };
+f508011038_83.returns = [];
+f508011038_83.inst = 0;
+// 196
+ow508011038.JSBNG__SVGPathSegLinetoVerticalRel = f508011038_83;
+// 197
+f508011038_84 = function() { return f508011038_84.returns[f508011038_84.inst++]; };
+f508011038_84.returns = [];
+f508011038_84.inst = 0;
+// 198
+ow508011038.JSBNG__SVGFESpotLightElement = f508011038_84;
+// 199
+f508011038_85 = function() { return f508011038_85.returns[f508011038_85.inst++]; };
+f508011038_85.returns = [];
+f508011038_85.inst = 0;
+// 200
+ow508011038.JSBNG__HTMLButtonElement = f508011038_85;
+// 201
+f508011038_86 = function() { return f508011038_86.returns[f508011038_86.inst++]; };
+f508011038_86.returns = [];
+f508011038_86.inst = 0;
+// 202
+ow508011038.JSBNG__Worker = f508011038_86;
+// 203
+f508011038_87 = function() { return f508011038_87.returns[f508011038_87.inst++]; };
+f508011038_87.returns = [];
+f508011038_87.inst = 0;
+// 204
+ow508011038.JSBNG__EntityReference = f508011038_87;
+// 205
+f508011038_88 = function() { return f508011038_88.returns[f508011038_88.inst++]; };
+f508011038_88.returns = [];
+f508011038_88.inst = 0;
+// 206
+ow508011038.JSBNG__NodeList = f508011038_88;
+// 207
+f508011038_89 = function() { return f508011038_89.returns[f508011038_89.inst++]; };
+f508011038_89.returns = [];
+f508011038_89.inst = 0;
+// 208
+ow508011038.JSBNG__SVGAnimatedNumber = f508011038_89;
+// 209
+f508011038_90 = function() { return f508011038_90.returns[f508011038_90.inst++]; };
+f508011038_90.returns = [];
+f508011038_90.inst = 0;
+// 210
+ow508011038.JSBNG__SVGTSpanElement = f508011038_90;
+// 211
+f508011038_91 = function() { return f508011038_91.returns[f508011038_91.inst++]; };
+f508011038_91.returns = [];
+f508011038_91.inst = 0;
+// 212
+ow508011038.JSBNG__MimeTypeArray = f508011038_91;
+// 213
+f508011038_92 = function() { return f508011038_92.returns[f508011038_92.inst++]; };
+f508011038_92.returns = [];
+f508011038_92.inst = 0;
+// 214
+ow508011038.JSBNG__SVGPoint = f508011038_92;
+// 215
+f508011038_93 = function() { return f508011038_93.returns[f508011038_93.inst++]; };
+f508011038_93.returns = [];
+f508011038_93.inst = 0;
+// 216
+ow508011038.JSBNG__SVGScriptElement = f508011038_93;
+// 217
+f508011038_94 = function() { return f508011038_94.returns[f508011038_94.inst++]; };
+f508011038_94.returns = [];
+f508011038_94.inst = 0;
+// 218
+ow508011038.JSBNG__OverflowEvent = f508011038_94;
+// 219
+f508011038_95 = function() { return f508011038_95.returns[f508011038_95.inst++]; };
+f508011038_95.returns = [];
+f508011038_95.inst = 0;
+// 220
+ow508011038.JSBNG__HTMLTableColElement = f508011038_95;
+// 221
+f508011038_96 = function() { return f508011038_96.returns[f508011038_96.inst++]; };
+f508011038_96.returns = [];
+f508011038_96.inst = 0;
+// 222
+ow508011038.JSBNG__HTMLOptionElement = f508011038_96;
+// 223
+f508011038_97 = function() { return f508011038_97.returns[f508011038_97.inst++]; };
+f508011038_97.returns = [];
+f508011038_97.inst = 0;
+// 224
+ow508011038.JSBNG__HTMLInputElement = f508011038_97;
+// 225
+f508011038_98 = function() { return f508011038_98.returns[f508011038_98.inst++]; };
+f508011038_98.returns = [];
+f508011038_98.inst = 0;
+// 226
+ow508011038.JSBNG__SVGFEPointLightElement = f508011038_98;
+// 227
+f508011038_99 = function() { return f508011038_99.returns[f508011038_99.inst++]; };
+f508011038_99.returns = [];
+f508011038_99.inst = 0;
+// 228
+ow508011038.JSBNG__SVGPathSegList = f508011038_99;
+// 229
+f508011038_100 = function() { return f508011038_100.returns[f508011038_100.inst++]; };
+f508011038_100.returns = [];
+f508011038_100.inst = 0;
+// 230
+ow508011038.JSBNG__SVGImageElement = f508011038_100;
+// 231
+f508011038_101 = function() { return f508011038_101.returns[f508011038_101.inst++]; };
+f508011038_101.returns = [];
+f508011038_101.inst = 0;
+// 232
+ow508011038.JSBNG__MutationEvent = f508011038_101;
+// 233
+f508011038_102 = function() { return f508011038_102.returns[f508011038_102.inst++]; };
+f508011038_102.returns = [];
+f508011038_102.inst = 0;
+// 234
+ow508011038.JSBNG__SVGMarkerElement = f508011038_102;
+// 235
+f508011038_103 = function() { return f508011038_103.returns[f508011038_103.inst++]; };
+f508011038_103.returns = [];
+f508011038_103.inst = 0;
+// 236
+ow508011038.JSBNG__HTMLMetaElement = f508011038_103;
+// 237
+f508011038_104 = function() { return f508011038_104.returns[f508011038_104.inst++]; };
+f508011038_104.returns = [];
+f508011038_104.inst = 0;
+// 238
+ow508011038.JSBNG__WebKitCSSTransformValue = f508011038_104;
+// 239
+f508011038_105 = function() { return f508011038_105.returns[f508011038_105.inst++]; };
+f508011038_105.returns = [];
+f508011038_105.inst = 0;
+// 240
+ow508011038.JSBNG__Clipboard = f508011038_105;
+// 241
+f508011038_106 = function() { return f508011038_106.returns[f508011038_106.inst++]; };
+f508011038_106.returns = [];
+f508011038_106.inst = 0;
+// 242
+ow508011038.JSBNG__HTMLTableElement = f508011038_106;
+// 243
+f508011038_107 = function() { return f508011038_107.returns[f508011038_107.inst++]; };
+f508011038_107.returns = [];
+f508011038_107.inst = 0;
+// 244
+ow508011038.JSBNG__SharedWorker = f508011038_107;
+// 245
+f508011038_108 = function() { return f508011038_108.returns[f508011038_108.inst++]; };
+f508011038_108.returns = [];
+f508011038_108.inst = 0;
+// 246
+ow508011038.JSBNG__SVGAElement = f508011038_108;
+// 247
+f508011038_109 = function() { return f508011038_109.returns[f508011038_109.inst++]; };
+f508011038_109.returns = [];
+f508011038_109.inst = 0;
+// 248
+ow508011038.JSBNG__SVGAnimatedRect = f508011038_109;
+// 249
+f508011038_110 = function() { return f508011038_110.returns[f508011038_110.inst++]; };
+f508011038_110.returns = [];
+f508011038_110.inst = 0;
+// 250
+ow508011038.JSBNG__SVGGElement = f508011038_110;
+// 251
+f508011038_111 = function() { return f508011038_111.returns[f508011038_111.inst++]; };
+f508011038_111.returns = [];
+f508011038_111.inst = 0;
+// 252
+ow508011038.JSBNG__SVGLinearGradientElement = f508011038_111;
+// 253
+f508011038_112 = function() { return f508011038_112.returns[f508011038_112.inst++]; };
+f508011038_112.returns = [];
+f508011038_112.inst = 0;
+// 254
+ow508011038.JSBNG__SVGForeignObjectElement = f508011038_112;
+// 255
+f508011038_113 = function() { return f508011038_113.returns[f508011038_113.inst++]; };
+f508011038_113.returns = [];
+f508011038_113.inst = 0;
+// 256
+ow508011038.JSBNG__SVGAnimateElement = f508011038_113;
+// 257
+f508011038_114 = function() { return f508011038_114.returns[f508011038_114.inst++]; };
+f508011038_114.returns = [];
+f508011038_114.inst = 0;
+// 258
+ow508011038.JSBNG__SVGFontElement = f508011038_114;
+// 259
+f508011038_115 = function() { return f508011038_115.returns[f508011038_115.inst++]; };
+f508011038_115.returns = [];
+f508011038_115.inst = 0;
+// 260
+ow508011038.JSBNG__SVGFontFaceElement = f508011038_115;
+// 261
+f508011038_116 = function() { return f508011038_116.returns[f508011038_116.inst++]; };
+f508011038_116.returns = [];
+f508011038_116.inst = 0;
+// 262
+ow508011038.JSBNG__Element = f508011038_116;
+// 263
+f508011038_117 = function() { return f508011038_117.returns[f508011038_117.inst++]; };
+f508011038_117.returns = [];
+f508011038_117.inst = 0;
+// 264
+ow508011038.JSBNG__SVGPathSegCurvetoQuadraticSmoothRel = f508011038_117;
+// 265
+f508011038_118 = function() { return f508011038_118.returns[f508011038_118.inst++]; };
+f508011038_118.returns = [];
+f508011038_118.inst = 0;
+// 266
+ow508011038.JSBNG__SVGStopElement = f508011038_118;
+// 267
+f508011038_119 = function() { return f508011038_119.returns[f508011038_119.inst++]; };
+f508011038_119.returns = [];
+f508011038_119.inst = 0;
+// 268
+ow508011038.JSBNG__CSSStyleSheet = f508011038_119;
+// 269
+f508011038_120 = function() { return f508011038_120.returns[f508011038_120.inst++]; };
+f508011038_120.returns = [];
+f508011038_120.inst = 0;
+// 270
+ow508011038.JSBNG__StyleSheetList = f508011038_120;
+// 271
+f508011038_121 = function() { return f508011038_121.returns[f508011038_121.inst++]; };
+f508011038_121.returns = [];
+f508011038_121.inst = 0;
+// 272
+ow508011038.JSBNG__WebGLShader = f508011038_121;
+// 273
+f508011038_122 = function() { return f508011038_122.returns[f508011038_122.inst++]; };
+f508011038_122.returns = [];
+f508011038_122.inst = 0;
+// 274
+ow508011038.JSBNG__Uint32Array = f508011038_122;
+// 275
+f508011038_123 = function() { return f508011038_123.returns[f508011038_123.inst++]; };
+f508011038_123.returns = [];
+f508011038_123.inst = 0;
+// 276
+ow508011038.JSBNG__TimeRanges = f508011038_123;
+// 277
+f508011038_124 = function() { return f508011038_124.returns[f508011038_124.inst++]; };
+f508011038_124.returns = [];
+f508011038_124.inst = 0;
+// 278
+ow508011038.JSBNG__HTMLHRElement = f508011038_124;
+// 279
+f508011038_125 = function() { return f508011038_125.returns[f508011038_125.inst++]; };
+f508011038_125.returns = [];
+f508011038_125.inst = 0;
+// 280
+ow508011038.JSBNG__SVGViewElement = f508011038_125;
+// 281
+f508011038_126 = function() { return f508011038_126.returns[f508011038_126.inst++]; };
+f508011038_126.returns = [];
+f508011038_126.inst = 0;
+// 282
+ow508011038.JSBNG__SVGGradientElement = f508011038_126;
+// 283
+f508011038_127 = function() { return f508011038_127.returns[f508011038_127.inst++]; };
+f508011038_127.returns = [];
+f508011038_127.inst = 0;
+// 284
+ow508011038.JSBNG__SVGPathSegMovetoRel = f508011038_127;
+// 285
+f508011038_128 = function() { return f508011038_128.returns[f508011038_128.inst++]; };
+f508011038_128.returns = [];
+f508011038_128.inst = 0;
+// 286
+ow508011038.JSBNG__CanvasPattern = f508011038_128;
+// 287
+f508011038_129 = function() { return f508011038_129.returns[f508011038_129.inst++]; };
+f508011038_129.returns = [];
+f508011038_129.inst = 0;
+// 288
+ow508011038.JSBNG__WebGLActiveInfo = f508011038_129;
+// 289
+f508011038_130 = function() { return f508011038_130.returns[f508011038_130.inst++]; };
+f508011038_130.returns = [];
+f508011038_130.inst = 0;
+// 290
+ow508011038.JSBNG__HTMLProgressElement = f508011038_130;
+// 291
+f508011038_131 = function() { return f508011038_131.returns[f508011038_131.inst++]; };
+f508011038_131.returns = [];
+f508011038_131.inst = 0;
+// 292
+ow508011038.JSBNG__HTMLDivElement = f508011038_131;
+// 293
+f508011038_132 = function() { return f508011038_132.returns[f508011038_132.inst++]; };
+f508011038_132.returns = [];
+f508011038_132.inst = 0;
+// 294
+ow508011038.JSBNG__HashChangeEvent = f508011038_132;
+// 295
+f508011038_133 = function() { return f508011038_133.returns[f508011038_133.inst++]; };
+f508011038_133.returns = [];
+f508011038_133.inst = 0;
+// 296
+ow508011038.JSBNG__KeyboardEvent = f508011038_133;
+// 297
+f508011038_134 = function() { return f508011038_134.returns[f508011038_134.inst++]; };
+f508011038_134.returns = [];
+f508011038_134.inst = 0;
+// 298
+ow508011038.JSBNG__SVGHKernElement = f508011038_134;
+// 299
+f508011038_135 = function() { return f508011038_135.returns[f508011038_135.inst++]; };
+f508011038_135.returns = [];
+f508011038_135.inst = 0;
+// 300
+ow508011038.JSBNG__HTMLTitleElement = f508011038_135;
+// 301
+f508011038_136 = function() { return f508011038_136.returns[f508011038_136.inst++]; };
+f508011038_136.returns = [];
+f508011038_136.inst = 0;
+// 302
+ow508011038.JSBNG__HTMLQuoteElement = f508011038_136;
+// 303
+f508011038_137 = function() { return f508011038_137.returns[f508011038_137.inst++]; };
+f508011038_137.returns = [];
+f508011038_137.inst = 0;
+// 304
+ow508011038.JSBNG__SVGFEImageElement = f508011038_137;
+// 305
+f508011038_138 = function() { return f508011038_138.returns[f508011038_138.inst++]; };
+f508011038_138.returns = [];
+f508011038_138.inst = 0;
+// 306
+ow508011038.JSBNG__DOMTokenList = f508011038_138;
+// 307
+f508011038_139 = function() { return f508011038_139.returns[f508011038_139.inst++]; };
+f508011038_139.returns = [];
+f508011038_139.inst = 0;
+// 308
+ow508011038.JSBNG__WebGLProgram = f508011038_139;
+// 309
+f508011038_140 = function() { return f508011038_140.returns[f508011038_140.inst++]; };
+f508011038_140.returns = [];
+f508011038_140.inst = 0;
+// 310
+ow508011038.JSBNG__SVGPathSegMovetoAbs = f508011038_140;
+// 311
+f508011038_141 = function() { return f508011038_141.returns[f508011038_141.inst++]; };
+f508011038_141.returns = [];
+f508011038_141.inst = 0;
+// 312
+ow508011038.JSBNG__SVGTextPathElement = f508011038_141;
+// 313
+f508011038_142 = function() { return f508011038_142.returns[f508011038_142.inst++]; };
+f508011038_142.returns = [];
+f508011038_142.inst = 0;
+// 314
+ow508011038.JSBNG__SVGAnimatedTransformList = f508011038_142;
+// 315
+f508011038_143 = function() { return f508011038_143.returns[f508011038_143.inst++]; };
+f508011038_143.returns = [];
+f508011038_143.inst = 0;
+// 316
+ow508011038.JSBNG__HTMLLegendElement = f508011038_143;
+// 317
+f508011038_144 = function() { return f508011038_144.returns[f508011038_144.inst++]; };
+f508011038_144.returns = [];
+f508011038_144.inst = 0;
+// 318
+ow508011038.JSBNG__SVGPathSegCurvetoQuadraticAbs = f508011038_144;
+// 319
+f508011038_145 = function() { return f508011038_145.returns[f508011038_145.inst++]; };
+f508011038_145.returns = [];
+f508011038_145.inst = 0;
+// 320
+ow508011038.JSBNG__MouseEvent = f508011038_145;
+// 321
+f508011038_146 = function() { return f508011038_146.returns[f508011038_146.inst++]; };
+f508011038_146.returns = [];
+f508011038_146.inst = 0;
+// 322
+ow508011038.JSBNG__MediaError = f508011038_146;
+// 323
+f508011038_147 = function() { return f508011038_147.returns[f508011038_147.inst++]; };
+f508011038_147.returns = [];
+f508011038_147.inst = 0;
+// 324
+ow508011038.JSBNG__Uint16Array = f508011038_147;
+// 325
+f508011038_148 = function() { return f508011038_148.returns[f508011038_148.inst++]; };
+f508011038_148.returns = [];
+f508011038_148.inst = 0;
+// 326
+ow508011038.JSBNG__HTMLObjectElement = f508011038_148;
+// 327
+f508011038_149 = function() { return f508011038_149.returns[f508011038_149.inst++]; };
+f508011038_149.returns = [];
+f508011038_149.inst = 0;
+// 328
+ow508011038.JSBNG__HTMLFontElement = f508011038_149;
+// 329
+f508011038_150 = function() { return f508011038_150.returns[f508011038_150.inst++]; };
+f508011038_150.returns = [];
+f508011038_150.inst = 0;
+// 330
+ow508011038.JSBNG__SVGFilterElement = f508011038_150;
+// 331
+f508011038_151 = function() { return f508011038_151.returns[f508011038_151.inst++]; };
+f508011038_151.returns = [];
+f508011038_151.inst = 0;
+// 332
+ow508011038.JSBNG__WebKitTransitionEvent = f508011038_151;
+// 333
+f508011038_152 = function() { return f508011038_152.returns[f508011038_152.inst++]; };
+f508011038_152.returns = [];
+f508011038_152.inst = 0;
+// 334
+ow508011038.JSBNG__MediaList = f508011038_152;
+// 335
+f508011038_153 = function() { return f508011038_153.returns[f508011038_153.inst++]; };
+f508011038_153.returns = [];
+f508011038_153.inst = 0;
+// 336
+ow508011038.JSBNG__SVGVKernElement = f508011038_153;
+// 337
+f508011038_154 = function() { return f508011038_154.returns[f508011038_154.inst++]; };
+f508011038_154.returns = [];
+f508011038_154.inst = 0;
+// 338
+ow508011038.JSBNG__SVGPaint = f508011038_154;
+// 339
+f508011038_155 = function() { return f508011038_155.returns[f508011038_155.inst++]; };
+f508011038_155.returns = [];
+f508011038_155.inst = 0;
+// 340
+ow508011038.JSBNG__SVGFETileElement = f508011038_155;
+// 341
+f508011038_156 = function() { return f508011038_156.returns[f508011038_156.inst++]; };
+f508011038_156.returns = [];
+f508011038_156.inst = 0;
+// 342
+ow508011038.JSBNG__Document = f508011038_156;
+// 343
+f508011038_157 = function() { return f508011038_157.returns[f508011038_157.inst++]; };
+f508011038_157.returns = [];
+f508011038_157.inst = 0;
+// 344
+ow508011038.JSBNG__XPathException = f508011038_157;
+// 345
+f508011038_158 = function() { return f508011038_158.returns[f508011038_158.inst++]; };
+f508011038_158.returns = [];
+f508011038_158.inst = 0;
+// 346
+ow508011038.JSBNG__TextMetrics = f508011038_158;
+// 347
+f508011038_159 = function() { return f508011038_159.returns[f508011038_159.inst++]; };
+f508011038_159.returns = [];
+f508011038_159.inst = 0;
+// 348
+ow508011038.JSBNG__HTMLHeadElement = f508011038_159;
+// 349
+f508011038_160 = function() { return f508011038_160.returns[f508011038_160.inst++]; };
+f508011038_160.returns = [];
+f508011038_160.inst = 0;
+// 350
+ow508011038.JSBNG__SVGFEComponentTransferElement = f508011038_160;
+// 351
+f508011038_161 = function() { return f508011038_161.returns[f508011038_161.inst++]; };
+f508011038_161.returns = [];
+f508011038_161.inst = 0;
+// 352
+ow508011038.JSBNG__ProgressEvent = f508011038_161;
+// 353
+f508011038_162 = function() { return f508011038_162.returns[f508011038_162.inst++]; };
+f508011038_162.returns = [];
+f508011038_162.inst = 0;
+// 354
+ow508011038.JSBNG__SVGAnimatedPreserveAspectRatio = f508011038_162;
+// 355
+f508011038_163 = function() { return f508011038_163.returns[f508011038_163.inst++]; };
+f508011038_163.returns = [];
+f508011038_163.inst = 0;
+// 356
+ow508011038.JSBNG__Node = f508011038_163;
+// 357
+f508011038_164 = function() { return f508011038_164.returns[f508011038_164.inst++]; };
+f508011038_164.returns = [];
+f508011038_164.inst = 0;
+// 358
+ow508011038.JSBNG__SVGRectElement = f508011038_164;
+// 359
+f508011038_165 = function() { return f508011038_165.returns[f508011038_165.inst++]; };
+f508011038_165.returns = [];
+f508011038_165.inst = 0;
+// 360
+ow508011038.JSBNG__CSSPageRule = f508011038_165;
+// 361
+f508011038_166 = function() { return f508011038_166.returns[f508011038_166.inst++]; };
+f508011038_166.returns = [];
+f508011038_166.inst = 0;
+// 362
+ow508011038.JSBNG__SVGLineElement = f508011038_166;
+// 363
+f508011038_167 = function() { return f508011038_167.returns[f508011038_167.inst++]; };
+f508011038_167.returns = [];
+f508011038_167.inst = 0;
+// 364
+ow508011038.JSBNG__CharacterData = f508011038_167;
+// 365
+f508011038_168 = function() { return f508011038_168.returns[f508011038_168.inst++]; };
+f508011038_168.returns = [];
+f508011038_168.inst = 0;
+// 366
+ow508011038.JSBNG__FileError = f508011038_168;
+// 367
+f508011038_169 = function() { return f508011038_169.returns[f508011038_169.inst++]; };
+f508011038_169.returns = [];
+f508011038_169.inst = 0;
+// 368
+ow508011038.JSBNG__SVGDocument = f508011038_169;
+// 369
+f508011038_170 = function() { return f508011038_170.returns[f508011038_170.inst++]; };
+f508011038_170.returns = [];
+f508011038_170.inst = 0;
+// 370
+ow508011038.JSBNG__MessagePort = f508011038_170;
+// 371
+f508011038_171 = function() { return f508011038_171.returns[f508011038_171.inst++]; };
+f508011038_171.returns = [];
+f508011038_171.inst = 0;
+// 372
+ow508011038.JSBNG__ClientRect = f508011038_171;
+// 373
+f508011038_172 = function() { return f508011038_172.returns[f508011038_172.inst++]; };
+f508011038_172.returns = [];
+f508011038_172.inst = 0;
+// 374
+ow508011038.JSBNG__Option = f508011038_172;
+// 375
+f508011038_173 = function() { return f508011038_173.returns[f508011038_173.inst++]; };
+f508011038_173.returns = [];
+f508011038_173.inst = 0;
+// 376
+ow508011038.JSBNG__SVGDescElement = f508011038_173;
+// 377
+f508011038_174 = function() { return f508011038_174.returns[f508011038_174.inst++]; };
+f508011038_174.returns = [];
+f508011038_174.inst = 0;
+// 378
+ow508011038.JSBNG__Notation = f508011038_174;
+// 379
+f508011038_175 = function() { return f508011038_175.returns[f508011038_175.inst++]; };
+f508011038_175.returns = [];
+f508011038_175.inst = 0;
+// 380
+ow508011038.JSBNG__WebGLBuffer = f508011038_175;
+// 381
+f508011038_176 = function() { return f508011038_176.returns[f508011038_176.inst++]; };
+f508011038_176.returns = [];
+f508011038_176.inst = 0;
+// 382
+ow508011038.JSBNG__StorageEvent = f508011038_176;
+// 383
+f508011038_177 = function() { return f508011038_177.returns[f508011038_177.inst++]; };
+f508011038_177.returns = [];
+f508011038_177.inst = 0;
+// 384
+ow508011038.JSBNG__HTMLFieldSetElement = f508011038_177;
+// 385
+f508011038_178 = function() { return f508011038_178.returns[f508011038_178.inst++]; };
+f508011038_178.returns = [];
+f508011038_178.inst = 0;
+// 386
+ow508011038.JSBNG__HTMLVideoElement = f508011038_178;
+// 387
+f508011038_179 = function() { return f508011038_179.returns[f508011038_179.inst++]; };
+f508011038_179.returns = [];
+f508011038_179.inst = 0;
+// 388
+ow508011038.JSBNG__SVGPathSegLinetoRel = f508011038_179;
+// 389
+f508011038_180 = function() { return f508011038_180.returns[f508011038_180.inst++]; };
+f508011038_180.returns = [];
+f508011038_180.inst = 0;
+// 390
+ow508011038.JSBNG__WebGLTexture = f508011038_180;
+// 391
+f508011038_181 = function() { return f508011038_181.returns[f508011038_181.inst++]; };
+f508011038_181.returns = [];
+f508011038_181.inst = 0;
+// 392
+ow508011038.JSBNG__UIEvent = f508011038_181;
+// 393
+f508011038_182 = function() { return f508011038_182.returns[f508011038_182.inst++]; };
+f508011038_182.returns = [];
+f508011038_182.inst = 0;
+// 394
+ow508011038.JSBNG__HTMLTableRowElement = f508011038_182;
+// 395
+f508011038_183 = function() { return f508011038_183.returns[f508011038_183.inst++]; };
+f508011038_183.returns = [];
+f508011038_183.inst = 0;
+// 396
+ow508011038.JSBNG__HTMLDListElement = f508011038_183;
+// 397
+f508011038_184 = function() { return f508011038_184.returns[f508011038_184.inst++]; };
+f508011038_184.returns = [];
+f508011038_184.inst = 0;
+// 398
+ow508011038.JSBNG__File = f508011038_184;
+// 399
+f508011038_185 = function() { return f508011038_185.returns[f508011038_185.inst++]; };
+f508011038_185.returns = [];
+f508011038_185.inst = 0;
+// 400
+ow508011038.JSBNG__SVGEllipseElement = f508011038_185;
+// 401
+f508011038_186 = function() { return f508011038_186.returns[f508011038_186.inst++]; };
+f508011038_186.returns = [];
+f508011038_186.inst = 0;
+// 402
+ow508011038.JSBNG__SVGFEFuncRElement = f508011038_186;
+// 403
+f508011038_187 = function() { return f508011038_187.returns[f508011038_187.inst++]; };
+f508011038_187.returns = [];
+f508011038_187.inst = 0;
+// 404
+ow508011038.JSBNG__Int32Array = f508011038_187;
+// 405
+f508011038_188 = function() { return f508011038_188.returns[f508011038_188.inst++]; };
+f508011038_188.returns = [];
+f508011038_188.inst = 0;
+// 406
+ow508011038.JSBNG__HTMLAllCollection = f508011038_188;
+// 407
+f508011038_189 = function() { return f508011038_189.returns[f508011038_189.inst++]; };
+f508011038_189.returns = [];
+f508011038_189.inst = 0;
+// 408
+ow508011038.JSBNG__CSSValue = f508011038_189;
+// 409
+f508011038_190 = function() { return f508011038_190.returns[f508011038_190.inst++]; };
+f508011038_190.returns = [];
+f508011038_190.inst = 0;
+// 410
+ow508011038.JSBNG__SVGAnimatedNumberList = f508011038_190;
+// 411
+f508011038_191 = function() { return f508011038_191.returns[f508011038_191.inst++]; };
+f508011038_191.returns = [];
+f508011038_191.inst = 0;
+// 412
+ow508011038.JSBNG__HTMLParamElement = f508011038_191;
+// 413
+f508011038_192 = function() { return f508011038_192.returns[f508011038_192.inst++]; };
+f508011038_192.returns = [];
+f508011038_192.inst = 0;
+// 414
+ow508011038.JSBNG__SVGElementInstance = f508011038_192;
+// 415
+f508011038_193 = function() { return f508011038_193.returns[f508011038_193.inst++]; };
+f508011038_193.returns = [];
+f508011038_193.inst = 0;
+// 416
+ow508011038.JSBNG__HTMLModElement = f508011038_193;
+// 417
+f508011038_194 = function() { return f508011038_194.returns[f508011038_194.inst++]; };
+f508011038_194.returns = [];
+f508011038_194.inst = 0;
+// 418
+ow508011038.JSBNG__SVGPathSegLinetoHorizontalRel = f508011038_194;
+// 419
+f508011038_195 = function() { return f508011038_195.returns[f508011038_195.inst++]; };
+f508011038_195.returns = [];
+f508011038_195.inst = 0;
+// 420
+ow508011038.JSBNG__CSSFontFaceRule = f508011038_195;
+// 421
+f508011038_196 = function() { return f508011038_196.returns[f508011038_196.inst++]; };
+f508011038_196.returns = [];
+f508011038_196.inst = 0;
+// 422
+ow508011038.JSBNG__SVGPathSeg = f508011038_196;
+// 423
+f508011038_197 = function() { return f508011038_197.returns[f508011038_197.inst++]; };
+f508011038_197.returns = [];
+f508011038_197.inst = 0;
+// 424
+ow508011038.JSBNG__CSSStyleDeclaration = f508011038_197;
+// 425
+f508011038_198 = function() { return f508011038_198.returns[f508011038_198.inst++]; };
+f508011038_198.returns = [];
+f508011038_198.inst = 0;
+// 426
+ow508011038.JSBNG__WebSocket = f508011038_198;
+// 427
+f508011038_199 = function() { return f508011038_199.returns[f508011038_199.inst++]; };
+f508011038_199.returns = [];
+f508011038_199.inst = 0;
+// 428
+ow508011038.JSBNG__Rect = f508011038_199;
+// 429
+f508011038_200 = function() { return f508011038_200.returns[f508011038_200.inst++]; };
+f508011038_200.returns = [];
+f508011038_200.inst = 0;
+// 430
+ow508011038.JSBNG__StyleSheet = f508011038_200;
+// 431
+f508011038_201 = function() { return f508011038_201.returns[f508011038_201.inst++]; };
+f508011038_201.returns = [];
+f508011038_201.inst = 0;
+// 432
+ow508011038.JSBNG__SVGPathSegLinetoHorizontalAbs = f508011038_201;
+// 433
+f508011038_202 = function() { return f508011038_202.returns[f508011038_202.inst++]; };
+f508011038_202.returns = [];
+f508011038_202.inst = 0;
+// 434
+ow508011038.JSBNG__SVGColor = f508011038_202;
+// 435
+f508011038_203 = function() { return f508011038_203.returns[f508011038_203.inst++]; };
+f508011038_203.returns = [];
+f508011038_203.inst = 0;
+// 436
+ow508011038.JSBNG__ArrayBuffer = f508011038_203;
+// 437
+f508011038_204 = function() { return f508011038_204.returns[f508011038_204.inst++]; };
+f508011038_204.returns = [];
+f508011038_204.inst = 0;
+// 438
+ow508011038.JSBNG__SVGComponentTransferFunctionElement = f508011038_204;
+// 439
+f508011038_205 = function() { return f508011038_205.returns[f508011038_205.inst++]; };
+f508011038_205.returns = [];
+f508011038_205.inst = 0;
+// 440
+ow508011038.JSBNG__SVGStyleElement = f508011038_205;
+// 441
+f508011038_206 = function() { return f508011038_206.returns[f508011038_206.inst++]; };
+f508011038_206.returns = [];
+f508011038_206.inst = 0;
+// 442
+ow508011038.JSBNG__Int16Array = f508011038_206;
+// 443
+f508011038_207 = function() { return f508011038_207.returns[f508011038_207.inst++]; };
+f508011038_207.returns = [];
+f508011038_207.inst = 0;
+// 444
+ow508011038.JSBNG__HTMLOutputElement = f508011038_207;
+// 445
+f508011038_208 = function() { return f508011038_208.returns[f508011038_208.inst++]; };
+f508011038_208.returns = [];
+f508011038_208.inst = 0;
+// 446
+ow508011038.JSBNG__SVGNumberList = f508011038_208;
+// 447
+f508011038_209 = function() { return f508011038_209.returns[f508011038_209.inst++]; };
+f508011038_209.returns = [];
+f508011038_209.inst = 0;
+// 448
+ow508011038.JSBNG__DataView = f508011038_209;
+// 449
+f508011038_210 = function() { return f508011038_210.returns[f508011038_210.inst++]; };
+f508011038_210.returns = [];
+f508011038_210.inst = 0;
+// 450
+ow508011038.JSBNG__DeviceOrientationEvent = f508011038_210;
+// 451
+f508011038_211 = function() { return f508011038_211.returns[f508011038_211.inst++]; };
+f508011038_211.returns = [];
+f508011038_211.inst = 0;
+// 452
+ow508011038.JSBNG__Blob = f508011038_211;
+// 453
+f508011038_212 = function() { return f508011038_212.returns[f508011038_212.inst++]; };
+f508011038_212.returns = [];
+f508011038_212.inst = 0;
+// 454
+ow508011038.JSBNG__SVGFEFloodElement = f508011038_212;
+// 455
+f508011038_213 = function() { return f508011038_213.returns[f508011038_213.inst++]; };
+f508011038_213.returns = [];
+f508011038_213.inst = 0;
+// 456
+ow508011038.JSBNG__HTMLStyleElement = f508011038_213;
+// 457
+f508011038_214 = function() { return f508011038_214.returns[f508011038_214.inst++]; };
+f508011038_214.returns = [];
+f508011038_214.inst = 0;
+// 458
+ow508011038.JSBNG__HTMLBaseElement = f508011038_214;
+// 459
+f508011038_215 = function() { return f508011038_215.returns[f508011038_215.inst++]; };
+f508011038_215.returns = [];
+f508011038_215.inst = 0;
+// 460
+ow508011038.JSBNG__HTMLBRElement = f508011038_215;
+// 461
+f508011038_216 = function() { return f508011038_216.returns[f508011038_216.inst++]; };
+f508011038_216.returns = [];
+f508011038_216.inst = 0;
+// 462
+ow508011038.JSBNG__FileReader = f508011038_216;
+// 463
+f508011038_217 = function() { return f508011038_217.returns[f508011038_217.inst++]; };
+f508011038_217.returns = [];
+f508011038_217.inst = 0;
+// 464
+ow508011038.JSBNG__SVGFEBlendElement = f508011038_217;
+// 465
+f508011038_218 = function() { return f508011038_218.returns[f508011038_218.inst++]; };
+f508011038_218.returns = [];
+f508011038_218.inst = 0;
+// 466
+ow508011038.JSBNG__HTMLHtmlElement = f508011038_218;
+// 467
+f508011038_219 = function() { return f508011038_219.returns[f508011038_219.inst++]; };
+f508011038_219.returns = [];
+f508011038_219.inst = 0;
+// 468
+ow508011038.JSBNG__SVGFEConvolveMatrixElement = f508011038_219;
+// 469
+f508011038_220 = function() { return f508011038_220.returns[f508011038_220.inst++]; };
+f508011038_220.returns = [];
+f508011038_220.inst = 0;
+// 470
+ow508011038.JSBNG__SVGFEGaussianBlurElement = f508011038_220;
+// 471
+f508011038_221 = function() { return f508011038_221.returns[f508011038_221.inst++]; };
+f508011038_221.returns = [];
+f508011038_221.inst = 0;
+// 472
+ow508011038.JSBNG__HTMLTextAreaElement = f508011038_221;
+// 473
+f508011038_222 = function() { return f508011038_222.returns[f508011038_222.inst++]; };
+f508011038_222.returns = [];
+f508011038_222.inst = 0;
+// 474
+ow508011038.JSBNG__WebGLRenderbuffer = f508011038_222;
+// 475
+f508011038_223 = function() { return f508011038_223.returns[f508011038_223.inst++]; };
+f508011038_223.returns = [];
+f508011038_223.inst = 0;
+// 476
+ow508011038.JSBNG__SVGTextElement = f508011038_223;
+// 477
+f508011038_224 = function() { return f508011038_224.returns[f508011038_224.inst++]; };
+f508011038_224.returns = [];
+f508011038_224.inst = 0;
+// 478
+ow508011038.JSBNG__SVGFEOffsetElement = f508011038_224;
+// 479
+f508011038_225 = function() { return f508011038_225.returns[f508011038_225.inst++]; };
+f508011038_225.returns = [];
+f508011038_225.inst = 0;
+// 480
+ow508011038.JSBNG__RGBColor = f508011038_225;
+// 481
+f508011038_226 = function() { return f508011038_226.returns[f508011038_226.inst++]; };
+f508011038_226.returns = [];
+f508011038_226.inst = 0;
+// 482
+ow508011038.JSBNG__SVGGlyphElement = f508011038_226;
+// 483
+f508011038_227 = function() { return f508011038_227.returns[f508011038_227.inst++]; };
+f508011038_227.returns = [];
+f508011038_227.inst = 0;
+// 484
+ow508011038.JSBNG__Float32Array = f508011038_227;
+// 485
+f508011038_228 = function() { return f508011038_228.returns[f508011038_228.inst++]; };
+f508011038_228.returns = [];
+f508011038_228.inst = 0;
+// 486
+ow508011038.JSBNG__HTMLCanvasElement = f508011038_228;
+// 487
+f508011038_229 = function() { return f508011038_229.returns[f508011038_229.inst++]; };
+f508011038_229.returns = [];
+f508011038_229.inst = 0;
+// 488
+ow508011038.JSBNG__ProcessingInstruction = f508011038_229;
+// 489
+f508011038_230 = function() { return f508011038_230.returns[f508011038_230.inst++]; };
+f508011038_230.returns = [];
+f508011038_230.inst = 0;
+// 490
+ow508011038.JSBNG__SVGZoomEvent = f508011038_230;
+// 491
+f508011038_231 = function() { return f508011038_231.returns[f508011038_231.inst++]; };
+f508011038_231.returns = [];
+f508011038_231.inst = 0;
+// 492
+ow508011038.JSBNG__HTMLFrameElement = f508011038_231;
+// 493
+f508011038_232 = function() { return f508011038_232.returns[f508011038_232.inst++]; };
+f508011038_232.returns = [];
+f508011038_232.inst = 0;
+// 494
+ow508011038.JSBNG__SVGElementInstanceList = f508011038_232;
+// 495
+f508011038_233 = function() { return f508011038_233.returns[f508011038_233.inst++]; };
+f508011038_233.returns = [];
+f508011038_233.inst = 0;
+// 496
+ow508011038.JSBNG__SVGFEDisplacementMapElement = f508011038_233;
+// 497
+f508011038_234 = function() { return f508011038_234.returns[f508011038_234.inst++]; };
+f508011038_234.returns = [];
+f508011038_234.inst = 0;
+// 498
+ow508011038.JSBNG__SVGPathSegCurvetoCubicSmoothRel = f508011038_234;
+// 499
+f508011038_235 = function() { return f508011038_235.returns[f508011038_235.inst++]; };
+f508011038_235.returns = [];
+f508011038_235.inst = 0;
+// 500
+ow508011038.JSBNG__HTMLElement = f508011038_235;
+// 501
+f508011038_236 = function() { return f508011038_236.returns[f508011038_236.inst++]; };
+f508011038_236.returns = [];
+f508011038_236.inst = 0;
+// 502
+ow508011038.JSBNG__HTMLSelectElement = f508011038_236;
+// 503
+f508011038_237 = function() { return f508011038_237.returns[f508011038_237.inst++]; };
+f508011038_237.returns = [];
+f508011038_237.inst = 0;
+// 504
+ow508011038.JSBNG__Int8Array = f508011038_237;
+// 505
+f508011038_238 = function() { return f508011038_238.returns[f508011038_238.inst++]; };
+f508011038_238.returns = [];
+f508011038_238.inst = 0;
+// 506
+ow508011038.JSBNG__SVGFEDistantLightElement = f508011038_238;
+// 507
+f508011038_239 = function() { return f508011038_239.returns[f508011038_239.inst++]; };
+f508011038_239.returns = [];
+f508011038_239.inst = 0;
+// 508
+ow508011038.JSBNG__ImageData = f508011038_239;
+// 509
+f508011038_240 = function() { return f508011038_240.returns[f508011038_240.inst++]; };
+f508011038_240.returns = [];
+f508011038_240.inst = 0;
+// 510
+ow508011038.JSBNG__SVGFEFuncBElement = f508011038_240;
+// 511
+f508011038_241 = function() { return f508011038_241.returns[f508011038_241.inst++]; };
+f508011038_241.returns = [];
+f508011038_241.inst = 0;
+// 512
+ow508011038.JSBNG__HTMLDocument = f508011038_241;
+// 513
+f508011038_242 = function() { return f508011038_242.returns[f508011038_242.inst++]; };
+f508011038_242.returns = [];
+f508011038_242.inst = 0;
+// 514
+ow508011038.JSBNG__SVGCircleElement = f508011038_242;
+// 515
+f508011038_243 = function() { return f508011038_243.returns[f508011038_243.inst++]; };
+f508011038_243.returns = [];
+f508011038_243.inst = 0;
+// 516
+ow508011038.JSBNG__HTMLCollection = f508011038_243;
+// 517
+f508011038_244 = function() { return f508011038_244.returns[f508011038_244.inst++]; };
+f508011038_244.returns = [];
+f508011038_244.inst = 0;
+// 518
+ow508011038.JSBNG__SVGSetElement = f508011038_244;
+// 519
+f508011038_245 = function() { return f508011038_245.returns[f508011038_245.inst++]; };
+f508011038_245.returns = [];
+f508011038_245.inst = 0;
+// 520
+ow508011038.JSBNG__SVGFEMergeElement = f508011038_245;
+// 521
+f508011038_246 = function() { return f508011038_246.returns[f508011038_246.inst++]; };
+f508011038_246.returns = [];
+f508011038_246.inst = 0;
+// 522
+ow508011038.JSBNG__HTMLDirectoryElement = f508011038_246;
+// 523
+f508011038_247 = function() { return f508011038_247.returns[f508011038_247.inst++]; };
+f508011038_247.returns = [];
+f508011038_247.inst = 0;
+// 524
+ow508011038.JSBNG__CSSMediaRule = f508011038_247;
+// 525
+f508011038_248 = function() { return f508011038_248.returns[f508011038_248.inst++]; };
+f508011038_248.returns = [];
+f508011038_248.inst = 0;
+// 526
+ow508011038.JSBNG__MessageEvent = f508011038_248;
+// 527
+f508011038_249 = function() { return f508011038_249.returns[f508011038_249.inst++]; };
+f508011038_249.returns = [];
+f508011038_249.inst = 0;
+// 528
+ow508011038.JSBNG__SVGFESpecularLightingElement = f508011038_249;
+// 529
+f508011038_250 = function() { return f508011038_250.returns[f508011038_250.inst++]; };
+f508011038_250.returns = [];
+f508011038_250.inst = 0;
+// 530
+ow508011038.JSBNG__DOMException = f508011038_250;
+// 531
+f508011038_251 = function() { return f508011038_251.returns[f508011038_251.inst++]; };
+f508011038_251.returns = [];
+f508011038_251.inst = 0;
+// 532
+ow508011038.JSBNG__SVGNumber = f508011038_251;
+// 533
+f508011038_252 = function() { return f508011038_252.returns[f508011038_252.inst++]; };
+f508011038_252.returns = [];
+f508011038_252.inst = 0;
+// 534
+ow508011038.JSBNG__SVGFontFaceSrcElement = f508011038_252;
+// 535
+f508011038_253 = function() { return f508011038_253.returns[f508011038_253.inst++]; };
+f508011038_253.returns = [];
+f508011038_253.inst = 0;
+// 536
+ow508011038.JSBNG__CSSRule = f508011038_253;
+// 537
+f508011038_254 = function() { return f508011038_254.returns[f508011038_254.inst++]; };
+f508011038_254.returns = [];
+f508011038_254.inst = 0;
+// 538
+ow508011038.JSBNG__SVGElement = f508011038_254;
+// 539
+f508011038_255 = function() { return f508011038_255.returns[f508011038_255.inst++]; };
+f508011038_255.returns = [];
+f508011038_255.inst = 0;
+// 540
+ow508011038.JSBNG__WebKitCSSMatrix = f508011038_255;
+// 541
+f508011038_256 = function() { return f508011038_256.returns[f508011038_256.inst++]; };
+f508011038_256.returns = [];
+f508011038_256.inst = 0;
+// 542
+ow508011038.JSBNG__SVGMissingGlyphElement = f508011038_256;
+// 543
+f508011038_257 = function() { return f508011038_257.returns[f508011038_257.inst++]; };
+f508011038_257.returns = [];
+f508011038_257.inst = 0;
+// 544
+ow508011038.JSBNG__HTMLScriptElement = f508011038_257;
+// 545
+f508011038_258 = function() { return f508011038_258.returns[f508011038_258.inst++]; };
+f508011038_258.returns = [];
+f508011038_258.inst = 0;
+// 546
+ow508011038.JSBNG__DOMImplementation = f508011038_258;
+// 547
+f508011038_259 = function() { return f508011038_259.returns[f508011038_259.inst++]; };
+f508011038_259.returns = [];
+f508011038_259.inst = 0;
+// 548
+ow508011038.JSBNG__SVGLength = f508011038_259;
+// 549
+f508011038_260 = function() { return f508011038_260.returns[f508011038_260.inst++]; };
+f508011038_260.returns = [];
+f508011038_260.inst = 0;
+// 550
+ow508011038.JSBNG__HTMLOptGroupElement = f508011038_260;
+// 551
+f508011038_261 = function() { return f508011038_261.returns[f508011038_261.inst++]; };
+f508011038_261.returns = [];
+f508011038_261.inst = 0;
+// 552
+ow508011038.JSBNG__SVGPathSegLinetoVerticalAbs = f508011038_261;
+// 553
+f508011038_262 = function() { return f508011038_262.returns[f508011038_262.inst++]; };
+f508011038_262.returns = [];
+f508011038_262.inst = 0;
+// 554
+ow508011038.JSBNG__SVGTextPositioningElement = f508011038_262;
+// 555
+f508011038_263 = function() { return f508011038_263.returns[f508011038_263.inst++]; };
+f508011038_263.returns = [];
+f508011038_263.inst = 0;
+// 556
+ow508011038.JSBNG__HTMLKeygenElement = f508011038_263;
+// 557
+f508011038_264 = function() { return f508011038_264.returns[f508011038_264.inst++]; };
+f508011038_264.returns = [];
+f508011038_264.inst = 0;
+// 558
+ow508011038.JSBNG__SVGFEFuncGElement = f508011038_264;
+// 559
+f508011038_265 = function() { return f508011038_265.returns[f508011038_265.inst++]; };
+f508011038_265.returns = [];
+f508011038_265.inst = 0;
+// 560
+ow508011038.JSBNG__HTMLAreaElement = f508011038_265;
+// 561
+f508011038_266 = function() { return f508011038_266.returns[f508011038_266.inst++]; };
+f508011038_266.returns = [];
+f508011038_266.inst = 0;
+// 562
+ow508011038.JSBNG__HTMLFrameSetElement = f508011038_266;
+// 563
+f508011038_267 = function() { return f508011038_267.returns[f508011038_267.inst++]; };
+f508011038_267.returns = [];
+f508011038_267.inst = 0;
+// 564
+ow508011038.JSBNG__SVGPathSegCurvetoQuadraticRel = f508011038_267;
+// 565
+f508011038_268 = function() { return f508011038_268.returns[f508011038_268.inst++]; };
+f508011038_268.returns = [];
+f508011038_268.inst = 0;
+// 566
+ow508011038.JSBNG__HTMLIFrameElement = f508011038_268;
+// 567
+f508011038_269 = function() { return f508011038_269.returns[f508011038_269.inst++]; };
+f508011038_269.returns = [];
+f508011038_269.inst = 0;
+// 568
+ow508011038.JSBNG__Comment = f508011038_269;
+// 569
+f508011038_270 = function() { return f508011038_270.returns[f508011038_270.inst++]; };
+f508011038_270.returns = [];
+f508011038_270.inst = 0;
+// 570
+ow508011038.JSBNG__Event = f508011038_270;
+// 571
+f508011038_271 = function() { return f508011038_271.returns[f508011038_271.inst++]; };
+f508011038_271.returns = [];
+f508011038_271.inst = 0;
+// 572
+ow508011038.JSBNG__Storage = f508011038_271;
+// 573
+f508011038_272 = function() { return f508011038_272.returns[f508011038_272.inst++]; };
+f508011038_272.returns = [];
+f508011038_272.inst = 0;
+// 574
+ow508011038.JSBNG__XMLSerializer = f508011038_272;
+// 575
+f508011038_273 = function() { return f508011038_273.returns[f508011038_273.inst++]; };
+f508011038_273.returns = [];
+f508011038_273.inst = 0;
+// 576
+ow508011038.JSBNG__Range = f508011038_273;
+// 577
+f508011038_274 = function() { return f508011038_274.returns[f508011038_274.inst++]; };
+f508011038_274.returns = [];
+f508011038_274.inst = 0;
+// 578
+ow508011038.JSBNG__HTMLPreElement = f508011038_274;
+// 579
+f508011038_275 = function() { return f508011038_275.returns[f508011038_275.inst++]; };
+f508011038_275.returns = [];
+f508011038_275.inst = 0;
+// 580
+ow508011038.JSBNG__DOMStringList = f508011038_275;
+// 581
+f508011038_276 = function() { return f508011038_276.returns[f508011038_276.inst++]; };
+f508011038_276.returns = [];
+f508011038_276.inst = 0;
+// 582
+ow508011038.JSBNG__SVGPathSegCurvetoQuadraticSmoothAbs = f508011038_276;
+// 583
+f508011038_277 = function() { return f508011038_277.returns[f508011038_277.inst++]; };
+f508011038_277.returns = [];
+f508011038_277.inst = 0;
+// 584
+ow508011038.JSBNG__SVGRect = f508011038_277;
+// 585
+f508011038_278 = function() { return f508011038_278.returns[f508011038_278.inst++]; };
+f508011038_278.returns = [];
+f508011038_278.inst = 0;
+// 586
+ow508011038.JSBNG__SVGFontFaceFormatElement = f508011038_278;
+// 587
+f508011038_279 = function() { return f508011038_279.returns[f508011038_279.inst++]; };
+f508011038_279.returns = [];
+f508011038_279.inst = 0;
+// 588
+ow508011038.JSBNG__SVGAnimateTransformElement = f508011038_279;
+// 589
+f508011038_280 = function() { return f508011038_280.returns[f508011038_280.inst++]; };
+f508011038_280.returns = [];
+f508011038_280.inst = 0;
+// 590
+ow508011038.JSBNG__HTMLOListElement = f508011038_280;
+// 591
+f508011038_281 = function() { return f508011038_281.returns[f508011038_281.inst++]; };
+f508011038_281.returns = [];
+f508011038_281.inst = 0;
+// 592
+ow508011038.JSBNG__HTMLFormElement = f508011038_281;
+// 593
+f508011038_282 = function() { return f508011038_282.returns[f508011038_282.inst++]; };
+f508011038_282.returns = [];
+f508011038_282.inst = 0;
+// 594
+ow508011038.JSBNG__SVGPathSegClosePath = f508011038_282;
+// 595
+f508011038_283 = function() { return f508011038_283.returns[f508011038_283.inst++]; };
+f508011038_283.returns = [];
+f508011038_283.inst = 0;
+// 596
+ow508011038.JSBNG__SVGPathSegCurvetoCubicSmoothAbs = f508011038_283;
+// 597
+f508011038_284 = function() { return f508011038_284.returns[f508011038_284.inst++]; };
+f508011038_284.returns = [];
+f508011038_284.inst = 0;
+// 598
+ow508011038.JSBNG__SVGPathSegArcRel = f508011038_284;
+// 599
+f508011038_285 = function() { return f508011038_285.returns[f508011038_285.inst++]; };
+f508011038_285.returns = [];
+f508011038_285.inst = 0;
+// 600
+ow508011038.JSBNG__EventException = f508011038_285;
+// 601
+f508011038_286 = function() { return f508011038_286.returns[f508011038_286.inst++]; };
+f508011038_286.returns = [];
+f508011038_286.inst = 0;
+// 602
+ow508011038.JSBNG__SVGAnimatedString = f508011038_286;
+// 603
+f508011038_287 = function() { return f508011038_287.returns[f508011038_287.inst++]; };
+f508011038_287.returns = [];
+f508011038_287.inst = 0;
+// 604
+ow508011038.JSBNG__SVGTransformList = f508011038_287;
+// 605
+f508011038_288 = function() { return f508011038_288.returns[f508011038_288.inst++]; };
+f508011038_288.returns = [];
+f508011038_288.inst = 0;
+// 606
+ow508011038.JSBNG__SVGFEMorphologyElement = f508011038_288;
+// 607
+f508011038_289 = function() { return f508011038_289.returns[f508011038_289.inst++]; };
+f508011038_289.returns = [];
+f508011038_289.inst = 0;
+// 608
+ow508011038.JSBNG__SVGAnimatedLength = f508011038_289;
+// 609
+f508011038_290 = function() { return f508011038_290.returns[f508011038_290.inst++]; };
+f508011038_290.returns = [];
+f508011038_290.inst = 0;
+// 610
+ow508011038.JSBNG__SVGPolygonElement = f508011038_290;
+// 611
+f508011038_291 = function() { return f508011038_291.returns[f508011038_291.inst++]; };
+f508011038_291.returns = [];
+f508011038_291.inst = 0;
+// 612
+ow508011038.JSBNG__SVGPathSegLinetoAbs = f508011038_291;
+// 613
+f508011038_292 = function() { return f508011038_292.returns[f508011038_292.inst++]; };
+f508011038_292.returns = [];
+f508011038_292.inst = 0;
+// 614
+ow508011038.JSBNG__HTMLMediaElement = f508011038_292;
+// 615
+ow508011038.JSBNG__XMLDocument = f508011038_156;
+// 616
+f508011038_293 = function() { return f508011038_293.returns[f508011038_293.inst++]; };
+f508011038_293.returns = [];
+f508011038_293.inst = 0;
+// 617
+ow508011038.JSBNG__SVGMaskElement = f508011038_293;
+// 618
+f508011038_294 = function() { return f508011038_294.returns[f508011038_294.inst++]; };
+f508011038_294.returns = [];
+f508011038_294.inst = 0;
+// 619
+ow508011038.JSBNG__HTMLHeadingElement = f508011038_294;
+// 620
+f508011038_295 = function() { return f508011038_295.returns[f508011038_295.inst++]; };
+f508011038_295.returns = [];
+f508011038_295.inst = 0;
+// 621
+ow508011038.JSBNG__TextEvent = f508011038_295;
+// 622
+f508011038_296 = function() { return f508011038_296.returns[f508011038_296.inst++]; };
+f508011038_296.returns = [];
+f508011038_296.inst = 0;
+// 623
+ow508011038.JSBNG__HTMLMeterElement = f508011038_296;
+// 624
+f508011038_297 = function() { return f508011038_297.returns[f508011038_297.inst++]; };
+f508011038_297.returns = [];
+f508011038_297.inst = 0;
+// 625
+ow508011038.JSBNG__SVGPathElement = f508011038_297;
+// 626
+f508011038_298 = function() { return f508011038_298.returns[f508011038_298.inst++]; };
+f508011038_298.returns = [];
+f508011038_298.inst = 0;
+// 627
+ow508011038.JSBNG__SVGStringList = f508011038_298;
+// 628
+f508011038_299 = function() { return f508011038_299.returns[f508011038_299.inst++]; };
+f508011038_299.returns = [];
+f508011038_299.inst = 0;
+// 629
+ow508011038.JSBNG__HTMLAppletElement = f508011038_299;
+// 630
+f508011038_300 = function() { return f508011038_300.returns[f508011038_300.inst++]; };
+f508011038_300.returns = [];
+f508011038_300.inst = 0;
+// 631
+ow508011038.JSBNG__FileList = f508011038_300;
+// 632
+f508011038_301 = function() { return f508011038_301.returns[f508011038_301.inst++]; };
+f508011038_301.returns = [];
+f508011038_301.inst = 0;
+// 633
+ow508011038.JSBNG__CanvasRenderingContext2D = f508011038_301;
+// 634
+f508011038_302 = function() { return f508011038_302.returns[f508011038_302.inst++]; };
+f508011038_302.returns = [];
+f508011038_302.inst = 0;
+// 635
+ow508011038.JSBNG__MessageChannel = f508011038_302;
+// 636
+f508011038_303 = function() { return f508011038_303.returns[f508011038_303.inst++]; };
+f508011038_303.returns = [];
+f508011038_303.inst = 0;
+// 637
+ow508011038.JSBNG__WebGLRenderingContext = f508011038_303;
+// 638
+f508011038_304 = function() { return f508011038_304.returns[f508011038_304.inst++]; };
+f508011038_304.returns = [];
+f508011038_304.inst = 0;
+// 639
+ow508011038.JSBNG__HTMLMarqueeElement = f508011038_304;
+// 640
+f508011038_305 = function() { return f508011038_305.returns[f508011038_305.inst++]; };
+f508011038_305.returns = [];
+f508011038_305.inst = 0;
+// 641
+ow508011038.JSBNG__WebKitCSSKeyframesRule = f508011038_305;
+// 642
+f508011038_306 = function() { return f508011038_306.returns[f508011038_306.inst++]; };
+f508011038_306.returns = [];
+f508011038_306.inst = 0;
+// 643
+ow508011038.JSBNG__XSLTProcessor = f508011038_306;
+// 644
+f508011038_307 = function() { return f508011038_307.returns[f508011038_307.inst++]; };
+f508011038_307.returns = [];
+f508011038_307.inst = 0;
+// 645
+ow508011038.JSBNG__CSSImportRule = f508011038_307;
+// 646
+f508011038_308 = function() { return f508011038_308.returns[f508011038_308.inst++]; };
+f508011038_308.returns = [];
+f508011038_308.inst = 0;
+// 647
+ow508011038.JSBNG__BeforeLoadEvent = f508011038_308;
+// 648
+f508011038_309 = function() { return f508011038_309.returns[f508011038_309.inst++]; };
+f508011038_309.returns = [];
+f508011038_309.inst = 0;
+// 649
+ow508011038.JSBNG__PageTransitionEvent = f508011038_309;
+// 650
+f508011038_310 = function() { return f508011038_310.returns[f508011038_310.inst++]; };
+f508011038_310.returns = [];
+f508011038_310.inst = 0;
+// 651
+ow508011038.JSBNG__CSSRuleList = f508011038_310;
+// 652
+f508011038_311 = function() { return f508011038_311.returns[f508011038_311.inst++]; };
+f508011038_311.returns = [];
+f508011038_311.inst = 0;
+// 653
+ow508011038.JSBNG__SVGAnimatedLengthList = f508011038_311;
+// 654
+f508011038_312 = function() { return f508011038_312.returns[f508011038_312.inst++]; };
+f508011038_312.returns = [];
+f508011038_312.inst = 0;
+// 655
+ow508011038.JSBNG__SVGTransform = f508011038_312;
+// 656
+f508011038_313 = function() { return f508011038_313.returns[f508011038_313.inst++]; };
+f508011038_313.returns = [];
+f508011038_313.inst = 0;
+// 657
+ow508011038.JSBNG__SVGTextContentElement = f508011038_313;
+// 658
+f508011038_314 = function() { return f508011038_314.returns[f508011038_314.inst++]; };
+f508011038_314.returns = [];
+f508011038_314.inst = 0;
+// 659
+ow508011038.JSBNG__HTMLTableSectionElement = f508011038_314;
+// 660
+f508011038_315 = function() { return f508011038_315.returns[f508011038_315.inst++]; };
+f508011038_315.returns = [];
+f508011038_315.inst = 0;
+// 661
+ow508011038.JSBNG__SVGRadialGradientElement = f508011038_315;
+// 662
+f508011038_316 = function() { return f508011038_316.returns[f508011038_316.inst++]; };
+f508011038_316.returns = [];
+f508011038_316.inst = 0;
+// 663
+ow508011038.JSBNG__HTMLTableCellElement = f508011038_316;
+// 664
+f508011038_317 = function() { return f508011038_317.returns[f508011038_317.inst++]; };
+f508011038_317.returns = [];
+f508011038_317.inst = 0;
+// 665
+ow508011038.JSBNG__SVGCursorElement = f508011038_317;
+// 666
+f508011038_318 = function() { return f508011038_318.returns[f508011038_318.inst++]; };
+f508011038_318.returns = [];
+f508011038_318.inst = 0;
+// 667
+ow508011038.JSBNG__DocumentFragment = f508011038_318;
+// 668
+f508011038_319 = function() { return f508011038_319.returns[f508011038_319.inst++]; };
+f508011038_319.returns = [];
+f508011038_319.inst = 0;
+// 669
+ow508011038.JSBNG__SVGPathSegCurvetoCubicAbs = f508011038_319;
+// 670
+f508011038_320 = function() { return f508011038_320.returns[f508011038_320.inst++]; };
+f508011038_320.returns = [];
+f508011038_320.inst = 0;
+// 671
+ow508011038.JSBNG__SVGUseElement = f508011038_320;
+// 672
+f508011038_321 = function() { return f508011038_321.returns[f508011038_321.inst++]; };
+f508011038_321.returns = [];
+f508011038_321.inst = 0;
+// 673
+ow508011038.JSBNG__FormData = f508011038_321;
+// 674
+f508011038_322 = function() { return f508011038_322.returns[f508011038_322.inst++]; };
+f508011038_322.returns = [];
+f508011038_322.inst = 0;
+// 675
+ow508011038.JSBNG__SVGPreserveAspectRatio = f508011038_322;
+// 676
+f508011038_323 = function() { return f508011038_323.returns[f508011038_323.inst++]; };
+f508011038_323.returns = [];
+f508011038_323.inst = 0;
+// 677
+ow508011038.JSBNG__HTMLMapElement = f508011038_323;
+// 678
+f508011038_324 = function() { return f508011038_324.returns[f508011038_324.inst++]; };
+f508011038_324.returns = [];
+f508011038_324.inst = 0;
+// 679
+ow508011038.JSBNG__XPathResult = f508011038_324;
+// 680
+f508011038_325 = function() { return f508011038_325.returns[f508011038_325.inst++]; };
+f508011038_325.returns = [];
+f508011038_325.inst = 0;
+// 681
+ow508011038.JSBNG__HTMLLIElement = f508011038_325;
+// 682
+f508011038_326 = function() { return f508011038_326.returns[f508011038_326.inst++]; };
+f508011038_326.returns = [];
+f508011038_326.inst = 0;
+// 683
+ow508011038.JSBNG__SVGSwitchElement = f508011038_326;
+// 684
+f508011038_327 = function() { return f508011038_327.returns[f508011038_327.inst++]; };
+f508011038_327.returns = [];
+f508011038_327.inst = 0;
+// 685
+ow508011038.JSBNG__SVGLengthList = f508011038_327;
+// 686
+f508011038_328 = function() { return f508011038_328.returns[f508011038_328.inst++]; };
+f508011038_328.returns = [];
+f508011038_328.inst = 0;
+// 687
+ow508011038.JSBNG__Plugin = f508011038_328;
+// 688
+f508011038_329 = function() { return f508011038_329.returns[f508011038_329.inst++]; };
+f508011038_329.returns = [];
+f508011038_329.inst = 0;
+// 689
+ow508011038.JSBNG__HTMLParagraphElement = f508011038_329;
+// 690
+f508011038_330 = function() { return f508011038_330.returns[f508011038_330.inst++]; };
+f508011038_330.returns = [];
+f508011038_330.inst = 0;
+// 691
+ow508011038.JSBNG__SVGPathSegArcAbs = f508011038_330;
+// 692
+f508011038_331 = function() { return f508011038_331.returns[f508011038_331.inst++]; };
+f508011038_331.returns = [];
+f508011038_331.inst = 0;
+// 693
+ow508011038.JSBNG__SVGAnimatedBoolean = f508011038_331;
+// 694
+f508011038_332 = function() { return f508011038_332.returns[f508011038_332.inst++]; };
+f508011038_332.returns = [];
+f508011038_332.inst = 0;
+// 695
+ow508011038.JSBNG__CSSStyleRule = f508011038_332;
+// 696
+f508011038_333 = function() { return f508011038_333.returns[f508011038_333.inst++]; };
+f508011038_333.returns = [];
+f508011038_333.inst = 0;
+// 697
+ow508011038.JSBNG__SVGFontFaceUriElement = f508011038_333;
+// 698
+f508011038_334 = function() { return f508011038_334.returns[f508011038_334.inst++]; };
+f508011038_334.returns = [];
+f508011038_334.inst = 0;
+// 699
+ow508011038.JSBNG__Text = f508011038_334;
+// 700
+f508011038_335 = function() { return f508011038_335.returns[f508011038_335.inst++]; };
+f508011038_335.returns = [];
+f508011038_335.inst = 0;
+// 701
+ow508011038.JSBNG__HTMLUListElement = f508011038_335;
+// 702
+f508011038_336 = function() { return f508011038_336.returns[f508011038_336.inst++]; };
+f508011038_336.returns = [];
+f508011038_336.inst = 0;
+// 703
+ow508011038.JSBNG__WebGLUniformLocation = f508011038_336;
+// 704
+f508011038_337 = function() { return f508011038_337.returns[f508011038_337.inst++]; };
+f508011038_337.returns = [];
+f508011038_337.inst = 0;
+// 705
+ow508011038.JSBNG__SVGPointList = f508011038_337;
+// 706
+f508011038_338 = function() { return f508011038_338.returns[f508011038_338.inst++]; };
+f508011038_338.returns = [];
+f508011038_338.inst = 0;
+// 707
+ow508011038.JSBNG__CSSPrimitiveValue = f508011038_338;
+// 708
+f508011038_339 = function() { return f508011038_339.returns[f508011038_339.inst++]; };
+f508011038_339.returns = [];
+f508011038_339.inst = 0;
+// 709
+ow508011038.JSBNG__HTMLEmbedElement = f508011038_339;
+// 710
+f508011038_340 = function() { return f508011038_340.returns[f508011038_340.inst++]; };
+f508011038_340.returns = [];
+f508011038_340.inst = 0;
+// 711
+ow508011038.JSBNG__PluginArray = f508011038_340;
+// 712
+f508011038_341 = function() { return f508011038_341.returns[f508011038_341.inst++]; };
+f508011038_341.returns = [];
+f508011038_341.inst = 0;
+// 713
+ow508011038.JSBNG__SVGPathSegCurvetoCubicRel = f508011038_341;
+// 714
+f508011038_342 = function() { return f508011038_342.returns[f508011038_342.inst++]; };
+f508011038_342.returns = [];
+f508011038_342.inst = 0;
+// 715
+ow508011038.JSBNG__ClientRectList = f508011038_342;
+// 716
+f508011038_343 = function() { return f508011038_343.returns[f508011038_343.inst++]; };
+f508011038_343.returns = [];
+f508011038_343.inst = 0;
+// 717
+ow508011038.JSBNG__SVGMetadataElement = f508011038_343;
+// 718
+f508011038_344 = function() { return f508011038_344.returns[f508011038_344.inst++]; };
+f508011038_344.returns = [];
+f508011038_344.inst = 0;
+// 719
+ow508011038.JSBNG__SVGTitleElement = f508011038_344;
+// 720
+f508011038_345 = function() { return f508011038_345.returns[f508011038_345.inst++]; };
+f508011038_345.returns = [];
+f508011038_345.inst = 0;
+// 721
+ow508011038.JSBNG__SVGAnimatedAngle = f508011038_345;
+// 722
+f508011038_346 = function() { return f508011038_346.returns[f508011038_346.inst++]; };
+f508011038_346.returns = [];
+f508011038_346.inst = 0;
+// 723
+ow508011038.JSBNG__CSSCharsetRule = f508011038_346;
+// 724
+f508011038_347 = function() { return f508011038_347.returns[f508011038_347.inst++]; };
+f508011038_347.returns = [];
+f508011038_347.inst = 0;
+// 725
+ow508011038.JSBNG__SVGAnimateColorElement = f508011038_347;
+// 726
+f508011038_348 = function() { return f508011038_348.returns[f508011038_348.inst++]; };
+f508011038_348.returns = [];
+f508011038_348.inst = 0;
+// 727
+ow508011038.JSBNG__SVGMatrix = f508011038_348;
+// 728
+f508011038_349 = function() { return f508011038_349.returns[f508011038_349.inst++]; };
+f508011038_349.returns = [];
+f508011038_349.inst = 0;
+// 729
+ow508011038.JSBNG__HTMLBodyElement = f508011038_349;
+// 730
+f508011038_350 = function() { return f508011038_350.returns[f508011038_350.inst++]; };
+f508011038_350.returns = [];
+f508011038_350.inst = 0;
+// 731
+ow508011038.JSBNG__SVGSymbolElement = f508011038_350;
+// 732
+f508011038_351 = function() { return f508011038_351.returns[f508011038_351.inst++]; };
+f508011038_351.returns = [];
+f508011038_351.inst = 0;
+// 733
+ow508011038.JSBNG__HTMLAudioElement = f508011038_351;
+// 734
+f508011038_352 = function() { return f508011038_352.returns[f508011038_352.inst++]; };
+f508011038_352.returns = [];
+f508011038_352.inst = 0;
+// 735
+ow508011038.JSBNG__CDATASection = f508011038_352;
+// 736
+f508011038_353 = function() { return f508011038_353.returns[f508011038_353.inst++]; };
+f508011038_353.returns = [];
+f508011038_353.inst = 0;
+// 737
+ow508011038.JSBNG__SVGFEDiffuseLightingElement = f508011038_353;
+// 738
+f508011038_354 = function() { return f508011038_354.returns[f508011038_354.inst++]; };
+f508011038_354.returns = [];
+f508011038_354.inst = 0;
+// 739
+ow508011038.JSBNG__SVGFETurbulenceElement = f508011038_354;
+// 740
+f508011038_355 = function() { return f508011038_355.returns[f508011038_355.inst++]; };
+f508011038_355.returns = [];
+f508011038_355.inst = 0;
+// 741
+ow508011038.JSBNG__SVGAnimatedEnumeration = f508011038_355;
+// 742
+f508011038_356 = function() { return f508011038_356.returns[f508011038_356.inst++]; };
+f508011038_356.returns = [];
+f508011038_356.inst = 0;
+// 743
+ow508011038.JSBNG__WebKitCSSKeyframeRule = f508011038_356;
+// 744
+f508011038_357 = function() { return f508011038_357.returns[f508011038_357.inst++]; };
+f508011038_357.returns = [];
+f508011038_357.inst = 0;
+// 745
+ow508011038.JSBNG__Audio = f508011038_357;
+// 746
+f508011038_358 = function() { return f508011038_358.returns[f508011038_358.inst++]; };
+f508011038_358.returns = [];
+f508011038_358.inst = 0;
+// 747
+ow508011038.JSBNG__SVGFEMergeNodeElement = f508011038_358;
+// 748
+f508011038_359 = function() { return f508011038_359.returns[f508011038_359.inst++]; };
+f508011038_359.returns = [];
+f508011038_359.inst = 0;
+// 749
+ow508011038.JSBNG__Entity = f508011038_359;
+// 750
+f508011038_360 = function() { return f508011038_360.returns[f508011038_360.inst++]; };
+f508011038_360.returns = [];
+f508011038_360.inst = 0;
+// 751
+ow508011038.JSBNG__SQLException = f508011038_360;
+// 752
+f508011038_361 = function() { return f508011038_361.returns[f508011038_361.inst++]; };
+f508011038_361.returns = [];
+f508011038_361.inst = 0;
+// 753
+ow508011038.JSBNG__HTMLTableCaptionElement = f508011038_361;
+// 754
+f508011038_362 = function() { return f508011038_362.returns[f508011038_362.inst++]; };
+f508011038_362.returns = [];
+f508011038_362.inst = 0;
+// 755
+ow508011038.JSBNG__DOMStringMap = f508011038_362;
+// 756
+f508011038_363 = function() { return f508011038_363.returns[f508011038_363.inst++]; };
+f508011038_363.returns = [];
+f508011038_363.inst = 0;
+// 757
+ow508011038.JSBNG__MimeType = f508011038_363;
+// 758
+f508011038_364 = function() { return f508011038_364.returns[f508011038_364.inst++]; };
+f508011038_364.returns = [];
+f508011038_364.inst = 0;
+// 759
+ow508011038.JSBNG__EventSource = f508011038_364;
+// 760
+f508011038_365 = function() { return f508011038_365.returns[f508011038_365.inst++]; };
+f508011038_365.returns = [];
+f508011038_365.inst = 0;
+// 761
+ow508011038.JSBNG__SVGException = f508011038_365;
+// 762
+f508011038_366 = function() { return f508011038_366.returns[f508011038_366.inst++]; };
+f508011038_366.returns = [];
+f508011038_366.inst = 0;
+// 763
+ow508011038.JSBNG__NamedNodeMap = f508011038_366;
+// 764
+f508011038_367 = function() { return f508011038_367.returns[f508011038_367.inst++]; };
+f508011038_367.returns = [];
+f508011038_367.inst = 0;
+// 765
+ow508011038.JSBNG__WebGLFramebuffer = f508011038_367;
+// 766
+f508011038_368 = function() { return f508011038_368.returns[f508011038_368.inst++]; };
+f508011038_368.returns = [];
+f508011038_368.inst = 0;
+// 767
+ow508011038.JSBNG__XMLHttpRequestUpload = f508011038_368;
+// 768
+f508011038_369 = function() { return f508011038_369.returns[f508011038_369.inst++]; };
+f508011038_369.returns = [];
+f508011038_369.inst = 0;
+// 769
+ow508011038.JSBNG__WebKitAnimationEvent = f508011038_369;
+// 770
+f508011038_370 = function() { return f508011038_370.returns[f508011038_370.inst++]; };
+f508011038_370.returns = [];
+f508011038_370.inst = 0;
+// 771
+ow508011038.JSBNG__Uint8Array = f508011038_370;
+// 772
+f508011038_371 = function() { return f508011038_371.returns[f508011038_371.inst++]; };
+f508011038_371.returns = [];
+f508011038_371.inst = 0;
+// 773
+ow508011038.JSBNG__SVGAnimatedInteger = f508011038_371;
+// 774
+f508011038_372 = function() { return f508011038_372.returns[f508011038_372.inst++]; };
+f508011038_372.returns = [];
+f508011038_372.inst = 0;
+// 775
+ow508011038.JSBNG__HTMLMenuElement = f508011038_372;
+// 776
+f508011038_373 = function() { return f508011038_373.returns[f508011038_373.inst++]; };
+f508011038_373.returns = [];
+f508011038_373.inst = 0;
+// 777
+ow508011038.JSBNG__SVGDefsElement = f508011038_373;
+// 778
+f508011038_374 = function() { return f508011038_374.returns[f508011038_374.inst++]; };
+f508011038_374.returns = [];
+f508011038_374.inst = 0;
+// 779
+ow508011038.JSBNG__SVGAngle = f508011038_374;
+// 780
+f508011038_375 = function() { return f508011038_375.returns[f508011038_375.inst++]; };
+f508011038_375.returns = [];
+f508011038_375.inst = 0;
+// 781
+ow508011038.JSBNG__SVGSVGElement = f508011038_375;
+// 782
+f508011038_376 = function() { return f508011038_376.returns[f508011038_376.inst++]; };
+f508011038_376.returns = [];
+f508011038_376.inst = 0;
+// 783
+ow508011038.JSBNG__XPathEvaluator = f508011038_376;
+// 784
+f508011038_377 = function() { return f508011038_377.returns[f508011038_377.inst++]; };
+f508011038_377.returns = [];
+f508011038_377.inst = 0;
+// 785
+ow508011038.JSBNG__HTMLImageElement = f508011038_377;
+// 786
+f508011038_378 = function() { return f508011038_378.returns[f508011038_378.inst++]; };
+f508011038_378.returns = [];
+f508011038_378.inst = 0;
+// 787
+ow508011038.JSBNG__NodeFilter = f508011038_378;
+// 788
+f508011038_379 = function() { return f508011038_379.returns[f508011038_379.inst++]; };
+f508011038_379.returns = [];
+f508011038_379.inst = 0;
+// 789
+ow508011038.JSBNG__SVGAltGlyphElement = f508011038_379;
+// 790
+f508011038_380 = function() { return f508011038_380.returns[f508011038_380.inst++]; };
+f508011038_380.returns = [];
+f508011038_380.inst = 0;
+// 791
+ow508011038.JSBNG__SVGClipPathElement = f508011038_380;
+// 792
+f508011038_381 = function() { return f508011038_381.returns[f508011038_381.inst++]; };
+f508011038_381.returns = [];
+f508011038_381.inst = 0;
+// 793
+ow508011038.JSBNG__Attr = f508011038_381;
+// 794
+f508011038_382 = function() { return f508011038_382.returns[f508011038_382.inst++]; };
+f508011038_382.returns = [];
+f508011038_382.inst = 0;
+// 795
+ow508011038.JSBNG__Counter = f508011038_382;
+// 796
+f508011038_383 = function() { return f508011038_383.returns[f508011038_383.inst++]; };
+f508011038_383.returns = [];
+f508011038_383.inst = 0;
+// 797
+ow508011038.JSBNG__SVGPolylineElement = f508011038_383;
+// 798
+f508011038_384 = function() { return f508011038_384.returns[f508011038_384.inst++]; };
+f508011038_384.returns = [];
+f508011038_384.inst = 0;
+// 799
+ow508011038.JSBNG__DOMSettableTokenList = f508011038_384;
+// 800
+f508011038_385 = function() { return f508011038_385.returns[f508011038_385.inst++]; };
+f508011038_385.returns = [];
+f508011038_385.inst = 0;
+// 801
+ow508011038.JSBNG__SVGPatternElement = f508011038_385;
+// 802
+f508011038_386 = function() { return f508011038_386.returns[f508011038_386.inst++]; };
+f508011038_386.returns = [];
+f508011038_386.inst = 0;
+// 803
+ow508011038.JSBNG__SVGFECompositeElement = f508011038_386;
+// 804
+f508011038_387 = function() { return f508011038_387.returns[f508011038_387.inst++]; };
+f508011038_387.returns = [];
+f508011038_387.inst = 0;
+// 805
+ow508011038.JSBNG__CSSValueList = f508011038_387;
+// 806
+f508011038_388 = function() { return f508011038_388.returns[f508011038_388.inst++]; };
+f508011038_388.returns = [];
+f508011038_388.inst = 0;
+// 807
+ow508011038.JSBNG__SVGFEColorMatrixElement = f508011038_388;
+// 808
+f508011038_389 = function() { return f508011038_389.returns[f508011038_389.inst++]; };
+f508011038_389.returns = [];
+f508011038_389.inst = 0;
+// 809
+ow508011038.JSBNG__SVGTRefElement = f508011038_389;
+// 810
+f508011038_390 = function() { return f508011038_390.returns[f508011038_390.inst++]; };
+f508011038_390.returns = [];
+f508011038_390.inst = 0;
+// 811
+ow508011038.JSBNG__WheelEvent = f508011038_390;
+// 812
+f508011038_391 = function() { return f508011038_391.returns[f508011038_391.inst++]; };
+f508011038_391.returns = [];
+f508011038_391.inst = 0;
+// 813
+ow508011038.JSBNG__SVGUnitTypes = f508011038_391;
+// 814
+f508011038_392 = function() { return f508011038_392.returns[f508011038_392.inst++]; };
+f508011038_392.returns = [];
+f508011038_392.inst = 0;
+// 815
+ow508011038.JSBNG__HTMLLabelElement = f508011038_392;
+// 816
+f508011038_393 = function() { return f508011038_393.returns[f508011038_393.inst++]; };
+f508011038_393.returns = [];
+f508011038_393.inst = 0;
+// 817
+ow508011038.JSBNG__HTMLAnchorElement = f508011038_393;
+// 818
+f508011038_394 = function() { return f508011038_394.returns[f508011038_394.inst++]; };
+f508011038_394.returns = [];
+f508011038_394.inst = 0;
+// 819
+ow508011038.JSBNG__SVGFEFuncAElement = f508011038_394;
+// 820
+f508011038_395 = function() { return f508011038_395.returns[f508011038_395.inst++]; };
+f508011038_395.returns = [];
+f508011038_395.inst = 0;
+// 821
+ow508011038.JSBNG__CanvasGradient = f508011038_395;
+// 822
+f508011038_396 = function() { return f508011038_396.returns[f508011038_396.inst++]; };
+f508011038_396.returns = [];
+f508011038_396.inst = 0;
+// 823
+ow508011038.JSBNG__DocumentType = f508011038_396;
+// 824
+f508011038_397 = function() { return f508011038_397.returns[f508011038_397.inst++]; };
+f508011038_397.returns = [];
+f508011038_397.inst = 0;
+// 825
+ow508011038.JSBNG__DOMParser = f508011038_397;
+// 826
+f508011038_398 = function() { return f508011038_398.returns[f508011038_398.inst++]; };
+f508011038_398.returns = [];
+f508011038_398.inst = 0;
+// 827
+ow508011038.JSBNG__SVGRenderingIntent = f508011038_398;
+// 828
+f508011038_399 = function() { return f508011038_399.returns[f508011038_399.inst++]; };
+f508011038_399.returns = [];
+f508011038_399.inst = 0;
+// 829
+ow508011038.JSBNG__WebKitPoint = f508011038_399;
+// 830
+f508011038_400 = function() { return f508011038_400.returns[f508011038_400.inst++]; };
+f508011038_400.returns = [];
+f508011038_400.inst = 0;
+// 831
+ow508011038.JSBNG__HTMLLinkElement = f508011038_400;
+// 832
+f508011038_401 = function() { return f508011038_401.returns[f508011038_401.inst++]; };
+f508011038_401.returns = [];
+f508011038_401.inst = 0;
+// 833
+ow508011038.JSBNG__SVGFontFaceNameElement = f508011038_401;
+// 834
+ow508011038.JSBNG__TEMPORARY = 0;
+// 835
+ow508011038.JSBNG__PERSISTENT = 1;
+// 836
+f508011038_402 = function() { return f508011038_402.returns[f508011038_402.inst++]; };
+f508011038_402.returns = [];
+f508011038_402.inst = 0;
+// 837
+ow508011038.JSBNG__SVGZoomAndPan = f508011038_402;
+// 838
+f508011038_403 = function() { return f508011038_403.returns[f508011038_403.inst++]; };
+f508011038_403.returns = [];
+f508011038_403.inst = 0;
+// 839
+ow508011038.JSBNG__OfflineAudioCompletionEvent = f508011038_403;
+// 840
+f508011038_404 = function() { return f508011038_404.returns[f508011038_404.inst++]; };
+f508011038_404.returns = [];
+f508011038_404.inst = 0;
+// 841
+ow508011038.JSBNG__XMLHttpRequestProgressEvent = f508011038_404;
+// 842
+f508011038_405 = function() { return f508011038_405.returns[f508011038_405.inst++]; };
+f508011038_405.returns = [];
+f508011038_405.inst = 0;
+// 843
+ow508011038.JSBNG__HTMLSpanElement = f508011038_405;
+// 844
+f508011038_406 = function() { return f508011038_406.returns[f508011038_406.inst++]; };
+f508011038_406.returns = [];
+f508011038_406.inst = 0;
+// 845
+ow508011038.JSBNG__ErrorEvent = f508011038_406;
+// 846
+f508011038_407 = function() { return f508011038_407.returns[f508011038_407.inst++]; };
+f508011038_407.returns = [];
+f508011038_407.inst = 0;
+// 847
+ow508011038.JSBNG__HTMLUnknownElement = f508011038_407;
+// 848
+f508011038_408 = function() { return f508011038_408.returns[f508011038_408.inst++]; };
+f508011038_408.returns = [];
+f508011038_408.inst = 0;
+// 849
+ow508011038.JSBNG__MediaStreamEvent = f508011038_408;
+// 850
+f508011038_409 = function() { return f508011038_409.returns[f508011038_409.inst++]; };
+f508011038_409.returns = [];
+f508011038_409.inst = 0;
+// 851
+ow508011038.JSBNG__WebGLContextEvent = f508011038_409;
+// 852
+f508011038_410 = function() { return f508011038_410.returns[f508011038_410.inst++]; };
+f508011038_410.returns = [];
+f508011038_410.inst = 0;
+// 853
+ow508011038.JSBNG__AudioProcessingEvent = f508011038_410;
+// 854
+f508011038_411 = function() { return f508011038_411.returns[f508011038_411.inst++]; };
+f508011038_411.returns = [];
+f508011038_411.inst = 0;
+// 855
+ow508011038.JSBNG__CompositionEvent = f508011038_411;
+// 856
+f508011038_412 = function() { return f508011038_412.returns[f508011038_412.inst++]; };
+f508011038_412.returns = [];
+f508011038_412.inst = 0;
+// 857
+ow508011038.JSBNG__PopStateEvent = f508011038_412;
+// 858
+f508011038_413 = function() { return f508011038_413.returns[f508011038_413.inst++]; };
+f508011038_413.returns = [];
+f508011038_413.inst = 0;
+// 859
+ow508011038.JSBNG__CustomEvent = f508011038_413;
+// 860
+f508011038_414 = function() { return f508011038_414.returns[f508011038_414.inst++]; };
+f508011038_414.returns = [];
+f508011038_414.inst = 0;
+// 861
+ow508011038.JSBNG__HTMLSourceElement = f508011038_414;
+// 862
+f508011038_415 = function() { return f508011038_415.returns[f508011038_415.inst++]; };
+f508011038_415.returns = [];
+f508011038_415.inst = 0;
+// 863
+ow508011038.JSBNG__SpeechInputEvent = f508011038_415;
+// 864
+f508011038_416 = function() { return f508011038_416.returns[f508011038_416.inst++]; };
+f508011038_416.returns = [];
+f508011038_416.inst = 0;
+// 865
+ow508011038.JSBNG__MediaController = f508011038_416;
+// 866
+f508011038_417 = function() { return f508011038_417.returns[f508011038_417.inst++]; };
+f508011038_417.returns = [];
+f508011038_417.inst = 0;
+// 867
+ow508011038.JSBNG__WebKitMutationObserver = f508011038_417;
+// 868
+f508011038_418 = function() { return f508011038_418.returns[f508011038_418.inst++]; };
+f508011038_418.returns = [];
+f508011038_418.inst = 0;
+// 869
+ow508011038.JSBNG__WebKitCSSFilterValue = f508011038_418;
+// 870
+f508011038_419 = function() { return f508011038_419.returns[f508011038_419.inst++]; };
+f508011038_419.returns = [];
+f508011038_419.inst = 0;
+// 871
+ow508011038.JSBNG__webkitCancelAnimationFrame = f508011038_419;
+// 872
+f508011038_420 = function() { return f508011038_420.returns[f508011038_420.inst++]; };
+f508011038_420.returns = [];
+f508011038_420.inst = 0;
+// 873
+ow508011038.JSBNG__Window = f508011038_420;
+// 874
+f508011038_421 = function() { return f508011038_421.returns[f508011038_421.inst++]; };
+f508011038_421.returns = [];
+f508011038_421.inst = 0;
+// 875
+ow508011038.JSBNG__Selection = f508011038_421;
+// 876
+f508011038_422 = function() { return f508011038_422.returns[f508011038_422.inst++]; };
+f508011038_422.returns = [];
+f508011038_422.inst = 0;
+// 877
+ow508011038.JSBNG__Uint8ClampedArray = f508011038_422;
+// 878
+f508011038_423 = function() { return f508011038_423.returns[f508011038_423.inst++]; };
+f508011038_423.returns = [];
+f508011038_423.inst = 0;
+// 879
+ow508011038.JSBNG__WebGLShaderPrecisionFormat = f508011038_423;
+// 880
+f508011038_424 = function() { return f508011038_424.returns[f508011038_424.inst++]; };
+f508011038_424.returns = [];
+f508011038_424.inst = 0;
+// 881
+ow508011038.JSBNG__Notification = f508011038_424;
+// 882
+f508011038_425 = function() { return f508011038_425.returns[f508011038_425.inst++]; };
+f508011038_425.returns = [];
+f508011038_425.inst = 0;
+// 883
+ow508011038.JSBNG__HTMLDataListElement = f508011038_425;
+// 884
+f508011038_426 = function() { return f508011038_426.returns[f508011038_426.inst++]; };
+f508011038_426.returns = [];
+f508011038_426.inst = 0;
+// 885
+ow508011038.JSBNG__SVGViewSpec = f508011038_426;
+// 886
+ow508011038.JSBNG__indexedDB = o6;
+// undefined
+o6 = null;
+// 887
+o6 = {};
+// 888
+ow508011038.JSBNG__Intl = o6;
+// 889
+ow508011038.JSBNG__v8Intl = o6;
+// undefined
+o6 = null;
+// 890
+f508011038_428 = function() { return f508011038_428.returns[f508011038_428.inst++]; };
+f508011038_428.returns = [];
+f508011038_428.inst = 0;
+// 891
+ow508011038.JSBNG__webkitRTCPeerConnection = f508011038_428;
+// 892
+f508011038_429 = function() { return f508011038_429.returns[f508011038_429.inst++]; };
+f508011038_429.returns = [];
+f508011038_429.inst = 0;
+// 893
+ow508011038.JSBNG__webkitMediaStream = f508011038_429;
+// 894
+f508011038_430 = function() { return f508011038_430.returns[f508011038_430.inst++]; };
+f508011038_430.returns = [];
+f508011038_430.inst = 0;
+// 895
+ow508011038.JSBNG__webkitOfflineAudioContext = f508011038_430;
+// 896
+f508011038_431 = function() { return f508011038_431.returns[f508011038_431.inst++]; };
+f508011038_431.returns = [];
+f508011038_431.inst = 0;
+// 897
+ow508011038.JSBNG__webkitSpeechGrammarList = f508011038_431;
+// 898
+f508011038_432 = function() { return f508011038_432.returns[f508011038_432.inst++]; };
+f508011038_432.returns = [];
+f508011038_432.inst = 0;
+// 899
+ow508011038.JSBNG__webkitSpeechGrammar = f508011038_432;
+// 900
+f508011038_433 = function() { return f508011038_433.returns[f508011038_433.inst++]; };
+f508011038_433.returns = [];
+f508011038_433.inst = 0;
+// 901
+ow508011038.JSBNG__webkitSpeechRecognitionEvent = f508011038_433;
+// 902
+f508011038_434 = function() { return f508011038_434.returns[f508011038_434.inst++]; };
+f508011038_434.returns = [];
+f508011038_434.inst = 0;
+// 903
+ow508011038.JSBNG__webkitSpeechRecognitionError = f508011038_434;
+// 904
+f508011038_435 = function() { return f508011038_435.returns[f508011038_435.inst++]; };
+f508011038_435.returns = [];
+f508011038_435.inst = 0;
+// 905
+ow508011038.JSBNG__webkitSpeechRecognition = f508011038_435;
+// 906
+f508011038_436 = function() { return f508011038_436.returns[f508011038_436.inst++]; };
+f508011038_436.returns = [];
+f508011038_436.inst = 0;
+// 907
+ow508011038.JSBNG__WebKitSourceBufferList = f508011038_436;
+// 908
+f508011038_437 = function() { return f508011038_437.returns[f508011038_437.inst++]; };
+f508011038_437.returns = [];
+f508011038_437.inst = 0;
+// 909
+ow508011038.JSBNG__WebKitSourceBuffer = f508011038_437;
+// 910
+f508011038_438 = function() { return f508011038_438.returns[f508011038_438.inst++]; };
+f508011038_438.returns = [];
+f508011038_438.inst = 0;
+// 911
+ow508011038.JSBNG__WebKitMediaSource = f508011038_438;
+// 912
+f508011038_439 = function() { return f508011038_439.returns[f508011038_439.inst++]; };
+f508011038_439.returns = [];
+f508011038_439.inst = 0;
+// 913
+ow508011038.JSBNG__TrackEvent = f508011038_439;
+// 914
+f508011038_440 = function() { return f508011038_440.returns[f508011038_440.inst++]; };
+f508011038_440.returns = [];
+f508011038_440.inst = 0;
+// 915
+ow508011038.JSBNG__TextTrackList = f508011038_440;
+// 916
+f508011038_441 = function() { return f508011038_441.returns[f508011038_441.inst++]; };
+f508011038_441.returns = [];
+f508011038_441.inst = 0;
+// 917
+ow508011038.JSBNG__TextTrackCueList = f508011038_441;
+// 918
+f508011038_442 = function() { return f508011038_442.returns[f508011038_442.inst++]; };
+f508011038_442.returns = [];
+f508011038_442.inst = 0;
+// 919
+ow508011038.JSBNG__TextTrackCue = f508011038_442;
+// 920
+f508011038_443 = function() { return f508011038_443.returns[f508011038_443.inst++]; };
+f508011038_443.returns = [];
+f508011038_443.inst = 0;
+// 921
+ow508011038.JSBNG__TextTrack = f508011038_443;
+// 922
+f508011038_444 = function() { return f508011038_444.returns[f508011038_444.inst++]; };
+f508011038_444.returns = [];
+f508011038_444.inst = 0;
+// 923
+ow508011038.JSBNG__HTMLTrackElement = f508011038_444;
+// 924
+f508011038_445 = function() { return f508011038_445.returns[f508011038_445.inst++]; };
+f508011038_445.returns = [];
+f508011038_445.inst = 0;
+// 925
+ow508011038.JSBNG__MediaKeyError = f508011038_445;
+// 926
+f508011038_446 = function() { return f508011038_446.returns[f508011038_446.inst++]; };
+f508011038_446.returns = [];
+f508011038_446.inst = 0;
+// 927
+ow508011038.JSBNG__MediaKeyEvent = f508011038_446;
+// 928
+f508011038_447 = function() { return f508011038_447.returns[f508011038_447.inst++]; };
+f508011038_447.returns = [];
+f508011038_447.inst = 0;
+// 929
+ow508011038.JSBNG__HTMLShadowElement = f508011038_447;
+// 930
+f508011038_448 = function() { return f508011038_448.returns[f508011038_448.inst++]; };
+f508011038_448.returns = [];
+f508011038_448.inst = 0;
+// 931
+ow508011038.JSBNG__HTMLContentElement = f508011038_448;
+// 932
+f508011038_449 = function() { return f508011038_449.returns[f508011038_449.inst++]; };
+f508011038_449.returns = [];
+f508011038_449.inst = 0;
+// 933
+ow508011038.JSBNG__WebKitShadowRoot = f508011038_449;
+// 934
+f508011038_450 = function() { return f508011038_450.returns[f508011038_450.inst++]; };
+f508011038_450.returns = [];
+f508011038_450.inst = 0;
+// 935
+ow508011038.JSBNG__RTCIceCandidate = f508011038_450;
+// 936
+f508011038_451 = function() { return f508011038_451.returns[f508011038_451.inst++]; };
+f508011038_451.returns = [];
+f508011038_451.inst = 0;
+// 937
+ow508011038.JSBNG__RTCSessionDescription = f508011038_451;
+// 938
+f508011038_452 = function() { return f508011038_452.returns[f508011038_452.inst++]; };
+f508011038_452.returns = [];
+f508011038_452.inst = 0;
+// 939
+ow508011038.JSBNG__IDBVersionChangeEvent = f508011038_452;
+// 940
+ow508011038.JSBNG__IDBTransaction = f508011038_49;
+// 941
+ow508011038.JSBNG__IDBRequest = f508011038_59;
+// 942
+f508011038_453 = function() { return f508011038_453.returns[f508011038_453.inst++]; };
+f508011038_453.returns = [];
+f508011038_453.inst = 0;
+// 943
+ow508011038.JSBNG__IDBOpenDBRequest = f508011038_453;
+// 944
+ow508011038.JSBNG__IDBObjectStore = f508011038_60;
+// 945
+ow508011038.JSBNG__IDBKeyRange = f508011038_62;
+// 946
+ow508011038.JSBNG__IDBIndex = f508011038_51;
+// 947
+ow508011038.JSBNG__IDBFactory = f508011038_53;
+// 948
+ow508011038.JSBNG__IDBDatabase = f508011038_57;
+// 949
+f508011038_454 = function() { return f508011038_454.returns[f508011038_454.inst++]; };
+f508011038_454.returns = [];
+f508011038_454.inst = 0;
+// 950
+ow508011038.JSBNG__IDBCursorWithValue = f508011038_454;
+// 951
+ow508011038.JSBNG__IDBCursor = f508011038_54;
+// 952
+ow508011038.JSBNG__MutationObserver = f508011038_417;
+// 953
+ow508011038.JSBNG__TransitionEvent = f508011038_151;
+// 954
+f508011038_455 = function() { return f508011038_455.returns[f508011038_455.inst++]; };
+f508011038_455.returns = [];
+f508011038_455.inst = 0;
+// 955
+ow508011038.JSBNG__FocusEvent = f508011038_455;
+// 956
+f508011038_456 = function() { return f508011038_456.returns[f508011038_456.inst++]; };
+f508011038_456.returns = [];
+f508011038_456.inst = 0;
+// 957
+ow508011038.JSBNG__ArrayBufferView = f508011038_456;
+// 958
+f508011038_457 = function() { return f508011038_457.returns[f508011038_457.inst++]; };
+f508011038_457.returns = [];
+f508011038_457.inst = 0;
+// 959
+ow508011038.JSBNG__HTMLOptionsCollection = f508011038_457;
+// 960
+f508011038_458 = function() { return f508011038_458.returns[f508011038_458.inst++]; };
+f508011038_458.returns = [];
+f508011038_458.inst = 0;
+// 961
+ow508011038.JSBNG__HTMLFormControlsCollection = f508011038_458;
+// 962
+f508011038_459 = function() { return f508011038_459.returns[f508011038_459.inst++]; };
+f508011038_459.returns = [];
+f508011038_459.inst = 0;
+// 963
+ow508011038.JSBNG__HTMLTemplateElement = f508011038_459;
+// 964
+f508011038_460 = function() { return f508011038_460.returns[f508011038_460.inst++]; };
+f508011038_460.returns = [];
+f508011038_460.inst = 0;
+// 965
+ow508011038.JSBNG__CSSHostRule = f508011038_460;
+// 966
+f508011038_461 = function() { return f508011038_461.returns[f508011038_461.inst++]; };
+f508011038_461.returns = [];
+f508011038_461.inst = 0;
+// 967
+ow508011038.JSBNG__WebKitCSSMixFunctionValue = f508011038_461;
+// 968
+f508011038_462 = function() { return f508011038_462.returns[f508011038_462.inst++]; };
+f508011038_462.returns = [];
+f508011038_462.inst = 0;
+// 969
+ow508011038.JSBNG__WebKitCSSFilterRule = f508011038_462;
+// 970
+f508011038_463 = function() { return f508011038_463.returns[f508011038_463.inst++]; };
+f508011038_463.returns = [];
+f508011038_463.inst = 0;
+// 971
+ow508011038.JSBNG__requestAnimationFrame = f508011038_463;
+// 972
+f508011038_464 = function() { return f508011038_464.returns[f508011038_464.inst++]; };
+f508011038_464.returns = [];
+f508011038_464.inst = 0;
+// 973
+ow508011038.JSBNG__cancelAnimationFrame = f508011038_464;
+// 974
+ow508011038.JSBNG__onerror = null;
+// 975
+o6 = {};
+// 976
+ow508011038.JSBNG__CSS = o6;
+// undefined
+o6 = null;
+// 977
+f508011038_466 = function() { return f508011038_466.returns[f508011038_466.inst++]; };
+f508011038_466.returns = [];
+f508011038_466.inst = 0;
+// 978
+ow508011038.Math.JSBNG__random = f508011038_466;
+// 981
+// 983
+o6 = {};
+// 984
+o0.documentElement = o6;
+// 986
+o6.className = "";
+// 988
+f508011038_468 = function() { return f508011038_468.returns[f508011038_468.inst++]; };
+f508011038_468.returns = [];
+f508011038_468.inst = 0;
+// 989
+o6.getAttribute = f508011038_468;
+// 990
+f508011038_468.returns.push("swift-loading");
+// 991
+// 993
+// 994
+// 995
+// 996
+// 997
+f508011038_12.returns.push(1);
+// 999
+f508011038_469 = function() { return f508011038_469.returns[f508011038_469.inst++]; };
+f508011038_469.returns = [];
+f508011038_469.inst = 0;
+// 1000
+o0.JSBNG__addEventListener = f508011038_469;
+// 1002
+f508011038_469.returns.push(undefined);
+// 1004
+f508011038_469.returns.push(undefined);
+// 1006
+// 1007
+o0.nodeType = 9;
+// 1008
+f508011038_470 = function() { return f508011038_470.returns[f508011038_470.inst++]; };
+f508011038_470.returns = [];
+f508011038_470.inst = 0;
+// 1009
+o0.createElement = f508011038_470;
+// 1010
+o8 = {};
+// 1011
+f508011038_470.returns.push(o8);
+// 1012
+f508011038_472 = function() { return f508011038_472.returns[f508011038_472.inst++]; };
+f508011038_472.returns = [];
+f508011038_472.inst = 0;
+// 1013
+o8.setAttribute = f508011038_472;
+// 1014
+f508011038_472.returns.push(undefined);
+// 1015
+// 1016
+f508011038_473 = function() { return f508011038_473.returns[f508011038_473.inst++]; };
+f508011038_473.returns = [];
+f508011038_473.inst = 0;
+// 1017
+o8.getElementsByTagName = f508011038_473;
+// 1018
+o9 = {};
+// 1019
+f508011038_473.returns.push(o9);
+// 1021
+o10 = {};
+// 1022
+f508011038_473.returns.push(o10);
+// 1023
+o11 = {};
+// 1024
+o10["0"] = o11;
+// undefined
+o10 = null;
+// 1025
+o9.length = 4;
+// undefined
+o9 = null;
+// 1027
+o9 = {};
+// 1028
+f508011038_470.returns.push(o9);
+// 1029
+f508011038_478 = function() { return f508011038_478.returns[f508011038_478.inst++]; };
+f508011038_478.returns = [];
+f508011038_478.inst = 0;
+// 1030
+o9.appendChild = f508011038_478;
+// 1032
+o10 = {};
+// 1033
+f508011038_470.returns.push(o10);
+// 1034
+f508011038_478.returns.push(o10);
+// 1036
+o12 = {};
+// 1037
+f508011038_473.returns.push(o12);
+// 1038
+o13 = {};
+// 1039
+o12["0"] = o13;
+// undefined
+o12 = null;
+// 1040
+o12 = {};
+// 1041
+o11.style = o12;
+// 1042
+// 1043
+o14 = {};
+// 1044
+o8.firstChild = o14;
+// 1045
+o14.nodeType = 3;
+// undefined
+o14 = null;
+// 1047
+o14 = {};
+// 1048
+f508011038_473.returns.push(o14);
+// 1049
+o14.length = 0;
+// undefined
+o14 = null;
+// 1051
+o14 = {};
+// 1052
+f508011038_473.returns.push(o14);
+// 1053
+o14.length = 1;
+// undefined
+o14 = null;
+// 1054
+o11.getAttribute = f508011038_468;
+// undefined
+o11 = null;
+// 1055
+f508011038_468.returns.push("top: 1px; float: left; opacity: 0.5;");
+// 1057
+f508011038_468.returns.push("/a");
+// 1059
+o12.opacity = "0.5";
+// 1061
+o12.cssFloat = "left";
+// undefined
+o12 = null;
+// 1062
+o13.value = "on";
+// 1063
+o10.selected = true;
+// 1064
+o8.className = "";
+// 1066
+o11 = {};
+// 1067
+f508011038_470.returns.push(o11);
+// 1068
+o11.enctype = "application/x-www-form-urlencoded";
+// undefined
+o11 = null;
+// 1070
+o11 = {};
+// 1071
+f508011038_470.returns.push(o11);
+// 1072
+f508011038_488 = function() { return f508011038_488.returns[f508011038_488.inst++]; };
+f508011038_488.returns = [];
+f508011038_488.inst = 0;
+// 1073
+o11.cloneNode = f508011038_488;
+// undefined
+o11 = null;
+// 1074
+o11 = {};
+// 1075
+f508011038_488.returns.push(o11);
+// 1076
+o11.outerHTML = "<nav></nav>";
+// undefined
+o11 = null;
+// 1077
+o0.compatMode = "CSS1Compat";
+// 1078
+// 1079
+o13.cloneNode = f508011038_488;
+// undefined
+o13 = null;
+// 1080
+o11 = {};
+// 1081
+f508011038_488.returns.push(o11);
+// 1082
+o11.checked = true;
+// undefined
+o11 = null;
+// 1083
+// undefined
+o9 = null;
+// 1084
+o10.disabled = false;
+// undefined
+o10 = null;
+// 1085
+// 1086
+o8.JSBNG__addEventListener = f508011038_469;
+// 1088
+o9 = {};
+// 1089
+f508011038_470.returns.push(o9);
+// 1090
+// 1091
+o9.setAttribute = f508011038_472;
+// 1092
+f508011038_472.returns.push(undefined);
+// 1094
+f508011038_472.returns.push(undefined);
+// 1096
+f508011038_472.returns.push(undefined);
+// 1097
+o8.appendChild = f508011038_478;
+// 1098
+f508011038_478.returns.push(o9);
+// 1099
+f508011038_492 = function() { return f508011038_492.returns[f508011038_492.inst++]; };
+f508011038_492.returns = [];
+f508011038_492.inst = 0;
+// 1100
+o0.createDocumentFragment = f508011038_492;
+// 1101
+o10 = {};
+// 1102
+f508011038_492.returns.push(o10);
+// 1103
+o10.appendChild = f508011038_478;
+// 1104
+o8.lastChild = o9;
+// 1105
+f508011038_478.returns.push(o9);
+// 1106
+o10.cloneNode = f508011038_488;
+// 1107
+o11 = {};
+// 1108
+f508011038_488.returns.push(o11);
+// 1109
+o11.cloneNode = f508011038_488;
+// undefined
+o11 = null;
+// 1110
+o11 = {};
+// 1111
+f508011038_488.returns.push(o11);
+// 1112
+o12 = {};
+// 1113
+o11.lastChild = o12;
+// undefined
+o11 = null;
+// 1114
+o12.checked = true;
+// undefined
+o12 = null;
+// 1115
+o9.checked = true;
+// 1116
+f508011038_497 = function() { return f508011038_497.returns[f508011038_497.inst++]; };
+f508011038_497.returns = [];
+f508011038_497.inst = 0;
+// 1117
+o10.removeChild = f508011038_497;
+// undefined
+o10 = null;
+// 1118
+f508011038_497.returns.push(o9);
+// undefined
+o9 = null;
+// 1120
+f508011038_478.returns.push(o8);
+// 1121
+o8.JSBNG__attachEvent = void 0;
+// 1122
+o0.readyState = "interactive";
+// 1125
+f508011038_469.returns.push(undefined);
+// 1126
+f508011038_7.returns.push(undefined);
+// 1128
+f508011038_497.returns.push(o8);
+// undefined
+o8 = null;
+// 1129
+f508011038_466.returns.push(0.5379572303500026);
+// 1130
+f508011038_498 = function() { return f508011038_498.returns[f508011038_498.inst++]; };
+f508011038_498.returns = [];
+f508011038_498.inst = 0;
+// 1131
+o0.JSBNG__removeEventListener = f508011038_498;
+// 1132
+f508011038_466.returns.push(0.9989213712979108);
+// 1135
+o8 = {};
+// 1136
+f508011038_470.returns.push(o8);
+// 1137
+o8.appendChild = f508011038_478;
+// 1138
+f508011038_500 = function() { return f508011038_500.returns[f508011038_500.inst++]; };
+f508011038_500.returns = [];
+f508011038_500.inst = 0;
+// 1139
+o0.createComment = f508011038_500;
+// 1140
+o9 = {};
+// 1141
+f508011038_500.returns.push(o9);
+// 1142
+f508011038_478.returns.push(o9);
+// undefined
+o9 = null;
+// 1143
+o8.getElementsByTagName = f508011038_473;
+// undefined
+o8 = null;
+// 1144
+o8 = {};
+// 1145
+f508011038_473.returns.push(o8);
+// 1146
+o8.length = 0;
+// undefined
+o8 = null;
+// 1148
+o8 = {};
+// 1149
+f508011038_470.returns.push(o8);
+// 1150
+// 1151
+o9 = {};
+// 1152
+o8.firstChild = o9;
+// undefined
+o8 = null;
+// 1154
+o9.getAttribute = f508011038_468;
+// undefined
+o9 = null;
+// 1157
+f508011038_468.returns.push("#");
+// 1159
+o8 = {};
+// 1160
+f508011038_470.returns.push(o8);
+// 1161
+// 1162
+o9 = {};
+// 1163
+o8.lastChild = o9;
+// undefined
+o8 = null;
+// 1164
+o9.getAttribute = f508011038_468;
+// undefined
+o9 = null;
+// 1165
+f508011038_468.returns.push(null);
+// 1167
+o8 = {};
+// 1168
+f508011038_470.returns.push(o8);
+// 1169
+// 1170
+f508011038_508 = function() { return f508011038_508.returns[f508011038_508.inst++]; };
+f508011038_508.returns = [];
+f508011038_508.inst = 0;
+// 1171
+o8.getElementsByClassName = f508011038_508;
+// 1173
+o9 = {};
+// 1174
+f508011038_508.returns.push(o9);
+// 1175
+o9.length = 1;
+// undefined
+o9 = null;
+// 1176
+o9 = {};
+// 1177
+o8.lastChild = o9;
+// undefined
+o8 = null;
+// 1178
+// undefined
+o9 = null;
+// 1180
+o8 = {};
+// 1181
+f508011038_508.returns.push(o8);
+// 1182
+o8.length = 2;
+// undefined
+o8 = null;
+// 1184
+o8 = {};
+// 1185
+f508011038_470.returns.push(o8);
+// 1186
+// 1187
+// 1188
+f508011038_513 = function() { return f508011038_513.returns[f508011038_513.inst++]; };
+f508011038_513.returns = [];
+f508011038_513.inst = 0;
+// 1189
+o6.insertBefore = f508011038_513;
+// 1190
+o9 = {};
+// 1191
+o6.firstChild = o9;
+// 1192
+f508011038_513.returns.push(o8);
+// 1193
+f508011038_515 = function() { return f508011038_515.returns[f508011038_515.inst++]; };
+f508011038_515.returns = [];
+f508011038_515.inst = 0;
+// 1194
+o0.getElementsByName = f508011038_515;
+// 1196
+o10 = {};
+// 1197
+f508011038_515.returns.push(o10);
+// 1198
+o10.length = 2;
+// undefined
+o10 = null;
+// 1200
+o10 = {};
+// 1201
+f508011038_515.returns.push(o10);
+// 1202
+o10.length = 0;
+// undefined
+o10 = null;
+// 1203
+f508011038_518 = function() { return f508011038_518.returns[f508011038_518.inst++]; };
+f508011038_518.returns = [];
+f508011038_518.inst = 0;
+// 1204
+o0.getElementById = f508011038_518;
+// 1205
+f508011038_518.returns.push(null);
+// 1206
+o6.removeChild = f508011038_497;
+// 1207
+f508011038_497.returns.push(o8);
+// undefined
+o8 = null;
+// 1208
+o8 = {};
+// 1209
+o6.childNodes = o8;
+// 1210
+o8.length = 3;
+// 1211
+o8["0"] = o9;
+// 1212
+o10 = {};
+// 1213
+o8["1"] = o10;
+// undefined
+o10 = null;
+// 1214
+o10 = {};
+// 1215
+o8["2"] = o10;
+// undefined
+o8 = null;
+// 1216
+f508011038_522 = function() { return f508011038_522.returns[f508011038_522.inst++]; };
+f508011038_522.returns = [];
+f508011038_522.inst = 0;
+// 1217
+o6.contains = f508011038_522;
+// 1218
+f508011038_523 = function() { return f508011038_523.returns[f508011038_523.inst++]; };
+f508011038_523.returns = [];
+f508011038_523.inst = 0;
+// 1219
+o6.compareDocumentPosition = f508011038_523;
+// 1220
+f508011038_524 = function() { return f508011038_524.returns[f508011038_524.inst++]; };
+f508011038_524.returns = [];
+f508011038_524.inst = 0;
+// 1221
+o0.querySelectorAll = f508011038_524;
+// 1222
+o6.matchesSelector = void 0;
+// 1223
+o6.mozMatchesSelector = void 0;
+// 1224
+f508011038_525 = function() { return f508011038_525.returns[f508011038_525.inst++]; };
+f508011038_525.returns = [];
+f508011038_525.inst = 0;
+// 1225
+o6.webkitMatchesSelector = f508011038_525;
+// 1227
+o8 = {};
+// 1228
+f508011038_470.returns.push(o8);
+// 1229
+// 1230
+f508011038_527 = function() { return f508011038_527.returns[f508011038_527.inst++]; };
+f508011038_527.returns = [];
+f508011038_527.inst = 0;
+// 1231
+o8.querySelectorAll = f508011038_527;
+// undefined
+o8 = null;
+// 1232
+o8 = {};
+// 1233
+f508011038_527.returns.push(o8);
+// 1234
+o8.length = 1;
+// undefined
+o8 = null;
+// 1236
+o8 = {};
+// 1237
+f508011038_527.returns.push(o8);
+// 1238
+o8.length = 1;
+// undefined
+o8 = null;
+// 1240
+o8 = {};
+// 1241
+f508011038_470.returns.push(o8);
+// 1242
+// 1243
+o8.querySelectorAll = f508011038_527;
+// 1244
+o11 = {};
+// 1245
+f508011038_527.returns.push(o11);
+// 1246
+o11.length = 0;
+// undefined
+o11 = null;
+// 1247
+// undefined
+o8 = null;
+// 1249
+o8 = {};
+// 1250
+f508011038_527.returns.push(o8);
+// 1251
+o8.length = 1;
+// undefined
+o8 = null;
+// 1253
+o8 = {};
+// 1254
+f508011038_470.returns.push(o8);
+// undefined
+o8 = null;
+// 1255
+f508011038_525.returns.push(true);
+// 1257
+o8 = {};
+// 1258
+f508011038_492.returns.push(o8);
+// 1259
+o8.createElement = void 0;
+// 1260
+o8.appendChild = f508011038_478;
+// undefined
+o8 = null;
+// 1262
+o8 = {};
+// 1263
+f508011038_470.returns.push(o8);
+// 1264
+f508011038_478.returns.push(o8);
+// undefined
+o8 = null;
+// 1265
+o3.userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36";
+// 1266
+o5.href = "https://twitter.com/search?q=javascript";
+// 1267
+o8 = {};
+// 1268
+f508011038_0.returns.push(o8);
+// 1269
+f508011038_537 = function() { return f508011038_537.returns[f508011038_537.inst++]; };
+f508011038_537.returns = [];
+f508011038_537.inst = 0;
+// 1270
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1271
+f508011038_537.returns.push(1374696746972);
+// 1272
+o8 = {};
+// 1273
+f508011038_70.returns.push(o8);
+// undefined
+o8 = null;
+// 1274
+o8 = {};
+// 1275
+f508011038_0.prototype = o8;
+// 1276
+f508011038_540 = function() { return f508011038_540.returns[f508011038_540.inst++]; };
+f508011038_540.returns = [];
+f508011038_540.inst = 0;
+// 1277
+o8.toISOString = f508011038_540;
+// 1278
+o11 = {};
+// 1279
+f508011038_0.returns.push(o11);
+// 1280
+o11.toISOString = f508011038_540;
+// undefined
+o11 = null;
+// 1281
+f508011038_540.returns.push("-000001-01-01T00:00:00.000Z");
+// 1282
+f508011038_542 = function() { return f508011038_542.returns[f508011038_542.inst++]; };
+f508011038_542.returns = [];
+f508011038_542.inst = 0;
+// 1283
+f508011038_0.now = f508011038_542;
+// 1285
+f508011038_543 = function() { return f508011038_543.returns[f508011038_543.inst++]; };
+f508011038_543.returns = [];
+f508011038_543.inst = 0;
+// 1286
+o8.toJSON = f508011038_543;
+// undefined
+o8 = null;
+// 1287
+f508011038_544 = function() { return f508011038_544.returns[f508011038_544.inst++]; };
+f508011038_544.returns = [];
+f508011038_544.inst = 0;
+// 1288
+f508011038_0.parse = f508011038_544;
+// 1290
+f508011038_544.returns.push(8640000000000000);
+// 1292
+o8 = {};
+// 1293
+f508011038_470.returns.push(o8);
+// undefined
+o8 = null;
+// 1294
+ow508011038.JSBNG__attachEvent = undefined;
+// 1295
+f508011038_546 = function() { return f508011038_546.returns[f508011038_546.inst++]; };
+f508011038_546.returns = [];
+f508011038_546.inst = 0;
+// 1296
+o0.getElementsByTagName = f508011038_546;
+// 1297
+o8 = {};
+// 1298
+f508011038_546.returns.push(o8);
+// 1300
+o11 = {};
+// 1301
+f508011038_470.returns.push(o11);
+// 1302
+o12 = {};
+// 1303
+o8["0"] = o12;
+// 1304
+o12.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD_OBJECTS.js";
+// 1305
+o13 = {};
+// 1306
+o8["1"] = o13;
+// 1307
+o13.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD.js";
+// undefined
+o13 = null;
+// 1308
+o13 = {};
+// 1309
+o8["2"] = o13;
+// 1310
+o13.src = "";
+// undefined
+o13 = null;
+// 1311
+o13 = {};
+// 1312
+o8["3"] = o13;
+// 1313
+o13.src = "";
+// undefined
+o13 = null;
+// 1314
+o13 = {};
+// 1315
+o8["4"] = o13;
+// 1316
+o13.src = "";
+// undefined
+o13 = null;
+// 1317
+o13 = {};
+// 1318
+o8["5"] = o13;
+// 1319
+o13.src = "";
+// undefined
+o13 = null;
+// 1320
+o13 = {};
+// 1321
+o8["6"] = o13;
+// 1322
+o13.src = "http://jsbngssl.abs.twimg.com/c/swift/en/init.93a6e6d3378f6d3136fc84c59ec06af763344a0a.js";
+// undefined
+o13 = null;
+// 1323
+o8["7"] = void 0;
+// undefined
+o8 = null;
+// 1325
+o8 = {};
+// 1326
+f508011038_518.returns.push(o8);
+// 1327
+o8.parentNode = o10;
+// 1328
+o8.id = "swift-module-path";
+// 1329
+o8.type = "hidden";
+// 1330
+o8.nodeName = "INPUT";
+// 1331
+o8.value = "http://jsbngssl.abs.twimg.com/c/swift/en";
+// undefined
+o8 = null;
+// 1333
+o0.ownerDocument = null;
+// 1335
+o6.nodeName = "HTML";
+// 1339
+o8 = {};
+// 1340
+f508011038_524.returns.push(o8);
+// 1341
+o8["0"] = void 0;
+// undefined
+o8 = null;
+// 1346
+f508011038_558 = function() { return f508011038_558.returns[f508011038_558.inst++]; };
+f508011038_558.returns = [];
+f508011038_558.inst = 0;
+// 1347
+o0.getElementsByClassName = f508011038_558;
+// 1349
+o8 = {};
+// 1350
+f508011038_558.returns.push(o8);
+// 1351
+o8["0"] = void 0;
+// undefined
+o8 = null;
+// 1352
+o8 = {};
+// 1353
+f508011038_0.returns.push(o8);
+// 1354
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1355
+f508011038_537.returns.push(1374696746990);
+// 1356
+o8 = {};
+// 1357
+f508011038_0.returns.push(o8);
+// 1358
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1359
+f508011038_537.returns.push(1374696746990);
+// 1360
+o8 = {};
+// 1361
+f508011038_0.returns.push(o8);
+// 1362
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1363
+f508011038_537.returns.push(1374696746990);
+// 1364
+o8 = {};
+// 1365
+f508011038_0.returns.push(o8);
+// 1366
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1367
+f508011038_537.returns.push(1374696746990);
+// 1368
+o8 = {};
+// 1369
+f508011038_0.returns.push(o8);
+// 1370
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1371
+f508011038_537.returns.push(1374696746991);
+// 1372
+o8 = {};
+// 1373
+f508011038_0.returns.push(o8);
+// 1374
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1375
+f508011038_537.returns.push(1374696746991);
+// 1376
+o8 = {};
+// 1377
+f508011038_0.returns.push(o8);
+// 1378
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1379
+f508011038_537.returns.push(1374696746991);
+// 1380
+o8 = {};
+// 1381
+f508011038_0.returns.push(o8);
+// 1382
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1383
+f508011038_537.returns.push(1374696746991);
+// 1384
+o8 = {};
+// 1385
+f508011038_0.returns.push(o8);
+// 1386
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1387
+f508011038_537.returns.push(1374696746992);
+// 1388
+o8 = {};
+// 1389
+f508011038_0.returns.push(o8);
+// 1390
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1391
+f508011038_537.returns.push(1374696746992);
+// 1392
+o8 = {};
+// 1393
+f508011038_0.returns.push(o8);
+// 1394
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1395
+f508011038_537.returns.push(1374696746992);
+// 1396
+o8 = {};
+// 1397
+f508011038_0.returns.push(o8);
+// 1398
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1399
+f508011038_537.returns.push(1374696746993);
+// 1400
+o8 = {};
+// 1401
+f508011038_0.returns.push(o8);
+// 1402
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1403
+f508011038_537.returns.push(1374696746993);
+// 1404
+o8 = {};
+// 1405
+f508011038_0.returns.push(o8);
+// 1406
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1407
+f508011038_537.returns.push(1374696746993);
+// 1408
+o8 = {};
+// 1409
+f508011038_0.returns.push(o8);
+// 1410
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1411
+f508011038_537.returns.push(1374696746993);
+// 1412
+f508011038_575 = function() { return f508011038_575.returns[f508011038_575.inst++]; };
+f508011038_575.returns = [];
+f508011038_575.inst = 0;
+// 1413
+o2.getItem = f508011038_575;
+// 1414
+f508011038_575.returns.push(null);
+// 1416
+f508011038_575.returns.push(null);
+// 1417
+o8 = {};
+// 1418
+f508011038_0.returns.push(o8);
+// 1419
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1420
+f508011038_537.returns.push(1374696746994);
+// 1421
+o8 = {};
+// 1422
+f508011038_0.returns.push(o8);
+// 1423
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1424
+f508011038_537.returns.push(1374696746994);
+// 1425
+o8 = {};
+// 1426
+f508011038_0.returns.push(o8);
+// 1427
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1428
+f508011038_537.returns.push(1374696746994);
+// 1429
+o8 = {};
+// 1430
+f508011038_0.returns.push(o8);
+// 1431
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1432
+f508011038_537.returns.push(1374696746994);
+// 1433
+o8 = {};
+// 1434
+f508011038_0.returns.push(o8);
+// 1435
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1436
+f508011038_537.returns.push(1374696746994);
+// 1437
+o8 = {};
+// 1438
+f508011038_0.returns.push(o8);
+// 1439
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1440
+f508011038_537.returns.push(1374696746995);
+// 1446
+o8 = {};
+// 1447
+f508011038_546.returns.push(o8);
+// 1448
+o8["0"] = o6;
+// 1449
+o8["1"] = void 0;
+// undefined
+o8 = null;
+// 1450
+o6.nodeType = 1;
+// 1458
+o8 = {};
+// 1459
+f508011038_524.returns.push(o8);
+// 1460
+o13 = {};
+// 1461
+o8["0"] = o13;
+// 1462
+o8["1"] = void 0;
+// undefined
+o8 = null;
+// 1463
+o13.nodeType = 1;
+// 1464
+o13.type = "hidden";
+// 1465
+o13.nodeName = "INPUT";
+// 1466
+o13.value = "app/pages/search/search";
+// undefined
+o13 = null;
+// 1467
+o8 = {};
+// 1468
+f508011038_0.returns.push(o8);
+// 1469
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1470
+f508011038_537.returns.push(1374696746998);
+// 1471
+o8 = {};
+// 1472
+f508011038_0.returns.push(o8);
+// 1473
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1474
+f508011038_537.returns.push(1374696747010);
+// 1475
+o11.cloneNode = f508011038_488;
+// undefined
+o11 = null;
+// 1476
+o8 = {};
+// 1477
+f508011038_488.returns.push(o8);
+// 1478
+// 1479
+// 1480
+// 1481
+// 1482
+// 1483
+// 1484
+// 1486
+o12.parentNode = o9;
+// undefined
+o12 = null;
+// 1487
+o9.insertBefore = f508011038_513;
+// undefined
+o9 = null;
+// 1489
+f508011038_513.returns.push(o8);
+// 1491
+// 1492
+// 1493
+// 1494
+// 1496
+o9 = {};
+// undefined
+fow508011038_JSBNG__event = function() { return fow508011038_JSBNG__event.returns[fow508011038_JSBNG__event.inst++]; };
+fow508011038_JSBNG__event.returns = [];
+fow508011038_JSBNG__event.inst = 0;
+defineGetter(ow508011038, "JSBNG__event", fow508011038_JSBNG__event, undefined);
+// undefined
+fow508011038_JSBNG__event.returns.push(o9);
+// 1498
+o9.type = "load";
+// undefined
+o9 = null;
+// 1499
+// undefined
+o8 = null;
+// 1500
+o8 = {};
+// 1501
+f508011038_0.returns.push(o8);
+// 1502
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1503
+f508011038_537.returns.push(1374696760710);
+// 1504
+o8 = {};
+// 1505
+f508011038_0.returns.push(o8);
+// 1506
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1507
+f508011038_537.returns.push(1374696760710);
+// 1508
+o8 = {};
+// 1509
+f508011038_0.returns.push(o8);
+// 1510
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1511
+f508011038_537.returns.push(1374696760711);
+// 1512
+o8 = {};
+// 1513
+f508011038_0.returns.push(o8);
+// 1514
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1515
+f508011038_537.returns.push(1374696760712);
+// 1516
+o8 = {};
+// 1517
+f508011038_0.returns.push(o8);
+// 1518
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1519
+f508011038_537.returns.push(1374696760712);
+// 1520
+o8 = {};
+// 1521
+f508011038_0.returns.push(o8);
+// 1522
+o8.getTime = f508011038_537;
+// undefined
+o8 = null;
+// 1523
+f508011038_537.returns.push(1374696760716);
+// 1525
+o8 = {};
+// 1526
+f508011038_488.returns.push(o8);
+// 1527
+// 1528
+// 1529
+// 1530
+// 1531
+// 1532
+// 1533
+// 1538
+f508011038_513.returns.push(o8);
+// 1539
+o9 = {};
+// 1540
+f508011038_0.returns.push(o9);
+// 1541
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1542
+f508011038_537.returns.push(1374696760717);
+// 1543
+o9 = {};
+// 1544
+f508011038_0.returns.push(o9);
+// 1545
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1546
+f508011038_537.returns.push(1374696760717);
+// 1547
+o9 = {};
+// 1548
+f508011038_0.returns.push(o9);
+// 1549
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1550
+f508011038_537.returns.push(1374696760717);
+// 1551
+o9 = {};
+// 1552
+f508011038_0.returns.push(o9);
+// 1553
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1554
+f508011038_537.returns.push(1374696760718);
+// 1555
+o9 = {};
+// 1556
+f508011038_0.returns.push(o9);
+// 1557
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1558
+f508011038_537.returns.push(1374696760718);
+// 1559
+o9 = {};
+// 1560
+f508011038_0.returns.push(o9);
+// 1561
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1562
+f508011038_537.returns.push(1374696760718);
+// 1563
+o9 = {};
+// 1564
+f508011038_0.returns.push(o9);
+// 1565
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1566
+f508011038_537.returns.push(1374696760718);
+// 1567
+o9 = {};
+// 1568
+f508011038_0.returns.push(o9);
+// 1569
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1570
+f508011038_537.returns.push(1374696760719);
+// 1571
+o9 = {};
+// 1572
+f508011038_0.returns.push(o9);
+// 1573
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1574
+f508011038_537.returns.push(1374696760719);
+// 1575
+o9 = {};
+// 1576
+f508011038_0.returns.push(o9);
+// 1577
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1578
+f508011038_537.returns.push(1374696760719);
+// 1579
+o9 = {};
+// 1580
+f508011038_0.returns.push(o9);
+// 1581
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1582
+f508011038_537.returns.push(1374696760719);
+// 1583
+o9 = {};
+// 1584
+f508011038_0.returns.push(o9);
+// 1585
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1586
+f508011038_537.returns.push(1374696760719);
+// 1587
+o9 = {};
+// 1588
+f508011038_0.returns.push(o9);
+// 1589
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1590
+f508011038_537.returns.push(1374696760720);
+// 1591
+o9 = {};
+// 1592
+f508011038_0.returns.push(o9);
+// 1593
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1594
+f508011038_537.returns.push(1374696760720);
+// 1595
+o9 = {};
+// 1596
+f508011038_0.returns.push(o9);
+// 1597
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1598
+f508011038_537.returns.push(1374696760720);
+// 1599
+o9 = {};
+// 1600
+f508011038_0.returns.push(o9);
+// 1601
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1602
+f508011038_537.returns.push(1374696760720);
+// 1603
+o9 = {};
+// 1604
+f508011038_0.returns.push(o9);
+// 1605
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1606
+f508011038_537.returns.push(1374696760727);
+// 1607
+o9 = {};
+// 1608
+f508011038_0.returns.push(o9);
+// 1609
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1610
+f508011038_537.returns.push(1374696760727);
+// 1611
+o9 = {};
+// 1612
+f508011038_0.returns.push(o9);
+// 1613
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1614
+f508011038_537.returns.push(1374696760727);
+// 1615
+o9 = {};
+// 1616
+f508011038_0.returns.push(o9);
+// 1617
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1618
+f508011038_537.returns.push(1374696760727);
+// 1619
+o9 = {};
+// 1620
+f508011038_0.returns.push(o9);
+// 1621
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1622
+f508011038_537.returns.push(1374696760727);
+// 1623
+o9 = {};
+// 1624
+f508011038_0.returns.push(o9);
+// 1625
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1626
+f508011038_537.returns.push(1374696760727);
+// 1627
+o9 = {};
+// 1628
+f508011038_0.returns.push(o9);
+// 1629
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1630
+f508011038_537.returns.push(1374696760727);
+// 1631
+o9 = {};
+// 1632
+f508011038_0.returns.push(o9);
+// 1633
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1634
+f508011038_537.returns.push(1374696760727);
+// 1635
+o9 = {};
+// 1636
+f508011038_0.returns.push(o9);
+// 1637
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1638
+f508011038_537.returns.push(1374696760727);
+// 1639
+o9 = {};
+// 1640
+f508011038_0.returns.push(o9);
+// 1641
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1642
+f508011038_537.returns.push(1374696760727);
+// 1643
+o9 = {};
+// 1644
+f508011038_0.returns.push(o9);
+// 1645
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1646
+f508011038_537.returns.push(1374696760727);
+// 1647
+o9 = {};
+// 1648
+f508011038_0.returns.push(o9);
+// 1649
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1650
+f508011038_537.returns.push(1374696760727);
+// 1651
+o9 = {};
+// 1652
+f508011038_0.returns.push(o9);
+// 1653
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1654
+f508011038_537.returns.push(1374696760727);
+// 1655
+o9 = {};
+// 1656
+f508011038_0.returns.push(o9);
+// 1657
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1658
+f508011038_537.returns.push(1374696760727);
+// 1659
+o9 = {};
+// 1660
+f508011038_0.returns.push(o9);
+// 1661
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1662
+f508011038_537.returns.push(1374696760727);
+// 1663
+o9 = {};
+// 1664
+f508011038_0.returns.push(o9);
+// 1665
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1666
+f508011038_537.returns.push(1374696760727);
+// 1667
+o9 = {};
+// 1668
+f508011038_0.returns.push(o9);
+// 1669
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1670
+f508011038_537.returns.push(1374696760728);
+// 1671
+o9 = {};
+// 1672
+f508011038_0.returns.push(o9);
+// 1673
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1674
+f508011038_537.returns.push(1374696760728);
+// 1675
+o9 = {};
+// 1676
+f508011038_0.returns.push(o9);
+// 1677
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1678
+f508011038_537.returns.push(1374696760728);
+// 1679
+o9 = {};
+// 1680
+f508011038_0.returns.push(o9);
+// 1681
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1682
+f508011038_537.returns.push(1374696760728);
+// 1683
+o9 = {};
+// 1684
+f508011038_0.returns.push(o9);
+// 1685
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1686
+f508011038_537.returns.push(1374696760728);
+// 1687
+o9 = {};
+// 1688
+f508011038_0.returns.push(o9);
+// 1689
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1690
+f508011038_537.returns.push(1374696760728);
+// 1691
+o9 = {};
+// 1692
+f508011038_0.returns.push(o9);
+// 1693
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1694
+f508011038_537.returns.push(1374696760728);
+// 1695
+o9 = {};
+// 1696
+f508011038_0.returns.push(o9);
+// 1697
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1698
+f508011038_537.returns.push(1374696760728);
+// 1699
+o9 = {};
+// 1700
+f508011038_0.returns.push(o9);
+// 1701
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1702
+f508011038_537.returns.push(1374696760728);
+// 1703
+o9 = {};
+// 1704
+f508011038_0.returns.push(o9);
+// 1705
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1706
+f508011038_537.returns.push(1374696760728);
+// 1707
+o9 = {};
+// 1708
+f508011038_0.returns.push(o9);
+// 1709
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1710
+f508011038_537.returns.push(1374696760729);
+// 1711
+o9 = {};
+// 1712
+f508011038_0.returns.push(o9);
+// 1713
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1714
+f508011038_537.returns.push(1374696760735);
+// 1715
+o9 = {};
+// 1716
+f508011038_0.returns.push(o9);
+// 1717
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1718
+f508011038_537.returns.push(1374696760735);
+// 1719
+o9 = {};
+// 1720
+f508011038_0.returns.push(o9);
+// 1721
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1722
+f508011038_537.returns.push(1374696760735);
+// 1723
+o9 = {};
+// 1724
+f508011038_0.returns.push(o9);
+// 1725
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1726
+f508011038_537.returns.push(1374696760735);
+// 1727
+o9 = {};
+// 1728
+f508011038_0.returns.push(o9);
+// 1729
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1730
+f508011038_537.returns.push(1374696760736);
+// 1731
+o9 = {};
+// 1732
+f508011038_0.returns.push(o9);
+// 1733
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1734
+f508011038_537.returns.push(1374696760736);
+// 1735
+o9 = {};
+// 1736
+f508011038_0.returns.push(o9);
+// 1737
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1738
+f508011038_537.returns.push(1374696760736);
+// 1739
+o9 = {};
+// 1740
+f508011038_0.returns.push(o9);
+// 1741
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1742
+f508011038_537.returns.push(1374696760736);
+// 1743
+o9 = {};
+// 1744
+f508011038_0.returns.push(o9);
+// 1745
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1746
+f508011038_537.returns.push(1374696760736);
+// 1747
+o9 = {};
+// 1748
+f508011038_0.returns.push(o9);
+// 1749
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1750
+f508011038_537.returns.push(1374696760736);
+// 1751
+o9 = {};
+// 1752
+f508011038_0.returns.push(o9);
+// 1753
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1754
+f508011038_537.returns.push(1374696760736);
+// 1755
+o9 = {};
+// 1756
+f508011038_0.returns.push(o9);
+// 1757
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1758
+f508011038_537.returns.push(1374696760736);
+// 1759
+o9 = {};
+// 1760
+f508011038_0.returns.push(o9);
+// 1761
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1762
+f508011038_537.returns.push(1374696760737);
+// 1763
+o9 = {};
+// 1764
+f508011038_0.returns.push(o9);
+// 1765
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1766
+f508011038_537.returns.push(1374696760737);
+// 1767
+o9 = {};
+// 1768
+f508011038_0.returns.push(o9);
+// 1769
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1770
+f508011038_537.returns.push(1374696760737);
+// 1771
+o9 = {};
+// 1772
+f508011038_0.returns.push(o9);
+// 1773
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1774
+f508011038_537.returns.push(1374696760738);
+// 1775
+o9 = {};
+// 1776
+f508011038_0.returns.push(o9);
+// 1777
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1778
+f508011038_537.returns.push(1374696760738);
+// 1779
+o9 = {};
+// 1780
+f508011038_0.returns.push(o9);
+// 1781
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1782
+f508011038_537.returns.push(1374696760738);
+// 1783
+o9 = {};
+// 1784
+f508011038_0.returns.push(o9);
+// 1785
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1786
+f508011038_537.returns.push(1374696760738);
+// 1787
+o9 = {};
+// 1788
+f508011038_0.returns.push(o9);
+// 1789
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1790
+f508011038_537.returns.push(1374696760738);
+// 1791
+o9 = {};
+// 1792
+f508011038_0.returns.push(o9);
+// 1793
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1794
+f508011038_537.returns.push(1374696760738);
+// 1795
+o9 = {};
+// 1796
+f508011038_0.returns.push(o9);
+// 1797
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1798
+f508011038_537.returns.push(1374696760739);
+// 1799
+o9 = {};
+// 1800
+f508011038_0.returns.push(o9);
+// 1801
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1802
+f508011038_537.returns.push(1374696760739);
+// 1803
+o9 = {};
+// 1804
+f508011038_0.returns.push(o9);
+// 1805
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1806
+f508011038_537.returns.push(1374696760739);
+// 1807
+o9 = {};
+// 1808
+f508011038_0.returns.push(o9);
+// 1809
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1810
+f508011038_537.returns.push(1374696760739);
+// 1811
+o9 = {};
+// 1812
+f508011038_0.returns.push(o9);
+// 1813
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1814
+f508011038_537.returns.push(1374696760740);
+// 1815
+o9 = {};
+// 1816
+f508011038_0.returns.push(o9);
+// 1817
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1818
+f508011038_537.returns.push(1374696760740);
+// 1819
+o9 = {};
+// 1820
+f508011038_0.returns.push(o9);
+// 1821
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1822
+f508011038_537.returns.push(1374696760744);
+// 1823
+o9 = {};
+// 1824
+f508011038_0.returns.push(o9);
+// 1825
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1826
+f508011038_537.returns.push(1374696760744);
+// 1827
+o9 = {};
+// 1828
+f508011038_0.returns.push(o9);
+// 1829
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1830
+f508011038_537.returns.push(1374696760744);
+// 1831
+o9 = {};
+// 1832
+f508011038_0.returns.push(o9);
+// 1833
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1834
+f508011038_537.returns.push(1374696760744);
+// 1835
+o9 = {};
+// 1836
+f508011038_0.returns.push(o9);
+// 1837
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1838
+f508011038_537.returns.push(1374696760744);
+// 1839
+o9 = {};
+// 1840
+f508011038_0.returns.push(o9);
+// 1841
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1842
+f508011038_537.returns.push(1374696760744);
+// 1843
+o9 = {};
+// 1844
+f508011038_0.returns.push(o9);
+// 1845
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1846
+f508011038_537.returns.push(1374696760744);
+// 1847
+o9 = {};
+// 1848
+f508011038_0.returns.push(o9);
+// 1849
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1850
+f508011038_537.returns.push(1374696760744);
+// 1851
+o9 = {};
+// 1852
+f508011038_0.returns.push(o9);
+// 1853
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1854
+f508011038_537.returns.push(1374696760744);
+// 1855
+o9 = {};
+// 1856
+f508011038_0.returns.push(o9);
+// 1857
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1858
+f508011038_537.returns.push(1374696760745);
+// 1859
+o9 = {};
+// 1860
+f508011038_0.returns.push(o9);
+// 1861
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1862
+f508011038_537.returns.push(1374696760745);
+// 1863
+o9 = {};
+// 1864
+f508011038_0.returns.push(o9);
+// 1865
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1866
+f508011038_537.returns.push(1374696760745);
+// 1867
+o9 = {};
+// 1868
+f508011038_0.returns.push(o9);
+// 1869
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1870
+f508011038_537.returns.push(1374696760746);
+// 1871
+o9 = {};
+// 1872
+f508011038_0.returns.push(o9);
+// 1873
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1874
+f508011038_537.returns.push(1374696760747);
+// 1875
+o9 = {};
+// 1876
+f508011038_0.returns.push(o9);
+// 1877
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1878
+f508011038_537.returns.push(1374696760747);
+// 1879
+o9 = {};
+// 1880
+f508011038_0.returns.push(o9);
+// 1881
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1882
+f508011038_537.returns.push(1374696760747);
+// 1883
+o9 = {};
+// 1884
+f508011038_0.returns.push(o9);
+// 1885
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1886
+f508011038_537.returns.push(1374696760747);
+// 1887
+o9 = {};
+// 1888
+f508011038_0.returns.push(o9);
+// 1889
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1890
+f508011038_537.returns.push(1374696760747);
+// 1891
+o9 = {};
+// 1892
+f508011038_0.returns.push(o9);
+// 1893
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1894
+f508011038_537.returns.push(1374696760747);
+// 1895
+o9 = {};
+// 1896
+f508011038_0.returns.push(o9);
+// 1897
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1898
+f508011038_537.returns.push(1374696760747);
+// 1899
+o9 = {};
+// 1900
+f508011038_0.returns.push(o9);
+// 1901
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1902
+f508011038_537.returns.push(1374696760747);
+// 1903
+o9 = {};
+// 1904
+f508011038_0.returns.push(o9);
+// 1905
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1906
+f508011038_537.returns.push(1374696760747);
+// 1907
+o9 = {};
+// 1908
+f508011038_0.returns.push(o9);
+// 1909
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1910
+f508011038_537.returns.push(1374696760748);
+// 1911
+o9 = {};
+// 1912
+f508011038_0.returns.push(o9);
+// 1913
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1914
+f508011038_537.returns.push(1374696760748);
+// 1915
+o9 = {};
+// 1916
+f508011038_0.returns.push(o9);
+// 1917
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1918
+f508011038_537.returns.push(1374696760748);
+// 1919
+o9 = {};
+// 1920
+f508011038_0.returns.push(o9);
+// 1921
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1922
+f508011038_537.returns.push(1374696760749);
+// 1923
+o9 = {};
+// 1924
+f508011038_0.returns.push(o9);
+// 1925
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1926
+f508011038_537.returns.push(1374696760749);
+// 1927
+o9 = {};
+// 1928
+f508011038_0.returns.push(o9);
+// 1929
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1930
+f508011038_537.returns.push(1374696760752);
+// 1931
+o9 = {};
+// 1932
+f508011038_0.returns.push(o9);
+// 1933
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1934
+f508011038_537.returns.push(1374696760752);
+// 1935
+o9 = {};
+// 1936
+f508011038_0.returns.push(o9);
+// 1937
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1938
+f508011038_537.returns.push(1374696760752);
+// 1939
+o9 = {};
+// 1940
+f508011038_0.returns.push(o9);
+// 1941
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1942
+f508011038_537.returns.push(1374696760752);
+// 1943
+o9 = {};
+// 1944
+f508011038_0.returns.push(o9);
+// 1945
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1946
+f508011038_537.returns.push(1374696760753);
+// 1947
+o9 = {};
+// 1948
+f508011038_0.returns.push(o9);
+// 1949
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1950
+f508011038_537.returns.push(1374696760753);
+// 1951
+o9 = {};
+// 1952
+f508011038_0.returns.push(o9);
+// 1953
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1954
+f508011038_537.returns.push(1374696760753);
+// 1955
+o9 = {};
+// 1956
+f508011038_0.returns.push(o9);
+// 1957
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1958
+f508011038_537.returns.push(1374696760753);
+// 1959
+o9 = {};
+// 1960
+f508011038_0.returns.push(o9);
+// 1961
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1962
+f508011038_537.returns.push(1374696760753);
+// 1963
+o9 = {};
+// 1964
+f508011038_0.returns.push(o9);
+// 1965
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1966
+f508011038_537.returns.push(1374696760753);
+// 1967
+o9 = {};
+// 1968
+f508011038_0.returns.push(o9);
+// 1969
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1970
+f508011038_537.returns.push(1374696760753);
+// 1971
+o9 = {};
+// 1972
+f508011038_0.returns.push(o9);
+// 1973
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1974
+f508011038_537.returns.push(1374696760753);
+// 1975
+o9 = {};
+// 1976
+f508011038_0.returns.push(o9);
+// 1977
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1978
+f508011038_537.returns.push(1374696760754);
+// 1979
+o9 = {};
+// 1980
+f508011038_0.returns.push(o9);
+// 1981
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1982
+f508011038_537.returns.push(1374696760754);
+// 1983
+o9 = {};
+// 1984
+f508011038_0.returns.push(o9);
+// 1985
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1986
+f508011038_537.returns.push(1374696760754);
+// 1987
+o9 = {};
+// 1988
+f508011038_0.returns.push(o9);
+// 1989
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1990
+f508011038_537.returns.push(1374696760754);
+// 1991
+o9 = {};
+// 1992
+f508011038_0.returns.push(o9);
+// 1993
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1994
+f508011038_537.returns.push(1374696760754);
+// 1995
+o9 = {};
+// 1996
+f508011038_0.returns.push(o9);
+// 1997
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 1998
+f508011038_537.returns.push(1374696760754);
+// 1999
+o9 = {};
+// 2000
+f508011038_0.returns.push(o9);
+// 2001
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2002
+f508011038_537.returns.push(1374696760754);
+// 2003
+o9 = {};
+// 2004
+f508011038_0.returns.push(o9);
+// 2005
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2006
+f508011038_537.returns.push(1374696760754);
+// 2007
+o9 = {};
+// 2008
+f508011038_0.returns.push(o9);
+// 2009
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2010
+f508011038_537.returns.push(1374696760754);
+// 2011
+o9 = {};
+// 2012
+f508011038_0.returns.push(o9);
+// 2013
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2014
+f508011038_537.returns.push(1374696760754);
+// 2015
+o9 = {};
+// 2016
+f508011038_0.returns.push(o9);
+// 2017
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2018
+f508011038_537.returns.push(1374696760755);
+// 2019
+o9 = {};
+// 2020
+f508011038_0.returns.push(o9);
+// 2021
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2022
+f508011038_537.returns.push(1374696760755);
+// 2023
+o9 = {};
+// 2024
+f508011038_0.returns.push(o9);
+// 2025
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2026
+f508011038_537.returns.push(1374696760755);
+// 2027
+o9 = {};
+// 2028
+f508011038_0.returns.push(o9);
+// 2029
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2030
+f508011038_537.returns.push(1374696760755);
+// 2031
+o9 = {};
+// 2032
+f508011038_0.returns.push(o9);
+// 2033
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2034
+f508011038_537.returns.push(1374696760755);
+// 2035
+o9 = {};
+// 2036
+f508011038_0.returns.push(o9);
+// 2037
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2038
+f508011038_537.returns.push(1374696760758);
+// 2039
+o9 = {};
+// 2040
+f508011038_0.returns.push(o9);
+// 2041
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2042
+f508011038_537.returns.push(1374696760758);
+// 2043
+o9 = {};
+// 2044
+f508011038_0.returns.push(o9);
+// 2045
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2046
+f508011038_537.returns.push(1374696760758);
+// 2047
+o9 = {};
+// 2048
+f508011038_0.returns.push(o9);
+// 2049
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2050
+f508011038_537.returns.push(1374696760759);
+// 2051
+o9 = {};
+// 2052
+f508011038_0.returns.push(o9);
+// 2053
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2054
+f508011038_537.returns.push(1374696760759);
+// 2055
+o9 = {};
+// 2056
+f508011038_0.returns.push(o9);
+// 2057
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2058
+f508011038_537.returns.push(1374696760759);
+// 2059
+o9 = {};
+// 2060
+f508011038_0.returns.push(o9);
+// 2061
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2062
+f508011038_537.returns.push(1374696760759);
+// 2063
+o9 = {};
+// 2064
+f508011038_0.returns.push(o9);
+// 2065
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2066
+f508011038_537.returns.push(1374696760759);
+// 2067
+o9 = {};
+// 2068
+f508011038_0.returns.push(o9);
+// 2069
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2070
+f508011038_537.returns.push(1374696760759);
+// 2071
+o9 = {};
+// 2072
+f508011038_0.returns.push(o9);
+// 2073
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2074
+f508011038_537.returns.push(1374696760759);
+// 2075
+o9 = {};
+// 2076
+f508011038_0.returns.push(o9);
+// 2077
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2078
+f508011038_537.returns.push(1374696760759);
+// 2079
+o9 = {};
+// 2080
+f508011038_0.returns.push(o9);
+// 2081
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2082
+f508011038_537.returns.push(1374696760759);
+// 2083
+o9 = {};
+// 2084
+f508011038_0.returns.push(o9);
+// 2085
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2086
+f508011038_537.returns.push(1374696760760);
+// 2087
+o9 = {};
+// 2088
+f508011038_0.returns.push(o9);
+// 2089
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2090
+f508011038_537.returns.push(1374696760760);
+// 2091
+o9 = {};
+// 2092
+f508011038_0.returns.push(o9);
+// 2093
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2094
+f508011038_537.returns.push(1374696760760);
+// 2095
+o9 = {};
+// 2096
+f508011038_0.returns.push(o9);
+// 2097
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2098
+f508011038_537.returns.push(1374696760760);
+// 2099
+o9 = {};
+// 2100
+f508011038_0.returns.push(o9);
+// 2101
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2102
+f508011038_537.returns.push(1374696760760);
+// 2103
+o9 = {};
+// 2104
+f508011038_0.returns.push(o9);
+// 2105
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2106
+f508011038_537.returns.push(1374696760760);
+// 2107
+o9 = {};
+// 2108
+f508011038_0.returns.push(o9);
+// 2109
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2110
+f508011038_537.returns.push(1374696760761);
+// 2111
+o9 = {};
+// 2112
+f508011038_0.returns.push(o9);
+// 2113
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2114
+f508011038_537.returns.push(1374696760761);
+// 2115
+o9 = {};
+// 2116
+f508011038_0.returns.push(o9);
+// 2117
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2118
+f508011038_537.returns.push(1374696760761);
+// 2119
+o9 = {};
+// 2120
+f508011038_0.returns.push(o9);
+// 2121
+o9.getTime = f508011038_537;
+// undefined
+o9 = null;
+// 2122
+f508011038_537.returns.push(1374696760761);
+// 2123
+f508011038_742 = function() { return f508011038_742.returns[f508011038_742.inst++]; };
+f508011038_742.returns = [];
+f508011038_742.inst = 0;
+// 2124
+o2.setItem = f508011038_742;
+// 2125
+f508011038_742.returns.push(undefined);
+// 2126
+f508011038_743 = function() { return f508011038_743.returns[f508011038_743.inst++]; };
+f508011038_743.returns = [];
+f508011038_743.inst = 0;
+// 2127
+o2.removeItem = f508011038_743;
+// undefined
+o2 = null;
+// 2128
+f508011038_743.returns.push(undefined);
+// 2129
+o2 = {};
+// 2130
+f508011038_0.returns.push(o2);
+// 2131
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2132
+f508011038_537.returns.push(1374696760763);
+// 2133
+o2 = {};
+// 2134
+f508011038_0.returns.push(o2);
+// 2135
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2136
+f508011038_537.returns.push(1374696760763);
+// 2137
+o2 = {};
+// 2138
+f508011038_0.returns.push(o2);
+// 2139
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2140
+f508011038_537.returns.push(1374696760763);
+// 2141
+o2 = {};
+// 2142
+f508011038_0.returns.push(o2);
+// 2143
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2144
+f508011038_537.returns.push(1374696760769);
+// 2145
+o2 = {};
+// 2146
+f508011038_0.returns.push(o2);
+// 2147
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2148
+f508011038_537.returns.push(1374696760769);
+// 2149
+o2 = {};
+// 2150
+f508011038_0.returns.push(o2);
+// 2151
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2152
+f508011038_537.returns.push(1374696760769);
+// 2153
+o2 = {};
+// 2154
+f508011038_0.returns.push(o2);
+// 2155
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2156
+f508011038_537.returns.push(1374696760769);
+// 2157
+o2 = {};
+// 2158
+f508011038_0.returns.push(o2);
+// 2159
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2160
+f508011038_537.returns.push(1374696760770);
+// 2161
+o2 = {};
+// 2162
+f508011038_0.returns.push(o2);
+// 2163
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2164
+f508011038_537.returns.push(1374696760770);
+// 2165
+o2 = {};
+// 2166
+f508011038_0.returns.push(o2);
+// 2167
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2168
+f508011038_537.returns.push(1374696760770);
+// 2169
+o2 = {};
+// 2170
+f508011038_0.returns.push(o2);
+// 2171
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2172
+f508011038_537.returns.push(1374696760770);
+// 2173
+o2 = {};
+// 2174
+f508011038_0.returns.push(o2);
+// 2175
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2176
+f508011038_537.returns.push(1374696760770);
+// 2177
+o2 = {};
+// 2178
+f508011038_0.returns.push(o2);
+// 2179
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2180
+f508011038_537.returns.push(1374696760770);
+// 2181
+o2 = {};
+// 2182
+f508011038_0.returns.push(o2);
+// 2183
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2184
+f508011038_537.returns.push(1374696760770);
+// 2185
+o2 = {};
+// 2186
+f508011038_0.returns.push(o2);
+// 2187
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2188
+f508011038_537.returns.push(1374696760770);
+// 2189
+o2 = {};
+// 2190
+f508011038_0.returns.push(o2);
+// 2191
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2192
+f508011038_537.returns.push(1374696760770);
+// 2193
+o2 = {};
+// 2194
+f508011038_0.returns.push(o2);
+// 2195
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2196
+f508011038_537.returns.push(1374696760770);
+// 2197
+o2 = {};
+// 2198
+f508011038_0.returns.push(o2);
+// 2199
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2200
+f508011038_537.returns.push(1374696760771);
+// 2201
+o2 = {};
+// 2202
+f508011038_0.returns.push(o2);
+// 2203
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2204
+f508011038_537.returns.push(1374696760771);
+// 2205
+o2 = {};
+// 2206
+f508011038_0.returns.push(o2);
+// 2207
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2208
+f508011038_537.returns.push(1374696760772);
+// 2209
+o2 = {};
+// 2210
+f508011038_0.returns.push(o2);
+// 2211
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2212
+f508011038_537.returns.push(1374696760772);
+// 2213
+o2 = {};
+// 2214
+f508011038_0.returns.push(o2);
+// 2215
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2216
+f508011038_537.returns.push(1374696760772);
+// 2217
+o2 = {};
+// 2218
+f508011038_0.returns.push(o2);
+// 2219
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2220
+f508011038_537.returns.push(1374696760772);
+// 2221
+o2 = {};
+// 2222
+f508011038_0.returns.push(o2);
+// 2223
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2224
+f508011038_537.returns.push(1374696760772);
+// 2225
+o2 = {};
+// 2226
+f508011038_0.returns.push(o2);
+// 2227
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2228
+f508011038_537.returns.push(1374696760773);
+// 2229
+o2 = {};
+// 2230
+f508011038_0.returns.push(o2);
+// 2231
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2232
+f508011038_537.returns.push(1374696760773);
+// 2233
+o2 = {};
+// 2234
+f508011038_0.returns.push(o2);
+// 2235
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2236
+f508011038_537.returns.push(1374696760773);
+// 2237
+o2 = {};
+// 2238
+f508011038_0.returns.push(o2);
+// 2239
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2240
+f508011038_537.returns.push(1374696760773);
+// 2241
+o2 = {};
+// 2242
+f508011038_0.returns.push(o2);
+// 2243
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2244
+f508011038_537.returns.push(1374696760773);
+// 2245
+o2 = {};
+// 2246
+f508011038_0.returns.push(o2);
+// 2247
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2248
+f508011038_537.returns.push(1374696760773);
+// 2249
+o2 = {};
+// 2250
+f508011038_0.returns.push(o2);
+// 2251
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2252
+f508011038_537.returns.push(1374696760776);
+// 2253
+o2 = {};
+// 2254
+f508011038_0.returns.push(o2);
+// 2255
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2256
+f508011038_537.returns.push(1374696760776);
+// 2257
+o2 = {};
+// 2258
+f508011038_0.returns.push(o2);
+// 2259
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2260
+f508011038_537.returns.push(1374696760776);
+// 2261
+o2 = {};
+// 2262
+f508011038_0.returns.push(o2);
+// 2263
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2264
+f508011038_537.returns.push(1374696760776);
+// 2265
+o2 = {};
+// 2266
+f508011038_0.returns.push(o2);
+// 2267
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2268
+f508011038_537.returns.push(1374696760777);
+// 2269
+o2 = {};
+// 2270
+f508011038_0.returns.push(o2);
+// 2271
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2272
+f508011038_537.returns.push(1374696760777);
+// 2273
+o2 = {};
+// 2274
+f508011038_0.returns.push(o2);
+// 2275
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2276
+f508011038_537.returns.push(1374696760777);
+// 2277
+o2 = {};
+// 2278
+f508011038_0.returns.push(o2);
+// 2279
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2280
+f508011038_537.returns.push(1374696760777);
+// 2281
+o2 = {};
+// 2282
+f508011038_0.returns.push(o2);
+// 2283
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2284
+f508011038_537.returns.push(1374696760777);
+// 2285
+o2 = {};
+// 2286
+f508011038_0.returns.push(o2);
+// 2287
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2288
+f508011038_537.returns.push(1374696760777);
+// 2289
+o2 = {};
+// 2290
+f508011038_0.returns.push(o2);
+// 2291
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2292
+f508011038_537.returns.push(1374696760777);
+// 2293
+o2 = {};
+// 2294
+f508011038_0.returns.push(o2);
+// 2295
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2296
+f508011038_537.returns.push(1374696760778);
+// 2297
+o2 = {};
+// 2298
+f508011038_0.returns.push(o2);
+// 2299
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2300
+f508011038_537.returns.push(1374696760778);
+// 2301
+o2 = {};
+// 2302
+f508011038_0.returns.push(o2);
+// 2303
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2304
+f508011038_537.returns.push(1374696760778);
+// 2305
+o2 = {};
+// 2306
+f508011038_0.returns.push(o2);
+// 2307
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2308
+f508011038_537.returns.push(1374696760778);
+// 2309
+o2 = {};
+// 2310
+f508011038_0.returns.push(o2);
+// 2311
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2312
+f508011038_537.returns.push(1374696760778);
+// 2313
+o2 = {};
+// 2314
+f508011038_0.returns.push(o2);
+// 2315
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2316
+f508011038_537.returns.push(1374696760778);
+// 2317
+o2 = {};
+// 2318
+f508011038_0.returns.push(o2);
+// 2319
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2320
+f508011038_537.returns.push(1374696760778);
+// 2321
+o2 = {};
+// 2322
+f508011038_0.returns.push(o2);
+// 2323
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2324
+f508011038_537.returns.push(1374696760778);
+// 2325
+o2 = {};
+// 2326
+f508011038_0.returns.push(o2);
+// 2327
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2328
+f508011038_537.returns.push(1374696760778);
+// 2329
+o2 = {};
+// 2330
+f508011038_0.returns.push(o2);
+// 2331
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2332
+f508011038_537.returns.push(1374696760779);
+// 2333
+o2 = {};
+// 2334
+f508011038_0.returns.push(o2);
+// 2335
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2336
+f508011038_537.returns.push(1374696760779);
+// 2337
+o2 = {};
+// 2338
+f508011038_0.returns.push(o2);
+// 2339
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2340
+f508011038_537.returns.push(1374696760779);
+// 2341
+o2 = {};
+// 2342
+f508011038_0.returns.push(o2);
+// 2343
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2344
+f508011038_537.returns.push(1374696760779);
+// 2345
+o2 = {};
+// 2346
+f508011038_0.returns.push(o2);
+// 2347
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2348
+f508011038_537.returns.push(1374696760779);
+// 2349
+o2 = {};
+// 2350
+f508011038_0.returns.push(o2);
+// 2351
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2352
+f508011038_537.returns.push(1374696760779);
+// 2353
+o2 = {};
+// 2354
+f508011038_0.returns.push(o2);
+// 2355
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2356
+f508011038_537.returns.push(1374696760781);
+// 2357
+o2 = {};
+// 2358
+f508011038_0.returns.push(o2);
+// 2359
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2360
+f508011038_537.returns.push(1374696760784);
+// 2361
+o2 = {};
+// 2362
+f508011038_0.returns.push(o2);
+// 2363
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2364
+f508011038_537.returns.push(1374696760784);
+// 2365
+o2 = {};
+// 2366
+f508011038_0.returns.push(o2);
+// 2367
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2368
+f508011038_537.returns.push(1374696760784);
+// 2369
+o2 = {};
+// 2370
+f508011038_0.returns.push(o2);
+// 2371
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2372
+f508011038_537.returns.push(1374696760784);
+// 2373
+o2 = {};
+// 2374
+f508011038_0.returns.push(o2);
+// 2375
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2376
+f508011038_537.returns.push(1374696760784);
+// 2377
+o2 = {};
+// 2378
+f508011038_0.returns.push(o2);
+// 2379
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2380
+f508011038_537.returns.push(1374696760784);
+// 2381
+o2 = {};
+// 2382
+f508011038_0.returns.push(o2);
+// 2383
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2384
+f508011038_537.returns.push(1374696760784);
+// 2385
+o2 = {};
+// 2386
+f508011038_0.returns.push(o2);
+// 2387
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2388
+f508011038_537.returns.push(1374696760784);
+// 2389
+o2 = {};
+// 2390
+f508011038_0.returns.push(o2);
+// 2391
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2392
+f508011038_537.returns.push(1374696760784);
+// 2393
+o2 = {};
+// 2394
+f508011038_0.returns.push(o2);
+// 2395
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2396
+f508011038_537.returns.push(1374696760784);
+// 2397
+o2 = {};
+// 2398
+f508011038_0.returns.push(o2);
+// 2399
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2400
+f508011038_537.returns.push(1374696760784);
+// 2401
+o2 = {};
+// 2402
+f508011038_0.returns.push(o2);
+// 2403
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2404
+f508011038_537.returns.push(1374696760784);
+// 2405
+o2 = {};
+// 2406
+f508011038_0.returns.push(o2);
+// 2407
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2408
+f508011038_537.returns.push(1374696760784);
+// 2409
+o2 = {};
+// 2410
+f508011038_0.returns.push(o2);
+// 2411
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2412
+f508011038_537.returns.push(1374696760784);
+// 2413
+o2 = {};
+// 2414
+f508011038_0.returns.push(o2);
+// 2415
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2416
+f508011038_537.returns.push(1374696760785);
+// 2417
+o2 = {};
+// 2418
+f508011038_0.returns.push(o2);
+// 2419
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2420
+f508011038_537.returns.push(1374696760785);
+// 2421
+o2 = {};
+// 2422
+f508011038_0.returns.push(o2);
+// 2423
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2424
+f508011038_537.returns.push(1374696760785);
+// 2425
+o2 = {};
+// 2426
+f508011038_0.returns.push(o2);
+// 2427
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2428
+f508011038_537.returns.push(1374696760785);
+// 2429
+o2 = {};
+// 2430
+f508011038_0.returns.push(o2);
+// 2431
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2432
+f508011038_537.returns.push(1374696760785);
+// 2433
+o2 = {};
+// 2434
+f508011038_0.returns.push(o2);
+// 2435
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2436
+f508011038_537.returns.push(1374696760785);
+// 2437
+o2 = {};
+// 2438
+f508011038_0.returns.push(o2);
+// 2439
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2440
+f508011038_537.returns.push(1374696760785);
+// 2441
+o2 = {};
+// 2442
+f508011038_0.returns.push(o2);
+// 2443
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2444
+f508011038_537.returns.push(1374696760785);
+// 2445
+o2 = {};
+// 2446
+f508011038_0.returns.push(o2);
+// 2447
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2448
+f508011038_537.returns.push(1374696760785);
+// 2449
+o2 = {};
+// 2450
+f508011038_0.returns.push(o2);
+// 2451
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2452
+f508011038_537.returns.push(1374696760785);
+// 2453
+o2 = {};
+// 2454
+f508011038_0.returns.push(o2);
+// 2455
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2456
+f508011038_537.returns.push(1374696760785);
+// 2457
+o2 = {};
+// 2458
+f508011038_0.returns.push(o2);
+// 2459
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2460
+f508011038_537.returns.push(1374696760786);
+// 2461
+o2 = {};
+// 2462
+f508011038_0.returns.push(o2);
+// 2463
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2464
+f508011038_537.returns.push(1374696760786);
+// 2465
+o2 = {};
+// 2466
+f508011038_0.returns.push(o2);
+// 2467
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2468
+f508011038_537.returns.push(1374696760789);
+// 2469
+o2 = {};
+// 2470
+f508011038_0.returns.push(o2);
+// 2471
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2472
+f508011038_537.returns.push(1374696760791);
+// 2473
+o2 = {};
+// 2474
+f508011038_0.returns.push(o2);
+// 2475
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2476
+f508011038_537.returns.push(1374696760791);
+// 2477
+o2 = {};
+// 2478
+f508011038_0.returns.push(o2);
+// 2479
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2480
+f508011038_537.returns.push(1374696760791);
+// 2481
+o2 = {};
+// 2482
+f508011038_0.returns.push(o2);
+// 2483
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2484
+f508011038_537.returns.push(1374696760793);
+// 2485
+o2 = {};
+// 2486
+f508011038_0.returns.push(o2);
+// 2487
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2488
+f508011038_537.returns.push(1374696760793);
+// 2489
+o2 = {};
+// 2490
+f508011038_0.returns.push(o2);
+// 2491
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2492
+f508011038_537.returns.push(1374696760793);
+// 2493
+o2 = {};
+// 2494
+f508011038_0.returns.push(o2);
+// 2495
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2496
+f508011038_537.returns.push(1374696760794);
+// 2497
+o2 = {};
+// 2498
+f508011038_0.returns.push(o2);
+// 2499
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2500
+f508011038_537.returns.push(1374696760794);
+// 2501
+o2 = {};
+// 2502
+f508011038_0.returns.push(o2);
+// 2503
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2504
+f508011038_537.returns.push(1374696760794);
+// 2505
+o2 = {};
+// 2506
+f508011038_0.returns.push(o2);
+// 2507
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2508
+f508011038_537.returns.push(1374696760794);
+// 2509
+o2 = {};
+// 2510
+f508011038_0.returns.push(o2);
+// 2511
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2512
+f508011038_537.returns.push(1374696760794);
+// 2513
+o2 = {};
+// 2514
+f508011038_0.returns.push(o2);
+// 2515
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2516
+f508011038_537.returns.push(1374696760794);
+// 2517
+o2 = {};
+// 2518
+f508011038_0.returns.push(o2);
+// 2519
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2520
+f508011038_537.returns.push(1374696760794);
+// 2521
+o2 = {};
+// 2522
+f508011038_0.returns.push(o2);
+// 2523
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2524
+f508011038_537.returns.push(1374696760795);
+// 2525
+o2 = {};
+// 2526
+f508011038_0.returns.push(o2);
+// 2527
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2528
+f508011038_537.returns.push(1374696760795);
+// 2529
+o2 = {};
+// 2530
+f508011038_0.returns.push(o2);
+// 2531
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2532
+f508011038_537.returns.push(1374696760795);
+// 2533
+o2 = {};
+// 2534
+f508011038_0.returns.push(o2);
+// 2535
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2536
+f508011038_537.returns.push(1374696760795);
+// 2537
+o2 = {};
+// 2538
+f508011038_0.returns.push(o2);
+// 2539
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2540
+f508011038_537.returns.push(1374696760796);
+// 2541
+o2 = {};
+// 2542
+f508011038_0.returns.push(o2);
+// 2543
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2544
+f508011038_537.returns.push(1374696760796);
+// 2545
+o2 = {};
+// 2546
+f508011038_0.returns.push(o2);
+// 2547
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2548
+f508011038_537.returns.push(1374696760796);
+// 2549
+o2 = {};
+// 2550
+f508011038_0.returns.push(o2);
+// 2551
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2552
+f508011038_537.returns.push(1374696760797);
+// 2553
+o2 = {};
+// 2554
+f508011038_0.returns.push(o2);
+// 2555
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2556
+f508011038_537.returns.push(1374696760797);
+// 2557
+o2 = {};
+// 2558
+f508011038_0.returns.push(o2);
+// 2559
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2560
+f508011038_537.returns.push(1374696760797);
+// 2561
+o2 = {};
+// 2562
+f508011038_0.returns.push(o2);
+// 2563
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2564
+f508011038_537.returns.push(1374696760797);
+// 2565
+o2 = {};
+// 2566
+f508011038_0.returns.push(o2);
+// 2567
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2568
+f508011038_537.returns.push(1374696760797);
+// 2569
+o2 = {};
+// 2570
+f508011038_0.returns.push(o2);
+// 2571
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2572
+f508011038_537.returns.push(1374696760797);
+// 2573
+o2 = {};
+// 2574
+f508011038_0.returns.push(o2);
+// 2575
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2576
+f508011038_537.returns.push(1374696760801);
+// 2577
+o2 = {};
+// 2578
+f508011038_0.returns.push(o2);
+// 2579
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2580
+f508011038_537.returns.push(1374696760801);
+// 2581
+o2 = {};
+// 2582
+f508011038_0.returns.push(o2);
+// 2583
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2584
+f508011038_537.returns.push(1374696760802);
+// 2585
+o2 = {};
+// 2586
+f508011038_0.returns.push(o2);
+// 2587
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2588
+f508011038_537.returns.push(1374696760802);
+// 2589
+o2 = {};
+// 2590
+f508011038_0.returns.push(o2);
+// 2591
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2592
+f508011038_537.returns.push(1374696760802);
+// 2593
+o2 = {};
+// 2594
+f508011038_0.returns.push(o2);
+// 2595
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2596
+f508011038_537.returns.push(1374696760802);
+// 2597
+o2 = {};
+// 2598
+f508011038_0.returns.push(o2);
+// 2599
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2600
+f508011038_537.returns.push(1374696760803);
+// 2601
+o2 = {};
+// 2602
+f508011038_0.returns.push(o2);
+// 2603
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2604
+f508011038_537.returns.push(1374696760803);
+// 2605
+o2 = {};
+// 2606
+f508011038_0.returns.push(o2);
+// 2607
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2608
+f508011038_537.returns.push(1374696760803);
+// 2609
+o2 = {};
+// 2610
+f508011038_0.returns.push(o2);
+// 2611
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2612
+f508011038_537.returns.push(1374696760803);
+// 2613
+o2 = {};
+// 2614
+f508011038_0.returns.push(o2);
+// 2615
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2616
+f508011038_537.returns.push(1374696760803);
+// 2617
+o2 = {};
+// 2618
+f508011038_0.returns.push(o2);
+// 2619
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2620
+f508011038_537.returns.push(1374696760803);
+// 2621
+o2 = {};
+// 2622
+f508011038_0.returns.push(o2);
+// 2623
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2624
+f508011038_537.returns.push(1374696760803);
+// 2625
+o2 = {};
+// 2626
+f508011038_0.returns.push(o2);
+// 2627
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2628
+f508011038_537.returns.push(1374696760803);
+// 2629
+o2 = {};
+// 2630
+f508011038_0.returns.push(o2);
+// 2631
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2632
+f508011038_537.returns.push(1374696760803);
+// 2633
+o2 = {};
+// 2634
+f508011038_0.returns.push(o2);
+// 2635
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2636
+f508011038_537.returns.push(1374696760803);
+// 2637
+o2 = {};
+// 2638
+f508011038_0.returns.push(o2);
+// 2639
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2640
+f508011038_537.returns.push(1374696760806);
+// 2641
+o2 = {};
+// 2642
+f508011038_0.returns.push(o2);
+// 2643
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2644
+f508011038_537.returns.push(1374696760806);
+// 2645
+o2 = {};
+// 2646
+f508011038_0.returns.push(o2);
+// 2647
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2648
+f508011038_537.returns.push(1374696760806);
+// 2649
+o2 = {};
+// 2650
+f508011038_0.returns.push(o2);
+// 2651
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2652
+f508011038_537.returns.push(1374696760807);
+// 2653
+o2 = {};
+// 2654
+f508011038_0.returns.push(o2);
+// 2655
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2656
+f508011038_537.returns.push(1374696760807);
+// 2657
+o2 = {};
+// 2658
+f508011038_0.returns.push(o2);
+// 2659
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2660
+f508011038_537.returns.push(1374696760807);
+// 2661
+o2 = {};
+// 2662
+f508011038_0.returns.push(o2);
+// 2663
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2664
+f508011038_537.returns.push(1374696760807);
+// 2665
+o2 = {};
+// 2666
+f508011038_0.returns.push(o2);
+// 2667
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2668
+f508011038_537.returns.push(1374696760807);
+// 2669
+o2 = {};
+// 2670
+f508011038_0.returns.push(o2);
+// 2671
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2672
+f508011038_537.returns.push(1374696760814);
+// 2673
+o2 = {};
+// 2674
+f508011038_0.returns.push(o2);
+// 2675
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2676
+f508011038_537.returns.push(1374696760814);
+// 2677
+o2 = {};
+// 2678
+f508011038_0.returns.push(o2);
+// 2679
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2680
+f508011038_537.returns.push(1374696760814);
+// 2681
+o2 = {};
+// 2682
+f508011038_0.returns.push(o2);
+// 2683
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2684
+f508011038_537.returns.push(1374696760817);
+// 2685
+o2 = {};
+// 2686
+f508011038_0.returns.push(o2);
+// 2687
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2688
+f508011038_537.returns.push(1374696760818);
+// 2689
+o2 = {};
+// 2690
+f508011038_0.returns.push(o2);
+// 2691
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2692
+f508011038_537.returns.push(1374696760818);
+// 2693
+o2 = {};
+// 2694
+f508011038_0.returns.push(o2);
+// 2695
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2696
+f508011038_537.returns.push(1374696760818);
+// 2697
+o2 = {};
+// 2698
+f508011038_0.returns.push(o2);
+// 2699
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2700
+f508011038_537.returns.push(1374696760818);
+// 2701
+o2 = {};
+// 2702
+f508011038_0.returns.push(o2);
+// 2703
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2704
+f508011038_537.returns.push(1374696760818);
+// 2705
+o2 = {};
+// 2706
+f508011038_0.returns.push(o2);
+// 2707
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2708
+f508011038_537.returns.push(1374696760818);
+// 2709
+o2 = {};
+// 2710
+f508011038_0.returns.push(o2);
+// 2711
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2712
+f508011038_537.returns.push(1374696760818);
+// 2713
+o2 = {};
+// 2714
+f508011038_0.returns.push(o2);
+// 2715
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2716
+f508011038_537.returns.push(1374696760819);
+// 2717
+o2 = {};
+// 2718
+f508011038_0.returns.push(o2);
+// 2719
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2720
+f508011038_537.returns.push(1374696760819);
+// 2721
+o2 = {};
+// 2722
+f508011038_0.returns.push(o2);
+// 2723
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2724
+f508011038_537.returns.push(1374696760819);
+// 2725
+o2 = {};
+// 2726
+f508011038_0.returns.push(o2);
+// 2727
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2728
+f508011038_537.returns.push(1374696760820);
+// 2729
+o2 = {};
+// 2730
+f508011038_0.returns.push(o2);
+// 2731
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2732
+f508011038_537.returns.push(1374696760820);
+// 2733
+o2 = {};
+// 2734
+f508011038_0.returns.push(o2);
+// 2735
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2736
+f508011038_537.returns.push(1374696760820);
+// 2737
+o2 = {};
+// 2738
+f508011038_0.returns.push(o2);
+// 2739
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2740
+f508011038_537.returns.push(1374696760820);
+// 2741
+o2 = {};
+// 2742
+f508011038_0.returns.push(o2);
+// 2743
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2744
+f508011038_537.returns.push(1374696760820);
+// 2745
+o2 = {};
+// 2746
+f508011038_0.returns.push(o2);
+// 2747
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2748
+f508011038_537.returns.push(1374696760820);
+// 2749
+o2 = {};
+// 2750
+f508011038_0.returns.push(o2);
+// 2751
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2752
+f508011038_537.returns.push(1374696760821);
+// 2753
+o2 = {};
+// 2754
+f508011038_0.returns.push(o2);
+// 2755
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2756
+f508011038_537.returns.push(1374696760821);
+// 2757
+o2 = {};
+// 2758
+f508011038_0.returns.push(o2);
+// 2759
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2760
+f508011038_537.returns.push(1374696760823);
+// 2761
+o2 = {};
+// 2762
+f508011038_0.returns.push(o2);
+// 2763
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2764
+f508011038_537.returns.push(1374696760823);
+// 2765
+o2 = {};
+// 2766
+f508011038_0.returns.push(o2);
+// 2767
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2768
+f508011038_537.returns.push(1374696760823);
+// 2769
+o2 = {};
+// 2770
+f508011038_0.returns.push(o2);
+// 2771
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2772
+f508011038_537.returns.push(1374696760823);
+// 2773
+o2 = {};
+// 2774
+f508011038_0.returns.push(o2);
+// 2775
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2776
+f508011038_537.returns.push(1374696760823);
+// 2777
+o2 = {};
+// 2778
+f508011038_0.returns.push(o2);
+// 2779
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2780
+f508011038_537.returns.push(1374696760823);
+// 2781
+o2 = {};
+// 2782
+f508011038_0.returns.push(o2);
+// 2783
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2784
+f508011038_537.returns.push(1374696760823);
+// 2785
+o2 = {};
+// 2786
+f508011038_0.returns.push(o2);
+// 2787
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2788
+f508011038_537.returns.push(1374696760824);
+// 2789
+o2 = {};
+// 2790
+f508011038_0.returns.push(o2);
+// 2791
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2792
+f508011038_537.returns.push(1374696760826);
+// 2793
+o2 = {};
+// 2794
+f508011038_0.returns.push(o2);
+// 2795
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2796
+f508011038_537.returns.push(1374696760827);
+// 2797
+o2 = {};
+// 2798
+f508011038_0.returns.push(o2);
+// 2799
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2800
+f508011038_537.returns.push(1374696760827);
+// 2801
+o2 = {};
+// 2802
+f508011038_0.returns.push(o2);
+// 2803
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2804
+f508011038_537.returns.push(1374696760827);
+// 2805
+o2 = {};
+// 2806
+f508011038_0.returns.push(o2);
+// 2807
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2808
+f508011038_537.returns.push(1374696760828);
+// 2809
+o2 = {};
+// 2810
+f508011038_0.returns.push(o2);
+// 2811
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2812
+f508011038_537.returns.push(1374696760828);
+// 2813
+o2 = {};
+// 2814
+f508011038_0.returns.push(o2);
+// 2815
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2816
+f508011038_537.returns.push(1374696760828);
+// 2817
+o2 = {};
+// 2818
+f508011038_0.returns.push(o2);
+// 2819
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2820
+f508011038_537.returns.push(1374696760828);
+// 2821
+o2 = {};
+// 2822
+f508011038_0.returns.push(o2);
+// 2823
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2824
+f508011038_537.returns.push(1374696760828);
+// 2825
+o2 = {};
+// 2826
+f508011038_0.returns.push(o2);
+// 2827
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2828
+f508011038_537.returns.push(1374696760829);
+// 2829
+o2 = {};
+// 2830
+f508011038_0.returns.push(o2);
+// 2831
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2832
+f508011038_537.returns.push(1374696760829);
+// 2833
+o2 = {};
+// 2834
+f508011038_0.returns.push(o2);
+// 2835
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2836
+f508011038_537.returns.push(1374696760829);
+// 2837
+o2 = {};
+// 2838
+f508011038_0.returns.push(o2);
+// 2839
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2840
+f508011038_537.returns.push(1374696760830);
+// 2841
+o2 = {};
+// 2842
+f508011038_0.returns.push(o2);
+// 2843
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2844
+f508011038_537.returns.push(1374696760830);
+// 2845
+o2 = {};
+// 2846
+f508011038_0.returns.push(o2);
+// 2847
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2848
+f508011038_537.returns.push(1374696760830);
+// 2849
+o2 = {};
+// 2850
+f508011038_0.returns.push(o2);
+// 2851
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2852
+f508011038_537.returns.push(1374696760831);
+// 2853
+o2 = {};
+// 2854
+f508011038_0.returns.push(o2);
+// 2855
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2856
+f508011038_537.returns.push(1374696760831);
+// 2857
+o2 = {};
+// 2858
+f508011038_0.returns.push(o2);
+// 2859
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2860
+f508011038_537.returns.push(1374696760831);
+// 2861
+o2 = {};
+// 2862
+f508011038_0.returns.push(o2);
+// 2863
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2864
+f508011038_537.returns.push(1374696760831);
+// 2865
+o2 = {};
+// 2866
+f508011038_0.returns.push(o2);
+// 2867
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2868
+f508011038_537.returns.push(1374696760831);
+// 2869
+o2 = {};
+// 2870
+f508011038_0.returns.push(o2);
+// 2871
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2872
+f508011038_537.returns.push(1374696760832);
+// 2873
+o2 = {};
+// 2874
+f508011038_0.returns.push(o2);
+// 2875
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2876
+f508011038_537.returns.push(1374696760833);
+// 2877
+o2 = {};
+// 2878
+f508011038_0.returns.push(o2);
+// 2879
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2880
+f508011038_537.returns.push(1374696760833);
+// 2881
+o2 = {};
+// 2882
+f508011038_0.returns.push(o2);
+// 2883
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2884
+f508011038_537.returns.push(1374696760834);
+// 2885
+o2 = {};
+// 2886
+f508011038_0.returns.push(o2);
+// 2887
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2888
+f508011038_537.returns.push(1374696760835);
+// 2889
+o2 = {};
+// 2890
+f508011038_0.returns.push(o2);
+// 2891
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2892
+f508011038_537.returns.push(1374696760835);
+// 2893
+o2 = {};
+// 2894
+f508011038_0.returns.push(o2);
+// 2895
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2896
+f508011038_537.returns.push(1374696760835);
+// 2897
+o2 = {};
+// 2898
+f508011038_0.returns.push(o2);
+// 2899
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2900
+f508011038_537.returns.push(1374696760838);
+// 2901
+o2 = {};
+// 2902
+f508011038_0.returns.push(o2);
+// 2903
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2904
+f508011038_537.returns.push(1374696760838);
+// 2905
+o2 = {};
+// 2906
+f508011038_0.returns.push(o2);
+// 2907
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2908
+f508011038_537.returns.push(1374696760839);
+// 2909
+o2 = {};
+// 2910
+f508011038_0.returns.push(o2);
+// 2911
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2912
+f508011038_537.returns.push(1374696760839);
+// 2913
+o2 = {};
+// 2914
+f508011038_0.returns.push(o2);
+// 2915
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2916
+f508011038_537.returns.push(1374696760839);
+// 2917
+o2 = {};
+// 2918
+f508011038_0.returns.push(o2);
+// 2919
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2920
+f508011038_537.returns.push(1374696760839);
+// 2921
+o2 = {};
+// 2922
+f508011038_0.returns.push(o2);
+// 2923
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2924
+f508011038_537.returns.push(1374696760839);
+// 2925
+o2 = {};
+// 2926
+f508011038_0.returns.push(o2);
+// 2927
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2928
+f508011038_537.returns.push(1374696760839);
+// 2929
+o2 = {};
+// 2930
+f508011038_0.returns.push(o2);
+// 2931
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2932
+f508011038_537.returns.push(1374696760840);
+// 2933
+o2 = {};
+// 2934
+f508011038_0.returns.push(o2);
+// 2935
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2936
+f508011038_537.returns.push(1374696760841);
+// 2937
+o2 = {};
+// 2938
+f508011038_0.returns.push(o2);
+// 2939
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2940
+f508011038_537.returns.push(1374696760841);
+// 2941
+o2 = {};
+// 2942
+f508011038_0.returns.push(o2);
+// 2943
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2944
+f508011038_537.returns.push(1374696760841);
+// 2945
+o2 = {};
+// 2946
+f508011038_0.returns.push(o2);
+// 2947
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2948
+f508011038_537.returns.push(1374696760841);
+// 2949
+o2 = {};
+// 2950
+f508011038_0.returns.push(o2);
+// 2951
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2952
+f508011038_537.returns.push(1374696760841);
+// 2953
+o2 = {};
+// 2954
+f508011038_0.returns.push(o2);
+// 2955
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2956
+f508011038_537.returns.push(1374696760842);
+// 2957
+o2 = {};
+// 2958
+f508011038_0.returns.push(o2);
+// 2959
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2960
+f508011038_537.returns.push(1374696760842);
+// 2961
+o2 = {};
+// 2962
+f508011038_0.returns.push(o2);
+// 2963
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2964
+f508011038_537.returns.push(1374696760842);
+// 2965
+o2 = {};
+// 2966
+f508011038_0.returns.push(o2);
+// 2967
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2968
+f508011038_537.returns.push(1374696760842);
+// 2969
+o2 = {};
+// 2970
+f508011038_0.returns.push(o2);
+// 2971
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2972
+f508011038_537.returns.push(1374696760842);
+// 2973
+o2 = {};
+// 2974
+f508011038_0.returns.push(o2);
+// 2975
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2976
+f508011038_537.returns.push(1374696760843);
+// 2977
+o2 = {};
+// 2978
+f508011038_0.returns.push(o2);
+// 2979
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2980
+f508011038_537.returns.push(1374696760843);
+// 2981
+o2 = {};
+// 2982
+f508011038_0.returns.push(o2);
+// 2983
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2984
+f508011038_537.returns.push(1374696760843);
+// 2985
+o2 = {};
+// 2986
+f508011038_0.returns.push(o2);
+// 2987
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2988
+f508011038_537.returns.push(1374696760844);
+// 2989
+o2 = {};
+// 2990
+f508011038_0.returns.push(o2);
+// 2991
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2992
+f508011038_537.returns.push(1374696760844);
+// 2993
+o2 = {};
+// 2994
+f508011038_0.returns.push(o2);
+// 2995
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 2996
+f508011038_537.returns.push(1374696760844);
+// 2997
+o2 = {};
+// 2998
+f508011038_0.returns.push(o2);
+// 2999
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3000
+f508011038_537.returns.push(1374696760844);
+// 3001
+o2 = {};
+// 3002
+f508011038_0.returns.push(o2);
+// 3003
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3004
+f508011038_537.returns.push(1374696760844);
+// 3005
+o2 = {};
+// 3006
+f508011038_0.returns.push(o2);
+// 3007
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3008
+f508011038_537.returns.push(1374696760848);
+// 3009
+o2 = {};
+// 3010
+f508011038_0.returns.push(o2);
+// 3011
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3012
+f508011038_537.returns.push(1374696760848);
+// 3013
+o2 = {};
+// 3014
+f508011038_0.returns.push(o2);
+// 3015
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3016
+f508011038_537.returns.push(1374696760848);
+// 3017
+o2 = {};
+// 3018
+f508011038_0.returns.push(o2);
+// 3019
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3020
+f508011038_537.returns.push(1374696760848);
+// 3021
+o2 = {};
+// 3022
+f508011038_0.returns.push(o2);
+// 3023
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3024
+f508011038_537.returns.push(1374696760848);
+// 3025
+o2 = {};
+// 3026
+f508011038_0.returns.push(o2);
+// 3027
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3028
+f508011038_537.returns.push(1374696760849);
+// 3029
+o2 = {};
+// 3030
+f508011038_0.returns.push(o2);
+// 3031
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3032
+f508011038_537.returns.push(1374696760849);
+// 3033
+o2 = {};
+// 3034
+f508011038_0.returns.push(o2);
+// 3035
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3036
+f508011038_537.returns.push(1374696760850);
+// 3037
+o2 = {};
+// 3038
+f508011038_0.returns.push(o2);
+// 3039
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3040
+f508011038_537.returns.push(1374696760850);
+// 3041
+o2 = {};
+// 3042
+f508011038_0.returns.push(o2);
+// 3043
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3044
+f508011038_537.returns.push(1374696760850);
+// 3045
+o2 = {};
+// 3046
+f508011038_0.returns.push(o2);
+// 3047
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3048
+f508011038_537.returns.push(1374696760850);
+// 3049
+o2 = {};
+// 3050
+f508011038_0.returns.push(o2);
+// 3051
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3052
+f508011038_537.returns.push(1374696760850);
+// 3053
+o2 = {};
+// 3054
+f508011038_0.returns.push(o2);
+// 3055
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3056
+f508011038_537.returns.push(1374696760851);
+// 3057
+o2 = {};
+// 3058
+f508011038_0.returns.push(o2);
+// 3059
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3060
+f508011038_537.returns.push(1374696760851);
+// 3061
+o2 = {};
+// 3062
+f508011038_0.returns.push(o2);
+// 3063
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3064
+f508011038_537.returns.push(1374696760852);
+// 3065
+o2 = {};
+// 3066
+f508011038_0.returns.push(o2);
+// 3067
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3068
+f508011038_537.returns.push(1374696760852);
+// 3069
+o2 = {};
+// 3070
+f508011038_0.returns.push(o2);
+// 3071
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3072
+f508011038_537.returns.push(1374696760852);
+// 3073
+o2 = {};
+// 3074
+f508011038_0.returns.push(o2);
+// 3075
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3076
+f508011038_537.returns.push(1374696760852);
+// 3077
+o2 = {};
+// 3078
+f508011038_0.returns.push(o2);
+// 3079
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3080
+f508011038_537.returns.push(1374696760852);
+// 3081
+o2 = {};
+// 3082
+f508011038_0.returns.push(o2);
+// 3083
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3084
+f508011038_537.returns.push(1374696760852);
+// 3085
+o2 = {};
+// 3086
+f508011038_0.returns.push(o2);
+// 3087
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3088
+f508011038_537.returns.push(1374696760852);
+// 3089
+o2 = {};
+// 3090
+f508011038_0.returns.push(o2);
+// 3091
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3092
+f508011038_537.returns.push(1374696760852);
+// 3093
+o2 = {};
+// 3094
+f508011038_0.returns.push(o2);
+// 3095
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3096
+f508011038_537.returns.push(1374696760853);
+// 3097
+o2 = {};
+// 3098
+f508011038_0.returns.push(o2);
+// 3099
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3100
+f508011038_537.returns.push(1374696760854);
+// 3101
+o2 = {};
+// 3102
+f508011038_0.returns.push(o2);
+// 3103
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3104
+f508011038_537.returns.push(1374696760854);
+// 3105
+o2 = {};
+// 3106
+f508011038_0.returns.push(o2);
+// 3107
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3108
+f508011038_537.returns.push(1374696760854);
+// 3109
+o2 = {};
+// 3110
+f508011038_0.returns.push(o2);
+// 3111
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3112
+f508011038_537.returns.push(1374696760854);
+// 3113
+o2 = {};
+// 3114
+f508011038_0.returns.push(o2);
+// 3115
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3116
+f508011038_537.returns.push(1374696760856);
+// 3117
+o2 = {};
+// 3118
+f508011038_0.returns.push(o2);
+// 3119
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3120
+f508011038_537.returns.push(1374696760856);
+// 3121
+o2 = {};
+// 3122
+f508011038_0.returns.push(o2);
+// 3123
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3124
+f508011038_537.returns.push(1374696760856);
+// 3125
+o2 = {};
+// 3126
+f508011038_0.returns.push(o2);
+// 3127
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3128
+f508011038_537.returns.push(1374696760857);
+// 3129
+o2 = {};
+// 3130
+f508011038_0.returns.push(o2);
+// 3131
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3132
+f508011038_537.returns.push(1374696760857);
+// 3133
+o2 = {};
+// 3134
+f508011038_0.returns.push(o2);
+// 3135
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3136
+f508011038_537.returns.push(1374696760857);
+// 3137
+o2 = {};
+// 3138
+f508011038_0.returns.push(o2);
+// 3139
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3140
+f508011038_537.returns.push(1374696760858);
+// 3141
+o2 = {};
+// 3142
+f508011038_0.returns.push(o2);
+// 3143
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3144
+f508011038_537.returns.push(1374696760858);
+// 3145
+o2 = {};
+// 3146
+f508011038_0.returns.push(o2);
+// 3147
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3148
+f508011038_537.returns.push(1374696760858);
+// 3149
+o2 = {};
+// 3150
+f508011038_0.returns.push(o2);
+// 3151
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3152
+f508011038_537.returns.push(1374696760858);
+// 3153
+o2 = {};
+// 3154
+f508011038_0.returns.push(o2);
+// 3155
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3156
+f508011038_537.returns.push(1374696760858);
+// 3157
+o2 = {};
+// 3158
+f508011038_0.returns.push(o2);
+// 3159
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3160
+f508011038_537.returns.push(1374696760859);
+// 3161
+o2 = {};
+// 3162
+f508011038_0.returns.push(o2);
+// 3163
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3164
+f508011038_537.returns.push(1374696760859);
+// 3165
+o2 = {};
+// 3166
+f508011038_0.returns.push(o2);
+// 3167
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3168
+f508011038_537.returns.push(1374696760859);
+// 3169
+o2 = {};
+// 3170
+f508011038_0.returns.push(o2);
+// 3171
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3172
+f508011038_537.returns.push(1374696760859);
+// 3173
+o2 = {};
+// 3174
+f508011038_0.returns.push(o2);
+// 3175
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3176
+f508011038_537.returns.push(1374696760860);
+// 3177
+o2 = {};
+// 3178
+f508011038_0.returns.push(o2);
+// 3179
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3180
+f508011038_537.returns.push(1374696760860);
+// 3181
+o2 = {};
+// 3182
+f508011038_0.returns.push(o2);
+// 3183
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3184
+f508011038_537.returns.push(1374696760860);
+// 3185
+o2 = {};
+// 3186
+f508011038_0.returns.push(o2);
+// 3187
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3188
+f508011038_537.returns.push(1374696760861);
+// 3189
+o2 = {};
+// 3190
+f508011038_0.returns.push(o2);
+// 3191
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3192
+f508011038_537.returns.push(1374696760861);
+// 3193
+o2 = {};
+// 3194
+f508011038_0.returns.push(o2);
+// 3195
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3196
+f508011038_537.returns.push(1374696760861);
+// 3197
+o2 = {};
+// 3198
+f508011038_0.returns.push(o2);
+// 3199
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3200
+f508011038_537.returns.push(1374696760861);
+// 3201
+o2 = {};
+// 3202
+f508011038_0.returns.push(o2);
+// 3203
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3204
+f508011038_537.returns.push(1374696760861);
+// 3205
+o2 = {};
+// 3206
+f508011038_0.returns.push(o2);
+// 3207
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3208
+f508011038_537.returns.push(1374696760861);
+// 3209
+o2 = {};
+// 3210
+f508011038_0.returns.push(o2);
+// 3211
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3212
+f508011038_537.returns.push(1374696760861);
+// 3213
+o2 = {};
+// 3214
+f508011038_0.returns.push(o2);
+// 3215
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3216
+f508011038_537.returns.push(1374696760863);
+// 3217
+o2 = {};
+// 3218
+f508011038_0.returns.push(o2);
+// 3219
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3220
+f508011038_537.returns.push(1374696760864);
+// 3221
+o2 = {};
+// 3222
+f508011038_0.returns.push(o2);
+// 3223
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3224
+f508011038_537.returns.push(1374696760867);
+// 3225
+o2 = {};
+// 3226
+f508011038_0.returns.push(o2);
+// 3227
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3228
+f508011038_537.returns.push(1374696760869);
+// 3229
+o2 = {};
+// 3230
+f508011038_0.returns.push(o2);
+// 3231
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3232
+f508011038_537.returns.push(1374696760869);
+// 3233
+o2 = {};
+// 3234
+f508011038_0.returns.push(o2);
+// 3235
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3236
+f508011038_537.returns.push(1374696760869);
+// 3237
+o2 = {};
+// 3238
+f508011038_0.returns.push(o2);
+// 3239
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3240
+f508011038_537.returns.push(1374696760869);
+// 3241
+o2 = {};
+// 3242
+f508011038_0.returns.push(o2);
+// 3243
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3244
+f508011038_537.returns.push(1374696760869);
+// 3245
+o2 = {};
+// 3246
+f508011038_0.returns.push(o2);
+// 3247
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3248
+f508011038_537.returns.push(1374696760873);
+// 3249
+o2 = {};
+// 3250
+f508011038_0.returns.push(o2);
+// 3251
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3252
+f508011038_537.returns.push(1374696760873);
+// 3253
+o2 = {};
+// 3254
+f508011038_0.returns.push(o2);
+// 3255
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3256
+f508011038_537.returns.push(1374696760873);
+// 3257
+o2 = {};
+// 3258
+f508011038_0.returns.push(o2);
+// 3259
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3260
+f508011038_537.returns.push(1374696760873);
+// 3261
+o2 = {};
+// 3262
+f508011038_0.returns.push(o2);
+// 3263
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3264
+f508011038_537.returns.push(1374696760873);
+// 3265
+o2 = {};
+// 3266
+f508011038_0.returns.push(o2);
+// 3267
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3268
+f508011038_537.returns.push(1374696760873);
+// 3269
+o2 = {};
+// 3270
+f508011038_0.returns.push(o2);
+// 3271
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3272
+f508011038_537.returns.push(1374696760873);
+// 3273
+o2 = {};
+// 3274
+f508011038_0.returns.push(o2);
+// 3275
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3276
+f508011038_537.returns.push(1374696760873);
+// 3277
+o2 = {};
+// 3278
+f508011038_0.returns.push(o2);
+// 3279
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3280
+f508011038_537.returns.push(1374696760874);
+// 3281
+o2 = {};
+// 3282
+f508011038_0.returns.push(o2);
+// 3283
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3284
+f508011038_537.returns.push(1374696760874);
+// 3285
+o2 = {};
+// 3286
+f508011038_0.returns.push(o2);
+// 3287
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3288
+f508011038_537.returns.push(1374696760874);
+// 3289
+o2 = {};
+// 3290
+f508011038_0.returns.push(o2);
+// 3291
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3292
+f508011038_537.returns.push(1374696760874);
+// 3293
+o2 = {};
+// 3294
+f508011038_0.returns.push(o2);
+// 3295
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3296
+f508011038_537.returns.push(1374696760875);
+// 3297
+o2 = {};
+// 3298
+f508011038_0.returns.push(o2);
+// 3299
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3300
+f508011038_537.returns.push(1374696760875);
+// 3301
+o2 = {};
+// 3302
+f508011038_0.returns.push(o2);
+// 3303
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3304
+f508011038_537.returns.push(1374696760875);
+// 3305
+o2 = {};
+// 3306
+f508011038_0.returns.push(o2);
+// 3307
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3308
+f508011038_537.returns.push(1374696760875);
+// 3309
+o2 = {};
+// 3310
+f508011038_0.returns.push(o2);
+// 3311
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3312
+f508011038_537.returns.push(1374696760876);
+// 3313
+o2 = {};
+// 3314
+f508011038_0.returns.push(o2);
+// 3315
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3316
+f508011038_537.returns.push(1374696760876);
+// 3317
+o2 = {};
+// 3318
+f508011038_0.returns.push(o2);
+// 3319
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3320
+f508011038_537.returns.push(1374696760876);
+// 3321
+o2 = {};
+// 3322
+f508011038_0.returns.push(o2);
+// 3323
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3324
+f508011038_537.returns.push(1374696760876);
+// 3325
+o2 = {};
+// 3326
+f508011038_0.returns.push(o2);
+// 3327
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3328
+f508011038_537.returns.push(1374696760876);
+// 3329
+o2 = {};
+// 3330
+f508011038_0.returns.push(o2);
+// 3331
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3332
+f508011038_537.returns.push(1374696760880);
+// 3333
+o2 = {};
+// 3334
+f508011038_0.returns.push(o2);
+// 3335
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3336
+f508011038_537.returns.push(1374696760880);
+// 3337
+o2 = {};
+// 3338
+f508011038_0.returns.push(o2);
+// 3339
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3340
+f508011038_537.returns.push(1374696760880);
+// 3341
+o2 = {};
+// 3342
+f508011038_0.returns.push(o2);
+// 3343
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3344
+f508011038_537.returns.push(1374696760880);
+// 3345
+o2 = {};
+// 3346
+f508011038_0.returns.push(o2);
+// 3347
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3348
+f508011038_537.returns.push(1374696760881);
+// 3349
+o2 = {};
+// 3350
+f508011038_0.returns.push(o2);
+// 3351
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3352
+f508011038_537.returns.push(1374696760881);
+// 3353
+o2 = {};
+// 3354
+f508011038_0.returns.push(o2);
+// 3355
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3356
+f508011038_537.returns.push(1374696760881);
+// 3357
+o2 = {};
+// 3358
+f508011038_0.returns.push(o2);
+// 3359
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3360
+f508011038_537.returns.push(1374696760881);
+// 3361
+o2 = {};
+// 3362
+f508011038_0.returns.push(o2);
+// 3363
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3364
+f508011038_537.returns.push(1374696760882);
+// 3365
+o2 = {};
+// 3366
+f508011038_0.returns.push(o2);
+// 3367
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3368
+f508011038_537.returns.push(1374696760882);
+// 3369
+o2 = {};
+// 3370
+f508011038_0.returns.push(o2);
+// 3371
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3372
+f508011038_537.returns.push(1374696760882);
+// 3373
+o2 = {};
+// 3374
+f508011038_0.returns.push(o2);
+// 3375
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3376
+f508011038_537.returns.push(1374696760883);
+// 3377
+o2 = {};
+// 3378
+f508011038_0.returns.push(o2);
+// 3379
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3380
+f508011038_537.returns.push(1374696760883);
+// 3381
+o2 = {};
+// 3382
+f508011038_0.returns.push(o2);
+// 3383
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3384
+f508011038_537.returns.push(1374696760883);
+// 3385
+o2 = {};
+// 3386
+f508011038_0.returns.push(o2);
+// 3387
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3388
+f508011038_537.returns.push(1374696760884);
+// 3389
+o2 = {};
+// 3390
+f508011038_0.returns.push(o2);
+// 3391
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3392
+f508011038_537.returns.push(1374696760884);
+// 3393
+o2 = {};
+// 3394
+f508011038_0.returns.push(o2);
+// 3395
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3396
+f508011038_537.returns.push(1374696760884);
+// 3397
+o2 = {};
+// 3398
+f508011038_0.returns.push(o2);
+// 3399
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3400
+f508011038_537.returns.push(1374696760884);
+// 3401
+o2 = {};
+// 3402
+f508011038_0.returns.push(o2);
+// 3403
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3404
+f508011038_537.returns.push(1374696760884);
+// 3405
+o2 = {};
+// 3406
+f508011038_0.returns.push(o2);
+// 3407
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3408
+f508011038_537.returns.push(1374696760884);
+// 3409
+o2 = {};
+// 3410
+f508011038_0.returns.push(o2);
+// 3411
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3412
+f508011038_537.returns.push(1374696760885);
+// 3413
+o2 = {};
+// 3414
+f508011038_0.returns.push(o2);
+// 3415
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3416
+f508011038_537.returns.push(1374696760885);
+// 3417
+o2 = {};
+// 3418
+f508011038_0.returns.push(o2);
+// 3419
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3420
+f508011038_537.returns.push(1374696760885);
+// 3421
+o2 = {};
+// 3422
+f508011038_0.returns.push(o2);
+// 3423
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3424
+f508011038_537.returns.push(1374696760886);
+// 3425
+o2 = {};
+// 3426
+f508011038_0.returns.push(o2);
+// 3427
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3428
+f508011038_537.returns.push(1374696760886);
+// 3429
+o2 = {};
+// 3430
+f508011038_0.returns.push(o2);
+// 3431
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3432
+f508011038_537.returns.push(1374696760886);
+// 3433
+o2 = {};
+// 3434
+f508011038_0.returns.push(o2);
+// 3435
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3436
+f508011038_537.returns.push(1374696760897);
+// 3437
+o2 = {};
+// 3438
+f508011038_0.returns.push(o2);
+// 3439
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3440
+f508011038_537.returns.push(1374696760897);
+// 3441
+o2 = {};
+// 3442
+f508011038_0.returns.push(o2);
+// 3443
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3444
+f508011038_537.returns.push(1374696760897);
+// 3445
+o2 = {};
+// 3446
+f508011038_0.returns.push(o2);
+// 3447
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3448
+f508011038_537.returns.push(1374696760897);
+// 3449
+o2 = {};
+// 3450
+f508011038_0.returns.push(o2);
+// 3451
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3452
+f508011038_537.returns.push(1374696760897);
+// 3453
+o2 = {};
+// 3454
+f508011038_0.returns.push(o2);
+// 3455
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3456
+f508011038_537.returns.push(1374696760897);
+// 3457
+o2 = {};
+// 3458
+f508011038_0.returns.push(o2);
+// 3459
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3460
+f508011038_537.returns.push(1374696760897);
+// 3461
+o2 = {};
+// 3462
+f508011038_0.returns.push(o2);
+// 3463
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3464
+f508011038_537.returns.push(1374696760897);
+// 3465
+o2 = {};
+// 3466
+f508011038_0.returns.push(o2);
+// 3467
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3468
+f508011038_537.returns.push(1374696760897);
+// 3469
+o2 = {};
+// 3470
+f508011038_0.returns.push(o2);
+// 3471
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3472
+f508011038_537.returns.push(1374696760898);
+// 3473
+o2 = {};
+// 3474
+f508011038_0.returns.push(o2);
+// 3475
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3476
+f508011038_537.returns.push(1374696760898);
+// 3477
+o2 = {};
+// 3478
+f508011038_0.returns.push(o2);
+// 3479
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3480
+f508011038_537.returns.push(1374696760898);
+// 3481
+o2 = {};
+// 3482
+f508011038_0.returns.push(o2);
+// 3483
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3484
+f508011038_537.returns.push(1374696760898);
+// 3485
+o2 = {};
+// 3486
+f508011038_0.returns.push(o2);
+// 3487
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3488
+f508011038_537.returns.push(1374696760899);
+// 3489
+o2 = {};
+// 3490
+f508011038_0.returns.push(o2);
+// 3491
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3492
+f508011038_537.returns.push(1374696760899);
+// 3493
+o2 = {};
+// 3494
+f508011038_0.returns.push(o2);
+// 3495
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3496
+f508011038_537.returns.push(1374696760899);
+// 3497
+o2 = {};
+// 3498
+f508011038_0.returns.push(o2);
+// 3499
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3500
+f508011038_537.returns.push(1374696760900);
+// 3501
+o2 = {};
+// 3502
+f508011038_0.returns.push(o2);
+// 3503
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3504
+f508011038_537.returns.push(1374696760900);
+// 3505
+o2 = {};
+// 3506
+f508011038_0.returns.push(o2);
+// 3507
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3508
+f508011038_537.returns.push(1374696760900);
+// 3509
+o2 = {};
+// 3510
+f508011038_0.returns.push(o2);
+// 3511
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3512
+f508011038_537.returns.push(1374696760900);
+// 3513
+o2 = {};
+// 3514
+f508011038_0.returns.push(o2);
+// 3515
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3516
+f508011038_537.returns.push(1374696760900);
+// 3517
+o2 = {};
+// 3518
+f508011038_0.returns.push(o2);
+// 3519
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3520
+f508011038_537.returns.push(1374696760901);
+// 3521
+o2 = {};
+// 3522
+f508011038_0.returns.push(o2);
+// 3523
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3524
+f508011038_537.returns.push(1374696760901);
+// 3525
+o2 = {};
+// 3526
+f508011038_0.returns.push(o2);
+// 3527
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3528
+f508011038_537.returns.push(1374696760901);
+// 3529
+o2 = {};
+// 3530
+f508011038_0.returns.push(o2);
+// 3531
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3532
+f508011038_537.returns.push(1374696760901);
+// 3533
+o2 = {};
+// 3534
+f508011038_0.returns.push(o2);
+// 3535
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3536
+f508011038_537.returns.push(1374696760902);
+// 3537
+o2 = {};
+// 3538
+f508011038_0.returns.push(o2);
+// 3539
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3540
+f508011038_537.returns.push(1374696760902);
+// 3541
+o2 = {};
+// 3542
+f508011038_0.returns.push(o2);
+// 3543
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3544
+f508011038_537.returns.push(1374696760905);
+// 3545
+o2 = {};
+// 3546
+f508011038_0.returns.push(o2);
+// 3547
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3548
+f508011038_537.returns.push(1374696760905);
+// 3549
+o2 = {};
+// 3550
+f508011038_0.returns.push(o2);
+// 3551
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3552
+f508011038_537.returns.push(1374696760905);
+// 3553
+o2 = {};
+// 3554
+f508011038_0.returns.push(o2);
+// 3555
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3556
+f508011038_537.returns.push(1374696760906);
+// 3557
+o2 = {};
+// 3558
+f508011038_0.returns.push(o2);
+// 3559
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3560
+f508011038_537.returns.push(1374696760907);
+// 3561
+o2 = {};
+// 3562
+f508011038_0.returns.push(o2);
+// 3563
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3564
+f508011038_537.returns.push(1374696760907);
+// 3565
+o2 = {};
+// 3566
+f508011038_0.returns.push(o2);
+// 3567
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3568
+f508011038_537.returns.push(1374696760907);
+// 3569
+o2 = {};
+// 3570
+f508011038_0.returns.push(o2);
+// 3571
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3572
+f508011038_537.returns.push(1374696760907);
+// 3573
+o2 = {};
+// 3574
+f508011038_0.returns.push(o2);
+// 3575
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3576
+f508011038_537.returns.push(1374696760907);
+// 3577
+o2 = {};
+// 3578
+f508011038_0.returns.push(o2);
+// 3579
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3580
+f508011038_537.returns.push(1374696760908);
+// 3581
+o2 = {};
+// 3582
+f508011038_0.returns.push(o2);
+// 3583
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3584
+f508011038_537.returns.push(1374696760908);
+// 3585
+o2 = {};
+// 3586
+f508011038_0.returns.push(o2);
+// 3587
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3588
+f508011038_537.returns.push(1374696760909);
+// 3589
+o2 = {};
+// 3590
+f508011038_0.returns.push(o2);
+// 3591
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3592
+f508011038_537.returns.push(1374696760909);
+// 3593
+o2 = {};
+// 3594
+f508011038_0.returns.push(o2);
+// 3595
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3596
+f508011038_537.returns.push(1374696760909);
+// 3597
+o2 = {};
+// 3598
+f508011038_0.returns.push(o2);
+// 3599
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3600
+f508011038_537.returns.push(1374696760910);
+// 3601
+o2 = {};
+// 3602
+f508011038_0.returns.push(o2);
+// 3603
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3604
+f508011038_537.returns.push(1374696760910);
+// 3605
+o2 = {};
+// 3606
+f508011038_0.returns.push(o2);
+// 3607
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3608
+f508011038_537.returns.push(1374696760910);
+// 3609
+o2 = {};
+// 3610
+f508011038_0.returns.push(o2);
+// 3611
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3612
+f508011038_537.returns.push(1374696760910);
+// 3613
+o2 = {};
+// 3614
+f508011038_0.returns.push(o2);
+// 3615
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3616
+f508011038_537.returns.push(1374696760910);
+// 3617
+o2 = {};
+// 3618
+f508011038_0.returns.push(o2);
+// 3619
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3620
+f508011038_537.returns.push(1374696760911);
+// 3621
+o2 = {};
+// 3622
+f508011038_0.returns.push(o2);
+// 3623
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3624
+f508011038_537.returns.push(1374696760911);
+// 3625
+o2 = {};
+// 3626
+f508011038_0.returns.push(o2);
+// 3627
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3628
+f508011038_537.returns.push(1374696760911);
+// 3629
+o2 = {};
+// 3630
+f508011038_0.returns.push(o2);
+// 3631
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3632
+f508011038_537.returns.push(1374696760911);
+// 3633
+o2 = {};
+// 3634
+f508011038_0.returns.push(o2);
+// 3635
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3636
+f508011038_537.returns.push(1374696760912);
+// 3637
+o2 = {};
+// 3638
+f508011038_0.returns.push(o2);
+// 3639
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3640
+f508011038_537.returns.push(1374696760912);
+// 3641
+o2 = {};
+// 3642
+f508011038_0.returns.push(o2);
+// 3643
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3644
+f508011038_537.returns.push(1374696760913);
+// 3645
+o2 = {};
+// 3646
+f508011038_0.returns.push(o2);
+// 3647
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3648
+f508011038_537.returns.push(1374696760916);
+// 3649
+o2 = {};
+// 3650
+f508011038_0.returns.push(o2);
+// 3651
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3652
+f508011038_537.returns.push(1374696760916);
+// 3653
+o2 = {};
+// 3654
+f508011038_0.returns.push(o2);
+// 3655
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3656
+f508011038_537.returns.push(1374696760916);
+// 3657
+o2 = {};
+// 3658
+f508011038_0.returns.push(o2);
+// 3659
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3660
+f508011038_537.returns.push(1374696760917);
+// 3661
+o2 = {};
+// 3662
+f508011038_0.returns.push(o2);
+// 3663
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3664
+f508011038_537.returns.push(1374696760917);
+// 3665
+o2 = {};
+// 3666
+f508011038_0.returns.push(o2);
+// 3667
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3668
+f508011038_537.returns.push(1374696760917);
+// 3669
+o2 = {};
+// 3670
+f508011038_0.returns.push(o2);
+// 3671
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3672
+f508011038_537.returns.push(1374696760917);
+// 3673
+o2 = {};
+// 3674
+f508011038_0.returns.push(o2);
+// 3675
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3676
+f508011038_537.returns.push(1374696760917);
+// 3677
+o2 = {};
+// 3678
+f508011038_0.returns.push(o2);
+// 3679
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3680
+f508011038_537.returns.push(1374696760918);
+// 3681
+o2 = {};
+// 3682
+f508011038_0.returns.push(o2);
+// 3683
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3684
+f508011038_537.returns.push(1374696760918);
+// 3685
+o2 = {};
+// 3686
+f508011038_0.returns.push(o2);
+// 3687
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3688
+f508011038_537.returns.push(1374696760918);
+// 3689
+o2 = {};
+// 3690
+f508011038_0.returns.push(o2);
+// 3691
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3692
+f508011038_537.returns.push(1374696760918);
+// 3693
+o2 = {};
+// 3694
+f508011038_0.returns.push(o2);
+// 3695
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3696
+f508011038_537.returns.push(1374696760919);
+// 3697
+o2 = {};
+// 3698
+f508011038_0.returns.push(o2);
+// 3699
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3700
+f508011038_537.returns.push(1374696760919);
+// 3701
+o2 = {};
+// 3702
+f508011038_0.returns.push(o2);
+// 3703
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3704
+f508011038_537.returns.push(1374696760919);
+// 3705
+o2 = {};
+// 3706
+f508011038_0.returns.push(o2);
+// 3707
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3708
+f508011038_537.returns.push(1374696760919);
+// 3709
+o2 = {};
+// 3710
+f508011038_0.returns.push(o2);
+// 3711
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3712
+f508011038_537.returns.push(1374696760919);
+// 3713
+o2 = {};
+// 3714
+f508011038_0.returns.push(o2);
+// 3715
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3716
+f508011038_537.returns.push(1374696760920);
+// 3717
+o2 = {};
+// 3718
+f508011038_0.returns.push(o2);
+// 3719
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3720
+f508011038_537.returns.push(1374696760920);
+// 3721
+o2 = {};
+// 3722
+f508011038_0.returns.push(o2);
+// 3723
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3724
+f508011038_537.returns.push(1374696760920);
+// 3725
+o2 = {};
+// 3726
+f508011038_0.returns.push(o2);
+// 3727
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3728
+f508011038_537.returns.push(1374696760920);
+// 3729
+o2 = {};
+// 3730
+f508011038_0.returns.push(o2);
+// 3731
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3732
+f508011038_537.returns.push(1374696760920);
+// 3733
+o2 = {};
+// 3734
+f508011038_0.returns.push(o2);
+// 3735
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3736
+f508011038_537.returns.push(1374696760920);
+// 3737
+o2 = {};
+// 3738
+f508011038_0.returns.push(o2);
+// 3739
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3740
+f508011038_537.returns.push(1374696760921);
+// 3741
+o2 = {};
+// 3742
+f508011038_0.returns.push(o2);
+// 3743
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3744
+f508011038_537.returns.push(1374696760921);
+// 3745
+o2 = {};
+// 3746
+f508011038_0.returns.push(o2);
+// 3747
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3748
+f508011038_537.returns.push(1374696760921);
+// 3749
+o2 = {};
+// 3750
+f508011038_0.returns.push(o2);
+// 3751
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3752
+f508011038_537.returns.push(1374696760922);
+// 3753
+o2 = {};
+// 3754
+f508011038_0.returns.push(o2);
+// 3755
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3756
+f508011038_537.returns.push(1374696760926);
+// 3757
+o2 = {};
+// 3758
+f508011038_0.returns.push(o2);
+// 3759
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3760
+f508011038_537.returns.push(1374696760926);
+// 3761
+o2 = {};
+// 3762
+f508011038_0.returns.push(o2);
+// 3763
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3764
+f508011038_537.returns.push(1374696760926);
+// 3765
+o2 = {};
+// 3766
+f508011038_0.returns.push(o2);
+// 3767
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3768
+f508011038_537.returns.push(1374696760926);
+// 3769
+o2 = {};
+// 3770
+f508011038_0.returns.push(o2);
+// 3771
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3772
+f508011038_537.returns.push(1374696760926);
+// 3773
+o2 = {};
+// 3774
+f508011038_0.returns.push(o2);
+// 3775
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3776
+f508011038_537.returns.push(1374696760927);
+// 3777
+o2 = {};
+// 3778
+f508011038_0.returns.push(o2);
+// 3779
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3780
+f508011038_537.returns.push(1374696760927);
+// 3781
+o2 = {};
+// 3782
+f508011038_0.returns.push(o2);
+// 3783
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3784
+f508011038_537.returns.push(1374696760927);
+// 3785
+o2 = {};
+// 3786
+f508011038_0.returns.push(o2);
+// 3787
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3788
+f508011038_537.returns.push(1374696760927);
+// 3789
+o2 = {};
+// 3790
+f508011038_0.returns.push(o2);
+// 3791
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3792
+f508011038_537.returns.push(1374696760927);
+// 3793
+o2 = {};
+// 3794
+f508011038_0.returns.push(o2);
+// 3795
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3796
+f508011038_537.returns.push(1374696760929);
+// 3797
+o2 = {};
+// 3798
+f508011038_0.returns.push(o2);
+// 3799
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3800
+f508011038_537.returns.push(1374696760929);
+// 3801
+o2 = {};
+// 3802
+f508011038_0.returns.push(o2);
+// 3803
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3804
+f508011038_537.returns.push(1374696760929);
+// 3805
+o2 = {};
+// 3806
+f508011038_0.returns.push(o2);
+// 3807
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3808
+f508011038_537.returns.push(1374696760929);
+// 3809
+o2 = {};
+// 3810
+f508011038_0.returns.push(o2);
+// 3811
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3812
+f508011038_537.returns.push(1374696760929);
+// 3813
+o2 = {};
+// 3814
+f508011038_0.returns.push(o2);
+// 3815
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3816
+f508011038_537.returns.push(1374696760930);
+// 3817
+o2 = {};
+// 3818
+f508011038_0.returns.push(o2);
+// 3819
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3820
+f508011038_537.returns.push(1374696760930);
+// 3821
+o2 = {};
+// 3822
+f508011038_0.returns.push(o2);
+// 3823
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3824
+f508011038_537.returns.push(1374696760931);
+// 3825
+o2 = {};
+// 3826
+f508011038_0.returns.push(o2);
+// 3827
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3828
+f508011038_537.returns.push(1374696760931);
+// 3829
+o2 = {};
+// 3830
+f508011038_0.returns.push(o2);
+// 3831
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3832
+f508011038_537.returns.push(1374696760931);
+// 3833
+o2 = {};
+// 3834
+f508011038_0.returns.push(o2);
+// 3835
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3836
+f508011038_537.returns.push(1374696760932);
+// 3837
+o2 = {};
+// 3838
+f508011038_0.returns.push(o2);
+// 3839
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3840
+f508011038_537.returns.push(1374696760932);
+// 3841
+o2 = {};
+// 3842
+f508011038_0.returns.push(o2);
+// 3843
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3844
+f508011038_537.returns.push(1374696760932);
+// 3845
+o2 = {};
+// 3846
+f508011038_0.returns.push(o2);
+// 3847
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3848
+f508011038_537.returns.push(1374696760932);
+// 3849
+o2 = {};
+// 3850
+f508011038_0.returns.push(o2);
+// 3851
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3852
+f508011038_537.returns.push(1374696760933);
+// 3853
+o2 = {};
+// 3854
+f508011038_0.returns.push(o2);
+// 3855
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3856
+f508011038_537.returns.push(1374696760933);
+// 3857
+o2 = {};
+// 3858
+f508011038_0.returns.push(o2);
+// 3859
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3860
+f508011038_537.returns.push(1374696760935);
+// 3861
+o2 = {};
+// 3862
+f508011038_0.returns.push(o2);
+// 3863
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3864
+f508011038_537.returns.push(1374696760935);
+// 3865
+o2 = {};
+// 3866
+f508011038_0.returns.push(o2);
+// 3867
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3868
+f508011038_537.returns.push(1374696760935);
+// 3869
+o2 = {};
+// 3870
+f508011038_0.returns.push(o2);
+// 3871
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3872
+f508011038_537.returns.push(1374696760936);
+// 3873
+o2 = {};
+// 3874
+f508011038_0.returns.push(o2);
+// 3875
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3876
+f508011038_537.returns.push(1374696760936);
+// 3877
+o2 = {};
+// 3878
+f508011038_0.returns.push(o2);
+// 3879
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3880
+f508011038_537.returns.push(1374696760937);
+// 3881
+o2 = {};
+// 3882
+f508011038_0.returns.push(o2);
+// 3883
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3884
+f508011038_537.returns.push(1374696760937);
+// 3885
+o2 = {};
+// 3886
+f508011038_0.returns.push(o2);
+// 3887
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3888
+f508011038_537.returns.push(1374696760937);
+// 3889
+o2 = {};
+// 3890
+f508011038_0.returns.push(o2);
+// 3891
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3892
+f508011038_537.returns.push(1374696760937);
+// 3893
+o2 = {};
+// 3894
+f508011038_0.returns.push(o2);
+// 3895
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3896
+f508011038_537.returns.push(1374696760937);
+// 3897
+o2 = {};
+// 3898
+f508011038_0.returns.push(o2);
+// 3899
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3900
+f508011038_537.returns.push(1374696760938);
+// 3901
+o2 = {};
+// 3902
+f508011038_0.returns.push(o2);
+// 3903
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3904
+f508011038_537.returns.push(1374696760938);
+// 3905
+o2 = {};
+// 3906
+f508011038_0.returns.push(o2);
+// 3907
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3908
+f508011038_537.returns.push(1374696760938);
+// 3909
+o2 = {};
+// 3910
+f508011038_0.returns.push(o2);
+// 3911
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3912
+f508011038_537.returns.push(1374696760939);
+// 3913
+o2 = {};
+// 3914
+f508011038_0.returns.push(o2);
+// 3915
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3916
+f508011038_537.returns.push(1374696760939);
+// 3917
+o2 = {};
+// 3918
+f508011038_0.returns.push(o2);
+// 3919
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3920
+f508011038_537.returns.push(1374696760940);
+// 3921
+o2 = {};
+// 3922
+f508011038_0.returns.push(o2);
+// 3923
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3924
+f508011038_537.returns.push(1374696760940);
+// 3925
+o2 = {};
+// 3926
+f508011038_0.returns.push(o2);
+// 3927
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3928
+f508011038_537.returns.push(1374696760940);
+// 3929
+o2 = {};
+// 3930
+f508011038_0.returns.push(o2);
+// 3931
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3932
+f508011038_537.returns.push(1374696760941);
+// 3933
+o2 = {};
+// 3934
+f508011038_0.returns.push(o2);
+// 3935
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3936
+f508011038_537.returns.push(1374696760941);
+// 3937
+o2 = {};
+// 3938
+f508011038_0.returns.push(o2);
+// 3939
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3940
+f508011038_537.returns.push(1374696760942);
+// 3941
+o2 = {};
+// 3942
+f508011038_0.returns.push(o2);
+// 3943
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3944
+f508011038_537.returns.push(1374696760942);
+// 3945
+o2 = {};
+// 3946
+f508011038_0.returns.push(o2);
+// 3947
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3948
+f508011038_537.returns.push(1374696760942);
+// 3949
+o2 = {};
+// 3950
+f508011038_0.returns.push(o2);
+// 3951
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3952
+f508011038_537.returns.push(1374696760943);
+// 3953
+o2 = {};
+// 3954
+f508011038_0.returns.push(o2);
+// 3955
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3956
+f508011038_537.returns.push(1374696760943);
+// 3957
+o2 = {};
+// 3958
+f508011038_0.returns.push(o2);
+// 3959
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3960
+f508011038_537.returns.push(1374696760943);
+// 3961
+o2 = {};
+// 3962
+f508011038_0.returns.push(o2);
+// 3963
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3964
+f508011038_537.returns.push(1374696760943);
+// 3965
+o2 = {};
+// 3966
+f508011038_0.returns.push(o2);
+// 3967
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3968
+f508011038_537.returns.push(1374696760962);
+// 3969
+o2 = {};
+// 3970
+f508011038_0.returns.push(o2);
+// 3971
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3972
+f508011038_537.returns.push(1374696760967);
+// 3973
+o2 = {};
+// 3974
+f508011038_0.returns.push(o2);
+// 3975
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3976
+f508011038_537.returns.push(1374696760970);
+// 3977
+o2 = {};
+// 3978
+f508011038_0.returns.push(o2);
+// 3979
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3980
+f508011038_537.returns.push(1374696760971);
+// 3981
+o2 = {};
+// 3982
+f508011038_0.returns.push(o2);
+// 3983
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3984
+f508011038_537.returns.push(1374696760971);
+// 3985
+o2 = {};
+// 3986
+f508011038_0.returns.push(o2);
+// 3987
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3988
+f508011038_537.returns.push(1374696760971);
+// 3989
+o2 = {};
+// 3990
+f508011038_0.returns.push(o2);
+// 3991
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3992
+f508011038_537.returns.push(1374696760972);
+// 3993
+o2 = {};
+// 3994
+f508011038_0.returns.push(o2);
+// 3995
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 3996
+f508011038_537.returns.push(1374696760973);
+// 3997
+o2 = {};
+// 3998
+f508011038_0.returns.push(o2);
+// 3999
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4000
+f508011038_537.returns.push(1374696760973);
+// 4001
+o2 = {};
+// 4002
+f508011038_0.returns.push(o2);
+// 4003
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4004
+f508011038_537.returns.push(1374696760973);
+// 4005
+o2 = {};
+// 4006
+f508011038_0.returns.push(o2);
+// 4007
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4008
+f508011038_537.returns.push(1374696760973);
+// 4009
+o2 = {};
+// 4010
+f508011038_0.returns.push(o2);
+// 4011
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4012
+f508011038_537.returns.push(1374696760974);
+// 4013
+o2 = {};
+// 4014
+f508011038_0.returns.push(o2);
+// 4015
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4016
+f508011038_537.returns.push(1374696760974);
+// 4017
+o2 = {};
+// 4018
+f508011038_0.returns.push(o2);
+// 4019
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4020
+f508011038_537.returns.push(1374696760975);
+// 4021
+o2 = {};
+// 4022
+f508011038_0.returns.push(o2);
+// 4023
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4024
+f508011038_537.returns.push(1374696760975);
+// 4025
+o2 = {};
+// 4026
+f508011038_0.returns.push(o2);
+// 4027
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4028
+f508011038_537.returns.push(1374696760977);
+// 4029
+o2 = {};
+// 4030
+f508011038_0.returns.push(o2);
+// 4031
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4032
+f508011038_537.returns.push(1374696760977);
+// 4033
+o2 = {};
+// 4034
+f508011038_0.returns.push(o2);
+// 4035
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4036
+f508011038_537.returns.push(1374696760977);
+// 4037
+o2 = {};
+// 4038
+f508011038_0.returns.push(o2);
+// 4039
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4040
+f508011038_537.returns.push(1374696760979);
+// 4041
+o2 = {};
+// 4042
+f508011038_0.returns.push(o2);
+// 4043
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4044
+f508011038_537.returns.push(1374696760979);
+// 4045
+o2 = {};
+// 4046
+f508011038_0.returns.push(o2);
+// 4047
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4048
+f508011038_537.returns.push(1374696760979);
+// 4049
+o2 = {};
+// 4050
+f508011038_0.returns.push(o2);
+// 4051
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4052
+f508011038_537.returns.push(1374696760979);
+// 4053
+o2 = {};
+// 4054
+f508011038_0.returns.push(o2);
+// 4055
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4056
+f508011038_537.returns.push(1374696760980);
+// 4057
+o2 = {};
+// 4058
+f508011038_0.returns.push(o2);
+// 4059
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4060
+f508011038_537.returns.push(1374696760980);
+// 4061
+o2 = {};
+// 4062
+f508011038_0.returns.push(o2);
+// 4063
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4064
+f508011038_537.returns.push(1374696760980);
+// 4065
+o2 = {};
+// 4066
+f508011038_0.returns.push(o2);
+// 4067
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4068
+f508011038_537.returns.push(1374696760980);
+// 4069
+o2 = {};
+// 4070
+f508011038_0.returns.push(o2);
+// 4071
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4072
+f508011038_537.returns.push(1374696768859);
+// 4073
+o2 = {};
+// 4074
+f508011038_0.returns.push(o2);
+// 4075
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4076
+f508011038_537.returns.push(1374696768859);
+// 4077
+o2 = {};
+// 4078
+f508011038_0.returns.push(o2);
+// 4079
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4080
+f508011038_537.returns.push(1374696768859);
+// 4081
+o2 = {};
+// 4082
+f508011038_0.returns.push(o2);
+// 4083
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4084
+f508011038_537.returns.push(1374696768860);
+// 4085
+o2 = {};
+// 4086
+f508011038_0.returns.push(o2);
+// 4087
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4088
+f508011038_537.returns.push(1374696768860);
+// 4089
+o2 = {};
+// 4090
+f508011038_0.returns.push(o2);
+// 4091
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4092
+f508011038_537.returns.push(1374696768860);
+// 4093
+o2 = {};
+// 4094
+f508011038_0.returns.push(o2);
+// 4095
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4096
+f508011038_537.returns.push(1374696768860);
+// 4097
+o2 = {};
+// 4098
+f508011038_0.returns.push(o2);
+// 4099
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4100
+f508011038_537.returns.push(1374696768860);
+// 4101
+o2 = {};
+// 4102
+f508011038_0.returns.push(o2);
+// 4103
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4104
+f508011038_537.returns.push(1374696768860);
+// 4105
+o2 = {};
+// 4106
+f508011038_0.returns.push(o2);
+// 4107
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4108
+f508011038_537.returns.push(1374696768861);
+// 4109
+o2 = {};
+// 4110
+f508011038_0.returns.push(o2);
+// 4111
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4112
+f508011038_537.returns.push(1374696768861);
+// 4113
+o2 = {};
+// 4114
+f508011038_0.returns.push(o2);
+// 4115
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4116
+f508011038_537.returns.push(1374696768861);
+// 4117
+o2 = {};
+// 4118
+f508011038_0.returns.push(o2);
+// 4119
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4120
+f508011038_537.returns.push(1374696768861);
+// 4121
+o2 = {};
+// 4122
+f508011038_0.returns.push(o2);
+// 4123
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4124
+f508011038_537.returns.push(1374696768861);
+// 4125
+o2 = {};
+// 4126
+f508011038_0.returns.push(o2);
+// 4127
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4128
+f508011038_537.returns.push(1374696768862);
+// 4129
+o2 = {};
+// 4130
+f508011038_0.returns.push(o2);
+// 4131
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4132
+f508011038_537.returns.push(1374696768862);
+// 4133
+o2 = {};
+// 4134
+f508011038_0.returns.push(o2);
+// 4135
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4136
+f508011038_537.returns.push(1374696768862);
+// 4137
+o2 = {};
+// 4138
+f508011038_0.returns.push(o2);
+// 4139
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4140
+f508011038_537.returns.push(1374696768862);
+// 4141
+o2 = {};
+// 4142
+f508011038_0.returns.push(o2);
+// 4143
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4144
+f508011038_537.returns.push(1374696768862);
+// 4145
+o2 = {};
+// 4146
+f508011038_0.returns.push(o2);
+// 4147
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4148
+f508011038_537.returns.push(1374696768863);
+// 4149
+o2 = {};
+// 4150
+f508011038_0.returns.push(o2);
+// 4151
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4152
+f508011038_537.returns.push(1374696768863);
+// 4153
+o2 = {};
+// 4154
+f508011038_0.returns.push(o2);
+// 4155
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4156
+f508011038_537.returns.push(1374696768863);
+// 4157
+o2 = {};
+// 4158
+f508011038_0.returns.push(o2);
+// 4159
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4160
+f508011038_537.returns.push(1374696768863);
+// 4161
+o2 = {};
+// 4162
+f508011038_0.returns.push(o2);
+// 4163
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4164
+f508011038_537.returns.push(1374696768863);
+// 4165
+o2 = {};
+// 4166
+f508011038_0.returns.push(o2);
+// 4167
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4168
+f508011038_537.returns.push(1374696768863);
+// 4169
+o2 = {};
+// 4170
+f508011038_0.returns.push(o2);
+// 4171
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4172
+f508011038_537.returns.push(1374696768863);
+// 4173
+o2 = {};
+// 4174
+f508011038_0.returns.push(o2);
+// 4175
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4176
+f508011038_537.returns.push(1374696768863);
+// 4177
+o2 = {};
+// 4178
+f508011038_0.returns.push(o2);
+// 4179
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4180
+f508011038_537.returns.push(1374696768866);
+// 4181
+o2 = {};
+// 4182
+f508011038_0.returns.push(o2);
+// 4183
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4184
+f508011038_537.returns.push(1374696768867);
+// 4185
+o2 = {};
+// 4186
+f508011038_0.returns.push(o2);
+// 4187
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4188
+f508011038_537.returns.push(1374696768867);
+// 4189
+o2 = {};
+// 4190
+f508011038_0.returns.push(o2);
+// 4191
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4192
+f508011038_537.returns.push(1374696768868);
+// 4193
+o2 = {};
+// 4194
+f508011038_0.returns.push(o2);
+// 4195
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4196
+f508011038_537.returns.push(1374696768868);
+// 4197
+o2 = {};
+// 4198
+f508011038_0.returns.push(o2);
+// 4199
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4200
+f508011038_537.returns.push(1374696768868);
+// 4201
+o2 = {};
+// 4202
+f508011038_0.returns.push(o2);
+// 4203
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4204
+f508011038_537.returns.push(1374696768868);
+// 4205
+o2 = {};
+// 4206
+f508011038_0.returns.push(o2);
+// 4207
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4208
+f508011038_537.returns.push(1374696768868);
+// 4209
+o2 = {};
+// 4210
+f508011038_0.returns.push(o2);
+// 4211
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4212
+f508011038_537.returns.push(1374696768868);
+// 4213
+o2 = {};
+// 4214
+f508011038_0.returns.push(o2);
+// 4215
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4216
+f508011038_537.returns.push(1374696768868);
+// 4217
+o2 = {};
+// 4218
+f508011038_0.returns.push(o2);
+// 4219
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4220
+f508011038_537.returns.push(1374696768868);
+// 4221
+o2 = {};
+// 4222
+f508011038_0.returns.push(o2);
+// 4223
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4224
+f508011038_537.returns.push(1374696768869);
+// 4225
+o2 = {};
+// 4226
+f508011038_0.returns.push(o2);
+// 4227
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4228
+f508011038_537.returns.push(1374696768869);
+// 4229
+o2 = {};
+// 4230
+f508011038_0.returns.push(o2);
+// 4231
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4232
+f508011038_537.returns.push(1374696768869);
+// 4233
+o2 = {};
+// 4234
+f508011038_0.returns.push(o2);
+// 4235
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4236
+f508011038_537.returns.push(1374696768869);
+// 4237
+o2 = {};
+// 4238
+f508011038_0.returns.push(o2);
+// 4239
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4240
+f508011038_537.returns.push(1374696768869);
+// 4241
+o2 = {};
+// 4242
+f508011038_0.returns.push(o2);
+// 4243
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4244
+f508011038_537.returns.push(1374696768869);
+// 4245
+o2 = {};
+// 4246
+f508011038_0.returns.push(o2);
+// 4247
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4248
+f508011038_537.returns.push(1374696768869);
+// 4249
+o2 = {};
+// 4250
+f508011038_0.returns.push(o2);
+// 4251
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4252
+f508011038_537.returns.push(1374696768869);
+// 4253
+o2 = {};
+// 4254
+f508011038_0.returns.push(o2);
+// 4255
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4256
+f508011038_537.returns.push(1374696768870);
+// 4257
+o2 = {};
+// 4258
+f508011038_0.returns.push(o2);
+// 4259
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4260
+f508011038_537.returns.push(1374696768870);
+// 4261
+o2 = {};
+// 4262
+f508011038_0.returns.push(o2);
+// 4263
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4264
+f508011038_537.returns.push(1374696768870);
+// 4265
+o2 = {};
+// 4266
+f508011038_0.returns.push(o2);
+// 4267
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4268
+f508011038_537.returns.push(1374696768870);
+// 4269
+o2 = {};
+// 4270
+f508011038_0.returns.push(o2);
+// 4271
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4272
+f508011038_537.returns.push(1374696768870);
+// 4273
+o2 = {};
+// 4274
+f508011038_0.returns.push(o2);
+// 4275
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4276
+f508011038_537.returns.push(1374696768870);
+// 4277
+o2 = {};
+// 4278
+f508011038_0.returns.push(o2);
+// 4279
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4280
+f508011038_537.returns.push(1374696768871);
+// 4281
+o2 = {};
+// 4282
+f508011038_0.returns.push(o2);
+// 4283
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4284
+f508011038_537.returns.push(1374696768874);
+// 4285
+o2 = {};
+// 4286
+f508011038_0.returns.push(o2);
+// 4287
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4288
+f508011038_537.returns.push(1374696768874);
+// 4289
+o2 = {};
+// 4290
+f508011038_0.returns.push(o2);
+// 4291
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4292
+f508011038_537.returns.push(1374696768874);
+// 4293
+o2 = {};
+// 4294
+f508011038_0.returns.push(o2);
+// 4295
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4296
+f508011038_537.returns.push(1374696768874);
+// 4297
+o2 = {};
+// 4298
+f508011038_0.returns.push(o2);
+// 4299
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4300
+f508011038_537.returns.push(1374696768874);
+// 4301
+o2 = {};
+// 4302
+f508011038_0.returns.push(o2);
+// 4303
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4304
+f508011038_537.returns.push(1374696768875);
+// 4305
+o2 = {};
+// 4306
+f508011038_0.returns.push(o2);
+// 4307
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4308
+f508011038_537.returns.push(1374696768875);
+// 4309
+o2 = {};
+// 4310
+f508011038_0.returns.push(o2);
+// 4311
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4312
+f508011038_537.returns.push(1374696768875);
+// 4313
+o2 = {};
+// 4314
+f508011038_0.returns.push(o2);
+// 4315
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4316
+f508011038_537.returns.push(1374696768875);
+// 4317
+o2 = {};
+// 4318
+f508011038_0.returns.push(o2);
+// 4319
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4320
+f508011038_537.returns.push(1374696768875);
+// 4321
+o2 = {};
+// 4322
+f508011038_0.returns.push(o2);
+// 4323
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4324
+f508011038_537.returns.push(1374696768875);
+// 4325
+o2 = {};
+// 4326
+f508011038_0.returns.push(o2);
+// 4327
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4328
+f508011038_537.returns.push(1374696768875);
+// 4329
+o2 = {};
+// 4330
+f508011038_0.returns.push(o2);
+// 4331
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4332
+f508011038_537.returns.push(1374696768875);
+// 4333
+o2 = {};
+// 4334
+f508011038_0.returns.push(o2);
+// 4335
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4336
+f508011038_537.returns.push(1374696768875);
+// 4337
+o2 = {};
+// 4338
+f508011038_0.returns.push(o2);
+// 4339
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4340
+f508011038_537.returns.push(1374696768876);
+// 4341
+o2 = {};
+// 4342
+f508011038_0.returns.push(o2);
+// 4343
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4344
+f508011038_537.returns.push(1374696768876);
+// 4345
+o2 = {};
+// 4346
+f508011038_0.returns.push(o2);
+// 4347
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4348
+f508011038_537.returns.push(1374696768876);
+// 4349
+o2 = {};
+// 4350
+f508011038_0.returns.push(o2);
+// 4351
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4352
+f508011038_537.returns.push(1374696768876);
+// 4353
+o2 = {};
+// 4354
+f508011038_0.returns.push(o2);
+// 4355
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4356
+f508011038_537.returns.push(1374696768876);
+// 4357
+o2 = {};
+// 4358
+f508011038_0.returns.push(o2);
+// 4359
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4360
+f508011038_537.returns.push(1374696768877);
+// 4361
+o2 = {};
+// 4362
+f508011038_0.returns.push(o2);
+// 4363
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4364
+f508011038_537.returns.push(1374696768877);
+// 4365
+o2 = {};
+// 4366
+f508011038_0.returns.push(o2);
+// 4367
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4368
+f508011038_537.returns.push(1374696768877);
+// 4369
+o2 = {};
+// 4370
+f508011038_0.returns.push(o2);
+// 4371
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4372
+f508011038_537.returns.push(1374696768877);
+// 4373
+o2 = {};
+// 4374
+f508011038_0.returns.push(o2);
+// 4375
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4376
+f508011038_537.returns.push(1374696768877);
+// 4377
+o2 = {};
+// 4378
+f508011038_0.returns.push(o2);
+// 4379
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4380
+f508011038_537.returns.push(1374696768878);
+// 4381
+o2 = {};
+// 4382
+f508011038_0.returns.push(o2);
+// 4383
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4384
+f508011038_537.returns.push(1374696768878);
+// 4385
+o2 = {};
+// 4386
+f508011038_0.returns.push(o2);
+// 4387
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4388
+f508011038_537.returns.push(1374696768878);
+// 4389
+o2 = {};
+// 4390
+f508011038_0.returns.push(o2);
+// 4391
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4392
+f508011038_537.returns.push(1374696768881);
+// 4393
+o2 = {};
+// 4394
+f508011038_0.returns.push(o2);
+// 4395
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4396
+f508011038_537.returns.push(1374696768881);
+// 4397
+o2 = {};
+// 4398
+f508011038_0.returns.push(o2);
+// 4399
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4400
+f508011038_537.returns.push(1374696768881);
+// 4401
+o2 = {};
+// 4402
+f508011038_0.returns.push(o2);
+// 4403
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4404
+f508011038_537.returns.push(1374696768881);
+// 4405
+o2 = {};
+// 4406
+f508011038_0.returns.push(o2);
+// 4407
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4408
+f508011038_537.returns.push(1374696768881);
+// 4409
+o2 = {};
+// 4410
+f508011038_0.returns.push(o2);
+// 4411
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4412
+f508011038_537.returns.push(1374696768882);
+// 4413
+o2 = {};
+// 4414
+f508011038_0.returns.push(o2);
+// 4415
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4416
+f508011038_537.returns.push(1374696768882);
+// 4417
+o2 = {};
+// 4418
+f508011038_0.returns.push(o2);
+// 4419
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4420
+f508011038_537.returns.push(1374696768882);
+// 4421
+o2 = {};
+// 4422
+f508011038_0.returns.push(o2);
+// 4423
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4424
+f508011038_537.returns.push(1374696768882);
+// 4425
+o2 = {};
+// 4426
+f508011038_0.returns.push(o2);
+// 4427
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4428
+f508011038_537.returns.push(1374696768882);
+// 4429
+o2 = {};
+// 4430
+f508011038_0.returns.push(o2);
+// 4431
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4432
+f508011038_537.returns.push(1374696768882);
+// 4433
+o2 = {};
+// 4434
+f508011038_0.returns.push(o2);
+// 4435
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4436
+f508011038_537.returns.push(1374696768883);
+// 4437
+o2 = {};
+// 4438
+f508011038_0.returns.push(o2);
+// 4439
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4440
+f508011038_537.returns.push(1374696768883);
+// 4441
+o2 = {};
+// 4442
+f508011038_0.returns.push(o2);
+// 4443
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4444
+f508011038_537.returns.push(1374696768884);
+// 4445
+o2 = {};
+// 4446
+f508011038_0.returns.push(o2);
+// 4447
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4448
+f508011038_537.returns.push(1374696768884);
+// 4449
+o2 = {};
+// 4450
+f508011038_0.returns.push(o2);
+// 4451
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4452
+f508011038_537.returns.push(1374696768884);
+// 4453
+o2 = {};
+// 4454
+f508011038_0.returns.push(o2);
+// 4455
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4456
+f508011038_537.returns.push(1374696768885);
+// 4457
+o2 = {};
+// 4458
+f508011038_0.returns.push(o2);
+// 4459
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4460
+f508011038_537.returns.push(1374696768885);
+// 4461
+o2 = {};
+// 4462
+f508011038_0.returns.push(o2);
+// 4463
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4464
+f508011038_537.returns.push(1374696768885);
+// 4465
+o2 = {};
+// 4466
+f508011038_0.returns.push(o2);
+// 4467
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4468
+f508011038_537.returns.push(1374696768885);
+// 4469
+o2 = {};
+// 4470
+f508011038_0.returns.push(o2);
+// 4471
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4472
+f508011038_537.returns.push(1374696768886);
+// 4473
+o2 = {};
+// 4474
+f508011038_0.returns.push(o2);
+// 4475
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4476
+f508011038_537.returns.push(1374696768888);
+// 4477
+o2 = {};
+// 4478
+f508011038_0.returns.push(o2);
+// 4479
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4480
+f508011038_537.returns.push(1374696768889);
+// 4481
+o2 = {};
+// 4482
+f508011038_0.returns.push(o2);
+// 4483
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4484
+f508011038_537.returns.push(1374696768889);
+// 4485
+o2 = {};
+// 4486
+f508011038_0.returns.push(o2);
+// 4487
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4488
+f508011038_537.returns.push(1374696768889);
+// 4489
+o2 = {};
+// 4490
+f508011038_0.returns.push(o2);
+// 4491
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4492
+f508011038_537.returns.push(1374696768890);
+// 4493
+o2 = {};
+// 4494
+f508011038_0.returns.push(o2);
+// 4495
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4496
+f508011038_537.returns.push(1374696768893);
+// 4497
+o2 = {};
+// 4498
+f508011038_0.returns.push(o2);
+// 4499
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4500
+f508011038_537.returns.push(1374696768893);
+// 4501
+o2 = {};
+// 4502
+f508011038_0.returns.push(o2);
+// 4503
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4504
+f508011038_537.returns.push(1374696768895);
+// 4505
+o2 = {};
+// 4506
+f508011038_0.returns.push(o2);
+// 4507
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4508
+f508011038_537.returns.push(1374696768895);
+// 4509
+o2 = {};
+// 4510
+f508011038_0.returns.push(o2);
+// 4511
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4512
+f508011038_537.returns.push(1374696768895);
+// 4513
+o2 = {};
+// 4514
+f508011038_0.returns.push(o2);
+// 4515
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4516
+f508011038_537.returns.push(1374696768896);
+// 4517
+o2 = {};
+// 4518
+f508011038_0.returns.push(o2);
+// 4519
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4520
+f508011038_537.returns.push(1374696768896);
+// 4521
+o2 = {};
+// 4522
+f508011038_0.returns.push(o2);
+// 4523
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4524
+f508011038_537.returns.push(1374696768896);
+// 4525
+o2 = {};
+// 4526
+f508011038_0.returns.push(o2);
+// 4527
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4528
+f508011038_537.returns.push(1374696768896);
+// 4529
+o2 = {};
+// 4530
+f508011038_0.returns.push(o2);
+// 4531
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4532
+f508011038_537.returns.push(1374696768896);
+// 4533
+o2 = {};
+// 4534
+f508011038_0.returns.push(o2);
+// 4535
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4536
+f508011038_537.returns.push(1374696768897);
+// 4537
+o2 = {};
+// 4538
+f508011038_0.returns.push(o2);
+// 4539
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4540
+f508011038_537.returns.push(1374696768897);
+// 4541
+o2 = {};
+// 4542
+f508011038_0.returns.push(o2);
+// 4543
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4544
+f508011038_537.returns.push(1374696768897);
+// 4545
+o2 = {};
+// 4546
+f508011038_0.returns.push(o2);
+// 4547
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4548
+f508011038_537.returns.push(1374696768897);
+// 4549
+o2 = {};
+// 4550
+f508011038_0.returns.push(o2);
+// 4551
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4552
+f508011038_537.returns.push(1374696768897);
+// 4553
+o2 = {};
+// 4554
+f508011038_0.returns.push(o2);
+// 4555
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4556
+f508011038_537.returns.push(1374696768897);
+// 4557
+o2 = {};
+// 4558
+f508011038_0.returns.push(o2);
+// 4559
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4560
+f508011038_537.returns.push(1374696768897);
+// 4561
+o2 = {};
+// 4562
+f508011038_0.returns.push(o2);
+// 4563
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4564
+f508011038_537.returns.push(1374696768898);
+// 4565
+o2 = {};
+// 4566
+f508011038_0.returns.push(o2);
+// 4567
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4568
+f508011038_537.returns.push(1374696768898);
+// 4569
+o2 = {};
+// 4570
+f508011038_0.returns.push(o2);
+// 4571
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4572
+f508011038_537.returns.push(1374696768898);
+// 4573
+o2 = {};
+// 4574
+f508011038_0.returns.push(o2);
+// 4575
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4576
+f508011038_537.returns.push(1374696768898);
+// 4577
+o2 = {};
+// 4578
+f508011038_0.returns.push(o2);
+// 4579
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4580
+f508011038_537.returns.push(1374696768898);
+// 4581
+o2 = {};
+// 4582
+f508011038_0.returns.push(o2);
+// 4583
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4584
+f508011038_537.returns.push(1374696768898);
+// 4585
+o2 = {};
+// 4586
+f508011038_0.returns.push(o2);
+// 4587
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4588
+f508011038_537.returns.push(1374696768899);
+// 4589
+o2 = {};
+// 4590
+f508011038_0.returns.push(o2);
+// 4591
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4592
+f508011038_537.returns.push(1374696768899);
+// 4593
+o2 = {};
+// 4594
+f508011038_0.returns.push(o2);
+// 4595
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4596
+f508011038_537.returns.push(1374696768899);
+// 4597
+o2 = {};
+// 4598
+f508011038_0.returns.push(o2);
+// 4599
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4600
+f508011038_537.returns.push(1374696768899);
+// 4601
+o2 = {};
+// 4602
+f508011038_0.returns.push(o2);
+// 4603
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4604
+f508011038_537.returns.push(1374696768903);
+// 4606
+o2 = {};
+// 4607
+f508011038_470.returns.push(o2);
+// 4608
+o9 = {};
+// 4609
+o2.style = o9;
+// undefined
+o2 = null;
+// undefined
+o9 = null;
+// 4610
+o2 = {};
+// 4611
+f508011038_0.returns.push(o2);
+// 4612
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4613
+f508011038_537.returns.push(1374696768903);
+// 4614
+o2 = {};
+// 4615
+f508011038_0.returns.push(o2);
+// 4616
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4617
+f508011038_537.returns.push(1374696768903);
+// 4618
+o2 = {};
+// 4619
+f508011038_0.returns.push(o2);
+// 4620
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4621
+f508011038_537.returns.push(1374696768903);
+// 4622
+o2 = {};
+// 4623
+f508011038_0.returns.push(o2);
+// 4624
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4625
+f508011038_537.returns.push(1374696768904);
+// 4626
+o2 = {};
+// 4627
+f508011038_0.returns.push(o2);
+// 4628
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4629
+f508011038_537.returns.push(1374696768904);
+// 4630
+o2 = {};
+// 4631
+f508011038_0.returns.push(o2);
+// 4632
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4633
+f508011038_537.returns.push(1374696768904);
+// 4634
+o2 = {};
+// 4635
+f508011038_0.returns.push(o2);
+// 4636
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4637
+f508011038_537.returns.push(1374696768907);
+// 4638
+o2 = {};
+// 4639
+f508011038_0.returns.push(o2);
+// 4640
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4641
+f508011038_537.returns.push(1374696768907);
+// 4642
+o2 = {};
+// 4643
+f508011038_0.returns.push(o2);
+// 4644
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4645
+f508011038_537.returns.push(1374696768907);
+// 4646
+o2 = {};
+// 4647
+f508011038_0.returns.push(o2);
+// 4648
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4649
+f508011038_537.returns.push(1374696768907);
+// 4650
+o2 = {};
+// 4651
+f508011038_0.returns.push(o2);
+// 4652
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4653
+f508011038_537.returns.push(1374696768907);
+// 4654
+o2 = {};
+// 4655
+f508011038_0.returns.push(o2);
+// 4656
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4657
+f508011038_537.returns.push(1374696768907);
+// 4658
+o2 = {};
+// 4659
+f508011038_0.returns.push(o2);
+// 4660
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4661
+f508011038_537.returns.push(1374696768908);
+// 4662
+o2 = {};
+// 4663
+f508011038_0.returns.push(o2);
+// 4664
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4665
+f508011038_537.returns.push(1374696768908);
+// 4666
+o2 = {};
+// 4667
+f508011038_0.returns.push(o2);
+// 4668
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4669
+f508011038_537.returns.push(1374696768908);
+// 4670
+o2 = {};
+// 4671
+f508011038_0.returns.push(o2);
+// 4672
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4673
+f508011038_537.returns.push(1374696768908);
+// 4674
+o2 = {};
+// 4675
+f508011038_0.returns.push(o2);
+// 4676
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4677
+f508011038_537.returns.push(1374696768908);
+// 4678
+o2 = {};
+// 4679
+f508011038_0.returns.push(o2);
+// 4680
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4681
+f508011038_537.returns.push(1374696768909);
+// 4682
+o2 = {};
+// 4683
+f508011038_0.returns.push(o2);
+// 4684
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4685
+f508011038_537.returns.push(1374696768909);
+// 4686
+o2 = {};
+// 4687
+f508011038_0.returns.push(o2);
+// 4688
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4689
+f508011038_537.returns.push(1374696768909);
+// 4690
+o2 = {};
+// 4691
+f508011038_0.returns.push(o2);
+// 4692
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4693
+f508011038_537.returns.push(1374696768909);
+// 4694
+o2 = {};
+// 4695
+f508011038_0.returns.push(o2);
+// 4696
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4697
+f508011038_537.returns.push(1374696768909);
+// 4698
+o2 = {};
+// 4699
+f508011038_0.returns.push(o2);
+// 4700
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4701
+f508011038_537.returns.push(1374696768909);
+// 4702
+o2 = {};
+// 4703
+f508011038_0.returns.push(o2);
+// 4704
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4705
+f508011038_537.returns.push(1374696768909);
+// 4706
+o2 = {};
+// 4707
+f508011038_0.returns.push(o2);
+// 4708
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4709
+f508011038_537.returns.push(1374696768914);
+// 4710
+o2 = {};
+// 4711
+f508011038_0.returns.push(o2);
+// 4712
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4713
+f508011038_537.returns.push(1374696768914);
+// 4714
+o2 = {};
+// 4715
+f508011038_0.returns.push(o2);
+// 4716
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4717
+f508011038_537.returns.push(1374696768914);
+// 4718
+o2 = {};
+// 4719
+f508011038_0.returns.push(o2);
+// 4720
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4721
+f508011038_537.returns.push(1374696768914);
+// 4722
+o2 = {};
+// 4723
+f508011038_0.returns.push(o2);
+// 4724
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4725
+f508011038_537.returns.push(1374696768915);
+// 4726
+o2 = {};
+// 4727
+f508011038_0.returns.push(o2);
+// 4728
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4729
+f508011038_537.returns.push(1374696768915);
+// 4730
+o2 = {};
+// 4731
+f508011038_0.returns.push(o2);
+// 4732
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4733
+f508011038_537.returns.push(1374696768915);
+// 4734
+o2 = {};
+// 4735
+f508011038_0.returns.push(o2);
+// 4736
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4737
+f508011038_537.returns.push(1374696768915);
+// 4738
+o2 = {};
+// 4739
+f508011038_0.returns.push(o2);
+// 4740
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4741
+f508011038_537.returns.push(1374696768916);
+// 4742
+o2 = {};
+// 4743
+f508011038_0.returns.push(o2);
+// 4744
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4745
+f508011038_537.returns.push(1374696768916);
+// 4746
+o2 = {};
+// 4747
+f508011038_0.returns.push(o2);
+// 4748
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4749
+f508011038_537.returns.push(1374696768916);
+// 4750
+o2 = {};
+// 4751
+f508011038_0.returns.push(o2);
+// 4752
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4753
+f508011038_537.returns.push(1374696768916);
+// 4754
+o2 = {};
+// 4755
+f508011038_0.returns.push(o2);
+// 4756
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4757
+f508011038_537.returns.push(1374696768917);
+// 4758
+o2 = {};
+// 4759
+f508011038_0.returns.push(o2);
+// 4760
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4761
+f508011038_537.returns.push(1374696768917);
+// 4762
+o2 = {};
+// 4763
+f508011038_0.returns.push(o2);
+// 4764
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4765
+f508011038_537.returns.push(1374696768917);
+// 4766
+o2 = {};
+// 4767
+f508011038_0.returns.push(o2);
+// 4768
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4769
+f508011038_537.returns.push(1374696768917);
+// 4770
+o2 = {};
+// 4771
+f508011038_0.returns.push(o2);
+// 4772
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4773
+f508011038_537.returns.push(1374696768917);
+// 4774
+o2 = {};
+// 4775
+f508011038_0.returns.push(o2);
+// 4776
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4777
+f508011038_537.returns.push(1374696768917);
+// 4778
+o2 = {};
+// 4779
+f508011038_0.returns.push(o2);
+// 4780
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4781
+f508011038_537.returns.push(1374696768917);
+// 4782
+o2 = {};
+// 4783
+f508011038_0.returns.push(o2);
+// 4784
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4785
+f508011038_537.returns.push(1374696768918);
+// 4786
+o2 = {};
+// 4787
+f508011038_0.returns.push(o2);
+// 4788
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4789
+f508011038_537.returns.push(1374696768918);
+// 4790
+o2 = {};
+// 4791
+f508011038_0.returns.push(o2);
+// 4792
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4793
+f508011038_537.returns.push(1374696768918);
+// 4794
+o2 = {};
+// 4795
+f508011038_0.returns.push(o2);
+// 4796
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4797
+f508011038_537.returns.push(1374696768918);
+// 4798
+o2 = {};
+// 4799
+f508011038_0.returns.push(o2);
+// 4800
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4801
+f508011038_537.returns.push(1374696768918);
+// 4802
+o2 = {};
+// 4803
+f508011038_0.returns.push(o2);
+// 4804
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4805
+f508011038_537.returns.push(1374696768918);
+// 4806
+o2 = {};
+// 4807
+f508011038_0.returns.push(o2);
+// 4808
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4809
+f508011038_537.returns.push(1374696768918);
+// 4810
+o2 = {};
+// 4811
+f508011038_0.returns.push(o2);
+// 4812
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4813
+f508011038_537.returns.push(1374696768918);
+// 4814
+o2 = {};
+// 4815
+f508011038_0.returns.push(o2);
+// 4816
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4817
+f508011038_537.returns.push(1374696768923);
+// 4819
+o2 = {};
+// undefined
+fow508011038_JSBNG__event.returns.push(o2);
+// 4821
+o2.type = "load";
+// undefined
+o2 = null;
+// 4822
+// undefined
+o8 = null;
+// 4823
+o2 = {};
+// 4824
+f508011038_0.returns.push(o2);
+// 4825
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4826
+f508011038_537.returns.push(1374696769312);
+// 4827
+o2 = {};
+// 4828
+f508011038_0.returns.push(o2);
+// 4829
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4830
+f508011038_537.returns.push(1374696769312);
+// 4831
+o2 = {};
+// 4832
+f508011038_0.returns.push(o2);
+// 4833
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4834
+f508011038_537.returns.push(1374696769313);
+// 4835
+o2 = {};
+// 4836
+f508011038_0.returns.push(o2);
+// 4837
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4838
+f508011038_537.returns.push(1374696769313);
+// 4839
+o2 = {};
+// 4840
+f508011038_0.returns.push(o2);
+// 4841
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4842
+f508011038_537.returns.push(1374696769314);
+// 4843
+o2 = {};
+// 4844
+f508011038_0.returns.push(o2);
+// 4845
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4846
+f508011038_537.returns.push(1374696769314);
+// 4847
+o2 = {};
+// 4848
+f508011038_0.returns.push(o2);
+// 4849
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4850
+f508011038_537.returns.push(1374696769314);
+// 4851
+o2 = {};
+// 4852
+f508011038_0.returns.push(o2);
+// 4853
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4854
+f508011038_537.returns.push(1374696769314);
+// 4855
+o2 = {};
+// 4856
+f508011038_0.returns.push(o2);
+// 4857
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4858
+f508011038_537.returns.push(1374696769314);
+// 4859
+o2 = {};
+// 4860
+f508011038_0.returns.push(o2);
+// 4861
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4862
+f508011038_537.returns.push(1374696769315);
+// 4863
+o2 = {};
+// 4864
+f508011038_0.returns.push(o2);
+// 4865
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4866
+f508011038_537.returns.push(1374696769315);
+// 4867
+o2 = {};
+// 4868
+f508011038_0.returns.push(o2);
+// 4869
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4870
+f508011038_537.returns.push(1374696769315);
+// 4871
+o2 = {};
+// 4872
+f508011038_0.returns.push(o2);
+// 4873
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4874
+f508011038_537.returns.push(1374696769315);
+// 4875
+o2 = {};
+// 4876
+f508011038_0.returns.push(o2);
+// 4877
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4878
+f508011038_537.returns.push(1374696769316);
+// 4879
+o2 = {};
+// 4880
+f508011038_0.returns.push(o2);
+// 4881
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4882
+f508011038_537.returns.push(1374696769316);
+// 4883
+o2 = {};
+// 4884
+f508011038_0.returns.push(o2);
+// 4885
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4886
+f508011038_537.returns.push(1374696769316);
+// 4887
+o2 = {};
+// 4888
+f508011038_0.returns.push(o2);
+// 4889
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4890
+f508011038_537.returns.push(1374696769316);
+// 4891
+o2 = {};
+// 4892
+f508011038_0.returns.push(o2);
+// 4893
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4894
+f508011038_537.returns.push(1374696769316);
+// 4895
+o2 = {};
+// 4896
+f508011038_0.returns.push(o2);
+// 4897
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4898
+f508011038_537.returns.push(1374696769316);
+// 4899
+o2 = {};
+// 4900
+f508011038_0.returns.push(o2);
+// 4901
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4902
+f508011038_537.returns.push(1374696769316);
+// 4903
+o2 = {};
+// 4904
+f508011038_0.returns.push(o2);
+// 4905
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4906
+f508011038_537.returns.push(1374696769316);
+// 4907
+o2 = {};
+// 4908
+f508011038_0.returns.push(o2);
+// 4909
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4910
+f508011038_537.returns.push(1374696769316);
+// 4911
+o2 = {};
+// 4912
+f508011038_0.returns.push(o2);
+// 4913
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4914
+f508011038_537.returns.push(1374696769316);
+// 4915
+o2 = {};
+// 4916
+f508011038_0.returns.push(o2);
+// 4917
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4918
+f508011038_537.returns.push(1374696769316);
+// 4919
+o2 = {};
+// 4920
+f508011038_0.returns.push(o2);
+// 4921
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4922
+f508011038_537.returns.push(1374696769316);
+// 4923
+o2 = {};
+// 4924
+f508011038_0.returns.push(o2);
+// 4925
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4926
+f508011038_537.returns.push(1374696769317);
+// 4927
+o2 = {};
+// 4928
+f508011038_0.returns.push(o2);
+// 4929
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4930
+f508011038_537.returns.push(1374696769321);
+// 4931
+o2 = {};
+// 4932
+f508011038_0.returns.push(o2);
+// 4933
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4934
+f508011038_537.returns.push(1374696769321);
+// 4935
+o2 = {};
+// 4936
+f508011038_0.returns.push(o2);
+// 4937
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4938
+f508011038_537.returns.push(1374696769321);
+// 4939
+o2 = {};
+// 4940
+f508011038_0.returns.push(o2);
+// 4941
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4942
+f508011038_537.returns.push(1374696769321);
+// 4943
+o2 = {};
+// 4944
+f508011038_0.returns.push(o2);
+// 4945
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4946
+f508011038_537.returns.push(1374696769321);
+// 4947
+o2 = {};
+// 4948
+f508011038_0.returns.push(o2);
+// 4949
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4950
+f508011038_537.returns.push(1374696769321);
+// 4951
+o2 = {};
+// 4952
+f508011038_0.returns.push(o2);
+// 4953
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4954
+f508011038_537.returns.push(1374696769321);
+// 4955
+o2 = {};
+// 4956
+f508011038_0.returns.push(o2);
+// 4957
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4958
+f508011038_537.returns.push(1374696769321);
+// 4959
+o2 = {};
+// 4960
+f508011038_0.returns.push(o2);
+// 4961
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4962
+f508011038_537.returns.push(1374696769322);
+// 4963
+o2 = {};
+// 4964
+f508011038_0.returns.push(o2);
+// 4965
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4966
+f508011038_537.returns.push(1374696769322);
+// 4967
+o2 = {};
+// 4968
+f508011038_0.returns.push(o2);
+// 4969
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4970
+f508011038_537.returns.push(1374696769323);
+// 4971
+o2 = {};
+// 4972
+f508011038_0.returns.push(o2);
+// 4973
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4974
+f508011038_537.returns.push(1374696769323);
+// 4975
+o2 = {};
+// 4976
+f508011038_0.returns.push(o2);
+// 4977
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4978
+f508011038_537.returns.push(1374696769323);
+// 4979
+o2 = {};
+// 4980
+f508011038_0.returns.push(o2);
+// 4981
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4982
+f508011038_537.returns.push(1374696769323);
+// 4983
+o2 = {};
+// 4984
+f508011038_0.returns.push(o2);
+// 4985
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4986
+f508011038_537.returns.push(1374696769323);
+// 4987
+o2 = {};
+// 4988
+f508011038_0.returns.push(o2);
+// 4989
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4990
+f508011038_537.returns.push(1374696769323);
+// 4991
+o2 = {};
+// 4992
+f508011038_0.returns.push(o2);
+// 4993
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4994
+f508011038_537.returns.push(1374696769323);
+// 4995
+o2 = {};
+// 4996
+f508011038_0.returns.push(o2);
+// 4997
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 4998
+f508011038_537.returns.push(1374696769324);
+// 4999
+o2 = {};
+// 5000
+f508011038_0.returns.push(o2);
+// 5001
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5002
+f508011038_537.returns.push(1374696769324);
+// 5003
+o2 = {};
+// 5004
+f508011038_0.returns.push(o2);
+// 5005
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5006
+f508011038_537.returns.push(1374696769324);
+// 5007
+o2 = {};
+// 5008
+f508011038_0.returns.push(o2);
+// 5009
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5010
+f508011038_537.returns.push(1374696769325);
+// 5011
+o2 = {};
+// 5012
+f508011038_0.returns.push(o2);
+// 5013
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5014
+f508011038_537.returns.push(1374696769325);
+// 5015
+o2 = {};
+// 5016
+f508011038_0.returns.push(o2);
+// 5017
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5018
+f508011038_537.returns.push(1374696769325);
+// 5019
+o2 = {};
+// 5020
+f508011038_0.returns.push(o2);
+// 5021
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5022
+f508011038_537.returns.push(1374696769325);
+// 5023
+o2 = {};
+// 5024
+f508011038_0.returns.push(o2);
+// 5025
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5026
+f508011038_537.returns.push(1374696769325);
+// 5027
+o2 = {};
+// 5028
+f508011038_0.returns.push(o2);
+// 5029
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5030
+f508011038_537.returns.push(1374696769325);
+// 5031
+o2 = {};
+// 5032
+f508011038_0.returns.push(o2);
+// 5033
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5034
+f508011038_537.returns.push(1374696769328);
+// 5035
+o2 = {};
+// 5036
+f508011038_0.returns.push(o2);
+// 5037
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5038
+f508011038_537.returns.push(1374696769328);
+// 5039
+o2 = {};
+// 5040
+f508011038_0.returns.push(o2);
+// 5041
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5042
+f508011038_537.returns.push(1374696769329);
+// 5043
+o2 = {};
+// 5044
+f508011038_0.returns.push(o2);
+// 5045
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5046
+f508011038_537.returns.push(1374696769329);
+// 5047
+o2 = {};
+// 5048
+f508011038_0.returns.push(o2);
+// 5049
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5050
+f508011038_537.returns.push(1374696769329);
+// 5051
+o2 = {};
+// 5052
+f508011038_0.returns.push(o2);
+// 5053
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5054
+f508011038_537.returns.push(1374696769329);
+// 5055
+o2 = {};
+// 5056
+f508011038_0.returns.push(o2);
+// 5057
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5058
+f508011038_537.returns.push(1374696769329);
+// 5059
+o2 = {};
+// 5060
+f508011038_0.returns.push(o2);
+// 5061
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5062
+f508011038_537.returns.push(1374696769329);
+// 5063
+o2 = {};
+// 5064
+f508011038_0.returns.push(o2);
+// 5065
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5066
+f508011038_537.returns.push(1374696769329);
+// 5067
+o2 = {};
+// 5068
+f508011038_0.returns.push(o2);
+// 5069
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5070
+f508011038_537.returns.push(1374696769330);
+// 5071
+o2 = {};
+// 5072
+f508011038_0.returns.push(o2);
+// 5073
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5074
+f508011038_537.returns.push(1374696769330);
+// 5075
+o2 = {};
+// 5076
+f508011038_0.returns.push(o2);
+// 5077
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5078
+f508011038_537.returns.push(1374696769330);
+// 5079
+o2 = {};
+// 5080
+f508011038_0.returns.push(o2);
+// 5081
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5082
+f508011038_537.returns.push(1374696769330);
+// 5083
+o2 = {};
+// 5084
+f508011038_0.returns.push(o2);
+// 5085
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5086
+f508011038_537.returns.push(1374696769330);
+// 5087
+o2 = {};
+// 5088
+f508011038_0.returns.push(o2);
+// 5089
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5090
+f508011038_537.returns.push(1374696769330);
+// 5091
+o2 = {};
+// 5092
+f508011038_0.returns.push(o2);
+// 5093
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5094
+f508011038_537.returns.push(1374696769330);
+// 5095
+o2 = {};
+// 5096
+f508011038_0.returns.push(o2);
+// 5097
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5098
+f508011038_537.returns.push(1374696769331);
+// 5099
+o2 = {};
+// 5100
+f508011038_0.returns.push(o2);
+// 5101
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5102
+f508011038_537.returns.push(1374696769331);
+// 5103
+o2 = {};
+// 5104
+f508011038_0.returns.push(o2);
+// 5105
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5106
+f508011038_537.returns.push(1374696769331);
+// 5107
+o2 = {};
+// 5108
+f508011038_0.returns.push(o2);
+// 5109
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5110
+f508011038_537.returns.push(1374696769332);
+// 5111
+o2 = {};
+// 5112
+f508011038_0.returns.push(o2);
+// 5113
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5114
+f508011038_537.returns.push(1374696769332);
+// 5115
+o2 = {};
+// 5116
+f508011038_0.returns.push(o2);
+// 5117
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5118
+f508011038_537.returns.push(1374696769332);
+// 5119
+o2 = {};
+// 5120
+f508011038_0.returns.push(o2);
+// 5121
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5122
+f508011038_537.returns.push(1374696769332);
+// 5123
+o2 = {};
+// 5124
+f508011038_0.returns.push(o2);
+// 5125
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5126
+f508011038_537.returns.push(1374696769332);
+// 5127
+o2 = {};
+// 5128
+f508011038_0.returns.push(o2);
+// 5129
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5130
+f508011038_537.returns.push(1374696769332);
+// 5131
+o2 = {};
+// 5132
+f508011038_0.returns.push(o2);
+// 5133
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5134
+f508011038_537.returns.push(1374696769332);
+// 5135
+o2 = {};
+// 5136
+f508011038_0.returns.push(o2);
+// 5137
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5138
+f508011038_537.returns.push(1374696769332);
+// 5139
+o2 = {};
+// 5140
+f508011038_0.returns.push(o2);
+// 5141
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5142
+f508011038_537.returns.push(1374696769340);
+// 5143
+o2 = {};
+// 5144
+f508011038_0.returns.push(o2);
+// 5145
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5146
+f508011038_537.returns.push(1374696769340);
+// 5147
+o2 = {};
+// 5148
+f508011038_0.returns.push(o2);
+// 5149
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5150
+f508011038_537.returns.push(1374696769340);
+// 5151
+o2 = {};
+// 5152
+f508011038_0.returns.push(o2);
+// 5153
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5154
+f508011038_537.returns.push(1374696769342);
+// 5155
+o2 = {};
+// 5156
+f508011038_0.returns.push(o2);
+// 5157
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5158
+f508011038_537.returns.push(1374696769342);
+// 5159
+o2 = {};
+// 5160
+f508011038_0.returns.push(o2);
+// 5161
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5162
+f508011038_537.returns.push(1374696769343);
+// 5163
+o2 = {};
+// 5164
+f508011038_0.returns.push(o2);
+// 5165
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5166
+f508011038_537.returns.push(1374696769343);
+// 5167
+o2 = {};
+// 5168
+f508011038_0.returns.push(o2);
+// 5169
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5170
+f508011038_537.returns.push(1374696769343);
+// 5171
+o2 = {};
+// 5172
+f508011038_0.returns.push(o2);
+// 5173
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5174
+f508011038_537.returns.push(1374696769343);
+// 5175
+o2 = {};
+// 5176
+f508011038_0.returns.push(o2);
+// 5177
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5178
+f508011038_537.returns.push(1374696769343);
+// 5179
+o2 = {};
+// 5180
+f508011038_0.returns.push(o2);
+// 5181
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5182
+f508011038_537.returns.push(1374696769343);
+// 5183
+o2 = {};
+// 5184
+f508011038_0.returns.push(o2);
+// 5185
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5186
+f508011038_537.returns.push(1374696769343);
+// 5187
+o2 = {};
+// 5188
+f508011038_0.returns.push(o2);
+// 5189
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5190
+f508011038_537.returns.push(1374696769343);
+// 5191
+o2 = {};
+// 5192
+f508011038_0.returns.push(o2);
+// 5193
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5194
+f508011038_537.returns.push(1374696769344);
+// 5195
+o2 = {};
+// 5196
+f508011038_0.returns.push(o2);
+// 5197
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5198
+f508011038_537.returns.push(1374696769344);
+// 5199
+o2 = {};
+// 5200
+f508011038_0.returns.push(o2);
+// 5201
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5202
+f508011038_537.returns.push(1374696769344);
+// 5203
+o5.pathname = "/search";
+// 5204
+o2 = {};
+// 5205
+f508011038_0.returns.push(o2);
+// 5206
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5207
+f508011038_537.returns.push(1374696769344);
+// 5208
+o2 = {};
+// 5209
+f508011038_0.returns.push(o2);
+// 5210
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5211
+f508011038_537.returns.push(1374696769344);
+// 5212
+o2 = {};
+// 5213
+f508011038_0.returns.push(o2);
+// 5214
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5215
+f508011038_537.returns.push(1374696769344);
+// 5216
+o2 = {};
+// 5217
+f508011038_0.returns.push(o2);
+// 5218
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5219
+f508011038_537.returns.push(1374696769345);
+// 5220
+o2 = {};
+// 5221
+f508011038_0.returns.push(o2);
+// 5222
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5223
+f508011038_537.returns.push(1374696769345);
+// 5224
+o2 = {};
+// 5225
+f508011038_0.returns.push(o2);
+// 5226
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5227
+f508011038_537.returns.push(1374696769345);
+// 5228
+o2 = {};
+// 5229
+f508011038_0.returns.push(o2);
+// 5230
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5231
+f508011038_537.returns.push(1374696769345);
+// 5232
+o2 = {};
+// 5233
+f508011038_0.returns.push(o2);
+// 5234
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5235
+f508011038_537.returns.push(1374696769345);
+// 5236
+o2 = {};
+// 5237
+f508011038_0.returns.push(o2);
+// 5238
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5239
+f508011038_537.returns.push(1374696769345);
+// 5240
+o2 = {};
+// 5241
+f508011038_0.returns.push(o2);
+// 5242
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5243
+f508011038_537.returns.push(1374696769346);
+// 5244
+o2 = {};
+// 5245
+f508011038_0.returns.push(o2);
+// 5246
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5247
+f508011038_537.returns.push(1374696769349);
+// 5248
+o2 = {};
+// 5249
+f508011038_0.returns.push(o2);
+// 5250
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5251
+f508011038_537.returns.push(1374696769350);
+// 5252
+o2 = {};
+// 5253
+f508011038_0.returns.push(o2);
+// 5254
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5255
+f508011038_537.returns.push(1374696769350);
+// 5256
+o2 = {};
+// 5257
+f508011038_0.returns.push(o2);
+// 5258
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5259
+f508011038_537.returns.push(1374696769350);
+// 5260
+o2 = {};
+// 5261
+f508011038_0.returns.push(o2);
+// 5262
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5263
+f508011038_537.returns.push(1374696769351);
+// 5264
+o2 = {};
+// 5265
+f508011038_0.returns.push(o2);
+// 5266
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5267
+f508011038_537.returns.push(1374696769351);
+// 5268
+o2 = {};
+// 5269
+f508011038_0.returns.push(o2);
+// 5270
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5271
+f508011038_537.returns.push(1374696769352);
+// 5272
+o2 = {};
+// 5273
+f508011038_0.returns.push(o2);
+// 5274
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5275
+f508011038_537.returns.push(1374696769352);
+// 5276
+o2 = {};
+// 5277
+f508011038_0.returns.push(o2);
+// 5278
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5279
+f508011038_537.returns.push(1374696769352);
+// 5280
+o2 = {};
+// 5281
+f508011038_0.returns.push(o2);
+// 5282
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5283
+f508011038_537.returns.push(1374696769352);
+// 5284
+o2 = {};
+// 5285
+f508011038_0.returns.push(o2);
+// 5286
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5287
+f508011038_537.returns.push(1374696769353);
+// 5288
+o2 = {};
+// 5289
+f508011038_0.returns.push(o2);
+// 5290
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5291
+f508011038_537.returns.push(1374696769353);
+// 5292
+o2 = {};
+// 5293
+f508011038_0.returns.push(o2);
+// 5294
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5295
+f508011038_537.returns.push(1374696769353);
+// 5296
+o2 = {};
+// 5297
+f508011038_0.returns.push(o2);
+// 5298
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5299
+f508011038_537.returns.push(1374696769353);
+// 5300
+o2 = {};
+// 5301
+f508011038_0.returns.push(o2);
+// 5302
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5303
+f508011038_537.returns.push(1374696769353);
+// 5304
+o2 = {};
+// 5305
+f508011038_0.returns.push(o2);
+// 5306
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5307
+f508011038_537.returns.push(1374696769353);
+// 5308
+o2 = {};
+// 5309
+f508011038_0.returns.push(o2);
+// 5310
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5311
+f508011038_537.returns.push(1374696769354);
+// 5312
+o2 = {};
+// 5313
+f508011038_0.returns.push(o2);
+// 5314
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5315
+f508011038_537.returns.push(1374696769354);
+// 5316
+o2 = {};
+// 5317
+f508011038_0.returns.push(o2);
+// 5318
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5319
+f508011038_537.returns.push(1374696769354);
+// 5320
+o2 = {};
+// 5321
+f508011038_0.returns.push(o2);
+// 5322
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5323
+f508011038_537.returns.push(1374696769354);
+// 5324
+o2 = {};
+// 5325
+f508011038_0.returns.push(o2);
+// 5326
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5327
+f508011038_537.returns.push(1374696769354);
+// 5328
+o2 = {};
+// 5329
+f508011038_0.returns.push(o2);
+// 5330
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5331
+f508011038_537.returns.push(1374696769354);
+// 5332
+o2 = {};
+// 5333
+f508011038_0.returns.push(o2);
+// 5334
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5335
+f508011038_537.returns.push(1374696769354);
+// 5336
+o2 = {};
+// 5337
+f508011038_0.returns.push(o2);
+// 5338
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5339
+f508011038_537.returns.push(1374696769355);
+// 5340
+o2 = {};
+// 5341
+f508011038_0.returns.push(o2);
+// 5342
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5343
+f508011038_537.returns.push(1374696769356);
+// 5344
+o2 = {};
+// 5345
+f508011038_0.returns.push(o2);
+// 5346
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5347
+f508011038_537.returns.push(1374696769356);
+// 5348
+o2 = {};
+// 5349
+f508011038_0.returns.push(o2);
+// 5350
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5351
+f508011038_537.returns.push(1374696769356);
+// 5352
+o2 = {};
+// 5353
+f508011038_0.returns.push(o2);
+// 5354
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5355
+f508011038_537.returns.push(1374696769359);
+// 5356
+o2 = {};
+// 5357
+f508011038_0.returns.push(o2);
+// 5358
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5359
+f508011038_537.returns.push(1374696769359);
+// 5360
+o2 = {};
+// 5361
+f508011038_0.returns.push(o2);
+// 5362
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5363
+f508011038_537.returns.push(1374696769359);
+// 5364
+o2 = {};
+// 5365
+f508011038_0.returns.push(o2);
+// 5366
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5367
+f508011038_537.returns.push(1374696769359);
+// 5368
+o2 = {};
+// 5369
+f508011038_0.returns.push(o2);
+// 5370
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5371
+f508011038_537.returns.push(1374696769359);
+// 5372
+o2 = {};
+// 5373
+f508011038_0.returns.push(o2);
+// 5374
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5375
+f508011038_537.returns.push(1374696769359);
+// 5376
+o2 = {};
+// 5377
+f508011038_0.returns.push(o2);
+// 5378
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5379
+f508011038_537.returns.push(1374696769359);
+// 5380
+o2 = {};
+// 5381
+f508011038_0.returns.push(o2);
+// 5382
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5383
+f508011038_537.returns.push(1374696769360);
+// 5384
+o2 = {};
+// 5385
+f508011038_0.returns.push(o2);
+// 5386
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5387
+f508011038_537.returns.push(1374696769360);
+// 5388
+o2 = {};
+// 5389
+f508011038_0.returns.push(o2);
+// 5390
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5391
+f508011038_537.returns.push(1374696769360);
+// 5392
+o2 = {};
+// 5393
+f508011038_0.returns.push(o2);
+// 5394
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5395
+f508011038_537.returns.push(1374696769361);
+// 5396
+o2 = {};
+// 5397
+f508011038_0.returns.push(o2);
+// 5398
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5399
+f508011038_537.returns.push(1374696769361);
+// 5400
+o2 = {};
+// 5401
+f508011038_0.returns.push(o2);
+// 5402
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5403
+f508011038_537.returns.push(1374696769361);
+// 5404
+o2 = {};
+// 5405
+f508011038_0.returns.push(o2);
+// 5406
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5407
+f508011038_537.returns.push(1374696769361);
+// 5408
+o2 = {};
+// 5409
+f508011038_0.returns.push(o2);
+// 5410
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5411
+f508011038_537.returns.push(1374696769361);
+// 5412
+o2 = {};
+// 5413
+f508011038_0.returns.push(o2);
+// 5414
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5415
+f508011038_537.returns.push(1374696769362);
+// 5416
+o2 = {};
+// 5417
+f508011038_0.returns.push(o2);
+// 5418
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5419
+f508011038_537.returns.push(1374696769362);
+// 5420
+o2 = {};
+// 5421
+f508011038_0.returns.push(o2);
+// 5422
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5423
+f508011038_537.returns.push(1374696769362);
+// 5424
+o2 = {};
+// 5425
+f508011038_0.returns.push(o2);
+// 5426
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5427
+f508011038_537.returns.push(1374696769362);
+// 5428
+o2 = {};
+// 5429
+f508011038_0.returns.push(o2);
+// 5430
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5431
+f508011038_537.returns.push(1374696769362);
+// 5432
+o2 = {};
+// 5433
+f508011038_0.returns.push(o2);
+// 5434
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5435
+f508011038_537.returns.push(1374696769362);
+// 5436
+o2 = {};
+// 5437
+f508011038_0.returns.push(o2);
+// 5438
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5439
+f508011038_537.returns.push(1374696769362);
+// 5440
+o2 = {};
+// 5441
+f508011038_0.returns.push(o2);
+// 5442
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5443
+f508011038_537.returns.push(1374696769364);
+// 5444
+o2 = {};
+// 5445
+f508011038_0.returns.push(o2);
+// 5446
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5447
+f508011038_537.returns.push(1374696769364);
+// 5448
+o2 = {};
+// 5449
+f508011038_0.returns.push(o2);
+// 5450
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5451
+f508011038_537.returns.push(1374696769364);
+// 5452
+o2 = {};
+// 5453
+f508011038_0.returns.push(o2);
+// 5454
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5455
+f508011038_537.returns.push(1374696769364);
+// 5456
+o2 = {};
+// 5457
+f508011038_0.returns.push(o2);
+// 5458
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5459
+f508011038_537.returns.push(1374696769367);
+// 5460
+o2 = {};
+// 5461
+f508011038_0.returns.push(o2);
+// 5462
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5463
+f508011038_537.returns.push(1374696769367);
+// 5464
+o2 = {};
+// 5465
+f508011038_0.returns.push(o2);
+// 5466
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5467
+f508011038_537.returns.push(1374696769367);
+// 5468
+o2 = {};
+// 5469
+f508011038_0.returns.push(o2);
+// 5470
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5471
+f508011038_537.returns.push(1374696769367);
+// 5472
+o2 = {};
+// 5473
+f508011038_0.returns.push(o2);
+// 5474
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5475
+f508011038_537.returns.push(1374696769367);
+// 5476
+o2 = {};
+// 5477
+f508011038_0.returns.push(o2);
+// 5478
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5479
+f508011038_537.returns.push(1374696769369);
+// 5480
+o2 = {};
+// 5481
+f508011038_0.returns.push(o2);
+// 5482
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5483
+f508011038_537.returns.push(1374696769369);
+// 5484
+o2 = {};
+// 5485
+f508011038_0.returns.push(o2);
+// 5486
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5487
+f508011038_537.returns.push(1374696769369);
+// 5488
+o2 = {};
+// 5489
+f508011038_0.returns.push(o2);
+// 5490
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5491
+f508011038_537.returns.push(1374696769369);
+// 5492
+o2 = {};
+// 5493
+f508011038_0.returns.push(o2);
+// 5494
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5495
+f508011038_537.returns.push(1374696769370);
+// 5496
+o2 = {};
+// 5497
+f508011038_0.returns.push(o2);
+// 5498
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5499
+f508011038_537.returns.push(1374696769370);
+// 5500
+o2 = {};
+// 5501
+f508011038_0.returns.push(o2);
+// 5502
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5503
+f508011038_537.returns.push(1374696769370);
+// 5504
+o2 = {};
+// 5505
+f508011038_0.returns.push(o2);
+// 5506
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5507
+f508011038_537.returns.push(1374696769370);
+// 5508
+o2 = {};
+// 5509
+f508011038_0.returns.push(o2);
+// 5510
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5511
+f508011038_537.returns.push(1374696769370);
+// 5512
+o2 = {};
+// 5513
+f508011038_0.returns.push(o2);
+// 5514
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5515
+f508011038_537.returns.push(1374696769370);
+// 5516
+o2 = {};
+// 5517
+f508011038_0.returns.push(o2);
+// 5518
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5519
+f508011038_537.returns.push(1374696769370);
+// 5520
+o2 = {};
+// 5521
+f508011038_0.returns.push(o2);
+// 5522
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5523
+f508011038_537.returns.push(1374696769371);
+// 5524
+o2 = {};
+// 5525
+f508011038_0.returns.push(o2);
+// 5526
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5527
+f508011038_537.returns.push(1374696769371);
+// 5528
+o2 = {};
+// 5529
+f508011038_0.returns.push(o2);
+// 5530
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5531
+f508011038_537.returns.push(1374696769372);
+// 5532
+o2 = {};
+// 5533
+f508011038_0.returns.push(o2);
+// 5534
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5535
+f508011038_537.returns.push(1374696769372);
+// 5536
+o2 = {};
+// 5537
+f508011038_0.returns.push(o2);
+// 5538
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5539
+f508011038_537.returns.push(1374696769372);
+// 5540
+o2 = {};
+// 5541
+f508011038_0.returns.push(o2);
+// 5542
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5543
+f508011038_537.returns.push(1374696769372);
+// 5544
+o2 = {};
+// 5545
+f508011038_0.returns.push(o2);
+// 5546
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5547
+f508011038_537.returns.push(1374696769372);
+// 5548
+o2 = {};
+// 5549
+f508011038_0.returns.push(o2);
+// 5550
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5551
+f508011038_537.returns.push(1374696769372);
+// 5552
+o2 = {};
+// 5553
+f508011038_0.returns.push(o2);
+// 5554
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5555
+f508011038_537.returns.push(1374696769373);
+// 5556
+o2 = {};
+// 5557
+f508011038_0.returns.push(o2);
+// 5558
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5559
+f508011038_537.returns.push(1374696769373);
+// 5560
+o2 = {};
+// 5561
+f508011038_0.returns.push(o2);
+// 5562
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5563
+f508011038_537.returns.push(1374696769373);
+// 5564
+o2 = {};
+// 5565
+f508011038_0.returns.push(o2);
+// 5566
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5567
+f508011038_537.returns.push(1374696769376);
+// 5568
+o2 = {};
+// 5569
+f508011038_0.returns.push(o2);
+// 5570
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5571
+f508011038_537.returns.push(1374696769376);
+// 5572
+o2 = {};
+// 5573
+f508011038_0.returns.push(o2);
+// 5574
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5575
+f508011038_537.returns.push(1374696769377);
+// 5576
+o2 = {};
+// 5577
+f508011038_0.returns.push(o2);
+// 5578
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5579
+f508011038_537.returns.push(1374696769377);
+// 5580
+o2 = {};
+// 5581
+f508011038_0.returns.push(o2);
+// 5582
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5583
+f508011038_537.returns.push(1374696769378);
+// 5584
+o2 = {};
+// 5585
+f508011038_0.returns.push(o2);
+// 5586
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5587
+f508011038_537.returns.push(1374696769378);
+// 5588
+o2 = {};
+// 5589
+f508011038_0.returns.push(o2);
+// 5590
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5591
+f508011038_537.returns.push(1374696769378);
+// 5592
+o2 = {};
+// 5593
+f508011038_0.returns.push(o2);
+// 5594
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5595
+f508011038_537.returns.push(1374696769378);
+// 5596
+o2 = {};
+// 5597
+f508011038_0.returns.push(o2);
+// 5598
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5599
+f508011038_537.returns.push(1374696769379);
+// 5600
+o2 = {};
+// 5601
+f508011038_0.returns.push(o2);
+// 5602
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5603
+f508011038_537.returns.push(1374696769379);
+// 5604
+o2 = {};
+// 5605
+f508011038_0.returns.push(o2);
+// 5606
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5607
+f508011038_537.returns.push(1374696769379);
+// 5608
+o2 = {};
+// 5609
+f508011038_0.returns.push(o2);
+// 5610
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5611
+f508011038_537.returns.push(1374696769379);
+// 5612
+o2 = {};
+// 5613
+f508011038_0.returns.push(o2);
+// 5614
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5615
+f508011038_537.returns.push(1374696769379);
+// 5616
+o2 = {};
+// 5617
+f508011038_0.returns.push(o2);
+// 5618
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5619
+f508011038_537.returns.push(1374696769421);
+// 5620
+o2 = {};
+// 5621
+f508011038_0.returns.push(o2);
+// 5622
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5623
+f508011038_537.returns.push(1374696769422);
+// 5624
+o2 = {};
+// 5625
+f508011038_0.returns.push(o2);
+// 5626
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5627
+f508011038_537.returns.push(1374696769422);
+// 5628
+o2 = {};
+// 5629
+f508011038_0.returns.push(o2);
+// 5630
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5631
+f508011038_537.returns.push(1374696769422);
+// 5632
+o2 = {};
+// 5633
+f508011038_0.returns.push(o2);
+// 5634
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5635
+f508011038_537.returns.push(1374696769422);
+// 5636
+o2 = {};
+// 5637
+f508011038_0.returns.push(o2);
+// 5638
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5639
+f508011038_537.returns.push(1374696769422);
+// 5640
+o2 = {};
+// 5641
+f508011038_0.returns.push(o2);
+// 5642
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5643
+f508011038_537.returns.push(1374696769422);
+// 5644
+o2 = {};
+// 5645
+f508011038_0.returns.push(o2);
+// 5646
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5647
+f508011038_537.returns.push(1374696769423);
+// 5648
+o2 = {};
+// 5649
+f508011038_0.returns.push(o2);
+// 5650
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5651
+f508011038_537.returns.push(1374696769423);
+// 5652
+o2 = {};
+// 5653
+f508011038_0.returns.push(o2);
+// 5654
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5655
+f508011038_537.returns.push(1374696769423);
+// 5656
+o2 = {};
+// 5657
+f508011038_0.returns.push(o2);
+// 5658
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5659
+f508011038_537.returns.push(1374696769423);
+// 5660
+o2 = {};
+// 5661
+f508011038_0.returns.push(o2);
+// 5662
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5663
+f508011038_537.returns.push(1374696769423);
+// 5664
+o2 = {};
+// 5665
+f508011038_0.returns.push(o2);
+// 5666
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5667
+f508011038_537.returns.push(1374696769423);
+// 5668
+o2 = {};
+// 5669
+f508011038_0.returns.push(o2);
+// 5670
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5671
+f508011038_537.returns.push(1374696769429);
+// 5672
+o2 = {};
+// 5673
+f508011038_0.returns.push(o2);
+// 5674
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5675
+f508011038_537.returns.push(1374696769429);
+// 5676
+o2 = {};
+// 5677
+f508011038_0.returns.push(o2);
+// 5678
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5679
+f508011038_537.returns.push(1374696769429);
+// 5680
+o2 = {};
+// 5681
+f508011038_0.returns.push(o2);
+// 5682
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5683
+f508011038_537.returns.push(1374696769429);
+// 5684
+o2 = {};
+// 5685
+f508011038_0.returns.push(o2);
+// 5686
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5687
+f508011038_537.returns.push(1374696769429);
+// 5688
+o2 = {};
+// 5689
+f508011038_0.returns.push(o2);
+// 5690
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5691
+f508011038_537.returns.push(1374696769429);
+// 5692
+o2 = {};
+// 5693
+f508011038_0.returns.push(o2);
+// 5694
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5695
+f508011038_537.returns.push(1374696769429);
+// 5696
+o2 = {};
+// 5697
+f508011038_0.returns.push(o2);
+// 5698
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5699
+f508011038_537.returns.push(1374696769429);
+// 5700
+o2 = {};
+// 5701
+f508011038_0.returns.push(o2);
+// 5702
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5703
+f508011038_537.returns.push(1374696769429);
+// 5704
+o2 = {};
+// 5705
+f508011038_0.returns.push(o2);
+// 5706
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5707
+f508011038_537.returns.push(1374696769430);
+// 5708
+o2 = {};
+// 5709
+f508011038_0.returns.push(o2);
+// 5710
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5711
+f508011038_537.returns.push(1374696769430);
+// 5712
+o2 = {};
+// 5713
+f508011038_0.returns.push(o2);
+// 5714
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5715
+f508011038_537.returns.push(1374696769430);
+// 5716
+o2 = {};
+// 5717
+f508011038_0.returns.push(o2);
+// 5718
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5719
+f508011038_537.returns.push(1374696769430);
+// 5720
+o2 = {};
+// 5721
+f508011038_0.returns.push(o2);
+// 5722
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5723
+f508011038_537.returns.push(1374696769430);
+// 5724
+o2 = {};
+// 5725
+f508011038_0.returns.push(o2);
+// 5726
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5727
+f508011038_537.returns.push(1374696769430);
+// 5728
+o2 = {};
+// 5729
+f508011038_0.returns.push(o2);
+// 5730
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5731
+f508011038_537.returns.push(1374696769430);
+// 5732
+o2 = {};
+// 5733
+f508011038_0.returns.push(o2);
+// 5734
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5735
+f508011038_537.returns.push(1374696769430);
+// 5736
+o2 = {};
+// 5737
+f508011038_0.returns.push(o2);
+// 5738
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5739
+f508011038_537.returns.push(1374696769430);
+// 5740
+o2 = {};
+// 5741
+f508011038_0.returns.push(o2);
+// 5742
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5743
+f508011038_537.returns.push(1374696769430);
+// 5744
+o2 = {};
+// 5745
+f508011038_0.returns.push(o2);
+// 5746
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5747
+f508011038_537.returns.push(1374696769430);
+// 5748
+o2 = {};
+// 5749
+f508011038_0.returns.push(o2);
+// 5750
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5751
+f508011038_537.returns.push(1374696769430);
+// 5752
+o2 = {};
+// 5753
+f508011038_0.returns.push(o2);
+// 5754
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5755
+f508011038_537.returns.push(1374696769431);
+// 5756
+o2 = {};
+// 5757
+f508011038_0.returns.push(o2);
+// 5758
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5759
+f508011038_537.returns.push(1374696769431);
+// 5760
+o2 = {};
+// 5761
+f508011038_0.returns.push(o2);
+// 5762
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5763
+f508011038_537.returns.push(1374696769431);
+// 5764
+o2 = {};
+// 5765
+f508011038_0.returns.push(o2);
+// 5766
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5767
+f508011038_537.returns.push(1374696769431);
+// 5768
+o2 = {};
+// 5769
+f508011038_0.returns.push(o2);
+// 5770
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5771
+f508011038_537.returns.push(1374696769432);
+// 5772
+o2 = {};
+// 5773
+f508011038_0.returns.push(o2);
+// 5774
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5775
+f508011038_537.returns.push(1374696769432);
+// 5776
+o2 = {};
+// 5777
+f508011038_0.returns.push(o2);
+// 5778
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5779
+f508011038_537.returns.push(1374696769435);
+// 5780
+o2 = {};
+// 5781
+f508011038_0.returns.push(o2);
+// 5782
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5783
+f508011038_537.returns.push(1374696769436);
+// 5784
+o2 = {};
+// 5785
+f508011038_0.returns.push(o2);
+// 5786
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5787
+f508011038_537.returns.push(1374696769436);
+// 5788
+o2 = {};
+// 5789
+f508011038_0.returns.push(o2);
+// 5790
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5791
+f508011038_537.returns.push(1374696769436);
+// 5792
+o2 = {};
+// 5793
+f508011038_0.returns.push(o2);
+// 5794
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5795
+f508011038_537.returns.push(1374696769436);
+// 5796
+o2 = {};
+// 5797
+f508011038_0.returns.push(o2);
+// 5798
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5799
+f508011038_537.returns.push(1374696769437);
+// 5800
+o2 = {};
+// 5801
+f508011038_0.returns.push(o2);
+// 5802
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5803
+f508011038_537.returns.push(1374696769437);
+// 5804
+o2 = {};
+// 5805
+f508011038_0.returns.push(o2);
+// 5806
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5807
+f508011038_537.returns.push(1374696769437);
+// 5808
+o2 = {};
+// 5809
+f508011038_0.returns.push(o2);
+// 5810
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5811
+f508011038_537.returns.push(1374696769437);
+// 5812
+o2 = {};
+// 5813
+f508011038_0.returns.push(o2);
+// 5814
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5815
+f508011038_537.returns.push(1374696769437);
+// 5816
+o2 = {};
+// 5817
+f508011038_0.returns.push(o2);
+// 5818
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5819
+f508011038_537.returns.push(1374696769437);
+// 5820
+o2 = {};
+// 5821
+f508011038_0.returns.push(o2);
+// 5822
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5823
+f508011038_537.returns.push(1374696769438);
+// 5824
+o3.appName = "Netscape";
+// 5825
+o2 = {};
+// 5826
+f508011038_0.returns.push(o2);
+// 5827
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5828
+f508011038_537.returns.push(1374696769438);
+// 5829
+o2 = {};
+// 5830
+f508011038_0.returns.push(o2);
+// 5831
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5832
+f508011038_537.returns.push(1374696769438);
+// 5833
+o2 = {};
+// 5834
+f508011038_0.returns.push(o2);
+// 5835
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5836
+f508011038_537.returns.push(1374696769438);
+// 5837
+o2 = {};
+// 5838
+f508011038_0.returns.push(o2);
+// 5839
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5840
+f508011038_537.returns.push(1374696769438);
+// 5841
+o2 = {};
+// 5842
+f508011038_0.returns.push(o2);
+// 5843
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5844
+f508011038_537.returns.push(1374696769439);
+// 5845
+o2 = {};
+// 5846
+f508011038_0.returns.push(o2);
+// 5847
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5848
+f508011038_537.returns.push(1374696769439);
+// 5849
+o2 = {};
+// 5850
+f508011038_0.returns.push(o2);
+// 5851
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5852
+f508011038_537.returns.push(1374696769439);
+// 5853
+o2 = {};
+// 5854
+f508011038_0.returns.push(o2);
+// 5855
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5856
+f508011038_537.returns.push(1374696769439);
+// 5857
+o2 = {};
+// 5858
+f508011038_0.returns.push(o2);
+// 5859
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5860
+f508011038_537.returns.push(1374696769439);
+// 5861
+o2 = {};
+// 5862
+f508011038_0.returns.push(o2);
+// 5863
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5864
+f508011038_537.returns.push(1374696769440);
+// 5865
+o2 = {};
+// 5866
+f508011038_0.returns.push(o2);
+// 5867
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5868
+f508011038_537.returns.push(1374696769440);
+// 5869
+o2 = {};
+// 5870
+f508011038_0.returns.push(o2);
+// 5871
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5872
+f508011038_537.returns.push(1374696769440);
+// 5873
+o2 = {};
+// 5874
+f508011038_0.returns.push(o2);
+// 5875
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5876
+f508011038_537.returns.push(1374696769440);
+// 5877
+o2 = {};
+// 5878
+f508011038_0.returns.push(o2);
+// 5879
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5880
+f508011038_537.returns.push(1374696769440);
+// 5881
+o2 = {};
+// 5882
+f508011038_0.returns.push(o2);
+// 5883
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5884
+f508011038_537.returns.push(1374696769443);
+// 5885
+o2 = {};
+// 5886
+f508011038_0.returns.push(o2);
+// 5887
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5888
+f508011038_537.returns.push(1374696769443);
+// 5889
+o2 = {};
+// 5890
+o3.plugins = o2;
+// undefined
+o3 = null;
+// 5891
+o3 = {};
+// 5892
+o2["Shockwave Flash"] = o3;
+// undefined
+o2 = null;
+// 5893
+o3.description = "Shockwave Flash 11.8 r800";
+// 5894
+o3.JSBNG__name = "Shockwave Flash";
+// undefined
+o3 = null;
+// 5895
+o2 = {};
+// 5896
+f508011038_0.returns.push(o2);
+// 5897
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5898
+f508011038_537.returns.push(1374696769445);
+// 5899
+o2 = {};
+// 5900
+f508011038_0.returns.push(o2);
+// 5901
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5902
+f508011038_537.returns.push(1374696769445);
+// 5903
+o2 = {};
+// 5904
+f508011038_0.returns.push(o2);
+// 5905
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5906
+f508011038_537.returns.push(1374696769445);
+// 5907
+o2 = {};
+// 5908
+f508011038_0.returns.push(o2);
+// 5909
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5910
+f508011038_537.returns.push(1374696769445);
+// 5911
+o2 = {};
+// 5912
+f508011038_0.returns.push(o2);
+// 5913
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5914
+f508011038_537.returns.push(1374696769446);
+// 5915
+o2 = {};
+// 5916
+f508011038_0.returns.push(o2);
+// 5917
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5918
+f508011038_537.returns.push(1374696769446);
+// 5919
+o2 = {};
+// 5920
+f508011038_0.returns.push(o2);
+// 5921
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5922
+f508011038_537.returns.push(1374696769446);
+// 5923
+o2 = {};
+// 5924
+f508011038_0.returns.push(o2);
+// 5925
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5926
+f508011038_537.returns.push(1374696769446);
+// 5927
+o2 = {};
+// 5928
+f508011038_0.returns.push(o2);
+// 5929
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5930
+f508011038_537.returns.push(1374696769446);
+// 5931
+o2 = {};
+// 5932
+f508011038_0.returns.push(o2);
+// 5933
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5934
+f508011038_537.returns.push(1374696769446);
+// 5935
+o2 = {};
+// 5936
+f508011038_0.returns.push(o2);
+// 5937
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5938
+f508011038_537.returns.push(1374696769446);
+// 5939
+o2 = {};
+// 5940
+f508011038_0.returns.push(o2);
+// 5941
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5942
+f508011038_537.returns.push(1374696769446);
+// 5943
+o2 = {};
+// 5944
+f508011038_0.returns.push(o2);
+// 5945
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5946
+f508011038_537.returns.push(1374696769446);
+// 5947
+o2 = {};
+// 5948
+f508011038_0.returns.push(o2);
+// 5949
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5950
+f508011038_537.returns.push(1374696769446);
+// 5951
+o2 = {};
+// 5952
+f508011038_0.returns.push(o2);
+// 5953
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5954
+f508011038_537.returns.push(1374696769446);
+// 5960
+o2 = {};
+// 5961
+f508011038_546.returns.push(o2);
+// 5962
+o2["0"] = o10;
+// 5963
+o2["1"] = void 0;
+// undefined
+o2 = null;
+// 5964
+o10.nodeType = 1;
+// 5965
+o10.getAttribute = f508011038_468;
+// 5966
+o10.ownerDocument = o0;
+// 5970
+f508011038_468.returns.push("ltr");
+// 5971
+o2 = {};
+// 5972
+f508011038_0.returns.push(o2);
+// 5973
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5974
+f508011038_537.returns.push(1374696769457);
+// 5975
+o2 = {};
+// 5976
+f508011038_0.returns.push(o2);
+// 5977
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5978
+f508011038_537.returns.push(1374696769457);
+// 5979
+o2 = {};
+// 5980
+f508011038_0.returns.push(o2);
+// 5981
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5982
+f508011038_537.returns.push(1374696769457);
+// 5983
+o2 = {};
+// 5984
+f508011038_0.returns.push(o2);
+// 5985
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5986
+f508011038_537.returns.push(1374696769457);
+// 5987
+o2 = {};
+// 5988
+f508011038_0.returns.push(o2);
+// 5989
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5990
+f508011038_537.returns.push(1374696769460);
+// 5991
+o2 = {};
+// 5992
+f508011038_0.returns.push(o2);
+// 5993
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5994
+f508011038_537.returns.push(1374696769460);
+// 5995
+o2 = {};
+// 5996
+f508011038_0.returns.push(o2);
+// 5997
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 5998
+f508011038_537.returns.push(1374696769460);
+// 5999
+o2 = {};
+// 6000
+f508011038_0.returns.push(o2);
+// 6001
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6002
+f508011038_537.returns.push(1374696769460);
+// 6003
+o2 = {};
+// 6004
+f508011038_0.returns.push(o2);
+// 6005
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6006
+f508011038_537.returns.push(1374696769460);
+// 6007
+o2 = {};
+// 6008
+f508011038_0.returns.push(o2);
+// 6009
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6010
+f508011038_537.returns.push(1374696769460);
+// 6011
+o2 = {};
+// 6012
+f508011038_0.returns.push(o2);
+// 6013
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6014
+f508011038_537.returns.push(1374696769460);
+// 6015
+o2 = {};
+// 6016
+f508011038_0.returns.push(o2);
+// 6017
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6018
+f508011038_537.returns.push(1374696769460);
+// 6019
+o2 = {};
+// 6020
+f508011038_0.returns.push(o2);
+// 6021
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6022
+f508011038_537.returns.push(1374696769461);
+// 6023
+o2 = {};
+// 6024
+f508011038_0.returns.push(o2);
+// 6025
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6026
+f508011038_537.returns.push(1374696769461);
+// 6027
+o2 = {};
+// 6028
+f508011038_0.returns.push(o2);
+// 6029
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6030
+f508011038_537.returns.push(1374696769461);
+// 6031
+o2 = {};
+// 6032
+f508011038_0.returns.push(o2);
+// 6033
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6034
+f508011038_537.returns.push(1374696769462);
+// 6035
+o2 = {};
+// 6036
+f508011038_0.returns.push(o2);
+// 6037
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6038
+f508011038_537.returns.push(1374696769462);
+// 6039
+o2 = {};
+// 6040
+f508011038_0.returns.push(o2);
+// 6041
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6042
+f508011038_537.returns.push(1374696769462);
+// 6043
+o2 = {};
+// 6044
+f508011038_0.returns.push(o2);
+// 6045
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6046
+f508011038_537.returns.push(1374696769462);
+// 6047
+o2 = {};
+// 6048
+f508011038_0.returns.push(o2);
+// 6049
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6050
+f508011038_537.returns.push(1374696769462);
+// 6051
+o2 = {};
+// 6052
+f508011038_0.returns.push(o2);
+// 6053
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6054
+f508011038_537.returns.push(1374696769462);
+// 6055
+o2 = {};
+// 6056
+f508011038_0.returns.push(o2);
+// 6057
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6058
+f508011038_537.returns.push(1374696769462);
+// 6059
+o2 = {};
+// 6060
+f508011038_0.returns.push(o2);
+// 6061
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6062
+f508011038_537.returns.push(1374696769462);
+// 6063
+o2 = {};
+// 6064
+f508011038_0.returns.push(o2);
+// 6065
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6066
+f508011038_537.returns.push(1374696769462);
+// 6067
+o2 = {};
+// 6068
+f508011038_0.returns.push(o2);
+// 6069
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6070
+f508011038_537.returns.push(1374696769463);
+// 6071
+o2 = {};
+// 6072
+f508011038_0.returns.push(o2);
+// 6073
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6074
+f508011038_537.returns.push(1374696769463);
+// 6075
+o2 = {};
+// 6076
+f508011038_0.returns.push(o2);
+// 6077
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6078
+f508011038_537.returns.push(1374696769463);
+// 6079
+o2 = {};
+// 6080
+f508011038_0.returns.push(o2);
+// 6081
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6082
+f508011038_537.returns.push(1374696769463);
+// 6083
+o2 = {};
+// 6084
+f508011038_0.returns.push(o2);
+// 6085
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6086
+f508011038_537.returns.push(1374696769463);
+// 6087
+o2 = {};
+// 6088
+f508011038_0.returns.push(o2);
+// 6089
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6090
+f508011038_537.returns.push(1374696769463);
+// 6091
+o2 = {};
+// 6092
+f508011038_0.returns.push(o2);
+// 6093
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6094
+f508011038_537.returns.push(1374696769463);
+// 6095
+o2 = {};
+// 6096
+f508011038_0.returns.push(o2);
+// 6097
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6098
+f508011038_537.returns.push(1374696769466);
+// 6099
+o2 = {};
+// 6100
+f508011038_0.returns.push(o2);
+// 6101
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6102
+f508011038_537.returns.push(1374696769466);
+// 6103
+o2 = {};
+// 6104
+f508011038_0.returns.push(o2);
+// 6105
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6106
+f508011038_537.returns.push(1374696769469);
+// 6107
+o2 = {};
+// 6108
+f508011038_0.returns.push(o2);
+// 6109
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6110
+f508011038_537.returns.push(1374696769469);
+// 6111
+o2 = {};
+// 6112
+f508011038_0.returns.push(o2);
+// 6113
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6114
+f508011038_537.returns.push(1374696769469);
+// 6115
+o2 = {};
+// 6116
+f508011038_0.returns.push(o2);
+// 6117
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6118
+f508011038_537.returns.push(1374696769469);
+// 6119
+o2 = {};
+// 6120
+f508011038_0.returns.push(o2);
+// 6121
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6122
+f508011038_537.returns.push(1374696769470);
+// 6123
+o2 = {};
+// 6124
+f508011038_0.returns.push(o2);
+// 6125
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6126
+f508011038_537.returns.push(1374696769470);
+// 6127
+o2 = {};
+// 6128
+f508011038_0.returns.push(o2);
+// 6129
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6130
+f508011038_537.returns.push(1374696769470);
+// 6131
+o2 = {};
+// 6132
+f508011038_0.returns.push(o2);
+// 6133
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6134
+f508011038_537.returns.push(1374696769470);
+// 6135
+o2 = {};
+// 6136
+f508011038_0.returns.push(o2);
+// 6137
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6138
+f508011038_537.returns.push(1374696769470);
+// 6139
+o2 = {};
+// 6140
+f508011038_0.returns.push(o2);
+// 6141
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6142
+f508011038_537.returns.push(1374696769470);
+// 6143
+o2 = {};
+// 6144
+f508011038_0.returns.push(o2);
+// 6145
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6146
+f508011038_537.returns.push(1374696769470);
+// 6147
+o2 = {};
+// 6148
+f508011038_0.returns.push(o2);
+// 6149
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6150
+f508011038_537.returns.push(1374696769471);
+// 6151
+o2 = {};
+// 6152
+f508011038_0.returns.push(o2);
+// 6153
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6154
+f508011038_537.returns.push(1374696769472);
+// 6155
+o2 = {};
+// 6156
+f508011038_0.returns.push(o2);
+// 6157
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6158
+f508011038_537.returns.push(1374696769472);
+// 6159
+o2 = {};
+// 6160
+f508011038_0.returns.push(o2);
+// 6161
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6162
+f508011038_537.returns.push(1374696769472);
+// 6163
+o2 = {};
+// 6164
+f508011038_0.returns.push(o2);
+// 6165
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6166
+f508011038_537.returns.push(1374696769472);
+// 6167
+o2 = {};
+// 6168
+f508011038_0.returns.push(o2);
+// 6169
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6170
+f508011038_537.returns.push(1374696769472);
+// 6171
+o2 = {};
+// 6172
+f508011038_0.returns.push(o2);
+// 6173
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6174
+f508011038_537.returns.push(1374696769472);
+// 6175
+o2 = {};
+// 6176
+f508011038_0.returns.push(o2);
+// 6177
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6178
+f508011038_537.returns.push(1374696769472);
+// 6179
+o2 = {};
+// 6180
+f508011038_0.returns.push(o2);
+// 6181
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6182
+f508011038_537.returns.push(1374696769473);
+// 6183
+o2 = {};
+// 6184
+f508011038_0.returns.push(o2);
+// 6185
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6186
+f508011038_537.returns.push(1374696769473);
+// 6187
+o2 = {};
+// 6188
+f508011038_0.returns.push(o2);
+// 6189
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6190
+f508011038_537.returns.push(1374696769473);
+// 6191
+o2 = {};
+// 6192
+f508011038_0.returns.push(o2);
+// 6193
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6194
+f508011038_537.returns.push(1374696769473);
+// 6195
+o2 = {};
+// 6196
+f508011038_0.returns.push(o2);
+// 6197
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6198
+f508011038_537.returns.push(1374696769474);
+// 6199
+o2 = {};
+// 6200
+f508011038_0.returns.push(o2);
+// 6201
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6202
+f508011038_537.returns.push(1374696769476);
+// 6203
+o2 = {};
+// 6204
+f508011038_0.returns.push(o2);
+// 6205
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6206
+f508011038_537.returns.push(1374696769476);
+// 6207
+o2 = {};
+// 6208
+f508011038_0.returns.push(o2);
+// 6209
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6210
+f508011038_537.returns.push(1374696769477);
+// 6211
+o2 = {};
+// 6212
+f508011038_0.returns.push(o2);
+// 6213
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6214
+f508011038_537.returns.push(1374696769477);
+// 6215
+o2 = {};
+// 6216
+f508011038_0.returns.push(o2);
+// 6217
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6218
+f508011038_537.returns.push(1374696769477);
+// 6219
+o2 = {};
+// 6220
+f508011038_0.returns.push(o2);
+// 6221
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6222
+f508011038_537.returns.push(1374696769477);
+// 6223
+o2 = {};
+// 6224
+f508011038_0.returns.push(o2);
+// 6225
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6226
+f508011038_537.returns.push(1374696769478);
+// 6227
+o2 = {};
+// 6228
+f508011038_0.returns.push(o2);
+// 6229
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6230
+f508011038_537.returns.push(1374696769478);
+// 6231
+o2 = {};
+// 6232
+f508011038_0.returns.push(o2);
+// 6233
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6234
+f508011038_537.returns.push(1374696769478);
+// 6235
+o2 = {};
+// 6236
+f508011038_0.returns.push(o2);
+// 6237
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6238
+f508011038_537.returns.push(1374696769478);
+// 6239
+o2 = {};
+// 6240
+f508011038_0.returns.push(o2);
+// 6241
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6242
+f508011038_537.returns.push(1374696769478);
+// 6243
+o2 = {};
+// 6244
+f508011038_0.returns.push(o2);
+// 6245
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6246
+f508011038_537.returns.push(1374696769478);
+// 6247
+o2 = {};
+// 6248
+f508011038_0.returns.push(o2);
+// 6249
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6250
+f508011038_537.returns.push(1374696769478);
+// 6251
+o2 = {};
+// 6252
+f508011038_0.returns.push(o2);
+// 6253
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6254
+f508011038_537.returns.push(1374696769479);
+// 6255
+o2 = {};
+// 6256
+f508011038_0.returns.push(o2);
+// 6257
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6258
+f508011038_537.returns.push(1374696769479);
+// 6259
+o2 = {};
+// 6260
+f508011038_0.returns.push(o2);
+// 6261
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6262
+f508011038_537.returns.push(1374696769479);
+// 6263
+o2 = {};
+// 6264
+f508011038_0.returns.push(o2);
+// 6265
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6266
+f508011038_537.returns.push(1374696769479);
+// 6267
+o2 = {};
+// 6268
+f508011038_0.returns.push(o2);
+// 6269
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6270
+f508011038_537.returns.push(1374696769480);
+// 6271
+o2 = {};
+// 6272
+f508011038_0.returns.push(o2);
+// 6273
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6274
+f508011038_537.returns.push(1374696769480);
+// 6275
+o2 = {};
+// 6276
+f508011038_0.returns.push(o2);
+// 6277
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6278
+f508011038_537.returns.push(1374696769480);
+// 6279
+o2 = {};
+// 6280
+f508011038_0.returns.push(o2);
+// 6281
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6282
+f508011038_537.returns.push(1374696769480);
+// 6283
+o2 = {};
+// 6284
+f508011038_0.returns.push(o2);
+// 6285
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6286
+f508011038_537.returns.push(1374696769481);
+// 6287
+o2 = {};
+// 6288
+f508011038_0.returns.push(o2);
+// 6289
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6290
+f508011038_537.returns.push(1374696769481);
+// 6291
+o2 = {};
+// 6292
+f508011038_0.returns.push(o2);
+// 6293
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6294
+f508011038_537.returns.push(1374696769481);
+// 6295
+o2 = {};
+// 6296
+f508011038_0.returns.push(o2);
+// 6297
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6298
+f508011038_537.returns.push(1374696769481);
+// 6300
+o2 = {};
+// 6301
+f508011038_0.returns.push(o2);
+// 6302
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6303
+f508011038_537.returns.push(1374696769481);
+// 6304
+o2 = {};
+// 6305
+f508011038_0.returns.push(o2);
+// 6306
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6307
+f508011038_537.returns.push(1374696769484);
+// 6308
+o2 = {};
+// 6309
+f508011038_0.returns.push(o2);
+// 6310
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6311
+f508011038_537.returns.push(1374696769484);
+// 6312
+o2 = {};
+// 6313
+f508011038_0.returns.push(o2);
+// 6314
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6315
+f508011038_537.returns.push(1374696769486);
+// 6316
+o2 = {};
+// 6317
+f508011038_0.returns.push(o2);
+// 6318
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6319
+f508011038_537.returns.push(1374696769487);
+// 6320
+o2 = {};
+// 6321
+f508011038_0.returns.push(o2);
+// 6322
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6323
+f508011038_537.returns.push(1374696769487);
+// 6324
+o2 = {};
+// 6325
+f508011038_0.returns.push(o2);
+// 6326
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6327
+f508011038_537.returns.push(1374696769487);
+// 6328
+o2 = {};
+// 6329
+f508011038_0.returns.push(o2);
+// 6330
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6331
+f508011038_537.returns.push(1374696769487);
+// 6332
+o2 = {};
+// 6333
+f508011038_0.returns.push(o2);
+// 6334
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6335
+f508011038_537.returns.push(1374696769487);
+// 6336
+o2 = {};
+// 6337
+f508011038_0.returns.push(o2);
+// 6338
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6339
+f508011038_537.returns.push(1374696769487);
+// 6340
+o2 = {};
+// 6341
+f508011038_0.returns.push(o2);
+// 6342
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6343
+f508011038_537.returns.push(1374696769487);
+// 6344
+o2 = {};
+// 6345
+f508011038_0.returns.push(o2);
+// 6346
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6347
+f508011038_537.returns.push(1374696769487);
+// 6348
+o2 = {};
+// 6349
+f508011038_0.returns.push(o2);
+// 6350
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6351
+f508011038_537.returns.push(1374696769488);
+// 6352
+o2 = {};
+// 6353
+f508011038_0.returns.push(o2);
+// 6354
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6355
+f508011038_537.returns.push(1374696769488);
+// 6356
+o2 = {};
+// 6357
+f508011038_0.returns.push(o2);
+// 6358
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6359
+f508011038_537.returns.push(1374696769488);
+// 6360
+o2 = {};
+// 6361
+f508011038_0.returns.push(o2);
+// 6362
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6363
+f508011038_537.returns.push(1374696769488);
+// 6364
+o2 = {};
+// 6365
+f508011038_0.returns.push(o2);
+// 6366
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6367
+f508011038_537.returns.push(1374696769488);
+// 6368
+o2 = {};
+// 6369
+f508011038_0.returns.push(o2);
+// 6370
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6371
+f508011038_537.returns.push(1374696769488);
+// 6372
+o2 = {};
+// 6373
+f508011038_0.returns.push(o2);
+// 6374
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6375
+f508011038_537.returns.push(1374696769490);
+// 6376
+o2 = {};
+// 6377
+f508011038_0.returns.push(o2);
+// 6378
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6379
+f508011038_537.returns.push(1374696769490);
+// 6380
+o2 = {};
+// 6381
+f508011038_0.returns.push(o2);
+// 6382
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6383
+f508011038_537.returns.push(1374696769490);
+// 6384
+o2 = {};
+// 6385
+f508011038_0.returns.push(o2);
+// 6386
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6387
+f508011038_537.returns.push(1374696769492);
+// 6388
+o2 = {};
+// 6389
+f508011038_0.returns.push(o2);
+// 6390
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6391
+f508011038_537.returns.push(1374696769492);
+// 6392
+o2 = {};
+// 6393
+f508011038_0.returns.push(o2);
+// 6394
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6395
+f508011038_537.returns.push(1374696769492);
+// 6396
+o2 = {};
+// 6397
+f508011038_0.returns.push(o2);
+// 6398
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6399
+f508011038_537.returns.push(1374696769492);
+// 6400
+o2 = {};
+// 6401
+f508011038_0.returns.push(o2);
+// 6402
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6403
+f508011038_537.returns.push(1374696769492);
+// 6404
+o2 = {};
+// 6405
+f508011038_0.returns.push(o2);
+// 6406
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6407
+f508011038_537.returns.push(1374696769492);
+// 6408
+o2 = {};
+// 6409
+f508011038_0.returns.push(o2);
+// 6410
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6411
+f508011038_537.returns.push(1374696769493);
+// 6412
+o2 = {};
+// 6413
+f508011038_0.returns.push(o2);
+// 6414
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6415
+f508011038_537.returns.push(1374696769495);
+// 6416
+o2 = {};
+// 6417
+f508011038_0.returns.push(o2);
+// 6418
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6419
+f508011038_537.returns.push(1374696769498);
+// 6420
+o2 = {};
+// 6421
+f508011038_0.returns.push(o2);
+// 6422
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6423
+f508011038_537.returns.push(1374696769498);
+// 6424
+o2 = {};
+// 6425
+f508011038_0.returns.push(o2);
+// 6426
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6427
+f508011038_537.returns.push(1374696769499);
+// 6428
+o2 = {};
+// 6429
+f508011038_0.returns.push(o2);
+// 6430
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6431
+f508011038_537.returns.push(1374696769499);
+// 6432
+o2 = {};
+// 6433
+f508011038_0.returns.push(o2);
+// 6434
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6435
+f508011038_537.returns.push(1374696769499);
+// 6436
+o2 = {};
+// 6437
+f508011038_0.returns.push(o2);
+// 6438
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6439
+f508011038_537.returns.push(1374696769500);
+// 6440
+o2 = {};
+// 6441
+f508011038_0.returns.push(o2);
+// 6442
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6443
+f508011038_537.returns.push(1374696769500);
+// 6444
+o2 = {};
+// 6445
+f508011038_0.returns.push(o2);
+// 6446
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6447
+f508011038_537.returns.push(1374696769500);
+// 6448
+o2 = {};
+// 6449
+f508011038_0.returns.push(o2);
+// 6450
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6451
+f508011038_537.returns.push(1374696769500);
+// 6452
+o2 = {};
+// 6453
+f508011038_0.returns.push(o2);
+// 6454
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6455
+f508011038_537.returns.push(1374696769500);
+// 6456
+o2 = {};
+// 6457
+f508011038_0.returns.push(o2);
+// 6458
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6459
+f508011038_537.returns.push(1374696769500);
+// 6460
+o2 = {};
+// 6461
+f508011038_0.returns.push(o2);
+// 6462
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6463
+f508011038_537.returns.push(1374696769501);
+// 6464
+o2 = {};
+// 6465
+f508011038_0.returns.push(o2);
+// 6466
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6467
+f508011038_537.returns.push(1374696769501);
+// 6468
+o2 = {};
+// 6469
+f508011038_0.returns.push(o2);
+// 6470
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6471
+f508011038_537.returns.push(1374696769501);
+// 6472
+o2 = {};
+// 6473
+f508011038_0.returns.push(o2);
+// 6474
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6475
+f508011038_537.returns.push(1374696769501);
+// 6476
+o2 = {};
+// 6477
+f508011038_0.returns.push(o2);
+// 6478
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6479
+f508011038_537.returns.push(1374696769501);
+// 6480
+o2 = {};
+// 6481
+f508011038_0.returns.push(o2);
+// 6482
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6483
+f508011038_537.returns.push(1374696769502);
+// 6484
+o2 = {};
+// 6485
+f508011038_0.returns.push(o2);
+// 6486
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6487
+f508011038_537.returns.push(1374696769502);
+// 6488
+o2 = {};
+// 6489
+f508011038_0.returns.push(o2);
+// 6490
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6491
+f508011038_537.returns.push(1374696769502);
+// 6492
+o2 = {};
+// 6493
+f508011038_0.returns.push(o2);
+// 6494
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6495
+f508011038_537.returns.push(1374696769502);
+// 6496
+o2 = {};
+// 6497
+f508011038_0.returns.push(o2);
+// 6498
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6499
+f508011038_537.returns.push(1374696769502);
+// 6500
+o2 = {};
+// 6501
+f508011038_0.returns.push(o2);
+// 6502
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6503
+f508011038_537.returns.push(1374696769502);
+// 6504
+o2 = {};
+// 6505
+f508011038_0.returns.push(o2);
+// 6506
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6507
+f508011038_537.returns.push(1374696769502);
+// 6508
+o2 = {};
+// 6509
+f508011038_0.returns.push(o2);
+// 6510
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6511
+f508011038_537.returns.push(1374696769503);
+// 6512
+o2 = {};
+// 6513
+f508011038_0.returns.push(o2);
+// 6514
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6515
+f508011038_537.returns.push(1374696769503);
+// 6516
+o2 = {};
+// 6517
+f508011038_0.returns.push(o2);
+// 6518
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6519
+f508011038_537.returns.push(1374696769506);
+// 6520
+o2 = {};
+// 6521
+f508011038_0.returns.push(o2);
+// 6522
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6523
+f508011038_537.returns.push(1374696769506);
+// 6524
+o2 = {};
+// 6525
+f508011038_0.returns.push(o2);
+// 6526
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6527
+f508011038_537.returns.push(1374696769506);
+// 6528
+o2 = {};
+// 6529
+f508011038_0.returns.push(o2);
+// 6530
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6531
+f508011038_537.returns.push(1374696769506);
+// 6532
+o2 = {};
+// 6533
+f508011038_0.returns.push(o2);
+// 6534
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6535
+f508011038_537.returns.push(1374696769507);
+// 6536
+o2 = {};
+// 6537
+f508011038_0.returns.push(o2);
+// 6538
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6539
+f508011038_537.returns.push(1374696769507);
+// 6540
+o2 = {};
+// 6541
+f508011038_0.returns.push(o2);
+// 6542
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6543
+f508011038_537.returns.push(1374696769507);
+// 6544
+o2 = {};
+// 6545
+f508011038_0.returns.push(o2);
+// 6546
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6547
+f508011038_537.returns.push(1374696769508);
+// 6548
+o2 = {};
+// 6549
+f508011038_0.returns.push(o2);
+// 6550
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6551
+f508011038_537.returns.push(1374696769508);
+// 6552
+o2 = {};
+// 6553
+f508011038_0.returns.push(o2);
+// 6554
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6555
+f508011038_537.returns.push(1374696769508);
+// 6556
+o2 = {};
+// 6557
+f508011038_0.returns.push(o2);
+// 6558
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6559
+f508011038_537.returns.push(1374696769508);
+// 6560
+o2 = {};
+// 6561
+f508011038_0.returns.push(o2);
+// 6562
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6563
+f508011038_537.returns.push(1374696769508);
+// 6564
+o2 = {};
+// 6565
+f508011038_0.returns.push(o2);
+// 6566
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6567
+f508011038_537.returns.push(1374696769508);
+// 6568
+o2 = {};
+// 6569
+f508011038_0.returns.push(o2);
+// 6570
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6571
+f508011038_537.returns.push(1374696769508);
+// 6572
+o2 = {};
+// 6573
+f508011038_0.returns.push(o2);
+// 6574
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6575
+f508011038_537.returns.push(1374696769509);
+// 6576
+o2 = {};
+// 6577
+f508011038_0.returns.push(o2);
+// 6578
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6579
+f508011038_537.returns.push(1374696769509);
+// 6580
+o2 = {};
+// 6581
+f508011038_0.returns.push(o2);
+// 6582
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6583
+f508011038_537.returns.push(1374696769509);
+// 6584
+o2 = {};
+// 6585
+f508011038_0.returns.push(o2);
+// 6586
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6587
+f508011038_537.returns.push(1374696769509);
+// 6588
+o2 = {};
+// 6589
+f508011038_0.returns.push(o2);
+// 6590
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6591
+f508011038_537.returns.push(1374696769509);
+// 6592
+o2 = {};
+// 6593
+f508011038_0.returns.push(o2);
+// 6594
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6595
+f508011038_537.returns.push(1374696769509);
+// 6596
+o2 = {};
+// 6597
+f508011038_0.returns.push(o2);
+// 6598
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6599
+f508011038_537.returns.push(1374696769510);
+// 6600
+o2 = {};
+// 6601
+f508011038_0.returns.push(o2);
+// 6602
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6603
+f508011038_537.returns.push(1374696769510);
+// 6604
+o2 = {};
+// 6605
+f508011038_0.returns.push(o2);
+// 6606
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6607
+f508011038_537.returns.push(1374696769510);
+// 6608
+o2 = {};
+// 6609
+f508011038_0.returns.push(o2);
+// 6610
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6611
+f508011038_537.returns.push(1374696769510);
+// 6612
+o2 = {};
+// 6613
+f508011038_0.returns.push(o2);
+// 6614
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6615
+f508011038_537.returns.push(1374696769510);
+// 6616
+o2 = {};
+// 6617
+f508011038_0.returns.push(o2);
+// 6618
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6619
+f508011038_537.returns.push(1374696769510);
+// 6620
+o2 = {};
+// 6621
+f508011038_0.returns.push(o2);
+// 6622
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6623
+f508011038_537.returns.push(1374696769510);
+// 6624
+o2 = {};
+// 6625
+f508011038_0.returns.push(o2);
+// 6626
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6627
+f508011038_537.returns.push(1374696769513);
+// 6628
+o2 = {};
+// 6629
+f508011038_0.returns.push(o2);
+// 6630
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6631
+f508011038_537.returns.push(1374696769513);
+// 6632
+o2 = {};
+// 6633
+f508011038_0.returns.push(o2);
+// 6634
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6635
+f508011038_537.returns.push(1374696769513);
+// 6636
+o2 = {};
+// 6637
+f508011038_0.returns.push(o2);
+// 6638
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6639
+f508011038_537.returns.push(1374696769514);
+// 6640
+o2 = {};
+// 6641
+f508011038_0.returns.push(o2);
+// 6642
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6643
+f508011038_537.returns.push(1374696769514);
+// 6644
+o2 = {};
+// 6645
+f508011038_0.returns.push(o2);
+// 6646
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6647
+f508011038_537.returns.push(1374696769514);
+// 6648
+o2 = {};
+// 6649
+f508011038_0.returns.push(o2);
+// 6650
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6651
+f508011038_537.returns.push(1374696769514);
+// 6652
+o2 = {};
+// 6653
+f508011038_0.returns.push(o2);
+// 6654
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6655
+f508011038_537.returns.push(1374696769515);
+// 6656
+o2 = {};
+// 6657
+f508011038_0.returns.push(o2);
+// 6658
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6659
+f508011038_537.returns.push(1374696769515);
+// 6660
+o2 = {};
+// 6661
+f508011038_0.returns.push(o2);
+// 6662
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6663
+f508011038_537.returns.push(1374696769515);
+// 6664
+o2 = {};
+// 6665
+f508011038_0.returns.push(o2);
+// 6666
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6667
+f508011038_537.returns.push(1374696769515);
+// 6668
+o2 = {};
+// 6669
+f508011038_0.returns.push(o2);
+// 6670
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6671
+f508011038_537.returns.push(1374696769515);
+// 6672
+o2 = {};
+// 6673
+f508011038_0.returns.push(o2);
+// 6674
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6675
+f508011038_537.returns.push(1374696769515);
+// 6676
+o2 = {};
+// 6677
+f508011038_0.returns.push(o2);
+// 6678
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6679
+f508011038_537.returns.push(1374696769515);
+// 6680
+o2 = {};
+// 6681
+f508011038_0.returns.push(o2);
+// 6682
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6683
+f508011038_537.returns.push(1374696769516);
+// 6684
+o2 = {};
+// 6685
+f508011038_0.returns.push(o2);
+// 6686
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6687
+f508011038_537.returns.push(1374696769517);
+// 6688
+o2 = {};
+// 6689
+f508011038_0.returns.push(o2);
+// 6690
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6691
+f508011038_537.returns.push(1374696769517);
+// 6692
+o2 = {};
+// 6693
+f508011038_0.returns.push(o2);
+// 6694
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6695
+f508011038_537.returns.push(1374696769517);
+// 6696
+o2 = {};
+// 6697
+f508011038_0.returns.push(o2);
+// 6698
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6699
+f508011038_537.returns.push(1374696769517);
+// 6700
+o2 = {};
+// 6701
+f508011038_0.returns.push(o2);
+// 6702
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6703
+f508011038_537.returns.push(1374696769517);
+// 6704
+o2 = {};
+// 6705
+f508011038_0.returns.push(o2);
+// 6706
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6707
+f508011038_537.returns.push(1374696769517);
+// 6708
+o2 = {};
+// 6709
+f508011038_0.returns.push(o2);
+// 6710
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6711
+f508011038_537.returns.push(1374696769517);
+// 6712
+o2 = {};
+// 6713
+f508011038_0.returns.push(o2);
+// 6714
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6715
+f508011038_537.returns.push(1374696769517);
+// 6716
+o2 = {};
+// 6717
+f508011038_0.returns.push(o2);
+// 6718
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6719
+f508011038_537.returns.push(1374696769518);
+// 6720
+o2 = {};
+// 6721
+f508011038_0.returns.push(o2);
+// 6722
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6723
+f508011038_537.returns.push(1374696769518);
+// 6724
+o2 = {};
+// 6725
+f508011038_0.returns.push(o2);
+// 6726
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6727
+f508011038_537.returns.push(1374696769518);
+// 6728
+o2 = {};
+// 6729
+f508011038_0.returns.push(o2);
+// 6730
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6731
+f508011038_537.returns.push(1374696769521);
+// 6732
+o2 = {};
+// 6733
+f508011038_0.returns.push(o2);
+// 6734
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6735
+f508011038_537.returns.push(1374696769521);
+// 6736
+o2 = {};
+// 6737
+f508011038_0.returns.push(o2);
+// 6738
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6739
+f508011038_537.returns.push(1374696769521);
+// 6740
+o2 = {};
+// 6741
+f508011038_0.returns.push(o2);
+// 6742
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6743
+f508011038_537.returns.push(1374696769522);
+// 6744
+o2 = {};
+// 6745
+f508011038_0.returns.push(o2);
+// 6746
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6747
+f508011038_537.returns.push(1374696769522);
+// 6748
+o2 = {};
+// 6749
+f508011038_0.returns.push(o2);
+// 6750
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6751
+f508011038_537.returns.push(1374696769522);
+// 6752
+o2 = {};
+// 6753
+f508011038_0.returns.push(o2);
+// 6754
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6755
+f508011038_537.returns.push(1374696769522);
+// 6756
+o2 = {};
+// 6757
+f508011038_0.returns.push(o2);
+// 6758
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6759
+f508011038_537.returns.push(1374696769523);
+// 6760
+o2 = {};
+// 6761
+f508011038_0.returns.push(o2);
+// 6762
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6763
+f508011038_537.returns.push(1374696769523);
+// 6764
+o2 = {};
+// 6765
+f508011038_0.returns.push(o2);
+// 6766
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6767
+f508011038_537.returns.push(1374696769523);
+// 6768
+o2 = {};
+// 6769
+f508011038_0.returns.push(o2);
+// 6770
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6771
+f508011038_537.returns.push(1374696769523);
+// 6772
+o2 = {};
+// 6773
+f508011038_0.returns.push(o2);
+// 6774
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6775
+f508011038_537.returns.push(1374696769523);
+// 6776
+o2 = {};
+// 6777
+f508011038_0.returns.push(o2);
+// 6778
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6779
+f508011038_537.returns.push(1374696769523);
+// 6780
+o2 = {};
+// 6781
+f508011038_0.returns.push(o2);
+// 6782
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6783
+f508011038_537.returns.push(1374696769523);
+// 6784
+o2 = {};
+// 6785
+f508011038_0.returns.push(o2);
+// 6786
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6787
+f508011038_537.returns.push(1374696769524);
+// 6788
+o2 = {};
+// 6789
+f508011038_0.returns.push(o2);
+// 6790
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6791
+f508011038_537.returns.push(1374696769524);
+// 6792
+o2 = {};
+// 6793
+f508011038_0.returns.push(o2);
+// 6794
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6795
+f508011038_537.returns.push(1374696769525);
+// 6796
+o2 = {};
+// 6797
+f508011038_0.returns.push(o2);
+// 6798
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6799
+f508011038_537.returns.push(1374696769525);
+// 6800
+o2 = {};
+// 6801
+f508011038_0.returns.push(o2);
+// 6802
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6803
+f508011038_537.returns.push(1374696769525);
+// 6804
+o2 = {};
+// 6805
+f508011038_0.returns.push(o2);
+// 6806
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6807
+f508011038_537.returns.push(1374696769525);
+// 6808
+o2 = {};
+// 6809
+f508011038_0.returns.push(o2);
+// 6810
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6811
+f508011038_537.returns.push(1374696769525);
+// 6812
+o2 = {};
+// 6813
+f508011038_0.returns.push(o2);
+// 6814
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6815
+f508011038_537.returns.push(1374696769526);
+// 6816
+o2 = {};
+// 6817
+f508011038_0.returns.push(o2);
+// 6818
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6819
+f508011038_537.returns.push(1374696769526);
+// 6820
+o2 = {};
+// 6821
+f508011038_0.returns.push(o2);
+// 6822
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6823
+f508011038_537.returns.push(1374696769526);
+// 6824
+o2 = {};
+// 6825
+f508011038_0.returns.push(o2);
+// 6826
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6827
+f508011038_537.returns.push(1374696769526);
+// 6828
+o2 = {};
+// 6829
+f508011038_0.returns.push(o2);
+// 6830
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6831
+f508011038_537.returns.push(1374696769527);
+// 6832
+o2 = {};
+// 6833
+f508011038_0.returns.push(o2);
+// 6834
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6835
+f508011038_537.returns.push(1374696769527);
+// 6836
+o2 = {};
+// 6837
+f508011038_0.returns.push(o2);
+// 6838
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6839
+f508011038_537.returns.push(1374696769531);
+// 6840
+o2 = {};
+// 6841
+f508011038_0.returns.push(o2);
+// 6842
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6843
+f508011038_537.returns.push(1374696769531);
+// 6844
+o2 = {};
+// 6845
+f508011038_0.returns.push(o2);
+// 6846
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6847
+f508011038_537.returns.push(1374696769532);
+// 6848
+o2 = {};
+// 6849
+f508011038_0.returns.push(o2);
+// 6850
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6851
+f508011038_537.returns.push(1374696769532);
+// 6852
+o2 = {};
+// 6853
+f508011038_0.returns.push(o2);
+// 6854
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6855
+f508011038_537.returns.push(1374696769532);
+// 6856
+o2 = {};
+// 6857
+f508011038_0.returns.push(o2);
+// 6858
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6859
+f508011038_537.returns.push(1374696769532);
+// 6860
+o2 = {};
+// 6861
+f508011038_0.returns.push(o2);
+// 6862
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6863
+f508011038_537.returns.push(1374696769532);
+// 6864
+o2 = {};
+// 6865
+f508011038_0.returns.push(o2);
+// 6866
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6867
+f508011038_537.returns.push(1374696769534);
+// 6868
+o2 = {};
+// 6869
+f508011038_0.returns.push(o2);
+// 6870
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6871
+f508011038_537.returns.push(1374696769534);
+// 6872
+o2 = {};
+// 6873
+f508011038_0.returns.push(o2);
+// 6874
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6875
+f508011038_537.returns.push(1374696769534);
+// 6876
+o2 = {};
+// 6877
+f508011038_0.returns.push(o2);
+// 6878
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6879
+f508011038_537.returns.push(1374696769534);
+// 6880
+o2 = {};
+// 6881
+f508011038_0.returns.push(o2);
+// 6882
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6883
+f508011038_537.returns.push(1374696769534);
+// 6884
+o2 = {};
+// 6885
+f508011038_0.returns.push(o2);
+// 6886
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6887
+f508011038_537.returns.push(1374696769534);
+// 6888
+o2 = {};
+// 6889
+f508011038_0.returns.push(o2);
+// 6890
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6891
+f508011038_537.returns.push(1374696769534);
+// 6892
+o2 = {};
+// 6893
+f508011038_0.returns.push(o2);
+// 6894
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6895
+f508011038_537.returns.push(1374696769534);
+// 6896
+o2 = {};
+// 6897
+f508011038_0.returns.push(o2);
+// 6898
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6899
+f508011038_537.returns.push(1374696769535);
+// 6900
+o2 = {};
+// 6901
+f508011038_0.returns.push(o2);
+// 6902
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6903
+f508011038_537.returns.push(1374696769535);
+// 6904
+o2 = {};
+// 6905
+f508011038_0.returns.push(o2);
+// 6906
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6907
+f508011038_537.returns.push(1374696769535);
+// 6908
+o2 = {};
+// 6909
+f508011038_0.returns.push(o2);
+// 6910
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6911
+f508011038_537.returns.push(1374696769535);
+// 6912
+o2 = {};
+// 6913
+f508011038_0.returns.push(o2);
+// 6914
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6915
+f508011038_537.returns.push(1374696769535);
+// 6916
+o2 = {};
+// 6917
+f508011038_0.returns.push(o2);
+// 6918
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6919
+f508011038_537.returns.push(1374696769535);
+// 6920
+o2 = {};
+// 6921
+f508011038_0.returns.push(o2);
+// 6922
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6923
+f508011038_537.returns.push(1374696769535);
+// 6924
+o2 = {};
+// 6925
+f508011038_0.returns.push(o2);
+// 6926
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6927
+f508011038_537.returns.push(1374696769535);
+// 6928
+o2 = {};
+// 6929
+f508011038_0.returns.push(o2);
+// 6930
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6931
+f508011038_537.returns.push(1374696769537);
+// 6932
+o2 = {};
+// 6933
+f508011038_0.returns.push(o2);
+// 6934
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6935
+f508011038_537.returns.push(1374696769537);
+// 6936
+o2 = {};
+// 6937
+f508011038_0.returns.push(o2);
+// 6938
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6939
+f508011038_537.returns.push(1374696769537);
+// 6940
+o2 = {};
+// 6941
+f508011038_0.returns.push(o2);
+// 6942
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6943
+f508011038_537.returns.push(1374696769539);
+// 6944
+o2 = {};
+// 6945
+f508011038_0.returns.push(o2);
+// 6946
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6947
+f508011038_537.returns.push(1374696769539);
+// 6948
+o2 = {};
+// 6949
+f508011038_0.returns.push(o2);
+// 6950
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6951
+f508011038_537.returns.push(1374696769539);
+// 6952
+o2 = {};
+// 6953
+f508011038_0.returns.push(o2);
+// 6954
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6955
+f508011038_537.returns.push(1374696769539);
+// 6956
+o2 = {};
+// 6957
+f508011038_0.returns.push(o2);
+// 6958
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6959
+f508011038_537.returns.push(1374696769539);
+// 6960
+o2 = {};
+// 6961
+f508011038_0.returns.push(o2);
+// 6962
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6963
+f508011038_537.returns.push(1374696769539);
+// 6964
+o2 = {};
+// 6965
+f508011038_0.returns.push(o2);
+// 6966
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6967
+f508011038_537.returns.push(1374696769539);
+// 6968
+o2 = {};
+// 6969
+f508011038_0.returns.push(o2);
+// 6970
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6971
+f508011038_537.returns.push(1374696769541);
+// 6972
+o2 = {};
+// 6973
+f508011038_0.returns.push(o2);
+// 6974
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6975
+f508011038_537.returns.push(1374696769541);
+// 6976
+o2 = {};
+// 6977
+f508011038_0.returns.push(o2);
+// 6978
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6979
+f508011038_537.returns.push(1374696769541);
+// 6980
+o2 = {};
+// 6981
+f508011038_0.returns.push(o2);
+// 6982
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6983
+f508011038_537.returns.push(1374696769541);
+// 6984
+o2 = {};
+// 6985
+f508011038_0.returns.push(o2);
+// 6986
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6987
+f508011038_537.returns.push(1374696769541);
+// 6988
+o2 = {};
+// 6989
+f508011038_0.returns.push(o2);
+// 6990
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6991
+f508011038_537.returns.push(1374696769542);
+// 6992
+o2 = {};
+// 6993
+f508011038_0.returns.push(o2);
+// 6994
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6995
+f508011038_537.returns.push(1374696769542);
+// 6996
+o2 = {};
+// 6997
+f508011038_0.returns.push(o2);
+// 6998
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 6999
+f508011038_537.returns.push(1374696769542);
+// 7000
+o2 = {};
+// 7001
+f508011038_0.returns.push(o2);
+// 7002
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7003
+f508011038_537.returns.push(1374696769542);
+// 7004
+o2 = {};
+// 7005
+f508011038_0.returns.push(o2);
+// 7006
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7007
+f508011038_537.returns.push(1374696769542);
+// 7008
+o2 = {};
+// 7009
+f508011038_0.returns.push(o2);
+// 7010
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7011
+f508011038_537.returns.push(1374696769542);
+// 7012
+o2 = {};
+// 7013
+f508011038_0.returns.push(o2);
+// 7014
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7015
+f508011038_537.returns.push(1374696769542);
+// 7016
+o2 = {};
+// 7017
+f508011038_0.returns.push(o2);
+// 7018
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7019
+f508011038_537.returns.push(1374696769543);
+// 7020
+o2 = {};
+// 7021
+f508011038_0.returns.push(o2);
+// 7022
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7023
+f508011038_537.returns.push(1374696769543);
+// 7024
+o2 = {};
+// 7025
+f508011038_0.returns.push(o2);
+// 7026
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7027
+f508011038_537.returns.push(1374696769543);
+// 7028
+o2 = {};
+// 7029
+f508011038_0.returns.push(o2);
+// 7030
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7031
+f508011038_537.returns.push(1374696769544);
+// 7032
+o2 = {};
+// 7033
+f508011038_0.returns.push(o2);
+// 7034
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7035
+f508011038_537.returns.push(1374696769544);
+// 7036
+o2 = {};
+// 7037
+f508011038_0.returns.push(o2);
+// 7038
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7039
+f508011038_537.returns.push(1374696769544);
+// 7040
+o2 = {};
+// 7041
+f508011038_0.returns.push(o2);
+// 7042
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7043
+f508011038_537.returns.push(1374696769544);
+// 7044
+o2 = {};
+// 7045
+f508011038_0.returns.push(o2);
+// 7046
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7047
+f508011038_537.returns.push(1374696769544);
+// 7048
+o2 = {};
+// 7049
+f508011038_0.returns.push(o2);
+// 7050
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7051
+f508011038_537.returns.push(1374696769548);
+// 7052
+o2 = {};
+// 7053
+f508011038_0.returns.push(o2);
+// 7054
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7055
+f508011038_537.returns.push(1374696769548);
+// 7056
+o2 = {};
+// 7057
+f508011038_0.returns.push(o2);
+// 7058
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7059
+f508011038_537.returns.push(1374696769548);
+// 7060
+o2 = {};
+// 7061
+f508011038_0.returns.push(o2);
+// 7062
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7063
+f508011038_537.returns.push(1374696769548);
+// 7064
+o2 = {};
+// 7065
+f508011038_0.returns.push(o2);
+// 7066
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7067
+f508011038_537.returns.push(1374696769548);
+// 7068
+o2 = {};
+// 7069
+f508011038_0.returns.push(o2);
+// 7070
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7071
+f508011038_537.returns.push(1374696769549);
+// 7072
+o2 = {};
+// 7073
+f508011038_0.returns.push(o2);
+// 7074
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7075
+f508011038_537.returns.push(1374696769549);
+// 7076
+o2 = {};
+// 7077
+f508011038_0.returns.push(o2);
+// 7078
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7079
+f508011038_537.returns.push(1374696769549);
+// 7080
+o2 = {};
+// 7081
+f508011038_0.returns.push(o2);
+// 7082
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7083
+f508011038_537.returns.push(1374696769549);
+// 7084
+o2 = {};
+// 7085
+f508011038_0.returns.push(o2);
+// 7086
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7087
+f508011038_537.returns.push(1374696769549);
+// 7088
+o2 = {};
+// 7089
+f508011038_0.returns.push(o2);
+// 7090
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7091
+f508011038_537.returns.push(1374696769549);
+// 7092
+o2 = {};
+// 7093
+f508011038_0.returns.push(o2);
+// 7094
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7095
+f508011038_537.returns.push(1374696769549);
+// 7096
+o2 = {};
+// 7097
+f508011038_0.returns.push(o2);
+// 7098
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7099
+f508011038_537.returns.push(1374696769549);
+// 7100
+o2 = {};
+// 7101
+f508011038_0.returns.push(o2);
+// 7102
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7103
+f508011038_537.returns.push(1374696769549);
+// 7104
+o2 = {};
+// 7105
+f508011038_0.returns.push(o2);
+// 7106
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7107
+f508011038_537.returns.push(1374696769550);
+// 7108
+o2 = {};
+// 7109
+f508011038_0.returns.push(o2);
+// 7110
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7111
+f508011038_537.returns.push(1374696769550);
+// 7112
+o2 = {};
+// 7113
+f508011038_0.returns.push(o2);
+// 7114
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7115
+f508011038_537.returns.push(1374696769550);
+// 7116
+o2 = {};
+// 7117
+f508011038_0.returns.push(o2);
+// 7118
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7119
+f508011038_537.returns.push(1374696769550);
+// 7120
+o2 = {};
+// 7121
+f508011038_0.returns.push(o2);
+// 7122
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7123
+f508011038_537.returns.push(1374696769550);
+// 7124
+o2 = {};
+// 7125
+f508011038_0.returns.push(o2);
+// 7126
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7127
+f508011038_537.returns.push(1374696769550);
+// 7128
+o2 = {};
+// 7129
+f508011038_0.returns.push(o2);
+// 7130
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7131
+f508011038_537.returns.push(1374696769550);
+// 7132
+o2 = {};
+// 7133
+f508011038_0.returns.push(o2);
+// 7134
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7135
+f508011038_537.returns.push(1374696769550);
+// 7136
+o2 = {};
+// 7137
+f508011038_0.returns.push(o2);
+// 7138
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7139
+f508011038_537.returns.push(1374696769550);
+// 7140
+o2 = {};
+// 7141
+f508011038_0.returns.push(o2);
+// 7142
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7143
+f508011038_537.returns.push(1374696769550);
+// 7144
+o2 = {};
+// 7145
+f508011038_0.returns.push(o2);
+// 7146
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7147
+f508011038_537.returns.push(1374696769551);
+// 7148
+o2 = {};
+// 7149
+f508011038_0.returns.push(o2);
+// 7150
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7151
+f508011038_537.returns.push(1374696769551);
+// 7152
+o2 = {};
+// 7153
+f508011038_0.returns.push(o2);
+// 7154
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7155
+f508011038_537.returns.push(1374696769553);
+// 7156
+o2 = {};
+// 7157
+f508011038_0.returns.push(o2);
+// 7158
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7159
+f508011038_537.returns.push(1374696769554);
+// 7160
+o2 = {};
+// 7161
+f508011038_0.returns.push(o2);
+// 7162
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7163
+f508011038_537.returns.push(1374696769554);
+// 7164
+o2 = {};
+// 7165
+f508011038_0.returns.push(o2);
+// 7166
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7167
+f508011038_537.returns.push(1374696769554);
+// 7168
+o2 = {};
+// 7169
+f508011038_0.returns.push(o2);
+// 7170
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7171
+f508011038_537.returns.push(1374696769554);
+// 7172
+o2 = {};
+// 7173
+f508011038_0.returns.push(o2);
+// 7174
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7175
+f508011038_537.returns.push(1374696769557);
+// 7176
+o2 = {};
+// 7177
+f508011038_0.returns.push(o2);
+// 7178
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7179
+f508011038_537.returns.push(1374696769557);
+// 7180
+o2 = {};
+// 7181
+f508011038_0.returns.push(o2);
+// 7182
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7183
+f508011038_537.returns.push(1374696769563);
+// 7184
+o2 = {};
+// 7185
+f508011038_0.returns.push(o2);
+// 7186
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7187
+f508011038_537.returns.push(1374696769563);
+// 7188
+o2 = {};
+// 7189
+f508011038_0.returns.push(o2);
+// 7190
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7191
+f508011038_537.returns.push(1374696769563);
+// 7192
+o2 = {};
+// 7193
+f508011038_0.returns.push(o2);
+// 7194
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7195
+f508011038_537.returns.push(1374696769563);
+// 7196
+o2 = {};
+// 7197
+f508011038_0.returns.push(o2);
+// 7198
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7199
+f508011038_537.returns.push(1374696769563);
+// 7201
+f508011038_518.returns.push(null);
+// 7202
+o2 = {};
+// 7203
+f508011038_0.returns.push(o2);
+// 7204
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7205
+f508011038_537.returns.push(1374696769564);
+// 7206
+o2 = {};
+// 7207
+f508011038_0.returns.push(o2);
+// 7208
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7209
+f508011038_537.returns.push(1374696769564);
+// 7210
+o2 = {};
+// 7211
+f508011038_0.returns.push(o2);
+// 7212
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7213
+f508011038_537.returns.push(1374696769564);
+// 7214
+o2 = {};
+// 7215
+f508011038_0.returns.push(o2);
+// 7216
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7217
+f508011038_537.returns.push(1374696769564);
+// 7218
+o2 = {};
+// 7219
+f508011038_0.returns.push(o2);
+// 7220
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7221
+f508011038_537.returns.push(1374696769564);
+// 7222
+o2 = {};
+// 7223
+f508011038_0.returns.push(o2);
+// 7224
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7225
+f508011038_537.returns.push(1374696769564);
+// 7226
+o2 = {};
+// 7227
+f508011038_0.returns.push(o2);
+// 7228
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7229
+f508011038_537.returns.push(1374696769564);
+// 7230
+o2 = {};
+// 7231
+f508011038_0.returns.push(o2);
+// 7232
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7233
+f508011038_537.returns.push(1374696769564);
+// 7234
+o2 = {};
+// 7235
+f508011038_0.returns.push(o2);
+// 7236
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7237
+f508011038_537.returns.push(1374696769565);
+// 7238
+o2 = {};
+// 7239
+f508011038_0.returns.push(o2);
+// 7240
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7241
+f508011038_537.returns.push(1374696769565);
+// 7242
+o2 = {};
+// 7243
+f508011038_0.returns.push(o2);
+// 7244
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7245
+f508011038_537.returns.push(1374696769566);
+// 7246
+o2 = {};
+// 7247
+f508011038_0.returns.push(o2);
+// 7248
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7249
+f508011038_537.returns.push(1374696769566);
+// 7250
+o2 = {};
+// 7251
+f508011038_0.returns.push(o2);
+// 7252
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7253
+f508011038_537.returns.push(1374696769566);
+// 7254
+o2 = {};
+// 7255
+f508011038_0.returns.push(o2);
+// 7256
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7257
+f508011038_537.returns.push(1374696769566);
+// 7258
+o2 = {};
+// 7259
+f508011038_0.returns.push(o2);
+// 7260
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7261
+f508011038_537.returns.push(1374696769569);
+// 7262
+o2 = {};
+// 7263
+f508011038_0.returns.push(o2);
+// 7264
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7265
+f508011038_537.returns.push(1374696769570);
+// 7266
+o2 = {};
+// 7267
+f508011038_0.returns.push(o2);
+// 7268
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7269
+f508011038_537.returns.push(1374696769570);
+// 7270
+o2 = {};
+// 7271
+f508011038_0.returns.push(o2);
+// 7272
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7273
+f508011038_537.returns.push(1374696769570);
+// 7274
+o2 = {};
+// 7275
+f508011038_0.returns.push(o2);
+// 7276
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7277
+f508011038_537.returns.push(1374696769570);
+// 7278
+o2 = {};
+// 7279
+f508011038_0.returns.push(o2);
+// 7280
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7281
+f508011038_537.returns.push(1374696769571);
+// 7282
+o2 = {};
+// 7283
+f508011038_0.returns.push(o2);
+// 7284
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7285
+f508011038_537.returns.push(1374696769571);
+// 7286
+o2 = {};
+// 7287
+f508011038_0.returns.push(o2);
+// 7288
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7289
+f508011038_537.returns.push(1374696769571);
+// 7290
+o2 = {};
+// 7291
+f508011038_0.returns.push(o2);
+// 7292
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7293
+f508011038_537.returns.push(1374696769571);
+// 7294
+o2 = {};
+// 7295
+f508011038_0.returns.push(o2);
+// 7296
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7297
+f508011038_537.returns.push(1374696769571);
+// 7298
+o2 = {};
+// 7299
+f508011038_0.returns.push(o2);
+// 7300
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7301
+f508011038_537.returns.push(1374696769571);
+// 7302
+o2 = {};
+// 7303
+f508011038_0.returns.push(o2);
+// 7304
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7305
+f508011038_537.returns.push(1374696769572);
+// 7306
+o2 = {};
+// 7307
+f508011038_0.returns.push(o2);
+// 7308
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7309
+f508011038_537.returns.push(1374696769572);
+// 7310
+o2 = {};
+// 7311
+f508011038_0.returns.push(o2);
+// 7312
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7313
+f508011038_537.returns.push(1374696769572);
+// 7314
+o2 = {};
+// 7315
+f508011038_0.returns.push(o2);
+// 7316
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7317
+f508011038_537.returns.push(1374696769572);
+// 7318
+o2 = {};
+// 7319
+f508011038_0.returns.push(o2);
+// 7320
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7321
+f508011038_537.returns.push(1374696769572);
+// 7322
+o2 = {};
+// 7323
+f508011038_0.returns.push(o2);
+// 7324
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7325
+f508011038_537.returns.push(1374696769572);
+// 7326
+o2 = {};
+// 7327
+f508011038_0.returns.push(o2);
+// 7328
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7329
+f508011038_537.returns.push(1374696769572);
+// 7330
+o2 = {};
+// 7331
+f508011038_0.returns.push(o2);
+// 7332
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7333
+f508011038_537.returns.push(1374696769572);
+// 7334
+o2 = {};
+// 7335
+f508011038_0.returns.push(o2);
+// 7336
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7337
+f508011038_537.returns.push(1374696769572);
+// 7338
+o2 = {};
+// 7339
+f508011038_0.returns.push(o2);
+// 7340
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7341
+f508011038_537.returns.push(1374696769572);
+// 7342
+o2 = {};
+// 7343
+f508011038_0.returns.push(o2);
+// 7344
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7345
+f508011038_537.returns.push(1374696769573);
+// 7346
+o2 = {};
+// 7347
+f508011038_0.returns.push(o2);
+// 7348
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7349
+f508011038_537.returns.push(1374696769573);
+// 7350
+o2 = {};
+// 7351
+f508011038_0.returns.push(o2);
+// 7352
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7353
+f508011038_537.returns.push(1374696769573);
+// 7354
+o2 = {};
+// 7355
+f508011038_0.returns.push(o2);
+// 7356
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7357
+f508011038_537.returns.push(1374696769573);
+// 7358
+o2 = {};
+// 7359
+f508011038_0.returns.push(o2);
+// 7360
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7361
+f508011038_537.returns.push(1374696769573);
+// 7362
+o2 = {};
+// 7363
+f508011038_0.returns.push(o2);
+// 7364
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7365
+f508011038_537.returns.push(1374696769573);
+// 7366
+o2 = {};
+// 7367
+f508011038_0.returns.push(o2);
+// 7368
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7369
+f508011038_537.returns.push(1374696769576);
+// 7370
+o2 = {};
+// 7371
+f508011038_0.returns.push(o2);
+// 7372
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7373
+f508011038_537.returns.push(1374696769576);
+// 7374
+o2 = {};
+// 7375
+f508011038_0.returns.push(o2);
+// 7376
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7377
+f508011038_537.returns.push(1374696769576);
+// 7378
+o2 = {};
+// 7379
+f508011038_0.returns.push(o2);
+// 7380
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7381
+f508011038_537.returns.push(1374696769577);
+// 7382
+o2 = {};
+// 7383
+f508011038_0.returns.push(o2);
+// 7384
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7385
+f508011038_537.returns.push(1374696769577);
+// 7386
+o2 = {};
+// 7387
+f508011038_0.returns.push(o2);
+// 7388
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7389
+f508011038_537.returns.push(1374696769577);
+// 7390
+o2 = {};
+// 7391
+f508011038_0.returns.push(o2);
+// 7392
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7393
+f508011038_537.returns.push(1374696769577);
+// 7394
+o2 = {};
+// 7395
+f508011038_0.returns.push(o2);
+// 7396
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7397
+f508011038_537.returns.push(1374696769577);
+// 7398
+o2 = {};
+// 7399
+f508011038_0.returns.push(o2);
+// 7400
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7401
+f508011038_537.returns.push(1374696769577);
+// 7402
+o2 = {};
+// 7403
+f508011038_0.returns.push(o2);
+// 7404
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7405
+f508011038_537.returns.push(1374696769577);
+// 7406
+o2 = {};
+// 7407
+f508011038_0.returns.push(o2);
+// 7408
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7409
+f508011038_537.returns.push(1374696769577);
+// 7410
+o2 = {};
+// 7411
+f508011038_0.returns.push(o2);
+// 7412
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7413
+f508011038_537.returns.push(1374696769581);
+// 7414
+o2 = {};
+// 7415
+f508011038_0.returns.push(o2);
+// 7416
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7417
+f508011038_537.returns.push(1374696769581);
+// 7418
+o2 = {};
+// 7419
+f508011038_0.returns.push(o2);
+// 7420
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7421
+f508011038_537.returns.push(1374696769582);
+// 7422
+o2 = {};
+// 7423
+f508011038_0.returns.push(o2);
+// 7424
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7425
+f508011038_537.returns.push(1374696769582);
+// 7426
+o2 = {};
+// 7427
+f508011038_0.returns.push(o2);
+// 7428
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7429
+f508011038_537.returns.push(1374696769583);
+// 7430
+o2 = {};
+// 7431
+f508011038_0.returns.push(o2);
+// 7432
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7433
+f508011038_537.returns.push(1374696769583);
+// 7434
+o2 = {};
+// 7435
+f508011038_0.returns.push(o2);
+// 7436
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7437
+f508011038_537.returns.push(1374696769583);
+// 7438
+o2 = {};
+// 7439
+f508011038_0.returns.push(o2);
+// 7440
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7441
+f508011038_537.returns.push(1374696769583);
+// 7442
+o2 = {};
+// 7443
+f508011038_0.returns.push(o2);
+// 7444
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7445
+f508011038_537.returns.push(1374696769583);
+// 7446
+o2 = {};
+// 7447
+f508011038_0.returns.push(o2);
+// 7448
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7449
+f508011038_537.returns.push(1374696769583);
+// 7450
+o2 = {};
+// 7451
+f508011038_0.returns.push(o2);
+// 7452
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7453
+f508011038_537.returns.push(1374696769584);
+// 7454
+o2 = {};
+// 7455
+f508011038_0.returns.push(o2);
+// 7456
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7457
+f508011038_537.returns.push(1374696769584);
+// 7458
+o2 = {};
+// 7459
+f508011038_0.returns.push(o2);
+// 7460
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7461
+f508011038_537.returns.push(1374696769584);
+// 7462
+o2 = {};
+// 7463
+f508011038_0.returns.push(o2);
+// 7464
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7465
+f508011038_537.returns.push(1374696769584);
+// 7466
+o2 = {};
+// 7467
+f508011038_0.returns.push(o2);
+// 7468
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7469
+f508011038_537.returns.push(1374696769584);
+// 7470
+o2 = {};
+// 7471
+f508011038_0.returns.push(o2);
+// 7472
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7473
+f508011038_537.returns.push(1374696769588);
+// 7474
+o2 = {};
+// 7475
+f508011038_0.returns.push(o2);
+// 7476
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7477
+f508011038_537.returns.push(1374696769590);
+// 7478
+o2 = {};
+// 7479
+f508011038_0.returns.push(o2);
+// 7480
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7481
+f508011038_537.returns.push(1374696769590);
+// 7482
+o2 = {};
+// 7483
+f508011038_0.returns.push(o2);
+// 7484
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7485
+f508011038_537.returns.push(1374696769590);
+// 7486
+o2 = {};
+// 7487
+f508011038_0.returns.push(o2);
+// 7488
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7489
+f508011038_537.returns.push(1374696769590);
+// 7490
+o2 = {};
+// 7491
+f508011038_0.returns.push(o2);
+// 7492
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7493
+f508011038_537.returns.push(1374696769590);
+// 7494
+o2 = {};
+// 7495
+f508011038_0.returns.push(o2);
+// 7496
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7497
+f508011038_537.returns.push(1374696769590);
+// 7498
+o2 = {};
+// 7499
+f508011038_0.returns.push(o2);
+// 7500
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7501
+f508011038_537.returns.push(1374696769590);
+// 7502
+o2 = {};
+// 7503
+f508011038_0.returns.push(o2);
+// 7504
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7505
+f508011038_537.returns.push(1374696769591);
+// 7506
+o2 = {};
+// 7507
+f508011038_0.returns.push(o2);
+// 7508
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7509
+f508011038_537.returns.push(1374696769591);
+// 7510
+o2 = {};
+// 7511
+f508011038_0.returns.push(o2);
+// 7512
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7513
+f508011038_537.returns.push(1374696769591);
+// 7515
+o2 = {};
+// 7516
+f508011038_518.returns.push(o2);
+// 7517
+o2.parentNode = o10;
+// 7518
+o2.id = "profile_popup";
+// undefined
+o2 = null;
+// 7519
+o2 = {};
+// 7520
+f508011038_0.returns.push(o2);
+// 7521
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7522
+f508011038_537.returns.push(1374696769592);
+// 7523
+o2 = {};
+// 7524
+f508011038_0.returns.push(o2);
+// 7525
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7526
+f508011038_537.returns.push(1374696769592);
+// 7527
+o2 = {};
+// 7528
+f508011038_0.returns.push(o2);
+// 7529
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7530
+f508011038_537.returns.push(1374696769592);
+// 7531
+o2 = {};
+// 7532
+f508011038_0.returns.push(o2);
+// 7533
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7534
+f508011038_537.returns.push(1374696769593);
+// 7535
+o2 = {};
+// 7536
+f508011038_0.returns.push(o2);
+// 7537
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7538
+f508011038_537.returns.push(1374696769593);
+// 7539
+o2 = {};
+// 7540
+f508011038_0.returns.push(o2);
+// 7541
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7542
+f508011038_537.returns.push(1374696769593);
+// 7543
+o2 = {};
+// 7544
+f508011038_0.returns.push(o2);
+// 7545
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7546
+f508011038_537.returns.push(1374696769593);
+// 7547
+o2 = {};
+// 7548
+f508011038_0.returns.push(o2);
+// 7549
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7550
+f508011038_537.returns.push(1374696769593);
+// 7551
+o2 = {};
+// 7552
+f508011038_0.returns.push(o2);
+// 7553
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7554
+f508011038_537.returns.push(1374696769593);
+// 7555
+o2 = {};
+// 7556
+f508011038_0.returns.push(o2);
+// 7557
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7558
+f508011038_537.returns.push(1374696769593);
+// 7559
+o2 = {};
+// 7560
+f508011038_0.returns.push(o2);
+// 7561
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7562
+f508011038_537.returns.push(1374696769593);
+// 7563
+o2 = {};
+// 7564
+f508011038_0.returns.push(o2);
+// 7565
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7566
+f508011038_537.returns.push(1374696769594);
+// 7567
+o2 = {};
+// 7568
+f508011038_0.returns.push(o2);
+// 7569
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7570
+f508011038_537.returns.push(1374696769594);
+// 7571
+o2 = {};
+// 7572
+f508011038_0.returns.push(o2);
+// 7573
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7574
+f508011038_537.returns.push(1374696769594);
+// 7575
+o2 = {};
+// 7576
+f508011038_0.returns.push(o2);
+// 7577
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7578
+f508011038_537.returns.push(1374696769594);
+// 7579
+o2 = {};
+// 7580
+f508011038_0.returns.push(o2);
+// 7581
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7582
+f508011038_537.returns.push(1374696769597);
+// 7583
+o2 = {};
+// 7584
+f508011038_0.returns.push(o2);
+// 7585
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7586
+f508011038_537.returns.push(1374696769597);
+// 7587
+o2 = {};
+// 7588
+f508011038_0.returns.push(o2);
+// 7589
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7590
+f508011038_537.returns.push(1374696769597);
+// 7591
+o2 = {};
+// 7592
+f508011038_0.returns.push(o2);
+// 7593
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7594
+f508011038_537.returns.push(1374696769597);
+// 7595
+o2 = {};
+// 7596
+f508011038_0.returns.push(o2);
+// 7597
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7598
+f508011038_537.returns.push(1374696769597);
+// 7599
+o2 = {};
+// 7600
+f508011038_0.returns.push(o2);
+// 7601
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7602
+f508011038_537.returns.push(1374696769597);
+// 7603
+o2 = {};
+// 7604
+f508011038_0.returns.push(o2);
+// 7605
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7606
+f508011038_537.returns.push(1374696769597);
+// 7607
+o2 = {};
+// 7608
+f508011038_0.returns.push(o2);
+// 7609
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7610
+f508011038_537.returns.push(1374696769597);
+// 7611
+o2 = {};
+// 7612
+f508011038_0.returns.push(o2);
+// 7613
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7614
+f508011038_537.returns.push(1374696769597);
+// 7615
+o2 = {};
+// 7616
+f508011038_0.returns.push(o2);
+// 7617
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7618
+f508011038_537.returns.push(1374696769597);
+// 7619
+o2 = {};
+// 7620
+f508011038_0.returns.push(o2);
+// 7621
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7622
+f508011038_537.returns.push(1374696769598);
+// 7623
+o2 = {};
+// 7624
+f508011038_0.returns.push(o2);
+// 7625
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7626
+f508011038_537.returns.push(1374696769598);
+// 7627
+o2 = {};
+// 7628
+f508011038_0.returns.push(o2);
+// 7629
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7630
+f508011038_537.returns.push(1374696769598);
+// 7631
+o2 = {};
+// 7632
+f508011038_0.returns.push(o2);
+// 7633
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7634
+f508011038_537.returns.push(1374696769598);
+// 7635
+o2 = {};
+// 7636
+f508011038_0.returns.push(o2);
+// 7637
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7638
+f508011038_537.returns.push(1374696769598);
+// 7639
+o2 = {};
+// 7640
+f508011038_0.returns.push(o2);
+// 7641
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7642
+f508011038_537.returns.push(1374696769598);
+// 7643
+o2 = {};
+// 7644
+f508011038_0.returns.push(o2);
+// 7645
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7646
+f508011038_537.returns.push(1374696769598);
+// 7647
+o2 = {};
+// 7648
+f508011038_0.returns.push(o2);
+// 7649
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7650
+f508011038_537.returns.push(1374696769598);
+// 7651
+o2 = {};
+// 7652
+f508011038_0.returns.push(o2);
+// 7653
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7654
+f508011038_537.returns.push(1374696769598);
+// 7655
+o2 = {};
+// 7656
+f508011038_0.returns.push(o2);
+// 7657
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7658
+f508011038_537.returns.push(1374696769598);
+// 7659
+o2 = {};
+// 7660
+f508011038_0.returns.push(o2);
+// 7661
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7662
+f508011038_537.returns.push(1374696769598);
+// 7663
+o2 = {};
+// 7664
+f508011038_0.returns.push(o2);
+// 7665
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7666
+f508011038_537.returns.push(1374696769599);
+// 7667
+o2 = {};
+// 7668
+f508011038_0.returns.push(o2);
+// 7669
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7670
+f508011038_537.returns.push(1374696769599);
+// 7671
+o2 = {};
+// 7672
+f508011038_0.returns.push(o2);
+// 7673
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7674
+f508011038_537.returns.push(1374696769599);
+// 7675
+o2 = {};
+// 7676
+f508011038_0.returns.push(o2);
+// 7677
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7678
+f508011038_537.returns.push(1374696769599);
+// 7679
+o2 = {};
+// 7680
+f508011038_0.returns.push(o2);
+// 7681
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7682
+f508011038_537.returns.push(1374696769599);
+// 7683
+o2 = {};
+// 7684
+f508011038_0.returns.push(o2);
+// 7685
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7686
+f508011038_537.returns.push(1374696769602);
+// 7687
+o2 = {};
+// 7688
+f508011038_0.returns.push(o2);
+// 7689
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7690
+f508011038_537.returns.push(1374696769602);
+// 7691
+o2 = {};
+// 7692
+f508011038_0.returns.push(o2);
+// 7693
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7694
+f508011038_537.returns.push(1374696769602);
+// 7695
+o2 = {};
+// 7696
+f508011038_0.returns.push(o2);
+// 7697
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7698
+f508011038_537.returns.push(1374696769602);
+// 7699
+o2 = {};
+// 7700
+f508011038_0.returns.push(o2);
+// 7701
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7702
+f508011038_537.returns.push(1374696769602);
+// 7703
+o2 = {};
+// 7704
+f508011038_0.returns.push(o2);
+// 7705
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7706
+f508011038_537.returns.push(1374696769602);
+// 7707
+o2 = {};
+// 7708
+f508011038_0.returns.push(o2);
+// 7709
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7710
+f508011038_537.returns.push(1374696769602);
+// 7711
+o2 = {};
+// 7712
+f508011038_0.returns.push(o2);
+// 7713
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7714
+f508011038_537.returns.push(1374696769602);
+// 7715
+o2 = {};
+// 7716
+f508011038_0.returns.push(o2);
+// 7717
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7718
+f508011038_537.returns.push(1374696769602);
+// 7719
+o2 = {};
+// 7720
+f508011038_0.returns.push(o2);
+// 7721
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7722
+f508011038_537.returns.push(1374696769603);
+// 7723
+o2 = {};
+// 7724
+f508011038_0.returns.push(o2);
+// 7725
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7726
+f508011038_537.returns.push(1374696769603);
+// 7727
+o2 = {};
+// 7728
+f508011038_0.returns.push(o2);
+// 7729
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7730
+f508011038_537.returns.push(1374696769603);
+// 7731
+o2 = {};
+// 7732
+f508011038_0.returns.push(o2);
+// 7733
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7734
+f508011038_537.returns.push(1374696769603);
+// 7735
+o2 = {};
+// 7736
+f508011038_0.returns.push(o2);
+// 7737
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7738
+f508011038_537.returns.push(1374696769603);
+// 7739
+o2 = {};
+// 7740
+f508011038_0.returns.push(o2);
+// 7741
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7742
+f508011038_537.returns.push(1374696769603);
+// 7743
+o2 = {};
+// 7744
+f508011038_0.returns.push(o2);
+// 7745
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7746
+f508011038_537.returns.push(1374696769603);
+// 7747
+o2 = {};
+// 7748
+f508011038_0.returns.push(o2);
+// 7749
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7750
+f508011038_537.returns.push(1374696769603);
+// 7751
+o2 = {};
+// 7752
+f508011038_0.returns.push(o2);
+// 7753
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7754
+f508011038_537.returns.push(1374696769603);
+// 7755
+o2 = {};
+// 7756
+f508011038_0.returns.push(o2);
+// 7757
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7758
+f508011038_537.returns.push(1374696769604);
+// 7759
+o2 = {};
+// 7760
+f508011038_0.returns.push(o2);
+// 7761
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7762
+f508011038_537.returns.push(1374696769604);
+// 7763
+o2 = {};
+// 7764
+f508011038_0.returns.push(o2);
+// 7765
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7766
+f508011038_537.returns.push(1374696769604);
+// 7767
+o2 = {};
+// 7768
+f508011038_0.returns.push(o2);
+// 7769
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7770
+f508011038_537.returns.push(1374696769604);
+// 7771
+o2 = {};
+// 7772
+f508011038_0.returns.push(o2);
+// 7773
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7774
+f508011038_537.returns.push(1374696769604);
+// 7775
+o2 = {};
+// 7776
+f508011038_0.returns.push(o2);
+// 7777
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7778
+f508011038_537.returns.push(1374696769604);
+// 7779
+o2 = {};
+// 7780
+f508011038_0.returns.push(o2);
+// 7781
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7782
+f508011038_537.returns.push(1374696769604);
+// 7783
+o2 = {};
+// 7784
+f508011038_0.returns.push(o2);
+// 7785
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7786
+f508011038_537.returns.push(1374696769604);
+// 7787
+o2 = {};
+// 7788
+f508011038_0.returns.push(o2);
+// 7789
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7790
+f508011038_537.returns.push(1374696769604);
+// 7791
+o2 = {};
+// 7792
+f508011038_0.returns.push(o2);
+// 7793
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7794
+f508011038_537.returns.push(1374696769607);
+// 7795
+o2 = {};
+// 7796
+f508011038_0.returns.push(o2);
+// 7797
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7798
+f508011038_537.returns.push(1374696769607);
+// 7799
+o2 = {};
+// 7800
+f508011038_0.returns.push(o2);
+// 7801
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7802
+f508011038_537.returns.push(1374696769607);
+// 7803
+o2 = {};
+// 7804
+f508011038_0.returns.push(o2);
+// 7805
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7806
+f508011038_537.returns.push(1374696769607);
+// 7807
+o2 = {};
+// 7808
+f508011038_0.returns.push(o2);
+// 7809
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7810
+f508011038_537.returns.push(1374696769612);
+// 7811
+o2 = {};
+// 7812
+f508011038_0.returns.push(o2);
+// 7813
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7814
+f508011038_537.returns.push(1374696769612);
+// 7815
+o2 = {};
+// 7816
+f508011038_0.returns.push(o2);
+// 7817
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7818
+f508011038_537.returns.push(1374696769613);
+// 7819
+o2 = {};
+// 7820
+f508011038_0.returns.push(o2);
+// 7821
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7822
+f508011038_537.returns.push(1374696769613);
+// 7823
+o2 = {};
+// 7824
+f508011038_0.returns.push(o2);
+// 7825
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7826
+f508011038_537.returns.push(1374696769613);
+// 7827
+o2 = {};
+// 7828
+f508011038_0.returns.push(o2);
+// 7829
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7830
+f508011038_537.returns.push(1374696769613);
+// 7831
+o2 = {};
+// 7832
+f508011038_0.returns.push(o2);
+// 7833
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7834
+f508011038_537.returns.push(1374696769613);
+// 7835
+o2 = {};
+// 7836
+f508011038_0.returns.push(o2);
+// 7837
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7838
+f508011038_537.returns.push(1374696769613);
+// 7839
+o2 = {};
+// 7840
+f508011038_0.returns.push(o2);
+// 7841
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7842
+f508011038_537.returns.push(1374696769613);
+// 7843
+o2 = {};
+// 7844
+f508011038_0.returns.push(o2);
+// 7845
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7846
+f508011038_537.returns.push(1374696769614);
+// 7847
+o2 = {};
+// 7848
+f508011038_0.returns.push(o2);
+// 7849
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7850
+f508011038_537.returns.push(1374696769614);
+// 7851
+o2 = {};
+// 7852
+f508011038_0.returns.push(o2);
+// 7853
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7854
+f508011038_537.returns.push(1374696769614);
+// 7855
+o2 = {};
+// 7856
+f508011038_0.returns.push(o2);
+// 7857
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7858
+f508011038_537.returns.push(1374696769615);
+// 7859
+o2 = {};
+// 7860
+f508011038_0.returns.push(o2);
+// 7861
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7862
+f508011038_537.returns.push(1374696769615);
+// 7863
+o2 = {};
+// 7864
+f508011038_0.returns.push(o2);
+// 7865
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7866
+f508011038_537.returns.push(1374696769615);
+// 7867
+o2 = {};
+// 7868
+f508011038_0.returns.push(o2);
+// 7869
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7870
+f508011038_537.returns.push(1374696769615);
+// 7871
+o2 = {};
+// 7872
+f508011038_0.returns.push(o2);
+// 7873
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7874
+f508011038_537.returns.push(1374696769615);
+// 7875
+o2 = {};
+// 7876
+f508011038_0.returns.push(o2);
+// 7877
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7878
+f508011038_537.returns.push(1374696769615);
+// 7879
+o2 = {};
+// 7880
+f508011038_0.returns.push(o2);
+// 7881
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7882
+f508011038_537.returns.push(1374696769615);
+// 7883
+o2 = {};
+// 7884
+f508011038_0.returns.push(o2);
+// 7885
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7886
+f508011038_537.returns.push(1374696769616);
+// 7887
+o2 = {};
+// 7888
+f508011038_0.returns.push(o2);
+// 7889
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7890
+f508011038_537.returns.push(1374696769616);
+// 7891
+o2 = {};
+// 7892
+f508011038_0.returns.push(o2);
+// 7893
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7894
+f508011038_537.returns.push(1374696769616);
+// 7895
+o2 = {};
+// 7896
+f508011038_0.returns.push(o2);
+// 7897
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7898
+f508011038_537.returns.push(1374696769621);
+// 7899
+o2 = {};
+// 7900
+f508011038_0.returns.push(o2);
+// 7901
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7902
+f508011038_537.returns.push(1374696769621);
+// 7903
+o2 = {};
+// 7904
+f508011038_0.returns.push(o2);
+// 7905
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7906
+f508011038_537.returns.push(1374696769621);
+// 7907
+o2 = {};
+// 7908
+f508011038_0.returns.push(o2);
+// 7909
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7910
+f508011038_537.returns.push(1374696769621);
+// 7911
+o2 = {};
+// 7912
+f508011038_0.returns.push(o2);
+// 7913
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7914
+f508011038_537.returns.push(1374696769622);
+// 7915
+o2 = {};
+// 7916
+f508011038_0.returns.push(o2);
+// 7917
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7918
+f508011038_537.returns.push(1374696769622);
+// 7919
+o2 = {};
+// 7920
+f508011038_0.returns.push(o2);
+// 7921
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7922
+f508011038_537.returns.push(1374696769622);
+// 7923
+o2 = {};
+// 7924
+f508011038_0.returns.push(o2);
+// 7925
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7926
+f508011038_537.returns.push(1374696769622);
+// 7927
+o2 = {};
+// 7928
+f508011038_0.returns.push(o2);
+// 7929
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7930
+f508011038_537.returns.push(1374696769622);
+// 7931
+o2 = {};
+// 7932
+f508011038_0.returns.push(o2);
+// 7933
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7934
+f508011038_537.returns.push(1374696769622);
+// 7935
+o2 = {};
+// 7936
+f508011038_0.returns.push(o2);
+// 7937
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7938
+f508011038_537.returns.push(1374696769623);
+// 7939
+o2 = {};
+// 7940
+f508011038_0.returns.push(o2);
+// 7941
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7942
+f508011038_537.returns.push(1374696769623);
+// 7943
+o2 = {};
+// 7944
+f508011038_0.returns.push(o2);
+// 7945
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7946
+f508011038_537.returns.push(1374696769623);
+// 7947
+o2 = {};
+// 7948
+f508011038_0.returns.push(o2);
+// 7949
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7950
+f508011038_537.returns.push(1374696769623);
+// 7951
+o2 = {};
+// 7952
+f508011038_0.returns.push(o2);
+// 7953
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7954
+f508011038_537.returns.push(1374696769623);
+// 7955
+o2 = {};
+// 7956
+f508011038_0.returns.push(o2);
+// 7957
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7958
+f508011038_537.returns.push(1374696769624);
+// 7959
+o2 = {};
+// 7960
+f508011038_0.returns.push(o2);
+// 7961
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7962
+f508011038_537.returns.push(1374696769624);
+// 7963
+o2 = {};
+// 7964
+f508011038_0.returns.push(o2);
+// 7965
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7966
+f508011038_537.returns.push(1374696769624);
+// 7967
+o2 = {};
+// 7968
+f508011038_0.returns.push(o2);
+// 7969
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7970
+f508011038_537.returns.push(1374696769624);
+// 7971
+o2 = {};
+// 7972
+f508011038_0.returns.push(o2);
+// 7973
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7974
+f508011038_537.returns.push(1374696769624);
+// 7975
+o2 = {};
+// 7976
+f508011038_0.returns.push(o2);
+// 7977
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7978
+f508011038_537.returns.push(1374696769624);
+// 7979
+o2 = {};
+// 7980
+f508011038_0.returns.push(o2);
+// 7981
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7982
+f508011038_537.returns.push(1374696769625);
+// 7983
+o2 = {};
+// 7984
+f508011038_0.returns.push(o2);
+// 7985
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7986
+f508011038_537.returns.push(1374696769625);
+// 7987
+o2 = {};
+// 7988
+f508011038_0.returns.push(o2);
+// 7989
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7990
+f508011038_537.returns.push(1374696769625);
+// 7991
+o2 = {};
+// 7992
+f508011038_0.returns.push(o2);
+// 7993
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7994
+f508011038_537.returns.push(1374696769625);
+// 7995
+o2 = {};
+// 7996
+f508011038_0.returns.push(o2);
+// 7997
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 7998
+f508011038_537.returns.push(1374696769625);
+// 7999
+o2 = {};
+// 8000
+f508011038_0.returns.push(o2);
+// 8001
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8002
+f508011038_537.returns.push(1374696769625);
+// 8003
+o2 = {};
+// 8004
+f508011038_0.returns.push(o2);
+// 8005
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8006
+f508011038_537.returns.push(1374696769631);
+// 8007
+o2 = {};
+// 8008
+f508011038_0.returns.push(o2);
+// 8009
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8010
+f508011038_537.returns.push(1374696769631);
+// 8011
+o2 = {};
+// 8012
+f508011038_0.returns.push(o2);
+// 8013
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8014
+f508011038_537.returns.push(1374696769631);
+// 8015
+o2 = {};
+// 8016
+f508011038_0.returns.push(o2);
+// 8017
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8018
+f508011038_537.returns.push(1374696769631);
+// 8019
+o2 = {};
+// 8020
+f508011038_0.returns.push(o2);
+// 8021
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8022
+f508011038_537.returns.push(1374696769631);
+// 8023
+o2 = {};
+// 8024
+f508011038_0.returns.push(o2);
+// 8025
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8026
+f508011038_537.returns.push(1374696769632);
+// 8027
+o2 = {};
+// 8028
+f508011038_0.returns.push(o2);
+// 8029
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8030
+f508011038_537.returns.push(1374696769632);
+// 8031
+o2 = {};
+// 8032
+f508011038_0.returns.push(o2);
+// 8033
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8034
+f508011038_537.returns.push(1374696769632);
+// 8035
+o2 = {};
+// 8036
+f508011038_0.returns.push(o2);
+// 8037
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8038
+f508011038_537.returns.push(1374696769632);
+// 8039
+o2 = {};
+// 8040
+f508011038_0.returns.push(o2);
+// 8041
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8042
+f508011038_537.returns.push(1374696769632);
+// 8043
+o2 = {};
+// 8044
+f508011038_0.returns.push(o2);
+// 8045
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8046
+f508011038_537.returns.push(1374696769632);
+// 8047
+o2 = {};
+// 8048
+f508011038_0.returns.push(o2);
+// 8049
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8050
+f508011038_537.returns.push(1374696769632);
+// 8051
+o2 = {};
+// 8052
+f508011038_0.returns.push(o2);
+// 8053
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8054
+f508011038_537.returns.push(1374696769635);
+// 8055
+o2 = {};
+// 8056
+f508011038_0.returns.push(o2);
+// 8057
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8058
+f508011038_537.returns.push(1374696769635);
+// 8059
+o2 = {};
+// 8060
+f508011038_0.returns.push(o2);
+// 8061
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8062
+f508011038_537.returns.push(1374696769636);
+// 8063
+o2 = {};
+// 8064
+f508011038_0.returns.push(o2);
+// 8065
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8066
+f508011038_537.returns.push(1374696769636);
+// 8067
+o2 = {};
+// 8068
+f508011038_0.returns.push(o2);
+// 8069
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8070
+f508011038_537.returns.push(1374696769636);
+// 8071
+o2 = {};
+// 8072
+f508011038_0.returns.push(o2);
+// 8073
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8074
+f508011038_537.returns.push(1374696769636);
+// 8075
+o2 = {};
+// 8076
+f508011038_0.returns.push(o2);
+// 8077
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8078
+f508011038_537.returns.push(1374696769637);
+// 8079
+o2 = {};
+// 8080
+f508011038_0.returns.push(o2);
+// 8081
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8082
+f508011038_537.returns.push(1374696769637);
+// 8083
+o2 = {};
+// 8084
+f508011038_0.returns.push(o2);
+// 8085
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8086
+f508011038_537.returns.push(1374696769637);
+// 8087
+o2 = {};
+// 8088
+f508011038_0.returns.push(o2);
+// 8089
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8090
+f508011038_537.returns.push(1374696769637);
+// 8091
+o2 = {};
+// 8092
+f508011038_0.returns.push(o2);
+// 8093
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8094
+f508011038_537.returns.push(1374696769637);
+// 8095
+o2 = {};
+// 8096
+f508011038_0.returns.push(o2);
+// 8097
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8098
+f508011038_537.returns.push(1374696769637);
+// 8099
+o2 = {};
+// 8100
+f508011038_0.returns.push(o2);
+// 8101
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8102
+f508011038_537.returns.push(1374696769637);
+// 8103
+o2 = {};
+// 8104
+f508011038_0.returns.push(o2);
+// 8105
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8106
+f508011038_537.returns.push(1374696769637);
+// 8107
+o2 = {};
+// 8108
+f508011038_0.returns.push(o2);
+// 8109
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8110
+f508011038_537.returns.push(1374696769642);
+// 8111
+o2 = {};
+// 8112
+f508011038_0.returns.push(o2);
+// 8113
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8114
+f508011038_537.returns.push(1374696769642);
+// 8115
+o2 = {};
+// 8116
+f508011038_0.returns.push(o2);
+// 8117
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8118
+f508011038_537.returns.push(1374696769642);
+// 8119
+o2 = {};
+// 8120
+f508011038_0.returns.push(o2);
+// 8121
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8122
+f508011038_537.returns.push(1374696769642);
+// 8123
+o2 = {};
+// 8124
+f508011038_0.returns.push(o2);
+// 8125
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8126
+f508011038_537.returns.push(1374696769643);
+// 8127
+o2 = {};
+// 8128
+f508011038_0.returns.push(o2);
+// 8129
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8130
+f508011038_537.returns.push(1374696769643);
+// 8131
+o2 = {};
+// 8132
+f508011038_0.returns.push(o2);
+// 8133
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8134
+f508011038_537.returns.push(1374696769643);
+// 8135
+o2 = {};
+// 8136
+f508011038_0.returns.push(o2);
+// 8137
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8138
+f508011038_537.returns.push(1374696769643);
+// 8139
+o2 = {};
+// 8140
+f508011038_0.returns.push(o2);
+// 8141
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8142
+f508011038_537.returns.push(1374696769643);
+// 8143
+o2 = {};
+// 8144
+f508011038_0.returns.push(o2);
+// 8145
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8146
+f508011038_537.returns.push(1374696769643);
+// 8147
+o2 = {};
+// 8148
+f508011038_0.returns.push(o2);
+// 8149
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8150
+f508011038_537.returns.push(1374696769644);
+// 8151
+o2 = {};
+// 8152
+f508011038_0.returns.push(o2);
+// 8153
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8154
+f508011038_537.returns.push(1374696769644);
+// 8155
+o2 = {};
+// 8156
+f508011038_0.returns.push(o2);
+// 8157
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8158
+f508011038_537.returns.push(1374696769644);
+// 8159
+o2 = {};
+// 8160
+f508011038_0.returns.push(o2);
+// 8161
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8162
+f508011038_537.returns.push(1374696769644);
+// 8163
+o2 = {};
+// 8164
+f508011038_0.returns.push(o2);
+// 8165
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8166
+f508011038_537.returns.push(1374696769644);
+// 8167
+o2 = {};
+// 8168
+f508011038_0.returns.push(o2);
+// 8169
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8170
+f508011038_537.returns.push(1374696769644);
+// 8171
+o2 = {};
+// 8172
+f508011038_0.returns.push(o2);
+// 8173
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8174
+f508011038_537.returns.push(1374696769645);
+// 8175
+o2 = {};
+// 8176
+f508011038_0.returns.push(o2);
+// 8177
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8178
+f508011038_537.returns.push(1374696769645);
+// 8179
+o2 = {};
+// 8180
+f508011038_0.returns.push(o2);
+// 8181
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8182
+f508011038_537.returns.push(1374696769645);
+// 8183
+o2 = {};
+// 8184
+f508011038_0.returns.push(o2);
+// 8185
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8186
+f508011038_537.returns.push(1374696769645);
+// 8187
+o2 = {};
+// 8188
+f508011038_0.returns.push(o2);
+// 8189
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8190
+f508011038_537.returns.push(1374696769645);
+// 8191
+o2 = {};
+// 8192
+f508011038_0.returns.push(o2);
+// 8193
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8194
+f508011038_537.returns.push(1374696769645);
+// 8195
+o2 = {};
+// 8196
+f508011038_0.returns.push(o2);
+// 8197
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8198
+f508011038_537.returns.push(1374696769646);
+// 8199
+o2 = {};
+// 8200
+f508011038_0.returns.push(o2);
+// 8201
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8202
+f508011038_537.returns.push(1374696769646);
+// 8203
+o2 = {};
+// 8204
+f508011038_0.returns.push(o2);
+// 8205
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8206
+f508011038_537.returns.push(1374696769646);
+// 8207
+o2 = {};
+// 8208
+f508011038_0.returns.push(o2);
+// 8209
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8210
+f508011038_537.returns.push(1374696769646);
+// 8211
+o2 = {};
+// 8212
+f508011038_0.returns.push(o2);
+// 8213
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8214
+f508011038_537.returns.push(1374696769646);
+// 8215
+o2 = {};
+// 8216
+f508011038_0.returns.push(o2);
+// 8217
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8218
+f508011038_537.returns.push(1374696769651);
+// 8219
+o2 = {};
+// 8220
+f508011038_0.returns.push(o2);
+// 8221
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8222
+f508011038_537.returns.push(1374696769651);
+// 8223
+o2 = {};
+// 8224
+f508011038_0.returns.push(o2);
+// 8225
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8226
+f508011038_537.returns.push(1374696769651);
+// 8227
+o2 = {};
+// 8228
+f508011038_0.returns.push(o2);
+// 8229
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8230
+f508011038_537.returns.push(1374696769652);
+// 8231
+o2 = {};
+// 8232
+f508011038_0.returns.push(o2);
+// 8233
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8234
+f508011038_537.returns.push(1374696769652);
+// 8235
+o2 = {};
+// 8236
+f508011038_0.returns.push(o2);
+// 8237
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8238
+f508011038_537.returns.push(1374696769652);
+// 8239
+o2 = {};
+// 8240
+f508011038_0.returns.push(o2);
+// 8241
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8242
+f508011038_537.returns.push(1374696769652);
+// 8243
+o2 = {};
+// 8244
+f508011038_0.returns.push(o2);
+// 8245
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8246
+f508011038_537.returns.push(1374696769652);
+// 8247
+o2 = {};
+// 8248
+f508011038_0.returns.push(o2);
+// 8249
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8250
+f508011038_537.returns.push(1374696769652);
+// 8251
+o2 = {};
+// 8252
+f508011038_0.returns.push(o2);
+// 8253
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8254
+f508011038_537.returns.push(1374696769652);
+// 8255
+o2 = {};
+// 8256
+f508011038_0.returns.push(o2);
+// 8257
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8258
+f508011038_537.returns.push(1374696769652);
+// 8259
+o5.protocol = "https:";
+// 8260
+o2 = {};
+// 8261
+f508011038_0.returns.push(o2);
+// 8262
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8263
+f508011038_537.returns.push(1374696769653);
+// 8264
+o2 = {};
+// 8265
+f508011038_0.returns.push(o2);
+// 8266
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8267
+f508011038_537.returns.push(1374696769653);
+// 8268
+o2 = {};
+// 8269
+f508011038_0.returns.push(o2);
+// 8270
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8271
+f508011038_537.returns.push(1374696769653);
+// 8272
+o2 = {};
+// 8273
+f508011038_0.returns.push(o2);
+// 8274
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8275
+f508011038_537.returns.push(1374696769654);
+// 8276
+o2 = {};
+// 8277
+f508011038_0.returns.push(o2);
+// 8278
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8279
+f508011038_537.returns.push(1374696769654);
+// 8280
+o2 = {};
+// 8281
+f508011038_0.returns.push(o2);
+// 8282
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8283
+f508011038_537.returns.push(1374696769654);
+// 8284
+o2 = {};
+// 8285
+f508011038_0.returns.push(o2);
+// 8286
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8287
+f508011038_537.returns.push(1374696769654);
+// 8288
+o2 = {};
+// 8289
+f508011038_0.returns.push(o2);
+// 8290
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8291
+f508011038_537.returns.push(1374696769654);
+// 8292
+o2 = {};
+// 8293
+f508011038_0.returns.push(o2);
+// 8294
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8295
+f508011038_537.returns.push(1374696769654);
+// 8296
+o2 = {};
+// 8297
+f508011038_0.returns.push(o2);
+// 8298
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8299
+f508011038_537.returns.push(1374696769655);
+// 8300
+o2 = {};
+// 8301
+f508011038_0.returns.push(o2);
+// 8302
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8303
+f508011038_537.returns.push(1374696769655);
+// 8304
+f508011038_466.returns.push(0.557951265014708);
+// 8307
+o5.search = "?q=javascript";
+// 8308
+o5.hash = "";
+// undefined
+o5 = null;
+// 8309
+o2 = {};
+// 8310
+f508011038_0.returns.push(o2);
+// 8311
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8312
+f508011038_537.returns.push(1374696769656);
+// 8313
+o2 = {};
+// 8314
+f508011038_0.returns.push(o2);
+// 8315
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8316
+f508011038_537.returns.push(1374696769656);
+// 8317
+o2 = {};
+// 8318
+f508011038_0.returns.push(o2);
+// 8319
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8320
+f508011038_537.returns.push(1374696769656);
+// 8321
+o2 = {};
+// 8322
+f508011038_0.returns.push(o2);
+// 8323
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8324
+f508011038_537.returns.push(1374696769659);
+// 8325
+o2 = {};
+// 8326
+f508011038_0.returns.push(o2);
+// 8327
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8328
+f508011038_537.returns.push(1374696769659);
+// 8329
+o2 = {};
+// 8330
+f508011038_0.returns.push(o2);
+// 8331
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8332
+f508011038_537.returns.push(1374696769660);
+// 8333
+o2 = {};
+// 8334
+f508011038_0.returns.push(o2);
+// 8335
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8336
+f508011038_537.returns.push(1374696769660);
+// 8337
+o2 = {};
+// 8338
+f508011038_0.returns.push(o2);
+// 8339
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8340
+f508011038_537.returns.push(1374696769660);
+// 8341
+o2 = {};
+// 8342
+f508011038_0.returns.push(o2);
+// 8343
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8344
+f508011038_537.returns.push(1374696769660);
+// 8345
+o2 = {};
+// 8346
+f508011038_0.returns.push(o2);
+// 8347
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8348
+f508011038_537.returns.push(1374696769660);
+// 8349
+o2 = {};
+// 8350
+f508011038_0.returns.push(o2);
+// 8351
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8352
+f508011038_537.returns.push(1374696769660);
+// 8353
+o2 = {};
+// 8354
+f508011038_0.returns.push(o2);
+// 8355
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8356
+f508011038_537.returns.push(1374696769660);
+// 8357
+o2 = {};
+// 8358
+f508011038_0.returns.push(o2);
+// 8359
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8360
+f508011038_537.returns.push(1374696769660);
+// 8361
+o2 = {};
+// 8362
+f508011038_0.returns.push(o2);
+// 8363
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8364
+f508011038_537.returns.push(1374696769660);
+// 8365
+o2 = {};
+// 8366
+f508011038_0.returns.push(o2);
+// 8367
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8368
+f508011038_537.returns.push(1374696769661);
+// 8369
+o2 = {};
+// 8370
+f508011038_0.returns.push(o2);
+// 8371
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8372
+f508011038_537.returns.push(1374696769661);
+// 8373
+o2 = {};
+// 8374
+f508011038_0.returns.push(o2);
+// 8375
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8376
+f508011038_537.returns.push(1374696769661);
+// 8377
+o2 = {};
+// 8378
+f508011038_0.returns.push(o2);
+// 8379
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8380
+f508011038_537.returns.push(1374696769661);
+// 8381
+o2 = {};
+// 8382
+f508011038_0.returns.push(o2);
+// 8383
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8384
+f508011038_537.returns.push(1374696769661);
+// 8385
+o2 = {};
+// 8386
+f508011038_0.returns.push(o2);
+// 8387
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8388
+f508011038_537.returns.push(1374696769661);
+// 8389
+o2 = {};
+// 8390
+f508011038_0.returns.push(o2);
+// 8391
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8392
+f508011038_537.returns.push(1374696769661);
+// 8393
+o2 = {};
+// 8394
+f508011038_0.returns.push(o2);
+// 8395
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8396
+f508011038_537.returns.push(1374696769661);
+// 8397
+o2 = {};
+// 8398
+f508011038_0.returns.push(o2);
+// 8399
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8400
+f508011038_537.returns.push(1374696769661);
+// 8401
+o2 = {};
+// 8402
+f508011038_0.returns.push(o2);
+// 8403
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8404
+f508011038_537.returns.push(1374696769661);
+// 8405
+o2 = {};
+// 8406
+f508011038_0.returns.push(o2);
+// 8407
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8408
+f508011038_537.returns.push(1374696769661);
+// 8409
+o2 = {};
+// 8410
+f508011038_0.returns.push(o2);
+// 8411
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8412
+f508011038_537.returns.push(1374696769661);
+// 8413
+o2 = {};
+// 8414
+f508011038_0.returns.push(o2);
+// 8415
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8416
+f508011038_537.returns.push(1374696769662);
+// 8417
+o2 = {};
+// 8418
+f508011038_0.returns.push(o2);
+// 8419
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8420
+f508011038_537.returns.push(1374696769662);
+// 8421
+o2 = {};
+// 8422
+f508011038_0.returns.push(o2);
+// 8423
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8424
+f508011038_537.returns.push(1374696769662);
+// 8425
+o2 = {};
+// 8426
+f508011038_0.returns.push(o2);
+// 8427
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8428
+f508011038_537.returns.push(1374696769665);
+// 8429
+o2 = {};
+// 8430
+f508011038_0.returns.push(o2);
+// 8431
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8432
+f508011038_537.returns.push(1374696769665);
+// 8433
+o2 = {};
+// 8434
+f508011038_0.returns.push(o2);
+// 8435
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8436
+f508011038_537.returns.push(1374696769665);
+// 8437
+o2 = {};
+// 8438
+f508011038_0.returns.push(o2);
+// 8439
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8440
+f508011038_537.returns.push(1374696769665);
+// 8441
+o2 = {};
+// 8442
+f508011038_0.returns.push(o2);
+// 8443
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8444
+f508011038_537.returns.push(1374696769665);
+// 8445
+o2 = {};
+// 8446
+f508011038_0.returns.push(o2);
+// 8447
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8448
+f508011038_537.returns.push(1374696769665);
+// 8449
+o2 = {};
+// 8450
+f508011038_0.returns.push(o2);
+// 8451
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8452
+f508011038_537.returns.push(1374696769665);
+// 8453
+o2 = {};
+// 8454
+f508011038_0.returns.push(o2);
+// 8455
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8456
+f508011038_537.returns.push(1374696769665);
+// 8457
+o2 = {};
+// 8458
+f508011038_0.returns.push(o2);
+// 8459
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8460
+f508011038_537.returns.push(1374696769665);
+// 8461
+o2 = {};
+// 8462
+f508011038_0.returns.push(o2);
+// 8463
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8464
+f508011038_537.returns.push(1374696769665);
+// 8465
+o2 = {};
+// 8466
+f508011038_0.returns.push(o2);
+// 8467
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8468
+f508011038_537.returns.push(1374696769665);
+// 8469
+o2 = {};
+// 8470
+f508011038_0.returns.push(o2);
+// 8471
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8472
+f508011038_537.returns.push(1374696769665);
+// 8473
+o2 = {};
+// 8474
+f508011038_0.returns.push(o2);
+// 8475
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8476
+f508011038_537.returns.push(1374696769666);
+// 8477
+o2 = {};
+// 8478
+f508011038_0.returns.push(o2);
+// 8479
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8480
+f508011038_537.returns.push(1374696769669);
+// 8481
+o2 = {};
+// 8482
+f508011038_0.returns.push(o2);
+// 8483
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8484
+f508011038_537.returns.push(1374696769669);
+// 8485
+o2 = {};
+// 8486
+f508011038_0.returns.push(o2);
+// 8487
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8488
+f508011038_537.returns.push(1374696769669);
+// 8489
+o2 = {};
+// 8490
+f508011038_0.returns.push(o2);
+// 8491
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8492
+f508011038_537.returns.push(1374696769669);
+// 8493
+o2 = {};
+// 8494
+f508011038_0.returns.push(o2);
+// 8495
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8496
+f508011038_537.returns.push(1374696769670);
+// 8497
+o2 = {};
+// 8498
+f508011038_0.returns.push(o2);
+// 8499
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8500
+f508011038_537.returns.push(1374696769670);
+// 8501
+o2 = {};
+// 8502
+f508011038_0.returns.push(o2);
+// 8503
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8504
+f508011038_537.returns.push(1374696769670);
+// 8505
+o2 = {};
+// 8506
+f508011038_0.returns.push(o2);
+// 8507
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8508
+f508011038_537.returns.push(1374696769670);
+// 8509
+o2 = {};
+// 8510
+f508011038_0.returns.push(o2);
+// 8511
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8512
+f508011038_537.returns.push(1374696769670);
+// 8513
+o2 = {};
+// 8514
+f508011038_0.returns.push(o2);
+// 8515
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8516
+f508011038_537.returns.push(1374696769670);
+// 8517
+o2 = {};
+// 8518
+f508011038_0.returns.push(o2);
+// 8519
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8520
+f508011038_537.returns.push(1374696769670);
+// 8521
+o2 = {};
+// 8522
+f508011038_0.returns.push(o2);
+// 8523
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8524
+f508011038_537.returns.push(1374696769670);
+// 8525
+o2 = {};
+// 8526
+f508011038_0.returns.push(o2);
+// 8527
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8528
+f508011038_537.returns.push(1374696769671);
+// 8529
+o2 = {};
+// 8530
+f508011038_0.returns.push(o2);
+// 8531
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8532
+f508011038_537.returns.push(1374696769671);
+// 8533
+o2 = {};
+// 8534
+f508011038_0.returns.push(o2);
+// 8535
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8536
+f508011038_537.returns.push(1374696769673);
+// 8537
+o2 = {};
+// 8538
+f508011038_0.returns.push(o2);
+// 8539
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8540
+f508011038_537.returns.push(1374696769674);
+// 8541
+o2 = {};
+// 8542
+f508011038_0.returns.push(o2);
+// 8543
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8544
+f508011038_537.returns.push(1374696769674);
+// 8545
+o2 = {};
+// 8546
+f508011038_0.returns.push(o2);
+// 8547
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8548
+f508011038_537.returns.push(1374696769683);
+// 8549
+o2 = {};
+// 8550
+f508011038_0.returns.push(o2);
+// 8551
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8552
+f508011038_537.returns.push(1374696769683);
+// 8553
+o2 = {};
+// 8554
+f508011038_0.returns.push(o2);
+// 8555
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8556
+f508011038_537.returns.push(1374696769683);
+// 8557
+o2 = {};
+// 8558
+f508011038_0.returns.push(o2);
+// 8559
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8560
+f508011038_537.returns.push(1374696769683);
+// 8561
+o2 = {};
+// 8562
+f508011038_0.returns.push(o2);
+// 8563
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8564
+f508011038_537.returns.push(1374696769683);
+// 8565
+o2 = {};
+// 8566
+f508011038_0.returns.push(o2);
+// 8567
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8568
+f508011038_537.returns.push(1374696769684);
+// 8569
+o2 = {};
+// 8570
+f508011038_0.returns.push(o2);
+// 8571
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8572
+f508011038_537.returns.push(1374696769684);
+// 8573
+o2 = {};
+// 8574
+f508011038_0.returns.push(o2);
+// 8575
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8576
+f508011038_537.returns.push(1374696769685);
+// 8577
+o2 = {};
+// 8578
+f508011038_0.returns.push(o2);
+// 8579
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8580
+f508011038_537.returns.push(1374696769685);
+// 8581
+o2 = {};
+// 8582
+f508011038_0.returns.push(o2);
+// 8583
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8584
+f508011038_537.returns.push(1374696769685);
+// 8585
+o2 = {};
+// 8586
+f508011038_0.returns.push(o2);
+// 8587
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8588
+f508011038_537.returns.push(1374696769686);
+// 8589
+o2 = {};
+// 8590
+f508011038_0.returns.push(o2);
+// 8591
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8592
+f508011038_537.returns.push(1374696769686);
+// 8593
+o2 = {};
+// 8594
+f508011038_0.returns.push(o2);
+// 8595
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8596
+f508011038_537.returns.push(1374696769687);
+// 8597
+o2 = {};
+// 8598
+f508011038_0.returns.push(o2);
+// 8599
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8600
+f508011038_537.returns.push(1374696769687);
+// 8601
+o2 = {};
+// 8602
+f508011038_0.returns.push(o2);
+// 8603
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8604
+f508011038_537.returns.push(1374696769687);
+// 8605
+o2 = {};
+// 8606
+f508011038_0.returns.push(o2);
+// 8607
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8608
+f508011038_537.returns.push(1374696769687);
+// 8609
+o2 = {};
+// 8610
+f508011038_0.returns.push(o2);
+// 8611
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8612
+f508011038_537.returns.push(1374696769687);
+// 8613
+o2 = {};
+// 8614
+f508011038_0.returns.push(o2);
+// 8615
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8616
+f508011038_537.returns.push(1374696769687);
+// 8617
+o2 = {};
+// 8618
+f508011038_0.returns.push(o2);
+// 8619
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8620
+f508011038_537.returns.push(1374696769687);
+// 8621
+o2 = {};
+// 8622
+f508011038_0.returns.push(o2);
+// 8623
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8624
+f508011038_537.returns.push(1374696769687);
+// 8625
+o2 = {};
+// 8626
+f508011038_0.returns.push(o2);
+// 8627
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8628
+f508011038_537.returns.push(1374696769688);
+// 8629
+o2 = {};
+// 8630
+f508011038_0.returns.push(o2);
+// 8631
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8632
+f508011038_537.returns.push(1374696769688);
+// 8633
+o2 = {};
+// 8634
+f508011038_0.returns.push(o2);
+// 8635
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8636
+f508011038_537.returns.push(1374696769688);
+// 8637
+o2 = {};
+// 8638
+f508011038_0.returns.push(o2);
+// 8639
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8640
+f508011038_537.returns.push(1374696769691);
+// 8641
+o2 = {};
+// 8642
+f508011038_0.returns.push(o2);
+// 8643
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8644
+f508011038_537.returns.push(1374696769691);
+// 8645
+o2 = {};
+// 8646
+f508011038_0.returns.push(o2);
+// 8647
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8648
+f508011038_537.returns.push(1374696769691);
+// 8649
+o2 = {};
+// 8650
+f508011038_0.returns.push(o2);
+// 8651
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8652
+f508011038_537.returns.push(1374696769692);
+// 8653
+o2 = {};
+// 8654
+f508011038_0.returns.push(o2);
+// 8655
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8656
+f508011038_537.returns.push(1374696769693);
+// 8657
+o2 = {};
+// 8658
+f508011038_0.returns.push(o2);
+// 8659
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8660
+f508011038_537.returns.push(1374696769693);
+// 8661
+o2 = {};
+// 8662
+f508011038_0.returns.push(o2);
+// 8663
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8664
+f508011038_537.returns.push(1374696769694);
+// 8665
+o2 = {};
+// 8666
+f508011038_0.returns.push(o2);
+// 8667
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8668
+f508011038_537.returns.push(1374696769694);
+// 8669
+o2 = {};
+// 8670
+f508011038_0.returns.push(o2);
+// 8671
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8672
+f508011038_537.returns.push(1374696769694);
+// 8673
+o2 = {};
+// 8674
+f508011038_0.returns.push(o2);
+// 8675
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8676
+f508011038_537.returns.push(1374696769694);
+// 8677
+o2 = {};
+// 8678
+f508011038_0.returns.push(o2);
+// 8679
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8680
+f508011038_537.returns.push(1374696769694);
+// 8681
+o2 = {};
+// 8682
+f508011038_0.returns.push(o2);
+// 8683
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8684
+f508011038_537.returns.push(1374696769695);
+// 8685
+o2 = {};
+// 8686
+f508011038_0.returns.push(o2);
+// 8687
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8688
+f508011038_537.returns.push(1374696769695);
+// 8689
+o2 = {};
+// 8690
+f508011038_0.returns.push(o2);
+// 8691
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8692
+f508011038_537.returns.push(1374696769695);
+// 8693
+o2 = {};
+// 8694
+f508011038_0.returns.push(o2);
+// 8695
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8696
+f508011038_537.returns.push(1374696769695);
+// 8697
+o2 = {};
+// 8698
+f508011038_0.returns.push(o2);
+// 8699
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8700
+f508011038_537.returns.push(1374696769695);
+// 8701
+o2 = {};
+// 8702
+f508011038_0.returns.push(o2);
+// 8703
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8704
+f508011038_537.returns.push(1374696769696);
+// 8705
+o2 = {};
+// 8706
+f508011038_0.returns.push(o2);
+// 8707
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8708
+f508011038_537.returns.push(1374696769696);
+// 8709
+o2 = {};
+// 8710
+f508011038_0.returns.push(o2);
+// 8711
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8712
+f508011038_537.returns.push(1374696769696);
+// 8713
+o2 = {};
+// 8714
+f508011038_0.returns.push(o2);
+// 8715
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8716
+f508011038_537.returns.push(1374696769701);
+// 8717
+o2 = {};
+// 8718
+f508011038_0.returns.push(o2);
+// 8719
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8720
+f508011038_537.returns.push(1374696769701);
+// 8721
+o2 = {};
+// 8722
+f508011038_0.returns.push(o2);
+// 8723
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8724
+f508011038_537.returns.push(1374696769702);
+// 8725
+o2 = {};
+// 8726
+f508011038_0.returns.push(o2);
+// 8727
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8728
+f508011038_537.returns.push(1374696769702);
+// 8729
+o2 = {};
+// 8730
+f508011038_0.returns.push(o2);
+// 8731
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8732
+f508011038_537.returns.push(1374696769702);
+// 8733
+o2 = {};
+// 8734
+f508011038_0.returns.push(o2);
+// 8735
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8736
+f508011038_537.returns.push(1374696769702);
+// 8737
+o2 = {};
+// 8738
+f508011038_0.returns.push(o2);
+// 8739
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8740
+f508011038_537.returns.push(1374696769702);
+// 8741
+o2 = {};
+// 8742
+f508011038_0.returns.push(o2);
+// 8743
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8744
+f508011038_537.returns.push(1374696769702);
+// 8745
+o2 = {};
+// 8746
+f508011038_0.returns.push(o2);
+// 8747
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8748
+f508011038_537.returns.push(1374696769705);
+// 8749
+o2 = {};
+// 8750
+f508011038_0.returns.push(o2);
+// 8751
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8752
+f508011038_537.returns.push(1374696769706);
+// 8753
+o2 = {};
+// 8754
+f508011038_0.returns.push(o2);
+// 8755
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8756
+f508011038_537.returns.push(1374696769707);
+// 8757
+o2 = {};
+// 8758
+f508011038_0.returns.push(o2);
+// 8759
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8760
+f508011038_537.returns.push(1374696769707);
+// 8761
+o2 = {};
+// 8762
+f508011038_0.returns.push(o2);
+// 8763
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8764
+f508011038_537.returns.push(1374696769707);
+// 8765
+o2 = {};
+// 8766
+f508011038_0.returns.push(o2);
+// 8767
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8768
+f508011038_537.returns.push(1374696769708);
+// 8769
+o2 = {};
+// 8770
+f508011038_0.returns.push(o2);
+// 8771
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8772
+f508011038_537.returns.push(1374696769708);
+// 8773
+o2 = {};
+// 8774
+f508011038_0.returns.push(o2);
+// 8775
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8776
+f508011038_537.returns.push(1374696769708);
+// 8777
+o2 = {};
+// 8778
+f508011038_0.returns.push(o2);
+// 8779
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8780
+f508011038_537.returns.push(1374696769708);
+// 8781
+o2 = {};
+// 8782
+f508011038_0.returns.push(o2);
+// 8783
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8784
+f508011038_537.returns.push(1374696769709);
+// 8785
+o2 = {};
+// 8786
+f508011038_0.returns.push(o2);
+// 8787
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8788
+f508011038_537.returns.push(1374696769709);
+// 8789
+o2 = {};
+// 8790
+f508011038_0.returns.push(o2);
+// 8791
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8792
+f508011038_537.returns.push(1374696769709);
+// 8793
+o2 = {};
+// 8794
+f508011038_0.returns.push(o2);
+// 8795
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8796
+f508011038_537.returns.push(1374696769709);
+// 8797
+o2 = {};
+// 8798
+f508011038_0.returns.push(o2);
+// 8799
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8800
+f508011038_537.returns.push(1374696769709);
+// 8801
+o2 = {};
+// 8802
+f508011038_0.returns.push(o2);
+// 8803
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8804
+f508011038_537.returns.push(1374696769709);
+// 8805
+o2 = {};
+// 8806
+f508011038_0.returns.push(o2);
+// 8807
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8808
+f508011038_537.returns.push(1374696769709);
+// 8809
+o2 = {};
+// 8810
+f508011038_0.returns.push(o2);
+// 8811
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8812
+f508011038_537.returns.push(1374696769711);
+// 8813
+o2 = {};
+// 8814
+f508011038_0.returns.push(o2);
+// 8815
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8816
+f508011038_537.returns.push(1374696769711);
+// 8817
+o2 = {};
+// 8818
+f508011038_0.returns.push(o2);
+// 8819
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8820
+f508011038_537.returns.push(1374696769711);
+// 8821
+o2 = {};
+// 8822
+f508011038_0.returns.push(o2);
+// 8823
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8824
+f508011038_537.returns.push(1374696769711);
+// 8825
+o2 = {};
+// 8826
+f508011038_0.returns.push(o2);
+// 8827
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8828
+f508011038_537.returns.push(1374696769711);
+// 8829
+o2 = {};
+// 8830
+f508011038_0.returns.push(o2);
+// 8831
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8832
+f508011038_537.returns.push(1374696769711);
+// 8833
+o2 = {};
+// 8834
+f508011038_0.returns.push(o2);
+// 8835
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8836
+f508011038_537.returns.push(1374696769712);
+// 8837
+o2 = {};
+// 8838
+f508011038_0.returns.push(o2);
+// 8839
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8840
+f508011038_537.returns.push(1374696769712);
+// 8841
+o2 = {};
+// 8842
+f508011038_0.returns.push(o2);
+// 8843
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8844
+f508011038_537.returns.push(1374696769712);
+// 8845
+o2 = {};
+// 8846
+f508011038_0.returns.push(o2);
+// 8847
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8848
+f508011038_537.returns.push(1374696769712);
+// 8849
+o2 = {};
+// 8850
+f508011038_0.returns.push(o2);
+// 8851
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8852
+f508011038_537.returns.push(1374696769715);
+// 8853
+o2 = {};
+// 8854
+f508011038_0.returns.push(o2);
+// 8855
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8856
+f508011038_537.returns.push(1374696769715);
+// 8857
+o2 = {};
+// 8858
+f508011038_0.returns.push(o2);
+// 8859
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8860
+f508011038_537.returns.push(1374696769716);
+// 8861
+o2 = {};
+// 8862
+f508011038_0.returns.push(o2);
+// 8863
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8864
+f508011038_537.returns.push(1374696769716);
+// 8865
+o2 = {};
+// 8866
+f508011038_0.returns.push(o2);
+// 8867
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8868
+f508011038_537.returns.push(1374696769716);
+// 8869
+o2 = {};
+// 8870
+f508011038_0.returns.push(o2);
+// 8871
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8872
+f508011038_537.returns.push(1374696769716);
+// 8873
+o2 = {};
+// 8874
+f508011038_0.returns.push(o2);
+// 8875
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8876
+f508011038_537.returns.push(1374696769716);
+// 8877
+o2 = {};
+// 8878
+f508011038_0.returns.push(o2);
+// 8879
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8880
+f508011038_537.returns.push(1374696769716);
+// 8881
+o2 = {};
+// 8882
+f508011038_0.returns.push(o2);
+// 8883
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8884
+f508011038_537.returns.push(1374696769716);
+// 8885
+o2 = {};
+// 8886
+f508011038_0.returns.push(o2);
+// 8887
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8888
+f508011038_537.returns.push(1374696769717);
+// 8889
+o2 = {};
+// 8890
+f508011038_0.returns.push(o2);
+// 8891
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8892
+f508011038_537.returns.push(1374696769718);
+// 8893
+o2 = {};
+// 8894
+f508011038_0.returns.push(o2);
+// 8895
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8896
+f508011038_537.returns.push(1374696769718);
+// 8897
+o2 = {};
+// 8898
+f508011038_0.returns.push(o2);
+// 8899
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8900
+f508011038_537.returns.push(1374696769718);
+// 8901
+o2 = {};
+// 8902
+f508011038_0.returns.push(o2);
+// 8903
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8904
+f508011038_537.returns.push(1374696769718);
+// 8905
+o2 = {};
+// 8906
+f508011038_0.returns.push(o2);
+// 8907
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8908
+f508011038_537.returns.push(1374696769718);
+// 8909
+o2 = {};
+// 8910
+f508011038_0.returns.push(o2);
+// 8911
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8912
+f508011038_537.returns.push(1374696769718);
+// 8913
+o2 = {};
+// 8914
+f508011038_0.returns.push(o2);
+// 8915
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8916
+f508011038_537.returns.push(1374696769718);
+// 8917
+o2 = {};
+// 8918
+f508011038_0.returns.push(o2);
+// 8919
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8920
+f508011038_537.returns.push(1374696769718);
+// 8921
+o2 = {};
+// 8922
+f508011038_0.returns.push(o2);
+// 8923
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8924
+f508011038_537.returns.push(1374696769719);
+// 8925
+o2 = {};
+// 8926
+f508011038_0.returns.push(o2);
+// 8927
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8928
+f508011038_537.returns.push(1374696769720);
+// 8929
+o2 = {};
+// 8930
+f508011038_0.returns.push(o2);
+// 8931
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8932
+f508011038_537.returns.push(1374696769720);
+// 8933
+o2 = {};
+// 8934
+f508011038_0.returns.push(o2);
+// 8935
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8936
+f508011038_537.returns.push(1374696769720);
+// 8937
+o2 = {};
+// 8938
+f508011038_0.returns.push(o2);
+// 8939
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8940
+f508011038_537.returns.push(1374696769721);
+// 8941
+o2 = {};
+// 8942
+f508011038_0.returns.push(o2);
+// 8943
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8944
+f508011038_537.returns.push(1374696769721);
+// 8945
+o2 = {};
+// 8946
+f508011038_0.returns.push(o2);
+// 8947
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8948
+f508011038_537.returns.push(1374696769721);
+// 8949
+o2 = {};
+// 8950
+f508011038_0.returns.push(o2);
+// 8951
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8952
+f508011038_537.returns.push(1374696769721);
+// 8953
+o2 = {};
+// 8954
+f508011038_0.returns.push(o2);
+// 8955
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8956
+f508011038_537.returns.push(1374696769721);
+// 8957
+o2 = {};
+// 8958
+f508011038_0.returns.push(o2);
+// 8959
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8960
+f508011038_537.returns.push(1374696769730);
+// 8961
+o2 = {};
+// 8962
+f508011038_0.returns.push(o2);
+// 8963
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8964
+f508011038_537.returns.push(1374696769730);
+// 8965
+o2 = {};
+// 8966
+f508011038_0.returns.push(o2);
+// 8967
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8968
+f508011038_537.returns.push(1374696769730);
+// 8969
+o2 = {};
+// 8970
+f508011038_0.returns.push(o2);
+// 8971
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8972
+f508011038_537.returns.push(1374696769731);
+// 8973
+o2 = {};
+// 8974
+f508011038_0.returns.push(o2);
+// 8975
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8976
+f508011038_537.returns.push(1374696769731);
+// 8977
+o2 = {};
+// 8978
+f508011038_0.returns.push(o2);
+// 8979
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8980
+f508011038_537.returns.push(1374696769731);
+// 8981
+o2 = {};
+// 8982
+f508011038_0.returns.push(o2);
+// 8983
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8984
+f508011038_537.returns.push(1374696769731);
+// 8985
+o2 = {};
+// 8986
+f508011038_0.returns.push(o2);
+// 8987
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8988
+f508011038_537.returns.push(1374696769733);
+// 8989
+o2 = {};
+// 8990
+f508011038_0.returns.push(o2);
+// 8991
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8992
+f508011038_537.returns.push(1374696769733);
+// 8993
+o2 = {};
+// 8994
+f508011038_0.returns.push(o2);
+// 8995
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 8996
+f508011038_537.returns.push(1374696769733);
+// 8997
+o2 = {};
+// 8998
+f508011038_0.returns.push(o2);
+// 8999
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9000
+f508011038_537.returns.push(1374696769733);
+// 9001
+o2 = {};
+// 9002
+f508011038_0.returns.push(o2);
+// 9003
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9004
+f508011038_537.returns.push(1374696769733);
+// 9005
+o2 = {};
+// 9006
+f508011038_0.returns.push(o2);
+// 9007
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9008
+f508011038_537.returns.push(1374696769736);
+// 9009
+o2 = {};
+// 9010
+f508011038_0.returns.push(o2);
+// 9011
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9012
+f508011038_537.returns.push(1374696769736);
+// 9013
+o2 = {};
+// 9014
+f508011038_0.returns.push(o2);
+// 9015
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9016
+f508011038_537.returns.push(1374696769736);
+// 9017
+o2 = {};
+// 9018
+f508011038_0.returns.push(o2);
+// 9019
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9020
+f508011038_537.returns.push(1374696769736);
+// 9021
+o2 = {};
+// 9022
+f508011038_0.returns.push(o2);
+// 9023
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9024
+f508011038_537.returns.push(1374696769736);
+// 9025
+o2 = {};
+// 9026
+f508011038_0.returns.push(o2);
+// 9027
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9028
+f508011038_537.returns.push(1374696769737);
+// 9029
+o2 = {};
+// 9030
+f508011038_0.returns.push(o2);
+// 9031
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9032
+f508011038_537.returns.push(1374696769737);
+// 9033
+o2 = {};
+// 9034
+f508011038_0.returns.push(o2);
+// 9035
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9036
+f508011038_537.returns.push(1374696769737);
+// 9037
+o2 = {};
+// 9038
+f508011038_0.returns.push(o2);
+// 9039
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9040
+f508011038_537.returns.push(1374696769739);
+// 9041
+o2 = {};
+// 9042
+f508011038_0.returns.push(o2);
+// 9043
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9044
+f508011038_537.returns.push(1374696769739);
+// 9045
+o2 = {};
+// 9046
+f508011038_0.returns.push(o2);
+// 9047
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9048
+f508011038_537.returns.push(1374696769739);
+// 9049
+o2 = {};
+// 9050
+f508011038_0.returns.push(o2);
+// 9051
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9052
+f508011038_537.returns.push(1374696769740);
+// 9053
+o2 = {};
+// 9054
+f508011038_0.returns.push(o2);
+// 9055
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9056
+f508011038_537.returns.push(1374696769740);
+// 9057
+o2 = {};
+// 9058
+f508011038_0.returns.push(o2);
+// 9059
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9060
+f508011038_537.returns.push(1374696769740);
+// 9061
+o2 = {};
+// 9062
+f508011038_0.returns.push(o2);
+// 9063
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9064
+f508011038_537.returns.push(1374696769744);
+// 9065
+o2 = {};
+// 9066
+f508011038_0.returns.push(o2);
+// 9067
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9068
+f508011038_537.returns.push(1374696769745);
+// 9069
+o2 = {};
+// 9070
+f508011038_0.returns.push(o2);
+// 9071
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9072
+f508011038_537.returns.push(1374696769747);
+// 9073
+o2 = {};
+// 9074
+f508011038_0.returns.push(o2);
+// 9075
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9076
+f508011038_537.returns.push(1374696769747);
+// 9077
+o2 = {};
+// 9078
+f508011038_0.returns.push(o2);
+// 9079
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9080
+f508011038_537.returns.push(1374696769748);
+// 9081
+o2 = {};
+// 9082
+f508011038_0.returns.push(o2);
+// 9083
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9084
+f508011038_537.returns.push(1374696769748);
+// 9085
+o2 = {};
+// 9086
+f508011038_0.returns.push(o2);
+// 9087
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9088
+f508011038_537.returns.push(1374696769749);
+// 9089
+o2 = {};
+// 9090
+f508011038_0.returns.push(o2);
+// 9091
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9092
+f508011038_537.returns.push(1374696769749);
+// 9093
+o2 = {};
+// 9094
+f508011038_0.returns.push(o2);
+// 9095
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9096
+f508011038_537.returns.push(1374696769749);
+// 9097
+o2 = {};
+// 9098
+f508011038_0.returns.push(o2);
+// 9099
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9100
+f508011038_537.returns.push(1374696769749);
+// 9101
+o2 = {};
+// 9102
+f508011038_0.returns.push(o2);
+// 9103
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9104
+f508011038_537.returns.push(1374696769749);
+// 9105
+o2 = {};
+// 9106
+f508011038_0.returns.push(o2);
+// 9107
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9108
+f508011038_537.returns.push(1374696769752);
+// 9109
+o2 = {};
+// 9110
+f508011038_0.returns.push(o2);
+// 9111
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9112
+f508011038_537.returns.push(1374696769752);
+// 9113
+o2 = {};
+// 9114
+f508011038_0.returns.push(o2);
+// 9115
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9116
+f508011038_537.returns.push(1374696769752);
+// 9117
+o2 = {};
+// 9118
+f508011038_0.returns.push(o2);
+// 9119
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9120
+f508011038_537.returns.push(1374696769752);
+// 9121
+o2 = {};
+// 9122
+f508011038_0.returns.push(o2);
+// 9123
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9124
+f508011038_537.returns.push(1374696769753);
+// 9125
+o2 = {};
+// 9126
+f508011038_0.returns.push(o2);
+// 9127
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9128
+f508011038_537.returns.push(1374696769753);
+// 9129
+o2 = {};
+// 9130
+f508011038_0.returns.push(o2);
+// 9131
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9132
+f508011038_537.returns.push(1374696769753);
+// 9133
+o2 = {};
+// 9134
+f508011038_0.returns.push(o2);
+// 9135
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9136
+f508011038_537.returns.push(1374696769753);
+// 9137
+o2 = {};
+// 9138
+f508011038_0.returns.push(o2);
+// 9139
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9140
+f508011038_537.returns.push(1374696769753);
+// 9141
+o2 = {};
+// 9142
+f508011038_0.returns.push(o2);
+// 9143
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9144
+f508011038_537.returns.push(1374696769753);
+// 9145
+o2 = {};
+// 9146
+f508011038_0.returns.push(o2);
+// 9147
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9148
+f508011038_537.returns.push(1374696769753);
+// 9149
+o2 = {};
+// 9150
+f508011038_0.returns.push(o2);
+// 9151
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9152
+f508011038_537.returns.push(1374696769753);
+// 9153
+o2 = {};
+// 9154
+f508011038_0.returns.push(o2);
+// 9155
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9156
+f508011038_537.returns.push(1374696769753);
+// 9157
+o2 = {};
+// 9158
+f508011038_0.returns.push(o2);
+// 9159
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9160
+f508011038_537.returns.push(1374696769753);
+// 9161
+o2 = {};
+// 9162
+f508011038_0.returns.push(o2);
+// 9163
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9164
+f508011038_537.returns.push(1374696769754);
+// 9165
+o2 = {};
+// 9166
+f508011038_0.returns.push(o2);
+// 9167
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9168
+f508011038_537.returns.push(1374696769758);
+// 9169
+o2 = {};
+// 9170
+f508011038_0.returns.push(o2);
+// 9171
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9172
+f508011038_537.returns.push(1374696769760);
+// 9173
+o2 = {};
+// 9174
+f508011038_0.returns.push(o2);
+// 9175
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9176
+f508011038_537.returns.push(1374696769760);
+// 9177
+o2 = {};
+// 9178
+f508011038_0.returns.push(o2);
+// 9179
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9180
+f508011038_537.returns.push(1374696769760);
+// 9181
+o2 = {};
+// 9182
+f508011038_0.returns.push(o2);
+// 9183
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9184
+f508011038_537.returns.push(1374696769760);
+// 9185
+o2 = {};
+// 9186
+f508011038_0.returns.push(o2);
+// 9187
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9188
+f508011038_537.returns.push(1374696769760);
+// 9189
+o2 = {};
+// 9190
+f508011038_0.returns.push(o2);
+// 9191
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9192
+f508011038_537.returns.push(1374696769760);
+// 9193
+o2 = {};
+// 9194
+f508011038_0.returns.push(o2);
+// 9195
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9196
+f508011038_537.returns.push(1374696769761);
+// 9197
+o2 = {};
+// 9198
+f508011038_0.returns.push(o2);
+// 9199
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9200
+f508011038_537.returns.push(1374696769768);
+// 9201
+o2 = {};
+// 9202
+f508011038_0.returns.push(o2);
+// 9203
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9204
+f508011038_537.returns.push(1374696769768);
+// 9205
+o2 = {};
+// 9206
+f508011038_0.returns.push(o2);
+// 9207
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9208
+f508011038_537.returns.push(1374696769768);
+// 9209
+o2 = {};
+// 9210
+f508011038_0.returns.push(o2);
+// 9211
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9212
+f508011038_537.returns.push(1374696769768);
+// 9213
+o2 = {};
+// 9214
+f508011038_0.returns.push(o2);
+// 9215
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9216
+f508011038_537.returns.push(1374696769769);
+// 9217
+o2 = {};
+// 9218
+f508011038_0.returns.push(o2);
+// 9219
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9220
+f508011038_537.returns.push(1374696769769);
+// 9221
+o2 = {};
+// 9222
+f508011038_0.returns.push(o2);
+// 9223
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9224
+f508011038_537.returns.push(1374696769769);
+// 9225
+o2 = {};
+// 9226
+f508011038_0.returns.push(o2);
+// 9227
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9228
+f508011038_537.returns.push(1374696769770);
+// 9229
+o2 = {};
+// 9230
+f508011038_0.returns.push(o2);
+// 9231
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9232
+f508011038_537.returns.push(1374696769771);
+// 9233
+o2 = {};
+// 9234
+f508011038_0.returns.push(o2);
+// 9235
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9236
+f508011038_537.returns.push(1374696769771);
+// 9237
+o2 = {};
+// 9238
+f508011038_0.returns.push(o2);
+// 9239
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9240
+f508011038_537.returns.push(1374696769771);
+// 9241
+o2 = {};
+// 9242
+f508011038_0.returns.push(o2);
+// 9243
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9244
+f508011038_537.returns.push(1374696769772);
+// 9245
+o2 = {};
+// 9246
+f508011038_0.returns.push(o2);
+// 9247
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9248
+f508011038_537.returns.push(1374696769772);
+// 9249
+o2 = {};
+// 9250
+f508011038_0.returns.push(o2);
+// 9251
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9252
+f508011038_537.returns.push(1374696769772);
+// 9253
+o2 = {};
+// 9254
+f508011038_0.returns.push(o2);
+// 9255
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9256
+f508011038_537.returns.push(1374696769772);
+// 9257
+o2 = {};
+// 9258
+f508011038_0.returns.push(o2);
+// 9259
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9260
+f508011038_537.returns.push(1374696769772);
+// 9261
+o2 = {};
+// 9262
+f508011038_0.returns.push(o2);
+// 9263
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9264
+f508011038_537.returns.push(1374696769772);
+// 9265
+o2 = {};
+// 9266
+f508011038_0.returns.push(o2);
+// 9267
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9268
+f508011038_537.returns.push(1374696769772);
+// 9269
+o2 = {};
+// 9270
+f508011038_0.returns.push(o2);
+// 9271
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9272
+f508011038_537.returns.push(1374696769772);
+// 9273
+o2 = {};
+// 9274
+f508011038_0.returns.push(o2);
+// 9275
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9276
+f508011038_537.returns.push(1374696769777);
+// 9277
+o2 = {};
+// 9278
+f508011038_0.returns.push(o2);
+// 9279
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9280
+f508011038_537.returns.push(1374696769777);
+// 9281
+o2 = {};
+// 9282
+f508011038_0.returns.push(o2);
+// 9283
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9284
+f508011038_537.returns.push(1374696769777);
+// 9285
+o2 = {};
+// 9286
+f508011038_0.returns.push(o2);
+// 9287
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9288
+f508011038_537.returns.push(1374696769777);
+// 9289
+o2 = {};
+// 9290
+f508011038_0.returns.push(o2);
+// 9291
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9292
+f508011038_537.returns.push(1374696769778);
+// 9293
+o2 = {};
+// 9294
+f508011038_0.returns.push(o2);
+// 9295
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9296
+f508011038_537.returns.push(1374696769778);
+// 9297
+o2 = {};
+// 9298
+f508011038_0.returns.push(o2);
+// 9299
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9300
+f508011038_537.returns.push(1374696769778);
+// 9301
+o2 = {};
+// 9302
+f508011038_0.returns.push(o2);
+// 9303
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9304
+f508011038_537.returns.push(1374696769778);
+// 9305
+o2 = {};
+// 9306
+f508011038_0.returns.push(o2);
+// 9307
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9308
+f508011038_537.returns.push(1374696769778);
+// 9309
+o2 = {};
+// 9310
+f508011038_0.returns.push(o2);
+// 9311
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9312
+f508011038_537.returns.push(1374696769779);
+// 9313
+o2 = {};
+// 9314
+f508011038_0.returns.push(o2);
+// 9315
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9316
+f508011038_537.returns.push(1374696769779);
+// 9317
+o2 = {};
+// 9318
+f508011038_0.returns.push(o2);
+// 9319
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9320
+f508011038_537.returns.push(1374696769779);
+// 9321
+o2 = {};
+// 9322
+f508011038_0.returns.push(o2);
+// 9323
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9324
+f508011038_537.returns.push(1374696769779);
+// 9325
+o2 = {};
+// 9326
+f508011038_0.returns.push(o2);
+// 9327
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9328
+f508011038_537.returns.push(1374696769779);
+// 9329
+o2 = {};
+// 9330
+f508011038_0.returns.push(o2);
+// 9331
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9332
+f508011038_537.returns.push(1374696769779);
+// 9333
+o2 = {};
+// 9334
+f508011038_0.returns.push(o2);
+// 9335
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9336
+f508011038_537.returns.push(1374696769779);
+// 9337
+o2 = {};
+// 9338
+f508011038_0.returns.push(o2);
+// 9339
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9340
+f508011038_537.returns.push(1374696769779);
+// 9341
+o2 = {};
+// 9342
+f508011038_0.returns.push(o2);
+// 9343
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9344
+f508011038_537.returns.push(1374696769779);
+// 9345
+o2 = {};
+// 9346
+f508011038_0.returns.push(o2);
+// 9347
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9348
+f508011038_537.returns.push(1374696769779);
+// 9349
+o2 = {};
+// 9350
+f508011038_0.returns.push(o2);
+// 9351
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9352
+f508011038_537.returns.push(1374696769779);
+// 9353
+o2 = {};
+// 9354
+f508011038_0.returns.push(o2);
+// 9355
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9356
+f508011038_537.returns.push(1374696769780);
+// 9357
+o2 = {};
+// 9358
+f508011038_0.returns.push(o2);
+// 9359
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9360
+f508011038_537.returns.push(1374696769780);
+// 9361
+o2 = {};
+// 9362
+f508011038_0.returns.push(o2);
+// 9363
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9364
+f508011038_537.returns.push(1374696769780);
+// 9365
+o2 = {};
+// 9366
+f508011038_0.returns.push(o2);
+// 9367
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9368
+f508011038_537.returns.push(1374696769780);
+// 9369
+o2 = {};
+// 9370
+f508011038_0.returns.push(o2);
+// 9371
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9372
+f508011038_537.returns.push(1374696769797);
+// 9373
+o2 = {};
+// 9374
+f508011038_0.returns.push(o2);
+// 9375
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9376
+f508011038_537.returns.push(1374696769797);
+// 9377
+o2 = {};
+// 9378
+f508011038_0.returns.push(o2);
+// 9379
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9380
+f508011038_537.returns.push(1374696769797);
+// 9381
+o2 = {};
+// 9382
+f508011038_0.returns.push(o2);
+// 9383
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9384
+f508011038_537.returns.push(1374696769801);
+// 9385
+o2 = {};
+// 9386
+f508011038_0.returns.push(o2);
+// 9387
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9388
+f508011038_537.returns.push(1374696769801);
+// 9389
+o2 = {};
+// 9390
+f508011038_0.returns.push(o2);
+// 9391
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9392
+f508011038_537.returns.push(1374696769801);
+// 9393
+o2 = {};
+// 9394
+f508011038_0.returns.push(o2);
+// 9395
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9396
+f508011038_537.returns.push(1374696769801);
+// 9397
+o2 = {};
+// 9398
+f508011038_0.returns.push(o2);
+// 9399
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9400
+f508011038_537.returns.push(1374696769801);
+// 9401
+o2 = {};
+// 9402
+f508011038_0.returns.push(o2);
+// 9403
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9404
+f508011038_537.returns.push(1374696769802);
+// 9405
+o2 = {};
+// 9406
+f508011038_0.returns.push(o2);
+// 9407
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9408
+f508011038_537.returns.push(1374696769802);
+// 9409
+o2 = {};
+// 9410
+f508011038_0.returns.push(o2);
+// 9411
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9412
+f508011038_537.returns.push(1374696769802);
+// 9413
+o2 = {};
+// 9414
+f508011038_0.returns.push(o2);
+// 9415
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9416
+f508011038_537.returns.push(1374696769802);
+// 9417
+o2 = {};
+// 9418
+f508011038_0.returns.push(o2);
+// 9419
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9420
+f508011038_537.returns.push(1374696769802);
+// 9421
+o2 = {};
+// 9422
+f508011038_0.returns.push(o2);
+// 9423
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9424
+f508011038_537.returns.push(1374696769802);
+// 9425
+o2 = {};
+// 9426
+f508011038_0.returns.push(o2);
+// 9427
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9428
+f508011038_537.returns.push(1374696769809);
+// 9429
+o2 = {};
+// 9430
+f508011038_0.returns.push(o2);
+// 9431
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9432
+f508011038_537.returns.push(1374696769809);
+// 9433
+o2 = {};
+// 9434
+f508011038_0.returns.push(o2);
+// 9435
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9436
+f508011038_537.returns.push(1374696769810);
+// 9437
+o2 = {};
+// 9438
+f508011038_0.returns.push(o2);
+// 9439
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9440
+f508011038_537.returns.push(1374696769810);
+// 9441
+o2 = {};
+// 9442
+f508011038_0.returns.push(o2);
+// 9443
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9444
+f508011038_537.returns.push(1374696769810);
+// 9445
+o2 = {};
+// 9446
+f508011038_0.returns.push(o2);
+// 9447
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9448
+f508011038_537.returns.push(1374696769811);
+// 9449
+o2 = {};
+// 9450
+f508011038_0.returns.push(o2);
+// 9451
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9452
+f508011038_537.returns.push(1374696769811);
+// 9453
+o2 = {};
+// 9454
+f508011038_0.returns.push(o2);
+// 9455
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9456
+f508011038_537.returns.push(1374696769812);
+// 9457
+o2 = {};
+// 9458
+f508011038_0.returns.push(o2);
+// 9459
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9460
+f508011038_537.returns.push(1374696769812);
+// 9461
+o2 = {};
+// 9462
+f508011038_0.returns.push(o2);
+// 9463
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9464
+f508011038_537.returns.push(1374696769812);
+// 9465
+o2 = {};
+// 9466
+f508011038_0.returns.push(o2);
+// 9467
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9468
+f508011038_537.returns.push(1374696769812);
+// 9469
+o2 = {};
+// 9470
+f508011038_0.returns.push(o2);
+// 9471
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9472
+f508011038_537.returns.push(1374696769814);
+// 9473
+o2 = {};
+// 9474
+f508011038_0.returns.push(o2);
+// 9475
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9476
+f508011038_537.returns.push(1374696769814);
+// 9477
+o2 = {};
+// 9478
+f508011038_0.returns.push(o2);
+// 9479
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9480
+f508011038_537.returns.push(1374696769814);
+// 9481
+o2 = {};
+// 9482
+f508011038_0.returns.push(o2);
+// 9483
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9484
+f508011038_537.returns.push(1374696769815);
+// 9485
+o2 = {};
+// 9486
+f508011038_0.returns.push(o2);
+// 9487
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9488
+f508011038_537.returns.push(1374696769819);
+// 9489
+o2 = {};
+// 9490
+f508011038_0.returns.push(o2);
+// 9491
+o2.getTime = f508011038_537;
+// undefined
+o2 = null;
+// 9492
+f508011038_537.returns.push(1374696769819);
+// 9494
+o2 = {};
+// 9495
+f508011038_518.returns.push(o2);
+// 9496
+o2.parentNode = o10;
+// 9497
+o2.id = "init-data";
+// 9498
+o2.type = "hidden";
+// 9499
+o2.nodeName = "INPUT";
+// 9500
+o2.value = "{\"baseFoucClass\":\"swift-loading\",\"htmlFoucClassNames\":\"swift-loading\",\"htmlClassNames\":\"\",\"macawSwift\":true,\"assetsBasePath\":\"http:\\/\\/jsbngssl.abs.twimg.com\\/a\\/1374512922\\/\",\"environment\":\"production\",\"sandboxes\":{\"jsonp\":\"http:\\/\\/jsbngssl.abs.twimg.com\\/a\\/1374512922\\/jsonp_sandbox.html\",\"detailsPane\":\"http:\\/\\/jsbngssl.abs.twimg.com\\/a\\/1374512922\\/details_pane_content_sandbox.html\"},\"formAuthenticityToken\":\"a25b8139b201868f12abc5ed3fa4ea22f1a06930\",\"loggedIn\":false,\"screenName\":null,\"userId\":null,\"scribeBufferSize\":3,\"pageName\":\"search\",\"sectionName\":\"search\",\"scribeParameters\":{},\"internalReferer\":\"\\/search-home\",\"experiments\":{},\"geoEnabled\":false,\"typeaheadData\":{\"accounts\":{\"localQueriesEnabled\":false,\"remoteQueriesEnabled\":false,\"enabled\":false,\"limit\":6},\"trendLocations\":{\"enabled\":false},\"savedSearches\":{\"enabled\":false,\"items\":[]},\"dmAccounts\":{\"enabled\":false,\"localQueriesEnabled\":false,\"onlyDMable\":true,\"remoteQueriesEnabled\":false},\"topics\":{\"enabled\":false,\"localQueriesEnabled\":false,\"prefetchLimit\":500,\"remoteQueriesEnabled\":false,\"remoteQueriesOverrideLocal\":false,\"limit\":4},\"recentSearches\":{\"enabled\":false},\"contextHelpers\":{\"enabled\":false,\"page_name\":\"search\",\"section_name\":\"search\",\"screen_name\":null},\"hashtags\":{\"enabled\":false,\"localQueriesEnabled\":false,\"prefetchLimit\":500,\"remoteQueriesEnabled\":false},\"showSearchAccountSocialContext\":false,\"showTypeaheadTopicSocialContext\":false,\"showDebugInfo\":false,\"useThrottle\":true,\"accountsOnTop\":false,\"remoteDebounceInterval\":300,\"remoteThrottleInterval\":300,\"tweetContextEnabled\":false,\"fullNameMatchingInCompose\":false,\"fullNameMatchingInComposeRequiresFollow\":false},\"pushStatePageLimit\":500000,\"routes\":{\"profile\":\"\\/\"},\"pushState\":true,\"viewContainer\":\"#page-container\",\"asyncSocialProof\":true,\"dragAndDropPhotoUpload\":true,\"href\":\"\\/search?q=javascript\",\"searchPathWithQuery\":\"\\/search?q=query&src=typd\",\"timelineCardsGallery\":true,\"mediaGrid\":true,\"deciders\":{\"oembed_use_macaw_syndication\":true,\"preserve_scroll_position\":false,\"pushState\":true},\"permalinkCardsGallery\":false,\"notifications_dm\":false,\"notifications_spoonbill\":false,\"notifications_timeline\":false,\"notifications_dm_poll_scale\":60,\"universalSearch\":false,\"query\":\"javascript\",\"showAllInlineMedia\":false,\"search_endpoint\":\"\\/i\\/search\\/timeline?type=relevance\",\"help_pips_decider\":false,\"cardsGallery\":true,\"oneboxType\":\"\",\"wtfRefreshOnNewTweets\":false,\"wtfOptions\":{\"pc\":true,\"connections\":true,\"limit\":3,\"display_location\":\"wtf-component\",\"dismissable\":true},\"trendsCacheKey\":null,\"decider_personalized_trends\":true,\"trendsLocationDialogEnabled\":true,\"pollingOptions\":{\"focusedInterval\":30000,\"blurredInterval\":300000,\"backoffFactor\":2,\"backoffEmptyResponseLimit\":2,\"pauseAfterBackoff\":true,\"resumeItemCount\":40},\"initialState\":{\"title\":\"Twitter \\/ Search - javascript\",\"section\":null,\"module\":\"app\\/pages\\/search\\/search\",\"cache_ttl\":300,\"body_class_names\":\"t1 logged-out ms-windows\",\"doc_class_names\":null,\"page_container_class_names\":\"wrapper wrapper-search white\",\"ttft_navigation\":false}}";
+// undefined
+o2 = null;
+// 9501
+// 9502
+// 9503
+// 9504
+// undefined
+o7 = null;
+// 9506
+o0.jQuery = void 0;
+// 9507
+o0.jquery = void 0;
+// 9511
+o0.nodeName = "#document";
+// undefined
+fo508011038_1_jQuery18305379572303500026 = function() { return fo508011038_1_jQuery18305379572303500026.returns[fo508011038_1_jQuery18305379572303500026.inst++]; };
+fo508011038_1_jQuery18305379572303500026.returns = [];
+fo508011038_1_jQuery18305379572303500026.inst = 0;
+defineGetter(o0, "jQuery18305379572303500026", fo508011038_1_jQuery18305379572303500026, undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(void 0);
+// 9515
+// 9518
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9527
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9540
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9549
+f508011038_469.returns.push(undefined);
+// 9550
+o1.setItem = f508011038_742;
+// 9551
+f508011038_742.returns.push(undefined);
+// 9552
+o1.getItem = f508011038_575;
+// 9553
+f508011038_575.returns.push("test");
+// 9554
+o1.removeItem = f508011038_743;
+// undefined
+o1 = null;
+// 9555
+f508011038_743.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9566
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9575
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9584
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9593
+f508011038_469.returns.push(undefined);
+// 9594
+f508011038_7.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9607
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9616
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9625
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9634
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9643
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9652
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9661
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9670
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9679
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9693
+f508011038_469.returns.push(undefined);
+// 9696
+f508011038_469.returns.push(undefined);
+// 9699
+f508011038_469.returns.push(undefined);
+// 9702
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9712
+f508011038_469.returns.push(undefined);
+// 9715
+f508011038_469.returns.push(undefined);
+// 9718
+f508011038_469.returns.push(undefined);
+// 9721
+f508011038_469.returns.push(undefined);
+// 9724
+f508011038_469.returns.push(undefined);
+// 9727
+f508011038_469.returns.push(undefined);
+// 9730
+f508011038_469.returns.push(undefined);
+// 9733
+f508011038_469.returns.push(undefined);
+// 9736
+f508011038_469.returns.push(undefined);
+// 9739
+f508011038_469.returns.push(undefined);
+// 9742
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9756
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9766
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9776
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9786
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9796
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9806
+f508011038_469.returns.push(undefined);
+// 9809
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9819
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9829
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9839
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9863
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9873
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9883
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9898
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9917
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9926
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9939
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9948
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9957
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9972
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9981
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 9996
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10005
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10014
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10024
+f508011038_469.returns.push(undefined);
+// 10025
+f508011038_2581 = function() { return f508011038_2581.returns[f508011038_2581.inst++]; };
+f508011038_2581.returns = [];
+f508011038_2581.inst = 0;
+// 10026
+o4.pushState = f508011038_2581;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10037
+f508011038_7.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10052
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10061
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10087
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10096
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10106
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10116
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10150
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10159
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10178
+f508011038_469.returns.push(undefined);
+// 10180
+o1 = {};
+// 10181
+f508011038_518.returns.push(o1);
+// 10182
+o1.parentNode = o10;
+// 10183
+o1.id = "message-drawer";
+// 10184
+o1.jQuery = void 0;
+// 10185
+o1.jquery = void 0;
+// 10186
+o1.nodeType = 1;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10196
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10206
+f508011038_469.returns.push(undefined);
+// 10209
+o1.nodeName = "DIV";
+// 10212
+o1.jQuery18305379572303500026 = void 0;
+// 10213
+// 10214
+o1.JSBNG__addEventListener = f508011038_469;
+// undefined
+o1 = null;
+// 10216
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10244
+f508011038_469.returns.push(undefined);
+// 10247
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10257
+f508011038_469.returns.push(undefined);
+// 10260
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10270
+f508011038_469.returns.push(undefined);
+// 10273
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10283
+f508011038_469.returns.push(undefined);
+// 10286
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10303
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10313
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10323
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10333
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10343
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10353
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10363
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10373
+f508011038_469.returns.push(undefined);
+// 10376
+f508011038_469.returns.push(undefined);
+// 10379
+f508011038_469.returns.push(undefined);
+// 10382
+f508011038_469.returns.push(undefined);
+// 10385
+f508011038_469.returns.push(undefined);
+// 10388
+f508011038_469.returns.push(undefined);
+// 10395
+o1 = {};
+// 10396
+f508011038_558.returns.push(o1);
+// 10397
+o2 = {};
+// 10398
+o1["0"] = o2;
+// 10399
+o1["1"] = void 0;
+// undefined
+o1 = null;
+// 10400
+o2.jQuery = void 0;
+// 10401
+o2.jquery = void 0;
+// 10402
+o2.nodeType = 1;
+// 10405
+o2.nodeName = "LI";
+// 10408
+o2.jQuery18305379572303500026 = void 0;
+// 10409
+// 10410
+o2.JSBNG__addEventListener = f508011038_469;
+// undefined
+o2 = null;
+// 10412
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10429
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10439
+f508011038_469.returns.push(undefined);
+// 10441
+f508011038_518.returns.push(null);
+// 10443
+o1 = {};
+// 10444
+f508011038_518.returns.push(o1);
+// 10445
+o2 = {};
+// 10446
+o1.parentNode = o2;
+// undefined
+o2 = null;
+// 10447
+o1.id = "global-nav-search";
+// 10448
+o1.jQuery = void 0;
+// 10449
+o1.jquery = void 0;
+// 10450
+o1.nodeType = 1;
+// 10452
+o1.ownerDocument = o0;
+// 10458
+o2 = {};
+// 10459
+f508011038_518.returns.push(o2);
+// 10461
+o2.parentNode = o1;
+// 10462
+o2.id = "search-query";
+// 10470
+o3 = {};
+// 10471
+f508011038_518.returns.push(o3);
+// 10473
+o3.parentNode = o1;
+// 10474
+o3.id = "search-query-hint";
+// undefined
+o3 = null;
+// 10475
+o2.nodeType = 1;
+// 10477
+o2.type = "text";
+// 10478
+o2.nodeName = "INPUT";
+// 10479
+// 10482
+o1.nodeName = "FORM";
+// undefined
+fo508011038_2585_jQuery18305379572303500026 = function() { return fo508011038_2585_jQuery18305379572303500026.returns[fo508011038_2585_jQuery18305379572303500026.inst++]; };
+fo508011038_2585_jQuery18305379572303500026.returns = [];
+fo508011038_2585_jQuery18305379572303500026.inst = 0;
+defineGetter(o1, "jQuery18305379572303500026", fo508011038_2585_jQuery18305379572303500026, undefined);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(void 0);
+// 10486
+// 10487
+o1.JSBNG__addEventListener = f508011038_469;
+// 10489
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10498
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026 = function() { return fo508011038_2587_jQuery18305379572303500026.returns[fo508011038_2587_jQuery18305379572303500026.inst++]; };
+fo508011038_2587_jQuery18305379572303500026.returns = [];
+fo508011038_2587_jQuery18305379572303500026.inst = 0;
+defineGetter(o2, "jQuery18305379572303500026", fo508011038_2587_jQuery18305379572303500026, undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026.returns.push(void 0);
+// 10505
+// 10506
+o2.JSBNG__addEventListener = f508011038_469;
+// 10508
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026.returns.push(93);
+// 10517
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10526
+f508011038_469.returns.push(undefined);
+// 10531
+o1.getElementsByClassName = f508011038_508;
+// 10533
+o3 = {};
+// 10534
+f508011038_508.returns.push(o3);
+// 10535
+o5 = {};
+// 10536
+o3["0"] = o5;
+// 10537
+o3["1"] = void 0;
+// undefined
+o3 = null;
+// 10538
+o5.nodeType = 1;
+// 10540
+o5.nodeName = "SPAN";
+// 10543
+o5.jQuery18305379572303500026 = void 0;
+// 10544
+// 10545
+o5.JSBNG__addEventListener = f508011038_469;
+// undefined
+o5 = null;
+// 10547
+f508011038_469.returns.push(undefined);
+// 10549
+f508011038_518.returns.push(o1);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10563
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10572
+f508011038_469.returns.push(undefined);
+// 10575
+f508011038_469.returns.push(undefined);
+// 10577
+f508011038_518.returns.push(o1);
+// undefined
+o1 = null;
+// 10590
+f508011038_518.returns.push(o2);
+// 10594
+o2.ownerDocument = o0;
+// undefined
+o2 = null;
+// 10597
+f508011038_525.returns.push(true);
+// 10601
+f508011038_525.returns.push(false);
+// 10608
+o1 = {};
+// 10609
+f508011038_508.returns.push(o1);
+// 10610
+o2 = {};
+// 10611
+o1["0"] = o2;
+// 10612
+o1["1"] = void 0;
+// undefined
+o1 = null;
+// 10614
+o1 = {};
+// 10615
+f508011038_470.returns.push(o1);
+// 10616
+o1.setAttribute = f508011038_472;
+// 10617
+f508011038_472.returns.push(undefined);
+// 10618
+o1.JSBNG__oninput = null;
+// undefined
+o1 = null;
+// 10619
+o2.nodeType = 1;
+// 10620
+o2.getAttribute = f508011038_468;
+// 10621
+o2.ownerDocument = o0;
+// 10624
+o2.setAttribute = f508011038_472;
+// undefined
+o2 = null;
+// 10625
+f508011038_472.returns.push(undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026.returns.push(93);
+// 10634
+f508011038_469.returns.push(undefined);
+// 10637
+f508011038_469.returns.push(undefined);
+// 10640
+f508011038_469.returns.push(undefined);
+// 10643
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026.returns.push(93);
+// 10652
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10661
+f508011038_469.returns.push(undefined);
+// undefined
+fo508011038_2587_jQuery18305379572303500026.returns.push(93);
+// undefined
+fo508011038_2585_jQuery18305379572303500026.returns.push(90);
+// 10676
+f508011038_469.returns.push(undefined);
+// 10684
+// 10685
+o1 = {};
+// undefined
+o1 = null;
+// 10686
+o0.body = o10;
+// 10688
+o1 = {};
+// 10689
+f508011038_546.returns.push(o1);
+// 10690
+o1["0"] = o10;
+// undefined
+o1 = null;
+// 10692
+o1 = {};
+// 10693
+f508011038_470.returns.push(o1);
+// 10694
+o2 = {};
+// 10695
+o1.style = o2;
+// 10696
+// 10697
+o10.insertBefore = f508011038_513;
+// 10698
+o3 = {};
+// 10699
+o10.firstChild = o3;
+// undefined
+o3 = null;
+// 10700
+f508011038_513.returns.push(o1);
+// 10702
+o3 = {};
+// 10703
+f508011038_470.returns.push(o3);
+// 10704
+o1.appendChild = f508011038_478;
+// 10705
+f508011038_478.returns.push(o3);
+// 10706
+// 10707
+o3.getElementsByTagName = f508011038_473;
+// 10708
+o5 = {};
+// 10709
+f508011038_473.returns.push(o5);
+// 10710
+o7 = {};
+// 10711
+o5["0"] = o7;
+// 10712
+o8 = {};
+// 10713
+o7.style = o8;
+// 10714
+// 10716
+o7.offsetHeight = 0;
+// undefined
+o7 = null;
+// 10719
+// undefined
+o8 = null;
+// 10720
+o7 = {};
+// 10721
+o5["1"] = o7;
+// undefined
+o5 = null;
+// 10722
+o5 = {};
+// 10723
+o7.style = o5;
+// undefined
+o7 = null;
+// 10724
+// undefined
+o5 = null;
+// 10727
+// 10728
+o5 = {};
+// 10729
+o3.style = o5;
+// 10730
+// undefined
+fo508011038_2599_offsetWidth = function() { return fo508011038_2599_offsetWidth.returns[fo508011038_2599_offsetWidth.inst++]; };
+fo508011038_2599_offsetWidth.returns = [];
+fo508011038_2599_offsetWidth.inst = 0;
+defineGetter(o3, "offsetWidth", fo508011038_2599_offsetWidth, undefined);
+// undefined
+fo508011038_2599_offsetWidth.returns.push(4);
+// 10732
+o10.offsetTop = 0;
+// 10733
+o7 = {};
+// 10734
+f508011038_4.returns.push(o7);
+// 10735
+o7.JSBNG__top = "7.265625px";
+// undefined
+o7 = null;
+// 10736
+o7 = {};
+// 10737
+f508011038_4.returns.push(o7);
+// 10738
+o7.width = "4px";
+// undefined
+o7 = null;
+// 10740
+o7 = {};
+// 10741
+f508011038_470.returns.push(o7);
+// 10742
+o8 = {};
+// 10743
+o7.style = o8;
+// 10745
+// 10746
+// 10749
+// 10750
+// undefined
+o8 = null;
+// 10752
+// 10753
+o3.appendChild = f508011038_478;
+// 10754
+f508011038_478.returns.push(o7);
+// undefined
+o7 = null;
+// 10755
+o7 = {};
+// 10756
+f508011038_4.returns.push(o7);
+// 10757
+o7.marginRight = "0px";
+// undefined
+o7 = null;
+// 10759
+o5.zoom = "";
+// 10760
+// 10762
+// undefined
+fo508011038_2599_offsetWidth.returns.push(2);
+// 10765
+// 10767
+// undefined
+o5 = null;
+// 10768
+// 10769
+o5 = {};
+// 10770
+o3.firstChild = o5;
+// undefined
+o3 = null;
+// 10771
+o3 = {};
+// 10772
+o5.style = o3;
+// undefined
+o5 = null;
+// 10773
+// undefined
+o3 = null;
+// undefined
+fo508011038_2599_offsetWidth.returns.push(3);
+// 10776
+// undefined
+o2 = null;
+// 10777
+o10.removeChild = f508011038_497;
+// 10778
+f508011038_497.returns.push(o1);
+// undefined
+o1 = null;
+// 10782
+o1 = {};
+// 10783
+f508011038_0.returns.push(o1);
+// 10784
+o1.getTime = f508011038_537;
+// undefined
+o1 = null;
+// 10785
+f508011038_537.returns.push(1374696769933);
+// 10786
+o0.window = void 0;
+// 10787
+o0.parentNode = null;
+// 10789
+o0.defaultView = ow508011038;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10794
+o0.JSBNG__onready = void 0;
+// 10795
+ow508011038.JSBNG__onready = undefined;
+// 10798
+o0.ready = void 0;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10805
+o1 = {};
+// 10806
+o1.type = "popstate";
+// 10807
+o1.jQuery18305379572303500026 = void 0;
+// 10811
+o1.defaultPrevented = false;
+// 10812
+o1.returnValue = true;
+// 10813
+o1.getPreventDefault = void 0;
+// 10814
+o1.timeStamp = 1374696769937;
+// 10815
+o1.which = void 0;
+// 10816
+o1.view = void 0;
+// 10818
+o1.target = ow508011038;
+// 10819
+o1.shiftKey = void 0;
+// 10820
+o1.relatedTarget = void 0;
+// 10821
+o1.metaKey = void 0;
+// 10822
+o1.eventPhase = 2;
+// 10823
+o1.currentTarget = ow508011038;
+// 10824
+o1.ctrlKey = void 0;
+// 10825
+o1.cancelable = true;
+// 10826
+o1.bubbles = false;
+// 10827
+o1.altKey = void 0;
+// 10828
+o1.srcElement = ow508011038;
+// 10829
+o1.relatedNode = void 0;
+// 10830
+o1.attrName = void 0;
+// 10831
+o1.attrChange = void 0;
+// 10832
+o1.state = null;
+// undefined
+o1 = null;
+// 10833
+o1 = {};
+// 10834
+o1.type = "mouseout";
+// 10835
+o1.jQuery18305379572303500026 = void 0;
+// 10839
+o1.defaultPrevented = false;
+// 10840
+o1.returnValue = true;
+// 10841
+o1.getPreventDefault = void 0;
+// 10842
+o1.timeStamp = 1374696770589;
+// 10843
+o2 = {};
+// 10844
+o1.toElement = o2;
+// 10845
+o1.screenY = 739;
+// 10846
+o1.screenX = 159;
+// 10847
+o1.pageY = 574;
+// 10848
+o1.pageX = 91;
+// 10849
+o1.offsetY = 574;
+// 10850
+o1.offsetX = 15;
+// 10851
+o3 = {};
+// 10852
+o1.fromElement = o3;
+// 10853
+o1.clientY = 574;
+// 10854
+o1.clientX = 91;
+// 10855
+o1.buttons = void 0;
+// 10856
+o1.button = 0;
+// 10857
+o1.which = 0;
+// 10858
+o1.view = ow508011038;
+// 10860
+o1.target = o3;
+// 10861
+o1.shiftKey = false;
+// 10862
+o1.relatedTarget = o2;
+// 10863
+o1.metaKey = false;
+// 10864
+o1.eventPhase = 3;
+// 10865
+o1.currentTarget = o0;
+// 10866
+o1.ctrlKey = false;
+// 10867
+o1.cancelable = true;
+// 10868
+o1.bubbles = true;
+// 10869
+o1.altKey = false;
+// 10870
+o1.srcElement = o3;
+// 10871
+o1.relatedNode = void 0;
+// 10872
+o1.attrName = void 0;
+// 10873
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// 10874
+o3.nodeType = 1;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10881
+o3.disabled = void 0;
+// 10886
+o3.className = "wrapper wrapper-search white";
+// 10887
+o1 = {};
+// 10888
+o3.parentNode = o1;
+// 10889
+o1.disabled = void 0;
+// 10894
+o1.className = "";
+// 10895
+o1.getAttribute = f508011038_468;
+// 10897
+f508011038_468.returns.push(null);
+// 10898
+o5 = {};
+// 10899
+o1.parentNode = o5;
+// undefined
+o1 = null;
+// 10900
+o5.disabled = void 0;
+// 10905
+o5.className = "";
+// 10906
+o5.getAttribute = f508011038_468;
+// 10908
+f508011038_468.returns.push("");
+// 10909
+o5.parentNode = o10;
+// undefined
+o5 = null;
+// 10910
+o10.disabled = void 0;
+// 10915
+o10.className = "t1 logged-out ms-windows";
+// 10916
+o10.parentNode = o6;
+// undefined
+o10 = null;
+// 10917
+o6.disabled = void 0;
+// 10922
+o6.parentNode = o0;
+// undefined
+o6 = null;
+// 10923
+o1 = {};
+// 10924
+o1.type = "mouseover";
+// 10925
+o1.jQuery18305379572303500026 = void 0;
+// 10929
+o1.defaultPrevented = false;
+// 10930
+o1.returnValue = true;
+// 10931
+o1.getPreventDefault = void 0;
+// 10932
+o1.timeStamp = 1374696770601;
+// 10933
+o1.toElement = o2;
+// 10934
+o1.screenY = 739;
+// 10935
+o1.screenX = 159;
+// 10936
+o1.pageY = 574;
+// 10937
+o1.pageX = 91;
+// 10938
+o1.offsetY = 520;
+// 10939
+o1.offsetX = 1;
+// 10940
+o1.fromElement = o3;
+// 10941
+o1.clientY = 574;
+// 10942
+o1.clientX = 91;
+// 10943
+o1.buttons = void 0;
+// 10944
+o1.button = 0;
+// 10945
+o1.which = 0;
+// 10946
+o1.view = ow508011038;
+// 10948
+o1.target = o2;
+// 10949
+o1.shiftKey = false;
+// 10950
+o1.relatedTarget = o3;
+// 10951
+o1.metaKey = false;
+// 10952
+o1.eventPhase = 3;
+// 10953
+o1.currentTarget = o0;
+// 10954
+o1.ctrlKey = false;
+// 10955
+o1.cancelable = true;
+// 10956
+o1.bubbles = true;
+// 10957
+o1.altKey = false;
+// 10958
+o1.srcElement = o2;
+// 10959
+o1.relatedNode = void 0;
+// 10960
+o1.attrName = void 0;
+// 10961
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// 10962
+o2.nodeType = 1;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 10969
+o2.disabled = void 0;
+// 10974
+o2.className = "dashboard";
+// 10975
+o2.parentNode = o3;
+// 10991
+f508011038_468.returns.push(null);
+// 11001
+f508011038_468.returns.push("");
+// 11016
+o1 = {};
+// 11017
+o1.type = "mouseout";
+// 11018
+o1.jQuery18305379572303500026 = void 0;
+// 11022
+o1.defaultPrevented = false;
+// 11023
+o1.returnValue = true;
+// 11024
+o1.getPreventDefault = void 0;
+// 11025
+o1.timeStamp = 1374696771073;
+// 11026
+o1.toElement = o3;
+// 11027
+o1.screenY = 739;
+// 11028
+o1.screenX = 159;
+// 11029
+o1.pageY = 1074;
+// 11030
+o1.pageX = 91;
+// 11031
+o1.offsetY = 1020;
+// 11032
+o1.offsetX = 1;
+// 11033
+o1.fromElement = o2;
+// 11034
+o1.clientY = 574;
+// 11035
+o1.clientX = 91;
+// 11036
+o1.buttons = void 0;
+// 11037
+o1.button = 0;
+// 11038
+o1.which = 0;
+// 11039
+o1.view = ow508011038;
+// 11041
+o1.target = o2;
+// 11042
+o1.shiftKey = false;
+// 11043
+o1.relatedTarget = o3;
+// 11044
+o1.metaKey = false;
+// 11045
+o1.eventPhase = 3;
+// 11046
+o1.currentTarget = o0;
+// 11047
+o1.ctrlKey = false;
+// 11048
+o1.cancelable = true;
+// 11049
+o1.bubbles = true;
+// 11050
+o1.altKey = false;
+// 11051
+o1.srcElement = o2;
+// 11052
+o1.relatedNode = void 0;
+// 11053
+o1.attrName = void 0;
+// 11054
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 11084
+f508011038_468.returns.push(null);
+// 11094
+f508011038_468.returns.push("");
+// 11109
+o1 = {};
+// 11110
+o1.type = "mouseover";
+// 11111
+o1.jQuery18305379572303500026 = void 0;
+// 11115
+o1.defaultPrevented = false;
+// 11116
+o1.returnValue = true;
+// 11117
+o1.getPreventDefault = void 0;
+// 11118
+o1.timeStamp = 1374696771082;
+// 11119
+o1.toElement = o3;
+// 11120
+o1.screenY = 739;
+// 11121
+o1.screenX = 159;
+// 11122
+o1.pageY = 1074;
+// 11123
+o1.pageX = 91;
+// 11124
+o1.offsetY = 1074;
+// 11125
+o1.offsetX = 15;
+// 11126
+o1.fromElement = o2;
+// 11127
+o1.clientY = 574;
+// 11128
+o1.clientX = 91;
+// 11129
+o1.buttons = void 0;
+// 11130
+o1.button = 0;
+// 11131
+o1.which = 0;
+// 11132
+o1.view = ow508011038;
+// 11134
+o1.target = o3;
+// 11135
+o1.shiftKey = false;
+// 11136
+o1.relatedTarget = o2;
+// 11137
+o1.metaKey = false;
+// 11138
+o1.eventPhase = 3;
+// 11139
+o1.currentTarget = o0;
+// 11140
+o1.ctrlKey = false;
+// 11141
+o1.cancelable = true;
+// 11142
+o1.bubbles = true;
+// 11143
+o1.altKey = false;
+// 11144
+o1.srcElement = o3;
+// 11145
+o1.relatedNode = void 0;
+// 11146
+o1.attrName = void 0;
+// 11147
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 11170
+f508011038_468.returns.push(null);
+// 11180
+f508011038_468.returns.push("");
+// 11195
+o1 = {};
+// 11196
+o1.type = "mouseout";
+// 11197
+o1.jQuery18305379572303500026 = void 0;
+// 11201
+o1.defaultPrevented = false;
+// 11202
+o1.returnValue = true;
+// 11203
+o1.getPreventDefault = void 0;
+// 11204
+o1.timeStamp = 1374696772627;
+// 11205
+o5 = {};
+// 11206
+o1.toElement = o5;
+// 11207
+o1.screenY = 732;
+// 11208
+o1.screenX = 218;
+// 11209
+o1.pageY = 567;
+// 11210
+o1.pageX = 150;
+// 11211
+o1.offsetY = 567;
+// 11212
+o1.offsetX = 74;
+// 11213
+o1.fromElement = o3;
+// 11214
+o1.clientY = 567;
+// 11215
+o1.clientX = 150;
+// 11216
+o1.buttons = void 0;
+// 11217
+o1.button = 0;
+// 11218
+o1.which = 0;
+// 11219
+o1.view = ow508011038;
+// 11221
+o1.target = o3;
+// 11222
+o1.shiftKey = false;
+// 11223
+o1.relatedTarget = o5;
+// 11224
+o1.metaKey = false;
+// 11225
+o1.eventPhase = 3;
+// 11226
+o1.currentTarget = o0;
+// 11227
+o1.ctrlKey = false;
+// 11228
+o1.cancelable = true;
+// 11229
+o1.bubbles = true;
+// 11230
+o1.altKey = false;
+// 11231
+o1.srcElement = o3;
+// 11232
+o1.relatedNode = void 0;
+// 11233
+o1.attrName = void 0;
+// 11234
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 11257
+f508011038_468.returns.push(null);
+// 11267
+f508011038_468.returns.push("");
+// 11282
+o1 = {};
+// 11283
+o1.type = "mouseover";
+// 11284
+o1.jQuery18305379572303500026 = void 0;
+// 11288
+o1.defaultPrevented = false;
+// 11289
+o1.returnValue = true;
+// 11290
+o1.getPreventDefault = void 0;
+// 11291
+o1.timeStamp = 1374696772674;
+// 11292
+o1.toElement = o5;
+// 11293
+o1.screenY = 732;
+// 11294
+o1.screenX = 218;
+// 11295
+o1.pageY = 567;
+// 11296
+o1.pageX = 150;
+// 11297
+o1.offsetY = 94;
+// 11298
+o1.offsetX = 59;
+// 11299
+o1.fromElement = o3;
+// 11300
+o1.clientY = 567;
+// 11301
+o1.clientX = 150;
+// 11302
+o1.buttons = void 0;
+// 11303
+o1.button = 0;
+// 11304
+o1.which = 0;
+// 11305
+o1.view = ow508011038;
+// 11307
+o1.target = o5;
+// 11308
+o1.shiftKey = false;
+// 11309
+o1.relatedTarget = o3;
+// undefined
+o3 = null;
+// 11310
+o1.metaKey = false;
+// 11311
+o1.eventPhase = 3;
+// 11312
+o1.currentTarget = o0;
+// 11313
+o1.ctrlKey = false;
+// 11314
+o1.cancelable = true;
+// 11315
+o1.bubbles = true;
+// 11316
+o1.altKey = false;
+// 11317
+o1.srcElement = o5;
+// 11318
+o1.relatedNode = void 0;
+// 11319
+o1.attrName = void 0;
+// 11320
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// 11321
+o5.nodeType = 1;
+// undefined
+fo508011038_1_jQuery18305379572303500026.returns.push(1);
+// 11328
+o5.disabled = void 0;
+// 11333
+o5.className = "flex-module";
+// 11334
+o1 = {};
+// 11335
+o5.parentNode = o1;
+// undefined
+o5 = null;
+// 11336
+o1.disabled = void 0;
+// 11341
+o1.className = "module site-footer ";
+// 11342
+o1.parentNode = o2;
+// undefined
+o1 = null;
+// undefined
+o2 = null;
+// 11365
+f508011038_468.returns.push(null);
+// 11375
+f508011038_468.returns.push("");
+// 11390
+o1 = {};
+// 11391
+o1.type = "beforeunload";
+// 11392
+o1.jQuery18305379572303500026 = void 0;
+// 11396
+o1.defaultPrevented = false;
+// 11397
+o1.returnValue = true;
+// 11398
+o1.getPreventDefault = void 0;
+// 11399
+o1.timeStamp = 1374696773143;
+// 11400
+o1.which = void 0;
+// 11401
+o1.view = void 0;
+// 11403
+o1.target = o0;
+// 11404
+o1.shiftKey = void 0;
+// 11405
+o1.relatedTarget = void 0;
+// 11406
+o1.metaKey = void 0;
+// 11407
+o1.eventPhase = 2;
+// 11408
+o1.currentTarget = ow508011038;
+// 11409
+o1.ctrlKey = void 0;
+// 11410
+o1.cancelable = true;
+// 11411
+o1.bubbles = false;
+// 11412
+o1.altKey = void 0;
+// 11413
+o1.srcElement = o0;
+// 11414
+o1.relatedNode = void 0;
+// 11415
+o1.attrName = void 0;
+// 11416
+o1.attrChange = void 0;
+// undefined
+o1 = null;
+// 11418
+f508011038_2628 = function() { return f508011038_2628.returns[f508011038_2628.inst++]; };
+f508011038_2628.returns = [];
+f508011038_2628.inst = 0;
+// 11419
+o4.replaceState = f508011038_2628;
+// undefined
+o4 = null;
+// 11420
+o0.title = "Twitter / Search - javascript";
+// undefined
+o0 = null;
+// 11421
+f508011038_2628.returns.push(undefined);
+// 11422
+// 0
+JSBNG_Replay$ = function(real, cb) { if (!real) return;
+// 979
+geval("Function.prototype.bind = function(to) {\n    var f = this;\n    return function() {\n        Function.prototype.apply.call(f, to, arguments);\n    };\n};");
+// 980
+geval("Function.prototype.bind = function(to) {\n    var f = this;\n    return function() {\n        Function.prototype.apply.call(f, to, arguments);\n    };\n};");
+// 982
+geval("JSBNG__document.documentElement.className = ((((JSBNG__document.documentElement.className + \" \")) + JSBNG__document.documentElement.getAttribute(\"data-fouc-class-names\")));");
+// 992
+geval("(function() {\n    function f(a) {\n        a = ((a || window.JSBNG__event));\n        if (!a) {\n            return;\n        }\n    ;\n    ;\n        ((((!a.target && a.srcElement)) && (a.target = a.srcElement)));\n        if (!j(a)) {\n            return;\n        }\n    ;\n    ;\n        if (!JSBNG__document.JSBNG__addEventListener) {\n            var b = {\n            };\n            {\n                var fin0keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin0i = (0);\n                var c;\n                for (; (fin0i < fin0keys.length); (fin0i++)) {\n                    ((c) = (fin0keys[fin0i]));\n                    {\n                        b[c] = a[c];\n                    ;\n                    };\n                };\n            };\n        ;\n            a = b;\n        }\n    ;\n    ;\n        a.preventDefault = a.stopPropagation = a.stopImmediatePropagation = function() {\n        \n        };\n        d.push(a);\n        return !1;\n    };\n;\n    function g($) {\n        i();\n        for (var b = 0, c; c = d[b]; b++) {\n            var e = $(c.target);\n            if (((((c.type == \"click\")) && ((c.target.tagName.toLowerCase() == \"a\"))))) {\n                var f = $.data(e.get(0), \"events\"), g = ((f && f.click)), j = ((!c.target.hostname.match(a) || !c.target.href.match(/#$/)));\n                if (((!g && j))) {\n                    window.JSBNG__location = c.target.href;\n                    continue;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            e.trigger(c);\n        };\n    ;\n        window.swiftActionQueue.wasFlushed = !0;\n    };\n;\n    {\n        function i() {\n            ((e && JSBNG__clearTimeout(e)));\n            for (var a = 0; ((a < c.length)); a++) {\n                JSBNG__document[((\"JSBNG__on\" + c[a]))] = null;\n            ;\n            };\n        ;\n        };\n        ((window.top.JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4.push)((i)));\n    };\n;\n    function j(c) {\n        var d = c.target.tagName.toLowerCase();\n        if (((d == \"label\"))) {\n            if (c.target.getAttribute(\"for\")) {\n                var e = JSBNG__document.getElementById(c.target.getAttribute(\"for\"));\n                if (((e.getAttribute(\"type\") == \"checkbox\"))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n             else for (var f = 0; ((f < c.target.childNodes.length)); f++) {\n                if (((((((c.target.childNodes[f].tagName || \"\")).toLowerCase() == \"input\")) && ((c.target.childNodes[f].getAttribute(\"type\") == \"checkbox\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n        ;\n        }\n    ;\n    ;\n        if (((((((d == \"textarea\")) || ((((d == \"input\")) && ((c.target.getAttribute(\"type\") == \"text\")))))) || ((c.target.getAttribute(\"contenteditable\") == \"true\"))))) {\n            if (c.type.match(b)) {\n                return !1;\n            }\n        ;\n        }\n    ;\n    ;\n        return ((c.metaKey ? !1 : ((((((c.clientX && c.shiftKey)) && ((d == \"a\")))) ? !1 : ((((((c.target && c.target.hostname)) && !c.target.hostname.match(a))) ? !1 : !0))))));\n    };\n;\n    var a = /^([^\\.]+\\.)*twitter.com$/, b = /^key/, c = [\"click\",\"keydown\",\"keypress\",\"keyup\",], d = [], e = null;\n    for (var k = 0; ((k < c.length)); k++) {\n        JSBNG__document[((\"JSBNG__on\" + c[k]))] = f;\n    ;\n    };\n;\n    JSBNG__setTimeout(i, 10000);\n    window.swiftActionQueue = {\n        flush: g,\n        wasFlushed: !1\n    };\n})();");
+// 998
+geval("(function() {\n    function a(a) {\n        a.target.setAttribute(\"data-in-composition\", \"true\");\n    };\n;\n    function b(a) {\n        a.target.removeAttribute(\"data-in-composition\");\n    };\n;\n    if (JSBNG__document.JSBNG__addEventListener) {\n        JSBNG__document.JSBNG__addEventListener(\"compositionstart\", a, !1);\n        JSBNG__document.JSBNG__addEventListener(\"compositionend\", b, !1);\n    }\n;\n;\n})();");
+// 1005
+geval("try {\n    JSBNG__document.domain = \"twitter.com\";\n    (function() {\n        function a() {\n            JSBNG__document.write = \"\";\n            window.JSBNG__top.JSBNG__location = window.JSBNG__self.JSBNG__location;\n            JSBNG__setTimeout(function() {\n                JSBNG__document.body.innerHTML = \"\";\n            }, 0);\n            window.JSBNG__self.JSBNG__onload = function(a) {\n                JSBNG__document.body.innerHTML = \"\";\n            };\n        };\n    ;\n        if (((window.JSBNG__top !== window.JSBNG__self))) {\n            try {\n                ((window.JSBNG__top.JSBNG__location.host || a()));\n            } catch (b) {\n                a();\n            };\n        }\n    ;\n    ;\n    })();\n    (function(a, b) {\n        function H(a) {\n            var b = G[a] = {\n            };\n            q.each(a.split(t), function(_, a) {\n                b[a] = !0;\n            });\n            return b;\n        };\n    ;\n        function K(a, c, d) {\n            if (((((d === b)) && ((a.nodeType === 1))))) {\n                var e = ((\"data-\" + c.replace(J, \"-$1\").toLowerCase()));\n                d = a.getAttribute(e);\n                if (((typeof d == \"string\"))) {\n                    try {\n                        d = ((((d === \"true\")) ? !0 : ((((d === \"false\")) ? !1 : ((((d === \"null\")) ? null : ((((((+d + \"\")) === d)) ? +d : ((I.test(d) ? q.parseJSON(d) : d))))))))));\n                    } catch (f) {\n                    \n                    };\n                ;\n                    q.data(a, c, d);\n                }\n                 else d = b;\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        };\n    ;\n        function L(a) {\n            var b;\n            {\n                var fin1keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin1i = (0);\n                (0);\n                for (; (fin1i < fin1keys.length); (fin1i++)) {\n                    ((b) = (fin1keys[fin1i]));\n                    {\n                        if (((((b === \"data\")) && q.isEmptyObject(a[b])))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        if (((b !== \"toJSON\"))) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            return !0;\n        };\n    ;\n        function db() {\n            return !1;\n        };\n    ;\n        function eb() {\n            return !0;\n        };\n    ;\n        function kb(a) {\n            return ((((!a || !a.parentNode)) || ((a.parentNode.nodeType === 11))));\n        };\n    ;\n        function lb(a, b) {\n            do a = a[b]; while (((a && ((a.nodeType !== 1)))));\n            return a;\n        };\n    ;\n        function mb(a, b, c) {\n            b = ((b || 0));\n            if (q.isFunction(b)) {\n                return q.grep(a, function(a, d) {\n                    var e = !!b.call(a, d, a);\n                    return ((e === c));\n                });\n            }\n        ;\n        ;\n            if (b.nodeType) {\n                return q.grep(a, function(a, d) {\n                    return ((((a === b)) === c));\n                });\n            }\n        ;\n        ;\n            if (((typeof b == \"string\"))) {\n                var d = q.grep(a, function(a) {\n                    return ((a.nodeType === 1));\n                });\n                if (hb.test(b)) {\n                    return q.filter(b, d, !c);\n                }\n            ;\n            ;\n                b = q.filter(b, d);\n            }\n        ;\n        ;\n            return q.grep(a, function(a, d) {\n                return ((((q.inArray(a, b) >= 0)) === c));\n            });\n        };\n    ;\n        function nb(a) {\n            var b = ob.split(\"|\"), c = a.createDocumentFragment();\n            if (c.createElement) {\n                while (b.length) {\n                    c.createElement(b.pop());\n                ;\n                };\n            }\n        ;\n        ;\n            return c;\n        };\n    ;\n        function Fb(a, b) {\n            return ((a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))));\n        };\n    ;\n        function Gb(a, b) {\n            if (((((b.nodeType !== 1)) || !q.hasData(a)))) {\n                return;\n            }\n        ;\n        ;\n            var c, d, e, f = q._data(a), g = q._data(b, f), i = f.events;\n            if (i) {\n                delete g.handle;\n                g.events = {\n                };\n                {\n                    var fin2keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin2i = (0);\n                    (0);\n                    for (; (fin2i < fin2keys.length); (fin2i++)) {\n                        ((c) = (fin2keys[fin2i]));\n                        {\n                            for (d = 0, e = i[c].length; ((d < e)); d++) {\n                                q.JSBNG__event.add(b, c, i[c][d]);\n                            ;\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            }\n        ;\n        ;\n            ((g.data && (g.data = q.extend({\n            }, g.data))));\n        };\n    ;\n        function Hb(a, b) {\n            var c;\n            if (((b.nodeType !== 1))) {\n                return;\n            }\n        ;\n        ;\n            ((b.clearAttributes && b.clearAttributes()));\n            ((b.mergeAttributes && b.mergeAttributes(a)));\n            c = b.nodeName.toLowerCase();\n            if (((c === \"object\"))) {\n                ((b.parentNode && (b.outerHTML = a.outerHTML)));\n                ((((((q.support.html5Clone && a.innerHTML)) && !q.trim(b.innerHTML))) && (b.innerHTML = a.innerHTML)));\n            }\n             else if (((((c === \"input\")) && yb.test(a.type)))) {\n                b.defaultChecked = b.checked = a.checked;\n                ((((b.value !== a.value)) && (b.value = a.value)));\n            }\n             else ((((c === \"option\")) ? b.selected = a.defaultSelected : ((((((c === \"input\")) || ((c === \"textarea\")))) ? b.defaultValue = a.defaultValue : ((((((c === \"script\")) && ((b.text !== a.text)))) && (b.text = a.text)))))));\n            \n        ;\n        ;\n            b.removeAttribute(q.expando);\n        };\n    ;\n        function Ib(a) {\n            return ((((typeof a.getElementsByTagName != \"undefined\")) ? a.getElementsByTagName(\"*\") : ((((typeof a.querySelectorAll != \"undefined\")) ? a.querySelectorAll(\"*\") : []))));\n        };\n    ;\n        function Jb(a) {\n            ((yb.test(a.type) && (a.defaultChecked = a.checked)));\n        };\n    ;\n        function _b(a, b) {\n            if (((b in a))) {\n                return b;\n            }\n        ;\n        ;\n            var c = ((b.charAt(0).toUpperCase() + b.slice(1))), d = b, e = Zb.length;\n            while (e--) {\n                b = ((Zb[e] + c));\n                if (((b in a))) {\n                    return b;\n                }\n            ;\n            ;\n            };\n        ;\n            return d;\n        };\n    ;\n        function ac(a, b) {\n            a = ((b || a));\n            return ((((q.css(a, \"display\") === \"none\")) || !q.contains(a.ownerDocument, a)));\n        };\n    ;\n        function bc(a, b) {\n            var c, d, e = [], f = 0, g = a.length;\n            for (; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                e[f] = q._data(c, \"olddisplay\");\n                if (b) {\n                    ((((!e[f] && ((c.style.display === \"none\")))) && (c.style.display = \"\")));\n                    ((((((c.style.display === \"\")) && ac(c))) && (e[f] = q._data(c, \"olddisplay\", fc(c.nodeName)))));\n                }\n                 else {\n                    d = Kb(c, \"display\");\n                    ((((!e[f] && ((d !== \"none\")))) && q._data(c, \"olddisplay\", d)));\n                }\n            ;\n            ;\n            };\n        ;\n            for (f = 0; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                if (((((!b || ((c.style.display === \"none\")))) || ((c.style.display === \"\"))))) {\n                    c.style.display = ((b ? ((e[f] || \"\")) : \"none\"));\n                }\n            ;\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function cc(a, b, c) {\n            var d = Sb.exec(b);\n            return ((d ? ((Math.max(0, ((d[1] - ((c || 0))))) + ((d[2] || \"px\")))) : b));\n        };\n    ;\n        function dc(a, b, c, d) {\n            var e = ((((c === ((d ? \"border\" : \"JSBNG__content\")))) ? 4 : ((((b === \"width\")) ? 1 : 0)))), f = 0;\n            for (; ((e < 4)); e += 2) {\n                ((((c === \"margin\")) && (f += q.css(a, ((c + Yb[e])), !0))));\n                if (d) {\n                    ((((c === \"JSBNG__content\")) && (f -= ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0)))));\n                    ((((c !== \"margin\")) && (f -= ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n                 else {\n                    f += ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0));\n                    ((((c !== \"padding\")) && (f += ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        };\n    ;\n        function ec(a, b, c) {\n            var d = ((((b === \"width\")) ? a.offsetWidth : a.offsetHeight)), e = !0, f = ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))));\n            if (((((d <= 0)) || ((d == null))))) {\n                d = Kb(a, b);\n                if (((((d < 0)) || ((d == null))))) {\n                    d = a.style[b];\n                }\n            ;\n            ;\n                if (Tb.test(d)) {\n                    return d;\n                }\n            ;\n            ;\n                e = ((f && ((q.support.boxSizingReliable || ((d === a.style[b]))))));\n                d = ((parseFloat(d) || 0));\n            }\n        ;\n        ;\n            return ((((d + dc(a, b, ((c || ((f ? \"border\" : \"JSBNG__content\")))), e))) + \"px\"));\n        };\n    ;\n        function fc(a) {\n            if (Vb[a]) {\n                return Vb[a];\n            }\n        ;\n        ;\n            var b = q(((((\"\\u003C\" + a)) + \"\\u003E\"))).appendTo(e.body), c = b.css(\"display\");\n            b.remove();\n            if (((((c === \"none\")) || ((c === \"\"))))) {\n                Lb = e.body.appendChild(((Lb || q.extend(e.createElement(\"div\"), {\n                    frameBorder: 0,\n                    width: 0,\n                    height: 0\n                }))));\n                if (((!Mb || !Lb.createElement))) {\n                    Mb = ((Lb.contentWindow || Lb.contentDocument)).JSBNG__document;\n                    Mb.write(\"\\u003C!doctype html\\u003E\\u003Chtml\\u003E\\u003Cbody\\u003E\");\n                    Mb.close();\n                }\n            ;\n            ;\n                b = Mb.body.appendChild(Mb.createElement(a));\n                c = Kb(b, \"display\");\n                e.body.removeChild(Lb);\n            }\n        ;\n        ;\n            Vb[a] = c;\n            return c;\n        };\n    ;\n        function lc(a, b, c, d) {\n            var e;\n            if (q.isArray(b)) {\n                q.each(b, function(b, e) {\n                    ((((c || hc.test(a))) ? d(a, e) : lc(((((((a + \"[\")) + ((((typeof e == \"object\")) ? b : \"\")))) + \"]\")), e, c, d)));\n                });\n            }\n             else {\n                if (((!c && ((q.type(b) === \"object\"))))) {\n                    {\n                        var fin3keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin3i = (0);\n                        (0);\n                        for (; (fin3i < fin3keys.length); (fin3i++)) {\n                            ((e) = (fin3keys[fin3i]));\n                            {\n                                lc(((((((a + \"[\")) + e)) + \"]\")), b[e], c, d);\n                            ;\n                            };\n                        };\n                    };\n                }\n                 else {\n                    d(a, b);\n                }\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function Cc(a) {\n            return function(b, c) {\n                if (((typeof b != \"string\"))) {\n                    c = b;\n                    b = \"*\";\n                }\n            ;\n            ;\n                var d, e, f, g = b.toLowerCase().split(t), i = 0, j = g.length;\n                if (q.isFunction(c)) {\n                    for (; ((i < j)); i++) {\n                        d = g[i];\n                        f = /^\\+/.test(d);\n                        ((f && (d = ((d.substr(1) || \"*\")))));\n                        e = a[d] = ((a[d] || []));\n                        e[((f ? \"unshift\" : \"push\"))](c);\n                    };\n                }\n            ;\n            ;\n            };\n        };\n    ;\n        function Dc(a, c, d, e, f, g) {\n            f = ((f || c.dataTypes[0]));\n            g = ((g || {\n            }));\n            g[f] = !0;\n            var i, j = a[f], k = 0, l = ((j ? j.length : 0)), m = ((a === yc));\n            for (; ((((k < l)) && ((m || !i)))); k++) {\n                i = j[k](c, d, e);\n                if (((typeof i == \"string\"))) {\n                    if (((!m || g[i]))) i = b;\n                     else {\n                        c.dataTypes.unshift(i);\n                        i = Dc(a, c, d, e, i, g);\n                    }\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((((m || !i)) && !g[\"*\"])) && (i = Dc(a, c, d, e, \"*\", g))));\n            return i;\n        };\n    ;\n        function Ec(a, c) {\n            var d, e, f = ((q.ajaxSettings.flatOptions || {\n            }));\n            {\n                var fin4keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin4i = (0);\n                (0);\n                for (; (fin4i < fin4keys.length); (fin4i++)) {\n                    ((d) = (fin4keys[fin4i]));\n                    {\n                        ((((c[d] !== b)) && (((f[d] ? a : ((e || (e = {\n                        })))))[d] = c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            ((e && q.extend(!0, a, e)));\n        };\n    ;\n        function Fc(a, c, d) {\n            var e, f, g, i, j = a.contents, k = a.dataTypes, l = a.responseFields;\n            {\n                var fin5keys = ((window.top.JSBNG_Replay.forInKeys)((l))), fin5i = (0);\n                (0);\n                for (; (fin5i < fin5keys.length); (fin5i++)) {\n                    ((f) = (fin5keys[fin5i]));\n                    {\n                        ((((f in d)) && (c[l[f]] = d[f])));\n                    ;\n                    };\n                };\n            };\n        ;\n            while (((k[0] === \"*\"))) {\n                k.shift();\n                ((((e === b)) && (e = ((a.mimeType || c.getResponseHeader(\"content-type\"))))));\n            };\n        ;\n            if (e) {\n                {\n                    var fin6keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin6i = (0);\n                    (0);\n                    for (; (fin6i < fin6keys.length); (fin6i++)) {\n                        ((f) = (fin6keys[fin6i]));\n                        {\n                            if (((j[f] && j[f].test(e)))) {\n                                k.unshift(f);\n                                break;\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            if (((k[0] in d))) g = k[0];\n             else {\n                {\n                    var fin7keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin7i = (0);\n                    (0);\n                    for (; (fin7i < fin7keys.length); (fin7i++)) {\n                        ((f) = (fin7keys[fin7i]));\n                        {\n                            if (((!k[0] || a.converters[((((f + \" \")) + k[0]))]))) {\n                                g = f;\n                                break;\n                            }\n                        ;\n                        ;\n                            ((i || (i = f)));\n                        };\n                    };\n                };\n            ;\n                g = ((g || i));\n            }\n        ;\n        ;\n            if (g) {\n                ((((g !== k[0])) && k.unshift(g)));\n                return d[g];\n            }\n        ;\n        ;\n        };\n    ;\n        function Gc(a, b) {\n            var c, d, e, f, g = a.dataTypes.slice(), i = g[0], j = {\n            }, k = 0;\n            ((a.dataFilter && (b = a.dataFilter(b, a.dataType))));\n            if (g[1]) {\n                {\n                    var fin8keys = ((window.top.JSBNG_Replay.forInKeys)((a.converters))), fin8i = (0);\n                    (0);\n                    for (; (fin8i < fin8keys.length); (fin8i++)) {\n                        ((c) = (fin8keys[fin8i]));\n                        {\n                            j[c.toLowerCase()] = a.converters[c];\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            for (; e = g[++k]; ) {\n                if (((e !== \"*\"))) {\n                    if (((((i !== \"*\")) && ((i !== e))))) {\n                        c = ((j[((((i + \" \")) + e))] || j[((\"* \" + e))]));\n                        if (!c) {\n                            {\n                                var fin9keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin9i = (0);\n                                (0);\n                                for (; (fin9i < fin9keys.length); (fin9i++)) {\n                                    ((d) = (fin9keys[fin9i]));\n                                    {\n                                        f = d.split(\" \");\n                                        if (((f[1] === e))) {\n                                            c = ((j[((((i + \" \")) + f[0]))] || j[((\"* \" + f[0]))]));\n                                            if (c) {\n                                                if (((c === !0))) {\n                                                    c = j[d];\n                                                }\n                                                 else {\n                                                    if (((j[d] !== !0))) {\n                                                        e = f[0];\n                                                        g.splice(k--, 0, e);\n                                                    }\n                                                ;\n                                                }\n                                            ;\n                                            ;\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        if (((c !== !0))) {\n                            if (((c && a[\"throws\"]))) {\n                                b = c(b);\n                            }\n                             else {\n                                try {\n                                    b = c(b);\n                                } catch (l) {\n                                    return {\n                                        state: \"parsererror\",\n                                        error: ((c ? l : ((((((\"No conversion from \" + i)) + \" to \")) + e))))\n                                    };\n                                };\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    i = e;\n                }\n            ;\n            ;\n            };\n        ;\n            return {\n                state: \"success\",\n                data: b\n            };\n        };\n    ;\n        function Oc() {\n            try {\n                return new a.JSBNG__XMLHttpRequest;\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Pc() {\n            try {\n                return new a.ActiveXObject(\"Microsoft.XMLHTTP\");\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Xc() {\n            JSBNG__setTimeout(function() {\n                Qc = b;\n            }, 0);\n            return Qc = q.now();\n        };\n    ;\n        function Yc(a, b) {\n            q.each(b, function(b, c) {\n                var d = ((Wc[b] || [])).concat(Wc[\"*\"]), e = 0, f = d.length;\n                for (; ((e < f)); e++) {\n                    if (d[e].call(a, b, c)) {\n                        return;\n                    }\n                ;\n                ;\n                };\n            ;\n            });\n        };\n    ;\n        function Zc(a, b, c) {\n            var d, e = 0, f = 0, g = Vc.length, i = q.Deferred().always(function() {\n                delete j.elem;\n            }), j = function() {\n                var b = ((Qc || Xc())), c = Math.max(0, ((((k.startTime + k.duration)) - b))), d = ((((c / k.duration)) || 0)), e = ((1 - d)), f = 0, g = k.tweens.length;\n                for (; ((f < g)); f++) {\n                    k.tweens[f].run(e);\n                ;\n                };\n            ;\n                i.notifyWith(a, [k,e,c,]);\n                if (((((e < 1)) && g))) {\n                    return c;\n                }\n            ;\n            ;\n                i.resolveWith(a, [k,]);\n                return !1;\n            }, k = i.promise({\n                elem: a,\n                props: q.extend({\n                }, b),\n                opts: q.extend(!0, {\n                    specialEasing: {\n                    }\n                }, c),\n                originalProperties: b,\n                originalOptions: c,\n                startTime: ((Qc || Xc())),\n                duration: c.duration,\n                tweens: [],\n                createTween: function(b, c, d) {\n                    var e = q.Tween(a, k.opts, b, c, ((k.opts.specialEasing[b] || k.opts.easing)));\n                    k.tweens.push(e);\n                    return e;\n                },\n                JSBNG__stop: function(b) {\n                    var c = 0, d = ((b ? k.tweens.length : 0));\n                    for (; ((c < d)); c++) {\n                        k.tweens[c].run(1);\n                    ;\n                    };\n                ;\n                    ((b ? i.resolveWith(a, [k,b,]) : i.rejectWith(a, [k,b,])));\n                    return this;\n                }\n            }), l = k.props;\n            $c(l, k.opts.specialEasing);\n            for (; ((e < g)); e++) {\n                d = Vc[e].call(k, a, l, k.opts);\n                if (d) {\n                    return d;\n                }\n            ;\n            ;\n            };\n        ;\n            Yc(k, l);\n            ((q.isFunction(k.opts.start) && k.opts.start.call(a, k)));\n            q.fx.timer(q.extend(j, {\n                anim: k,\n                queue: k.opts.queue,\n                elem: a\n            }));\n            return k.progress(k.opts.progress).done(k.opts.done, k.opts.complete).fail(k.opts.fail).always(k.opts.always);\n        };\n    ;\n        function $c(a, b) {\n            var c, d, e, f, g;\n            {\n                var fin10keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin10i = (0);\n                (0);\n                for (; (fin10i < fin10keys.length); (fin10i++)) {\n                    ((c) = (fin10keys[fin10i]));\n                    {\n                        d = q.camelCase(c);\n                        e = b[d];\n                        f = a[c];\n                        if (q.isArray(f)) {\n                            e = f[1];\n                            f = a[c] = f[0];\n                        }\n                    ;\n                    ;\n                        if (((c !== d))) {\n                            a[d] = f;\n                            delete a[c];\n                        }\n                    ;\n                    ;\n                        g = q.cssHooks[d];\n                        if (((g && ((\"expand\" in g))))) {\n                            f = g.expand(f);\n                            delete a[d];\n                            {\n                                var fin11keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin11i = (0);\n                                (0);\n                                for (; (fin11i < fin11keys.length); (fin11i++)) {\n                                    ((c) = (fin11keys[fin11i]));\n                                    {\n                                        if (!((c in a))) {\n                                            a[c] = f[c];\n                                            b[c] = e;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else b[d] = e;\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function _c(a, b, c) {\n            var d, e, f, g, i, j, k, l, m, n = this, o = a.style, p = {\n            }, r = [], s = ((a.nodeType && ac(a)));\n            if (!c.queue) {\n                l = q._queueHooks(a, \"fx\");\n                if (((l.unqueued == null))) {\n                    l.unqueued = 0;\n                    m = l.empty.fire;\n                    l.empty.fire = function() {\n                        ((l.unqueued || m()));\n                    };\n                }\n            ;\n            ;\n                l.unqueued++;\n                n.always(function() {\n                    n.always(function() {\n                        l.unqueued--;\n                        ((q.queue(a, \"fx\").length || l.empty.fire()));\n                    });\n                });\n            }\n        ;\n        ;\n            if (((((a.nodeType === 1)) && ((((\"height\" in b)) || ((\"width\" in b))))))) {\n                c.overflow = [o.overflow,o.overflowX,o.overflowY,];\n                ((((((q.css(a, \"display\") === \"inline\")) && ((q.css(a, \"float\") === \"none\")))) && ((((!q.support.inlineBlockNeedsLayout || ((fc(a.nodeName) === \"inline\")))) ? o.display = \"inline-block\" : o.zoom = 1))));\n            }\n        ;\n        ;\n            if (c.overflow) {\n                o.overflow = \"hidden\";\n                ((q.support.shrinkWrapBlocks || n.done(function() {\n                    o.overflow = c.overflow[0];\n                    o.overflowX = c.overflow[1];\n                    o.overflowY = c.overflow[2];\n                })));\n            }\n        ;\n        ;\n            {\n                var fin12keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin12i = (0);\n                (0);\n                for (; (fin12i < fin12keys.length); (fin12i++)) {\n                    ((d) = (fin12keys[fin12i]));\n                    {\n                        f = b[d];\n                        if (Sc.exec(f)) {\n                            delete b[d];\n                            j = ((j || ((f === \"toggle\"))));\n                            if (((f === ((s ? \"hide\" : \"show\"))))) {\n                                continue;\n                            }\n                        ;\n                        ;\n                            r.push(d);\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            g = r.length;\n            if (g) {\n                i = ((q._data(a, \"fxshow\") || q._data(a, \"fxshow\", {\n                })));\n                ((((\"hidden\" in i)) && (s = i.hidden)));\n                ((j && (i.hidden = !s)));\n                ((s ? q(a).show() : n.done(function() {\n                    q(a).hide();\n                })));\n                n.done(function() {\n                    var b;\n                    q.removeData(a, \"fxshow\", !0);\n                    {\n                        var fin13keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin13i = (0);\n                        (0);\n                        for (; (fin13i < fin13keys.length); (fin13i++)) {\n                            ((b) = (fin13keys[fin13i]));\n                            {\n                                q.style(a, b, p[b]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                });\n                for (d = 0; ((d < g)); d++) {\n                    e = r[d];\n                    k = n.createTween(e, ((s ? i[e] : 0)));\n                    p[e] = ((i[e] || q.style(a, e)));\n                    if (!((e in i))) {\n                        i[e] = k.start;\n                        if (s) {\n                            k.end = k.start;\n                            k.start = ((((((e === \"width\")) || ((e === \"height\")))) ? 1 : 0));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function ad(a, b, c, d, e) {\n            return new ad.prototype.init(a, b, c, d, e);\n        };\n    ;\n        function bd(a, b) {\n            var c, d = {\n                height: a\n            }, e = 0;\n            b = ((b ? 1 : 0));\n            for (; ((e < 4)); e += ((2 - b))) {\n                c = Yb[e];\n                d[((\"margin\" + c))] = d[((\"padding\" + c))] = a;\n            };\n        ;\n            ((b && (d.opacity = d.width = a)));\n            return d;\n        };\n    ;\n        function dd(a) {\n            return ((q.isWindow(a) ? a : ((((a.nodeType === 9)) ? ((a.defaultView || a.parentWindow)) : !1))));\n        };\n    ;\n        var c, d, e = a.JSBNG__document, f = a.JSBNG__location, g = a.JSBNG__navigator, i = a.jQuery, j = a.$, k = Array.prototype.push, l = Array.prototype.slice, m = Array.prototype.indexOf, n = Object.prototype.toString, o = Object.prototype.hasOwnProperty, p = String.prototype.trim, q = function(a, b) {\n            return new q.fn.init(a, b, c);\n        }, r = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source, s = /\\S/, t = /\\s+/, u = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, v = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/, w = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/, x = /^[\\],:{}\\s]*$/, y = /(?:^|:|,)(?:\\s*\\[)+/g, z = /\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g, A = /\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g, B = /^-ms-/, C = /-([\\da-z])/gi, D = function(a, b) {\n            return ((b + \"\")).toUpperCase();\n        }, E = function() {\n            if (e.JSBNG__addEventListener) {\n                e.JSBNG__removeEventListener(\"DOMContentLoaded\", E, !1);\n                q.ready();\n            }\n             else if (((e.readyState === \"complete\"))) {\n                e.JSBNG__detachEvent(\"JSBNG__onreadystatechange\", E);\n                q.ready();\n            }\n            \n        ;\n        ;\n        }, F = {\n        };\n        q.fn = q.prototype = {\n            constructor: q,\n            init: function(a, c, d) {\n                var f, g, i, j;\n                if (!a) {\n                    return this;\n                }\n            ;\n            ;\n                if (a.nodeType) {\n                    this.context = this[0] = a;\n                    this.length = 1;\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"string\"))) {\n                    ((((((((a.charAt(0) === \"\\u003C\")) && ((a.charAt(((a.length - 1))) === \"\\u003E\")))) && ((a.length >= 3)))) ? f = [null,a,null,] : f = v.exec(a)));\n                    if (((f && ((f[1] || !c))))) {\n                        if (f[1]) {\n                            c = ((((c instanceof q)) ? c[0] : c));\n                            j = ((((c && c.nodeType)) ? ((c.ownerDocument || c)) : e));\n                            a = q.parseHTML(f[1], j, !0);\n                            ((((w.test(f[1]) && q.isPlainObject(c))) && this.attr.call(a, c, !0)));\n                            return q.merge(this, a);\n                        }\n                    ;\n                    ;\n                        g = e.getElementById(f[2]);\n                        if (((g && g.parentNode))) {\n                            if (((g.id !== f[2]))) {\n                                return d.JSBNG__find(a);\n                            }\n                        ;\n                        ;\n                            this.length = 1;\n                            this[0] = g;\n                        }\n                    ;\n                    ;\n                        this.context = e;\n                        this.selector = a;\n                        return this;\n                    }\n                ;\n                ;\n                    return ((((!c || c.jquery)) ? ((c || d)).JSBNG__find(a) : this.constructor(c).JSBNG__find(a)));\n                }\n            ;\n            ;\n                if (q.isFunction(a)) {\n                    return d.ready(a);\n                }\n            ;\n            ;\n                if (((a.selector !== b))) {\n                    this.selector = a.selector;\n                    this.context = a.context;\n                }\n            ;\n            ;\n                return q.makeArray(a, this);\n            },\n            selector: \"\",\n            jquery: \"1.8.3\",\n            length: 0,\n            size: function() {\n                return this.length;\n            },\n            toArray: function() {\n                return l.call(this);\n            },\n            get: function(a) {\n                return ((((a == null)) ? this.toArray() : ((((a < 0)) ? this[((this.length + a))] : this[a]))));\n            },\n            pushStack: function(a, b, c) {\n                var d = q.merge(this.constructor(), a);\n                d.prevObject = this;\n                d.context = this.context;\n                ((((b === \"JSBNG__find\")) ? d.selector = ((((this.selector + ((this.selector ? \" \" : \"\")))) + c)) : ((b && (d.selector = ((((((((((this.selector + \".\")) + b)) + \"(\")) + c)) + \")\")))))));\n                return d;\n            },\n            each: function(a, b) {\n                return q.each(this, a, b);\n            },\n            ready: function(a) {\n                q.ready.promise().done(a);\n                return this;\n            },\n            eq: function(a) {\n                a = +a;\n                return ((((a === -1)) ? this.slice(a) : this.slice(a, ((a + 1)))));\n            },\n            first: function() {\n                return this.eq(0);\n            },\n            last: function() {\n                return this.eq(-1);\n            },\n            slice: function() {\n                return this.pushStack(l.apply(this, arguments), \"slice\", l.call(arguments).join(\",\"));\n            },\n            map: function(a) {\n                return this.pushStack(q.map(this, function(b, c) {\n                    return a.call(b, c, b);\n                }));\n            },\n            end: function() {\n                return ((this.prevObject || this.constructor(null)));\n            },\n            push: k,\n            sort: [].sort,\n            splice: [].splice\n        };\n        q.fn.init.prototype = q.fn;\n        q.extend = q.fn.extend = function() {\n            var a, c, d, e, f, g, i = ((arguments[0] || {\n            })), j = 1, k = arguments.length, l = !1;\n            if (((typeof i == \"boolean\"))) {\n                l = i;\n                i = ((arguments[1] || {\n                }));\n                j = 2;\n            }\n        ;\n        ;\n            ((((((typeof i != \"object\")) && !q.isFunction(i))) && (i = {\n            })));\n            if (((k === j))) {\n                i = this;\n                --j;\n            }\n        ;\n        ;\n            for (; ((j < k)); j++) {\n                if ((((a = arguments[j]) != null))) {\n                    {\n                        var fin14keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin14i = (0);\n                        (0);\n                        for (; (fin14i < fin14keys.length); (fin14i++)) {\n                            ((c) = (fin14keys[fin14i]));\n                            {\n                                d = i[c];\n                                e = a[c];\n                                if (((i === e))) {\n                                    continue;\n                                }\n                            ;\n                            ;\n                                if (((((l && e)) && ((q.isPlainObject(e) || (f = q.isArray(e))))))) {\n                                    if (f) {\n                                        f = !1;\n                                        g = ((((d && q.isArray(d))) ? d : []));\n                                    }\n                                     else g = ((((d && q.isPlainObject(d))) ? d : {\n                                    }));\n                                ;\n                                ;\n                                    i[c] = q.extend(l, g, e);\n                                }\n                                 else ((((e !== b)) && (i[c] = e)));\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n            };\n        ;\n            return i;\n        };\n        q.extend({\n            noConflict: function(b) {\n                ((((a.$ === q)) && (a.$ = j)));\n                ((((b && ((a.jQuery === q)))) && (a.jQuery = i)));\n                return q;\n            },\n            isReady: !1,\n            readyWait: 1,\n            holdReady: function(a) {\n                ((a ? q.readyWait++ : q.ready(!0)));\n            },\n            ready: function(a) {\n                if (((((a === !0)) ? --q.readyWait : q.isReady))) {\n                    return;\n                }\n            ;\n            ;\n                if (!e.body) {\n                    return JSBNG__setTimeout(q.ready, 1);\n                }\n            ;\n            ;\n                q.isReady = !0;\n                if (((((a !== !0)) && ((--q.readyWait > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                d.resolveWith(e, [q,]);\n                ((q.fn.trigger && q(e).trigger(\"ready\").off(\"ready\")));\n            },\n            isFunction: function(a) {\n                return ((q.type(a) === \"function\"));\n            },\n            isArray: ((Array.isArray || function(a) {\n                return ((q.type(a) === \"array\"));\n            })),\n            isWindow: function(a) {\n                return ((((a != null)) && ((a == a.window))));\n            },\n            isNumeric: function(a) {\n                return ((!isNaN(parseFloat(a)) && isFinite(a)));\n            },\n            type: function(a) {\n                return ((((a == null)) ? String(a) : ((F[n.call(a)] || \"object\"))));\n            },\n            isPlainObject: function(a) {\n                if (((((((!a || ((q.type(a) !== \"object\")))) || a.nodeType)) || q.isWindow(a)))) {\n                    return !1;\n                }\n            ;\n            ;\n                try {\n                    if (((((a.constructor && !o.call(a, \"constructor\"))) && !o.call(a.constructor.prototype, \"isPrototypeOf\")))) {\n                        return !1;\n                    }\n                ;\n                ;\n                } catch (c) {\n                    return !1;\n                };\n            ;\n                var d;\n                {\n                    var fin15keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin15i = (0);\n                    (0);\n                    for (; (fin15i < fin15keys.length); (fin15i++)) {\n                        ((d) = (fin15keys[fin15i]));\n                        {\n                        ;\n                        };\n                    };\n                };\n            ;\n                return ((((d === b)) || o.call(a, d)));\n            },\n            isEmptyObject: function(a) {\n                var b;\n                {\n                    var fin16keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin16i = (0);\n                    (0);\n                    for (; (fin16i < fin16keys.length); (fin16i++)) {\n                        ((b) = (fin16keys[fin16i]));\n                        {\n                            return !1;\n                        };\n                    };\n                };\n            ;\n                return !0;\n            },\n            error: function(a) {\n                throw new Error(a);\n            },\n            parseHTML: function(a, b, c) {\n                var d;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                if (((typeof b == \"boolean\"))) {\n                    c = b;\n                    b = 0;\n                }\n            ;\n            ;\n                b = ((b || e));\n                if (d = w.exec(a)) {\n                    return [b.createElement(d[1]),];\n                }\n            ;\n            ;\n                d = q.buildFragment([a,], b, ((c ? null : [])));\n                return q.merge([], ((d.cacheable ? q.clone(d.fragment) : d.fragment)).childNodes);\n            },\n            parseJSON: function(b) {\n                if (((!b || ((typeof b != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                b = q.trim(b);\n                if (((a.JSON && a.JSON.parse))) {\n                    return a.JSON.parse(b);\n                }\n            ;\n            ;\n                if (x.test(b.replace(z, \"@\").replace(A, \"]\").replace(y, \"\"))) {\n                    return (new Function(((\"return \" + b))))();\n                }\n            ;\n            ;\n                q.error(((\"Invalid JSON: \" + b)));\n            },\n            parseXML: function(c) {\n                var d, e;\n                if (((!c || ((typeof c != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                try {\n                    if (a.JSBNG__DOMParser) {\n                        e = new JSBNG__DOMParser;\n                        d = e.parseFromString(c, \"text/xml\");\n                    }\n                     else {\n                        d = new ActiveXObject(\"Microsoft.XMLDOM\");\n                        d.async = \"false\";\n                        d.loadXML(c);\n                    }\n                ;\n                ;\n                } catch (f) {\n                    d = b;\n                };\n            ;\n                ((((((!d || !d.documentElement)) || d.getElementsByTagName(\"parsererror\").length)) && q.error(((\"Invalid XML: \" + c)))));\n                return d;\n            },\n            noop: function() {\n            \n            },\n            globalEval: function(b) {\n                ((((b && s.test(b))) && ((a.JSBNG__execScript || function(b) {\n                    a.eval.call(a, b);\n                }))(b)));\n            },\n            camelCase: function(a) {\n                return a.replace(B, \"ms-\").replace(C, D);\n            },\n            nodeName: function(a, b) {\n                return ((a.nodeName && ((a.nodeName.toLowerCase() === b.toLowerCase()))));\n            },\n            each: function(a, c, d) {\n                var e, f = 0, g = a.length, i = ((((g === b)) || q.isFunction(a)));\n                if (d) {\n                    if (i) {\n                        {\n                            var fin17keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin17i = (0);\n                            (0);\n                            for (; (fin17i < fin17keys.length); (fin17i++)) {\n                                ((e) = (fin17keys[fin17i]));\n                                {\n                                    if (((c.apply(a[e], d) === !1))) {\n                                        break;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                    }\n                     else for (; ((f < g)); ) {\n                        if (((c.apply(a[f++], d) === !1))) {\n                            break;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n                 else if (i) {\n                    {\n                        var fin18keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin18i = (0);\n                        (0);\n                        for (; (fin18i < fin18keys.length); (fin18i++)) {\n                            ((e) = (fin18keys[fin18i]));\n                            {\n                                if (((c.call(a[e], e, a[e]) === !1))) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                }\n                 else for (; ((f < g)); ) {\n                    if (((c.call(a[f], f, a[f++]) === !1))) {\n                        break;\n                    }\n                ;\n                ;\n                }\n                \n            ;\n            ;\n                return a;\n            },\n            trim: ((((p && !p.call(\"\\ufeff\\u00a0\"))) ? function(a) {\n                return ((((a == null)) ? \"\" : p.call(a)));\n            } : function(a) {\n                return ((((a == null)) ? \"\" : ((a + \"\")).replace(u, \"\")));\n            })),\n            makeArray: function(a, b) {\n                var c, d = ((b || []));\n                if (((a != null))) {\n                    c = q.type(a);\n                    ((((((((((((a.length == null)) || ((c === \"string\")))) || ((c === \"function\")))) || ((c === \"regexp\")))) || q.isWindow(a))) ? k.call(d, a) : q.merge(d, a)));\n                }\n            ;\n            ;\n                return d;\n            },\n            inArray: function(a, b, c) {\n                var d;\n                if (b) {\n                    if (m) {\n                        return m.call(b, a, c);\n                    }\n                ;\n                ;\n                    d = b.length;\n                    c = ((c ? ((((c < 0)) ? Math.max(0, ((d + c))) : c)) : 0));\n                    for (; ((c < d)); c++) {\n                        if (((((c in b)) && ((b[c] === a))))) {\n                            return c;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return -1;\n            },\n            merge: function(a, c) {\n                var d = c.length, e = a.length, f = 0;\n                if (((typeof d == \"number\"))) {\n                    for (; ((f < d)); f++) {\n                        a[e++] = c[f];\n                    ;\n                    };\n                }\n                 else {\n                    while (((c[f] !== b))) {\n                        a[e++] = c[f++];\n                    ;\n                    };\n                }\n            ;\n            ;\n                a.length = e;\n                return a;\n            },\n            grep: function(a, b, c) {\n                var d, e = [], f = 0, g = a.length;\n                c = !!c;\n                for (; ((f < g)); f++) {\n                    d = !!b(a[f], f);\n                    ((((c !== d)) && e.push(a[f])));\n                };\n            ;\n                return e;\n            },\n            map: function(a, c, d) {\n                var e, f, g = [], i = 0, j = a.length, k = ((((a instanceof q)) || ((((((j !== b)) && ((typeof j == \"number\")))) && ((((((((((j > 0)) && a[0])) && a[((j - 1))])) || ((j === 0)))) || q.isArray(a)))))));\n                if (k) {\n                    for (; ((i < j)); i++) {\n                        e = c(a[i], i, d);\n                        ((((e != null)) && (g[g.length] = e)));\n                    };\n                }\n                 else {\n                    {\n                        var fin19keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin19i = (0);\n                        (0);\n                        for (; (fin19i < fin19keys.length); (fin19i++)) {\n                            ((f) = (fin19keys[fin19i]));\n                            {\n                                e = c(a[f], f, d);\n                                ((((e != null)) && (g[g.length] = e)));\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return g.concat.apply([], g);\n            },\n            guid: 1,\n            proxy: function(a, c) {\n                var d, e, f;\n                if (((typeof c == \"string\"))) {\n                    d = a[c];\n                    c = a;\n                    a = d;\n                }\n            ;\n            ;\n                if (!q.isFunction(a)) {\n                    return b;\n                }\n            ;\n            ;\n                e = l.call(arguments, 2);\n                f = function() {\n                    return a.apply(c, e.concat(l.call(arguments)));\n                };\n                f.guid = a.guid = ((a.guid || q.guid++));\n                return f;\n            },\n            access: function(a, c, d, e, f, g, i) {\n                var j, k = ((d == null)), l = 0, m = a.length;\n                if (((d && ((typeof d == \"object\"))))) {\n                    {\n                        var fin20keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin20i = (0);\n                        (0);\n                        for (; (fin20i < fin20keys.length); (fin20i++)) {\n                            ((l) = (fin20keys[fin20i]));\n                            {\n                                q.access(a, c, l, d[l], 1, g, e);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    f = 1;\n                }\n                 else if (((e !== b))) {\n                    j = ((((i === b)) && q.isFunction(e)));\n                    if (k) {\n                        if (j) {\n                            j = c;\n                            c = function(a, b, c) {\n                                return j.call(q(a), c);\n                            };\n                        }\n                         else {\n                            c.call(a, e);\n                            c = null;\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    if (c) {\n                        for (; ((l < m)); l++) {\n                            c(a[l], d, ((j ? e.call(a[l], l, c(a[l], d)) : e)), i);\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    f = 1;\n                }\n                \n            ;\n            ;\n                return ((f ? a : ((k ? c.call(a) : ((m ? c(a[0], d) : g))))));\n            },\n            now: function() {\n                return (new JSBNG__Date).getTime();\n            }\n        });\n        q.ready.promise = function(b) {\n            if (!d) {\n                d = q.Deferred();\n                if (((e.readyState === \"complete\"))) {\n                    JSBNG__setTimeout(q.ready, 1);\n                }\n                 else {\n                    if (e.JSBNG__addEventListener) {\n                        e.JSBNG__addEventListener(\"DOMContentLoaded\", E, !1);\n                        a.JSBNG__addEventListener(\"load\", q.ready, !1);\n                    }\n                     else {\n                        e.JSBNG__attachEvent(\"JSBNG__onreadystatechange\", E);\n                        a.JSBNG__attachEvent(\"JSBNG__onload\", q.ready);\n                        var c = !1;\n                        try {\n                            c = ((((a.JSBNG__frameElement == null)) && e.documentElement));\n                        } catch (f) {\n                        \n                        };\n                    ;\n                        ((((c && c.doScroll)) && function g() {\n                            if (!q.isReady) {\n                                try {\n                                    c.doScroll(\"left\");\n                                } catch (a) {\n                                    return JSBNG__setTimeout(g, 50);\n                                };\n                            ;\n                                q.ready();\n                            }\n                        ;\n                        ;\n                        }()));\n                    }\n                ;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d.promise(b);\n        };\n        q.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"), function(a, b) {\n            F[((((\"[object \" + b)) + \"]\"))] = b.toLowerCase();\n        });\n        c = q(e);\n        var G = {\n        };\n        q.Callbacks = function(a) {\n            a = ((((typeof a == \"string\")) ? ((G[a] || H(a))) : q.extend({\n            }, a)));\n            var c, d, e, f, g, i, j = [], k = ((!a.once && [])), l = function(b) {\n                c = ((a.memory && b));\n                d = !0;\n                i = ((f || 0));\n                f = 0;\n                g = j.length;\n                e = !0;\n                for (; ((j && ((i < g)))); i++) {\n                    if (((((j[i].apply(b[0], b[1]) === !1)) && a.stopOnFalse))) {\n                        c = !1;\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                e = !1;\n                ((j && ((k ? ((k.length && l(k.shift()))) : ((c ? j = [] : m.disable()))))));\n            }, m = {\n                add: function() {\n                    if (j) {\n                        var b = j.length;\n                        (function d(b) {\n                            q.each(b, function(_, b) {\n                                var c = q.type(b);\n                                ((((c === \"function\")) ? ((((!a.unique || !m.has(b))) && j.push(b))) : ((((((b && b.length)) && ((c !== \"string\")))) && d(b)))));\n                            });\n                        })(arguments);\n                        if (e) {\n                            g = j.length;\n                        }\n                         else {\n                            if (c) {\n                                f = b;\n                                l(c);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                },\n                remove: function() {\n                    ((j && q.each(arguments, function(_, a) {\n                        var b;\n                        while ((((b = q.inArray(a, j, b)) > -1))) {\n                            j.splice(b, 1);\n                            if (e) {\n                                ((((b <= g)) && g--));\n                                ((((b <= i)) && i--));\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    })));\n                    return this;\n                },\n                has: function(a) {\n                    return ((q.inArray(a, j) > -1));\n                },\n                empty: function() {\n                    j = [];\n                    return this;\n                },\n                disable: function() {\n                    j = k = c = b;\n                    return this;\n                },\n                disabled: function() {\n                    return !j;\n                },\n                lock: function() {\n                    k = b;\n                    ((c || m.disable()));\n                    return this;\n                },\n                locked: function() {\n                    return !k;\n                },\n                fireWith: function(a, b) {\n                    b = ((b || []));\n                    b = [a,((b.slice ? b.slice() : b)),];\n                    ((((j && ((!d || k)))) && ((e ? k.push(b) : l(b)))));\n                    return this;\n                },\n                fire: function() {\n                    m.fireWith(this, arguments);\n                    return this;\n                },\n                fired: function() {\n                    return !!d;\n                }\n            };\n            return m;\n        };\n        q.extend({\n            Deferred: function(a) {\n                var b = [[\"resolve\",\"done\",q.Callbacks(\"once memory\"),\"resolved\",],[\"reject\",\"fail\",q.Callbacks(\"once memory\"),\"rejected\",],[\"notify\",\"progress\",q.Callbacks(\"memory\"),],], c = \"pending\", d = {\n                    state: function() {\n                        return c;\n                    },\n                    always: function() {\n                        e.done(arguments).fail(arguments);\n                        return this;\n                    },\n                    then: function() {\n                        var a = arguments;\n                        return q.Deferred(function(c) {\n                            q.each(b, function(b, d) {\n                                var f = d[0], g = a[b];\n                                e[d[1]](((q.isFunction(g) ? function() {\n                                    var a = g.apply(this, arguments);\n                                    ((((a && q.isFunction(a.promise))) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[((f + \"With\"))](((((this === e)) ? c : this)), [a,])));\n                                } : c[f])));\n                            });\n                            a = null;\n                        }).promise();\n                    },\n                    promise: function(a) {\n                        return ((((a != null)) ? q.extend(a, d) : d));\n                    }\n                }, e = {\n                };\n                d.pipe = d.then;\n                q.each(b, function(a, f) {\n                    var g = f[2], i = f[3];\n                    d[f[1]] = g.add;\n                    ((i && g.add(function() {\n                        c = i;\n                    }, b[((a ^ 1))][2].disable, b[2][2].lock)));\n                    e[f[0]] = g.fire;\n                    e[((f[0] + \"With\"))] = g.fireWith;\n                });\n                d.promise(e);\n                ((a && a.call(e, e)));\n                return e;\n            },\n            when: function(a) {\n                var b = 0, c = l.call(arguments), d = c.length, e = ((((((d !== 1)) || ((a && q.isFunction(a.promise))))) ? d : 0)), f = ((((e === 1)) ? a : q.Deferred())), g = function(a, b, c) {\n                    return function(d) {\n                        b[a] = this;\n                        c[a] = ((((arguments.length > 1)) ? l.call(arguments) : d));\n                        ((((c === i)) ? f.notifyWith(b, c) : ((--e || f.resolveWith(b, c)))));\n                    };\n                }, i, j, k;\n                if (((d > 1))) {\n                    i = new Array(d);\n                    j = new Array(d);\n                    k = new Array(d);\n                    for (; ((b < d)); b++) {\n                        ((((c[b] && q.isFunction(c[b].promise))) ? c[b].promise().done(g(b, k, c)).fail(f.reject).progress(g(b, j, i)) : --e));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                ((e || f.resolveWith(k, c)));\n                return f.promise();\n            }\n        });\n        q.support = function() {\n            var b, c, d, f, g, i, j, k, l, m, n, o = e.createElement(\"div\");\n            o.setAttribute(\"className\", \"t\");\n            o.innerHTML = \"  \\u003Clink/\\u003E\\u003Ctable\\u003E\\u003C/table\\u003E\\u003Ca href='/a'\\u003Ea\\u003C/a\\u003E\\u003Cinput type='checkbox'/\\u003E\";\n            c = o.getElementsByTagName(\"*\");\n            d = o.getElementsByTagName(\"a\")[0];\n            if (((((!c || !d)) || !c.length))) {\n                return {\n                };\n            }\n        ;\n        ;\n            f = e.createElement(\"select\");\n            g = f.appendChild(e.createElement(\"option\"));\n            i = o.getElementsByTagName(\"input\")[0];\n            d.style.cssText = \"top:1px;float:left;opacity:.5\";\n            b = {\n                leadingWhitespace: ((o.firstChild.nodeType === 3)),\n                tbody: !o.getElementsByTagName(\"tbody\").length,\n                htmlSerialize: !!o.getElementsByTagName(\"link\").length,\n                style: /top/.test(d.getAttribute(\"style\")),\n                hrefNormalized: ((d.getAttribute(\"href\") === \"/a\")),\n                opacity: /^0.5/.test(d.style.opacity),\n                cssFloat: !!d.style.cssFloat,\n                checkOn: ((i.value === \"JSBNG__on\")),\n                optSelected: g.selected,\n                getSetAttribute: ((o.className !== \"t\")),\n                enctype: !!e.createElement(\"form\").enctype,\n                html5Clone: ((e.createElement(\"nav\").cloneNode(!0).outerHTML !== \"\\u003C:nav\\u003E\\u003C/:nav\\u003E\")),\n                boxModel: ((e.compatMode === \"CSS1Compat\")),\n                submitBubbles: !0,\n                changeBubbles: !0,\n                focusinBubbles: !1,\n                deleteExpando: !0,\n                noCloneEvent: !0,\n                inlineBlockNeedsLayout: !1,\n                shrinkWrapBlocks: !1,\n                reliableMarginRight: !0,\n                boxSizingReliable: !0,\n                pixelPosition: !1\n            };\n            i.checked = !0;\n            b.noCloneChecked = i.cloneNode(!0).checked;\n            f.disabled = !0;\n            b.optDisabled = !g.disabled;\n            try {\n                delete o.test;\n            } catch (p) {\n                b.deleteExpando = !1;\n            };\n        ;\n            if (((((!o.JSBNG__addEventListener && o.JSBNG__attachEvent)) && o.fireEvent))) {\n                o.JSBNG__attachEvent(\"JSBNG__onclick\", n = function() {\n                    b.noCloneEvent = !1;\n                });\n                o.cloneNode(!0).fireEvent(\"JSBNG__onclick\");\n                o.JSBNG__detachEvent(\"JSBNG__onclick\", n);\n            }\n        ;\n        ;\n            i = e.createElement(\"input\");\n            i.value = \"t\";\n            i.setAttribute(\"type\", \"radio\");\n            b.radioValue = ((i.value === \"t\"));\n            i.setAttribute(\"checked\", \"checked\");\n            i.setAttribute(\"JSBNG__name\", \"t\");\n            o.appendChild(i);\n            j = e.createDocumentFragment();\n            j.appendChild(o.lastChild);\n            b.checkClone = j.cloneNode(!0).cloneNode(!0).lastChild.checked;\n            b.appendChecked = i.checked;\n            j.removeChild(i);\n            j.appendChild(o);\n            if (o.JSBNG__attachEvent) {\n                {\n                    var fin21keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                        submit: !0,\n                        change: !0,\n                        focusin: !0\n                    }))), fin21i = (0);\n                    (0);\n                    for (; (fin21i < fin21keys.length); (fin21i++)) {\n                        ((l) = (fin21keys[fin21i]));\n                        {\n                            k = ((\"JSBNG__on\" + l));\n                            m = ((k in o));\n                            if (!m) {\n                                o.setAttribute(k, \"return;\");\n                                m = ((typeof o[k] == \"function\"));\n                            }\n                        ;\n                        ;\n                            b[((l + \"Bubbles\"))] = m;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            q(function() {\n                var c, d, f, g, i = \"padding:0;margin:0;border:0;display:block;overflow:hidden;\", j = e.getElementsByTagName(\"body\")[0];\n                if (!j) {\n                    return;\n                }\n            ;\n            ;\n                c = e.createElement(\"div\");\n                c.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\n                j.insertBefore(c, j.firstChild);\n                d = e.createElement(\"div\");\n                c.appendChild(d);\n                d.innerHTML = \"\\u003Ctable\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003C/td\\u003E\\u003Ctd\\u003Et\\u003C/td\\u003E\\u003C/tr\\u003E\\u003C/table\\u003E\";\n                f = d.getElementsByTagName(\"td\");\n                f[0].style.cssText = \"padding:0;margin:0;border:0;display:none\";\n                m = ((f[0].offsetHeight === 0));\n                f[0].style.display = \"\";\n                f[1].style.display = \"none\";\n                b.reliableHiddenOffsets = ((m && ((f[0].offsetHeight === 0))));\n                d.innerHTML = \"\";\n                d.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\n                b.boxSizing = ((d.offsetWidth === 4));\n                b.doesNotIncludeMarginInBodyOffset = ((j.offsetTop !== 1));\n                if (a.JSBNG__getComputedStyle) {\n                    b.pixelPosition = ((((a.JSBNG__getComputedStyle(d, null) || {\n                    })).JSBNG__top !== \"1%\"));\n                    b.boxSizingReliable = ((((a.JSBNG__getComputedStyle(d, null) || {\n                        width: \"4px\"\n                    })).width === \"4px\"));\n                    g = e.createElement(\"div\");\n                    g.style.cssText = d.style.cssText = i;\n                    g.style.marginRight = g.style.width = \"0\";\n                    d.style.width = \"1px\";\n                    d.appendChild(g);\n                    b.reliableMarginRight = !parseFloat(((a.JSBNG__getComputedStyle(g, null) || {\n                    })).marginRight);\n                }\n            ;\n            ;\n                if (((typeof d.style.zoom != \"undefined\"))) {\n                    d.innerHTML = \"\";\n                    d.style.cssText = ((i + \"width:1px;padding:1px;display:inline;zoom:1\"));\n                    b.inlineBlockNeedsLayout = ((d.offsetWidth === 3));\n                    d.style.display = \"block\";\n                    d.style.overflow = \"visible\";\n                    d.innerHTML = \"\\u003Cdiv\\u003E\\u003C/div\\u003E\";\n                    d.firstChild.style.width = \"5px\";\n                    b.shrinkWrapBlocks = ((d.offsetWidth !== 3));\n                    c.style.zoom = 1;\n                }\n            ;\n            ;\n                j.removeChild(c);\n                c = d = f = g = null;\n            });\n            j.removeChild(o);\n            c = d = f = g = i = j = o = null;\n            return b;\n        }();\n        var I = /(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/, J = /([A-Z])/g;\n        q.extend({\n            cache: {\n            },\n            deletedIds: [],\n            uuid: 0,\n            expando: ((\"jQuery\" + ((q.fn.jquery + Math.JSBNG__random())).replace(/\\D/g, \"\"))),\n            noData: {\n                embed: !0,\n                object: \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\n                applet: !0\n            },\n            hasData: function(a) {\n                a = ((a.nodeType ? q.cache[a[q.expando]] : a[q.expando]));\n                return ((!!a && !L(a)));\n            },\n            data: function(a, c, d, e) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i = q.expando, j = ((typeof c == \"string\")), k = a.nodeType, l = ((k ? q.cache : a)), m = ((k ? a[i] : ((a[i] && i))));\n                if (((((((((!m || !l[m])) || ((!e && !l[m].data)))) && j)) && ((d === b))))) {\n                    return;\n                }\n            ;\n            ;\n                ((m || ((k ? a[i] = m = ((q.deletedIds.pop() || q.guid++)) : m = i))));\n                if (!l[m]) {\n                    l[m] = {\n                    };\n                    ((k || (l[m].toJSON = q.noop)));\n                }\n            ;\n            ;\n                if (((((typeof c == \"object\")) || ((typeof c == \"function\"))))) {\n                    ((e ? l[m] = q.extend(l[m], c) : l[m].data = q.extend(l[m].data, c)));\n                }\n            ;\n            ;\n                f = l[m];\n                if (!e) {\n                    ((f.data || (f.data = {\n                    })));\n                    f = f.data;\n                }\n            ;\n            ;\n                ((((d !== b)) && (f[q.camelCase(c)] = d)));\n                if (j) {\n                    g = f[c];\n                    ((((g == null)) && (g = f[q.camelCase(c)])));\n                }\n                 else g = f;\n            ;\n            ;\n                return g;\n            },\n            removeData: function(a, b, c) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var d, e, f, g = a.nodeType, i = ((g ? q.cache : a)), j = ((g ? a[q.expando] : q.expando));\n                if (!i[j]) {\n                    return;\n                }\n            ;\n            ;\n                if (b) {\n                    d = ((c ? i[j] : i[j].data));\n                    if (d) {\n                        if (!q.isArray(b)) {\n                            if (((b in d))) b = [b,];\n                             else {\n                                b = q.camelCase(b);\n                                ((((b in d)) ? b = [b,] : b = b.split(\" \")));\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        for (e = 0, f = b.length; ((e < f)); e++) {\n                            delete d[b[e]];\n                        ;\n                        };\n                    ;\n                        if (!((c ? L : q.isEmptyObject))(d)) {\n                            return;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                if (!c) {\n                    delete i[j].data;\n                    if (!L(i[j])) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((g ? q.cleanData([a,], !0) : ((((q.support.deleteExpando || ((i != i.window)))) ? delete i[j] : i[j] = null))));\n            },\n            _data: function(a, b, c) {\n                return q.data(a, b, c, !0);\n            },\n            acceptData: function(a) {\n                var b = ((a.nodeName && q.noData[a.nodeName.toLowerCase()]));\n                return ((!b || ((((b !== !0)) && ((a.getAttribute(\"classid\") === b))))));\n            }\n        });\n        q.fn.extend({\n            data: function(a, c) {\n                var d, e, f, g, i, j = this[0], k = 0, l = null;\n                if (((a === b))) {\n                    if (this.length) {\n                        l = q.data(j);\n                        if (((((j.nodeType === 1)) && !q._data(j, \"parsedAttrs\")))) {\n                            f = j.attributes;\n                            for (i = f.length; ((k < i)); k++) {\n                                g = f[k].JSBNG__name;\n                                if (!g.indexOf(\"data-\")) {\n                                    g = q.camelCase(g.substring(5));\n                                    K(j, g, l[g]);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            q._data(j, \"parsedAttrs\", !0);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return l;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    return this.each(function() {\n                        q.data(this, a);\n                    });\n                }\n            ;\n            ;\n                d = a.split(\".\", 2);\n                d[1] = ((d[1] ? ((\".\" + d[1])) : \"\"));\n                e = ((d[1] + \"!\"));\n                return q.access(this, function(c) {\n                    if (((c === b))) {\n                        l = this.triggerHandler(((\"getData\" + e)), [d[0],]);\n                        if (((((l === b)) && j))) {\n                            l = q.data(j, a);\n                            l = K(j, a, l);\n                        }\n                    ;\n                    ;\n                        return ((((((l === b)) && d[1])) ? this.data(d[0]) : l));\n                    }\n                ;\n                ;\n                    d[1] = c;\n                    this.each(function() {\n                        var b = q(this);\n                        b.triggerHandler(((\"setData\" + e)), d);\n                        q.data(this, a, c);\n                        b.triggerHandler(((\"changeData\" + e)), d);\n                    });\n                }, null, c, ((arguments.length > 1)), null, !1);\n            },\n            removeData: function(a) {\n                return this.each(function() {\n                    q.removeData(this, a);\n                });\n            }\n        });\n        q.extend({\n            queue: function(a, b, c) {\n                var d;\n                if (a) {\n                    b = ((((b || \"fx\")) + \"queue\"));\n                    d = q._data(a, b);\n                    ((c && ((((!d || q.isArray(c))) ? d = q._data(a, b, q.makeArray(c)) : d.push(c)))));\n                    return ((d || []));\n                }\n            ;\n            ;\n            },\n            dequeue: function(a, b) {\n                b = ((b || \"fx\"));\n                var c = q.queue(a, b), d = c.length, e = c.shift(), f = q._queueHooks(a, b), g = function() {\n                    q.dequeue(a, b);\n                };\n                if (((e === \"inprogress\"))) {\n                    e = c.shift();\n                    d--;\n                }\n            ;\n            ;\n                if (e) {\n                    ((((b === \"fx\")) && c.unshift(\"inprogress\")));\n                    delete f.JSBNG__stop;\n                    e.call(a, g, f);\n                }\n            ;\n            ;\n                ((((!d && f)) && f.empty.fire()));\n            },\n            _queueHooks: function(a, b) {\n                var c = ((b + \"queueHooks\"));\n                return ((q._data(a, c) || q._data(a, c, {\n                    empty: q.Callbacks(\"once memory\").add(function() {\n                        q.removeData(a, ((b + \"queue\")), !0);\n                        q.removeData(a, c, !0);\n                    })\n                })));\n            }\n        });\n        q.fn.extend({\n            queue: function(a, c) {\n                var d = 2;\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = \"fx\";\n                    d--;\n                }\n            ;\n            ;\n                return ((((arguments.length < d)) ? q.queue(this[0], a) : ((((c === b)) ? this : this.each(function() {\n                    var b = q.queue(this, a, c);\n                    q._queueHooks(this, a);\n                    ((((((a === \"fx\")) && ((b[0] !== \"inprogress\")))) && q.dequeue(this, a)));\n                })))));\n            },\n            dequeue: function(a) {\n                return this.each(function() {\n                    q.dequeue(this, a);\n                });\n            },\n            delay: function(a, b) {\n                a = ((q.fx ? ((q.fx.speeds[a] || a)) : a));\n                b = ((b || \"fx\"));\n                return this.queue(b, function(b, c) {\n                    var d = JSBNG__setTimeout(b, a);\n                    c.JSBNG__stop = function() {\n                        JSBNG__clearTimeout(d);\n                    };\n                });\n            },\n            clearQueue: function(a) {\n                return this.queue(((a || \"fx\")), []);\n            },\n            promise: function(a, c) {\n                var d, e = 1, f = q.Deferred(), g = this, i = this.length, j = function() {\n                    ((--e || f.resolveWith(g, [g,])));\n                };\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                a = ((a || \"fx\"));\n                while (i--) {\n                    d = q._data(g[i], ((a + \"queueHooks\")));\n                    if (((d && d.empty))) {\n                        e++;\n                        d.empty.add(j);\n                    }\n                ;\n                ;\n                };\n            ;\n                j();\n                return f.promise(c);\n            }\n        });\n        var M, N, O, P = /[\\t\\r\\n]/g, Q = /\\r/g, R = /^(?:button|input)$/i, S = /^(?:button|input|object|select|textarea)$/i, T = /^a(?:rea|)$/i, U = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, V = q.support.getSetAttribute;\n        q.fn.extend({\n            attr: function(a, b) {\n                return q.access(this, q.attr, a, b, ((arguments.length > 1)));\n            },\n            removeAttr: function(a) {\n                return this.each(function() {\n                    q.removeAttr(this, a);\n                });\n            },\n            prop: function(a, b) {\n                return q.access(this, q.prop, a, b, ((arguments.length > 1)));\n            },\n            removeProp: function(a) {\n                a = ((q.propFix[a] || a));\n                return this.each(function() {\n                    try {\n                        this[a] = b;\n                        delete this[a];\n                    } catch (c) {\n                    \n                    };\n                ;\n                });\n            },\n            addClass: function(a) {\n                var b, c, d, e, f, g, i;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).addClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((a && ((typeof a == \"string\"))))) {\n                    b = a.split(t);\n                    for (c = 0, d = this.length; ((c < d)); c++) {\n                        e = this[c];\n                        if (((e.nodeType === 1))) {\n                            if (((!e.className && ((b.length === 1))))) e.className = a;\n                             else {\n                                f = ((((\" \" + e.className)) + \" \"));\n                                for (g = 0, i = b.length; ((g < i)); g++) {\n                                    ((((f.indexOf(((((\" \" + b[g])) + \" \"))) < 0)) && (f += ((b[g] + \" \")))));\n                                ;\n                                };\n                            ;\n                                e.className = q.trim(f);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            removeClass: function(a) {\n                var c, d, e, f, g, i, j;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).removeClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((((a && ((typeof a == \"string\")))) || ((a === b))))) {\n                    c = ((a || \"\")).split(t);\n                    for (i = 0, j = this.length; ((i < j)); i++) {\n                        e = this[i];\n                        if (((((e.nodeType === 1)) && e.className))) {\n                            d = ((((\" \" + e.className)) + \" \")).replace(P, \" \");\n                            for (f = 0, g = c.length; ((f < g)); f++) {\n                                while (((d.indexOf(((((\" \" + c[f])) + \" \"))) >= 0))) {\n                                    d = d.replace(((((\" \" + c[f])) + \" \")), \" \");\n                                ;\n                                };\n                            ;\n                            };\n                        ;\n                            e.className = ((a ? q.trim(d) : \"\"));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            toggleClass: function(a, b) {\n                var c = typeof a, d = ((typeof b == \"boolean\"));\n                return ((q.isFunction(a) ? this.each(function(c) {\n                    q(this).toggleClass(a.call(this, c, this.className, b), b);\n                }) : this.each(function() {\n                    if (((c === \"string\"))) {\n                        var e, f = 0, g = q(this), i = b, j = a.split(t);\n                        while (e = j[f++]) {\n                            i = ((d ? i : !g.hasClass(e)));\n                            g[((i ? \"addClass\" : \"removeClass\"))](e);\n                        };\n                    ;\n                    }\n                     else if (((((c === \"undefined\")) || ((c === \"boolean\"))))) {\n                        ((this.className && q._data(this, \"__className__\", this.className)));\n                        this.className = ((((this.className || ((a === !1)))) ? \"\" : ((q._data(this, \"__className__\") || \"\"))));\n                    }\n                    \n                ;\n                ;\n                })));\n            },\n            hasClass: function(a) {\n                var b = ((((\" \" + a)) + \" \")), c = 0, d = this.length;\n                for (; ((c < d)); c++) {\n                    if (((((this[c].nodeType === 1)) && ((((((\" \" + this[c].className)) + \" \")).replace(P, \" \").indexOf(b) >= 0))))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            },\n            val: function(a) {\n                var c, d, e, f = this[0];\n                if (!arguments.length) {\n                    if (f) {\n                        c = ((q.valHooks[f.type] || q.valHooks[f.nodeName.toLowerCase()]));\n                        if (((((c && ((\"get\" in c)))) && (((d = c.get(f, \"value\")) !== b))))) {\n                            return d;\n                        }\n                    ;\n                    ;\n                        d = f.value;\n                        return ((((typeof d == \"string\")) ? d.replace(Q, \"\") : ((((d == null)) ? \"\" : d))));\n                    }\n                ;\n                ;\n                    return;\n                }\n            ;\n            ;\n                e = q.isFunction(a);\n                return this.each(function(d) {\n                    var f, g = q(this);\n                    if (((this.nodeType !== 1))) {\n                        return;\n                    }\n                ;\n                ;\n                    ((e ? f = a.call(this, d, g.val()) : f = a));\n                    ((((f == null)) ? f = \"\" : ((((typeof f == \"number\")) ? f += \"\" : ((q.isArray(f) && (f = q.map(f, function(a) {\n                        return ((((a == null)) ? \"\" : ((a + \"\"))));\n                    }))))))));\n                    c = ((q.valHooks[this.type] || q.valHooks[this.nodeName.toLowerCase()]));\n                    if (((((!c || !((\"set\" in c)))) || ((c.set(this, f, \"value\") === b))))) {\n                        this.value = f;\n                    }\n                ;\n                ;\n                });\n            }\n        });\n        q.extend({\n            valHooks: {\n                option: {\n                    get: function(a) {\n                        var b = a.attributes.value;\n                        return ((((!b || b.specified)) ? a.value : a.text));\n                    }\n                },\n                select: {\n                    get: function(a) {\n                        var b, c, d = a.options, e = a.selectedIndex, f = ((((a.type === \"select-one\")) || ((e < 0)))), g = ((f ? null : [])), i = ((f ? ((e + 1)) : d.length)), j = ((((e < 0)) ? i : ((f ? e : 0))));\n                        for (; ((j < i)); j++) {\n                            c = d[j];\n                            if (((((((c.selected || ((j === e)))) && ((q.support.optDisabled ? !c.disabled : ((c.getAttribute(\"disabled\") === null)))))) && ((!c.parentNode.disabled || !q.nodeName(c.parentNode, \"optgroup\")))))) {\n                                b = q(c).val();\n                                if (f) {\n                                    return b;\n                                }\n                            ;\n                            ;\n                                g.push(b);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        return g;\n                    },\n                    set: function(a, b) {\n                        var c = q.makeArray(b);\n                        q(a).JSBNG__find(\"option\").each(function() {\n                            this.selected = ((q.inArray(q(this).val(), c) >= 0));\n                        });\n                        ((c.length || (a.selectedIndex = -1)));\n                        return c;\n                    }\n                }\n            },\n            attrFn: {\n            },\n            attr: function(a, c, d, e) {\n                var f, g, i, j = a.nodeType;\n                if (((((((!a || ((j === 3)))) || ((j === 8)))) || ((j === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((e && q.isFunction(q.fn[c])))) {\n                    return q(a)[c](d);\n                }\n            ;\n            ;\n                if (((typeof a.getAttribute == \"undefined\"))) {\n                    return q.prop(a, c, d);\n                }\n            ;\n            ;\n                i = ((((j !== 1)) || !q.isXMLDoc(a)));\n                if (i) {\n                    c = c.toLowerCase();\n                    g = ((q.attrHooks[c] || ((U.test(c) ? N : M))));\n                }\n            ;\n            ;\n                if (((d !== b))) {\n                    if (((d === null))) {\n                        q.removeAttr(a, c);\n                        return;\n                    }\n                ;\n                ;\n                    if (((((((g && ((\"set\" in g)))) && i)) && (((f = g.set(a, d, c)) !== b))))) {\n                        return f;\n                    }\n                ;\n                ;\n                    a.setAttribute(c, ((d + \"\")));\n                    return d;\n                }\n            ;\n            ;\n                if (((((((g && ((\"get\" in g)))) && i)) && (((f = g.get(a, c)) !== null))))) {\n                    return f;\n                }\n            ;\n            ;\n                f = a.getAttribute(c);\n                return ((((f === null)) ? b : f));\n            },\n            removeAttr: function(a, b) {\n                var c, d, e, f, g = 0;\n                if (((b && ((a.nodeType === 1))))) {\n                    d = b.split(t);\n                    for (; ((g < d.length)); g++) {\n                        e = d[g];\n                        if (e) {\n                            c = ((q.propFix[e] || e));\n                            f = U.test(e);\n                            ((f || q.attr(a, e, \"\")));\n                            a.removeAttribute(((V ? e : c)));\n                            ((((f && ((c in a)))) && (a[c] = !1)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            },\n            attrHooks: {\n                type: {\n                    set: function(a, b) {\n                        if (((R.test(a.nodeName) && a.parentNode))) {\n                            q.error(\"type property can't be changed\");\n                        }\n                         else {\n                            if (((((!q.support.radioValue && ((b === \"radio\")))) && q.nodeName(a, \"input\")))) {\n                                var c = a.value;\n                                a.setAttribute(\"type\", b);\n                                ((c && (a.value = c)));\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                },\n                value: {\n                    get: function(a, b) {\n                        return ((((M && q.nodeName(a, \"button\"))) ? M.get(a, b) : ((((b in a)) ? a.value : null))));\n                    },\n                    set: function(a, b, c) {\n                        if (((M && q.nodeName(a, \"button\")))) {\n                            return M.set(a, b, c);\n                        }\n                    ;\n                    ;\n                        a.value = b;\n                    }\n                }\n            },\n            propFix: {\n                tabindex: \"tabIndex\",\n                readonly: \"readOnly\",\n                \"for\": \"htmlFor\",\n                class: \"className\",\n                maxlength: \"maxLength\",\n                cellspacing: \"cellSpacing\",\n                cellpadding: \"cellPadding\",\n                rowspan: \"rowSpan\",\n                colspan: \"colSpan\",\n                usemap: \"useMap\",\n                frameborder: \"frameBorder\",\n                contenteditable: \"contentEditable\"\n            },\n            prop: function(a, c, d) {\n                var e, f, g, i = a.nodeType;\n                if (((((((!a || ((i === 3)))) || ((i === 8)))) || ((i === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                g = ((((i !== 1)) || !q.isXMLDoc(a)));\n                if (g) {\n                    c = ((q.propFix[c] || c));\n                    f = q.propHooks[c];\n                }\n            ;\n            ;\n                return ((((d !== b)) ? ((((((f && ((\"set\" in f)))) && (((e = f.set(a, d, c)) !== b)))) ? e : a[c] = d)) : ((((((f && ((\"get\" in f)))) && (((e = f.get(a, c)) !== null)))) ? e : a[c]))));\n            },\n            propHooks: {\n                tabIndex: {\n                    get: function(a) {\n                        var c = a.getAttributeNode(\"tabindex\");\n                        return ((((c && c.specified)) ? parseInt(c.value, 10) : ((((S.test(a.nodeName) || ((T.test(a.nodeName) && a.href)))) ? 0 : b))));\n                    }\n                }\n            }\n        });\n        N = {\n            get: function(a, c) {\n                var d, e = q.prop(a, c);\n                return ((((((e === !0)) || ((((((typeof e != \"boolean\")) && (d = a.getAttributeNode(c)))) && ((d.nodeValue !== !1)))))) ? c.toLowerCase() : b));\n            },\n            set: function(a, b, c) {\n                var d;\n                if (((b === !1))) q.removeAttr(a, c);\n                 else {\n                    d = ((q.propFix[c] || c));\n                    ((((d in a)) && (a[d] = !0)));\n                    a.setAttribute(c, c.toLowerCase());\n                }\n            ;\n            ;\n                return c;\n            }\n        };\n        if (!V) {\n            O = {\n                JSBNG__name: !0,\n                id: !0,\n                coords: !0\n            };\n            M = q.valHooks.button = {\n                get: function(a, c) {\n                    var d;\n                    d = a.getAttributeNode(c);\n                    return ((((d && ((O[c] ? ((d.value !== \"\")) : d.specified)))) ? d.value : b));\n                },\n                set: function(a, b, c) {\n                    var d = a.getAttributeNode(c);\n                    if (!d) {\n                        d = e.createAttribute(c);\n                        a.setAttributeNode(d);\n                    }\n                ;\n                ;\n                    return d.value = ((b + \"\"));\n                }\n            };\n            q.each([\"width\",\"height\",], function(a, b) {\n                q.attrHooks[b] = q.extend(q.attrHooks[b], {\n                    set: function(a, c) {\n                        if (((c === \"\"))) {\n                            a.setAttribute(b, \"auto\");\n                            return c;\n                        }\n                    ;\n                    ;\n                    }\n                });\n            });\n            q.attrHooks.contenteditable = {\n                get: M.get,\n                set: function(a, b, c) {\n                    ((((b === \"\")) && (b = \"false\")));\n                    M.set(a, b, c);\n                }\n            };\n        }\n    ;\n    ;\n        ((q.support.hrefNormalized || q.each([\"href\",\"src\",\"width\",\"height\",], function(a, c) {\n            q.attrHooks[c] = q.extend(q.attrHooks[c], {\n                get: function(a) {\n                    var d = a.getAttribute(c, 2);\n                    return ((((d === null)) ? b : d));\n                }\n            });\n        })));\n        ((q.support.style || (q.attrHooks.style = {\n            get: function(a) {\n                return ((a.style.cssText.toLowerCase() || b));\n            },\n            set: function(a, b) {\n                return a.style.cssText = ((b + \"\"));\n            }\n        })));\n        ((q.support.optSelected || (q.propHooks.selected = q.extend(q.propHooks.selected, {\n            get: function(a) {\n                var b = a.parentNode;\n                if (b) {\n                    b.selectedIndex;\n                    ((b.parentNode && b.parentNode.selectedIndex));\n                }\n            ;\n            ;\n                return null;\n            }\n        }))));\n        ((q.support.enctype || (q.propFix.enctype = \"encoding\")));\n        ((q.support.checkOn || q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = {\n                get: function(a) {\n                    return ((((a.getAttribute(\"value\") === null)) ? \"JSBNG__on\" : a.value));\n                }\n            };\n        })));\n        q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = q.extend(q.valHooks[this], {\n                set: function(a, b) {\n                    if (q.isArray(b)) {\n                        return a.checked = ((q.inArray(q(a).val(), b) >= 0));\n                    }\n                ;\n                ;\n                }\n            });\n        });\n        var W = /^(?:textarea|input|select)$/i, X = /^([^\\.]*|)(?:\\.(.+)|)$/, Y = /(?:^|\\s)hover(\\.\\S+|)\\b/, Z = /^key/, ab = /^(?:mouse|contextmenu)|click/, bb = /^(?:focusinfocus|focusoutblur)$/, cb = function(a) {\n            return ((q.JSBNG__event.special.hover ? a : a.replace(Y, \"mouseenter$1 mouseleave$1\")));\n        };\n        q.JSBNG__event = {\n            add: function(a, c, d, e, f) {\n                var g, i, j, k, l, m, n, o, p, r, s;\n                if (((((((((((a.nodeType === 3)) || ((a.nodeType === 8)))) || !c)) || !d)) || !(g = q._data(a))))) {\n                    return;\n                }\n            ;\n            ;\n                if (d.handler) {\n                    p = d;\n                    d = p.handler;\n                    f = p.selector;\n                }\n            ;\n            ;\n                ((d.guid || (d.guid = q.guid++)));\n                j = g.events;\n                ((j || (g.events = j = {\n                })));\n                i = g.handle;\n                if (!i) {\n                    g.handle = i = function(a) {\n                        return ((((((typeof q == \"undefined\")) || ((!!a && ((q.JSBNG__event.triggered === a.type)))))) ? b : q.JSBNG__event.dispatch.apply(i.elem, arguments)));\n                    };\n                    i.elem = a;\n                }\n            ;\n            ;\n                c = q.trim(cb(c)).split(\" \");\n                for (k = 0; ((k < c.length)); k++) {\n                    l = ((X.exec(c[k]) || []));\n                    m = l[1];\n                    n = ((l[2] || \"\")).split(\".\").sort();\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    m = ((((f ? s.delegateType : s.bindType)) || m));\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    o = q.extend({\n                        type: m,\n                        origType: l[1],\n                        data: e,\n                        handler: d,\n                        guid: d.guid,\n                        selector: f,\n                        needsContext: ((f && q.expr.match.needsContext.test(f))),\n                        namespace: n.join(\".\")\n                    }, p);\n                    r = j[m];\n                    if (!r) {\n                        r = j[m] = [];\n                        r.delegateCount = 0;\n                        if (((!s.setup || ((s.setup.call(a, e, n, i) === !1))))) {\n                            ((a.JSBNG__addEventListener ? a.JSBNG__addEventListener(m, i, !1) : ((a.JSBNG__attachEvent && a.JSBNG__attachEvent(((\"JSBNG__on\" + m)), i)))));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (s.add) {\n                        s.add.call(a, o);\n                        ((o.handler.guid || (o.handler.guid = d.guid)));\n                    }\n                ;\n                ;\n                    ((f ? r.splice(r.delegateCount++, 0, o) : r.push(o)));\n                    q.JSBNG__event.global[m] = !0;\n                };\n            ;\n                a = null;\n            },\n            global: {\n            },\n            remove: function(a, b, c, d, e) {\n                var f, g, i, j, k, l, m, n, o, p, r, s = ((q.hasData(a) && q._data(a)));\n                if (((!s || !(n = s.events)))) {\n                    return;\n                }\n            ;\n            ;\n                b = q.trim(cb(((b || \"\")))).split(\" \");\n                for (f = 0; ((f < b.length)); f++) {\n                    g = ((X.exec(b[f]) || []));\n                    i = j = g[1];\n                    k = g[2];\n                    if (!i) {\n                        {\n                            var fin22keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin22i = (0);\n                            (0);\n                            for (; (fin22i < fin22keys.length); (fin22i++)) {\n                                ((i) = (fin22keys[fin22i]));\n                                {\n                                    q.JSBNG__event.remove(a, ((i + b[f])), c, d, !0);\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        continue;\n                    }\n                ;\n                ;\n                    o = ((q.JSBNG__event.special[i] || {\n                    }));\n                    i = ((((d ? o.delegateType : o.bindType)) || i));\n                    p = ((n[i] || []));\n                    l = p.length;\n                    k = ((k ? new RegExp(((((\"(^|\\\\.)\" + k.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    for (m = 0; ((m < p.length)); m++) {\n                        r = p[m];\n                        if (((((((((e || ((j === r.origType)))) && ((!c || ((c.guid === r.guid)))))) && ((!k || k.test(r.namespace))))) && ((((!d || ((d === r.selector)))) || ((((d === \"**\")) && r.selector))))))) {\n                            p.splice(m--, 1);\n                            ((r.selector && p.delegateCount--));\n                            ((o.remove && o.remove.call(a, r)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (((((p.length === 0)) && ((l !== p.length))))) {\n                        ((((!o.teardown || ((o.teardown.call(a, k, s.handle) === !1)))) && q.removeEvent(a, i, s.handle)));\n                        delete n[i];\n                    }\n                ;\n                ;\n                };\n            ;\n                if (q.isEmptyObject(n)) {\n                    delete s.handle;\n                    q.removeData(a, \"events\", !0);\n                }\n            ;\n            ;\n            },\n            customEvent: {\n                getData: !0,\n                setData: !0,\n                changeData: !0\n            },\n            trigger: function(c, d, f, g) {\n                if (((!f || ((((f.nodeType !== 3)) && ((f.nodeType !== 8))))))) {\n                    var i, j, k, l, m, n, o, p, r, s, t = ((c.type || c)), u = [];\n                    if (bb.test(((t + q.JSBNG__event.triggered)))) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\"!\") >= 0))) {\n                        t = t.slice(0, -1);\n                        j = !0;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\".\") >= 0))) {\n                        u = t.split(\".\");\n                        t = u.shift();\n                        u.sort();\n                    }\n                ;\n                ;\n                    if (((((!f || q.JSBNG__event.customEvent[t])) && !q.JSBNG__event.global[t]))) {\n                        return;\n                    }\n                ;\n                ;\n                    c = ((((typeof c == \"object\")) ? ((c[q.expando] ? c : new q.JSBNG__Event(t, c))) : new q.JSBNG__Event(t)));\n                    c.type = t;\n                    c.isTrigger = !0;\n                    c.exclusive = j;\n                    c.namespace = u.join(\".\");\n                    c.namespace_re = ((c.namespace ? new RegExp(((((\"(^|\\\\.)\" + u.join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    n = ((((t.indexOf(\":\") < 0)) ? ((\"JSBNG__on\" + t)) : \"\"));\n                    if (!f) {\n                        i = q.cache;\n                        {\n                            var fin23keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin23i = (0);\n                            (0);\n                            for (; (fin23i < fin23keys.length); (fin23i++)) {\n                                ((k) = (fin23keys[fin23i]));\n                                {\n                                    ((((i[k].events && i[k].events[t])) && q.JSBNG__event.trigger(c, d, i[k].handle.elem, !0)));\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        return;\n                    }\n                ;\n                ;\n                    c.result = b;\n                    ((c.target || (c.target = f)));\n                    d = ((((d != null)) ? q.makeArray(d) : []));\n                    d.unshift(c);\n                    o = ((q.JSBNG__event.special[t] || {\n                    }));\n                    if (((o.trigger && ((o.trigger.apply(f, d) === !1))))) {\n                        return;\n                    }\n                ;\n                ;\n                    r = [[f,((o.bindType || t)),],];\n                    if (((((!g && !o.noBubble)) && !q.isWindow(f)))) {\n                        s = ((o.delegateType || t));\n                        l = ((bb.test(((s + t))) ? f : f.parentNode));\n                        for (m = f; l; l = l.parentNode) {\n                            r.push([l,s,]);\n                            m = l;\n                        };\n                    ;\n                        ((((m === ((f.ownerDocument || e)))) && r.push([((((m.defaultView || m.parentWindow)) || a)),s,])));\n                    }\n                ;\n                ;\n                    for (k = 0; ((((k < r.length)) && !c.isPropagationStopped())); k++) {\n                        l = r[k][0];\n                        c.type = r[k][1];\n                        p = ((((q._data(l, \"events\") || {\n                        }))[c.type] && q._data(l, \"handle\")));\n                        ((p && p.apply(l, d)));\n                        p = ((n && l[n]));\n                        ((((((((p && q.acceptData(l))) && p.apply)) && ((p.apply(l, d) === !1)))) && c.preventDefault()));\n                    };\n                ;\n                    c.type = t;\n                    if (((((((((((((((((!g && !c.isDefaultPrevented())) && ((!o._default || ((o._default.apply(f.ownerDocument, d) === !1)))))) && ((((t !== \"click\")) || !q.nodeName(f, \"a\"))))) && q.acceptData(f))) && n)) && f[t])) && ((((((t !== \"JSBNG__focus\")) && ((t !== \"JSBNG__blur\")))) || ((c.target.offsetWidth !== 0)))))) && !q.isWindow(f)))) {\n                        m = f[n];\n                        ((m && (f[n] = null)));\n                        q.JSBNG__event.triggered = t;\n                        f[t]();\n                        q.JSBNG__event.triggered = b;\n                        ((m && (f[n] = m)));\n                    }\n                ;\n                ;\n                    return c.result;\n                }\n            ;\n            ;\n                return;\n            },\n            dispatch: function(c) {\n                c = q.JSBNG__event.fix(((c || a.JSBNG__event)));\n                var d, e, f, g, i, j, k, m, n, o, p = ((((q._data(this, \"events\") || {\n                }))[c.type] || [])), r = p.delegateCount, s = l.call(arguments), t = ((!c.exclusive && !c.namespace)), u = ((q.JSBNG__event.special[c.type] || {\n                })), v = [];\n                s[0] = c;\n                c.delegateTarget = this;\n                if (((u.preDispatch && ((u.preDispatch.call(this, c) === !1))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((r && ((!c.button || ((c.type !== \"click\"))))))) {\n                    for (f = c.target; ((f != this)); f = ((f.parentNode || this))) {\n                        if (((((f.disabled !== !0)) || ((c.type !== \"click\"))))) {\n                            i = {\n                            };\n                            k = [];\n                            for (d = 0; ((d < r)); d++) {\n                                m = p[d];\n                                n = m.selector;\n                                ((((i[n] === b)) && (i[n] = ((m.needsContext ? ((q(n, this).index(f) >= 0)) : q.JSBNG__find(n, this, null, [f,]).length)))));\n                                ((i[n] && k.push(m)));\n                            };\n                        ;\n                            ((k.length && v.push({\n                                elem: f,\n                                matches: k\n                            })));\n                        }\n                    ;\n                    ;\n                    };\n                }\n            ;\n            ;\n                ((((p.length > r)) && v.push({\n                    elem: this,\n                    matches: p.slice(r)\n                })));\n                for (d = 0; ((((d < v.length)) && !c.isPropagationStopped())); d++) {\n                    j = v[d];\n                    c.currentTarget = j.elem;\n                    for (e = 0; ((((e < j.matches.length)) && !c.isImmediatePropagationStopped())); e++) {\n                        m = j.matches[e];\n                        if (((((t || ((!c.namespace && !m.namespace)))) || ((c.namespace_re && c.namespace_re.test(m.namespace)))))) {\n                            c.data = m.data;\n                            c.handleObj = m;\n                            g = ((((q.JSBNG__event.special[m.origType] || {\n                            })).handle || m.handler)).apply(j.elem, s);\n                            if (((g !== b))) {\n                                c.result = g;\n                                if (((g === !1))) {\n                                    c.preventDefault();\n                                    c.stopPropagation();\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                };\n            ;\n                ((u.postDispatch && u.postDispatch.call(this, c)));\n                return c.result;\n            },\n            props: \"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n            fixHooks: {\n            },\n            keyHooks: {\n                props: \"char charCode key keyCode\".split(\" \"),\n                filter: function(a, b) {\n                    ((((a.which == null)) && (a.which = ((((b.charCode != null)) ? b.charCode : b.keyCode)))));\n                    return a;\n                }\n            },\n            mouseHooks: {\n                props: \"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n                filter: function(a, c) {\n                    var d, f, g, i = c.button, j = c.fromElement;\n                    if (((((a.pageX == null)) && ((c.clientX != null))))) {\n                        d = ((a.target.ownerDocument || e));\n                        f = d.documentElement;\n                        g = d.body;\n                        a.pageX = ((((c.clientX + ((((((f && f.scrollLeft)) || ((g && g.scrollLeft)))) || 0)))) - ((((((f && f.clientLeft)) || ((g && g.clientLeft)))) || 0))));\n                        a.pageY = ((((c.clientY + ((((((f && f.scrollTop)) || ((g && g.scrollTop)))) || 0)))) - ((((((f && f.clientTop)) || ((g && g.clientTop)))) || 0))));\n                    }\n                ;\n                ;\n                    ((((!a.relatedTarget && j)) && (a.relatedTarget = ((((j === a.target)) ? c.toElement : j)))));\n                    ((((!a.which && ((i !== b)))) && (a.which = ((((i & 1)) ? 1 : ((((i & 2)) ? 3 : ((((i & 4)) ? 2 : 0)))))))));\n                    return a;\n                }\n            },\n            fix: function(a) {\n                if (a[q.expando]) {\n                    return a;\n                }\n            ;\n            ;\n                var b, c, d = a, f = ((q.JSBNG__event.fixHooks[a.type] || {\n                })), g = ((f.props ? this.props.concat(f.props) : this.props));\n                a = q.JSBNG__Event(d);\n                for (b = g.length; b; ) {\n                    c = g[--b];\n                    a[c] = d[c];\n                };\n            ;\n                ((a.target || (a.target = ((d.srcElement || e)))));\n                ((((a.target.nodeType === 3)) && (a.target = a.target.parentNode)));\n                a.metaKey = !!a.metaKey;\n                return ((f.filter ? f.filter(a, d) : a));\n            },\n            special: {\n                load: {\n                    noBubble: !0\n                },\n                JSBNG__focus: {\n                    delegateType: \"focusin\"\n                },\n                JSBNG__blur: {\n                    delegateType: \"focusout\"\n                },\n                beforeunload: {\n                    setup: function(a, b, c) {\n                        ((q.isWindow(this) && (this.JSBNG__onbeforeunload = c)));\n                    },\n                    teardown: function(a, b) {\n                        ((((this.JSBNG__onbeforeunload === b)) && (this.JSBNG__onbeforeunload = null)));\n                    }\n                }\n            },\n            simulate: function(a, b, c, d) {\n                var e = q.extend(new q.JSBNG__Event, c, {\n                    type: a,\n                    isSimulated: !0,\n                    originalEvent: {\n                    }\n                });\n                ((d ? q.JSBNG__event.trigger(e, null, b) : q.JSBNG__event.dispatch.call(b, e)));\n                ((e.isDefaultPrevented() && c.preventDefault()));\n            }\n        };\n        q.JSBNG__event.handle = q.JSBNG__event.dispatch;\n        q.removeEvent = ((e.JSBNG__removeEventListener ? function(a, b, c) {\n            ((a.JSBNG__removeEventListener && a.JSBNG__removeEventListener(b, c, !1)));\n        } : function(a, b, c) {\n            var d = ((\"JSBNG__on\" + b));\n            if (a.JSBNG__detachEvent) {\n                ((((typeof a[d] == \"undefined\")) && (a[d] = null)));\n                a.JSBNG__detachEvent(d, c);\n            }\n        ;\n        ;\n        }));\n        q.JSBNG__Event = function(a, b) {\n            if (!((this instanceof q.JSBNG__Event))) {\n                return new q.JSBNG__Event(a, b);\n            }\n        ;\n        ;\n            if (((a && a.type))) {\n                this.originalEvent = a;\n                this.type = a.type;\n                this.isDefaultPrevented = ((((((a.defaultPrevented || ((a.returnValue === !1)))) || ((a.getPreventDefault && a.getPreventDefault())))) ? eb : db));\n            }\n             else this.type = a;\n        ;\n        ;\n            ((b && q.extend(this, b)));\n            this.timeStamp = ((((a && a.timeStamp)) || q.now()));\n            this[q.expando] = !0;\n        };\n        q.JSBNG__Event.prototype = {\n            preventDefault: function() {\n                this.isDefaultPrevented = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.preventDefault ? a.preventDefault() : a.returnValue = !1));\n            },\n            stopPropagation: function() {\n                this.isPropagationStopped = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.stopPropagation && a.stopPropagation()));\n                a.cancelBubble = !0;\n            },\n            stopImmediatePropagation: function() {\n                this.isImmediatePropagationStopped = eb;\n                this.stopPropagation();\n            },\n            isDefaultPrevented: db,\n            isPropagationStopped: db,\n            isImmediatePropagationStopped: db\n        };\n        q.each({\n            mouseenter: \"mouseover\",\n            mouseleave: \"mouseout\"\n        }, function(a, b) {\n            q.JSBNG__event.special[a] = {\n                delegateType: b,\n                bindType: b,\n                handle: function(a) {\n                    var c, d = this, e = a.relatedTarget, f = a.handleObj, g = f.selector;\n                    if (((!e || ((((e !== d)) && !q.contains(d, e)))))) {\n                        a.type = f.origType;\n                        c = f.handler.apply(this, arguments);\n                        a.type = b;\n                    }\n                ;\n                ;\n                    return c;\n                }\n            };\n        });\n        ((q.support.submitBubbles || (q.JSBNG__event.special.submit = {\n            setup: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"click._submit keypress._submit\", function(a) {\n                    var c = a.target, d = ((((q.nodeName(c, \"input\") || q.nodeName(c, \"button\"))) ? c.form : b));\n                    if (((d && !q._data(d, \"_submit_attached\")))) {\n                        q.JSBNG__event.add(d, \"submit._submit\", function(a) {\n                            a._submit_bubble = !0;\n                        });\n                        q._data(d, \"_submit_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            postDispatch: function(a) {\n                if (a._submit_bubble) {\n                    delete a._submit_bubble;\n                    ((((this.parentNode && !a.isTrigger)) && q.JSBNG__event.simulate(\"submit\", this.parentNode, a, !0)));\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.remove(this, \"._submit\");\n            }\n        })));\n        ((q.support.changeBubbles || (q.JSBNG__event.special.change = {\n            setup: function() {\n                if (W.test(this.nodeName)) {\n                    if (((((this.type === \"checkbox\")) || ((this.type === \"radio\"))))) {\n                        q.JSBNG__event.add(this, \"propertychange._change\", function(a) {\n                            ((((a.originalEvent.propertyName === \"checked\")) && (this._just_changed = !0)));\n                        });\n                        q.JSBNG__event.add(this, \"click._change\", function(a) {\n                            ((((this._just_changed && !a.isTrigger)) && (this._just_changed = !1)));\n                            q.JSBNG__event.simulate(\"change\", this, a, !0);\n                        });\n                    }\n                ;\n                ;\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"beforeactivate._change\", function(a) {\n                    var b = a.target;\n                    if (((W.test(b.nodeName) && !q._data(b, \"_change_attached\")))) {\n                        q.JSBNG__event.add(b, \"change._change\", function(a) {\n                            ((((((this.parentNode && !a.isSimulated)) && !a.isTrigger)) && q.JSBNG__event.simulate(\"change\", this.parentNode, a, !0)));\n                        });\n                        q._data(b, \"_change_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            handle: function(a) {\n                var b = a.target;\n                if (((((((((this !== b)) || a.isSimulated)) || a.isTrigger)) || ((((b.type !== \"radio\")) && ((b.type !== \"checkbox\"))))))) {\n                    return a.handleObj.handler.apply(this, arguments);\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                q.JSBNG__event.remove(this, \"._change\");\n                return !W.test(this.nodeName);\n            }\n        })));\n        ((q.support.focusinBubbles || q.each({\n            JSBNG__focus: \"focusin\",\n            JSBNG__blur: \"focusout\"\n        }, function(a, b) {\n            var c = 0, d = function(a) {\n                q.JSBNG__event.simulate(b, a.target, q.JSBNG__event.fix(a), !0);\n            };\n            q.JSBNG__event.special[b] = {\n                setup: function() {\n                    ((((c++ === 0)) && e.JSBNG__addEventListener(a, d, !0)));\n                },\n                teardown: function() {\n                    ((((--c === 0)) && e.JSBNG__removeEventListener(a, d, !0)));\n                }\n            };\n        })));\n        q.fn.extend({\n            JSBNG__on: function(a, c, d, e, f) {\n                var g, i;\n                if (((typeof a == \"object\"))) {\n                    if (((typeof c != \"string\"))) {\n                        d = ((d || c));\n                        c = b;\n                    }\n                ;\n                ;\n                    {\n                        var fin24keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin24i = (0);\n                        (0);\n                        for (; (fin24i < fin24keys.length); (fin24i++)) {\n                            ((i) = (fin24keys[fin24i]));\n                            {\n                                this.JSBNG__on(i, c, d, a[i], f);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((d == null)) && ((e == null))))) {\n                    e = c;\n                    d = c = b;\n                }\n                 else if (((e == null))) {\n                    if (((typeof c == \"string\"))) {\n                        e = d;\n                        d = b;\n                    }\n                     else {\n                        e = d;\n                        d = c;\n                        c = b;\n                    }\n                ;\n                }\n                \n            ;\n            ;\n                if (((e === !1))) {\n                    e = db;\n                }\n                 else {\n                    if (!e) {\n                        return this;\n                    }\n                ;\n                }\n            ;\n            ;\n                if (((f === 1))) {\n                    g = e;\n                    e = function(a) {\n                        q().off(a);\n                        return g.apply(this, arguments);\n                    };\n                    e.guid = ((g.guid || (g.guid = q.guid++)));\n                }\n            ;\n            ;\n                return this.each(function() {\n                    q.JSBNG__event.add(this, a, e, d, c);\n                });\n            },\n            one: function(a, b, c, d) {\n                return this.JSBNG__on(a, b, c, d, 1);\n            },\n            off: function(a, c, d) {\n                var e, f;\n                if (((((a && a.preventDefault)) && a.handleObj))) {\n                    e = a.handleObj;\n                    q(a.delegateTarget).off(((e.namespace ? ((((e.origType + \".\")) + e.namespace)) : e.origType)), e.selector, e.handler);\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    {\n                        var fin25keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin25i = (0);\n                        (0);\n                        for (; (fin25i < fin25keys.length); (fin25i++)) {\n                            ((f) = (fin25keys[fin25i]));\n                            {\n                                this.off(f, c, a[f]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((c === !1)) || ((typeof c == \"function\"))))) {\n                    d = c;\n                    c = b;\n                }\n            ;\n            ;\n                ((((d === !1)) && (d = db)));\n                return this.each(function() {\n                    q.JSBNG__event.remove(this, a, d, c);\n                });\n            },\n            bind: function(a, b, c) {\n                return this.JSBNG__on(a, null, b, c);\n            },\n            unbind: function(a, b) {\n                return this.off(a, null, b);\n            },\n            live: function(a, b, c) {\n                q(this.context).JSBNG__on(a, this.selector, b, c);\n                return this;\n            },\n            die: function(a, b) {\n                q(this.context).off(a, ((this.selector || \"**\")), b);\n                return this;\n            },\n            delegate: function(a, b, c, d) {\n                return this.JSBNG__on(b, a, c, d);\n            },\n            undelegate: function(a, b, c) {\n                return ((((arguments.length === 1)) ? this.off(a, \"**\") : this.off(b, ((a || \"**\")), c)));\n            },\n            trigger: function(a, b) {\n                return this.each(function() {\n                    q.JSBNG__event.trigger(a, b, this);\n                });\n            },\n            triggerHandler: function(a, b) {\n                if (this[0]) {\n                    return q.JSBNG__event.trigger(a, b, this[0], !0);\n                }\n            ;\n            ;\n            },\n            toggle: function(a) {\n                var b = arguments, c = ((a.guid || q.guid++)), d = 0, e = function(c) {\n                    var e = ((((q._data(this, ((\"lastToggle\" + a.guid))) || 0)) % d));\n                    q._data(this, ((\"lastToggle\" + a.guid)), ((e + 1)));\n                    c.preventDefault();\n                    return ((b[e].apply(this, arguments) || !1));\n                };\n                e.guid = c;\n                while (((d < b.length))) {\n                    b[d++].guid = c;\n                ;\n                };\n            ;\n                return this.click(e);\n            },\n            hover: function(a, b) {\n                return this.mouseenter(a).mouseleave(((b || a)));\n            }\n        });\n        q.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a, c) {\n                if (((c == null))) {\n                    c = a;\n                    a = null;\n                }\n            ;\n            ;\n                return ((((arguments.length > 0)) ? this.JSBNG__on(b, null, a, c) : this.trigger(b)));\n            };\n            ((Z.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.keyHooks)));\n            ((ab.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.mouseHooks)));\n        });\n        (function(a, b) {\n            function fb(a, b, c, d) {\n                c = ((c || []));\n                b = ((b || s));\n                var e, f, j, k, l = b.nodeType;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return c;\n                }\n            ;\n            ;\n                if (((((l !== 1)) && ((l !== 9))))) {\n                    return [];\n                }\n            ;\n            ;\n                j = g(b);\n                if (((!j && !d))) {\n                    if (e = Q.exec(a)) {\n                        if (k = e[1]) {\n                            if (((l === 9))) {\n                                f = b.getElementById(k);\n                                if (((!f || !f.parentNode))) {\n                                    return c;\n                                }\n                            ;\n                            ;\n                                if (((f.id === k))) {\n                                    c.push(f);\n                                    return c;\n                                }\n                            ;\n                            ;\n                            }\n                             else if (((((((b.ownerDocument && (f = b.ownerDocument.getElementById(k)))) && i(b, f))) && ((f.id === k))))) {\n                                c.push(f);\n                                return c;\n                            }\n                            \n                        ;\n                        ;\n                        }\n                         else {\n                            if (e[2]) {\n                                x.apply(c, y.call(b.getElementsByTagName(a), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                            if ((((((k = e[3]) && cb)) && b.getElementsByClassName))) {\n                                x.apply(c, y.call(b.getElementsByClassName(k), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    }\n                ;\n                }\n            ;\n            ;\n                return sb(a.replace(M, \"$1\"), b, c, d, j);\n            };\n        ;\n            function gb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((c === \"input\")) && ((b.type === a))));\n                };\n            };\n        ;\n            function hb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((((c === \"input\")) || ((c === \"button\")))) && ((b.type === a))));\n                };\n            };\n        ;\n            function ib(a) {\n                return A(function(b) {\n                    b = +b;\n                    return A(function(c, d) {\n                        var e, f = a([], c.length, b), g = f.length;\n                        while (g--) {\n                            ((c[e = f[g]] && (c[e] = !(d[e] = c[e]))));\n                        ;\n                        };\n                    ;\n                    });\n                });\n            };\n        ;\n            function jb(a, b, c) {\n                if (((a === b))) {\n                    return c;\n                }\n            ;\n            ;\n                var d = a.nextSibling;\n                while (d) {\n                    if (((d === b))) {\n                        return -1;\n                    }\n                ;\n                ;\n                    d = d.nextSibling;\n                };\n            ;\n                return 1;\n            };\n        ;\n            function kb(a, b) {\n                var c, d, f, g, i, j, k, l = D[p][((a + \" \"))];\n                if (l) {\n                    return ((b ? 0 : l.slice(0)));\n                }\n            ;\n            ;\n                i = a;\n                j = [];\n                k = e.preFilter;\n                while (i) {\n                    if (((!c || (d = N.exec(i))))) {\n                        ((d && (i = ((i.slice(d[0].length) || i)))));\n                        j.push(f = []);\n                    }\n                ;\n                ;\n                    c = !1;\n                    if (d = O.exec(i)) {\n                        f.push(c = new r(d.shift()));\n                        i = i.slice(c.length);\n                        c.type = d[0].replace(M, \" \");\n                    }\n                ;\n                ;\n                    {\n                        var fin26keys = ((window.top.JSBNG_Replay.forInKeys)((e.filter))), fin26i = (0);\n                        (0);\n                        for (; (fin26i < fin26keys.length); (fin26i++)) {\n                            ((g) = (fin26keys[fin26i]));\n                            {\n                                if ((((d = X[g].exec(i)) && ((!k[g] || (d = k[g](d))))))) {\n                                    f.push(c = new r(d.shift()));\n                                    i = i.slice(c.length);\n                                    c.type = g;\n                                    c.matches = d;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    if (!c) {\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((b ? i.length : ((i ? fb.error(a) : D(a, j).slice(0)))));\n            };\n        ;\n            function lb(a, b, d) {\n                var e = b.dir, f = ((d && ((b.dir === \"parentNode\")))), g = v++;\n                return ((b.first ? function(b, c, d) {\n                    while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            return a(b, c, d);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                } : function(b, d, i) {\n                    if (!i) {\n                        var j, k = ((((((u + \" \")) + g)) + \" \")), l = ((k + c));\n                        while (b = b[e]) {\n                            if (((f || ((b.nodeType === 1))))) {\n                                if ((((j = b[p]) === l))) {\n                                    return b.sizset;\n                                }\n                            ;\n                            ;\n                                if (((((typeof j == \"string\")) && ((j.indexOf(k) === 0))))) {\n                                    if (b.sizset) {\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                }\n                                 else {\n                                    b[p] = l;\n                                    if (a(b, d, i)) {\n                                        b.sizset = !0;\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                    b.sizset = !1;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                     else while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            if (a(b, d, i)) {\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }));\n            };\n        ;\n            function mb(a) {\n                return ((((a.length > 1)) ? function(b, c, d) {\n                    var e = a.length;\n                    while (e--) {\n                        if (!a[e](b, c, d)) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return !0;\n                } : a[0]));\n            };\n        ;\n            function nb(a, b, c, d, e) {\n                var f, g = [], i = 0, j = a.length, k = ((b != null));\n                for (; ((i < j)); i++) {\n                    if (f = a[i]) {\n                        if (((!c || c(f, d, e)))) {\n                            g.push(f);\n                            ((k && b.push(i)));\n                        }\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            };\n        ;\n            function ob(a, b, c, d, e, f) {\n                ((((d && !d[p])) && (d = ob(d))));\n                ((((e && !e[p])) && (e = ob(e, f))));\n                return A(function(f, g, i, j) {\n                    var k, l, m, n = [], o = [], p = g.length, q = ((f || rb(((b || \"*\")), ((i.nodeType ? [i,] : i)), []))), r = ((((a && ((f || !b)))) ? nb(q, n, a, i, j) : q)), s = ((c ? ((((e || ((f ? a : ((p || d)))))) ? [] : g)) : r));\n                    ((c && c(r, s, i, j)));\n                    if (d) {\n                        k = nb(s, o);\n                        d(k, [], i, j);\n                        l = k.length;\n                        while (l--) {\n                            if (m = k[l]) {\n                                s[o[l]] = !(r[o[l]] = m);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (f) {\n                        if (((e || a))) {\n                            if (e) {\n                                k = [];\n                                l = s.length;\n                                while (l--) {\n                                    (((m = s[l]) && k.push(r[l] = m)));\n                                ;\n                                };\n                            ;\n                                e(null, s = [], k, j);\n                            }\n                        ;\n                        ;\n                            l = s.length;\n                            while (l--) {\n                                (((((m = s[l]) && (((k = ((e ? z.call(f, m) : n[l]))) > -1)))) && (f[k] = !(g[k] = m))));\n                            ;\n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        s = nb(((((s === g)) ? s.splice(p, s.length) : s)));\n                        ((e ? e(null, g, s, j) : x.apply(g, s)));\n                    }\n                ;\n                ;\n                });\n            };\n        ;\n            function pb(a) {\n                var b, c, d, f = a.length, g = e.relative[a[0].type], i = ((g || e.relative[\" \"])), j = ((g ? 1 : 0)), k = lb(function(a) {\n                    return ((a === b));\n                }, i, !0), l = lb(function(a) {\n                    return ((z.call(b, a) > -1));\n                }, i, !0), n = [function(a, c, d) {\n                    return ((((!g && ((d || ((c !== m)))))) || (((b = c).nodeType ? k(a, c, d) : l(a, c, d)))));\n                },];\n                for (; ((j < f)); j++) {\n                    if (c = e.relative[a[j].type]) n = [lb(mb(n), c),];\n                     else {\n                        c = e.filter[a[j].type].apply(null, a[j].matches);\n                        if (c[p]) {\n                            d = ++j;\n                            for (; ((d < f)); d++) {\n                                if (e.relative[a[d].type]) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            return ob(((((j > 1)) && mb(n))), ((((j > 1)) && a.slice(0, ((j - 1))).join(\"\").replace(M, \"$1\"))), c, ((((j < d)) && pb(a.slice(j, d)))), ((((d < f)) && pb(a = a.slice(d)))), ((((d < f)) && a.join(\"\"))));\n                        }\n                    ;\n                    ;\n                        n.push(c);\n                    }\n                ;\n                ;\n                };\n            ;\n                return mb(n);\n            };\n        ;\n            function qb(a, b) {\n                var d = ((b.length > 0)), f = ((a.length > 0)), g = function(i, j, k, l, n) {\n                    var o, p, q, r = [], t = 0, v = \"0\", y = ((i && [])), z = ((n != null)), A = m, B = ((i || ((f && e.JSBNG__find.TAG(\"*\", ((((n && j.parentNode)) || j))))))), C = u += ((((A == null)) ? 1 : Math.E));\n                    if (z) {\n                        m = ((((j !== s)) && j));\n                        c = g.el;\n                    }\n                ;\n                ;\n                    for (; (((o = B[v]) != null)); v++) {\n                        if (((f && o))) {\n                            for (p = 0; q = a[p]; p++) {\n                                if (q(o, j, k)) {\n                                    l.push(o);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            if (z) {\n                                u = C;\n                                c = ++g.el;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (d) {\n                            (((o = ((!q && o))) && t--));\n                            ((i && y.push(o)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    t += v;\n                    if (((d && ((v !== t))))) {\n                        for (p = 0; q = b[p]; p++) {\n                            q(y, r, j, k);\n                        ;\n                        };\n                    ;\n                        if (i) {\n                            if (((t > 0))) {\n                                while (v--) {\n                                    ((((!y[v] && !r[v])) && (r[v] = w.call(l))));\n                                ;\n                                };\n                            }\n                        ;\n                        ;\n                            r = nb(r);\n                        }\n                    ;\n                    ;\n                        x.apply(l, r);\n                        ((((((((z && !i)) && ((r.length > 0)))) && ((((t + b.length)) > 1)))) && fb.uniqueSort(l)));\n                    }\n                ;\n                ;\n                    if (z) {\n                        u = C;\n                        m = A;\n                    }\n                ;\n                ;\n                    return y;\n                };\n                g.el = 0;\n                return ((d ? A(g) : g));\n            };\n        ;\n            function rb(a, b, c) {\n                var d = 0, e = b.length;\n                for (; ((d < e)); d++) {\n                    fb(a, b[d], c);\n                ;\n                };\n            ;\n                return c;\n            };\n        ;\n            function sb(a, b, c, d, f) {\n                var g, i, k, l, m, n = kb(a), o = n.length;\n                if (((!d && ((n.length === 1))))) {\n                    i = n[0] = n[0].slice(0);\n                    if (((((((((((i.length > 2)) && (((k = i[0]).type === \"ID\")))) && ((b.nodeType === 9)))) && !f)) && e.relative[i[1].type]))) {\n                        b = e.JSBNG__find.ID(k.matches[0].replace(W, \"\"), b, f)[0];\n                        if (!b) {\n                            return c;\n                        }\n                    ;\n                    ;\n                        a = a.slice(i.shift().length);\n                    }\n                ;\n                ;\n                    for (g = ((X.POS.test(a) ? -1 : ((i.length - 1)))); ((g >= 0)); g--) {\n                        k = i[g];\n                        if (e.relative[l = k.type]) {\n                            break;\n                        }\n                    ;\n                    ;\n                        if (m = e.JSBNG__find[l]) {\n                            if (d = m(k.matches[0].replace(W, \"\"), ((((S.test(i[0].type) && b.parentNode)) || b)), f)) {\n                                i.splice(g, 1);\n                                a = ((d.length && i.join(\"\")));\n                                if (!a) {\n                                    x.apply(c, y.call(d, 0));\n                                    return c;\n                                }\n                            ;\n                            ;\n                                break;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                j(a, n)(d, b, f, c, S.test(a));\n                return c;\n            };\n        ;\n            function tb() {\n            \n            };\n        ;\n            var c, d, e, f, g, i, j, k, l, m, n = !0, o = \"undefined\", p = ((\"sizcache\" + Math.JSBNG__random())).replace(\".\", \"\"), r = String, s = a.JSBNG__document, t = s.documentElement, u = 0, v = 0, w = [].pop, x = [].push, y = [].slice, z = (([].indexOf || function(a) {\n                var b = 0, c = this.length;\n                for (; ((b < c)); b++) {\n                    if (((this[b] === a))) {\n                        return b;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            })), A = function(a, b) {\n                a[p] = ((((b == null)) || b));\n                return a;\n            }, B = function() {\n                var a = {\n                }, b = [];\n                return A(function(c, d) {\n                    ((((b.push(c) > e.cacheLength)) && delete a[b.shift()]));\n                    return a[((c + \" \"))] = d;\n                }, a);\n            }, C = B(), D = B(), E = B(), F = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\", G = \"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\", H = G.replace(\"w\", \"w#\"), I = \"([*^$|!~]?=)\", J = ((((((((((((((((((((((((((\"\\\\[\" + F)) + \"*(\")) + G)) + \")\")) + F)) + \"*(?:\")) + I)) + F)) + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\")) + H)) + \")|)|)\")) + F)) + \"*\\\\]\")), K = ((((((((\":(\" + G)) + \")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\")) + J)) + \")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\")), L = ((((((((\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + F)) + \"*((?:-\\\\d)?\\\\d*)\")) + F)) + \"*\\\\)|)(?=[^-]|$)\")), M = new RegExp(((((((((\"^\" + F)) + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\")) + F)) + \"+$\")), \"g\"), N = new RegExp(((((((((\"^\" + F)) + \"*,\")) + F)) + \"*\"))), O = new RegExp(((((((((\"^\" + F)) + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f\\u003E+~])\")) + F)) + \"*\"))), P = new RegExp(K), Q = /^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/, R = /^:not/, S = /[\\x20\\t\\r\\n\\f]*[+~]/, T = /:not\\($/, U = /h\\d/i, V = /input|select|textarea|button/i, W = /\\\\(?!\\\\)/g, X = {\n                ID: new RegExp(((((\"^#(\" + G)) + \")\"))),\n                CLASS: new RegExp(((((\"^\\\\.(\" + G)) + \")\"))),\n                NAME: new RegExp(((((\"^\\\\[name=['\\\"]?(\" + G)) + \")['\\\"]?\\\\]\"))),\n                TAG: new RegExp(((((\"^(\" + G.replace(\"w\", \"w*\"))) + \")\"))),\n                ATTR: new RegExp(((\"^\" + J))),\n                PSEUDO: new RegExp(((\"^\" + K))),\n                POS: new RegExp(L, \"i\"),\n                CHILD: new RegExp(((((((((((((((((\"^:(only|nth|first|last)-child(?:\\\\(\" + F)) + \"*(even|odd|(([+-]|)(\\\\d*)n|)\")) + F)) + \"*(?:([+-]|)\")) + F)) + \"*(\\\\d+)|))\")) + F)) + \"*\\\\)|)\")), \"i\"),\n                needsContext: new RegExp(((((((\"^\" + F)) + \"*[\\u003E+~]|\")) + L)), \"i\")\n            }, Y = function(a) {\n                var b = s.createElement(\"div\");\n                try {\n                    return a(b);\n                } catch (c) {\n                    return !1;\n                } finally {\n                    b = null;\n                };\n            ;\n            }, Z = Y(function(a) {\n                a.appendChild(s.createComment(\"\"));\n                return !a.getElementsByTagName(\"*\").length;\n            }), ab = Y(function(a) {\n                a.innerHTML = \"\\u003Ca href='#'\\u003E\\u003C/a\\u003E\";\n                return ((((a.firstChild && ((typeof a.firstChild.getAttribute !== o)))) && ((a.firstChild.getAttribute(\"href\") === \"#\"))));\n            }), bb = Y(function(a) {\n                a.innerHTML = \"\\u003Cselect\\u003E\\u003C/select\\u003E\";\n                var b = typeof a.lastChild.getAttribute(\"multiple\");\n                return ((((b !== \"boolean\")) && ((b !== \"string\"))));\n            }), cb = Y(function(a) {\n                a.innerHTML = \"\\u003Cdiv class='hidden e'\\u003E\\u003C/div\\u003E\\u003Cdiv class='hidden'\\u003E\\u003C/div\\u003E\";\n                if (((!a.getElementsByClassName || !a.getElementsByClassName(\"e\").length))) {\n                    return !1;\n                }\n            ;\n            ;\n                a.lastChild.className = \"e\";\n                return ((a.getElementsByClassName(\"e\").length === 2));\n            }), db = Y(function(a) {\n                a.id = ((p + 0));\n                a.innerHTML = ((((((((\"\\u003Ca name='\" + p)) + \"'\\u003E\\u003C/a\\u003E\\u003Cdiv name='\")) + p)) + \"'\\u003E\\u003C/div\\u003E\"));\n                t.insertBefore(a, t.firstChild);\n                var b = ((s.getElementsByName && ((s.getElementsByName(p).length === ((2 + s.getElementsByName(((p + 0))).length))))));\n                d = !s.getElementById(p);\n                t.removeChild(a);\n                return b;\n            });\n            try {\n                y.call(t.childNodes, 0)[0].nodeType;\n            } catch (eb) {\n                y = function(a) {\n                    var b, c = [];\n                    for (; b = this[a]; a++) {\n                        c.push(b);\n                    ;\n                    };\n                ;\n                    return c;\n                };\n            };\n        ;\n            fb.matches = function(a, b) {\n                return fb(a, null, null, b);\n            };\n            fb.matchesSelector = function(a, b) {\n                return ((fb(b, null, null, [a,]).length > 0));\n            };\n            f = fb.getText = function(a) {\n                var b, c = \"\", d = 0, e = a.nodeType;\n                if (e) {\n                    if (((((((e === 1)) || ((e === 9)))) || ((e === 11))))) {\n                        if (((typeof a.textContent == \"string\"))) {\n                            return a.textContent;\n                        }\n                    ;\n                    ;\n                        for (a = a.firstChild; a; a = a.nextSibling) {\n                            c += f(a);\n                        ;\n                        };\n                    ;\n                    }\n                     else if (((((e === 3)) || ((e === 4))))) {\n                        return a.nodeValue;\n                    }\n                    \n                ;\n                ;\n                }\n                 else for (; b = a[d]; d++) {\n                    c += f(b);\n                ;\n                }\n            ;\n            ;\n                return c;\n            };\n            g = fb.isXML = function(a) {\n                var b = ((a && ((a.ownerDocument || a)).documentElement));\n                return ((b ? ((b.nodeName !== \"HTML\")) : !1));\n            };\n            i = fb.contains = ((t.contains ? function(a, b) {\n                var c = ((((a.nodeType === 9)) ? a.documentElement : a)), d = ((b && b.parentNode));\n                return ((((a === d)) || !!((((((d && ((d.nodeType === 1)))) && c.contains)) && c.contains(d)))));\n            } : ((t.compareDocumentPosition ? function(a, b) {\n                return ((b && !!((a.compareDocumentPosition(b) & 16))));\n            } : function(a, b) {\n                while (b = b.parentNode) {\n                    if (((b === a))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            }))));\n            fb.attr = function(a, b) {\n                var c, d = g(a);\n                ((d || (b = b.toLowerCase())));\n                if (c = e.attrHandle[b]) {\n                    return c(a);\n                }\n            ;\n            ;\n                if (((d || bb))) {\n                    return a.getAttribute(b);\n                }\n            ;\n            ;\n                c = a.getAttributeNode(b);\n                return ((c ? ((((typeof a[b] == \"boolean\")) ? ((a[b] ? b : null)) : ((c.specified ? c.value : null)))) : null));\n            };\n            e = fb.selectors = {\n                cacheLength: 50,\n                createPseudo: A,\n                match: X,\n                attrHandle: ((ab ? {\n                } : {\n                    href: function(a) {\n                        return a.getAttribute(\"href\", 2);\n                    },\n                    type: function(a) {\n                        return a.getAttribute(\"type\");\n                    }\n                })),\n                JSBNG__find: {\n                    ID: ((d ? function(a, b, c) {\n                        if (((((typeof b.getElementById !== o)) && !c))) {\n                            var d = b.getElementById(a);\n                            return ((((d && d.parentNode)) ? [d,] : []));\n                        }\n                    ;\n                    ;\n                    } : function(a, c, d) {\n                        if (((((typeof c.getElementById !== o)) && !d))) {\n                            var e = c.getElementById(a);\n                            return ((e ? ((((((e.id === a)) || ((((typeof e.getAttributeNode !== o)) && ((e.getAttributeNode(\"id\").value === a)))))) ? [e,] : b)) : []));\n                        }\n                    ;\n                    ;\n                    })),\n                    TAG: ((Z ? function(a, b) {\n                        if (((typeof b.getElementsByTagName !== o))) {\n                            return b.getElementsByTagName(a);\n                        }\n                    ;\n                    ;\n                    } : function(a, b) {\n                        var c = b.getElementsByTagName(a);\n                        if (((a === \"*\"))) {\n                            var d, e = [], f = 0;\n                            for (; d = c[f]; f++) {\n                                ((((d.nodeType === 1)) && e.push(d)));\n                            ;\n                            };\n                        ;\n                            return e;\n                        }\n                    ;\n                    ;\n                        return c;\n                    })),\n                    NAME: ((db && function(a, b) {\n                        if (((typeof b.getElementsByName !== o))) {\n                            return b.getElementsByName(JSBNG__name);\n                        }\n                    ;\n                    ;\n                    })),\n                    CLASS: ((cb && function(a, b, c) {\n                        if (((((typeof b.getElementsByClassName !== o)) && !c))) {\n                            return b.getElementsByClassName(a);\n                        }\n                    ;\n                    ;\n                    }))\n                },\n                relative: {\n                    \"\\u003E\": {\n                        dir: \"parentNode\",\n                        first: !0\n                    },\n                    \" \": {\n                        dir: \"parentNode\"\n                    },\n                    \"+\": {\n                        dir: \"previousSibling\",\n                        first: !0\n                    },\n                    \"~\": {\n                        dir: \"previousSibling\"\n                    }\n                },\n                preFilter: {\n                    ATTR: function(a) {\n                        a[1] = a[1].replace(W, \"\");\n                        a[3] = ((((a[4] || a[5])) || \"\")).replace(W, \"\");\n                        ((((a[2] === \"~=\")) && (a[3] = ((((\" \" + a[3])) + \" \")))));\n                        return a.slice(0, 4);\n                    },\n                    CHILD: function(a) {\n                        a[1] = a[1].toLowerCase();\n                        if (((a[1] === \"nth\"))) {\n                            ((a[2] || fb.error(a[0])));\n                            a[3] = +((a[3] ? ((a[4] + ((a[5] || 1)))) : ((2 * ((((a[2] === \"even\")) || ((a[2] === \"odd\"))))))));\n                            a[4] = +((((a[6] + a[7])) || ((a[2] === \"odd\"))));\n                        }\n                         else ((a[2] && fb.error(a[0])));\n                    ;\n                    ;\n                        return a;\n                    },\n                    PSEUDO: function(a) {\n                        var b, c;\n                        if (X.CHILD.test(a[0])) {\n                            return null;\n                        }\n                    ;\n                    ;\n                        if (a[3]) {\n                            a[2] = a[3];\n                        }\n                         else {\n                            if (b = a[4]) {\n                                if (((((P.test(b) && (c = kb(b, !0)))) && (c = ((b.indexOf(\")\", ((b.length - c))) - b.length)))))) {\n                                    b = b.slice(0, c);\n                                    a[0] = a[0].slice(0, c);\n                                }\n                            ;\n                            ;\n                                a[2] = b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        return a.slice(0, 3);\n                    }\n                },\n                filter: {\n                    ID: ((d ? function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            return ((b.getAttribute(\"id\") === a));\n                        };\n                    } : function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            var c = ((((typeof b.getAttributeNode !== o)) && b.getAttributeNode(\"id\")));\n                            return ((c && ((c.value === a))));\n                        };\n                    })),\n                    TAG: function(a) {\n                        if (((a === \"*\"))) {\n                            return function() {\n                                return !0;\n                            };\n                        }\n                    ;\n                    ;\n                        a = a.replace(W, \"\").toLowerCase();\n                        return function(b) {\n                            return ((b.nodeName && ((b.nodeName.toLowerCase() === a))));\n                        };\n                    },\n                    CLASS: function(a) {\n                        var b = C[p][((a + \" \"))];\n                        return ((b || (((b = new RegExp(((((((((((((\"(^|\" + F)) + \")\")) + a)) + \"(\")) + F)) + \"|$)\")))) && C(a, function(a) {\n                            return b.test(((((a.className || ((((typeof a.getAttribute !== o)) && a.getAttribute(\"class\"))))) || \"\")));\n                        })))));\n                    },\n                    ATTR: function(a, b, c) {\n                        return function(d, e) {\n                            var f = fb.attr(d, a);\n                            if (((f == null))) {\n                                return ((b === \"!=\"));\n                            }\n                        ;\n                        ;\n                            if (!b) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            f += \"\";\n                            return ((((b === \"=\")) ? ((f === c)) : ((((b === \"!=\")) ? ((f !== c)) : ((((b === \"^=\")) ? ((c && ((f.indexOf(c) === 0)))) : ((((b === \"*=\")) ? ((c && ((f.indexOf(c) > -1)))) : ((((b === \"$=\")) ? ((c && ((f.substr(((f.length - c.length))) === c)))) : ((((b === \"~=\")) ? ((((((\" \" + f)) + \" \")).indexOf(c) > -1)) : ((((b === \"|=\")) ? ((((f === c)) || ((f.substr(0, ((c.length + 1))) === ((c + \"-\")))))) : !1))))))))))))));\n                        };\n                    },\n                    CHILD: function(a, b, c, d) {\n                        return ((((a === \"nth\")) ? function(a) {\n                            var b, e, f = a.parentNode;\n                            if (((((c === 1)) && ((d === 0))))) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            if (f) {\n                                e = 0;\n                                for (b = f.firstChild; b; b = b.nextSibling) {\n                                    if (((b.nodeType === 1))) {\n                                        e++;\n                                        if (((a === b))) {\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            e -= d;\n                            return ((((e === c)) || ((((((e % c)) === 0)) && ((((e / c)) >= 0))))));\n                        } : function(b) {\n                            var c = b;\n                            switch (a) {\n                              case \"only\":\n                            \n                              case \"first\":\n                                while (c = c.previousSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                if (((a === \"first\"))) {\n                                    return !0;\n                                }\n                            ;\n                            ;\n                                c = b;\n                              case \"last\":\n                                while (c = c.nextSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                return !0;\n                            };\n                        ;\n                        }));\n                    },\n                    PSEUDO: function(a, b) {\n                        var c, d = ((((e.pseudos[a] || e.setFilters[a.toLowerCase()])) || fb.error(((\"unsupported pseudo: \" + a)))));\n                        if (d[p]) {\n                            return d(b);\n                        }\n                    ;\n                    ;\n                        if (((d.length > 1))) {\n                            c = [a,a,\"\",b,];\n                            return ((e.setFilters.hasOwnProperty(a.toLowerCase()) ? A(function(a, c) {\n                                var e, f = d(a, b), g = f.length;\n                                while (g--) {\n                                    e = z.call(a, f[g]);\n                                    a[e] = !(c[e] = f[g]);\n                                };\n                            ;\n                            }) : function(a) {\n                                return d(a, 0, c);\n                            }));\n                        }\n                    ;\n                    ;\n                        return d;\n                    }\n                },\n                pseudos: {\n                    not: A(function(a) {\n                        var b = [], c = [], d = j(a.replace(M, \"$1\"));\n                        return ((d[p] ? A(function(a, b, c, e) {\n                            var f, g = d(a, null, e, []), i = a.length;\n                            while (i--) {\n                                if (f = g[i]) {\n                                    a[i] = !(b[i] = f);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        }) : function(a, e, f) {\n                            b[0] = a;\n                            d(b, null, f, c);\n                            return !c.pop();\n                        }));\n                    }),\n                    has: A(function(a) {\n                        return function(b) {\n                            return ((fb(a, b).length > 0));\n                        };\n                    }),\n                    contains: A(function(a) {\n                        return function(b) {\n                            return ((((((b.textContent || b.innerText)) || f(b))).indexOf(a) > -1));\n                        };\n                    }),\n                    enabled: function(a) {\n                        return ((a.disabled === !1));\n                    },\n                    disabled: function(a) {\n                        return ((a.disabled === !0));\n                    },\n                    checked: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && !!a.checked)) || ((((b === \"option\")) && !!a.selected))));\n                    },\n                    selected: function(a) {\n                        ((a.parentNode && a.parentNode.selectedIndex));\n                        return ((a.selected === !0));\n                    },\n                    parent: function(a) {\n                        return !e.pseudos.empty(a);\n                    },\n                    empty: function(a) {\n                        var b;\n                        a = a.firstChild;\n                        while (a) {\n                            if (((((((a.nodeName > \"@\")) || (((b = a.nodeType) === 3)))) || ((b === 4))))) {\n                                return !1;\n                            }\n                        ;\n                        ;\n                            a = a.nextSibling;\n                        };\n                    ;\n                        return !0;\n                    },\n                    header: function(a) {\n                        return U.test(a.nodeName);\n                    },\n                    text: function(a) {\n                        var b, c;\n                        return ((((((a.nodeName.toLowerCase() === \"input\")) && (((b = a.type) === \"text\")))) && (((((c = a.getAttribute(\"type\")) == null)) || ((c.toLowerCase() === b))))));\n                    },\n                    radio: gb(\"radio\"),\n                    checkbox: gb(\"checkbox\"),\n                    file: gb(\"file\"),\n                    password: gb(\"password\"),\n                    image: gb(\"image\"),\n                    submit: hb(\"submit\"),\n                    reset: hb(\"reset\"),\n                    button: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && ((a.type === \"button\")))) || ((b === \"button\"))));\n                    },\n                    input: function(a) {\n                        return V.test(a.nodeName);\n                    },\n                    JSBNG__focus: function(a) {\n                        var b = a.ownerDocument;\n                        return ((((((a === b.activeElement)) && ((!b.hasFocus || b.hasFocus())))) && !!((((a.type || a.href)) || ~a.tabIndex))));\n                    },\n                    active: function(a) {\n                        return ((a === a.ownerDocument.activeElement));\n                    },\n                    first: ib(function() {\n                        return [0,];\n                    }),\n                    last: ib(function(a, b) {\n                        return [((b - 1)),];\n                    }),\n                    eq: ib(function(a, b, c) {\n                        return [((((c < 0)) ? ((c + b)) : c)),];\n                    }),\n                    even: ib(function(a, b) {\n                        for (var c = 0; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    odd: ib(function(a, b) {\n                        for (var c = 1; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    lt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((--d >= 0)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    gt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((++d < b)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    })\n                }\n            };\n            k = ((t.compareDocumentPosition ? function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                return ((((((!a.compareDocumentPosition || !b.compareDocumentPosition)) ? a.compareDocumentPosition : ((a.compareDocumentPosition(b) & 4)))) ? -1 : 1));\n            } : function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                if (((a.sourceIndex && b.sourceIndex))) {\n                    return ((a.sourceIndex - b.sourceIndex));\n                }\n            ;\n            ;\n                var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g;\n                if (((g === i))) {\n                    return jb(a, b);\n                }\n            ;\n            ;\n                if (!g) {\n                    return -1;\n                }\n            ;\n            ;\n                if (!i) {\n                    return 1;\n                }\n            ;\n            ;\n                while (j) {\n                    e.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                j = i;\n                while (j) {\n                    f.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                c = e.length;\n                d = f.length;\n                for (var k = 0; ((((k < c)) && ((k < d)))); k++) {\n                    if (((e[k] !== f[k]))) {\n                        return jb(e[k], f[k]);\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((((k === c)) ? jb(a, f[k], -1) : jb(e[k], b, 1)));\n            }));\n            [0,0,].sort(k);\n            n = !l;\n            fb.uniqueSort = function(a) {\n                var b, c = [], d = 1, e = 0;\n                l = n;\n                a.sort(k);\n                if (l) {\n                    for (; b = a[d]; d++) {\n                        ((((b === a[((d - 1))])) && (e = c.push(d))));\n                    ;\n                    };\n                ;\n                    while (e--) {\n                        a.splice(c[e], 1);\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return a;\n            };\n            fb.error = function(a) {\n                throw new Error(((\"Syntax error, unrecognized expression: \" + a)));\n            };\n            j = fb.compile = function(a, b) {\n                var c, d = [], e = [], f = E[p][((a + \" \"))];\n                if (!f) {\n                    ((b || (b = kb(a))));\n                    c = b.length;\n                    while (c--) {\n                        f = pb(b[c]);\n                        ((f[p] ? d.push(f) : e.push(f)));\n                    };\n                ;\n                    f = E(a, qb(e, d));\n                }\n            ;\n            ;\n                return f;\n            };\n            ((s.querySelectorAll && function() {\n                var a, b = sb, c = /'|\\\\/g, d = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g, e = [\":focus\",], f = [\":active\",], i = ((((((((t.matchesSelector || t.mozMatchesSelector)) || t.webkitMatchesSelector)) || t.oMatchesSelector)) || t.msMatchesSelector));\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cselect\\u003E\\u003Coption selected=''\\u003E\\u003C/option\\u003E\\u003C/select\\u003E\";\n                    ((a.querySelectorAll(\"[selected]\").length || e.push(((((\"\\\\[\" + F)) + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\")))));\n                    ((a.querySelectorAll(\":checked\").length || e.push(\":checked\")));\n                });\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cp test=''\\u003E\\u003C/p\\u003E\";\n                    ((a.querySelectorAll(\"[test^='']\").length && e.push(((((\"[*^$]=\" + F)) + \"*(?:\\\"\\\"|'')\")))));\n                    a.innerHTML = \"\\u003Cinput type='hidden'/\\u003E\";\n                    ((a.querySelectorAll(\":enabled\").length || e.push(\":enabled\", \":disabled\")));\n                });\n                e = new RegExp(e.join(\"|\"));\n                sb = function(a, d, f, g, i) {\n                    if (((((!g && !i)) && !e.test(a)))) {\n                        var j, k, l = !0, m = p, n = d, o = ((((d.nodeType === 9)) && a));\n                        if (((((d.nodeType === 1)) && ((d.nodeName.toLowerCase() !== \"object\"))))) {\n                            j = kb(a);\n                            (((l = d.getAttribute(\"id\")) ? m = l.replace(c, \"\\\\$&\") : d.setAttribute(\"id\", m)));\n                            m = ((((\"[id='\" + m)) + \"'] \"));\n                            k = j.length;\n                            while (k--) {\n                                j[k] = ((m + j[k].join(\"\")));\n                            ;\n                            };\n                        ;\n                            n = ((((S.test(a) && d.parentNode)) || d));\n                            o = j.join(\",\");\n                        }\n                    ;\n                    ;\n                        if (o) {\n                            try {\n                                x.apply(f, y.call(n.querySelectorAll(o), 0));\n                                return f;\n                            } catch (q) {\n                            \n                            } finally {\n                                ((l || d.removeAttribute(\"id\")));\n                            };\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return b(a, d, f, g, i);\n                };\n                if (i) {\n                    Y(function(b) {\n                        a = i.call(b, \"div\");\n                        try {\n                            i.call(b, \"[test!='']:sizzle\");\n                            f.push(\"!=\", K);\n                        } catch (c) {\n                        \n                        };\n                    ;\n                    });\n                    f = new RegExp(f.join(\"|\"));\n                    fb.matchesSelector = function(b, c) {\n                        c = c.replace(d, \"='$1']\");\n                        if (((((!g(b) && !f.test(c))) && !e.test(c)))) {\n                            try {\n                                var j = i.call(b, c);\n                                if (((((j || a)) || ((b.JSBNG__document && ((b.JSBNG__document.nodeType !== 11))))))) {\n                                    return j;\n                                }\n                            ;\n                            ;\n                            } catch (k) {\n                            \n                            };\n                        }\n                    ;\n                    ;\n                        return ((fb(c, null, null, [b,]).length > 0));\n                    };\n                }\n            ;\n            ;\n            }()));\n            e.pseudos.nth = e.pseudos.eq;\n            e.filters = tb.prototype = e.pseudos;\n            e.setFilters = new tb;\n            fb.attr = q.attr;\n            q.JSBNG__find = fb;\n            q.expr = fb.selectors;\n            q.expr[\":\"] = q.expr.pseudos;\n            q.unique = fb.uniqueSort;\n            q.text = fb.getText;\n            q.isXMLDoc = fb.isXML;\n            q.contains = fb.contains;\n        })(a);\n        var fb = /Until$/, gb = /^(?:parents|prev(?:Until|All))/, hb = /^.[^:#\\[\\.,]*$/, ib = q.expr.match.needsContext, jb = {\n            children: !0,\n            contents: !0,\n            next: !0,\n            prev: !0\n        };\n        q.fn.extend({\n            JSBNG__find: function(a) {\n                var b, c, d, e, f, g, i = this;\n                if (((typeof a != \"string\"))) {\n                    return q(a).filter(function() {\n                        for (b = 0, c = i.length; ((b < c)); b++) {\n                            if (q.contains(i[b], this)) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    });\n                }\n            ;\n            ;\n                g = this.pushStack(\"\", \"JSBNG__find\", a);\n                for (b = 0, c = this.length; ((b < c)); b++) {\n                    d = g.length;\n                    q.JSBNG__find(a, this[b], g);\n                    if (((b > 0))) {\n                        for (e = d; ((e < g.length)); e++) {\n                            for (f = 0; ((f < d)); f++) {\n                                if (((g[f] === g[e]))) {\n                                    g.splice(e--, 1);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        };\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            },\n            has: function(a) {\n                var b, c = q(a, this), d = c.length;\n                return this.filter(function() {\n                    for (b = 0; ((b < d)); b++) {\n                        if (q.contains(this, c[b])) {\n                            return !0;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                });\n            },\n            not: function(a) {\n                return this.pushStack(mb(this, a, !1), \"not\", a);\n            },\n            filter: function(a) {\n                return this.pushStack(mb(this, a, !0), \"filter\", a);\n            },\n            is: function(a) {\n                return ((!!a && ((((typeof a == \"string\")) ? ((ib.test(a) ? ((q(a, this.context).index(this[0]) >= 0)) : ((q.filter(a, this).length > 0)))) : ((this.filter(a).length > 0))))));\n            },\n            closest: function(a, b) {\n                var c, d = 0, e = this.length, f = [], g = ((((ib.test(a) || ((typeof a != \"string\")))) ? q(a, ((b || this.context))) : 0));\n                for (; ((d < e)); d++) {\n                    c = this[d];\n                    while (((((((c && c.ownerDocument)) && ((c !== b)))) && ((c.nodeType !== 11))))) {\n                        if (((g ? ((g.index(c) > -1)) : q.JSBNG__find.matchesSelector(c, a)))) {\n                            f.push(c);\n                            break;\n                        }\n                    ;\n                    ;\n                        c = c.parentNode;\n                    };\n                ;\n                };\n            ;\n                f = ((((f.length > 1)) ? q.unique(f) : f));\n                return this.pushStack(f, \"closest\", a);\n            },\n            index: function(a) {\n                return ((a ? ((((typeof a == \"string\")) ? q.inArray(this[0], q(a)) : q.inArray(((a.jquery ? a[0] : a)), this))) : ((((this[0] && this[0].parentNode)) ? this.prevAll().length : -1))));\n            },\n            add: function(a, b) {\n                var c = ((((typeof a == \"string\")) ? q(a, b) : q.makeArray(((((a && a.nodeType)) ? [a,] : a))))), d = q.merge(this.get(), c);\n                return this.pushStack(((((kb(c[0]) || kb(d[0]))) ? d : q.unique(d))));\n            },\n            addBack: function(a) {\n                return this.add(((((a == null)) ? this.prevObject : this.prevObject.filter(a))));\n            }\n        });\n        q.fn.andSelf = q.fn.addBack;\n        q.each({\n            parent: function(a) {\n                var b = a.parentNode;\n                return ((((b && ((b.nodeType !== 11)))) ? b : null));\n            },\n            parents: function(a) {\n                return q.dir(a, \"parentNode\");\n            },\n            parentsUntil: function(a, b, c) {\n                return q.dir(a, \"parentNode\", c);\n            },\n            next: function(a) {\n                return lb(a, \"nextSibling\");\n            },\n            prev: function(a) {\n                return lb(a, \"previousSibling\");\n            },\n            nextAll: function(a) {\n                return q.dir(a, \"nextSibling\");\n            },\n            prevAll: function(a) {\n                return q.dir(a, \"previousSibling\");\n            },\n            nextUntil: function(a, b, c) {\n                return q.dir(a, \"nextSibling\", c);\n            },\n            prevUntil: function(a, b, c) {\n                return q.dir(a, \"previousSibling\", c);\n            },\n            siblings: function(a) {\n                return q.sibling(((a.parentNode || {\n                })).firstChild, a);\n            },\n            children: function(a) {\n                return q.sibling(a.firstChild);\n            },\n            contents: function(a) {\n                return ((q.nodeName(a, \"div\") ? ((a.contentDocument || a.contentWindow.JSBNG__document)) : q.merge([], a.childNodes)));\n            }\n        }, function(a, b) {\n            q.fn[a] = function(c, d) {\n                var e = q.map(this, b, c);\n                ((fb.test(a) || (d = c)));\n                ((((d && ((typeof d == \"string\")))) && (e = q.filter(d, e))));\n                e = ((((((this.length > 1)) && !jb[a])) ? q.unique(e) : e));\n                ((((((this.length > 1)) && gb.test(a))) && (e = e.reverse())));\n                return this.pushStack(e, a, l.call(arguments).join(\",\"));\n            };\n        });\n        q.extend({\n            filter: function(a, b, c) {\n                ((c && (a = ((((\":not(\" + a)) + \")\")))));\n                return ((((b.length === 1)) ? ((q.JSBNG__find.matchesSelector(b[0], a) ? [b[0],] : [])) : q.JSBNG__find.matches(a, b)));\n            },\n            dir: function(a, c, d) {\n                var e = [], f = a[c];\n                while (((((f && ((f.nodeType !== 9)))) && ((((((d === b)) || ((f.nodeType !== 1)))) || !q(f).is(d)))))) {\n                    ((((f.nodeType === 1)) && e.push(f)));\n                    f = f[c];\n                };\n            ;\n                return e;\n            },\n            sibling: function(a, b) {\n                var c = [];\n                for (; a; a = a.nextSibling) {\n                    ((((((a.nodeType === 1)) && ((a !== b)))) && c.push(a)));\n                ;\n                };\n            ;\n                return c;\n            }\n        });\n        var ob = \"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\", pb = / jQuery\\d+=\"(?:null|\\d+)\"/g, qb = /^\\s+/, rb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi, sb = /<([\\w:]+)/, tb = /<tbody/i, ub = /<|&#?\\w+;/, vb = /<(?:script|style|link)/i, wb = /<(?:script|object|embed|option|style)/i, xb = new RegExp(((((\"\\u003C(?:\" + ob)) + \")[\\\\s/\\u003E]\")), \"i\"), yb = /^(?:checkbox|radio)$/, zb = /checked\\s*(?:[^=]|=\\s*.checked.)/i, Ab = /\\/(java|ecma)script/i, Bb = /^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g, Cb = {\n            option: [1,\"\\u003Cselect multiple='multiple'\\u003E\",\"\\u003C/select\\u003E\",],\n            legend: [1,\"\\u003Cfieldset\\u003E\",\"\\u003C/fieldset\\u003E\",],\n            thead: [1,\"\\u003Ctable\\u003E\",\"\\u003C/table\\u003E\",],\n            tr: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\",\"\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            td: [3,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\",\"\\u003C/tr\\u003E\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            col: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003C/tbody\\u003E\\u003Ccolgroup\\u003E\",\"\\u003C/colgroup\\u003E\\u003C/table\\u003E\",],\n            area: [1,\"\\u003Cmap\\u003E\",\"\\u003C/map\\u003E\",],\n            _default: [0,\"\",\"\",]\n        }, Db = nb(e), Eb = Db.appendChild(e.createElement(\"div\"));\n        Cb.optgroup = Cb.option;\n        Cb.tbody = Cb.tfoot = Cb.colgroup = Cb.caption = Cb.thead;\n        Cb.th = Cb.td;\n        ((q.support.htmlSerialize || (Cb._default = [1,\"X\\u003Cdiv\\u003E\",\"\\u003C/div\\u003E\",])));\n        q.fn.extend({\n            text: function(a) {\n                return q.access(this, function(a) {\n                    return ((((a === b)) ? q.text(this) : this.empty().append(((((this[0] && this[0].ownerDocument)) || e)).createTextNode(a))));\n                }, null, a, arguments.length);\n            },\n            wrapAll: function(a) {\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).wrapAll(a.call(this, b));\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    var b = q(a, this[0].ownerDocument).eq(0).clone(!0);\n                    ((this[0].parentNode && b.insertBefore(this[0])));\n                    b.map(function() {\n                        var a = this;\n                        while (((a.firstChild && ((a.firstChild.nodeType === 1))))) {\n                            a = a.firstChild;\n                        ;\n                        };\n                    ;\n                        return a;\n                    }).append(this);\n                }\n            ;\n            ;\n                return this;\n            },\n            wrapInner: function(a) {\n                return ((q.isFunction(a) ? this.each(function(b) {\n                    q(this).wrapInner(a.call(this, b));\n                }) : this.each(function() {\n                    var b = q(this), c = b.contents();\n                    ((c.length ? c.wrapAll(a) : b.append(a)));\n                })));\n            },\n            wrap: function(a) {\n                var b = q.isFunction(a);\n                return this.each(function(c) {\n                    q(this).wrapAll(((b ? a.call(this, c) : a)));\n                });\n            },\n            unwrap: function() {\n                return this.parent().each(function() {\n                    ((q.nodeName(this, \"body\") || q(this).replaceWith(this.childNodes)));\n                }).end();\n            },\n            append: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.appendChild(a)));\n                });\n            },\n            prepend: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.insertBefore(a, this.firstChild)));\n                });\n            },\n            before: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(a, this), \"before\", this.selector);\n                }\n            ;\n            ;\n            },\n            after: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this.nextSibling);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(this, a), \"after\", this.selector);\n                }\n            ;\n            ;\n            },\n            remove: function(a, b) {\n                var c, d = 0;\n                for (; (((c = this[d]) != null)); d++) {\n                    if (((!a || q.filter(a, [c,]).length))) {\n                        if (((!b && ((c.nodeType === 1))))) {\n                            q.cleanData(c.getElementsByTagName(\"*\"));\n                            q.cleanData([c,]);\n                        }\n                    ;\n                    ;\n                        ((c.parentNode && c.parentNode.removeChild(c)));\n                    }\n                ;\n                ;\n                };\n            ;\n                return this;\n            },\n            empty: function() {\n                var a, b = 0;\n                for (; (((a = this[b]) != null)); b++) {\n                    ((((a.nodeType === 1)) && q.cleanData(a.getElementsByTagName(\"*\"))));\n                    while (a.firstChild) {\n                        a.removeChild(a.firstChild);\n                    ;\n                    };\n                ;\n                };\n            ;\n                return this;\n            },\n            clone: function(a, b) {\n                a = ((((a == null)) ? !1 : a));\n                b = ((((b == null)) ? a : b));\n                return this.map(function() {\n                    return q.clone(this, a, b);\n                });\n            },\n            html: function(a) {\n                return q.access(this, function(a) {\n                    var c = ((this[0] || {\n                    })), d = 0, e = this.length;\n                    if (((a === b))) {\n                        return ((((c.nodeType === 1)) ? c.innerHTML.replace(pb, \"\") : b));\n                    }\n                ;\n                ;\n                    if (((((((((((typeof a == \"string\")) && !vb.test(a))) && ((q.support.htmlSerialize || !xb.test(a))))) && ((q.support.leadingWhitespace || !qb.test(a))))) && !Cb[((sb.exec(a) || [\"\",\"\",]))[1].toLowerCase()]))) {\n                        a = a.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                        try {\n                            for (; ((d < e)); d++) {\n                                c = ((this[d] || {\n                                }));\n                                if (((c.nodeType === 1))) {\n                                    q.cleanData(c.getElementsByTagName(\"*\"));\n                                    c.innerHTML = a;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            c = 0;\n                        } catch (f) {\n                        \n                        };\n                    ;\n                    }\n                ;\n                ;\n                    ((c && this.empty().append(a)));\n                }, null, a, arguments.length);\n            },\n            replaceWith: function(a) {\n                if (!kb(this[0])) {\n                    if (q.isFunction(a)) {\n                        return this.each(function(b) {\n                            var c = q(this), d = c.html();\n                            c.replaceWith(a.call(this, b, d));\n                        });\n                    }\n                ;\n                ;\n                    ((((typeof a != \"string\")) && (a = q(a).detach())));\n                    return this.each(function() {\n                        var b = this.nextSibling, c = this.parentNode;\n                        q(this).remove();\n                        ((b ? q(b).before(a) : q(c).append(a)));\n                    });\n                }\n            ;\n            ;\n                return ((this.length ? this.pushStack(q(((q.isFunction(a) ? a() : a))), \"replaceWith\", a) : this));\n            },\n            detach: function(a) {\n                return this.remove(a, !0);\n            },\n            domManip: function(a, c, d) {\n                a = [].concat.apply([], a);\n                var e, f, g, i, j = 0, k = a[0], l = [], m = this.length;\n                if (((((((!q.support.checkClone && ((m > 1)))) && ((typeof k == \"string\")))) && zb.test(k)))) {\n                    return this.each(function() {\n                        q(this).domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (q.isFunction(k)) {\n                    return this.each(function(e) {\n                        var f = q(this);\n                        a[0] = k.call(this, e, ((c ? f.html() : b)));\n                        f.domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    e = q.buildFragment(a, this, l);\n                    g = e.fragment;\n                    f = g.firstChild;\n                    ((((g.childNodes.length === 1)) && (g = f)));\n                    if (f) {\n                        c = ((c && q.nodeName(f, \"tr\")));\n                        for (i = ((e.cacheable || ((m - 1)))); ((j < m)); j++) {\n                            d.call(((((c && q.nodeName(this[j], \"table\"))) ? Fb(this[j], \"tbody\") : this[j])), ((((j === i)) ? g : q.clone(g, !0, !0))));\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    g = f = null;\n                    ((l.length && q.each(l, function(a, b) {\n                        ((b.src ? ((q.ajax ? q.ajax({\n                            url: b.src,\n                            type: \"GET\",\n                            dataType: \"script\",\n                            async: !1,\n                            global: !1,\n                            throws: !0\n                        }) : q.error(\"no ajax\"))) : q.globalEval(((((((b.text || b.textContent)) || b.innerHTML)) || \"\")).replace(Bb, \"\"))));\n                        ((b.parentNode && b.parentNode.removeChild(b)));\n                    })));\n                }\n            ;\n            ;\n                return this;\n            }\n        });\n        q.buildFragment = function(a, c, d) {\n            var f, g, i, j = a[0];\n            c = ((c || e));\n            c = ((((!c.nodeType && c[0])) || c));\n            c = ((c.ownerDocument || c));\n            if (((((((((((((((((a.length === 1)) && ((typeof j == \"string\")))) && ((j.length < 512)))) && ((c === e)))) && ((j.charAt(0) === \"\\u003C\")))) && !wb.test(j))) && ((q.support.checkClone || !zb.test(j))))) && ((q.support.html5Clone || !xb.test(j)))))) {\n                g = !0;\n                f = q.fragments[j];\n                i = ((f !== b));\n            }\n        ;\n        ;\n            if (!f) {\n                f = c.createDocumentFragment();\n                q.clean(a, c, f, d);\n                ((g && (q.fragments[j] = ((i && f)))));\n            }\n        ;\n        ;\n            return {\n                fragment: f,\n                cacheable: g\n            };\n        };\n        q.fragments = {\n        };\n        q.each({\n            appendTo: \"append\",\n            prependTo: \"prepend\",\n            insertBefore: \"before\",\n            insertAfter: \"after\",\n            replaceAll: \"replaceWith\"\n        }, function(a, b) {\n            q.fn[a] = function(c) {\n                var d, e = 0, f = [], g = q(c), i = g.length, j = ((((this.length === 1)) && this[0].parentNode));\n                if (((((((j == null)) || ((((j && ((j.nodeType === 11)))) && ((j.childNodes.length === 1)))))) && ((i === 1))))) {\n                    g[b](this[0]);\n                    return this;\n                }\n            ;\n            ;\n                for (; ((e < i)); e++) {\n                    d = ((((e > 0)) ? this.clone(!0) : this)).get();\n                    q(g[e])[b](d);\n                    f = f.concat(d);\n                };\n            ;\n                return this.pushStack(f, a, g.selector);\n            };\n        });\n        q.extend({\n            clone: function(a, b, c) {\n                var d, e, f, g;\n                if (((((q.support.html5Clone || q.isXMLDoc(a))) || !xb.test(((((\"\\u003C\" + a.nodeName)) + \"\\u003E\")))))) g = a.cloneNode(!0);\n                 else {\n                    Eb.innerHTML = a.outerHTML;\n                    Eb.removeChild(g = Eb.firstChild);\n                }\n            ;\n            ;\n                if (((((((!q.support.noCloneEvent || !q.support.noCloneChecked)) && ((((a.nodeType === 1)) || ((a.nodeType === 11)))))) && !q.isXMLDoc(a)))) {\n                    Hb(a, g);\n                    d = Ib(a);\n                    e = Ib(g);\n                    for (f = 0; d[f]; ++f) {\n                        ((e[f] && Hb(d[f], e[f])));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                if (b) {\n                    Gb(a, g);\n                    if (c) {\n                        d = Ib(a);\n                        e = Ib(g);\n                        for (f = 0; d[f]; ++f) {\n                            Gb(d[f], e[f]);\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                d = e = null;\n                return g;\n            },\n            clean: function(a, b, c, d) {\n                var f, g, i, j, k, l, m, n, o, p, r, s, t = ((((b === e)) && Db)), u = [];\n                if (((!b || ((typeof b.createDocumentFragment == \"undefined\"))))) {\n                    b = e;\n                }\n            ;\n            ;\n                for (f = 0; (((i = a[f]) != null)); f++) {\n                    ((((typeof i == \"number\")) && (i += \"\")));\n                    if (!i) {\n                        continue;\n                    }\n                ;\n                ;\n                    if (((typeof i == \"string\"))) {\n                        if (!ub.test(i)) i = b.createTextNode(i);\n                         else {\n                            t = ((t || nb(b)));\n                            m = b.createElement(\"div\");\n                            t.appendChild(m);\n                            i = i.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                            j = ((sb.exec(i) || [\"\",\"\",]))[1].toLowerCase();\n                            k = ((Cb[j] || Cb._default));\n                            l = k[0];\n                            m.innerHTML = ((((k[1] + i)) + k[2]));\n                            while (l--) {\n                                m = m.lastChild;\n                            ;\n                            };\n                        ;\n                            if (!q.support.tbody) {\n                                n = tb.test(i);\n                                o = ((((((j === \"table\")) && !n)) ? ((m.firstChild && m.firstChild.childNodes)) : ((((((k[1] === \"\\u003Ctable\\u003E\")) && !n)) ? m.childNodes : []))));\n                                for (g = ((o.length - 1)); ((g >= 0)); --g) {\n                                    ((((q.nodeName(o[g], \"tbody\") && !o[g].childNodes.length)) && o[g].parentNode.removeChild(o[g])));\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            ((((!q.support.leadingWhitespace && qb.test(i))) && m.insertBefore(b.createTextNode(qb.exec(i)[0]), m.firstChild)));\n                            i = m.childNodes;\n                            m.parentNode.removeChild(m);\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    ((i.nodeType ? u.push(i) : q.merge(u, i)));\n                };\n            ;\n                ((m && (i = m = t = null)));\n                if (!q.support.appendChecked) {\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        ((q.nodeName(i, \"input\") ? Jb(i) : ((((typeof i.getElementsByTagName != \"undefined\")) && q.grep(i.getElementsByTagName(\"input\"), Jb)))));\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (c) {\n                    r = function(a) {\n                        if (((!a.type || Ab.test(a.type)))) {\n                            return ((d ? d.push(((a.parentNode ? a.parentNode.removeChild(a) : a))) : c.appendChild(a)));\n                        }\n                    ;\n                    ;\n                    };\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        if (((!q.nodeName(i, \"script\") || !r(i)))) {\n                            c.appendChild(i);\n                            if (((typeof i.getElementsByTagName != \"undefined\"))) {\n                                s = q.grep(q.merge([], i.getElementsByTagName(\"script\")), r);\n                                u.splice.apply(u, [((f + 1)),0,].concat(s));\n                                f += s.length;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return u;\n            },\n            cleanData: function(a, b) {\n                var c, d, e, f, g = 0, i = q.expando, j = q.cache, k = q.support.deleteExpando, l = q.JSBNG__event.special;\n                for (; (((e = a[g]) != null)); g++) {\n                    if (((b || q.acceptData(e)))) {\n                        d = e[i];\n                        c = ((d && j[d]));\n                        if (c) {\n                            if (c.events) {\n                                {\n                                    var fin27keys = ((window.top.JSBNG_Replay.forInKeys)((c.events))), fin27i = (0);\n                                    (0);\n                                    for (; (fin27i < fin27keys.length); (fin27i++)) {\n                                        ((f) = (fin27keys[fin27i]));\n                                        {\n                                            ((l[f] ? q.JSBNG__event.remove(e, f) : q.removeEvent(e, f, c.handle)));\n                                        ;\n                                        };\n                                    };\n                                };\n                            }\n                        ;\n                        ;\n                            if (j[d]) {\n                                delete j[d];\n                                ((k ? delete e[i] : ((e.removeAttribute ? e.removeAttribute(i) : e[i] = null))));\n                                q.deletedIds.push(d);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        });\n        (function() {\n            var a, b;\n            q.uaMatch = function(a) {\n                a = a.toLowerCase();\n                var b = ((((((((((/(chrome)[ \\/]([\\w.]+)/.exec(a) || /(webkit)[ \\/]([\\w.]+)/.exec(a))) || /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(a))) || /(msie) ([\\w.]+)/.exec(a))) || ((((a.indexOf(\"compatible\") < 0)) && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a))))) || []));\n                return {\n                    browser: ((b[1] || \"\")),\n                    version: ((b[2] || \"0\"))\n                };\n            };\n            a = q.uaMatch(g.userAgent);\n            b = {\n            };\n            if (a.browser) {\n                b[a.browser] = !0;\n                b.version = a.version;\n            }\n        ;\n        ;\n            ((b.chrome ? b.webkit = !0 : ((b.webkit && (b.safari = !0)))));\n            q.browser = b;\n            q.sub = function() {\n                function a(b, c) {\n                    return new a.fn.init(b, c);\n                };\n            ;\n                q.extend(!0, a, this);\n                a.superclass = this;\n                a.fn = a.prototype = this();\n                a.fn.constructor = a;\n                a.sub = this.sub;\n                a.fn.init = function(d, e) {\n                    ((((((e && ((e instanceof q)))) && !((e instanceof a)))) && (e = a(e))));\n                    return q.fn.init.call(this, d, e, b);\n                };\n                a.fn.init.prototype = a.fn;\n                var b = a(e);\n                return a;\n            };\n        })();\n        var Kb, Lb, Mb, Nb = /alpha\\([^)]*\\)/i, Ob = /opacity=([^)]*)/, Pb = /^(top|right|bottom|left)$/, Qb = /^(none|table(?!-c[ea]).+)/, Rb = /^margin/, Sb = new RegExp(((((\"^(\" + r)) + \")(.*)$\")), \"i\"), Tb = new RegExp(((((\"^(\" + r)) + \")(?!px)[a-z%]+$\")), \"i\"), Ub = new RegExp(((((\"^([-+])=(\" + r)) + \")\")), \"i\"), Vb = {\n            BODY: \"block\"\n        }, Wb = {\n            position: \"absolute\",\n            visibility: \"hidden\",\n            display: \"block\"\n        }, Xb = {\n            letterSpacing: 0,\n            fontWeight: 400\n        }, Yb = [\"Top\",\"Right\",\"Bottom\",\"Left\",], Zb = [\"Webkit\",\"O\",\"Moz\",\"ms\",], $b = q.fn.toggle;\n        q.fn.extend({\n            css: function(a, c) {\n                return q.access(this, function(a, c, d) {\n                    return ((((d !== b)) ? q.style(a, c, d) : q.css(a, c)));\n                }, a, c, ((arguments.length > 1)));\n            },\n            show: function() {\n                return bc(this, !0);\n            },\n            hide: function() {\n                return bc(this);\n            },\n            toggle: function(a, b) {\n                var c = ((typeof a == \"boolean\"));\n                return ((((q.isFunction(a) && q.isFunction(b))) ? $b.apply(this, arguments) : this.each(function() {\n                    ((((c ? a : ac(this))) ? q(this).show() : q(this).hide()));\n                })));\n            }\n        });\n        q.extend({\n            cssHooks: {\n                opacity: {\n                    get: function(a, b) {\n                        if (b) {\n                            var c = Kb(a, \"opacity\");\n                            return ((((c === \"\")) ? \"1\" : c));\n                        }\n                    ;\n                    ;\n                    }\n                }\n            },\n            cssNumber: {\n                fillOpacity: !0,\n                fontWeight: !0,\n                lineHeight: !0,\n                opacity: !0,\n                orphans: !0,\n                widows: !0,\n                zIndex: !0,\n                zoom: !0\n            },\n            cssProps: {\n                float: ((q.support.cssFloat ? \"cssFloat\" : \"styleFloat\"))\n            },\n            style: function(a, c, d, e) {\n                if (((((((!a || ((a.nodeType === 3)))) || ((a.nodeType === 8)))) || !a.style))) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i, j = q.camelCase(c), k = a.style;\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(k, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                if (((d === b))) {\n                    return ((((((i && ((\"get\" in i)))) && (((f = i.get(a, !1, e)) !== b)))) ? f : k[c]));\n                }\n            ;\n            ;\n                g = typeof d;\n                if (((((g === \"string\")) && (f = Ub.exec(d))))) {\n                    d = ((((((f[1] + 1)) * f[2])) + parseFloat(q.css(a, c))));\n                    g = \"number\";\n                }\n            ;\n            ;\n                if (((((d == null)) || ((((g === \"number\")) && isNaN(d)))))) {\n                    return;\n                }\n            ;\n            ;\n                ((((((g === \"number\")) && !q.cssNumber[j])) && (d += \"px\")));\n                if (((((!i || !((\"set\" in i)))) || (((d = i.set(a, d, e)) !== b))))) {\n                    try {\n                        k[c] = d;\n                    } catch (l) {\n                    \n                    };\n                }\n            ;\n            ;\n            },\n            css: function(a, c, d, e) {\n                var f, g, i, j = q.camelCase(c);\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(a.style, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                ((((i && ((\"get\" in i)))) && (f = i.get(a, !0, e))));\n                ((((f === b)) && (f = Kb(a, c))));\n                ((((((f === \"normal\")) && ((c in Xb)))) && (f = Xb[c])));\n                if (((d || ((e !== b))))) {\n                    g = parseFloat(f);\n                    return ((((d || q.isNumeric(g))) ? ((g || 0)) : f));\n                }\n            ;\n            ;\n                return f;\n            },\n            swap: function(a, b, c) {\n                var d, e, f = {\n                };\n                {\n                    var fin28keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin28i = (0);\n                    (0);\n                    for (; (fin28i < fin28keys.length); (fin28i++)) {\n                        ((e) = (fin28keys[fin28i]));\n                        {\n                            f[e] = a.style[e];\n                            a.style[e] = b[e];\n                        };\n                    };\n                };\n            ;\n                d = c.call(a);\n                {\n                    var fin29keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin29i = (0);\n                    (0);\n                    for (; (fin29i < fin29keys.length); (fin29i++)) {\n                        ((e) = (fin29keys[fin29i]));\n                        {\n                            a.style[e] = f[e];\n                        ;\n                        };\n                    };\n                };\n            ;\n                return d;\n            }\n        });\n        ((a.JSBNG__getComputedStyle ? Kb = function(b, c) {\n            var d, e, f, g, i = a.JSBNG__getComputedStyle(b, null), j = b.style;\n            if (i) {\n                d = ((i.getPropertyValue(c) || i[c]));\n                ((((((d === \"\")) && !q.contains(b.ownerDocument, b))) && (d = q.style(b, c))));\n                if (((Tb.test(d) && Rb.test(c)))) {\n                    e = j.width;\n                    f = j.minWidth;\n                    g = j.maxWidth;\n                    j.minWidth = j.maxWidth = j.width = d;\n                    d = i.width;\n                    j.width = e;\n                    j.minWidth = f;\n                    j.maxWidth = g;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        } : ((e.documentElement.currentStyle && (Kb = function(a, b) {\n            var c, d, e = ((a.currentStyle && a.currentStyle[b])), f = a.style;\n            ((((((((e == null)) && f)) && f[b])) && (e = f[b])));\n            if (((Tb.test(e) && !Pb.test(b)))) {\n                c = f.left;\n                d = ((a.runtimeStyle && a.runtimeStyle.left));\n                ((d && (a.runtimeStyle.left = a.currentStyle.left)));\n                f.left = ((((b === \"fontSize\")) ? \"1em\" : e));\n                e = ((f.pixelLeft + \"px\"));\n                f.left = c;\n                ((d && (a.runtimeStyle.left = d)));\n            }\n        ;\n        ;\n            return ((((e === \"\")) ? \"auto\" : e));\n        })))));\n        q.each([\"height\",\"width\",], function(a, b) {\n            q.cssHooks[b] = {\n                get: function(a, c, d) {\n                    if (c) {\n                        return ((((((a.offsetWidth === 0)) && Qb.test(Kb(a, \"display\")))) ? q.swap(a, Wb, function() {\n                            return ec(a, b, d);\n                        }) : ec(a, b, d)));\n                    }\n                ;\n                ;\n                },\n                set: function(a, c, d) {\n                    return cc(a, c, ((d ? dc(a, b, d, ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))))) : 0)));\n                }\n            };\n        });\n        ((q.support.opacity || (q.cssHooks.opacity = {\n            get: function(a, b) {\n                return ((Ob.test(((((((b && a.currentStyle)) ? a.currentStyle.filter : a.style.filter)) || \"\"))) ? ((((77546 * parseFloat(RegExp.$1))) + \"\")) : ((b ? \"1\" : \"\"))));\n            },\n            set: function(a, b) {\n                var c = a.style, d = a.currentStyle, e = ((q.isNumeric(b) ? ((((\"alpha(opacity=\" + ((b * 100)))) + \")\")) : \"\")), f = ((((((d && d.filter)) || c.filter)) || \"\"));\n                c.zoom = 1;\n                if (((((((b >= 1)) && ((q.trim(f.replace(Nb, \"\")) === \"\")))) && c.removeAttribute))) {\n                    c.removeAttribute(\"filter\");\n                    if (((d && !d.filter))) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                c.filter = ((Nb.test(f) ? f.replace(Nb, e) : ((((f + \" \")) + e))));\n            }\n        })));\n        q(function() {\n            ((q.support.reliableMarginRight || (q.cssHooks.marginRight = {\n                get: function(a, b) {\n                    return q.swap(a, {\n                        display: \"inline-block\"\n                    }, function() {\n                        if (b) {\n                            return Kb(a, \"marginRight\");\n                        }\n                    ;\n                    ;\n                    });\n                }\n            })));\n            ((((!q.support.pixelPosition && q.fn.position)) && q.each([\"JSBNG__top\",\"left\",], function(a, b) {\n                q.cssHooks[b] = {\n                    get: function(a, c) {\n                        if (c) {\n                            var d = Kb(a, b);\n                            return ((Tb.test(d) ? ((q(a).position()[b] + \"px\")) : d));\n                        }\n                    ;\n                    ;\n                    }\n                };\n            })));\n        });\n        if (((q.expr && q.expr.filters))) {\n            q.expr.filters.hidden = function(a) {\n                return ((((((a.offsetWidth === 0)) && ((a.offsetHeight === 0)))) || ((!q.support.reliableHiddenOffsets && ((((((a.style && a.style.display)) || Kb(a, \"display\"))) === \"none\"))))));\n            };\n            q.expr.filters.visible = function(a) {\n                return !q.expr.filters.hidden(a);\n            };\n        }\n    ;\n    ;\n        q.each({\n            margin: \"\",\n            padding: \"\",\n            border: \"Width\"\n        }, function(a, b) {\n            q.cssHooks[((a + b))] = {\n                expand: function(c) {\n                    var d, e = ((((typeof c == \"string\")) ? c.split(\" \") : [c,])), f = {\n                    };\n                    for (d = 0; ((d < 4)); d++) {\n                        f[((((a + Yb[d])) + b))] = ((((e[d] || e[((d - 2))])) || e[0]));\n                    ;\n                    };\n                ;\n                    return f;\n                }\n            };\n            ((Rb.test(a) || (q.cssHooks[((a + b))].set = cc)));\n        });\n        var gc = /%20/g, hc = /\\[\\]$/, ic = /\\r?\\n/g, jc = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, kc = /^(?:select|textarea)/i;\n        q.fn.extend({\n            serialize: function() {\n                return q.param(this.serializeArray());\n            },\n            serializeArray: function() {\n                return this.map(function() {\n                    return ((this.elements ? q.makeArray(this.elements) : this));\n                }).filter(function() {\n                    return ((((this.JSBNG__name && !this.disabled)) && ((((this.checked || kc.test(this.nodeName))) || jc.test(this.type)))));\n                }).map(function(a, b) {\n                    var c = q(this).val();\n                    return ((((c == null)) ? null : ((q.isArray(c) ? q.map(c, function(a, c) {\n                        return {\n                            JSBNG__name: b.JSBNG__name,\n                            value: a.replace(ic, \"\\u000d\\u000a\")\n                        };\n                    }) : {\n                        JSBNG__name: b.JSBNG__name,\n                        value: c.replace(ic, \"\\u000d\\u000a\")\n                    }))));\n                }).get();\n            }\n        });\n        q.param = function(a, c) {\n            var d, e = [], f = function(a, b) {\n                b = ((q.isFunction(b) ? b() : ((((b == null)) ? \"\" : b))));\n                e[e.length] = ((((encodeURIComponent(a) + \"=\")) + encodeURIComponent(b)));\n            };\n            ((((c === b)) && (c = ((q.ajaxSettings && q.ajaxSettings.traditional)))));\n            if (((q.isArray(a) || ((a.jquery && !q.isPlainObject(a)))))) {\n                q.each(a, function() {\n                    f(this.JSBNG__name, this.value);\n                });\n            }\n             else {\n                {\n                    var fin30keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin30i = (0);\n                    (0);\n                    for (; (fin30i < fin30keys.length); (fin30i++)) {\n                        ((d) = (fin30keys[fin30i]));\n                        {\n                            lc(d, a[d], c, f);\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            return e.join(\"&\").replace(gc, \"+\");\n        };\n        var mc, nc, oc = /#.*$/, pc = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm, qc = /^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/, rc = /^(?:GET|HEAD)$/, sc = /^\\/\\//, tc = /\\?/, uc = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, vc = /([?&])_=[^&]*/, wc = /^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/, xc = q.fn.load, yc = {\n        }, zc = {\n        }, Ac = (([\"*/\",] + [\"*\",]));\n        try {\n            nc = f.href;\n        } catch (Bc) {\n            nc = e.createElement(\"a\");\n            nc.href = \"\";\n            nc = nc.href;\n        };\n    ;\n        mc = ((wc.exec(nc.toLowerCase()) || []));\n        q.fn.load = function(a, c, d) {\n            if (((((typeof a != \"string\")) && xc))) {\n                return xc.apply(this, arguments);\n            }\n        ;\n        ;\n            if (!this.length) {\n                return this;\n            }\n        ;\n        ;\n            var e, f, g, i = this, j = a.indexOf(\" \");\n            if (((j >= 0))) {\n                e = a.slice(j, a.length);\n                a = a.slice(0, j);\n            }\n        ;\n        ;\n            if (q.isFunction(c)) {\n                d = c;\n                c = b;\n            }\n             else ((((c && ((typeof c == \"object\")))) && (f = \"POST\")));\n        ;\n        ;\n            q.ajax({\n                url: a,\n                type: f,\n                dataType: \"html\",\n                data: c,\n                complete: function(a, b) {\n                    ((d && i.each(d, ((g || [a.responseText,b,a,])))));\n                }\n            }).done(function(a) {\n                g = arguments;\n                i.html(((e ? q(\"\\u003Cdiv\\u003E\").append(a.replace(uc, \"\")).JSBNG__find(e) : a)));\n            });\n            return this;\n        };\n        q.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a) {\n                return this.JSBNG__on(b, a);\n            };\n        });\n        q.each([\"get\",\"post\",], function(a, c) {\n            q[c] = function(a, d, e, f) {\n                if (q.isFunction(d)) {\n                    f = ((f || e));\n                    e = d;\n                    d = b;\n                }\n            ;\n            ;\n                return q.ajax({\n                    type: c,\n                    url: a,\n                    data: d,\n                    success: e,\n                    dataType: f\n                });\n            };\n        });\n        q.extend({\n            getScript: function(a, c) {\n                return q.get(a, b, c, \"script\");\n            },\n            getJSON: function(a, b, c) {\n                return q.get(a, b, c, \"json\");\n            },\n            ajaxSetup: function(a, b) {\n                if (b) Ec(a, q.ajaxSettings);\n                 else {\n                    b = a;\n                    a = q.ajaxSettings;\n                }\n            ;\n            ;\n                Ec(a, b);\n                return a;\n            },\n            ajaxSettings: {\n                url: nc,\n                isLocal: qc.test(mc[1]),\n                global: !0,\n                type: \"GET\",\n                contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n                processData: !0,\n                async: !0,\n                accepts: {\n                    xml: \"application/xml, text/xml\",\n                    html: \"text/html\",\n                    text: \"text/plain\",\n                    json: \"application/json, text/javascript\",\n                    \"*\": Ac\n                },\n                contents: {\n                    xml: /xml/,\n                    html: /html/,\n                    json: /json/\n                },\n                responseFields: {\n                    xml: \"responseXML\",\n                    text: \"responseText\"\n                },\n                converters: {\n                    \"* text\": a.String,\n                    \"text html\": !0,\n                    \"text json\": q.parseJSON,\n                    \"text xml\": q.parseXML\n                },\n                flatOptions: {\n                    context: !0,\n                    url: !0\n                }\n            },\n            ajaxPrefilter: Cc(yc),\n            ajaxTransport: Cc(zc),\n            ajax: function(a, c) {\n                function z(a, c, f, j) {\n                    var l, t, u, v, x, z = c;\n                    if (((w === 2))) {\n                        return;\n                    }\n                ;\n                ;\n                    w = 2;\n                    ((i && JSBNG__clearTimeout(i)));\n                    g = b;\n                    e = ((j || \"\"));\n                    y.readyState = ((((a > 0)) ? 4 : 0));\n                    ((f && (v = Fc(m, y, f))));\n                    if (((((((a >= 200)) && ((a < 300)))) || ((a === 304))))) {\n                        if (m.ifModified) {\n                            x = y.getResponseHeader(\"Last-Modified\");\n                            ((x && (q.lastModified[d] = x)));\n                            x = y.getResponseHeader(\"Etag\");\n                            ((x && (q.etag[d] = x)));\n                        }\n                    ;\n                    ;\n                        if (((a === 304))) {\n                            z = \"notmodified\";\n                            l = !0;\n                        }\n                         else {\n                            l = Gc(m, v);\n                            z = l.state;\n                            t = l.data;\n                            u = l.error;\n                            l = !u;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        u = z;\n                        if (((!z || a))) {\n                            z = \"error\";\n                            ((((a < 0)) && (a = 0)));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    y.JSBNG__status = a;\n                    y.statusText = ((((c || z)) + \"\"));\n                    ((l ? p.resolveWith(n, [t,z,y,]) : p.rejectWith(n, [y,z,u,])));\n                    y.statusCode(s);\n                    s = b;\n                    ((k && o.trigger(((\"ajax\" + ((l ? \"Success\" : \"Error\")))), [y,m,((l ? t : u)),])));\n                    r.fireWith(n, [y,z,]);\n                    if (k) {\n                        o.trigger(\"ajaxComplete\", [y,m,]);\n                        ((--q.active || q.JSBNG__event.trigger(\"ajaxStop\")));\n                    }\n                ;\n                ;\n                };\n            ;\n                if (((typeof a == \"object\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                c = ((c || {\n                }));\n                var d, e, f, g, i, j, k, l, m = q.ajaxSetup({\n                }, c), n = ((m.context || m)), o = ((((((n !== m)) && ((n.nodeType || ((n instanceof q)))))) ? q(n) : q.JSBNG__event)), p = q.Deferred(), r = q.Callbacks(\"once memory\"), s = ((m.statusCode || {\n                })), u = {\n                }, v = {\n                }, w = 0, x = \"canceled\", y = {\n                    readyState: 0,\n                    setRequestHeader: function(a, b) {\n                        if (!w) {\n                            var c = a.toLowerCase();\n                            a = v[c] = ((v[c] || a));\n                            u[a] = b;\n                        }\n                    ;\n                    ;\n                        return this;\n                    },\n                    getAllResponseHeaders: function() {\n                        return ((((w === 2)) ? e : null));\n                    },\n                    getResponseHeader: function(a) {\n                        var c;\n                        if (((w === 2))) {\n                            if (!f) {\n                                f = {\n                                };\n                                while (c = pc.exec(e)) {\n                                    f[c[1].toLowerCase()] = c[2];\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            c = f[a.toLowerCase()];\n                        }\n                    ;\n                    ;\n                        return ((((c === b)) ? null : c));\n                    },\n                    overrideMimeType: function(a) {\n                        ((w || (m.mimeType = a)));\n                        return this;\n                    },\n                    abort: function(a) {\n                        a = ((a || x));\n                        ((g && g.abort(a)));\n                        z(0, a);\n                        return this;\n                    }\n                };\n                p.promise(y);\n                y.success = y.done;\n                y.error = y.fail;\n                y.complete = r.add;\n                y.statusCode = function(a) {\n                    if (a) {\n                        var b;\n                        if (((w < 2))) {\n                            var fin31keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin31i = (0);\n                            (0);\n                            for (; (fin31i < fin31keys.length); (fin31i++)) {\n                                ((b) = (fin31keys[fin31i]));\n                                {\n                                    s[b] = [s[b],a[b],];\n                                ;\n                                };\n                            };\n                        }\n                         else {\n                            b = a[y.JSBNG__status];\n                            y.always(b);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                };\n                m.url = ((((a || m.url)) + \"\")).replace(oc, \"\").replace(sc, ((mc[1] + \"//\")));\n                m.dataTypes = q.trim(((m.dataType || \"*\"))).toLowerCase().split(t);\n                if (((m.crossDomain == null))) {\n                    j = wc.exec(m.url.toLowerCase());\n                    m.crossDomain = !((!j || ((((((j[1] === mc[1])) && ((j[2] === mc[2])))) && ((((j[3] || ((((j[1] === \"http:\")) ? 80 : 443)))) == ((mc[3] || ((((mc[1] === \"http:\")) ? 80 : 443))))))))));\n                }\n            ;\n            ;\n                ((((((m.data && m.processData)) && ((typeof m.data != \"string\")))) && (m.data = q.param(m.data, m.traditional))));\n                Dc(yc, m, c, y);\n                if (((w === 2))) {\n                    return y;\n                }\n            ;\n            ;\n                k = m.global;\n                m.type = m.type.toUpperCase();\n                m.hasContent = !rc.test(m.type);\n                ((((k && ((q.active++ === 0)))) && q.JSBNG__event.trigger(\"ajaxStart\")));\n                if (!m.hasContent) {\n                    if (m.data) {\n                        m.url += ((((tc.test(m.url) ? \"&\" : \"?\")) + m.data));\n                        delete m.data;\n                    }\n                ;\n                ;\n                    d = m.url;\n                    if (((m.cache === !1))) {\n                        var A = q.now(), B = m.url.replace(vc, ((\"$1_=\" + A)));\n                        m.url = ((B + ((((B === m.url)) ? ((((((tc.test(m.url) ? \"&\" : \"?\")) + \"_=\")) + A)) : \"\"))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((m.data && m.hasContent)) && ((m.contentType !== !1)))) || c.contentType)) && y.setRequestHeader(\"Content-Type\", m.contentType)));\n                if (m.ifModified) {\n                    d = ((d || m.url));\n                    ((q.lastModified[d] && y.setRequestHeader(\"If-Modified-Since\", q.lastModified[d])));\n                    ((q.etag[d] && y.setRequestHeader(\"If-None-Match\", q.etag[d])));\n                }\n            ;\n            ;\n                y.setRequestHeader(\"Accept\", ((((m.dataTypes[0] && m.accepts[m.dataTypes[0]])) ? ((m.accepts[m.dataTypes[0]] + ((((m.dataTypes[0] !== \"*\")) ? ((((\", \" + Ac)) + \"; q=0.01\")) : \"\")))) : m.accepts[\"*\"])));\n                {\n                    var fin32keys = ((window.top.JSBNG_Replay.forInKeys)((m.headers))), fin32i = (0);\n                    (0);\n                    for (; (fin32i < fin32keys.length); (fin32i++)) {\n                        ((l) = (fin32keys[fin32i]));\n                        {\n                            y.setRequestHeader(l, m.headers[l]);\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (((!m.beforeSend || ((((m.beforeSend.call(n, y, m) !== !1)) && ((w !== 2))))))) {\n                    x = \"abort\";\n                    {\n                        var fin33keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                            success: 1,\n                            error: 1,\n                            complete: 1\n                        }))), fin33i = (0);\n                        (0);\n                        for (; (fin33i < fin33keys.length); (fin33i++)) {\n                            ((l) = (fin33keys[fin33i]));\n                            {\n                                y[l](m[l]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    g = Dc(zc, m, c, y);\n                    if (!g) z(-1, \"No Transport\");\n                     else {\n                        y.readyState = 1;\n                        ((k && o.trigger(\"ajaxSend\", [y,m,])));\n                        ((((m.async && ((m.timeout > 0)))) && (i = JSBNG__setTimeout(function() {\n                            y.abort(\"timeout\");\n                        }, m.timeout))));\n                        try {\n                            w = 1;\n                            g.send(u, z);\n                        } catch (C) {\n                            if (!((w < 2))) {\n                                throw C;\n                            }\n                        ;\n                        ;\n                            z(-1, C);\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    return y;\n                }\n            ;\n            ;\n                return y.abort();\n            },\n            active: 0,\n            lastModified: {\n            },\n            etag: {\n            }\n        });\n        var Hc = [], Ic = /\\?/, Jc = /(=)\\?(?=&|$)|\\?\\?/, Kc = q.now();\n        q.ajaxSetup({\n            jsonp: \"callback\",\n            jsonpCallback: function() {\n                var a = ((Hc.pop() || ((((q.expando + \"_\")) + Kc++))));\n                this[a] = !0;\n                return a;\n            }\n        });\n        q.ajaxPrefilter(\"json jsonp\", function(c, d, e) {\n            var f, g, i, j = c.data, k = c.url, l = ((c.jsonp !== !1)), m = ((l && Jc.test(k))), n = ((((((((l && !m)) && ((typeof j == \"string\")))) && !((c.contentType || \"\")).indexOf(\"application/x-www-form-urlencoded\"))) && Jc.test(j)));\n            if (((((((c.dataTypes[0] === \"jsonp\")) || m)) || n))) {\n                f = c.jsonpCallback = ((q.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback));\n                g = a[f];\n                ((m ? c.url = k.replace(Jc, ((\"$1\" + f))) : ((n ? c.data = j.replace(Jc, ((\"$1\" + f))) : ((l && (c.url += ((((((((Ic.test(k) ? \"&\" : \"?\")) + c.jsonp)) + \"=\")) + f)))))))));\n                c.converters[\"script json\"] = function() {\n                    ((i || q.error(((f + \" was not called\")))));\n                    return i[0];\n                };\n                c.dataTypes[0] = \"json\";\n                a[f] = function() {\n                    i = arguments;\n                };\n                e.always(function() {\n                    a[f] = g;\n                    if (c[f]) {\n                        c.jsonpCallback = d.jsonpCallback;\n                        Hc.push(f);\n                    }\n                ;\n                ;\n                    ((((i && q.isFunction(g))) && g(i[0])));\n                    i = g = b;\n                });\n                return \"script\";\n            }\n        ;\n        ;\n        });\n        q.ajaxSetup({\n            accepts: {\n                script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n            },\n            contents: {\n                script: /javascript|ecmascript/\n            },\n            converters: {\n                \"text script\": function(a) {\n                    q.globalEval(a);\n                    return a;\n                }\n            }\n        });\n        q.ajaxPrefilter(\"script\", function(a) {\n            ((((a.cache === b)) && (a.cache = !1)));\n            if (a.crossDomain) {\n                a.type = \"GET\";\n                a.global = !1;\n            }\n        ;\n        ;\n        });\n        q.ajaxTransport(\"script\", function(a) {\n            if (a.crossDomain) {\n                var c, d = ((((e.head || e.getElementsByTagName(\"head\")[0])) || e.documentElement));\n                return {\n                    send: function(_, f) {\n                        c = e.createElement(\"script\");\n                        c.async = \"async\";\n                        ((a.scriptCharset && (c.charset = a.scriptCharset)));\n                        c.src = a.url;\n                        c.JSBNG__onload = c.JSBNG__onreadystatechange = function(_, a) {\n                            if (((((a || !c.readyState)) || /loaded|complete/.test(c.readyState)))) {\n                                c.JSBNG__onload = c.JSBNG__onreadystatechange = null;\n                                ((((d && c.parentNode)) && d.removeChild(c)));\n                                c = b;\n                                ((a || f(200, \"success\")));\n                            }\n                        ;\n                        ;\n                        };\n                        d.insertBefore(c, d.firstChild);\n                    },\n                    abort: function() {\n                        ((c && c.JSBNG__onload(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        });\n        var Lc, Mc = ((a.ActiveXObject ? function() {\n            {\n                var fin34keys = ((window.top.JSBNG_Replay.forInKeys)((Lc))), fin34i = (0);\n                var a;\n                for (; (fin34i < fin34keys.length); (fin34i++)) {\n                    ((a) = (fin34keys[fin34i]));\n                    {\n                        Lc[a](0, 1);\n                    ;\n                    };\n                };\n            };\n        ;\n        } : !1)), Nc = 0;\n        q.ajaxSettings.xhr = ((a.ActiveXObject ? function() {\n            return ((((!this.isLocal && Oc())) || Pc()));\n        } : Oc));\n        (function(a) {\n            q.extend(q.support, {\n                ajax: !!a,\n                cors: ((!!a && ((\"withCredentials\" in a))))\n            });\n        })(q.ajaxSettings.xhr());\n        ((q.support.ajax && q.ajaxTransport(function(c) {\n            if (((!c.crossDomain || q.support.cors))) {\n                var d;\n                return {\n                    send: function(e, f) {\n                        var g, i, j = c.xhr();\n                        ((c.username ? j.open(c.type, c.url, c.async, c.username, c.password) : j.open(c.type, c.url, c.async)));\n                        if (c.xhrFields) {\n                            {\n                                var fin35keys = ((window.top.JSBNG_Replay.forInKeys)((c.xhrFields))), fin35i = (0);\n                                (0);\n                                for (; (fin35i < fin35keys.length); (fin35i++)) {\n                                    ((i) = (fin35keys[fin35i]));\n                                    {\n                                        j[i] = c.xhrFields[i];\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        ((((c.mimeType && j.overrideMimeType)) && j.overrideMimeType(c.mimeType)));\n                        ((((!c.crossDomain && !e[\"X-Requested-With\"])) && (e[\"X-Requested-With\"] = \"JSBNG__XMLHttpRequest\")));\n                        try {\n                            {\n                                var fin36keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin36i = (0);\n                                (0);\n                                for (; (fin36i < fin36keys.length); (fin36i++)) {\n                                    ((i) = (fin36keys[fin36i]));\n                                    {\n                                        j.setRequestHeader(i, e[i]);\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        } catch (_) {\n                        \n                        };\n                    ;\n                        j.send(((((c.hasContent && c.data)) || null)));\n                        d = function(_, a) {\n                            var e, i, k, l, m;\n                            try {\n                                if (((d && ((a || ((j.readyState === 4))))))) {\n                                    d = b;\n                                    if (g) {\n                                        j.JSBNG__onreadystatechange = q.noop;\n                                        ((Mc && delete Lc[g]));\n                                    }\n                                ;\n                                ;\n                                    if (a) ((((j.readyState !== 4)) && j.abort()));\n                                     else {\n                                        e = j.JSBNG__status;\n                                        k = j.getAllResponseHeaders();\n                                        l = {\n                                        };\n                                        m = j.responseXML;\n                                        ((((m && m.documentElement)) && (l.xml = m)));\n                                        try {\n                                            l.text = j.responseText;\n                                        } catch (n) {\n                                        \n                                        };\n                                    ;\n                                        try {\n                                            i = j.statusText;\n                                        } catch (n) {\n                                            i = \"\";\n                                        };\n                                    ;\n                                        ((((((!e && c.isLocal)) && !c.crossDomain)) ? e = ((l.text ? 200 : 404)) : ((((e === 1223)) && (e = 204)))));\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            } catch (o) {\n                                ((a || f(-1, o)));\n                            };\n                        ;\n                            ((l && f(e, i, l, k)));\n                        };\n                        if (!c.async) {\n                            d();\n                        }\n                         else {\n                            if (((j.readyState === 4))) JSBNG__setTimeout(d, 0);\n                             else {\n                                g = ++Nc;\n                                if (Mc) {\n                                    if (!Lc) {\n                                        Lc = {\n                                        };\n                                        q(a).unload(Mc);\n                                    }\n                                ;\n                                ;\n                                    Lc[g] = d;\n                                }\n                            ;\n                            ;\n                                j.JSBNG__onreadystatechange = d;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    },\n                    abort: function() {\n                        ((d && d(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        })));\n        var Qc, Rc, Sc = /^(?:toggle|show|hide)$/, Tc = new RegExp(((((\"^(?:([-+])=|)(\" + r)) + \")([a-z%]*)$\")), \"i\"), Uc = /queueHooks$/, Vc = [_c,], Wc = {\n            \"*\": [function(a, b) {\n                var c, d, e = this.createTween(a, b), f = Tc.exec(b), g = e.cur(), i = ((+g || 0)), j = 1, k = 20;\n                if (f) {\n                    c = +f[2];\n                    d = ((f[3] || ((q.cssNumber[a] ? \"\" : \"px\"))));\n                    if (((((d !== \"px\")) && i))) {\n                        i = ((((q.css(e.elem, a, !0) || c)) || 1));\n                        do {\n                            j = ((j || \".5\"));\n                            i /= j;\n                            q.style(e.elem, a, ((i + d)));\n                        } while (((((((j !== (j = ((e.cur() / g))))) && ((j !== 1)))) && --k)));\n                    }\n                ;\n                ;\n                    e.unit = d;\n                    e.start = i;\n                    e.end = ((f[1] ? ((i + ((((f[1] + 1)) * c)))) : c));\n                }\n            ;\n            ;\n                return e;\n            },]\n        };\n        q.Animation = q.extend(Zc, {\n            tweener: function(a, b) {\n                if (q.isFunction(a)) {\n                    b = a;\n                    a = [\"*\",];\n                }\n                 else a = a.split(\" \");\n            ;\n            ;\n                var c, d = 0, e = a.length;\n                for (; ((d < e)); d++) {\n                    c = a[d];\n                    Wc[c] = ((Wc[c] || []));\n                    Wc[c].unshift(b);\n                };\n            ;\n            },\n            prefilter: function(a, b) {\n                ((b ? Vc.unshift(a) : Vc.push(a)));\n            }\n        });\n        q.Tween = ad;\n        ad.prototype = {\n            constructor: ad,\n            init: function(a, b, c, d, e, f) {\n                this.elem = a;\n                this.prop = c;\n                this.easing = ((e || \"swing\"));\n                this.options = b;\n                this.start = this.now = this.cur();\n                this.end = d;\n                this.unit = ((f || ((q.cssNumber[c] ? \"\" : \"px\"))));\n            },\n            cur: function() {\n                var a = ad.propHooks[this.prop];\n                return ((((a && a.get)) ? a.get(this) : ad.propHooks._default.get(this)));\n            },\n            run: function(a) {\n                var b, c = ad.propHooks[this.prop];\n                ((this.options.duration ? this.pos = b = q.easing[this.easing](a, ((this.options.duration * a)), 0, 1, this.options.duration) : this.pos = b = a));\n                this.now = ((((((this.end - this.start)) * b)) + this.start));\n                ((this.options.step && this.options.step.call(this.elem, this.now, this)));\n                ((((c && c.set)) ? c.set(this) : ad.propHooks._default.set(this)));\n                return this;\n            }\n        };\n        ad.prototype.init.prototype = ad.prototype;\n        ad.propHooks = {\n            _default: {\n                get: function(a) {\n                    var b;\n                    if (((((a.elem[a.prop] == null)) || ((!!a.elem.style && ((a.elem.style[a.prop] != null))))))) {\n                        b = q.css(a.elem, a.prop, !1, \"\");\n                        return ((((!b || ((b === \"auto\")))) ? 0 : b));\n                    }\n                ;\n                ;\n                    return a.elem[a.prop];\n                },\n                set: function(a) {\n                    ((q.fx.step[a.prop] ? q.fx.step[a.prop](a) : ((((a.elem.style && ((((a.elem.style[q.cssProps[a.prop]] != null)) || q.cssHooks[a.prop])))) ? q.style(a.elem, a.prop, ((a.now + a.unit))) : a.elem[a.prop] = a.now))));\n                }\n            }\n        };\n        ad.propHooks.scrollTop = ad.propHooks.scrollLeft = {\n            set: function(a) {\n                ((((a.elem.nodeType && a.elem.parentNode)) && (a.elem[a.prop] = a.now)));\n            }\n        };\n        q.each([\"toggle\",\"show\",\"hide\",], function(a, b) {\n            var c = q.fn[b];\n            q.fn[b] = function(d, e, f) {\n                return ((((((((d == null)) || ((typeof d == \"boolean\")))) || ((((!a && q.isFunction(d))) && q.isFunction(e))))) ? c.apply(this, arguments) : this.animate(bd(b, !0), d, e, f)));\n            };\n        });\n        q.fn.extend({\n            fadeTo: function(a, b, c, d) {\n                return this.filter(ac).css(\"opacity\", 0).show().end().animate({\n                    opacity: b\n                }, a, c, d);\n            },\n            animate: function(a, b, c, d) {\n                var e = q.isEmptyObject(a), f = q.speed(b, c, d), g = function() {\n                    var b = Zc(this, q.extend({\n                    }, a), f);\n                    ((e && b.JSBNG__stop(!0)));\n                };\n                return ((((e || ((f.queue === !1)))) ? this.each(g) : this.queue(f.queue, g)));\n            },\n            JSBNG__stop: function(a, c, d) {\n                var e = function(a) {\n                    var b = a.JSBNG__stop;\n                    delete a.JSBNG__stop;\n                    b(d);\n                };\n                if (((typeof a != \"string\"))) {\n                    d = c;\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                ((((c && ((a !== !1)))) && this.queue(((a || \"fx\")), [])));\n                return this.each(function() {\n                    var b = !0, c = ((((a != null)) && ((a + \"queueHooks\")))), f = q.timers, g = q._data(this);\n                    if (c) {\n                        ((((g[c] && g[c].JSBNG__stop)) && e(g[c])));\n                    }\n                     else {\n                        {\n                            var fin37keys = ((window.top.JSBNG_Replay.forInKeys)((g))), fin37i = (0);\n                            (0);\n                            for (; (fin37i < fin37keys.length); (fin37i++)) {\n                                ((c) = (fin37keys[fin37i]));\n                                {\n                                    ((((((g[c] && g[c].JSBNG__stop)) && Uc.test(c))) && e(g[c])));\n                                ;\n                                };\n                            };\n                        };\n                    }\n                ;\n                ;\n                    for (c = f.length; c--; ) {\n                        if (((((f[c].elem === this)) && ((((a == null)) || ((f[c].queue === a))))))) {\n                            f[c].anim.JSBNG__stop(d);\n                            b = !1;\n                            f.splice(c, 1);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    ((((b || !d)) && q.dequeue(this, a)));\n                });\n            }\n        });\n        q.each({\n            slideDown: bd(\"show\"),\n            slideUp: bd(\"hide\"),\n            slideToggle: bd(\"toggle\"),\n            fadeIn: {\n                opacity: \"show\"\n            },\n            fadeOut: {\n                opacity: \"hide\"\n            },\n            fadeToggle: {\n                opacity: \"toggle\"\n            }\n        }, function(a, b) {\n            q.fn[a] = function(a, c, d) {\n                return this.animate(b, a, c, d);\n            };\n        });\n        q.speed = function(a, b, c) {\n            var d = ((((a && ((typeof a == \"object\")))) ? q.extend({\n            }, a) : {\n                complete: ((((c || ((!c && b)))) || ((q.isFunction(a) && a)))),\n                duration: a,\n                easing: ((((c && b)) || ((((b && !q.isFunction(b))) && b))))\n            }));\n            d.duration = ((q.fx.off ? 0 : ((((typeof d.duration == \"number\")) ? d.duration : ((((d.duration in q.fx.speeds)) ? q.fx.speeds[d.duration] : q.fx.speeds._default))))));\n            if (((((d.queue == null)) || ((d.queue === !0))))) {\n                d.queue = \"fx\";\n            }\n        ;\n        ;\n            d.old = d.complete;\n            d.complete = function() {\n                ((q.isFunction(d.old) && d.old.call(this)));\n                ((d.queue && q.dequeue(this, d.queue)));\n            };\n            return d;\n        };\n        q.easing = {\n            linear: function(a) {\n                return a;\n            },\n            swing: function(a) {\n                return ((91581 - ((Math.cos(((a * Math.PI))) / 2))));\n            }\n        };\n        q.timers = [];\n        q.fx = ad.prototype.init;\n        q.fx.tick = function() {\n            var a, c = q.timers, d = 0;\n            Qc = q.now();\n            for (; ((d < c.length)); d++) {\n                a = c[d];\n                ((((!a() && ((c[d] === a)))) && c.splice(d--, 1)));\n            };\n        ;\n            ((c.length || q.fx.JSBNG__stop()));\n            Qc = b;\n        };\n        q.fx.timer = function(a) {\n            ((((((a() && q.timers.push(a))) && !Rc)) && (Rc = JSBNG__setInterval(q.fx.tick, q.fx.interval))));\n        };\n        q.fx.interval = 13;\n        q.fx.JSBNG__stop = function() {\n            JSBNG__clearInterval(Rc);\n            Rc = null;\n        };\n        q.fx.speeds = {\n            slow: 600,\n            fast: 200,\n            _default: 400\n        };\n        q.fx.step = {\n        };\n        ((((q.expr && q.expr.filters)) && (q.expr.filters.animated = function(a) {\n            return q.grep(q.timers, function(b) {\n                return ((a === b.elem));\n            }).length;\n        })));\n        var cd = /^(?:body|html)$/i;\n        q.fn.offset = function(a) {\n            if (arguments.length) {\n                return ((((a === b)) ? this : this.each(function(b) {\n                    q.offset.setOffset(this, a, b);\n                })));\n            }\n        ;\n        ;\n            var c, d, e, f, g, i, j, k = {\n                JSBNG__top: 0,\n                left: 0\n            }, l = this[0], m = ((l && l.ownerDocument));\n            if (!m) {\n                return;\n            }\n        ;\n        ;\n            if ((((d = m.body) === l))) {\n                return q.offset.bodyOffset(l);\n            }\n        ;\n        ;\n            c = m.documentElement;\n            if (!q.contains(c, l)) {\n                return k;\n            }\n        ;\n        ;\n            ((((typeof l.getBoundingClientRect != \"undefined\")) && (k = l.getBoundingClientRect())));\n            e = dd(m);\n            f = ((((c.clientTop || d.clientTop)) || 0));\n            g = ((((c.clientLeft || d.clientLeft)) || 0));\n            i = ((e.JSBNG__pageYOffset || c.scrollTop));\n            j = ((e.JSBNG__pageXOffset || c.scrollLeft));\n            return {\n                JSBNG__top: ((((k.JSBNG__top + i)) - f)),\n                left: ((((k.left + j)) - g))\n            };\n        };\n        q.offset = {\n            bodyOffset: function(a) {\n                var b = a.offsetTop, c = a.offsetLeft;\n                if (q.support.doesNotIncludeMarginInBodyOffset) {\n                    b += ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                    c += ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: b,\n                    left: c\n                };\n            },\n            setOffset: function(a, b, c) {\n                var d = q.css(a, \"position\");\n                ((((d === \"static\")) && (a.style.position = \"relative\")));\n                var e = q(a), f = e.offset(), g = q.css(a, \"JSBNG__top\"), i = q.css(a, \"left\"), j = ((((((d === \"absolute\")) || ((d === \"fixed\")))) && ((q.inArray(\"auto\", [g,i,]) > -1)))), k = {\n                }, l = {\n                }, m, n;\n                if (j) {\n                    l = e.position();\n                    m = l.JSBNG__top;\n                    n = l.left;\n                }\n                 else {\n                    m = ((parseFloat(g) || 0));\n                    n = ((parseFloat(i) || 0));\n                }\n            ;\n            ;\n                ((q.isFunction(b) && (b = b.call(a, c, f))));\n                ((((b.JSBNG__top != null)) && (k.JSBNG__top = ((((b.JSBNG__top - f.JSBNG__top)) + m)))));\n                ((((b.left != null)) && (k.left = ((((b.left - f.left)) + n)))));\n                ((((\"using\" in b)) ? b.using.call(a, k) : e.css(k)));\n            }\n        };\n        q.fn.extend({\n            position: function() {\n                if (!this[0]) {\n                    return;\n                }\n            ;\n            ;\n                var a = this[0], b = this.offsetParent(), c = this.offset(), d = ((cd.test(b[0].nodeName) ? {\n                    JSBNG__top: 0,\n                    left: 0\n                } : b.offset()));\n                c.JSBNG__top -= ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                c.left -= ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                d.JSBNG__top += ((parseFloat(q.css(b[0], \"borderTopWidth\")) || 0));\n                d.left += ((parseFloat(q.css(b[0], \"borderLeftWidth\")) || 0));\n                return {\n                    JSBNG__top: ((c.JSBNG__top - d.JSBNG__top)),\n                    left: ((c.left - d.left))\n                };\n            },\n            offsetParent: function() {\n                return this.map(function() {\n                    var a = ((this.offsetParent || e.body));\n                    while (((((a && !cd.test(a.nodeName))) && ((q.css(a, \"position\") === \"static\"))))) {\n                        a = a.offsetParent;\n                    ;\n                    };\n                ;\n                    return ((a || e.body));\n                });\n            }\n        });\n        q.each({\n            scrollLeft: \"JSBNG__pageXOffset\",\n            scrollTop: \"JSBNG__pageYOffset\"\n        }, function(a, c) {\n            var d = /Y/.test(c);\n            q.fn[a] = function(e) {\n                return q.access(this, function(a, e, f) {\n                    var g = dd(a);\n                    if (((f === b))) {\n                        return ((g ? ((((c in g)) ? g[c] : g.JSBNG__document.documentElement[e])) : a[e]));\n                    }\n                ;\n                ;\n                    ((g ? g.JSBNG__scrollTo(((d ? q(g).scrollLeft() : f)), ((d ? f : q(g).scrollTop()))) : a[e] = f));\n                }, a, e, arguments.length, null);\n            };\n        });\n        q.each({\n            Height: \"height\",\n            Width: \"width\"\n        }, function(a, c) {\n            q.each({\n                padding: ((\"JSBNG__inner\" + a)),\n                JSBNG__content: c,\n                \"\": ((\"JSBNG__outer\" + a))\n            }, function(d, e) {\n                q.fn[e] = function(e, f) {\n                    var g = ((arguments.length && ((d || ((typeof e != \"boolean\")))))), i = ((d || ((((((e === !0)) || ((f === !0)))) ? \"margin\" : \"border\"))));\n                    return q.access(this, function(c, d, e) {\n                        var f;\n                        if (q.isWindow(c)) {\n                            return c.JSBNG__document.documentElement[((\"client\" + a))];\n                        }\n                    ;\n                    ;\n                        if (((c.nodeType === 9))) {\n                            f = c.documentElement;\n                            return Math.max(c.body[((\"JSBNG__scroll\" + a))], f[((\"JSBNG__scroll\" + a))], c.body[((\"offset\" + a))], f[((\"offset\" + a))], f[((\"client\" + a))]);\n                        }\n                    ;\n                    ;\n                        return ((((e === b)) ? q.css(c, d, e, i) : q.style(c, d, e, i)));\n                    }, c, ((g ? e : b)), g, null);\n                };\n            });\n        });\n        a.jQuery = a.$ = q;\n        ((((((((typeof define == \"function\")) && define.amd)) && define.amd.jQuery)) && define(\"jquery\", [], function() {\n            return q;\n        })));\n    })(window);\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5\", a) : a()))));\n    })(function() {\n        ((Function.prototype.bind || (Function.prototype.bind = function(b) {\n            var c = this;\n            if (((typeof c != \"function\"))) {\n                throw new TypeError(((\"Function.prototype.bind called on incompatible \" + c)));\n            }\n        ;\n        ;\n            var e = d.call(arguments, 1), f = function() {\n                if (((this instanceof f))) {\n                    var a = function() {\n                    \n                    };\n                    a.prototype = c.prototype;\n                    var g = new a, i = c.apply(g, e.concat(d.call(arguments)));\n                    return ((((Object(i) === i)) ? i : g));\n                }\n            ;\n            ;\n                return c.apply(b, e.concat(d.call(arguments)));\n            };\n            return f;\n        })));\n        var a = Function.prototype.call, b = Array.prototype, c = Object.prototype, d = b.slice, e = a.bind(c.toString), f = a.bind(c.hasOwnProperty), g, i, j, k, l;\n        if (l = f(c, \"__defineGetter__\")) {\n            g = a.bind(c.__defineGetter__);\n            i = a.bind(c.__defineSetter__);\n            j = a.bind(c.__lookupGetter__);\n            k = a.bind(c.__lookupSetter__);\n        }\n    ;\n    ;\n        ((Array.isArray || (Array.isArray = function(b) {\n            return ((e(b) == \"[object Array]\"));\n        })));\n        ((Array.prototype.forEach || (Array.prototype.forEach = function(b) {\n            var c = v(this), d = arguments[1], f = -1, g = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            while (((++f < g))) {\n                ((((f in c)) && b.call(d, c[f], f, c)));\n            ;\n            };\n        ;\n        })));\n        ((Array.prototype.map || (Array.prototype.map = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = Array(d), g = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var i = 0; ((i < d)); i++) {\n                ((((i in c)) && (f[i] = b.call(g, c[i], i, c))));\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.filter || (Array.prototype.filter = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = [], g, i = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var j = 0; ((j < d)); j++) {\n                if (((j in c))) {\n                    g = c[j];\n                    ((b.call(i, g, j, c) && f.push(g)));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.every || (Array.prototype.every = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && !b.call(f, c[g], g, c)))) {\n                    return !1;\n                }\n            ;\n            ;\n            };\n        ;\n            return !0;\n        })));\n        ((Array.prototype.some || (Array.prototype.some = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && b.call(f, c[g], g, c)))) {\n                    return !0;\n                }\n            ;\n            ;\n            };\n        ;\n            return !1;\n        })));\n        ((Array.prototype.reduce || (Array.prototype.reduce = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduce of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f = 0, g;\n            if (((arguments.length >= 2))) {\n                g = arguments[1];\n            }\n             else {\n                do {\n                    if (((f in c))) {\n                        g = c[f++];\n                        break;\n                    }\n                ;\n                ;\n                    if (((++f >= d))) {\n                        throw new TypeError(\"reduce of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            for (; ((f < d)); f++) {\n                ((((f in c)) && (g = b.call(void 0, g, c[f], f, c))));\n            ;\n            };\n        ;\n            return g;\n        })));\n        ((Array.prototype.reduceRight || (Array.prototype.reduceRight = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduceRight of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f, g = ((d - 1));\n            if (((arguments.length >= 2))) {\n                f = arguments[1];\n            }\n             else {\n                do {\n                    if (((g in c))) {\n                        f = c[g--];\n                        break;\n                    }\n                ;\n                ;\n                    if (((--g < 0))) {\n                        throw new TypeError(\"reduceRight of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            do ((((g in this)) && (f = b.call(void 0, f, c[g], g, c)))); while (g--);\n            return f;\n        })));\n        ((Array.prototype.indexOf || (Array.prototype.indexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = 0;\n            ((((arguments.length > 1)) && (e = t(arguments[1]))));\n            e = ((((e >= 0)) ? e : Math.max(0, ((d + e)))));\n            for (; ((e < d)); e++) {\n                if (((((e in c)) && ((c[e] === b))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        ((Array.prototype.lastIndexOf || (Array.prototype.lastIndexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = ((d - 1));\n            ((((arguments.length > 1)) && (e = Math.min(e, t(arguments[1])))));\n            e = ((((e >= 0)) ? e : ((d - Math.abs(e)))));\n            for (; ((e >= 0)); e--) {\n                if (((((e in c)) && ((b === c[e]))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        if (!Object.keys) {\n            var m = !0, n = [\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\",], o = n.length;\n            {\n                var fin38keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                    toString: null\n                }))), fin38i = (0);\n                var p;\n                for (; (fin38i < fin38keys.length); (fin38i++)) {\n                    ((p) = (fin38keys[fin38i]));\n                    {\n                        m = !1;\n                    ;\n                    };\n                };\n            };\n        ;\n            Object.keys = function w(a) {\n                if (((((((typeof a != \"object\")) && ((typeof a != \"function\")))) || ((a === null))))) {\n                    throw new TypeError(\"Object.keys called on a non-object\");\n                }\n            ;\n            ;\n                var w = [];\n                {\n                    var fin39keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin39i = (0);\n                    var b;\n                    for (; (fin39i < fin39keys.length); (fin39i++)) {\n                        ((b) = (fin39keys[fin39i]));\n                        {\n                            ((f(a, b) && w.push(b)));\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (m) {\n                    for (var c = 0, d = o; ((c < d)); c++) {\n                        var e = n[c];\n                        ((f(a, e) && w.push(e)));\n                    };\n                }\n            ;\n            ;\n                return w;\n            };\n        }\n    ;\n    ;\n        if (((!JSBNG__Date.prototype.toISOString || (((new JSBNG__Date(-62198755200000)).toISOString().indexOf(\"-000001\") === -1))))) {\n            JSBNG__Date.prototype.toISOString = function() {\n                var b, c, d, e;\n                if (!isFinite(this)) {\n                    throw new RangeError(\"JSBNG__Date.prototype.toISOString called on non-finite value.\");\n                }\n            ;\n            ;\n                b = [((this.getUTCMonth() + 1)),this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds(),];\n                e = this.getUTCFullYear();\n                e = ((((((e < 0)) ? \"-\" : ((((e > 9999)) ? \"+\" : \"\")))) + ((\"00000\" + Math.abs(e))).slice(((((((0 <= e)) && ((e <= 9999)))) ? -4 : -6)))));\n                c = b.length;\n                while (c--) {\n                    d = b[c];\n                    ((((d < 10)) && (b[c] = ((\"0\" + d)))));\n                };\n            ;\n                return ((((((((((((((e + \"-\")) + b.slice(0, 2).join(\"-\"))) + \"T\")) + b.slice(2).join(\":\"))) + \".\")) + ((\"000\" + this.getUTCMilliseconds())).slice(-3))) + \"Z\"));\n            };\n        }\n    ;\n    ;\n        ((JSBNG__Date.now || (JSBNG__Date.now = function() {\n            return (new JSBNG__Date).getTime();\n        })));\n        ((JSBNG__Date.prototype.toJSON || (JSBNG__Date.prototype.toJSON = function(b) {\n            if (((typeof this.toISOString != \"function\"))) {\n                throw new TypeError(\"toISOString property is not callable\");\n            }\n        ;\n        ;\n            return this.toISOString();\n        })));\n        if (((!JSBNG__Date.parse || ((JSBNG__Date.parse(\"+275760-09-13T00:00:00.000Z\") !== 8640000000000000))))) {\n            JSBNG__Date = function(a) {\n                var b = function e(b, c, d, h, f, g, i) {\n                    var j = arguments.length;\n                    if (((this instanceof a))) {\n                        var k = ((((((j == 1)) && ((String(b) === b)))) ? new a(e.parse(b)) : ((((j >= 7)) ? new a(b, c, d, h, f, g, i) : ((((j >= 6)) ? new a(b, c, d, h, f, g) : ((((j >= 5)) ? new a(b, c, d, h, f) : ((((j >= 4)) ? new a(b, c, d, h) : ((((j >= 3)) ? new a(b, c, d) : ((((j >= 2)) ? new a(b, c) : ((((j >= 1)) ? new a(b) : new a))))))))))))))));\n                        k.constructor = e;\n                        return k;\n                    }\n                ;\n                ;\n                    return a.apply(this, arguments);\n                }, c = new RegExp(\"^(\\\\d{4}|[+-]\\\\d{6})(?:-(\\\\d{2})(?:-(\\\\d{2})(?:T(\\\\d{2}):(\\\\d{2})(?::(\\\\d{2})(?:\\\\.(\\\\d{3}))?)?(?:Z|(?:([-+])(\\\\d{2}):(\\\\d{2})))?)?)?)?$\");\n                {\n                    var fin40keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin40i = (0);\n                    var d;\n                    for (; (fin40i < fin40keys.length); (fin40i++)) {\n                        ((d) = (fin40keys[fin40i]));\n                        {\n                            b[d] = a[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n                b.now = a.now;\n                b.UTC = a.UTC;\n                b.prototype = a.prototype;\n                b.prototype.constructor = b;\n                b.parse = function(d) {\n                    var e = c.exec(d);\n                    if (e) {\n                        e.shift();\n                        for (var f = 1; ((f < 7)); f++) {\n                            e[f] = +((e[f] || ((((f < 3)) ? 1 : 0))));\n                            ((((f == 1)) && e[f]--));\n                        };\n                    ;\n                        var g = +e.pop(), i = +e.pop(), j = e.pop(), k = 0;\n                        if (j) {\n                            if (((((i > 23)) || ((g > 59))))) {\n                                return NaN;\n                            }\n                        ;\n                        ;\n                            k = ((((((((i * 60)) + g)) * 60000)) * ((((j == \"+\")) ? -1 : 1))));\n                        }\n                    ;\n                    ;\n                        var l = +e[0];\n                        if (((((0 <= l)) && ((l <= 99))))) {\n                            e[0] = ((l + 400));\n                            return ((((a.UTC.apply(this, e) + k)) - 12622780800000));\n                        }\n                    ;\n                    ;\n                        return ((a.UTC.apply(this, e) + k));\n                    }\n                ;\n                ;\n                    return a.parse.apply(this, arguments);\n                };\n                return b;\n            }(JSBNG__Date);\n        }\n    ;\n    ;\n        var q = \"\\u0009\\u000a\\u000b\\u000c\\u000d \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029\\ufeff\";\n        if (((!String.prototype.trim || q.trim()))) {\n            q = ((((\"[\" + q)) + \"]\"));\n            var r = new RegExp(((((((\"^\" + q)) + q)) + \"*\"))), s = new RegExp(((((q + q)) + \"*$\")));\n            String.prototype.trim = function() {\n                if (((((this === undefined)) || ((this === null))))) {\n                    throw new TypeError(((((\"can't convert \" + this)) + \" to object\")));\n                }\n            ;\n            ;\n                return String(this).replace(r, \"\").replace(s, \"\");\n            };\n        }\n    ;\n    ;\n        var t = function(a) {\n            a = +a;\n            ((((a !== a)) ? a = 0 : ((((((((a !== 0)) && ((a !== ((1 / 0)))))) && ((a !== -Infinity)))) && (a = ((((((a > 0)) || -1)) * Math.floor(Math.abs(a)))))))));\n            return a;\n        }, u = ((\"a\"[0] != \"a\")), v = function(a) {\n            if (((a == null))) {\n                throw new TypeError(((((\"can't convert \" + a)) + \" to object\")));\n            }\n        ;\n        ;\n            return ((((((u && ((typeof a == \"string\")))) && a)) ? a.split(\"\") : Object(a)));\n        };\n    });\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5-sham\", a) : a()))));\n    })(function() {\n        function b(a) {\n            try {\n                Object.defineProperty(a, \"sentinel\", {\n                });\n                return ((\"sentinel\" in a));\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        ((Object.getPrototypeOf || (Object.getPrototypeOf = function(b) {\n            return ((b.__proto__ || ((b.constructor ? b.constructor.prototype : prototypeOfObject))));\n        })));\n        if (!Object.getOwnPropertyDescriptor) {\n            var a = \"Object.getOwnPropertyDescriptor called on a non-object: \";\n            Object.getOwnPropertyDescriptor = function(c, d) {\n                if (((((((typeof c != \"object\")) && ((typeof c != \"function\")))) || ((c === null))))) {\n                    throw new TypeError(((a + c)));\n                }\n            ;\n            ;\n                if (!owns(c, d)) {\n                    return;\n                }\n            ;\n            ;\n                var e = {\n                    enumerable: !0,\n                    configurable: !0\n                };\n                if (supportsAccessors) {\n                    var f = c.__proto__;\n                    c.__proto__ = prototypeOfObject;\n                    var g = lookupGetter(c, d), i = lookupSetter(c, d);\n                    c.__proto__ = f;\n                    if (((g || i))) {\n                        ((g && (e.get = g)));\n                        ((i && (e.set = i)));\n                        return e;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                e.value = c[d];\n                return e;\n            };\n        }\n    ;\n    ;\n        ((Object.getOwnPropertyNames || (Object.getOwnPropertyNames = function(b) {\n            return Object.keys(b);\n        })));\n        ((Object.create || (Object.create = function(b, c) {\n            var d;\n            if (((b === null))) d = {\n                __proto__: null\n            };\n             else {\n                if (((typeof b != \"object\"))) {\n                    throw new TypeError(((((\"typeof prototype[\" + typeof b)) + \"] != 'object'\")));\n                }\n            ;\n            ;\n                var e = function() {\n                \n                };\n                e.prototype = b;\n                d = new e;\n                d.__proto__ = b;\n            }\n        ;\n        ;\n            ((((c !== void 0)) && Object.defineProperties(d, c)));\n            return d;\n        })));\n        if (Object.defineProperty) {\n            var c = b({\n            }), d = ((((typeof JSBNG__document == \"undefined\")) || b(JSBNG__document.createElement(\"div\"))));\n            if (((!c || !d))) {\n                var e = Object.defineProperty;\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n        if (((!Object.defineProperty || e))) {\n            var f = \"Property description must be an object: \", g = \"Object.defineProperty called on non-object: \", i = \"getters & setters can not be defined on this javascript engine\";\n            Object.defineProperty = function(b, c, d) {\n                if (((((((typeof b != \"object\")) && ((typeof b != \"function\")))) || ((b === null))))) {\n                    throw new TypeError(((g + b)));\n                }\n            ;\n            ;\n                if (((((((typeof d != \"object\")) && ((typeof d != \"function\")))) || ((d === null))))) {\n                    throw new TypeError(((f + d)));\n                }\n            ;\n            ;\n                if (e) {\n                    try {\n                        return e.call(Object, b, c, d);\n                    } catch (j) {\n                    \n                    };\n                }\n            ;\n            ;\n                if (owns(d, \"value\")) if (((supportsAccessors && ((lookupGetter(b, c) || lookupSetter(b, c)))))) {\n                    var k = b.__proto__;\n                    b.__proto__ = prototypeOfObject;\n                    delete b[c];\n                    b[c] = d.value;\n                    b.__proto__ = k;\n                }\n                 else b[c] = d.value;\n                \n                 else {\n                    if (!supportsAccessors) {\n                        throw new TypeError(i);\n                    }\n                ;\n                ;\n                    ((owns(d, \"get\") && defineGetter(b, c, d.get)));\n                    ((owns(d, \"set\") && defineSetter(b, c, d.set)));\n                }\n            ;\n            ;\n                return b;\n            };\n        }\n    ;\n    ;\n        ((Object.defineProperties || (Object.defineProperties = function(b, c) {\n            {\n                var fin41keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin41i = (0);\n                var d;\n                for (; (fin41i < fin41keys.length); (fin41i++)) {\n                    ((d) = (fin41keys[fin41i]));\n                    {\n                        ((((owns(c, d) && ((d != \"__proto__\")))) && Object.defineProperty(b, d, c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        })));\n        ((Object.seal || (Object.seal = function(b) {\n            return b;\n        })));\n        ((Object.freeze || (Object.freeze = function(b) {\n            return b;\n        })));\n        try {\n            Object.freeze(function() {\n            \n            });\n        } catch (j) {\n            Object.freeze = function(b) {\n                return function(c) {\n                    return ((((typeof c == \"function\")) ? c : b(c)));\n                };\n            }(Object.freeze);\n        };\n    ;\n        ((Object.preventExtensions || (Object.preventExtensions = function(b) {\n            return b;\n        })));\n        ((Object.isSealed || (Object.isSealed = function(b) {\n            return !1;\n        })));\n        ((Object.isFrozen || (Object.isFrozen = function(b) {\n            return !1;\n        })));\n        ((Object.isExtensible || (Object.isExtensible = function(b) {\n            if (((Object(b) !== b))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            var c = \"\";\n            while (owns(b, c)) {\n                c += \"?\";\n            ;\n            };\n        ;\n            b[c] = !0;\n            var d = owns(b, c);\n            delete b[c];\n            return d;\n        })));\n    });\n    (function(a, b) {\n        function t(a) {\n            for (var b = 1, c; c = arguments[b]; b++) {\n                {\n                    var fin42keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin42i = (0);\n                    var d;\n                    for (; (fin42i < fin42keys.length); (fin42i++)) {\n                        ((d) = (fin42keys[fin42i]));\n                        {\n                            a[d] = c[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function u(a) {\n            return Array.prototype.slice.call(a);\n        };\n    ;\n        function w(a, b) {\n            for (var c = 0, d; d = a[c]; c++) {\n                if (((b == d))) {\n                    return c;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        };\n    ;\n        function x() {\n            var a = u(arguments), b = [];\n            for (var c = 0, d = a.length; ((c < d)); c++) {\n                ((((a[c].length > 0)) && b.push(a[c].replace(/\\/$/, \"\"))));\n            ;\n            };\n        ;\n            return b.join(\"/\");\n        };\n    ;\n        function y(a, b, c) {\n            var d = b.split(\"/\"), e = a;\n            while (((d.length > 1))) {\n                var f = d.shift();\n                e = e[f] = ((e[f] || {\n                }));\n            };\n        ;\n            e[d[0]] = c;\n        };\n    ;\n        function z() {\n        \n        };\n    ;\n        function A(a, b) {\n            ((a && (this.id = this.path = this.resolvePath(a))));\n            this.originalPath = a;\n            this.force = !!b;\n        };\n    ;\n        function B(a, b) {\n            this.id = a;\n            this.path = this.resolvePath(a);\n            this.force = b;\n        };\n    ;\n        function C(a, b) {\n            this.id = a;\n            this.contents = b;\n            this.dep = O(a);\n            this.deps = [];\n            this.path = this.dep.path;\n        };\n    ;\n        function D(a, b) {\n            var d;\n            this.body = b;\n            if (!a) if (c) {\n                d = ((i || K()));\n                if (d) {\n                    this.setId(d.id);\n                    delete j[d.scriptId];\n                    this.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n            ;\n            ;\n            }\n             else g = this;\n            \n             else {\n                this.setId(a);\n                (((d = p[((\"module_\" + this.id))]) && this.then(function(a) {\n                    d.complete.call(d, a);\n                })));\n            }\n        ;\n        ;\n        };\n    ;\n        function E(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((d instanceof H)) ? b = b.concat(E(d.deps)) : ((((d instanceof B)) && b.push(d)))));\n            ;\n            };\n        ;\n            return b;\n        };\n    ;\n        function F() {\n            for (var a = 0, b; b = this.deps[a]; a++) {\n                if (b.forceFetch) b.forceFetch();\n                 else {\n                    b.force = !0;\n                    b.start();\n                }\n            ;\n            ;\n            };\n        ;\n            return this;\n        };\n    ;\n        function G(a) {\n            this.deps = a;\n            ((((this.deps.length == 0)) && this.complete()));\n        };\n    ;\n        function H(a) {\n            this.deps = a;\n        };\n    ;\n        function J() {\n            this.entries = {\n            };\n        };\n    ;\n        function K() {\n            {\n                var fin43keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin43i = (0);\n                var a;\n                for (; (fin43i < fin43keys.length); (fin43i++)) {\n                    ((a) = (fin43keys[fin43i]));\n                    {\n                        if (((d[a].readyState == \"interactive\"))) {\n                            return j[d[a].id];\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function L() {\n            var a = u(arguments), b, c;\n            ((((typeof a[0] == \"string\")) && (b = a.shift())));\n            c = a.shift();\n            return new D(b, c);\n        };\n    ;\n        function M() {\n            var a = u(arguments), b;\n            ((((typeof a[((a.length - 1))] == \"function\")) && (b = a.pop())));\n            var c = new G(N(a));\n            ((b && c.then(b)));\n            return c;\n        };\n    ;\n        function N(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((typeof d == \"string\")) && (d = O(d))));\n                ((v(d) && (d = new H(N(d)))));\n                b.push(d);\n            };\n        ;\n            return b;\n        };\n    ;\n        function O(a) {\n            var b, c;\n            for (var d = 0, e; e = M.matchers[d]; d++) {\n                var f = e[0], g = e[1];\n                if (b = a.match(f)) {\n                    return g(a);\n                }\n            ;\n            ;\n            };\n        ;\n            throw new Error(((a + \" was not recognised by loader\")));\n        };\n    ;\n        function Q() {\n            a.using = k;\n            a.provide = l;\n            a.loadrunner = m;\n            return P;\n        };\n    ;\n        function R(a) {\n            function d(b, d) {\n                c[d] = ((c[d] || {\n                }));\n                c[d][a] = {\n                    key: a,\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    JSBNG__status: d,\n                    origin: b\n                };\n            };\n        ;\n            var b, c = {\n            };\n            if (((a && (((((b = o[a]) || (b = p[a]))) || (b = n[a])))))) {\n                return {\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    origin: b\n                };\n            }\n        ;\n        ;\n            {\n                var fin44keys = ((window.top.JSBNG_Replay.forInKeys)((o))), fin44i = (0);\n                var a;\n                for (; (fin44i < fin44keys.length); (fin44i++)) {\n                    ((a) = (fin44keys[fin44i]));\n                    {\n                        d(o[a], \"met\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin45keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin45i = (0);\n                var a;\n                for (; (fin45i < fin45keys.length); (fin45i++)) {\n                    ((a) = (fin45keys[fin45i]));\n                    {\n                        d(p[a], \"inProgress\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin46keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin46i = (0);\n                var a;\n                for (; (fin46i < fin46keys.length); (fin46i++)) {\n                    ((a) = (fin46keys[fin46i]));\n                    {\n                        d(n[a], \"paused\");\n                    ;\n                    };\n                };\n            };\n        ;\n            return c;\n        };\n    ;\n        function S() {\n            n = {\n            };\n            o = {\n            };\n            p = {\n            };\n            M.bundles = new J;\n            B.exports = {\n            };\n            D.provided = {\n            };\n        };\n    ;\n        function T(a) {\n            return ((M.bundles.get(a) || undefined));\n        };\n    ;\n        var c = ((a.JSBNG__attachEvent && !a.JSBNG__opera)), d = b.getElementsByTagName(\"script\"), e, f = b.createElement(\"script\"), g, i, j = {\n        }, k = a.using, l = a.provide, m = a.loadrunner, n = {\n        }, o = {\n        }, p = {\n        };\n        for (var q = 0, r; r = d[q]; q++) {\n            if (r.src.match(/loadrunner\\.js(\\?|#|$)/)) {\n                e = r;\n                break;\n            }\n        ;\n        ;\n        };\n    ;\n        var s = function() {\n            var a = 0;\n            return function() {\n                return a++;\n            };\n        }(), v = ((Array.isArray || function(a) {\n            return ((a.constructor == Array));\n        }));\n        z.prototype.then = function(b) {\n            this.callbacks = ((this.callbacks || []));\n            this.callbacks.push(b);\n            ((this.completed ? b.apply(a, this.results) : ((((this.callbacks.length == 1)) && this.start()))));\n            return this;\n        };\n        z.prototype.key = function() {\n            ((this.id || (this.id = s())));\n            return ((\"dependency_\" + this.id));\n        };\n        z.prototype.start = function() {\n            var a = this, b, c;\n            this.startTime = (new JSBNG__Date).getTime();\n            if (b = o[this.key()]) {\n                this.complete.apply(this, b.results);\n            }\n             else {\n                if (c = p[this.key()]) {\n                    c.then(function() {\n                        a.complete.apply(a, arguments);\n                    });\n                }\n                 else {\n                    if (this.shouldFetch()) {\n                        p[this.key()] = this;\n                        this.fetch();\n                    }\n                     else {\n                        n[this.key()] = ((n[this.key()] || []));\n                        n[this.key()].push(this);\n                    }\n                ;\n                }\n            ;\n            }\n        ;\n        ;\n        };\n        z.prototype.shouldFetch = function() {\n            return !0;\n        };\n        z.prototype.complete = function() {\n            var b;\n            this.endTime = (new JSBNG__Date).getTime();\n            delete p[this.key()];\n            ((o[this.key()] || (o[this.key()] = this)));\n            if (!this.completed) {\n                this.results = u(arguments);\n                this.completed = !0;\n                if (this.callbacks) {\n                    for (var c = 0, d; d = this.callbacks[c]; c++) {\n                        d.apply(a, this.results);\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (b = n[this.key()]) {\n                    for (var c = 0, e; e = b[c]; c++) {\n                        e.complete.apply(e, arguments);\n                    ;\n                    };\n                ;\n                    delete n[this.key()];\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        A.autoFetch = !0;\n        A.xhrTransport = function() {\n            var a, b = this;\n            if (window.JSBNG__XMLHttpRequest) {\n                a = new window.JSBNG__XMLHttpRequest;\n            }\n             else {\n                try {\n                    a = new window.ActiveXObject(\"Microsoft.XMLHTTP\");\n                } catch (c) {\n                    return new Error(\"XHR not found.\");\n                };\n            }\n        ;\n        ;\n            a.JSBNG__onreadystatechange = function() {\n                var c;\n                ((((a.readyState == 4)) && b.loaded(a.responseText)));\n            };\n            a.open(\"GET\", this.path, !0);\n            a.send(null);\n        };\n        A.scriptTagTransport = function() {\n            var b = f.cloneNode(!1), c = this;\n            this.scriptId = ((\"LR\" + s()));\n            b.id = this.scriptId;\n            b.type = \"text/javascript\";\n            b.async = !0;\n            b.JSBNG__onerror = function() {\n                throw new Error(((c.path + \" not loaded\")));\n            };\n            b.JSBNG__onreadystatechange = b.JSBNG__onload = function(b) {\n                b = ((a.JSBNG__event || b));\n                if (((((b.type == \"load\")) || ((w([\"loaded\",\"complete\",], this.readyState) > -1))))) {\n                    this.JSBNG__onreadystatechange = null;\n                    c.loaded();\n                }\n            ;\n            ;\n            };\n            b.src = this.path;\n            i = this;\n            d[0].parentNode.insertBefore(b, d[0]);\n            i = null;\n            j[this.scriptId] = this;\n        };\n        A.prototype = new z;\n        A.prototype.start = function() {\n            var a = this, b;\n            (((def = D.provided[this.originalPath]) ? def.then(function() {\n                a.complete();\n            }) : (((b = T(this.originalPath)) ? b.then(function() {\n                a.start();\n            }) : z.prototype.start.call(this)))));\n        };\n        A.prototype.resolvePath = function(a) {\n            a = a.replace(/^\\$/, ((M.path.replace(/\\/$/, \"\") + \"/\")));\n            return a;\n        };\n        A.prototype.key = function() {\n            return ((\"script_\" + this.id));\n        };\n        A.prototype.shouldFetch = function() {\n            return ((A.autoFetch || this.force));\n        };\n        A.prototype.fetch = A.scriptTagTransport;\n        A.prototype.loaded = function() {\n            this.complete();\n        };\n        B.exports = {\n        };\n        B.prototype = new A;\n        B.prototype.start = function() {\n            var a = this, b, c;\n            (((b = D.provided[this.id]) ? b.then(function(b) {\n                a.complete.call(a, b);\n            }) : (((c = T(this.id)) ? c.then(function() {\n                a.start();\n            }) : A.prototype.start.call(this)))));\n        };\n        B.prototype.key = function() {\n            return ((\"module_\" + this.id));\n        };\n        B.prototype.resolvePath = function(a) {\n            return x(M.path, ((a + \".js\")));\n        };\n        B.prototype.loaded = function() {\n            var a, b, d = this;\n            if (!c) {\n                a = g;\n                g = null;\n                if (a) {\n                    a.setId(this.id);\n                    a.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n                 else if (!D.provided[this.id]) {\n                    throw new Error(((((\"Tried to load '\" + this.id)) + \"' as a module, but it didn't have a 'provide()' in it.\")));\n                }\n                \n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        C.prototype = new A;\n        C.prototype.start = function() {\n            var a = this, b, c, d;\n            for (var e = 0, f = this.contents.length; ((e < f)); e++) {\n                c = O(this.contents[e]);\n                this.deps.push(c);\n                d = c.key();\n                ((((((!o[d] && !p[d])) && !n[d])) && (n[d] = this)));\n            };\n        ;\n            A.prototype.start.call(this);\n        };\n        C.prototype.loaded = function() {\n            var a, b, c = this, d, e;\n            for (var f = 0, g = this.deps.length; ((f < g)); f++) {\n                d = this.deps[f];\n                e = d.key();\n                delete n[e];\n                o[e] = this;\n            };\n        ;\n            A.prototype.loaded.call(this);\n        };\n        D.provided = {\n        };\n        D.prototype = new z;\n        D.prototype.key = function() {\n            ((this.id || (this.id = ((\"anon_\" + s())))));\n            return ((\"definition_\" + this.id));\n        };\n        D.prototype.setId = function(a) {\n            this.id = a;\n            D.provided[a] = this;\n        };\n        D.prototype.fetch = function() {\n            var a = this;\n            ((((typeof this.body == \"object\")) ? this.complete(this.body) : ((((typeof this.body == \"function\")) && this.body(function(b) {\n                a.complete(b);\n            })))));\n        };\n        D.prototype.complete = function(a) {\n            a = ((a || {\n            }));\n            ((this.id && (this.exports = B.exports[this.id] = a)));\n            z.prototype.complete.call(this, a);\n        };\n        G.prototype = new z;\n        G.prototype.fetch = function() {\n            function b() {\n                var b = [];\n                for (var c = 0, d; d = a.deps[c]; c++) {\n                    if (!d.completed) {\n                        return;\n                    }\n                ;\n                ;\n                    ((((d.results.length > 0)) && (b = b.concat(d.results))));\n                };\n            ;\n                a.complete.apply(a, b);\n            };\n        ;\n            var a = this;\n            for (var c = 0, d; d = this.deps[c]; c++) {\n                d.then(b);\n            ;\n            };\n        ;\n            return this;\n        };\n        G.prototype.forceFetch = F;\n        G.prototype.as = function(a) {\n            var b = this;\n            return this.then(function() {\n                var c = E(b.deps), d = {\n                };\n                for (var e = 0, f; f = c[e]; e++) {\n                    y(d, f.id, arguments[e]);\n                ;\n                };\n            ;\n                a.apply(this, [d,].concat(u(arguments)));\n            });\n        };\n        H.prototype = new z;\n        H.prototype.fetch = function() {\n            var a = this, b = 0, c = [];\n            (function d() {\n                var e = a.deps[b++];\n                ((e ? e.then(function(a) {\n                    ((((e.results.length > 0)) && (c = c.concat(e.results))));\n                    d();\n                }) : a.complete.apply(a, c)));\n            })();\n            return this;\n        };\n        H.prototype.forceFetch = F;\n        var I = [];\n        J.prototype.push = function(a) {\n            {\n                var fin47keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin47i = (0);\n                var b;\n                for (; (fin47i < fin47keys.length); (fin47i++)) {\n                    ((b) = (fin47keys[fin47i]));\n                    {\n                        I[b] = new C(b, a[b]);\n                        for (var c = 0, d; d = a[b][c]; c++) {\n                            this.entries[d] = I[b];\n                        ;\n                        };\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n        J.prototype.get = function(a) {\n            return this.entries[a];\n        };\n        var P = function(a) {\n            return a(M, L, P);\n        };\n        P.Script = A;\n        P.Module = B;\n        P.Collection = G;\n        P.Sequence = H;\n        P.Definition = D;\n        P.Dependency = z;\n        P.noConflict = Q;\n        P.debug = R;\n        P.reset = S;\n        a.loadrunner = P;\n        a.using = M;\n        a.provide = L;\n        M.path = \"\";\n        M.bundles = new J;\n        M.matchers = [];\n        M.matchers.add = function(a, b) {\n            this.unshift([a,b,]);\n        };\n        M.matchers.add(/^(lr!)?[a-zA-Z0-9_\\/.-]+$/, function(a) {\n            var b = new B(a.replace(/^lr!/, \"\"));\n            return b;\n        });\n        M.matchers.add(/(^script!|\\.js$)/, function(a) {\n            var b = new A(a.replace(/^script!/, \"\"));\n            return b;\n        });\n        if (e) {\n            M.path = ((((e.getAttribute(\"data-path\") || e.src.split(/loadrunner\\.js/)[0])) || \"\"));\n            (((main = e.getAttribute(\"data-main\")) && M.apply(a, main.split(/\\s*,\\s*/)).then(function() {\n            \n            })));\n        }\n    ;\n    ;\n    })(this, JSBNG__document);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function e(a, b) {\n                return new loadrunner.Definition(a, function(a) {\n                    a(b());\n                });\n            };\n        ;\n            var d;\n            a.deferred = e;\n            b.matchers.add(/(^script!|\\.js(!?)$)/, function(a) {\n                var b = !!a.match(/!$/);\n                a = a.replace(/!$/, \"\");\n                if (d = loadrunner.Definition.provided[a]) {\n                    return d;\n                }\n            ;\n            ;\n                var c = new loadrunner.Script(a, b);\n                ((b && c.start()));\n                return c;\n            });\n        });\n    })(this);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function d(a) {\n                return Array.prototype.slice.call(a);\n            };\n        ;\n            function f(a, b) {\n                for (var c = 0, d; d = a[c]; c++) {\n                    if (((b == d))) {\n                        return c;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            };\n        ;\n            function g(a, b) {\n                var c = ((b.id || \"\")), d = c.split(\"/\");\n                d.pop();\n                var e = a.split(\"/\"), f = !1;\n                while (((((e[0] == \"..\")) && d.length))) {\n                    d.pop();\n                    e.shift();\n                    f = !0;\n                };\n            ;\n                if (((e[0] == \".\"))) {\n                    e.shift();\n                    f = !0;\n                }\n            ;\n            ;\n                ((f && (e = d.concat(e))));\n                return e.join(\"/\");\n            };\n        ;\n            function i(a, b) {\n                function d(a) {\n                    return loadrunner.Module.exports[g(a.replace(/^.+!/, \"\"), b)];\n                };\n            ;\n                var c = [];\n                for (var e = 0, f = a.length; ((e < f)); e++) {\n                    if (((a[e] == \"require\"))) {\n                        c.push(d);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"exports\"))) {\n                        b.exports = ((b.exports || {\n                        }));\n                        c.push(b.exports);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"module\"))) {\n                        c.push(b);\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(d(a[e]));\n                };\n            ;\n                return c;\n            };\n        ;\n            function j() {\n                var a = d(arguments), c = [], j, k;\n                ((((typeof a[0] == \"string\")) && (j = a.shift())));\n                ((e(a[0]) && (c = a.shift())));\n                k = a.shift();\n                var l = new loadrunner.Definition(j, function(a) {\n                    function l() {\n                        var b = i(d(c), j), e;\n                        ((((typeof k == \"function\")) ? e = k.apply(j, b) : e = k));\n                        ((((typeof e == \"undefined\")) && (e = j.exports)));\n                        a(e);\n                    };\n                ;\n                    var e = [], j = this;\n                    for (var m = 0, n = c.length; ((m < n)); m++) {\n                        var o = c[m];\n                        ((((f([\"require\",\"exports\",\"module\",], o) == -1)) && e.push(g(o, j))));\n                    };\n                ;\n                    ((((e.length > 0)) ? b.apply(this, e.concat(l)) : l()));\n                });\n                return l;\n            };\n        ;\n            var e = ((Array.isArray || function(a) {\n                return ((a.constructor == Array));\n            }));\n            a.define = j;\n        });\n    })(this);\n    loadrunner(function(a, b, c, d) {\n        function e(a) {\n            this.id = this.path = a;\n        };\n    ;\n        e.loaded = {\n        };\n        e.prototype = new c.Dependency;\n        e.prototype.start = function() {\n            if (e.loaded[this.path]) this.complete();\n             else {\n                e.loaded[this.path] = !0;\n                this.load();\n            }\n        ;\n        ;\n        };\n        e.prototype.load = function() {\n            function j() {\n                if ((($(f).length > 0))) {\n                    return i();\n                }\n            ;\n            ;\n                c += 1;\n                ((((c < 200)) ? b = JSBNG__setTimeout(j, 50) : i()));\n            };\n        ;\n            function k() {\n                var d;\n                try {\n                    d = !!a.sheet.cssRules;\n                } catch (e) {\n                    c += 1;\n                    ((((c < 200)) ? b = JSBNG__setTimeout(k, 50) : i()));\n                    return;\n                };\n            ;\n                i();\n            };\n        ;\n            var a, b, c, d = JSBNG__document, e = this.path, f = ((((\"link[href=\\\"\" + e)) + \"\\\"]\")), g = $.browser;\n            if ((($(f).length > 0))) {\n                return this.complete();\n            }\n        ;\n        ;\n            var i = function() {\n                JSBNG__clearTimeout(b);\n                a.JSBNG__onload = a.JSBNG__onerror = null;\n                this.complete();\n            }.bind(this);\n            if (((g.webkit || g.mozilla))) {\n                c = 0;\n                if (g.webkit) j();\n                 else {\n                    a = d.createElement(\"style\");\n                    a.innerHTML = ((((\"@import \\\"\" + e)) + \"\\\";\"));\n                    k(a);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (!a) {\n                a = d.createElement(\"link\");\n                a.setAttribute(\"rel\", \"stylesheet\");\n                a.setAttribute(\"href\", e);\n                a.setAttribute(\"charset\", \"utf-8\");\n            }\n        ;\n        ;\n            a.JSBNG__onload = a.JSBNG__onerror = i;\n            ((d.head || d.getElementsByTagName(\"head\")[0])).appendChild(a);\n        };\n        a.matchers.add(/^css!/, function(a) {\n            a = a.replace(/^css!/, \"\");\n            return new e(a);\n        });\n    });\n    using.aliases = {\n        \"$jasmine.ab65100d806a31abbb8c2b07c8fae7afbf2d1242.js\": [\"test/core/clock_spec\",\"test/core/parameterize_spec\",\"test/fixtures/news_onebox\",\"test/fixtures/user_search\",\"test/fixtures/saved_searches_dropdown\",\"test/fixtures/advanced_search\",\"test/fixtures/trends_location_dialog_api\",\"test/fixtures/resend_password_help\",\"test/fixtures/own_profile_header\",\"test/fixtures/profile_image_upload_dialog\",\"test/fixtures/trends_api\",\"test/fixtures/discover_stories\",\"test/fixtures/user_onebox\",\"test/fixtures/tweet_export_dialog\",\"test/fixtures/settings_design_page\",\"test/fixtures/media_onebox\",\"test/app/utils/image_spec\",\"test/app/utils/setup_polling_with_backoff_spec\",\"test/app/utils/params_spec\",\"test/app/utils/cookie_spec\",\"test/app/utils/ellipsis_spec\",\"test/app/utils/oauth_popup_spec\",\"test/app/utils/image_thumbnail_spec\",\"test/app/utils/third_party_application_spec\",\"test/app/utils/querystring_spec\",\"test/app/utils/request_logger_spec\",\"test/app/utils/with_event_params_spec\",\"test/app/utils/drag_drop_helper_spec\",\"test/app/utils/time_spec\",\"test/app/utils/image_resize_spec\",\"test/app/utils/html_text_spec\",\"test/app/utils/sandboxed_ajax_spec\",\"test/app/utils/auth_token_spec\",\"test/app/utils/chrome_spec\",\"test/app/utils/with_session_spec\",\"test/app/utils/string_spec\",\"test/app/utils/tweet_helper_spec\",\"test/app/utils/typeahead_helpers_spec\",\"test/app/utils/hide_or_show_divider_spec\",\"test/app/helpers/log_client_events_spec\",\"test/app/helpers/second_data_component\",\"test/app/helpers/global_after_each_spec\",\"test/app/helpers/test_component\",\"test/app/helpers/describe_component_spec\",\"test/app/helpers/extra_jquery_helpers_spec\",\"test/app/helpers/test_module\",\"test/app/helpers/describe_mixin_spec\",\"test/app/helpers/ajax_respond_with_spec\",\"test/app/helpers/test_scribing_component\",\"test/app/helpers/describe_component_with_data_components_spec\",\"test/app/helpers/describe_module_spec\",\"test/app/helpers/first_data_component\",\"test/app/helpers/test_mixin\",\"test/app/data/with_data_spec\",\"test/app/data/trends_scribe_spec\",\"test/app/data/resend_password_help_scribe_spec\",\"test/app/data/tweet_actions_spec\",\"test/app/data/permalink_scribe_spec\",\"test/app/data/activity_popup_scribe_spec\",\"test/app/data/login_verification_spec\",\"test/app/data/item_actions_scribe_spec\",\"test/app/data/resend_password_spec\",\"test/app/data/user_search_spec\",\"test/app/data/who_to_follow_scribe_spec\",\"test/app/data/url_resolver_spec\",\"test/app/data/oembed_scribe_spec\",\"test/app/data/promoted_logger_spec\",\"test/app/data/login_scribe_spec\",\"test/app/data/user_actions_scribe_spec\",\"test/app/data/facets_timeline_spec\",\"test/app/data/typeahead_scribe_spec\",\"test/app/data/saved_searches_spec\",\"test/app/data/geo_spec\",\"test/app/data/tweet_actions_scribe_spec\",\"test/app/data/scribing_context_spec\",\"test/app/data/prompt_mobile_app_scribe_spec\",\"test/app/data/settings_spec\",\"test/app/data/trends_spec\",\"test/app/data/tweet_translation_spec\",\"test/app/data/oembed_spec\",\"test/app/data/search_input_scribe_spec\",\"test/app/data/list_follow_card_spec\",\"test/app/data/notifications_spec\",\"test/app/data/tweet_box_scribe_spec\",\"test/app/data/conversations_spec\",\"test/app/data/embed_stats_scribe_spec\",\"test/app/data/search_assistance_scribe_spec\",\"test/app/data/activity_popup_spec\",\"test/app/data/with_widgets_spec\",\"test/app/data/list_members_dashboard_spec\",\"test/app/data/frontpage_scribe_spec\",\"test/app/data/ttft_navigation_spec\",\"test/app/data/share_via_email_dialog_data_spec\",\"test/app/data/contact_import_scribe_spec\",\"test/app/data/profile_popup_spec\",\"test/app/data/direct_messages_spec\",\"test/app/data/profile_canopy_scribe_spec\",\"test/app/data/form_scribe_spec\",\"test/app/data/with_conversation_metadata_spec\",\"test/app/data/simple_event_scribe_spec\",\"test/app/data/email_banner_spec\",\"test/app/data/timeline_spec\",\"test/app/data/user_info_spec\",\"test/app/data/with_interaction_data_scribe_spec\",\"test/app/data/dm_poll_spec\",\"test/app/data/profile_social_proof_scribe_spec\",\"test/app/data/async_profile_spec\",\"test/app/data/gallery_scribe_spec\",\"test/app/data/lists_spec\",\"test/app/data/tweet_spec\",\"test/app/data/with_scribe_spec\",\"test/app/data/user_search_scribe_spec\",\"test/app/data/follower_request_spec\",\"test/app/data/user_completion_module_scribe_spec\",\"test/app/data/temporary_password_spec\",\"test/app/data/profile_popup_scribe_spec\",\"test/app/data/archive_navigator_scribe_spec\",\"test/app/data/notification_listener_spec\",\"test/app/data/embed_scribe_spec\",\"test/app/data/signup_click_scribe_spec\",\"test/app/data/contact_import_spec\",\"test/app/data/with_card_metadata_spec\",\"test/app/data/onebox_scribe_spec\",\"test/app/data/media_settings_spec\",\"test/app/data/page_visibility_scribe_spec\",\"test/app/data/inline_edit_scribe_spec\",\"test/app/data/story_scribe_spec\",\"test/app/data/signup_data_spec\",\"test/app/data/user_spec\",\"test/app/data/media_timeline_spec\",\"test/app/data/direct_messages_scribe_spec\",\"test/app/data/navigation_spec\",\"test/app/data/with_auth_token_spec\",\"test/app/data/suggested_users_spec\",\"test/app/data/promptbird_spec\",\"test/app/data/signup_scribe_spec\",\"test/app/data/who_to_tweet_spec\",\"test/app/data/who_to_follow_spec\",\"test/app/data/media_thumbnails_scribe_spec\",\"test/app/ui/message_drawer_spec\",\"test/app/ui/color_picker_spec\",\"test/app/ui/with_forgot_password_spec\",\"test/app/ui/theme_preview_spec\",\"test/app/ui/search_query_source_spec\",\"test/app/ui/signin_dropdown_spec\",\"test/app/ui/tooltips_spec\",\"test/app/ui/user_search_spec\",\"test/app/ui/search_input_spec\",\"test/app/ui/with_focus_highlight_spec\",\"test/app/ui/with_inline_image_editing_spec\",\"test/app/ui/user_completion_module_spec\",\"test/app/ui/validating_fieldset_spec\",\"test/app/ui/alert_banner_to_message_drawer_spec\",\"test/app/ui/protected_verified_dialog_spec\",\"test/app/ui/with_item_actions_spec\",\"test/app/ui/oauth_revoker_spec\",\"test/app/ui/with_profile_stats_spec\",\"test/app/ui/with_timestamp_updating_spec\",\"test/app/ui/geo_deletion_spec\",\"test/app/ui/permalink_keyboard_support_spec\",\"test/app/ui/drag_state_spec\",\"test/app/ui/tweet_box_spec\",\"test/app/ui/with_story_clicks_spec\",\"test/app/ui/temporary_password_button_spec\",\"test/app/ui/with_loading_indicator_spec\",\"test/app/ui/navigation_links_spec\",\"test/app/ui/profile_image_monitor_dom_spec\",\"test/app/ui/image_uploader_spec\",\"test/app/ui/with_dialog_spec\",\"test/app/ui/with_upload_photo_affordance_spec\",\"test/app/ui/with_import_services_spec\",\"test/app/ui/hidden_descendants_spec\",\"test/app/ui/list_follow_card_spec\",\"test/app/ui/password_dialog_spec\",\"test/app/ui/keyboard_shortcuts_spec\",\"test/app/ui/infinite_scroll_watcher_spec\",\"test/app/ui/signup_call_out_spec\",\"test/app/ui/capped_file_upload_spec\",\"test/app/ui/list_members_dashboard_spec\",\"test/app/ui/alert_banner_spec\",\"test/app/ui/with_select_all_spec\",\"test/app/ui/password_match_pair_spec\",\"test/app/ui/password_spec\",\"test/app/ui/login_verification_confirmation_dialog_spec\",\"test/app/ui/settings_controls_spec\",\"test/app/ui/profile_popup_spec\",\"test/app/ui/aria_event_logger_spec\",\"test/app/ui/tweet_injector_spec\",\"test/app/ui/page_title_spec\",\"test/app/ui/page_visibility_spec\",\"test/app/ui/captcha_dialog_spec\",\"test/app/ui/with_discover_expando_spec\",\"test/app/ui/direct_message_link_handler_spec\",\"test/app/ui/with_dropdown_spec\",\"test/app/ui/facets_spec\",\"test/app/ui/inline_edit_spec\",\"test/app/ui/dashboard_tweetbox_spec\",\"test/app/ui/timezone_detector_spec\",\"test/app/ui/email_confirmation_spec\",\"test/app/ui/with_removable_stream_items_spec\",\"test/app/ui/cookie_warning_spec\",\"test/app/ui/inline_profile_editing_initializor_spec\",\"test/app/ui/with_stream_users_spec\",\"test/app/ui/geo_picker_spec\",\"test/app/ui/image_selector_spec\",\"test/app/ui/with_position_spec\",\"test/app/ui/with_user_actions_spec\",\"test/app/ui/email_field_highlight_spec\",\"test/app/ui/with_rich_editor_spec\",\"test/app/ui/theme_picker_spec\",\"test/app/ui/tweet_box_thumbnails_spec\",\"test/app/ui/with_rtl_tweet_box_spec\",\"test/app/ui/login_verification_form_spec\",\"test/app/ui/direct_message_dialog_spec\",\"test/app/ui/profile_image_monitor_spec\",\"test/app/ui/with_image_selection_spec\",\"test/app/ui/with_tweet_actions_spec\",\"test/app/ui/embed_stats_spec\",\"test/app/ui/with_tweet_translation_spec\",\"test/app/ui/search_dropdown_spec\",\"test/app/ui/new_tweet_button_spec\",\"test/app/ui/impression_cookies_spec\",\"test/app/ui/field_edit_warning_spec\",\"test/app/ui/profile_edit_param_spec\",\"test/app/ui/hidden_ancestors_spec\",\"test/app/ui/advanced_search_spec\",\"test/app/ui/with_click_outside_spec\",\"test/app/ui/discover_spec\",\"test/app/ui/design_spec\",\"test/app/ui/tweet_dialog_spec\",\"test/app/ui/with_inline_image_options_spec\",\"test/app/ui/global_nav_spec\",\"test/app/ui/navigation_spec\",\"test/app/ui/toolbar_spec\",\"test/app/ui/suggested_users_spec\",\"test/app/ui/promptbird_spec\",\"test/app/ui/deactivated_spec\",\"test/app/ui/with_conversation_actions_spec\",\"test/app/ui/who_to_tweet_spec\",\"test/app/ui/with_text_polling_spec\",\"test/app/ui/password_strength_spec\",\"test/app/ui/inline_profile_editing_spec\",\"test/app/ui/user_dropdown_spec\",\"test/app/ui/with_interaction_data_spec\",\"test/app/ui/with_password_strength_spec\",\"test/app/utils/image/image_loader_spec\",\"test/app/utils/crypto/aes_spec\",\"test/app/utils/storage/with_crypto_spec\",\"test/app/utils/storage/with_expiry_spec\",\"test/app/utils/storage/custom_spec\",\"test/app/utils/storage/core_spec\",\"test/app/data/feedback/feedback_spec\",\"test/app/data/typeahead/with_cache_spec\",\"test/app/data/typeahead/with_external_event_listeners_spec\",\"test/app/data/typeahead/context_helper_datasource_spec\",\"test/app/data/typeahead/typeahead_spec\",\"test/app/data/typeahead/saved_searches_datasource_spec\",\"test/app/data/typeahead/trend_locations_datasource_spec\",\"test/app/data/typeahead/topics_datasource_spec\",\"test/app/data/typeahead/recent_searches_datasource_spec\",\"test/app/data/typeahead/accounts_datasource_spec\",\"test/app/data/who_to_follow/web_personalized_proxy_spec\",\"test/app/data/who_to_follow/web_personalized_scribe_spec\",\"test/app/data/settings/facebook_proxy_spec\",\"test/app/data/settings/login_verification_test_run_spec\",\"test/app/data/welcome/intro_scribe_spec\",\"test/app/data/welcome/lifeline_scribe_spec\",\"test/app/data/welcome/welcome_cards_scribe_spec\",\"test/app/data/welcome/interests_picker_scribe_spec\",\"test/app/data/welcome/invitations_scribe_spec\",\"test/app/data/welcome/welcome_data_spec\",\"test/app/data/welcome/preview_stream_scribe_spec\",\"test/app/data/welcome/flow_nav_scribe_spec\",\"test/app/data/welcome/users_cards_spec\",\"test/app/data/mobile_gallery/download_links_scribe_spec\",\"test/app/data/mobile_gallery/send_download_link_spec\",\"test/app/data/trends/recent_locations_spec\",\"test/app/data/trends/location_dialog_spec\",\"test/app/ui/gallery/with_gallery_spec\",\"test/app/ui/gallery/grid_spec\",\"test/app/ui/gallery/gallery_spec\",\"test/app/ui/gallery/with_grid_spec\",\"test/app/ui/dialogs/temporary_password_dialog_spec\",\"test/app/ui/dialogs/delete_tweet_dialog_spec\",\"test/app/ui/dialogs/embed_tweet_spec\",\"test/app/ui/dialogs/block_user_dialog_spec\",\"test/app/ui/dialogs/profile_edit_error_dialog_spec\",\"test/app/ui/dialogs/promptbird_invite_contacts_dialog_spec\",\"test/app/ui/dialogs/sensitive_flag_confirmation_spec\",\"test/app/ui/dialogs/in_product_help_dialog_spec\",\"test/app/ui/dialogs/iph_search_result_dialog_spec\",\"test/app/ui/dialogs/activity_popup_spec\",\"test/app/ui/dialogs/goto_user_dialog_spec\",\"test/app/ui/dialogs/signin_or_signup_spec\",\"test/app/ui/dialogs/retweet_dialog_spec\",\"test/app/ui/dialogs/profile_confirm_image_delete_dialog_spec\",\"test/app/ui/dialogs/list_membership_dialog_spec\",\"test/app/ui/dialogs/list_operations_dialog_spec\",\"test/app/ui/dialogs/confirm_dialog_spec\",\"test/app/ui/dialogs/with_modal_tweet_spec\",\"test/app/ui/dialogs/tweet_export_dialog_spec\",\"test/app/ui/dialogs/profile_image_upload_dialog_spec\",\"test/app/ui/dialogs/confirm_email_dialog_spec\",\"test/app/ui/feedback/feedback_report_link_handler_spec\",\"test/app/ui/feedback/feedback_dialog_spec\",\"test/app/ui/search/related_queries_spec\",\"test/app/ui/search/user_onebox_spec\",\"test/app/ui/search/news_onebox_spec\",\"test/app/ui/search/archive_navigator_spec\",\"test/app/ui/search/media_onebox_spec\",\"test/app/ui/search/spelling_corrections_spec\",\"test/app/ui/typeahead/context_helpers_renderer_spec\",\"test/app/ui/typeahead/recent_searches_renderer_spec\",\"test/app/ui/typeahead/typeahead_input_spec\",\"test/app/ui/typeahead/saved_searches_renderer_spec\",\"test/app/ui/typeahead/accounts_renderer_spec\",\"test/app/ui/typeahead/trend_locations_renderer_spec\",\"test/app/ui/typeahead/typeahead_dropdown_spec\",\"test/app/ui/typeahead/topics_renderer_spec\",\"test/app/ui/vit/verification_step_spec\",\"test/app/ui/vit/mobile_topbar_spec\",\"test/app/ui/profile/canopy_spec\",\"test/app/ui/profile/head_spec\",\"test/app/ui/profile/social_proof_spec\",\"test/app/ui/account/resend_password_controls_spec\",\"test/app/ui/account/resend_password_help_controls_spec\",\"test/app/ui/expando/with_expanding_containers_spec\",\"test/app/ui/expando/expanding_tweets_spec\",\"test/app/ui/expando/with_expanding_social_activity_spec\",\"test/app/ui/expando/expando_helpers_spec\",\"test/app/ui/expando/close_all_button_spec\",\"test/app/ui/signup/with_signup_validation_spec\",\"test/app/ui/signup/suggestions_spec\",\"test/app/ui/signup/signup_form_spec\",\"test/app/ui/signup/stream_end_signup_module_spec\",\"test/app/ui/signup/with_captcha_spec\",\"test/app/ui/media/with_hidden_display_spec\",\"test/app/ui/media/with_legacy_media_spec\",\"test/app/ui/media/with_legacy_embeds_spec\",\"test/app/ui/media/with_flag_action_spec\",\"test/app/ui/media/media_thumbnails_spec\",\"test/app/ui/media/with_legacy_icons_spec\",\"test/app/ui/media/card_thumbnails_spec\",\"test/app/ui/signup_download/next_and_skip_buttons_spec\",\"test/app/ui/signup_download/us_phone_number_checker_spec\",\"test/app/ui/who_to_follow/import_services_spec\",\"test/app/ui/who_to_follow/web_personalized_settings_spec\",\"test/app/ui/who_to_follow/matched_contacts_list_spec\",\"test/app/ui/who_to_follow/with_unmatched_contacts_spec\",\"test/app/ui/who_to_follow/who_to_follow_dashboard_spec\",\"test/app/ui/who_to_follow/find_friends_spec\",\"test/app/ui/who_to_follow/invite_form_spec\",\"test/app/ui/who_to_follow/with_invite_messages_spec\",\"test/app/ui/who_to_follow/who_to_follow_timeline_spec\",\"test/app/ui/who_to_follow/with_user_recommendations_spec\",\"test/app/ui/who_to_follow/web_personalized_signup_spec\",\"test/app/ui/who_to_follow/with_invite_preview_spec\",\"test/app/ui/settings/facebook_iframe_height_adjuster_spec\",\"test/app/ui/settings/with_cropper_spec\",\"test/app/ui/settings/tweet_export_spec\",\"test/app/ui/settings/facebook_login_spec\",\"test/app/ui/settings/facebook_connect_spec\",\"test/app/ui/settings/sms_phone_create_form_spec\",\"test/app/ui/settings/tweet_export_download_spec\",\"test/app/ui/settings/notifications_spec\",\"test/app/ui/settings/widgets_configurator_spec\",\"test/app/ui/settings/device_verified_form_spec\",\"test/app/ui/settings/change_photo_spec\",\"test/app/ui/settings/facebook_spinner_spec\",\"test/app/ui/settings/facebook_connection_conflict_spec\",\"test/app/ui/settings/sms_phone_verify_form_spec\",\"test/app/ui/settings/facebook_connected_spec\",\"test/app/ui/settings/facebook_missing_permissions_spec\",\"test/app/ui/settings/widgets_spec\",\"test/app/ui/settings/facebook_mismatched_connection_spec\",\"test/app/ui/settings/login_verification_sms_check_spec\",\"test/app/ui/timelines/event_timeline_spec\",\"test/app/ui/timelines/with_cursor_pagination_spec\",\"test/app/ui/timelines/user_timeline_spec\",\"test/app/ui/timelines/universal_timeline_spec\",\"test/app/ui/timelines/with_keyboard_navigation_spec\",\"test/app/ui/timelines/with_story_pagination_spec\",\"test/app/ui/timelines/with_polling_spec\",\"test/app/ui/timelines/discover_timeline_spec\",\"test/app/ui/timelines/follower_request_timeline_spec\",\"test/app/ui/timelines/with_pinned_stream_items_spec\",\"test/app/ui/timelines/with_most_recent_story_pagination_spec\",\"test/app/ui/timelines/with_preserved_scroll_position_spec\",\"test/app/ui/timelines/with_tweet_pagination_spec\",\"test/app/ui/timelines/tweet_timeline_spec\",\"test/app/ui/timelines/with_activity_supplements_spec\",\"test/app/ui/welcome/interests_header_search_spec\",\"test/app/ui/welcome/intro_video_spec\",\"test/app/ui/welcome/import_services_cards_spec\",\"test/app/ui/welcome/lifeline_device_follow_dialog_spec\",\"test/app/ui/welcome/with_similarities_spec\",\"test/app/ui/welcome/invite_dialog_spec\",\"test/app/ui/welcome/learn_dashboard_spec\",\"test/app/ui/welcome/interests_category_flow_nav_spec\",\"test/app/ui/welcome/profile_flow_nav_spec\",\"test/app/ui/welcome/profile_form_spec\",\"test/app/ui/welcome/custom_interest_spec\",\"test/app/ui/welcome/with_nav_buttons_spec\",\"test/app/ui/welcome/with_interests_spec\",\"test/app/ui/welcome/interests_picker_spec\",\"test/app/ui/welcome/with_more_results_spec\",\"test/app/ui/welcome/with_welcome_search_spec\",\"test/app/ui/welcome/users_cards_spec\",\"test/app/ui/welcome/internal_link_disabler_spec\",\"test/app/ui/mobile_gallery/gallery_buttons_spec\",\"test/app/ui/forms/select_box_spec\",\"test/app/ui/forms/with_submit_disable_spec\",\"test/app/ui/forms/input_with_placeholder_spec\",\"test/app/ui/forms/mobile_gallery_email_form_spec\",\"test/app/ui/forms/form_value_modification_spec\",\"test/app/ui/forms/element_group_toggler_spec\",\"test/app/ui/trends/trends_spec\",\"test/app/ui/trends/trends_dialog_spec\",\"test/app/ui/banners/email_banner_spec\",\"test/app/ui/promptbird/with_invite_contacts_spec\",\"test/app/ui/promptbird/with_invite_contacts\",\"test/app/utils/storage/array/with_max_elements_spec\",\"test/app/utils/storage/array/with_array_spec\",\"test/app/utils/storage/array/with_unique_elements_spec\",\"test/app/ui/timelines/conversations/ancestor_timeline_spec\",\"test/app/ui/timelines/conversations/descendant_timeline_spec\",\"test/app/ui/trends/dialog/nearby_trends_spec\",\"test/app/ui/trends/dialog/with_location_info_spec\",\"test/app/ui/trends/dialog/recent_trends_spec\",\"test/app/ui/trends/dialog/location_search_spec\",\"test/app/ui/trends/dialog/location_dropdown_spec\",\"test/app/ui/trends/dialog/dialog_spec\",\"test/app/ui/trends/dialog/current_location_spec\",\"test/app/ui/trends/dialog/with_location_list_picker_spec\",\"app/data/welcome/preview_stream_scribe\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/interests_category_flow_nav\",\"app/ui/welcome/with_similarities\",],\n        \"$bundle/boot.f66654100a6bd9d7e3a9cd575ee1d4bf526a8986.js\": [\"app/data/geo\",\"app/data/tweet\",\"app/ui/tweet_dialog\",\"app/ui/new_tweet_button\",\"app/data/tweet_box_scribe\",\"lib/twitter-text\",\"app/ui/with_character_counter\",\"app/utils/with_event_params\",\"app/utils/caret\",\"app/ui/with_draft_tweets\",\"app/ui/with_text_polling\",\"app/ui/with_rtl_tweet_box\",\"app/ui/toolbar\",\"app/utils/tweet_helper\",\"app/utils/html_text\",\"app/ui/with_rich_editor\",\"app/ui/with_upload_photo_affordance\",\"$lib/jquery.swfobject.js\",\"app/utils/image\",\"app/utils/drag_drop_helper\",\"app/ui/with_drop_events\",\"app/ui/with_droppable_image\",\"app/ui/tweet_box\",\"app/utils/image_thumbnail\",\"app/ui/tweet_box_thumbnails\",\"app/utils/image_resize\",\"app/ui/with_image_selection\",\"app/ui/image_selector\",\"app/ui/typeahead/accounts_renderer\",\"app/ui/typeahead/saved_searches_renderer\",\"app/ui/typeahead/recent_searches_renderer\",\"app/ui/typeahead/topics_renderer\",\"app/ui/typeahead/trend_locations_renderer\",\"app/ui/typeahead/context_helpers_renderer\",\"app/utils/rtl_text\",\"app/ui/typeahead/typeahead_dropdown\",\"app/utils/event_support\",\"app/utils/string\",\"app/ui/typeahead/typeahead_input\",\"app/ui/with_click_outside\",\"app/ui/geo_picker\",\"app/ui/tweet_box_manager\",\"app/boot/tweet_boxes\",\"app/ui/user_dropdown\",\"app/ui/signin_dropdown\",\"app/ui/search_input\",\"app/utils/animate_window_scrolltop\",\"app/ui/global_nav\",\"app/ui/navigation_links\",\"app/data/search_input_scribe\",\"app/boot/top_bar\",\"app/ui/keyboard_shortcuts\",\"app/ui/dialogs/keyboard_shortcuts_dialog\",\"app/ui/dialogs/with_modal_tweet\",\"app/ui/dialogs/retweet_dialog\",\"app/ui/dialogs/delete_tweet_dialog\",\"app/ui/dialogs/block_user_dialog\",\"app/ui/dialogs/confirm_dialog\",\"app/ui/dialogs/confirm_email_dialog\",\"app/ui/dialogs/list_membership_dialog\",\"app/ui/dialogs/list_operations_dialog\",\"app/data/direct_messages\",\"app/data/direct_messages_scribe\",\"app/ui/direct_message_link_handler\",\"app/ui/with_timestamp_updating\",\"app/ui/with_item_actions\",\"app/ui/direct_message_dialog\",\"app/boot/direct_messages\",\"app/data/profile_popup\",\"app/data/profile_popup_scribe\",\"app/ui/user_actions_dropdown\",\"app/ui/with_user_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"app/ui/profile_popup\",\"app/data/profile_edit_btn_scribe\",\"app/data/user\",\"app/data/lists\",\"app/boot/profile_popup\",\"app/data/typeahead/with_cache\",\"app/utils/typeahead_helpers\",\"app/data/with_datasource_helpers\",\"app/data/typeahead/accounts_datasource\",\"app/data/typeahead/saved_searches_datasource\",\"app/data/typeahead/recent_searches_datasource\",\"app/data/typeahead/with_external_event_listeners\",\"app/data/typeahead/topics_datasource\",\"app/data/typeahead/context_helper_datasource\",\"app/data/typeahead/trend_locations_datasource\",\"app/data/typeahead/typeahead\",\"app/data/typeahead_scribe\",\"app/ui/dialogs/goto_user_dialog\",\"app/utils/setup_polling_with_backoff\",\"app/ui/page_title\",\"app/ui/feedback/with_feedback_tweet\",\"app/ui/feedback/feedback_stories\",\"app/ui/feedback/with_feedback_discover\",\"app/ui/feedback/feedback_dialog\",\"app/ui/feedback/feedback_report_link_handler\",\"app/data/feedback/feedback\",\"app/ui/search_query_source\",\"app/ui/banners/email_banner\",\"app/data/email_banner\",\"app/ui/media/phoenix_shim\",\"app/utils/twt\",\"app/ui/media/types\",\"$lib/easyXDM.js\",\"app/utils/easy_xdm\",\"app/utils/sandboxed_ajax\",\"app/ui/media/with_legacy_icons\",\"app/utils/third_party_application\",\"app/ui/media/legacy_embed\",\"app/ui/media/with_legacy_embeds\",\"app/ui/media/with_flag_action\",\"app/ui/media/with_hidden_display\",\"app/ui/media/with_legacy_media\",\"app/utils/image/image_loader\",\"app/ui/with_tweet_actions\",\"app/ui/gallery/gallery\",\"app/data/gallery_scribe\",\"app/data/share_via_email_dialog_data\",\"app/ui/dialogs/share_via_email_dialog\",\"app/data/with_widgets\",\"app/ui/dialogs/embed_tweet\",\"app/data/embed_scribe\",\"app/data/oembed\",\"app/data/oembed_scribe\",\"app/ui/with_drag_events\",\"app/ui/drag_state\",\"app/data/notification_listener\",\"app/data/dm_poll\",\"app/boot/app\",],\n        \"$bundle/frontpage.4fadf7a73f7269b9c27c826f2ebf9bed67255e74.js\": [\"app/data/frontpage_scribe\",\"app/ui/cookie_warning\",\"app/pages/frontpage\",\"app/data/login_scribe\",\"app/pages/login\",],\n        \"$bundle/signup.990c69542ff942eb94bd30c41f9c7c6d04997ca3.js\": [\"app/ui/signup/with_captcha\",\"app/utils/common_regexp\",\"app/ui/signup/with_signup_validation\",\"app/ui/signup/signup_form\",\"app/ui/with_password_strength\",\"app/data/signup_data\",\"app/data/settings\",\"app/data/signup_scribe\",\"app/ui/signup/suggestions\",\"app/ui/signup/small_print_expander\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup/signup\",],\n        \"$bundle/timeline.0c72f0b55560d18392e0530b987f9aafe1a673bf.js\": [\"app/data/tweet_actions\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/expando_helpers\",\"app/ui/gallery/with_gallery\",\"app/ui/with_tweet_translation\",\"app/ui/tweets\",\"app/ui/tweet_injector\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expanding_tweets\",\"app/ui/embed_stats\",\"app/data/url_resolver\",\"app/ui/media/with_native_media\",\"app/ui/media/media_tweets\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/utils/scribe_event_initiators\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/with_location_list_picker\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/dialog\",\"app/boot/trends\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",\"app/boot/timeline\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",\"app/boot/activity_popup\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"app/boot/tweets\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pip\",\"app/ui/help_pips_injector\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_focus_highlight\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_conversation_actions\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/timelines/tweet_timeline\",\"app/boot/tweet_timeline\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/with_user_recommendations\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/promptbird\",\"app/utils/oauth_popup\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/who_to_follow/with_unmatched_contacts\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/with_import_services\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"app/ui/profile_stats\",\"app/utils/prefetch_core_css_bundle\",\"app/pages/home\",\"app/boot/wtf_module\",\"app/data/who_to_tweet\",\"app/boot/connect\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/with_loading_indicator\",\"app/ui/who_to_follow/find_friends\",\"app/pages/connect/interactions\",\"app/pages/connect/mentions\",\"app/pages/connect/network_activity\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",\"app/ui/settings/with_cropper\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",\"app/ui/with_inline_image_editing\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/ui/gallery/grid\",\"app/boot/profile\",\"app/pages/profile/tweets\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_stream_users\",\"app/ui/timelines/user_timeline\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",\"app/pages/profile/follower_requests\",\"app/pages/profile/followers\",\"app/pages/profile/following\",\"app/pages/profile/favorites\",\"app/ui/timelines/list_timeline\",\"app/boot/list_timeline\",\"app/pages/profile/lists\",\"app/ui/with_removable_stream_items\",\"app/ui/similar_to\",\"app/pages/profile/similar_to\",\"app/ui/facets\",\"app/data/facets_timeline\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/boot/search\",\"app/ui/timelines/with_story_pagination\",\"app/ui/gallery/with_grid\",\"app/ui/timelines/universal_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/with_story_clicks\",\"$lib/jquery_autoellipsis.js\",\"app/utils/ellipsis\",\"app/ui/with_story_ellipsis\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",\"app/pages/search/search\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/timelines/media_timeline\",\"app/boot/media_timeline\",\"app/pages/search/media\",\"app/pages/simple_t1\",],\n        \"$bundle/permalink.db92252904761daedf68bf11bbb2750235e32ce7.js\": [\"app/ui/permalink_keyboard_support\",\"app/ui/hidden_ancestors\",\"app/ui/hidden_descendants\",\"app/ui/dialogs/sms_codes\",\"app/ui/timelines/conversations/descendant_timeline\",\"app/ui/timelines/conversations/ancestor_timeline\",\"app/data/embed_stats_scribe\",\"app/data/permalink_scribe\",\"app/pages/permalink\",\"app/pages/permalink_photo\",],\n        \"$bundle/lists_permalink.6e3de5369fc1b6a20122d38d988602ec8ea6a3e1.js\": [\"app/ui/list_members_dashboard\",\"app/data/list_members_dashboard\",\"app/ui/list_follow_card\",\"app/data/list_follow_card\",\"app/boot/list_permalink\",\"app/pages/list/permalink_tweets\",\"app/pages/list/permalink_users\",],\n        \"$bundle/discover.814fb8dadcc0776c9fc9424643d16957d677e3c2.js\": [\"app/ui/discover_nav\",\"app/boot/discover\",\"app/ui/timelines/with_most_recent_story_pagination\",\"app/ui/timelines/discover_timeline\",\"app/boot/discover_timeline\",\"app/ui/with_discover_expando\",\"app/ui/discover\",\"app/pages/discover/discover\",\"app/ui/people_search_input\",\"app/boot/who_to_follow\",\"app/utils/common_regexp\",\"app/ui/who_to_follow/invite_form\",\"app/ui/who_to_follow/pymk_kicker\",\"app/ui/who_to_follow/wipe_addressbook_dialog\",\"app/pages/who_to_follow/import\",\"app/pages/who_to_follow/interests\",\"app/pages/who_to_follow/invite\",\"app/pages/who_to_follow/lifeline\",\"app/pages/who_to_follow/matches\",\"app/pages/who_to_follow/suggestions\",\"app/data/who_to_follow/web_personalized_scribe\",\"app/data/who_to_follow/web_personalized_proxy\",\"app/ui/who_to_follow/web_personalized_settings\",\"app/ui/who_to_follow/web_personalized_signup\",\"app/pages/who_to_follow/web_personalized\",],\n        \"$bundle/settings.746ec42b535d98004e7c1b839e01418210fb34ed.js\": [\"app/ui/alert_banner\",\"app/ui/forms/with_submit_disable\",\"app/ui/forms/form_value_modification\",\"app/boot/settings\",\"app/data/settings/account_scribe\",\"app/data/settings/login_verification_test_run\",\"app/data/form_scribe\",\"app/ui/with_forgot_password\",\"app/ui/password_dialog\",\"app/ui/settings/login_verification_sms_check\",\"app/ui/login_verification_confirmation_dialog\",\"app/ui/protected_verified_dialog\",\"app/ui/email_field_highlight\",\"app/ui/validating_fieldset\",\"app/ui/email_confirmation\",\"app/ui/settings/tweet_export\",\"app/ui/dialogs/tweet_export_dialog\",\"app/ui/timezone_detector\",\"app/ui/deactivated\",\"app/ui/geo_deletion\",\"app/ui/settings_controls\",\"app/pages/settings/account\",\"app/data/temporary_password\",\"app/data/settings/applications_scribe\",\"app/ui/dialogs/temporary_password_dialog\",\"app/ui/temporary_password_button\",\"app/ui/oauth_revoker\",\"app/pages/settings/applications\",\"app/data/settings/confirm_deactivation_scribe\",\"app/pages/settings/confirm_deactivation\",\"app/data/settings/design_scribe\",\"$lib/jquery_color_picker.js\",\"app/ui/color_picker\",\"app/ui/design\",\"app/ui/theme_preview\",\"app/ui/theme_picker\",\"app/pages/settings/design\",\"app/pages/settings/email_follow\",\"app/ui/settings/tweet_export_download\",\"app/pages/settings/tweet_export_download\",\"app/ui/settings/notifications\",\"app/pages/settings/notifications\",\"app/ui/password\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/settings/password\",\"app/boot/avatar_uploading\",\"app/data/settings/profile_scribe\",\"app/ui/settings/facebook_iframe_height_adjuster\",\"app/ui/field_edit_warning\",\"app/ui/dialogs/in_product_help_dialog\",\"app/boot/header_upload\",\"app/ui/bio_box\",\"app/pages/settings/profile\",\"app/data/settings/facebook_proxy\",\"app/ui/settings/with_facebook_container\",\"app/ui/settings/facebook_spinner\",\"app/ui/settings/with_facebook_banner\",\"app/ui/settings/facebook_login\",\"app/ui/settings/facebook_connect\",\"app/ui/settings/facebook_missing_permissions\",\"app/ui/settings/facebook_mismatched_connection\",\"app/ui/settings/facebook_connection_conflict\",\"app/ui/settings/facebook_connected\",\"app/data/settings/facebook_scribe\",\"app/pages/settings/facebook\",\"app/data/settings/sms_scribe\",\"app/ui/forms/select_box\",\"app/ui/settings/sms_phone_create_form\",\"app/ui/forms/element_group_toggler\",\"app/ui/settings/device_verified_form\",\"app/ui/settings/sms_phone_verify_form\",\"app/pages/settings/sms\",\"app/ui/settings/widgets\",\"app/pages/settings/widgets\",\"app/ui/settings/widgets_configurator\",\"app/pages/settings/widgets_configurator\",],\n        \"$bundle/events.d9845cf638173afdb25220e5ab241f0f6c09021a.js\": [\"app/ui/media/media_thumbnails\",\"app/ui/timelines/event_timeline\",\"app/ui/page_visibility\",\"app/data/page_visibility_scribe\",\"app/pages/events/hashtag\",],\n        \"$bundle/accounts.0ca4815a3944f19c9eaeef0c85bf7984b25d3632.js\": [\"app/ui/account/password_reset_controls\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/account/password_reset\",\"app/ui/captcha_dialog\",\"app/ui/account/resend_password_controls\",\"app/ui/validating_fieldset\",\"app/data/resend_password\",\"app/pages/account/resend_password\",\"app/ui/account/verify_personal_information_controls\",\"app/pages/account/verify_personal_information\",\"app/ui/account/verify_device_token_controls\",\"app/pages/account/verify_device_token\",\"app/ui/account/resend_password_help_controls\",\"app/data/resend_password_help\",\"app/data/resend_password_help_scribe\",\"app/pages/account/resend_password_help\",\"app/pages/account/errors\",],\n        \"$bundle/search.b7757a9e20dfb014aacc3cd4959de0a8058f4006.js\": [\"app/ui/dialogs/search_operators_dialog\",\"app/pages/search/home\",\"app/ui/advanced_search\",\"app/pages/search/advanced\",\"app/pages/search/users\",],\n        \"$bundle/vitonboarding.bc3a6ee0b7d3407a82a383148a420a678f6925af.js\": [\"$lib/jquery.hashchange.js\",\"app/ui/vit/verification_step\",\"app/ui/vit/mobile_topbar\",\"app/pages/vit/onboarding\",],\n        \"$bundle/mobile_gallery.db430b6898f0144b313838368d3e6edcee89eb6f.js\": [\"app/ui/dialogs/mobile_gallery_download_dialog\",\"app/ui/mobile_gallery/gallery_buttons\",\"app/ui/forms/mobile_gallery_email_form\",\"app/data/mobile_gallery/send_download_link\",\"app/pages/mobile_gallery/gallery\",\"app/pages/mobile_gallery/apps\",\"app/ui/mobile_gallery/firefox_tweet_button\",\"app/pages/mobile_gallery/firefox\",\"app/data/mobile_gallery/download_links_scribe\",\"app/pages/mobile_gallery/splash\",],\n        \"$bundle/signup_download.8c964a5fd99e25aca3f0844968e0379e4a42ed59.js\": [\"app/ui/signup_download/next_and_skip_buttons\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup_download/download\",\"app/ui/signup_download/signup_phone_verify_form\",\"app/pages/signup_download/verify\",],\n        \"$bundle/welcome.0a6e0a3608c754e79a2a771e71faf0945c0627ad.js\": [\"app/data/welcome/invitations_scribe\",\"app/data/welcome/welcome_cards_scribe\",\"app/data/welcome/flow_nav_scribe\",\"app/data/welcome/preview_stream\",\"app/ui/welcome/invite_dialog\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/header_progress\",\"app/ui/welcome/internal_link_disabler\",\"app/ui/welcome/learn_dashboard\",\"app/ui/welcome/learn_preview_timeline\",\"app/boot/welcome\",\"app/pages/welcome/import\",\"app/data/welcome/intro_scribe\",\"app/ui/welcome/flow_nav\",\"app/ui/welcome/intro_video\",\"app/ui/welcome/lifeline_device_follow_dialog\",\"app/pages/welcome/intro\",\"app/data/welcome/interests_picker_scribe\",\"app/ui/welcome/with_interests\",\"app/ui/welcome/custom_interest\",\"app/ui/welcome/interests_header_search\",\"app/ui/welcome/interests_picker\",\"app/data/welcome/welcome_data\",\"app/pages/welcome/interests\",\"app/data/welcome/users_cards\",\"app/ui/welcome/import_services_cards\",\"app/ui/welcome/with_card_scribe_context\",\"app/ui/welcome/with_more_results\",\"app/ui/welcome/with_welcome_search\",\"app/ui/welcome/users_cards\",\"app/pages/welcome/interests_category\",\"app/data/welcome/lifeline_scribe\",\"app/pages/welcome/lifeline\",\"app/boot/avatar_uploading\",\"app/ui/alert_banner\",\"app/ui/welcome/profile_flow_nav\",\"app/ui/welcome/profile_form\",\"app/pages/welcome/profile\",\"app/pages/welcome/recommendations\",],\n        \"$bundle/directory.5bb8717366f875004b902864cc429411910c67f8.js\": [\"app/ui/history_back\",\"app/pages/directory/directory\",],\n        \"$bundle/boomerang.ce977240704bc785401822f8d5486667b860593d.js\": [\"$lib/boomerang.js\",\"app/utils/boomerang_lib\",],\n        \"$bundle/sandbox.1a1d8d9e5b807e92548fba6d79824ebe5104b03a.js\": [\"$components/jquery/jquery.js\",\"$lib/easyXDM.js\",\"app/boot/sandbox\",],\n        \"$bundle/html2canvas.82a64ea2711e964e829140881de78438319774a0.js\": [\"$lib/html2canvas.js\",],\n        \"$bundle/loginverification.df7c4b2dab8741a44457d58bdd1fa779cc427199.js\": [\"app/ui/login_verification_form\",\"app/data/login_verification\",\"app/pages/login_verification_page\",]\n    };\n    define(\"components/flight/lib/utils\", [], function() {\n        var a = [], b = 100, c = {\n            isDomObj: function(a) {\n                return ((!!a.nodeType || ((a === window))));\n            },\n            toArray: function(b, c) {\n                return a.slice.call(b, c);\n            },\n            merge: function() {\n                var a = arguments.length, b = 0, c = new Array(((a + 1)));\n                for (; ((b < a)); b++) {\n                    c[((b + 1))] = arguments[b];\n                ;\n                };\n            ;\n                return ((((a === 0)) ? {\n                } : (c[0] = {\n                }, ((((c[((c.length - 1))] === !0)) && (c.pop(), c.unshift(!0)))), $.extend.apply(undefined, c))));\n            },\n            push: function(a, b, c) {\n                return ((a && Object.keys(((b || {\n                }))).forEach(function(d) {\n                    if (((a[d] && c))) {\n                        throw Error(((((\"utils.push attempted to overwrite '\" + d)) + \"' while running in protected mode\")));\n                    }\n                ;\n                ;\n                    ((((((typeof a[d] == \"object\")) && ((typeof b[d] == \"object\")))) ? this.push(a[d], b[d]) : a[d] = b[d]));\n                }, this))), a;\n            },\n            isEnumerable: function(a, b) {\n                return ((Object.keys(a).indexOf(b) > -1));\n            },\n            compose: function() {\n                var a = arguments;\n                return function() {\n                    var b = arguments;\n                    for (var c = ((a.length - 1)); ((c >= 0)); c--) {\n                        b = [a[c].apply(this, b),];\n                    ;\n                    };\n                ;\n                    return b[0];\n                };\n            },\n            uniqueArray: function(a) {\n                var b = {\n                }, c = [];\n                for (var d = 0, e = a.length; ((d < e)); ++d) {\n                    if (b.hasOwnProperty(a[d])) {\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(a[d]), b[a[d]] = 1;\n                };\n            ;\n                return c;\n            },\n            debounce: function(a, c, d) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var e, f;\n                return function() {\n                    var b = this, g = arguments, h = function() {\n                        e = null, ((d || (f = a.apply(b, g))));\n                    }, i = ((d && !e));\n                    return JSBNG__clearTimeout(e), e = JSBNG__setTimeout(h, c), ((i && (f = a.apply(b, g)))), f;\n                };\n            },\n            throttle: function(a, c) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var d, e, f, g, h, i, j = this.debounce(function() {\n                    h = g = !1;\n                }, c);\n                return function() {\n                    d = this, e = arguments;\n                    var b = function() {\n                        f = null, ((h && (i = a.apply(d, e)))), j();\n                    };\n                    return ((f || (f = JSBNG__setTimeout(b, c)))), ((g ? h = !0 : (g = !0, i = a.apply(d, e)))), j(), i;\n                };\n            },\n            countThen: function(a, b) {\n                return function() {\n                    if (!--a) {\n                        return b.apply(this, arguments);\n                    }\n                ;\n                ;\n                };\n            },\n            delegate: function(a) {\n                return function(b, c) {\n                    var d = $(b.target), e;\n                    Object.keys(a).forEach(function(f) {\n                        if ((e = d.closest(f)).length) {\n                            return c = ((c || {\n                            })), c.el = e[0], a[f].apply(this, [b,c,]);\n                        }\n                    ;\n                    ;\n                    }, this);\n                };\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/registry\", [\"./utils\",], function(a) {\n        function b(a, b) {\n            var c, d, e, f = b.length;\n            return ((((typeof b[((f - 1))] == \"function\")) && (f -= 1, e = b[f]))), ((((typeof b[((f - 1))] == \"object\")) && (f -= 1))), ((((f == 2)) ? (c = b[0], d = b[1]) : (c = a.node, d = b[0]))), {\n                element: c,\n                type: d,\n                callback: e\n            };\n        };\n    ;\n        function c(a, b) {\n            return ((((((a.element == b.element)) && ((a.type == b.type)))) && ((((b.callback == null)) || ((a.callback == b.callback))))));\n        };\n    ;\n        function d() {\n            function d(b) {\n                this.component = b, this.attachedTo = [], this.instances = {\n                }, this.addInstance = function(a) {\n                    var b = new e(a);\n                    return this.instances[a.identity] = b, this.attachedTo.push(a.node), b;\n                }, this.removeInstance = function(b) {\n                    delete this.instances[b.identity];\n                    var c = this.attachedTo.indexOf(b.node);\n                    ((((c > -1)) && this.attachedTo.splice(c, 1))), ((Object.keys(this.instances).length || a.removeComponentInfo(this)));\n                }, this.isAttachedTo = function(a) {\n                    return ((this.attachedTo.indexOf(a) > -1));\n                };\n            };\n        ;\n            function e(b) {\n                this.instance = b, this.events = [], this.addBind = function(b) {\n                    this.events.push(b), a.events.push(b);\n                }, this.removeBind = function(a) {\n                    for (var b = 0, d; d = this.events[b]; b++) {\n                        ((c(d, a) && this.events.splice(b, 1)));\n                    ;\n                    };\n                ;\n                };\n            };\n        ;\n            var a = this;\n            (this.reset = function() {\n                this.components = [], this.allInstances = {\n                }, this.events = [];\n            }).call(this), this.addInstance = function(a) {\n                var b = this.findComponentInfo(a);\n                ((b || (b = new d(a.constructor), this.components.push(b))));\n                var c = b.addInstance(a);\n                return this.allInstances[a.identity] = c, b;\n            }, this.removeInstance = function(a) {\n                var b, c = this.findInstanceInfo(a), d = this.findComponentInfo(a);\n                ((d && d.removeInstance(a))), delete this.allInstances[a.identity];\n            }, this.removeComponentInfo = function(a) {\n                var b = this.components.indexOf(a);\n                ((((b > -1)) && this.components.splice(b, 1)));\n            }, this.findComponentInfo = function(a) {\n                var b = ((a.attachTo ? a : a.constructor));\n                for (var c = 0, d; d = this.components[c]; c++) {\n                    if (((d.component === b))) {\n                        return d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.findInstanceInfo = function(a) {\n                return ((this.allInstances[a.identity] || null));\n            }, this.findInstanceInfoByNode = function(a) {\n                var b = [];\n                return Object.keys(this.allInstances).forEach(function(c) {\n                    var d = this.allInstances[c];\n                    ((((d.instance.node === a)) && b.push(d)));\n                }, this), b;\n            }, this.JSBNG__on = function(c) {\n                var d = a.findInstanceInfo(this), e, f = arguments.length, g = 1, h = new Array(((f - 1)));\n                for (; ((g < f)); g++) {\n                    h[((g - 1))] = arguments[g];\n                ;\n                };\n            ;\n                if (d) {\n                    e = c.apply(null, h), ((e && (h[((h.length - 1))] = e)));\n                    var i = b(this, h);\n                    d.addBind(i);\n                }\n            ;\n            ;\n            }, this.off = function(d, e, f) {\n                var g = b(this, arguments), h = a.findInstanceInfo(this);\n                ((h && h.removeBind(g)));\n                for (var i = 0, j; j = a.events[i]; i++) {\n                    ((c(j, g) && a.events.splice(i, 1)));\n                ;\n                };\n            ;\n            }, a.trigger = new Function, this.teardown = function() {\n                a.removeInstance(this);\n            }, this.withRegistration = function() {\n                this.before(\"initialize\", function() {\n                    a.addInstance(this);\n                }), this.around(\"JSBNG__on\", a.JSBNG__on), this.after(\"off\", a.off), ((((window.DEBUG && DEBUG.enabled)) && this.after(\"trigger\", a.trigger))), this.after(\"teardown\", {\n                    obj: a,\n                    fnName: \"teardown\"\n                });\n            };\n        };\n    ;\n        return new d;\n    });\n    define(\"components/flight/tools/debug/debug\", [\"../../lib/registry\",\"../../lib/utils\",], function(a, b) {\n        function d(a, b, c) {\n            var c = ((c || {\n            })), e = ((c.obj || window)), g = ((c.path || ((((e == window)) ? \"window\" : \"\")))), h = Object.keys(e);\n            h.forEach(function(c) {\n                ((((f[a] || a))(b, e, c) && JSBNG__console.log([g,\".\",c,].join(\"\"), \"-\\u003E\", [\"(\",typeof e[c],\")\",].join(\"\"), e[c]))), ((((((((Object.prototype.toString.call(e[c]) == \"[object Object]\")) && ((e[c] != e)))) && ((g.split(\".\").indexOf(c) == -1)))) && d(a, b, {\n                    obj: e[c],\n                    path: [g,c,].join(\".\")\n                })));\n            });\n        };\n    ;\n        function e(a, b, c, e) {\n            ((((!b || ((typeof c == b)))) ? d(a, c, e) : JSBNG__console.error([c,\"must be\",b,].join(\" \"))));\n        };\n    ;\n        function g(a, b) {\n            e(\"JSBNG__name\", \"string\", a, b);\n        };\n    ;\n        function h(a, b) {\n            e(\"nameContains\", \"string\", a, b);\n        };\n    ;\n        function i(a, b) {\n            e(\"type\", \"function\", a, b);\n        };\n    ;\n        function j(a, b) {\n            e(\"value\", null, a, b);\n        };\n    ;\n        function k(a, b) {\n            e(\"valueCoerced\", null, a, b);\n        };\n    ;\n        function l(a, b) {\n            d(a, null, b);\n        };\n    ;\n        function p() {\n            var a = [].slice.call(arguments);\n            ((c.eventNames.length || (c.eventNames = m))), c.actions = ((a.length ? a : m)), t();\n        };\n    ;\n        function q() {\n            var a = [].slice.call(arguments);\n            ((c.actions.length || (c.actions = m))), c.eventNames = ((a.length ? a : m)), t();\n        };\n    ;\n        function r() {\n            c.actions = [], c.eventNames = [], t();\n        };\n    ;\n        function s() {\n            c.actions = m, c.eventNames = m, t();\n        };\n    ;\n        function t() {\n            ((window.JSBNG__localStorage && (JSBNG__localStorage.setItem(\"logFilter_eventNames\", c.eventNames), JSBNG__localStorage.setItem(\"logFilter_actions\", c.actions))));\n        };\n    ;\n        function u() {\n            var a = {\n                eventNames: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_eventNames\"))) || n)),\n                actions: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_actions\"))) || o))\n            };\n            return Object.keys(a).forEach(function(b) {\n                var c = a[b];\n                ((((((typeof c == \"string\")) && ((c !== m)))) && (a[b] = c.split(\",\"))));\n            }), a;\n        };\n    ;\n        var c, f = {\n            JSBNG__name: function(a, b, c) {\n                return ((a == c));\n            },\n            nameContains: function(a, b, c) {\n                return ((c.indexOf(a) > -1));\n            },\n            type: function(a, b, c) {\n                return ((b[c] instanceof a));\n            },\n            value: function(a, b, c) {\n                return ((b[c] === a));\n            },\n            valueCoerced: function(a, b, c) {\n                return ((b[c] == a));\n            }\n        }, m = \"all\", n = [], o = [], c = u();\n        return {\n            enable: function(a) {\n                this.enabled = !!a, ((((a && window.JSBNG__console)) && (JSBNG__console.info(\"Booting in DEBUG mode\"), JSBNG__console.info(\"You can configure event logging with DEBUG.events.logAll()/logNone()/logByName()/logByAction()\")))), window.DEBUG = this;\n            },\n            JSBNG__find: {\n                byName: g,\n                byNameContains: h,\n                byType: i,\n                byValue: j,\n                byValueCoerced: k,\n                custom: l\n            },\n            events: {\n                logFilter: c,\n                logByAction: p,\n                logByName: q,\n                logAll: s,\n                logNone: r\n            }\n        };\n    });\n    define(\"components/flight/lib/compose\", [\"./utils\",\"../tools/debug/debug\",], function(a, b) {\n        function f(a, b) {\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            var e = Object.create(null);\n            Object.keys(a).forEach(function(c) {\n                if (((d.indexOf(c) < 0))) {\n                    var f = Object.getOwnPropertyDescriptor(a, c);\n                    f.writable = b, e[c] = f;\n                }\n            ;\n            ;\n            }), Object.defineProperties(a, e);\n        };\n    ;\n        function g(a, b, d) {\n            var e;\n            if (((!c || !a.hasOwnProperty(b)))) {\n                d.call(a);\n                return;\n            }\n        ;\n        ;\n            e = Object.getOwnPropertyDescriptor(a, b).writable, Object.defineProperty(a, b, {\n                writable: !0\n            }), d.call(a), Object.defineProperty(a, b, {\n                writable: e\n            });\n        };\n    ;\n        function h(a, b) {\n            a.mixedIn = ((a.hasOwnProperty(\"mixedIn\") ? a.mixedIn : [])), b.forEach(function(b) {\n                ((((a.mixedIn.indexOf(b) == -1)) && (f(a, !1), b.call(a), a.mixedIn.push(b))));\n            }), f(a, !0);\n        };\n    ;\n        var c = ((b.enabled && !a.isEnumerable(Object, \"getOwnPropertyDescriptor\"))), d = [\"mixedIn\",];\n        if (c) {\n            try {\n                Object.getOwnPropertyDescriptor(Object, \"keys\");\n            } catch (e) {\n                c = !1;\n            };\n        }\n    ;\n    ;\n        return {\n            mixin: h,\n            unlockProperty: g\n        };\n    });\n    define(\"components/flight/lib/advice\", [\"./utils\",\"./compose\",], function(a, b) {\n        var c = {\n            around: function(a, b) {\n                return function() {\n                    var d = 0, e = arguments.length, f = new Array(((e + 1)));\n                    f[0] = a.bind(this);\n                    for (; ((d < e)); d++) {\n                        f[((d + 1))] = arguments[d];\n                    ;\n                    };\n                ;\n                    return b.apply(this, f);\n                };\n            },\n            before: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    return c.apply(this, arguments), a.apply(this, arguments);\n                };\n            },\n            after: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    var d = ((a.unbound || a)).apply(this, arguments);\n                    return c.apply(this, arguments), d;\n                };\n            },\n            withAdvice: function() {\n                [\"before\",\"after\",\"around\",].forEach(function(a) {\n                    this[a] = function(d, e) {\n                        b.unlockProperty(this, d, function() {\n                            return ((((typeof this[d] == \"function\")) ? this[d] = c[a](this[d], e) : this[d] = e));\n                        });\n                    };\n                }, this);\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/logger\", [\"./compose\",\"./utils\",], function(a, b) {\n        function d(a) {\n            var b = ((a.tagName ? a.tagName.toLowerCase() : a.toString())), c = ((a.className ? ((\".\" + a.className)) : \"\")), d = ((b + c));\n            return ((a.tagName ? [\"'\",\"'\",].join(d) : d));\n        };\n    ;\n        function e(a, b, e) {\n            var f, g, h, i, j, k, l, m;\n            ((((typeof e[((e.length - 1))] == \"function\")) && (h = e.pop(), h = ((h.unbound || h))))), ((((typeof e[((e.length - 1))] == \"object\")) && e.pop())), ((((e.length == 2)) ? (g = e[0], f = e[1]) : (g = b.$node[0], f = e[0]))), ((((window.DEBUG && window.DEBUG.enabled)) && (j = DEBUG.events.logFilter, l = ((((j.actions == \"all\")) || ((j.actions.indexOf(a) > -1)))), k = function(a) {\n                return ((a.test ? a : new RegExp(((((\"^\" + a.replace(/\\*/g, \".*\"))) + \"$\")))));\n            }, m = ((((j.eventNames == \"all\")) || j.eventNames.some(function(a) {\n                return k(a).test(f);\n            }))), ((((l && m)) && JSBNG__console.info(c[a], a, ((((\"[\" + f)) + \"]\")), d(g), b.constructor.describe.split(\" \").slice(0, 3).join(\" \")))))));\n        };\n    ;\n        function f() {\n            this.before(\"trigger\", function() {\n                e(\"trigger\", this, b.toArray(arguments));\n            }), this.before(\"JSBNG__on\", function() {\n                e(\"JSBNG__on\", this, b.toArray(arguments));\n            }), this.before(\"off\", function(a) {\n                e(\"off\", this, b.toArray(arguments));\n            });\n        };\n    ;\n        var c = {\n            JSBNG__on: \"\\u003C-\",\n            trigger: \"-\\u003E\",\n            off: \"x \"\n        };\n        return f;\n    });\n    define(\"components/flight/lib/component\", [\"./advice\",\"./utils\",\"./compose\",\"./registry\",\"./logger\",\"../tools/debug/debug\",], function(a, b, c, d, e, f) {\n        function i(a) {\n            a.events.slice().forEach(function(a) {\n                var b = [a.type,];\n                ((a.element && b.unshift(a.element))), ((((typeof a.callback == \"function\")) && b.push(a.callback))), this.off.apply(this, b);\n            }, a.instance);\n        };\n    ;\n        function j() {\n            i(d.findInstanceInfo(this));\n        };\n    ;\n        function k() {\n            var a = d.findComponentInfo(this);\n            ((a && Object.keys(a.instances).forEach(function(b) {\n                var c = a.instances[b];\n                c.instance.teardown();\n            })));\n        };\n    ;\n        function l(a, b) {\n            try {\n                window.JSBNG__postMessage(b, \"*\");\n            } catch (c) {\n                throw JSBNG__console.log(\"unserializable data for event\", a, \":\", b), new Error([\"The event\",a,\"on component\",this.toString(),\"was triggered with non-serializable data\",].join(\" \"));\n            };\n        ;\n        };\n    ;\n        function m() {\n            this.trigger = function() {\n                var a, b, c, d, e, g = ((arguments.length - 1)), h = arguments[g];\n                return ((((((typeof h != \"string\")) && ((!h || !h.defaultBehavior)))) && (g--, c = h))), ((((g == 1)) ? (a = $(arguments[0]), d = arguments[1]) : (a = this.$node, d = arguments[0]))), ((d.defaultBehavior && (e = d.defaultBehavior, d = $.JSBNG__Event(d.type)))), b = ((d.type || d)), ((((f.enabled && window.JSBNG__postMessage)) && l.call(this, b, c))), ((((typeof this.attr.eventData == \"object\")) && (c = $.extend(!0, {\n                }, this.attr.eventData, c)))), a.trigger(((d || b)), c), ((((e && !d.isDefaultPrevented())) && ((this[e] || e)).call(this))), a;\n            }, this.JSBNG__on = function() {\n                var a, c, d, e, f = ((arguments.length - 1)), g = arguments[f];\n                ((((typeof g == \"object\")) ? e = b.delegate(this.resolveDelegateRules(g)) : e = g)), ((((f == 2)) ? (a = $(arguments[0]), c = arguments[1]) : (a = this.$node, c = arguments[0])));\n                if (((((typeof e != \"function\")) && ((typeof e != \"object\"))))) {\n                    throw new Error(((((\"Unable to bind to '\" + c)) + \"' because the given callback is not a function or an object\")));\n                }\n            ;\n            ;\n                return d = e.bind(this), d.target = e, ((e.guid && (d.guid = e.guid))), a.JSBNG__on(c, d), e.guid = d.guid, d;\n            }, this.off = function() {\n                var a, b, c, d = ((arguments.length - 1));\n                return ((((typeof arguments[d] == \"function\")) && (c = arguments[d], d -= 1))), ((((d == 1)) ? (a = $(arguments[0]), b = arguments[1]) : (a = this.$node, b = arguments[0]))), a.off(b, c);\n            }, this.resolveDelegateRules = function(a) {\n                var b = {\n                };\n                return Object.keys(a).forEach(function(c) {\n                    if (((!c in this.attr))) {\n                        throw new Error(((((((((\"Component \\\"\" + this.toString())) + \"\\\" wants to listen on \\\"\")) + c)) + \"\\\" but no such attribute was defined.\")));\n                    }\n                ;\n                ;\n                    b[this.attr[c]] = a[c];\n                }, this), b;\n            }, this.defaultAttrs = function(a) {\n                ((b.push(this.defaults, a, !0) || (this.defaults = a)));\n            }, this.select = function(a) {\n                return this.$node.JSBNG__find(this.attr[a]);\n            }, this.initialize = $.noop, this.teardown = j;\n        };\n    ;\n        function n(a) {\n            var c = arguments.length, e = new Array(((c - 1)));\n            for (var f = 1; ((f < c)); f++) {\n                e[((f - 1))] = arguments[f];\n            ;\n            };\n        ;\n            if (!a) {\n                throw new Error(\"Component needs to be attachTo'd a jQuery object, native node or selector string\");\n            }\n        ;\n        ;\n            var g = b.merge.apply(b, e);\n            $(a).each(function(a, b) {\n                var c = ((b.jQuery ? b[0] : b)), e = d.findComponentInfo(this);\n                if (((e && e.isAttachedTo(c)))) {\n                    return;\n                }\n            ;\n            ;\n                new this(b, g);\n            }.bind(this));\n        };\n    ;\n        function o() {\n            function l(a, b) {\n                b = ((b || {\n                })), this.identity = h++;\n                if (!a) {\n                    throw new Error(\"Component needs a node\");\n                }\n            ;\n            ;\n                ((a.jquery ? (this.node = a[0], this.$node = a) : (this.node = a, this.$node = $(a)))), this.toString = l.toString, ((f.enabled && (this.describe = this.toString())));\n                var c = Object.create(b);\n                {\n                    var fin48keys = ((window.top.JSBNG_Replay.forInKeys)((this.defaults))), fin48i = (0);\n                    var d;\n                    for (; (fin48i < fin48keys.length); (fin48i++)) {\n                        ((d) = (fin48keys[fin48i]));\n                        {\n                            ((b.hasOwnProperty(d) || (c[d] = this.defaults[d])));\n                        ;\n                        };\n                    };\n                };\n            ;\n                this.attr = c, this.initialize.call(this, b);\n            };\n        ;\n            var b = arguments.length, i = new Array(((b + 3)));\n            for (var j = 0; ((j < b)); j++) {\n                i[j] = arguments[j];\n            ;\n            };\n        ;\n            return l.toString = function() {\n                var a = i.map(function(a) {\n                    if (((a.JSBNG__name == null))) {\n                        var b = a.toString().match(g);\n                        return ((((b && b[1])) ? b[1] : \"\"));\n                    }\n                ;\n                ;\n                    return ((((a.JSBNG__name != \"withBaseComponent\")) ? a.JSBNG__name : \"\"));\n                }).filter(Boolean).join(\", \");\n                return a;\n            }, ((f.enabled && (l.describe = l.toString()))), l.attachTo = n, l.teardownAll = k, ((f.enabled && i.unshift(e))), i.unshift(m, a.withAdvice, d.withRegistration), c.mixin(l.prototype, i), l;\n        };\n    ;\n        var g = /function (.*?)\\s?\\(/, h = 0;\n        return o.teardownAll = function() {\n            d.components.slice().forEach(function(a) {\n                a.component.teardownAll();\n            }), d.reset();\n        }, o;\n    });\n    define(\"core/component\", [\"module\",\"require\",\"exports\",\"components/flight/lib/component\",], function(module, require, exports) {\n        var flightComponent = require(\"components/flight/lib/component\");\n        module.exports = flightComponent;\n    });\n    define(\"core/registry\", [\"module\",\"require\",\"exports\",\"components/flight/lib/registry\",], function(module, require, exports) {\n        var flightRegistry = require(\"components/flight/lib/registry\");\n        module.exports = flightRegistry;\n    });\n    provide(\"core/clock\", function(a) {\n        using(\"core/component\", \"core/registry\", function(b, c) {\n            function h() {\n            \n            };\n        ;\n            function i() {\n                this.timers = [], this.clockComponent = function() {\n                    if (((!this.currentClock || !c.findInstanceInfo(this.currentClock)))) {\n                        this.reset(), this.currentClock = new d(JSBNG__document);\n                    }\n                ;\n                ;\n                    return this.currentClock;\n                }, this.trigger = function(a, b) {\n                    this.clockComponent().trigger(a, b);\n                }, this.reset = function() {\n                    this.timers = [];\n                }, this.tick = function() {\n                    this.timers.forEach(function(a) {\n                        a.tick(f);\n                    });\n                }, this.setTicker = function() {\n                    this.pause(), this.ticker = window.JSBNG__setInterval(this.tick.bind(this), f);\n                }, this.init = function() {\n                    this.clockComponent(), ((this.ticker || this.setTicker()));\n                }, this.clear = function(a) {\n                    ((a && this.timers.splice(this.timers.indexOf(a), 1)));\n                }, this.setTimeoutEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setTimeoutEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new k(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearTimeout = function(a) {\n                    ((((a instanceof k)) && this.clear(a)));\n                }, this.setIntervalEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setIntervalEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new m(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearInterval = function(a) {\n                    ((((a instanceof m)) && this.clear(a)));\n                }, this.resume = this.restart = this.setTicker, this.pause = function(a, b) {\n                    JSBNG__clearInterval(((this.ticker || 0)));\n                };\n            };\n        ;\n            function j() {\n                this.callback = function() {\n                    e.trigger(this.eventName, this.data);\n                }, this.clear = function() {\n                    e.clear(this);\n                }, this.pause = function() {\n                    this.paused = !0;\n                }, this.resume = function() {\n                    this.paused = !1;\n                }, this.tickUnlessPaused = this.tick, this.tick = function() {\n                    if (this.paused) {\n                        return;\n                    }\n                ;\n                ;\n                    this.tickUnlessPaused.apply(this, arguments);\n                };\n            };\n        ;\n            function k(a, b, c) {\n                this.countdown = b, this.eventName = a, this.data = c;\n            };\n        ;\n            function m(a, b, c) {\n                this.countdown = this.interval = this.maxInterval = this.initialInterval = b, this.backoffFactor = g, this.eventName = a, this.data = c;\n            };\n        ;\n            var d = b(h), e = new i, f = 1000, g = 2, l = function() {\n                this.tick = function(a) {\n                    this.countdown -= a, ((((this.countdown <= 0)) && (this.clear(), this.callback())));\n                };\n            };\n            l.call(k.prototype), j.call(k.prototype);\n            var n = function() {\n                this.tick = function(a) {\n                    this.countdown -= a;\n                    if (((this.countdown <= 0))) {\n                        this.callback();\n                        if (((this.interval < this.maxInterval))) {\n                            var b = ((Math.ceil(((((this.interval * this.backoffFactor)) / f))) * f));\n                            this.interval = Math.min(b, this.maxInterval);\n                        }\n                    ;\n                    ;\n                        this.countdown = this.interval;\n                    }\n                ;\n                ;\n                }, this.backoff = function(a, b) {\n                    this.maxInterval = a, this.backoffFactor = ((b || g)), ((((this.interval > this.maxInterval)) && (this.interval = a)));\n                }, this.cancelBackoff = function() {\n                    this.interval = this.maxInterval = this.initialInterval, this.countdown = Math.min(this.countdown, this.interval), this.resume();\n                };\n            };\n            n.call(m.prototype), j.call(m.prototype), a(e);\n        });\n    });\n    define(\"core/compose\", [\"module\",\"require\",\"exports\",\"components/flight/lib/compose\",], function(module, require, exports) {\n        var flightCompose = require(\"components/flight/lib/compose\");\n        module.exports = flightCompose;\n    });\n    define(\"core/advice\", [\"module\",\"require\",\"exports\",\"components/flight/lib/advice\",], function(module, require, exports) {\n        var flightAdvice = require(\"components/flight/lib/advice\");\n        module.exports = flightAdvice;\n    });\n    provide(\"core/parameterize\", function(a) {\n        function c(a, c, d) {\n            return ((c ? a.replace(b, function(a, b) {\n                if (b) {\n                    if (c[b]) {\n                        return c[b];\n                    }\n                ;\n                ;\n                    if (d) {\n                        throw new Error(((\"Cannot parameterize string, no replacement found for \" + b)));\n                    }\n                ;\n                ;\n                    return \"\";\n                }\n            ;\n            ;\n                return a;\n            }) : a));\n        };\n    ;\n        var b = /\\{\\{(.+?)\\}\\}/g;\n        a(c);\n    });\n    provide(\"core/i18n\", function(a) {\n        using(\"core/parameterize\", function(b) {\n            a(b);\n        });\n    });\n    define(\"core/logger\", [\"module\",\"require\",\"exports\",\"components/flight/lib/logger\",], function(module, require, exports) {\n        var flightLogger = require(\"components/flight/lib/logger\");\n        module.exports = flightLogger;\n    });\n    define(\"core/utils\", [\"module\",\"require\",\"exports\",\"components/flight/lib/utils\",], function(module, require, exports) {\n        var flightUtils = require(\"components/flight/lib/utils\");\n        module.exports = flightUtils;\n    });\n    define(\"debug/debug\", [\"module\",\"require\",\"exports\",\"components/flight/tools/debug/debug\",], function(module, require, exports) {\n        var flightDebug = require(\"components/flight/tools/debug/debug\");\n        module.exports = flightDebug;\n    });\n    provide(\"app/utils/auth_token\", function(a) {\n        var b;\n        a({\n            get: function() {\n                if (!b) {\n                    throw new Error(\"authToken should have been set!\");\n                }\n            ;\n            ;\n                return b;\n            },\n            set: function(a) {\n                b = a;\n            },\n            addTo: function(a, c) {\n                return a.authenticity_token = b, ((c && (a.post_authenticity_token = b))), a;\n            }\n        });\n    });\n    define(\"app/data/scribe_transport\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScribeTransport(a) {\n            this.SESSION_BUFFER_KEY = \"ScribeTransport\", this.SCRIBE_API_ENDPOINT = \"/i/jot\", this.options = {\n            }, ((a && (this.updateOptions(a), this.registerEventHandlers(a))));\n        };\n    ;\n        ScribeTransport.prototype = {\n            flush: function(a, b) {\n                if (((!a || !a.length))) {\n                    return;\n                }\n            ;\n            ;\n                ((((b === undefined)) && (b = !!this.options.sync)));\n                if (this.options.useAjax) {\n                    var c = {\n                        url: this.options.url,\n                        data: $.extend(this.ajaxParams(a), this.options.requestParameters),\n                        type: \"POST\",\n                        dataType: \"json\",\n                        async: !b\n                    };\n                    ((this.options.debug && (((this.options.debugHandler && (c.success = this.options.debugHandler))), c.data.debug = \"1\"))), $.ajax(c);\n                }\n                 else {\n                    var d = ((this.options.debug ? \"&debug=1\" : \"\"));\n                    (new JSBNG__Image).src = ((((((((((this.options.url + \"?q=\")) + (+(new JSBNG__Date)).toString().slice(-4))) + d)) + \"&\")) + this.imageParams(a)));\n                }\n            ;\n            ;\n                this.reset();\n            },\n            ajaxParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return {\n                        log: ((((\"[\" + a)) + \"]\"))\n                    };\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : {\n                    log: JSON.stringify(a)\n                }));\n            },\n            imageParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return ((((\"log=%5B\" + a)) + \"%5D\"));\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : ((\"log=\" + encodeURIComponent(JSON.stringify(a))))));\n            },\n            reset: function() {\n                ((this.options.bufferEvents && (this.skipUnloadFlush = !1, JSBNG__sessionStorage.removeItem(this.options.bufferKey))));\n            },\n            getBuffer: function() {\n                return ((JSBNG__sessionStorage.getItem(this.options.bufferKey) || \"\"));\n            },\n            send: function(a, b, c) {\n                if (((((!b || !a)) || ((this.options.bufferSize < 0))))) {\n                    return;\n                }\n            ;\n            ;\n                a._category_ = b;\n                if (((((c || !this.options.bufferEvents)) || !this.options.bufferSize))) this.flush([a,], c);\n                 else {\n                    var d = JSON.stringify(a);\n                    ((this.options.useAjax || (d = encodeURIComponent(d))));\n                    var e = this.getBuffer(), f = ((e + ((e ? ((this.SEPARATOR + d)) : d))));\n                    ((((this.options.bufferSize && this.fullBuffer(f))) ? ((this.options.useAjax ? this.flush(f) : (this.flush(e), JSBNG__sessionStorage.setItem(this.options.bufferKey, d)))) : JSBNG__sessionStorage.setItem(this.options.bufferKey, f)));\n                }\n            ;\n            ;\n                ((this.options.debug && $(JSBNG__document).trigger(((\"scribedata.\" + this.options.bufferKey)), a))), ((((this.options.metrics && ((a.event_info != \"debug\")))) && $(JSBNG__document).trigger(\"debugscribe\", a)));\n            },\n            fullBuffer: function(a) {\n                return ((a.length >= ((this.options.useAjax ? ((this.options.bufferSize * 2083)) : ((2050 - this.options.url.length))))));\n            },\n            updateOptions: function(a) {\n                this.options = $.extend({\n                }, this.options, a), ((this.options.requestParameters || (this.options.requestParameters = {\n                }))), ((((this.options.flushOnUnload === undefined)) && (this.options.flushOnUnload = !0))), ((this.options.bufferKey || (this.options.bufferKey = this.SESSION_BUFFER_KEY))), ((((this.options.bufferSize === 0)) && (this.options.bufferEvents = !1))), ((((this.options.useAjax === undefined)) && (this.options.useAjax = !0)));\n                if (((this.options.bufferEvents || ((this.options.bufferEvents == undefined))))) {\n                    try {\n                        JSBNG__sessionStorage.setItem(((this.SESSION_BUFFER_KEY + \".init\")), \"test\");\n                        var b = ((JSBNG__sessionStorage.getItem(((this.SESSION_BUFFER_KEY + \".init\"))) == \"test\"));\n                        JSBNG__sessionStorage.removeItem(((this.SESSION_BUFFER_KEY + \".init\"))), this.options.bufferEvents = b;\n                    } catch (c) {\n                        this.options.bufferEvents = !1;\n                    };\n                }\n            ;\n            ;\n                if (((this.options.debug && !this.options.debugHandler))) {\n                    var d = this;\n                    this.options.debugHandler = ((a.debugHandler || function(a) {\n                        $(JSBNG__document).trigger(((\"handlescribe.\" + d.options.bufferKey)), a);\n                    }));\n                }\n            ;\n            ;\n                var e = ((((window.JSBNG__location.protocol === \"https:\")) ? \"https:\" : \"http:\"));\n                ((((this.options.url === undefined)) ? ((this.options.useAjax ? this.options.url = this.SCRIBE_API_ENDPOINT : this.options.url = ((\"https://twitter.com\" + this.SCRIBE_API_ENDPOINT)))) : this.options.url = this.options.url.replace(/^[a-z]+:/g, e).replace(/\\/$/, \"\"))), ((((this.options.bufferEvents && ((this.options.bufferSize === undefined)))) && (this.options.bufferSize = 20)));\n            },\n            appHost: function() {\n                return window.JSBNG__location.host;\n            },\n            registerEventHandlers: function() {\n                var a = this, b = $(JSBNG__document);\n                if (this.options.bufferEvents) {\n                    b.JSBNG__on(((\"flushscribe.\" + a.options.bufferKey)), function(b) {\n                        a.flush(a.getBuffer(), !0);\n                    });\n                    if (this.options.flushOnUnload) {\n                        var c = function(b) {\n                            a.skipUnloadFlush = ((((!b || !b.match(/http/))) || !!b.match(new RegExp(((\"^https?://\" + a.appHost())), \"gi\")))), ((a.skipUnloadFlush && window.JSBNG__setTimeout(function() {\n                                a.skipUnloadFlush = !1;\n                            }, 3000)));\n                        };\n                        b.JSBNG__on(((\"mouseup.\" + this.options.bufferKey)), \"a\", function(a) {\n                            if (((((((((((this.getAttribute(\"target\") || a.button)) || a.metaKey)) || a.shiftKey)) || a.altKey)) || a.ctrlKey))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            c(this.getAttribute(\"href\"));\n                        }), b.JSBNG__on(((\"submit.\" + this.options.bufferKey)), \"form\", function(a) {\n                            c(this.getAttribute(\"action\"));\n                        }), b.JSBNG__on(((\"uiNavigate.\" + this.options.bufferKey)), function(a, b) {\n                            c(b.url);\n                        }), $(window).JSBNG__on(((\"unload.\" + this.options.bufferKey)), function() {\n                            ((a.skipUnloadFlush || a.flush(a.getBuffer(), !0))), a.skipUnloadFlush = !1;\n                        });\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                this.SEPARATOR = ((this.options.useAjax ? \",\" : encodeURIComponent(\",\")));\n            },\n            destroy: function() {\n                this.flush(this.getBuffer()), $(JSBNG__document).off(((\"flushscribe.\" + this.options.bufferKey))), $(window).off(((\"unload.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"mouseup.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"submit.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"uiNavigate.\" + this.options.bufferKey)));\n            }\n        }, module.exports = new ScribeTransport;\n    });\n    define(\"app/data/scribe_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function scribeMonitor() {\n            function a(a) {\n                if (((window.scribeConsole && window.scribeConsole.JSBNG__postMessage))) {\n                    var b = ((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host));\n                    try {\n                        window.scribeConsole.JSBNG__postMessage(a, b);\n                    } catch (c) {\n                        var d = ((((\"ScribeMonitor.postToConsole - Scribe Console error or unserializable data [\" + a._category_)) + \"]\"));\n                        JSBNG__console.error(d, a);\n                    };\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            this.verifyHost = function(a) {\n                return ((a && a.match(/^(staging[0-9]+\\.[^\\.]+\\.twitter.com|twitter\\.com|localhost\\.twitter\\.com)(\\:[0-9]+)?$/)));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"keypress\", function(a) {\n                    if (((((((a.charCode == 205)) && a.shiftKey)) && a.altKey))) {\n                        var b = \"menubar=no,toolbar=no,personalbar=no,location=no,resizable=yes,status=no,dependent=yes,height=600,width=600,screenX=100,screenY=100,scrollbars=yes\", c = window.JSBNG__location.host;\n                        ((this.verifyHost(c) || (c = \"twitter.com\"))), window.scribeConsole = window.open(((((((window.JSBNG__location.protocol + \"//\")) + c)) + \"/scribe/console\")), \"scribe_console\", b);\n                    }\n                ;\n                ;\n                }), this.JSBNG__on(\"scribedata.ScribeTransport handlescribe.ScribeTransport\", function(b, c) {\n                    a(c);\n                }), ((this.attr.scribesForScribeConsole && this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function(b, c) {\n                    ((((((b.type == \"uiSwiftLoaded\")) || !c.fromCache)) && this.attr.scribesForScribeConsole.forEach(function(b) {\n                        b._category_ = \"client_event\", a(b);\n                    })));\n                })));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(scribeMonitor);\n    });\n    define(\"app/data/client_event\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ClientEvent(a) {\n            this.scribeContext = {\n            }, this.scribeData = {\n            }, this.scribe = function(b, c) {\n                var d = ((a || window.scribeTransport));\n                if (!d) {\n                    throw new Error(\"You must create a global scribeTransport variable or pass one into this constructor.\");\n                }\n            ;\n            ;\n                if (((((!b || ((typeof b != \"object\")))) || ((c && ((typeof c != \"object\"))))))) {\n                    throw new Error(\"Invalid terms or data hash argument when calling ClientEvent.scribe().\");\n                }\n            ;\n            ;\n                if (this.scribeContext) {\n                    var e = ((((typeof this.scribeContext == \"function\")) ? this.scribeContext() : this.scribeContext));\n                    b = $.extend({\n                    }, e, b);\n                }\n            ;\n            ;\n                {\n                    var fin49keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin49i = (0);\n                    var f;\n                    for (; (fin49i < fin49keys.length); (fin49i++)) {\n                        ((f) = (fin49keys[fin49i]));\n                        {\n                            b[f] = ((b[f] && ((\"\" + b[f])).toLowerCase().replace(/_?[^a-z0-9_]+_?/g, \"_\")));\n                        ;\n                        };\n                    };\n                };\n            ;\n                ((d.options.debug && $.each([\"client\",\"action\",], function(a, c) {\n                    if (!b[c]) {\n                        throw new Error(((((\"You must specify a \" + c)) + \" term in your client_event.\")));\n                    }\n                ;\n                ;\n                })));\n                var c = $.extend({\n                }, c);\n                if (this.scribeData) {\n                    var g = ((((typeof this.scribeData == \"function\")) ? this.scribeData() : this.scribeData));\n                    c = $.extend({\n                    }, g, c);\n                }\n            ;\n            ;\n                c.event_namespace = b, c.triggered_on = ((c.triggered_on || +(new JSBNG__Date))), c.format_version = ((c.format_version || 2)), d.send(c, \"client_event\");\n            };\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = new ClientEvent(scribeTransport);\n    });\n    define(\"app/data/ddg\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",], function(module, require, exports) {\n        function DDG(a, b) {\n            this.experiments = ((a || {\n            })), this.impressions = {\n            }, this.scribeExperiment = function(a, c, d) {\n                var e = $.extend({\n                    page: \"ddg\",\n                    section: a.experiment_key,\n                    component: \"\",\n                    element: \"\"\n                }, c);\n                d = ((d || {\n                })), d.experiment_key = a.experiment_key, d.bucket = a.bucket, d.version = a.version, ((b || window.clientEvent)).scribe(e, d);\n            }, this.impression = function(a) {\n                var b = this.experiments[a];\n                ((b && (a = b.experiment_key, ((this.impressions[a] || (this.scribeExperiment(b, {\n                    action: \"experiment\"\n                }), this.impressions[a] = !0))))));\n            }, this.track = function(a, b, c) {\n                if (!b) {\n                    throw new Error(\"You must specify an event name to track custom DDG events. Event names should be lower-case, snake_cased strings.\");\n                }\n            ;\n            ;\n                var d = this.experiments[a];\n                ((d && this.scribeExperiment(d, {\n                    element: b,\n                    action: \"track\"\n                }, c)));\n            }, this.bucket = function(a) {\n                var b = this.experiments[a];\n                return ((b ? b.bucket : \"\"));\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\");\n        module.exports = new DDG({\n        }, clientEvent);\n    });\n    define(\"app/utils/scribe_association_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            associatedTweet: 1,\n            platformCardPublisher: 2,\n            platformCardCreator: 3,\n            conversationOrigin: 4,\n            associatedUser: 5,\n            associatedTimeline: 6\n        };\n    });\n    define(\"app/data/with_scribe\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withScribe() {\n            function a(a) {\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                a = ((a.sourceEventData ? a.sourceEventData : a));\n                if (((a.scribeContext || a.scribeData))) {\n                    return a;\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribe = function() {\n                var b = Array.prototype.slice.call(arguments), c, d, e, f, g;\n                c = ((((typeof b[0] == \"string\")) ? {\n                    action: b[0]\n                } : b[0])), b.shift();\n                if (b[0]) {\n                    e = b[0], ((e.sourceEventData && (e = e.sourceEventData)));\n                    if (((e.scribeContext || e.scribeData))) {\n                        f = e.scribeContext, g = e.scribeData;\n                    }\n                ;\n                ;\n                    ((((((((b[0].scribeContext || b[0].scribeData)) || b[0].sourceEventData)) || ((b.length === 2)))) && b.shift()));\n                }\n            ;\n            ;\n                c = utils.merge({\n                }, f, c), d = ((((typeof b[0] == \"function\")) ? b[0].bind(this)(e) : b[0])), d = utils.merge({\n                }, g, d), this.transport(c, d);\n            }, this.scribeOnEvent = function(b, c, d) {\n                this.JSBNG__on(b, function(a, b) {\n                    b = ((b || {\n                    })), this.scribe(c, ((b.sourceEventData || b)), d);\n                });\n            }, this.transport = function(b, c) {\n                clientEvent.scribe(b, c);\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withScribe;\n    });\n    define(\"app/utils/with_session\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withSession() {\n            this.setSessionItem = function(a, b) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.setItem(a, b)));\n            }, this.removeSessionItem = function(a) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.removeItem(a)));\n            }, this.getSessionItem = function(a) {\n                return ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.getItem(a)));\n            }, this.setSessionObject = function(a, b) {\n                ((((b === undefined)) ? this.removeSessionItem(a) : this.setSessionItem(a, JSON.stringify(b))));\n            }, this.getSessionObject = function(a) {\n                var b = this.getSessionItem(a);\n                return ((((b === undefined)) ? b : JSON.parse(b)));\n            };\n        };\n    ;\n        module.exports = withSession;\n    });\n    define(\"app/utils/scribe_item_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            tweet: 0,\n            promotedTweet: 1,\n            popularTweet: 2,\n            retweet: 10,\n            user: 3,\n            promotedUser: 4,\n            message: 6,\n            story: 7,\n            trend: 8,\n            promotedTrend: 9,\n            popularTrend: 15,\n            list: 11,\n            search: 12,\n            savedSearch: 13,\n            peopleSearch: 14\n        };\n    });\n    define(\"app/data/with_interaction_data_scribe\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/data/with_scribe\",\"app/utils/with_session\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withInteractionDataScribe() {\n            this.defaultAttrs({\n                profileClickContextExpirationMs: 600000,\n                profileClickContextSessionKey: \"profileClickContext\"\n            }), compose.mixin(this, [withScribe,withSession,]), this.scribeInteraction = function(a, b, c) {\n                if (((!a || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                var d = a.action;\n                if (!d) {\n                    return;\n                }\n            ;\n            ;\n                b = utils.merge(b, b.sourceEventData), a = this.getInteractionScribeContext(a, b);\n                var e = {\n                };\n                ((b.url && (e.url = b.url))), ((b.query && (e.query = b.query))), ((b.impressionId && (e.promoted = !0)));\n                var f = this.interactionItem(b);\n                ((f && (e.items = [f,])));\n                var g = this.interactionTarget(b, a);\n                ((g && (e.targets = [g,]))), c = utils.merge(e, c, b.scribeData), ((b.conversationOriginTweetId && (c.associations = ((c.associations || {\n                })), c.associations[associationTypes.conversationOrigin] = {\n                    association_id: b.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                }))), ((((((d == \"profile_click\")) || ((d == \"mention_click\")))) && this.saveProfileClickContext(b)));\n                if (((((d == \"report_as_spam\")) || ((d == \"block\"))))) {\n                    var h = this.getUserActionAssociations(b);\n                    ((h && (c.associations = utils.merge(c.associations, h))));\n                }\n            ;\n            ;\n                this.scribe(a, b, c);\n            }, this.interactionItem = function(a) {\n                var b = {\n                };\n                if (((((a.position === 0)) || a.position))) {\n                    b.position = a.position;\n                }\n            ;\n            ;\n                ((a.impressionId && (b.promoted_id = a.impressionId)));\n                switch (a.itemType) {\n                  case \"user\":\n                    this.userDetails(b, a);\n                    break;\n                  case \"tweet\":\n                    this.tweetDetails(b, a), this.cardDetails(b, a), this.translationDetails(b, a), this.conversationDetails(b, a);\n                    break;\n                  case \"activity\":\n                    this.activityDetails(b, a), ((((a.activityType == \"follow\")) ? (this.userDetails(b, a), ((a.isNetworkActivity || (b.id = this.attr.userId)))) : ((a.listId ? this.listDetails(b, a) : (this.tweetDetails(b, a), this.cardDetails(b, a))))));\n                    break;\n                  case \"story\":\n                    this.storyDetails(b, a), ((a.tweetId ? this.tweetDetails(b, a) : ((a.userId ? this.userDetails(b, a) : b.item_type = itemTypes.story))));\n                };\n            ;\n                return b;\n            }, this.interactionTarget = function(a, b) {\n                if (this.isUserTarget(b.action)) {\n                    var c = ((((a.isMentionClick ? a.userId : a.targetUserId)) || a.userId));\n                    return this.userDetails({\n                    }, {\n                        userId: c\n                    });\n                }\n            ;\n            ;\n            }, this.tweetDetails = function(a, b) {\n                return a.id = b.tweetId, a.item_type = itemTypes.tweet, ((b.relevanceType && (a.is_popular_tweet = !0))), ((b.retweetId && (a.retweeting_tweet_id = b.retweetId))), a;\n            }, this.cardDetails = function(a, b) {\n                return ((b.cardItem && utils.push(a, b.cardItem))), a;\n            }, this.translationDetails = function(a, b) {\n                return a.dest = b.dest, a;\n            }, this.conversationDetails = function(a, b) {\n                ((b.isConversation && (a.description = \"focal\"))), ((b.isConversationComponent && (a.description = b.description, a.id = b.tweetId)));\n            }, this.userDetails = function(a, b) {\n                return a.id = ((b.containerUserId || b.userId)), a.item_type = itemTypes.user, ((b.feedbackToken && (a.token = b.feedbackToken))), a;\n            }, this.listDetails = function(a, b) {\n                return a.id = b.listId, a.item_type = itemTypes.list, a;\n            }, this.activityDetails = function(a, b) {\n                return a.activity_type = b.activityType, ((b.actingUserIds && (a.acting_user_ids = b.actingUserIds))), a;\n            }, this.storyDetails = function(a, b) {\n                return a.story_type = b.storyType, a.story_source = b.storySource, a.social_proof_type = b.socialProofType, a;\n            }, this.isUserTarget = function(a) {\n                return (([\"mention_click\",\"profile_click\",\"follow\",\"unfollow\",\"block\",\"unblock\",\"report_as_spam\",\"add_to_list\",\"dm\",].indexOf(a) != -1));\n            }, this.getInteractionScribeContext = function(a, b) {\n                return ((((((a.action == \"profile_click\")) && ((a.element === undefined)))) && (a.element = ((b.isPromotedBadgeClick ? \"promoted_badge\" : b.profileClickTarget))))), a;\n            }, this.scribeInteractiveResults = function(a, b, c, d) {\n                var e = [], f = !1;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                if (((!a.action || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((b.length || (a.action = \"no_results\"))), b.forEach(function(a) {\n                    ((f || (f = !!a.impressionId))), e.push(this.interactionItem(a));\n                }.bind(this)), a = this.getInteractionScribeContext(a, c);\n                var g = {\n                };\n                ((((e && e.length)) && (g.items = e))), ((f && (g.promoted = !0))), this.scribe(a, c, utils.merge(g, d));\n            }, this.associationNamespace = function(a, b) {\n                var c = {\n                    page: a.page,\n                    section: a.section\n                };\n                return (((([\"conversation\",\"replies\",\"in_reply_to\",].indexOf(b) >= 0)) && (c.component = b))), c;\n            }, this.getProfileUserAssociations = function() {\n                var a = ((this.attr.profile_user && this.attr.profile_user.id_str)), b = null;\n                return ((a && (b = {\n                }, b[associationTypes.associatedUser] = {\n                    association_id: a,\n                    association_type: itemTypes.user,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext)\n                }))), b;\n            }, this.getProfileClickContextAssociations = function(a) {\n                var b = ((this.getSessionObject(this.attr.profileClickContextSessionKey) || null));\n                return ((((((((b && ((b.userId == a)))) && ((b.expires > (new JSBNG__Date).getTime())))) && b.associations)) || null));\n            }, this.saveProfileClickContext = function(a) {\n                var b = {\n                };\n                ((a.tweetId ? (b[associationTypes.associatedTweet] = {\n                    association_id: a.tweetId,\n                    association_type: itemTypes.tweet,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext, a.scribeContext.component)\n                }, ((a.conversationOriginTweetId && (b[associationTypes.conversationOrigin] = {\n                    association_id: a.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                })))) : b = this.getProfileUserAssociations())), this.setSessionObject(this.attr.profileClickContextSessionKey, {\n                    userId: a.userId,\n                    associations: b,\n                    expires: (((new JSBNG__Date).getTime() + this.attr.profileClickContextExpirationMs))\n                });\n            }, this.getUserActionAssociations = function(a) {\n                var b = a.scribeContext.component, c;\n                return ((((((b == \"profile_dialog\")) || ((b == \"profile_follow_card\")))) ? c = this.getProfileClickContextAssociations(a.userId) : ((((b == \"user\")) ? c = this.getProfileUserAssociations() : c = null)))), c;\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withScribe = require(\"app/data/with_scribe\"), withSession = require(\"app/utils/with_session\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withInteractionDataScribe;\n    });\n    define(\"app/utils/scribe_card_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            photoTweet: 1,\n            photoCard: 2,\n            playerCard: 3,\n            summaryCard: 4,\n            promotionCard: 5,\n            plusCard: 6\n        };\n    });\n    define(\"app/data/with_card_metadata\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_card_types\",], function(module, require, exports) {\n        function withCardMetadata() {\n            compose.mixin(this, [withInteractionDataScribe,]);\n            var a = \"Swift-1\";\n            this.cardAssociationsForData = function(a) {\n                var b = {\n                    associations: {\n                    }\n                };\n                return b.associations[associationTypes.platformCardPublisher] = {\n                    association_id: a.publisherUserId,\n                    association_type: itemTypes.user\n                }, b.associations[associationTypes.platformCardCreator] = {\n                    association_id: a.creatorUserId,\n                    association_type: itemTypes.user\n                }, b.message = a.cardUrl, b;\n            }, this.getCardDataFromTweet = function(a) {\n                var b = {\n                }, c = a.closest(\".tweet\"), d, e, f, g;\n                return (((d = c.closest(\".permalink-tweet-container\")).length || (d = $(c.attr(\"data-expanded-footer\"))))), b.tweetHasCard = c.hasClass(\"has-cards\"), g = !!d.JSBNG__find(\".card2\").length, b.interactionInsideCard = !1, ((g ? (b.tweetHasCard2 = g, b.tweetPreExpanded = c.hasClass(\"preexpanded\"), b.itemId = ((c.attr(\"data-item-id\") || null)), b.promotedId = ((c.attr(\"data-impression-id\") || null)), f = d.JSBNG__find(\".card2\"), b.cardName = f.attr(\"data-card2-name\"), b.cardUrl = f.JSBNG__find(\".card2-holder\").attr(\"data-card2-url\"), b.publisherUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-attribution\").JSBNG__find(\".js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-byline\").JSBNG__find(\".js-user-profile-link\")), b.interactionInsideCard = !!a.closest(\".card2\").length) : ((b.tweetHasCard && (e = d.JSBNG__find(\".cards-base\"), ((((e.length > 0)) && (b.cardType = e.data(\"card-type\"), b.cardUrl = e.data(\"card-url\"), b.publisherUserId = this.getUserIdFromElement(e.JSBNG__find(\".source .js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(e.JSBNG__find(\".byline .js-user-profile-link\")), b.interactionInsideCard = this.interactionInsideCard(a))))))))), b;\n            }, this.interactionInsideCard = function(a) {\n                return !!a.closest(\".cards-base\").length;\n            }, this.scribeCardInteraction = function(a, b) {\n                ((b.tweetHasCard2 ? this.scribeCard2Interaction(a, b) : ((b.tweetHasCard && this.scribeClassicCardInteraction(a, b)))));\n            }, this.scribeClassicCardInteraction = function(a, b) {\n                var c = this.cardAssociationsForData(b);\n                this.scribeInteraction({\n                    element: ((((\"platform_\" + b.cardType)) + \"_card\")),\n                    action: a\n                }, b, c);\n            }, this.getCard2Item = function(b) {\n                return {\n                    item_type: itemTypes.tweet,\n                    id: b.itemId,\n                    promoted_id: b.promotedId,\n                    pre_expanded: ((b.tweetPreExpanded || !1)),\n                    card_type: cardTypes.plusCard,\n                    card_name: b.cardName,\n                    card_url: b.cardUrl,\n                    card_platform_key: a,\n                    publisher_id: b.publisherUserId\n                };\n            }, this.scribeCard2Interaction = function(a, b) {\n                var c = {\n                    items: [this.getCard2Item(b),]\n                };\n                this.scribeInteraction({\n                    element: \"platform_card\",\n                    action: a\n                }, b, c);\n            }, this.getUserIdFromElement = function(a) {\n                return ((a.length ? a.attr(\"data-user-id\") : null));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), cardTypes = require(\"app/utils/scribe_card_types\");\n        module.exports = withCardMetadata;\n    });\n    define(\"app/data/with_conversation_metadata\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function() {\n            this.defaultAttrs({\n                hasConversationModuleClassAlt: \"has-conversation-module\",\n                conversationModuleSelectorAlt: \".conversation-module\",\n                rootClass: \"root\",\n                conversationRootTweetSelector: \".conversation-module .conversation-tweet-item.root .tweet\",\n                conversationAncestorTweetSelector: \".conversation-module .conversation-tweet-item:not(root) .tweet\"\n            }), this.getConversationAttrs = function(a) {\n                var b = {\n                };\n                if (a.hasClass(this.attr.hasConversationModuleClass)) {\n                    var c = a.closest(this.attr.conversationModuleSelector);\n                    b.isConversation = !0, b.conversationAncestors = c.attr(\"data-ancestors\").split(\",\");\n                }\n                 else ((a.hasClass(\"conversation-tweet\") && (b.isConversationComponent = !0, b.description = ((a.hasClass(this.attr.rootClass) ? \"root\" : \"ancestor\")))));\n            ;\n            ;\n                return b;\n            }, this.conversationComponentInteractionData = function(a, b) {\n                return {\n                    itemType: \"tweet\",\n                    tweetId: $(a).attr(\"data-item-id\"),\n                    description: b,\n                    isConversationComponent: !0\n                };\n            }, this.extraInteractionData = function(a) {\n                if (((a.JSBNG__find(this.attr.conversationModuleSelector).length > 0))) {\n                    var b = a.JSBNG__find(this.conversationRootTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"root\");\n                    }.bind(this)).get(), c = a.JSBNG__find(this.attr.conversationAncestorTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"ancestor\");\n                    }.bind(this)).get();\n                    return b.concat(c);\n                }\n            ;\n            ;\n                return [];\n            }, this.addConversationScribeContext = function(a, b) {\n                return ((((b && b.isConversation)) ? (a.component = \"conversation\", a.element = \"tweet\") : ((((b && b.isConversationComponent)) && (a.component = \"conversation\", a.element = b.description))))), a;\n            }, this.after(\"initialize\", function() {\n                ((this.attr.conversationModuleSelector || (this.attr.conversationModuleSelector = this.attr.conversationModuleSelectorAlt))), ((this.attr.hasConversationModuleClass || (this.attr.hasConversationModuleClass = this.attr.hasConversationModuleClassAlt)));\n            });\n        };\n    });\n    define(\"app/ui/with_interaction_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/data/with_card_metadata\",\"app/data/with_conversation_metadata\",], function(module, require, exports) {\n        function withInteractionData() {\n            compose.mixin(this, [withCardMetadata,withConversationMetadata,]), this.defaultAttrs({\n                genericInteractionItemSelector: \".js-stream-item\",\n                expandoContainerSelector: \".expanded-conversation\",\n                expandoAncestorSelector: \".ancestor\",\n                expandoDescendantSelector: \".descendant\",\n                streamItemContainerSelector: \".js-stream-item, .permalink\",\n                activityTargetSelector: \".activity-truncated-tweet .js-actionable-tweet, .js-activity-list_member_added [data-list-id]\",\n                activityItemSelector: \".js-activity\",\n                itemAvatarSelector: \".js-action-profile-avatar, .avatar.size48\",\n                itemSmallAvatarSelector: \".avatar.size24, .avatar.size32\",\n                itemMentionSelector: \".twitter-atreply\",\n                discoveryStoryItemSelector: \".js-story-item\",\n                discoveryStoryHeadlineSelector: \".js-news-headline a\",\n                originalTweetSelector: \".js-original-tweet[data-tweet-id]\",\n                promotedBadgeSelector: \".js-promoted-badge\",\n                elementContextSelector: \"[data-element-context]\",\n                componentContextSelector: \"[data-component-context]\",\n                scribeContextSelector: \"[data-scribe-context]\",\n                userTargetSelector: \".js-user-profile-link, .twitter-atreply\"\n            });\n            var a = {\n                feedbackToken: \"data-feedback-token\",\n                impressionId: \"data-impression-id\",\n                disclosureType: \"data-disclosure-type\",\n                impressionCookie: \"data-impression-cookie\",\n                relevanceType: \"data-relevance-type\",\n                associatedTweetId: \"data-associated-tweet-id\"\n            }, b = utils.merge({\n                tweetId: \"data-tweet-id\",\n                retweetId: \"data-retweet-id\",\n                isReplyTo: \"data-is-reply-to\",\n                hasParentTweet: \"data-has-parent-tweet\"\n            }, a), c = utils.merge({\n                activityType: \"data-activity-type\"\n            }, b), d = utils.merge({\n                storyType: \"data-story-type\",\n                query: \"data-query\",\n                url: \"data-url\",\n                storySource: \"data-source\",\n                storyMediaType: \"data-card-media-type\",\n                socialProofType: \"data-social-proof-type\"\n            }, b);\n            this.interactionDataWithCard = function(a, b) {\n                return this.interactionData(a, b, !0);\n            }, this.interactionData = function(a, b, c) {\n                var d = {\n                }, e = {\n                }, f = !!c, g = ((a.target ? $(a.target) : $(a)));\n                ((this.setItemType && this.setItemType(g))), b = ((b || {\n                })), ((this.attr.eventData && (d = this.attr.eventData.scribeContext, e = this.attr.eventData.scribeData)));\n                var h = utils.merge(this.getEventData(g, f), b), i = g.closest(this.attr.scribeContextSelector).data(\"scribe-context\");\n                ((i && (e = utils.merge(i, e)))), d = utils.merge({\n                }, d, this.getScribeContext(g, h));\n                if (((((this.attr.itemType == \"tweet\")) && (([\"replies\",\"conversation\",\"in_reply_to\",].indexOf(d.component) >= 0))))) {\n                    var j = g.closest(this.attr.streamItemContainerSelector).JSBNG__find(this.attr.originalTweetSelector);\n                    ((j.length && (h.conversationOriginTweetId = j.attr(\"data-tweet-id\"))));\n                }\n            ;\n            ;\n                return utils.merge({\n                    scribeContext: d,\n                    scribeData: e\n                }, h);\n            }, this.getScribeContext = function(a, b) {\n                var c = {\n                }, d = a.closest(this.attr.componentContextSelector).attr(\"data-component-context\");\n                ((d && (c.component = d)));\n                var e = a.closest(this.attr.elementContextSelector).attr(\"data-element-context\");\n                ((e && (c.element = e)));\n                if (((c.element || c.component))) {\n                    return c;\n                }\n            ;\n            ;\n            }, this.getInteractionItemPosition = function(a, b) {\n                if (((b && ((b.position >= 0))))) {\n                    return b.position;\n                }\n            ;\n            ;\n                var c = ((this.getItemPosition && this.getItemPosition(a)));\n                return ((((c >= 0)) ? c : (c = this.getExpandoPosition(a), ((((c != -1)) ? c : ((((a.attr(\"data-is-tweet-proof\") === \"true\")) ? this.getTweetProofPosition(a) : this.getStreamPosition(a))))))));\n            }, this.getExpandoPosition = function(a) {\n                var b, c = -1, d = a.closest(this.attr.expandoAncestorSelector), e = a.closest(this.attr.expandoDescendantSelector);\n                return ((d.length && (b = d.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoAncestorSelector).index(d)))), ((e.length && (b = e.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoDescendantSelector).index(e)))), ((a.closest(\".in-reply-to,.replies-to\").length && (b = a.closest(\".in-reply-to,.replies-to\"), c = b.JSBNG__find(\".tweet\").index(a.closest(\".tweet\"))))), c;\n            }, this.getTweetProofPosition = function(a) {\n                var b = a.closest(this.attr.trendItemSelector).index();\n                return ((((b != -1)) ? b : -1));\n            }, this.getStreamPosition = function(a) {\n                var b = a.closest(this.attr.genericInteractionItemSelector).index();\n                if (((b != -1))) {\n                    return b;\n                }\n            ;\n            ;\n            }, this.getEventData = function(c, d) {\n                var e, f;\n                switch (this.attr.itemType) {\n                  case \"activity\":\n                    return this.getActivityEventData(c);\n                  case \"story\":\n                    return this.getStoryEventData(c);\n                  case \"user\":\n                    return this.getDataAttrs(c, a);\n                  case \"tweet\":\n                    return f = utils.merge(this.getDataAttrs(c, b), this.getConversationAttrs(c)), ((d ? utils.merge(this.getCardAttrs(c), f) : f));\n                  case \"list\":\n                    return this.getDataAttrs(c, a);\n                  case \"trend\":\n                    return this.getDataAttrs(c, b);\n                  default:\n                    return JSBNG__console.warn(\"You must configure your UI component with an \\\"itemType\\\" attribute of activity, story, user, tweet, list, or trend in order for it to scribe properly.\"), {\n                    };\n                };\n            ;\n            }, this.getActivityEventData = function(a) {\n                var b = a.closest(this.attr.activityItemSelector), d = b.JSBNG__find(this.attr.activityTargetSelector);\n                ((d.length || (d = a)));\n                var e = this.getDataAttrs(a, c, d);\n                e.isNetworkActivity = !!a.closest(\".discover-stream\").length, ((e.activityType || ((e.isReplyTo ? e.activityType = \"reply\" : e.activityType = ((e.retweetId ? \"retweet\" : \"mention\"))))));\n                var f = [], g = ((e.isNetworkActivity ? \".stream-item-activity-header\" : \"ol.activity-supplement\"));\n                return b.JSBNG__find(((g + \" a[data-user-id]\"))).each(function() {\n                    f.push($(this).data(\"user-id\"));\n                }), ((f.length && (e.actingUserIds = f))), e;\n            }, this.getStoryEventData = function(a) {\n                var b = this.getDataAttrs(a, d), c = a.closest(this.attr.discoveryStoryItemSelector), e = c.JSBNG__find(this.attr.discoveryStoryHeadlineSelector).text();\n                return b.storyTitle = e.replace(/^\\s+|\\s+$/g, \"\"), b;\n            }, this.getTargetUserId = function(a) {\n                var b = a.closest(this.attr.userTargetSelector);\n                if (b.length) {\n                    return ((b.closest(\"[data-user-id]\").attr(\"data-user-id\") || b.JSBNG__find(\"[data-user-id]\").attr(\"data-user-id\")));\n                }\n            ;\n            ;\n            }, this.getDataAttrs = function(a, b, c) {\n                var d = {\n                };\n                c = ((c || a)), $.each(b, function(a, b) {\n                    ((c.is(((((\"[\" + b)) + \"]\"))) ? d[a] = c.attr(b) : d[a] = c.closest(((((\"[\" + b)) + \"]\"))).attr(b)));\n                }), d.isReplyTo = ((d.isReplyTo === \"true\")), d = utils.merge(d, {\n                    position: this.getInteractionItemPosition(a, d),\n                    isMentionClick: ((a.closest(this.attr.itemMentionSelector).length > 0)),\n                    isPromotedBadgeClick: ((a.closest(this.attr.promotedBadgeSelector).length > 0)),\n                    itemType: this.attr.itemType\n                }), ((a.is(this.attr.itemAvatarSelector) ? d.profileClickTarget = \"avatar\" : ((a.is(this.attr.itemSmallAvatarSelector) ? d.profileClickTarget = \"mini_avatar\" : d.profileClickTarget = \"screen_name\"))));\n                var e = this.getTargetUserId(a);\n                return ((e && (d.targetUserId = e))), d.userId = a.closest(\"[data-user-id]\").attr(\"data-user-id\"), d.containerUserId = c.closest(\"[data-user-id]\").attr(\"data-user-id\"), d;\n            }, this.getCardAttrs = function(a) {\n                var b = this.getCardDataFromTweet(a);\n                return ((b.tweetHasCard2 ? {\n                    cardItem: this.getCard2Item(b)\n                } : {\n                }));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withCardMetadata = require(\"app/data/with_card_metadata\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\");\n        module.exports = withInteractionData;\n    });\n    define(\"app/data/tweet_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_interaction_data\",\"app/data/with_conversation_metadata\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function tweetActionsScribe() {\n            this.scribeTweet = function(a) {\n                return function(b, c) {\n                    var d = this.addConversationScribeContext({\n                        action: a\n                    }, c.sourceEventData);\n                    this.scribeInteraction(d, utils.merge(c, c.sourceEventData));\n                }.bind(this);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiReplyButtonTweetSuccess\", this.scribeTweet(\"reply\")), this.JSBNG__on(\"uiDidRetweetSuccess\", this.scribeTweet(\"retweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.scribeTweet(\"delete\")), this.JSBNG__on(\"dataDidFavoriteTweet\", this.scribeTweet(\"favorite\")), this.JSBNG__on(\"dataDidUnfavoriteTweet\", this.scribeTweet(\"unfavorite\")), this.JSBNG__on(\"dataDidUnretweet\", this.scribeTweet(\"unretweet\")), this.JSBNG__on(\"uiPermalinkClick\", this.scribeTweet(\"permalink\")), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.scribeTweet(\"share_via_email\")), this.JSBNG__on(\"dataTweetTranslationSuccess\", this.scribeTweet(\"translate\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(tweetActionsScribe, withInteractionData, withConversationMetadata, withInteractionDataScribe);\n    });\n    define(\"app/data/user_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function userActionsScribe() {\n            function a(a) {\n                var b = ((a && a.associatedTweetId)), c = {\n                };\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                return c[associationTypes.associatedTweet] = {\n                    association_type: itemTypes.tweet,\n                    association_id: b\n                }, {\n                    associations: c\n                };\n            };\n        ;\n            this.defaultAttrs({\n                urlToActionMap: {\n                    \"/i/user/follow\": \"follow\",\n                    \"/i/user/unfollow\": \"unfollow\",\n                    \"/i/user/block\": \"block\",\n                    \"/i/user/unblock\": \"unblock\",\n                    \"/i/user/report_spam\": \"report_as_spam\",\n                    \"/i/user/hide\": \"dismiss\"\n                },\n                userActionToActionMap: {\n                    uiMentionAction: \"reply\",\n                    uiDmAction: \"dm\",\n                    uiListAction: \"add_to_list\",\n                    uiRetweetOnAction: {\n                        element: \"allow_retweets\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiRetweetOffAction: {\n                        element: \"allow_retweets\",\n                        action: \"off\"\n                    },\n                    uiDeviceNotificationsOnAction: {\n                        element: \"mobile_notifications\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiDeviceNotificationsOffAction: {\n                        element: \"mobile_notifications\",\n                        action: \"off\"\n                    },\n                    uiShowMobileNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiShowPushTweetsNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiEmailFollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_follow\"\n                    },\n                    uiEmailUnfollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_unfollow\"\n                    }\n                }\n            }), this.handleUserEvent = function(b, c) {\n                this.scribeInteraction(this.attr.urlToActionMap[c.requestUrl], c, a(c.sourceEventData)), ((c.isFollowBack && this.scribeInteraction(\"follow_back\", c, a(c.sourceEventData))));\n            }, this.handleAction = function(b, c) {\n                this.scribeInteraction(this.attr.userActionToActionMap[b.type], c, a(c));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataFollowStateChange dataUserActionSuccess dataEmailFollow dataEmailUnfollow\", this.handleUserEvent), this.JSBNG__on(JSBNG__document, \"uiMentionAction uiListAction uiDmAction uiRetweetOnAction uiRetweetOffAction uiDeviceNotificationsOnAction uiDeviceNotificationsOffAction uiShowMobileNotificationsConfirm uiShowPushTweetsNotificationsConfirm uiEmailFollowAction uiEmailUnfollowAction\", this.handleAction);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(userActionsScribe, withInteractionDataScribe);\n    });\n    define(\"app/data/item_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",\"app/data/with_conversation_metadata\",\"app/data/with_card_metadata\",], function(module, require, exports) {\n        function itemActionsScribe() {\n            this.handleNewerTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"newer\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleRangeTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"range\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleProfilePopup = function(a, b) {\n                var c = b.sourceEventData, d = ((c.isMentionClick ? \"mention_click\" : \"profile_click\"));\n                c.userId = b.user_id, ((c.interactionInsideCard ? this.scribeCardAction(d, a, c) : this.scribeInteraction(d, c)));\n            }, this.scribeItemAction = function(a, b, c) {\n                var d = this.addConversationScribeContext({\n                    action: a\n                }, c);\n                this.scribeInteraction(d, c);\n            }, this.scribeSearchTagClick = function(a, b) {\n                var c = ((((a.type == \"uiCashtagClick\")) ? \"cashtag\" : \"hashtag\"));\n                this.scribeInteraction({\n                    element: c,\n                    action: \"search\"\n                }, b);\n            }, this.scribeLinkClick = function(a, b) {\n                var c = {\n                };\n                ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction(\"open_link\", b, c);\n            }, this.scribeCardAction = function(a, b, c) {\n                ((((c && c.tweetHasCard)) && this.scribeCardInteraction(a, c)));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline\", this.handleNewerTimelineItems), this.JSBNG__on(JSBNG__document, \"uiHasInjectedRangeTimelineItems\", this.handleRangeTimelineItems), this.JSBNG__on(JSBNG__document, \"dataProfilePopupSuccess\", this.handleProfilePopup), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeItemAction.bind(this, \"select\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeItemAction.bind(this, \"deselect\")), this.JSBNG__on(JSBNG__document, \"uiHashtagClick uiCashtagClick\", this.scribeSearchTagClick), this.JSBNG__on(JSBNG__document, \"uiItemLinkClick\", this.scribeLinkClick), this.JSBNG__on(JSBNG__document, \"uiCardInteractionLinkClick\", this.scribeCardAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiCardExternalLinkClick\", this.scribeCardAction.bind(this, \"open_link\")), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeCardAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeCardAction.bind(this, \"hide\")), this.JSBNG__on(JSBNG__document, \"uiMapShow\", this.scribeItemAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiMapClick\", this.scribeItemAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiShareViaEmailDialogOpened\", this.scribeItemAction.bind(this, \"open\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withCardMetadata = require(\"app/data/with_card_metadata\");\n        module.exports = defineComponent(itemActionsScribe, withInteractionDataScribe, withConversationMetadata, withCardMetadata);\n    });\n    define(\"app/utils/full_path\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function fullPath() {\n            return [JSBNG__location.pathname,JSBNG__location.search,].join(\"\");\n        };\n    ;\n        module.exports = fullPath;\n    });\n    define(\"app/data/navigation_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/client_event\",\"app/data/with_scribe\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigationScribe() {\n            this.scribeNav = function(a, b) {\n                this.scribe(\"JSBNG__navigate\", b, {\n                    url: b.url\n                });\n            }, this.scribeCachedImpression = function(a, b) {\n                ((b.fromCache && this.scribe(\"impression\")));\n            }, this.after(\"initialize\", function() {\n                clientEvent.internalReferer = fullPath(), this.JSBNG__on(\"uiNavigationLinkClick\", this.scribeNav), this.JSBNG__on(\"uiPageChanged\", this.scribeCachedImpression);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), clientEvent = require(\"app/data/client_event\"), withScribe = require(\"app/data/with_scribe\"), fullPath = require(\"app/utils/full_path\");\n        module.exports = defineComponent(navigationScribe, withScribe);\n    });\n    define(\"app/data/simple_event_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function simpleEventScribe() {\n            this.defaultAttrs({\n                eventToActionMap: {\n                    uiEnableEmailFollowAction: {\n                        action: \"enable\"\n                    },\n                    uiDisableEmailFollowAction: {\n                        action: \"disable\"\n                    }\n                }\n            }), this.scribeSimpleEvent = function(a, b) {\n                this.scribe(this.attr.eventToActionMap[a.type], b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiEnableEmailFollowAction\", this.scribeSimpleEvent), this.JSBNG__on(\"uiDisableEmailFollowAction\", this.scribeSimpleEvent);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(simpleEventScribe, withScribe);\n    });\n    define(\"app/boot/scribing\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",\"app/data/scribe_monitor\",\"app/data/client_event\",\"app/data/ddg\",\"app/data/tweet_actions_scribe\",\"app/data/user_actions_scribe\",\"app/data/item_actions_scribe\",\"app/data/navigation_scribe\",\"app/data/simple_event_scribe\",], function(module, require, exports) {\n        function initialize(a) {\n            var b = {\n                useAjax: !0,\n                bufferEvents: ((((((a.environment != \"development\")) && ((a.environment != \"staging\")))) && !a.preflight)),\n                flushOnUnload: ((a.environment != \"selenium\")),\n                bufferSize: ((((a.environment == \"selenium\")) ? ((1000 * a.scribeBufferSize)) : a.scribeBufferSize)),\n                debug: !!a.debugAllowed,\n                requestParameters: a.scribeParameters\n            };\n            scribeTransport.updateOptions(b), scribeTransport.registerEventHandlers(), clientEvent.scribeContext = {\n                client: \"web\",\n                page: a.pageName,\n                section: a.sectionName\n            }, clientEvent.scribeData = {\n                internal_referer: ((clientEvent.internalReferer || a.internalReferer)),\n                client_version: ((a.macawSwift ? \"macaw-swift\" : \"swift\"))\n            }, delete clientEvent.internalReferer, ((a.loggedIn || (clientEvent.scribeData.user_id = 0))), ddg.experiments = a.experiments, ((((((((a.environment != \"production\")) || a.preflight)) || a.scribesForScribeConsole)) && ScribeMonitor.attachTo(JSBNG__document, {\n                scribesForScribeConsole: a.scribesForScribeConsole\n            }))), TweetActionsScribe.attachTo(JSBNG__document, a), UserActionsScribe.attachTo(JSBNG__document, a), ItemActionsScribe.attachTo(JSBNG__document, a), NavigationScribe.attachTo(JSBNG__document, a), SimpleEventScribe.attachTo(JSBNG__document, a);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), ScribeMonitor = require(\"app/data/scribe_monitor\"), clientEvent = require(\"app/data/client_event\"), ddg = require(\"app/data/ddg\"), TweetActionsScribe = require(\"app/data/tweet_actions_scribe\"), UserActionsScribe = require(\"app/data/user_actions_scribe\"), ItemActionsScribe = require(\"app/data/item_actions_scribe\"), NavigationScribe = require(\"app/data/navigation_scribe\"), SimpleEventScribe = require(\"app/data/simple_event_scribe\");\n        module.exports = initialize;\n    });\n    define(\"app/ui/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigation() {\n            this.defaultAttrs({\n                spinnerContainer: \"body\",\n                pushStateSelector: \"a.js-nav\",\n                pageContainer: \"#page-container\",\n                docContainer: \"#doc\",\n                globalHeadingSelector: \".global-nav h1\",\n                spinnerClass: \"pushing-state\",\n                spinnerSelector: \".pushstate-spinner\",\n                baseFoucClass: \"swift-loading\"\n            }), this.JSBNG__navigate = function(a) {\n                var b, c;\n                if (((((((a.shiftKey || a.ctrlKey)) || a.metaKey)) || ((((a.which != undefined)) && ((a.which > 1))))))) {\n                    return;\n                }\n            ;\n            ;\n                b = $(a.target), c = b.closest(this.attr.pushStateSelector), ((((c.length && !a.isDefaultPrevented())) && (this.trigger(c, \"uiNavigate\", {\n                    href: c.attr(\"href\")\n                }), a.preventDefault(), a.stopImmediatePropagation())));\n            }, this.updatePage = function(a, b, c) {\n                this.hideSpinner(), this.trigger(\"uiBeforePageChanged\", b), this.trigger(\"uiTeardown\", b), $(\"html\").attr(\"class\", ((((b.init_data.htmlClassNames + \" \")) + b.init_data.htmlFoucClassNames))), $(\"body\").attr(\"class\", b.body_class_names), this.select(\"docContainer\").attr(\"class\", b.doc_class_names), this.select(\"pageContainer\").attr(\"class\", b.page_container_class_names);\n                var d = ((((b.banners && !b.fromCache)) ? ((b.banners + b.page)) : b.page));\n                this.$node.JSBNG__find(b.init_data.viewContainer).html(d), ((b.isPopState || $(window).scrollTop(0))), using(b.module, function(a) {\n                    a(b.init_data), $(\"html\").removeClass(this.attr.baseFoucClass), this.trigger(\"uiPageChanged\", b);\n                }.bind(this));\n            }, this.showSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n            }, this.hideSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n            }, this.addSpinner = function() {\n                ((this.select(\"spinnerSelector\").length || $(\"\\u003Cdiv class=\\\"pushstate-spinner\\\"\\u003E\\u003C/div\\u003E\").insertAfter(this.select(\"globalHeadingSelector\"))));\n            }, this.onPopState = function(a) {\n                ((a.originalEvent.state && (((isSafari && (JSBNG__document.body.style.display = \"none\", JSBNG__document.body.offsetHeight, JSBNG__document.body.style.display = \"block\"))), this.trigger(\"uiNavigate\", {\n                    isPopState: !0,\n                    href: fullPath()\n                }))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.JSBNG__navigate), this.JSBNG__on(window, \"popstate\", this.onPopState), this.JSBNG__on(\"uiSwiftLoaded\", this.addSpinner), this.JSBNG__on(\"dataPageRefresh\", this.updatePage), this.JSBNG__on(\"dataPageFetch\", this.showSpinner);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), fullPath = require(\"app/utils/full_path\"), Navigation = component(navigation), isSafari = (($.browser.safari === !0));\n        module.exports = Navigation;\n    });\n    provide(\"app/utils/time\", function(a) {\n        function b(a) {\n            this.ms = a;\n        };\n    ;\n        function c(a) {\n            var c = {\n                seconds: new b(((a * 1000))),\n                minutes: new b(((((a * 1000)) * 60))),\n                hours: new b(((((((a * 1000)) * 60)) * 60))),\n                days: new b(((((((((a * 1000)) * 60)) * 60)) * 24)))\n            };\n            return c.second = c.seconds, c.minute = c.minutes, c.hour = c.hours, c.day = c.days, c;\n        };\n    ;\n        c.now = function() {\n            return (new JSBNG__Date).getTime();\n        }, b.prototype.fromNow = function() {\n            return new JSBNG__Date(((c.now() + this.ms)));\n        }, b.prototype.ago = function() {\n            return new JSBNG__Date(((c.now() - this.ms)));\n        }, b.prototype.getTime = b.prototype.valueOf = function() {\n            return this.ms;\n        }, a(c);\n    });\n    define(\"app/utils/storage/core\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/advice\",], function(module, require, exports) {\n        function JSBNG__localStorage() {\n            this.initialize = function(a) {\n                this.namespace = a, this.prefix = [\"__\",this.namespace,\"__:\",].join(\"\"), this.matcher = new RegExp(((\"^\" + this.prefix)));\n            }, this.getItem = function(a) {\n                return this.decode(window.JSBNG__localStorage.getItem(((this.prefix + a))));\n            }, this.setItem = function(a, b) {\n                try {\n                    return window.JSBNG__localStorage.setItem(((this.prefix + a)), this.encode(b));\n                } catch (c) {\n                    return ((((window.DEBUG && window.DEBUG.enabled)) && JSBNG__console.error(c))), undefined;\n                };\n            ;\n            }, this.removeItem = function(a) {\n                return window.JSBNG__localStorage.removeItem(((this.prefix + a)));\n            }, this.keys = function() {\n                var a = [];\n                for (var b = 0, c = window.JSBNG__localStorage.length, d; ((b < c)); b++) {\n                    d = window.JSBNG__localStorage.key(b), ((d.match(this.matcher) && a.push(d.replace(this.matcher, \"\"))));\n                ;\n                };\n            ;\n                return a;\n            }, this.clear = function() {\n                this.keys().forEach(function(a) {\n                    this.removeItem(a);\n                }, this);\n            }, this.clearAll = function() {\n                window.JSBNG__localStorage.clear();\n            };\n        };\n    ;\n        function userData() {\n            function b(b, c) {\n                var d = c.xmlDocument.documentElement;\n                a[b] = {\n                };\n                while (d.firstChild) {\n                    d.removeChild(d.firstChild);\n                ;\n                };\n            ;\n                c.save(b);\n            };\n        ;\n            function c(a) {\n                return JSBNG__document.getElementById(((\"__storage_\" + a)));\n            };\n        ;\n            var a = {\n            };\n            this.initialize = function(b) {\n                this.namespace = b, (((this.dataStore = c(this.namespace)) || this.createStorageElement())), this.xmlDoc = this.dataStore.xmlDocument, this.xmlDocEl = this.xmlDoc.documentElement, a[this.namespace] = ((a[this.namespace] || {\n                }));\n            }, this.createStorageElement = function() {\n                this.dataStore = JSBNG__document.createElement(\"div\"), this.dataStore.id = ((\"__storage_\" + this.namespace)), this.dataStore.style.display = \"none\", JSBNG__document.appendChild(this.dataStore), this.dataStore.addBehavior(\"#default#userData\"), this.dataStore.load(this.namespace);\n            }, this.getNodeByKey = function(b) {\n                var c = this.xmlDocEl.childNodes, d;\n                if (d = a[this.namespace][b]) {\n                    return d;\n                }\n            ;\n            ;\n                for (var e = 0, f = c.length; ((e < f)); e++) {\n                    d = c.JSBNG__item(e);\n                    if (((d.getAttribute(\"key\") == b))) {\n                        return a[this.namespace][b] = d, d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.getItem = function(a) {\n                var b = this.getNodeByKey(a), c = null;\n                return ((b && (c = b.getAttribute(\"value\")))), this.decode(c);\n            }, this.setItem = function(b, c) {\n                var d = this.getNodeByKey(b);\n                return ((d ? d.setAttribute(\"value\", this.encode(c)) : (d = this.xmlDoc.createNode(1, \"JSBNG__item\", \"\"), d.setAttribute(\"key\", b), d.setAttribute(\"value\", this.encode(c)), this.xmlDocEl.appendChild(d), a[this.namespace][b] = d))), this.dataStore.save(this.namespace), c;\n            }, this.removeItem = function(b) {\n                var c = this.getNodeByKey(b);\n                ((c && (this.xmlDocEl.removeChild(c), delete a[this.namespace][b]))), this.dataStore.save(this.namespace);\n            }, this.keys = function() {\n                var a = this.xmlDocEl.childNodes.length, b = [];\n                for (var c = 0; ((c < a)); c++) {\n                    b.push(this.xmlDocEl.childNodes[c].getAttribute(\"key\"));\n                ;\n                };\n            ;\n                return b;\n            }, this.clear = function() {\n                b(this.namespace, this.dataStore);\n            }, this.clearAll = function() {\n                {\n                    var fin50keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin50i = (0);\n                    var d;\n                    for (; (fin50i < fin50keys.length); (fin50i++)) {\n                        ((d) = (fin50keys[fin50i]));\n                        {\n                            b(d, c(d)), a[d] = {\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        };\n    ;\n        function noStorage() {\n            this.initialize = $.noop, this.getNodeByKey = function(a) {\n                return null;\n            }, this.getItem = function(a) {\n                return null;\n            }, this.setItem = function(a, b) {\n                return b;\n            }, this.removeItem = function(a) {\n                return null;\n            }, this.keys = function() {\n                return [];\n            }, this.clear = $.noop, this.clearAll = $.noop;\n        };\n    ;\n        function memory() {\n            this.initialize = function(a) {\n                this.namespace = a, ((memoryStore[this.namespace] || (memoryStore[this.namespace] = {\n                }))), this.store = memoryStore[this.namespace];\n            }, this.getItem = function(a) {\n                return ((this.store[a] ? this.decode(this.store[a]) : undefined));\n            }, this.setItem = function(a, b) {\n                return this.store[a] = this.encode(b);\n            }, this.removeItem = function(a) {\n                delete this.store[a];\n            }, this.keys = function() {\n                return Object.keys(this.store);\n            }, this.clear = function() {\n                this.store = memoryStore[this.namespace] = {\n                };\n            }, this.clearAll = function() {\n                memoryStore = {\n                };\n            };\n        };\n    ;\n        function browserStore() {\n            ((supportsLocalStorage() ? JSBNG__localStorage.call(this) : ((JSBNG__document.documentElement.addBehavior ? noStorage.call(this) : memory.call(this)))));\n        };\n    ;\n        function supportsLocalStorage() {\n            if (((doesLocalStorage === undefined))) {\n                try {\n                    window.JSBNG__localStorage.setItem(\"~~~~\", 1), window.JSBNG__localStorage.removeItem(\"~~~~\"), doesLocalStorage = !0;\n                } catch (a) {\n                    doesLocalStorage = !1;\n                };\n            }\n        ;\n        ;\n            return doesLocalStorage;\n        };\n    ;\n        function encoding() {\n            this.encode = function(a) {\n                return ((((a === undefined)) && (a = null))), JSON.stringify(a);\n            }, this.decode = function(a) {\n                return JSON.parse(a);\n            };\n        };\n    ;\n        function CoreStorage() {\n            ((arguments.length && this.initialize.apply(this, arguments)));\n        };\n    ;\n        var compose = require(\"core/compose\"), advice = require(\"core/advice\"), memoryStore = {\n        }, doesLocalStorage;\n        compose.mixin(CoreStorage.prototype, [encoding,browserStore,advice.withAdvice,]), CoreStorage.clearAll = CoreStorage.prototype.clearAll, module.exports = CoreStorage;\n    });\n    define(\"app/data/notifications\", [\"module\",\"require\",\"exports\",\"core/clock\",\"app/utils/storage/core\",\"app/utils/time\",], function(module, require, exports) {\n        function JSBNG__Notification(a, b, c, d) {\n            this.key = b, this.timestamp = 0, this.active = a, this.seenFirstResponse = !1, this.pollEvent = c, this.paramAdder = d;\n        };\n    ;\n        function Notifications() {\n            this.entries = [];\n        };\n    ;\n        var clock = require(\"core/clock\"), JSBNG__Storage = require(\"app/utils/storage/core\"), time = require(\"app/utils/time\"), pollDelay = 20000, storage = new JSBNG__Storage(\"DM\"), filteredEndpoints = [\"/i/users/recommendations\",\"/i/timeline\",\"/i/connect/timeline\",\"/i/discover/timeline\",\"/i/search/timeline\",\"/i/profiles/show\",\"/messages\",];\n        JSBNG__Notification.prototype = {\n            reset: function() {\n                this.timestamp = time.now();\n            },\n            isResponseValid: function(a) {\n                return ((((((((((this.active && a)) && a[this.key])) && a.notCached)) && ((a[this.key].JSBNG__status == \"ok\")))) && ((a[this.key].response !== null))));\n            },\n            update: function(a) {\n                ((this.isResponseValid(a) ? this.reset() : ((((!this.seenFirstResponse && this.pollEvent)) && $(JSBNG__document).trigger(this.pollEvent))))), this.seenFirstResponse = !0;\n            },\n            shouldPoll: function() {\n                return ((((time.now() - this.timestamp)) > pollDelay));\n            },\n            addParam: function(a) {\n                this.paramAdder(a);\n            }\n        }, Notifications.prototype = {\n            init: function(a) {\n                this.initialized = !0, this.dm = new JSBNG__Notification(a.notifications_dm, \"d\", \"uiDMPoll\", this.addDMData), this.connect = new JSBNG__Notification(a.notifications_timeline, \"t\", null, function() {\n                \n                }), this.spoonbill = new JSBNG__Notification(a.notifications_spoonbill, \"n\", null, function() {\n                \n                }), this.entries = [this.dm,this.connect,this.spoonbill,], ((a.notifications_dm_poll_scale && (pollDelay = ((a.notifications_dm_poll_scale * 1000)))));\n            },\n            getPollDelay: function() {\n                return pollDelay;\n            },\n            addDMData: function(a) {\n                a.oldest_unread_id = ((storage.getItem(\"oldestUnreadMessageId\") || 0));\n            },\n            updateNotificationState: function(a) {\n                this.entries.forEach(function(b) {\n                    b.update(a);\n                });\n            },\n            resetDMState: function(a, b) {\n                this.dm.reset();\n            },\n            shouldPoll: function() {\n                return ((this.initialized ? ((this.dm.active ? this.dm.shouldPoll() : !1)) : !1));\n            },\n            extraParameters: function(a) {\n                if (((!a || !this.shouldPoll()))) {\n                    return {\n                    };\n                }\n            ;\n            ;\n                var b = {\n                };\n                return ((filteredEndpoints.some(function(b) {\n                    return ((a.indexOf(b) == 0));\n                }) && this.entries.forEach(function(a) {\n                    a.addParam(b);\n                }))), b;\n            }\n        }, module.exports = new Notifications;\n    });\n    provide(\"app/utils/querystring\", function(a) {\n        function b(a) {\n            return encodeURIComponent(a).replace(/\\+/g, \"%2B\");\n        };\n    ;\n        function c(a) {\n            return decodeURIComponent(a.replace(/\\+/g, \" \"));\n        };\n    ;\n        function d(a) {\n            var c = [];\n            {\n                var fin51keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin51i = (0);\n                var d;\n                for (; (fin51i < fin51keys.length); (fin51i++)) {\n                    ((d) = (fin51keys[fin51i]));\n                    {\n                        ((((((a[d] !== null)) && ((typeof a[d] != \"undefined\")))) && c.push(((((b(d) + \"=\")) + b(a[d]))))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return c.sort().join(\"&\");\n        };\n    ;\n        function e(a) {\n            var b = {\n            }, d, e, f, g;\n            if (a) {\n                d = a.split(\"&\");\n                for (g = 0; f = d[g]; g++) {\n                    e = f.split(\"=\"), ((((e.length == 2)) && (b[c(e[0])] = c(e[1]))));\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            return b;\n        };\n    ;\n        a({\n            decode: e,\n            encode: d,\n            encodePart: b,\n            decodePart: c\n        });\n    });\n    define(\"app/utils/params\", [\"module\",\"require\",\"exports\",\"app/utils/querystring\",], function(module, require, exports) {\n        var qs = require(\"app/utils/querystring\"), fromQuery = function(a) {\n            var b = a.search.substr(1);\n            return qs.decode(b);\n        }, fromFragment = function(a) {\n            var b = a.href, c = b.indexOf(\"#\"), d = ((((c < 0)) ? \"\" : b.substring(((c + 1)))));\n            return qs.decode(d);\n        }, combined = function(a) {\n            var b = {\n            }, c = fromQuery(a), d = fromFragment(a);\n            {\n                var fin52keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin52i = (0);\n                var e;\n                for (; (fin52i < fin52keys.length); (fin52i++)) {\n                    ((e) = (fin52keys[fin52i]));\n                    {\n                        ((c.hasOwnProperty(e) && (b[e] = c[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin53keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin53i = (0);\n                var e;\n                for (; (fin53i < fin53keys.length); (fin53i++)) {\n                    ((e) = (fin53keys[fin53i]));\n                    {\n                        ((d.hasOwnProperty(e) && (b[e] = d[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        };\n        module.exports = {\n            combined: combined,\n            fromQuery: fromQuery,\n            fromFragment: fromFragment\n        };\n    });\n    define(\"app/data/with_auth_token\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"core/utils\",], function(module, require, exports) {\n        function withAuthToken() {\n            this.addAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    authenticity_token: authToken.get()\n                });\n            }, this.addPHXAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addPHXAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    post_authenticity_token: authToken.get()\n                });\n            }, this.getAuthToken = function() {\n                return this.attr.formAuthenticityToken;\n            };\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), utils = require(\"core/utils\");\n        module.exports = withAuthToken;\n    });\n    deferred(\"$lib/gibberish-aes.js\", function() {\n        (function(a) {\n            var b = function() {\n                var a = 14, c = 8, d = !1, e = function(a) {\n                    try {\n                        return unescape(encodeURIComponent(a));\n                    } catch (b) {\n                        throw \"Error on UTF-8 encode\";\n                    };\n                ;\n                }, f = function(a) {\n                    try {\n                        return decodeURIComponent(escape(a));\n                    } catch (b) {\n                        throw \"Bad Key\";\n                    };\n                ;\n                }, g = function(a) {\n                    var b = [], c, d;\n                    ((((a.length < 16)) && (c = ((16 - a.length)), b = [c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,])));\n                    for (d = 0; ((d < a.length)); d++) {\n                        b[d] = a[d];\n                    ;\n                    };\n                ;\n                    return b;\n                }, h = function(a, b) {\n                    var c = \"\", d, e;\n                    if (b) {\n                        d = a[15];\n                        if (((d > 16))) {\n                            throw \"Decryption error: Maybe bad key\";\n                        }\n                    ;\n                    ;\n                        if (((d == 16))) {\n                            return \"\";\n                        }\n                    ;\n                    ;\n                        for (e = 0; ((e < ((16 - d)))); e++) {\n                            c += String.fromCharCode(a[e]);\n                        ;\n                        };\n                    ;\n                    }\n                     else for (e = 0; ((e < 16)); e++) {\n                        c += String.fromCharCode(a[e]);\n                    ;\n                    }\n                ;\n                ;\n                    return c;\n                }, i = function(a) {\n                    var b = \"\", c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b += ((((((a[c] < 16)) ? \"0\" : \"\")) + a[c].toString(16)));\n                    ;\n                    };\n                ;\n                    return b;\n                }, j = function(a) {\n                    var b = [];\n                    return a.replace(/(..)/g, function(a) {\n                        b.push(parseInt(a, 16));\n                    }), b;\n                }, k = function(a) {\n                    a = e(a);\n                    var b = [], c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b[c] = a.charCodeAt(c);\n                    ;\n                    };\n                ;\n                    return b;\n                }, l = function(b) {\n                    switch (b) {\n                      case 128:\n                        a = 10, c = 4;\n                        break;\n                      case 192:\n                        a = 12, c = 6;\n                        break;\n                      case 256:\n                        a = 14, c = 8;\n                        break;\n                      default:\n                        throw ((\"Invalid Key Size Specified:\" + b));\n                    };\n                ;\n                }, m = function(a) {\n                    var b = [], c;\n                    for (c = 0; ((c < a)); c++) {\n                        b = b.concat(Math.floor(((Math.JSBNG__random() * 256))));\n                    ;\n                    };\n                ;\n                    return b;\n                }, n = function(d, e) {\n                    var f = ((((a >= 12)) ? 3 : 2)), g = [], h = [], i = [], j = [], k = d.concat(e), l;\n                    i[0] = b.Hash.MD5(k), j = i[0];\n                    for (l = 1; ((l < f)); l++) {\n                        i[l] = b.Hash.MD5(i[((l - 1))].concat(k)), j = j.concat(i[l]);\n                    ;\n                    };\n                ;\n                    return g = j.slice(0, ((4 * c))), h = j.slice(((4 * c)), ((((4 * c)) + 16))), {\n                        key: g,\n                        iv: h\n                    };\n                }, o = function(a, b, c) {\n                    b = x(b);\n                    var d = Math.ceil(((a.length / 16))), e = [], f, h = [];\n                    for (f = 0; ((f < d)); f++) {\n                        e[f] = g(a.slice(((f * 16)), ((((f * 16)) + 16))));\n                    ;\n                    };\n                ;\n                    ((((((a.length % 16)) === 0)) && (e.push([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]), d++)));\n                    for (f = 0; ((f < e.length)); f++) {\n                        e[f] = ((((f === 0)) ? w(e[f], c) : w(e[f], h[((f - 1))]))), h[f] = q(e[f], b);\n                    ;\n                    };\n                ;\n                    return h;\n                }, p = function(a, b, c, d) {\n                    b = x(b);\n                    var e = ((a.length / 16)), g = [], i, j = [], k = \"\";\n                    for (i = 0; ((i < e)); i++) {\n                        g.push(a.slice(((i * 16)), ((((i + 1)) * 16))));\n                    ;\n                    };\n                ;\n                    for (i = ((g.length - 1)); ((i >= 0)); i--) {\n                        j[i] = r(g[i], b), j[i] = ((((i === 0)) ? w(j[i], c) : w(j[i], g[((i - 1))])));\n                    ;\n                    };\n                ;\n                    for (i = 0; ((i < ((e - 1)))); i++) {\n                        k += h(j[i]);\n                    ;\n                    };\n                ;\n                    return k += h(j[i], !0), ((d ? k : f(k)));\n                }, q = function(b, c) {\n                    d = !1;\n                    var e = v(b, c, 0), f;\n                    for (f = 1; ((f < ((a + 1)))); f++) {\n                        e = s(e), e = t(e), ((((f < a)) && (e = u(e)))), e = v(e, c, f);\n                    ;\n                    };\n                ;\n                    return e;\n                }, r = function(b, c) {\n                    d = !0;\n                    var e = v(b, c, a), f;\n                    for (f = ((a - 1)); ((f > -1)); f--) {\n                        e = t(e), e = s(e), e = v(e, c, f), ((((f > 0)) && (e = u(e))));\n                    ;\n                    };\n                ;\n                    return e;\n                }, s = function(a) {\n                    var b = ((d ? B : A)), c = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        c[e] = b[a[e]];\n                    ;\n                    };\n                ;\n                    return c;\n                }, t = function(a) {\n                    var b = [], c = ((d ? [0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3,] : [0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11,])), e;\n                    for (e = 0; ((e < 16)); e++) {\n                        b[e] = a[c[e]];\n                    ;\n                    };\n                ;\n                    return b;\n                }, u = function(a) {\n                    var b = [], c;\n                    if (!d) {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((D[a[((c * 4))]] ^ E[a[((1 + ((c * 4))))]])) ^ a[((2 + ((c * 4))))])) ^ a[((3 + ((c * 4))))])), b[((1 + ((c * 4))))] = ((((((a[((c * 4))] ^ D[a[((1 + ((c * 4))))]])) ^ E[a[((2 + ((c * 4))))]])) ^ a[((3 + ((c * 4))))])), b[((2 + ((c * 4))))] = ((((((a[((c * 4))] ^ a[((1 + ((c * 4))))])) ^ D[a[((2 + ((c * 4))))]])) ^ E[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((E[a[((c * 4))]] ^ a[((1 + ((c * 4))))])) ^ a[((2 + ((c * 4))))])) ^ D[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                     else {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((I[a[((c * 4))]] ^ G[a[((1 + ((c * 4))))]])) ^ H[a[((2 + ((c * 4))))]])) ^ F[a[((3 + ((c * 4))))]])), b[((1 + ((c * 4))))] = ((((((F[a[((c * 4))]] ^ I[a[((1 + ((c * 4))))]])) ^ G[a[((2 + ((c * 4))))]])) ^ H[a[((3 + ((c * 4))))]])), b[((2 + ((c * 4))))] = ((((((H[a[((c * 4))]] ^ F[a[((1 + ((c * 4))))]])) ^ I[a[((2 + ((c * 4))))]])) ^ G[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((G[a[((c * 4))]] ^ H[a[((1 + ((c * 4))))]])) ^ F[a[((2 + ((c * 4))))]])) ^ I[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    return b;\n                }, v = function(a, b, c) {\n                    var d = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        d[e] = ((a[e] ^ b[c][e]));\n                    ;\n                    };\n                ;\n                    return d;\n                }, w = function(a, b) {\n                    var c = [], d;\n                    for (d = 0; ((d < 16)); d++) {\n                        c[d] = ((a[d] ^ b[d]));\n                    ;\n                    };\n                ;\n                    return c;\n                }, x = function(b) {\n                    var d = [], e = [], f, g, h, i = [], j;\n                    for (f = 0; ((f < c)); f++) {\n                        g = [b[((4 * f))],b[((((4 * f)) + 1))],b[((((4 * f)) + 2))],b[((((4 * f)) + 3))],], d[f] = g;\n                    ;\n                    };\n                ;\n                    for (f = c; ((f < ((4 * ((a + 1)))))); f++) {\n                        d[f] = [];\n                        for (h = 0; ((h < 4)); h++) {\n                            e[h] = d[((f - 1))][h];\n                        ;\n                        };\n                    ;\n                        ((((((f % c)) === 0)) ? (e = y(z(e)), e[0] ^= C[((((f / c)) - 1))]) : ((((((c > 6)) && ((((f % c)) == 4)))) && (e = y(e))))));\n                        for (h = 0; ((h < 4)); h++) {\n                            d[f][h] = ((d[((f - c))][h] ^ e[h]));\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    for (f = 0; ((f < ((a + 1)))); f++) {\n                        i[f] = [];\n                        for (j = 0; ((j < 4)); j++) {\n                            i[f].push(d[((((f * 4)) + j))][0], d[((((f * 4)) + j))][1], d[((((f * 4)) + j))][2], d[((((f * 4)) + j))][3]);\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    return i;\n                }, y = function(a) {\n                    for (var b = 0; ((b < 4)); b++) {\n                        a[b] = A[a[b]];\n                    ;\n                    };\n                ;\n                    return a;\n                }, z = function(a) {\n                    var b = a[0], c;\n                    for (c = 0; ((c < 4)); c++) {\n                        a[c] = a[((c + 1))];\n                    ;\n                    };\n                ;\n                    return a[3] = b, a;\n                }, A = [99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22,], B = [82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,], C = [1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,], D = [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,27,25,31,29,19,17,23,21,11,9,15,13,3,1,7,5,59,57,63,61,51,49,55,53,43,41,47,45,35,33,39,37,91,89,95,93,83,81,87,85,75,73,79,77,67,65,71,69,123,121,127,125,115,113,119,117,107,105,111,109,99,97,103,101,155,153,159,157,147,145,151,149,139,137,143,141,131,129,135,133,187,185,191,189,179,177,183,181,171,169,175,173,163,161,167,165,219,217,223,221,211,209,215,213,203,201,207,205,195,193,199,197,251,249,255,253,243,241,247,245,235,233,239,237,227,225,231,229,], E = [0,3,6,5,12,15,10,9,24,27,30,29,20,23,18,17,48,51,54,53,60,63,58,57,40,43,46,45,36,39,34,33,96,99,102,101,108,111,106,105,120,123,126,125,116,119,114,113,80,83,86,85,92,95,90,89,72,75,78,77,68,71,66,65,192,195,198,197,204,207,202,201,216,219,222,221,212,215,210,209,240,243,246,245,252,255,250,249,232,235,238,237,228,231,226,225,160,163,166,165,172,175,170,169,184,187,190,189,180,183,178,177,144,147,150,149,156,159,154,153,136,139,142,141,132,135,130,129,155,152,157,158,151,148,145,146,131,128,133,134,143,140,137,138,171,168,173,174,167,164,161,162,179,176,181,182,191,188,185,186,251,248,253,254,247,244,241,242,227,224,229,230,239,236,233,234,203,200,205,206,199,196,193,194,211,208,213,214,223,220,217,218,91,88,93,94,87,84,81,82,67,64,69,70,79,76,73,74,107,104,109,110,103,100,97,98,115,112,117,118,127,124,121,122,59,56,61,62,55,52,49,50,35,32,37,38,47,44,41,42,11,8,13,14,7,4,1,2,19,16,21,22,31,28,25,26,], F = [0,9,18,27,36,45,54,63,72,65,90,83,108,101,126,119,144,153,130,139,180,189,166,175,216,209,202,195,252,245,238,231,59,50,41,32,31,22,13,4,115,122,97,104,87,94,69,76,171,162,185,176,143,134,157,148,227,234,241,248,199,206,213,220,118,127,100,109,82,91,64,73,62,55,44,37,26,19,8,1,230,239,244,253,194,203,208,217,174,167,188,181,138,131,152,145,77,68,95,86,105,96,123,114,5,12,23,30,33,40,51,58,221,212,207,198,249,240,235,226,149,156,135,142,177,184,163,170,236,229,254,247,200,193,218,211,164,173,182,191,128,137,146,155,124,117,110,103,88,81,74,67,52,61,38,47,16,25,2,11,215,222,197,204,243,250,225,232,159,150,141,132,187,178,169,160,71,78,85,92,99,106,113,120,15,6,29,20,43,34,57,48,154,147,136,129,190,183,172,165,210,219,192,201,246,255,228,237,10,3,24,17,46,39,60,53,66,75,80,89,102,111,116,125,161,168,179,186,133,140,151,158,233,224,251,242,205,196,223,214,49,56,35,42,21,28,7,14,121,112,107,98,93,84,79,70,], G = [0,11,22,29,44,39,58,49,88,83,78,69,116,127,98,105,176,187,166,173,156,151,138,129,232,227,254,245,196,207,210,217,123,112,109,102,87,92,65,74,35,40,53,62,15,4,25,18,203,192,221,214,231,236,241,250,147,152,133,142,191,180,169,162,246,253,224,235,218,209,204,199,174,165,184,179,130,137,148,159,70,77,80,91,106,97,124,119,30,21,8,3,50,57,36,47,141,134,155,144,161,170,183,188,213,222,195,200,249,242,239,228,61,54,43,32,17,26,7,12,101,110,115,120,73,66,95,84,247,252,225,234,219,208,205,198,175,164,185,178,131,136,149,158,71,76,81,90,107,96,125,118,31,20,9,2,51,56,37,46,140,135,154,145,160,171,182,189,212,223,194,201,248,243,238,229,60,55,42,33,16,27,6,13,100,111,114,121,72,67,94,85,1,10,23,28,45,38,59,48,89,82,79,68,117,126,99,104,177,186,167,172,157,150,139,128,233,226,255,244,197,206,211,216,122,113,108,103,86,93,64,75,34,41,52,63,14,5,24,19,202,193,220,215,230,237,240,251,146,153,132,143,190,181,168,163,], H = [0,13,26,23,52,57,46,35,104,101,114,127,92,81,70,75,208,221,202,199,228,233,254,243,184,181,162,175,140,129,150,155,187,182,161,172,143,130,149,152,211,222,201,196,231,234,253,240,107,102,113,124,95,82,69,72,3,14,25,20,55,58,45,32,109,96,119,122,89,84,67,78,5,8,31,18,49,60,43,38,189,176,167,170,137,132,147,158,213,216,207,194,225,236,251,246,214,219,204,193,226,239,248,245,190,179,164,169,138,135,144,157,6,11,28,17,50,63,40,37,110,99,116,121,90,87,64,77,218,215,192,205,238,227,244,249,178,191,168,165,134,139,156,145,10,7,16,29,62,51,36,41,98,111,120,117,86,91,76,65,97,108,123,118,85,88,79,66,9,4,19,30,61,48,39,42,177,188,171,166,133,136,159,146,217,212,195,206,237,224,247,250,183,186,173,160,131,142,153,148,223,210,197,200,235,230,241,252,103,106,125,112,83,94,73,68,15,2,21,24,59,54,33,44,12,1,22,27,56,53,34,47,100,105,126,115,80,93,74,71,220,209,198,203,232,229,242,255,180,185,174,163,128,141,154,151,], I = [0,14,28,18,56,54,36,42,112,126,108,98,72,70,84,90,224,238,252,242,216,214,196,202,144,158,140,130,168,166,180,186,219,213,199,201,227,237,255,241,171,165,183,185,147,157,143,129,59,53,39,41,3,13,31,17,75,69,87,89,115,125,111,97,173,163,177,191,149,155,137,135,221,211,193,207,229,235,249,247,77,67,81,95,117,123,105,103,61,51,33,47,5,11,25,23,118,120,106,100,78,64,82,92,6,8,26,20,62,48,34,44,150,152,138,132,174,160,178,188,230,232,250,244,222,208,194,204,65,79,93,83,121,119,101,107,49,63,45,35,9,7,21,27,161,175,189,179,153,151,133,139,209,223,205,195,233,231,245,251,154,148,134,136,162,172,190,176,234,228,246,248,210,220,206,192,122,116,102,104,66,76,94,80,10,4,22,24,50,60,46,32,236,226,240,254,212,218,200,198,156,146,128,142,164,170,184,182,12,2,16,30,52,58,40,38,124,114,96,110,68,74,88,86,55,57,43,37,15,1,19,29,71,73,91,85,127,113,99,109,215,217,203,197,239,225,243,253,167,169,187,181,159,145,131,141,], J = function(a, b, c) {\n                    var d = m(8), e = n(k(b), d), f = e.key, g = e.iv, h, i = [[83,97,108,116,101,100,95,95,].concat(d),];\n                    return ((c || (a = k(a)))), h = o(a, f, g), h = i.concat(h), M.encode(h);\n                }, K = function(a, b, c) {\n                    var d = M.decode(a), e = d.slice(8, 16), f = n(k(b), e), g = f.key, h = f.iv;\n                    return d = d.slice(16, d.length), a = p(d, g, h, c), a;\n                }, L = function(a) {\n                    function b(a, b) {\n                        return ((((a << b)) | ((a >>> ((32 - b))))));\n                    };\n                ;\n                    function c(a, b) {\n                        var c, d, e, f, g;\n                        return e = ((a & 2147483648)), f = ((b & 2147483648)), c = ((a & 1073741824)), d = ((b & 1073741824)), g = ((((a & 1073741823)) + ((b & 1073741823)))), ((((c & d)) ? ((((((g ^ 2147483648)) ^ e)) ^ f)) : ((((c | d)) ? ((((g & 1073741824)) ? ((((((g ^ 3221225472)) ^ e)) ^ f)) : ((((((g ^ 1073741824)) ^ e)) ^ f)))) : ((((g ^ e)) ^ f))))));\n                    };\n                ;\n                    function d(a, b, c) {\n                        return ((((a & b)) | ((~a & c))));\n                    };\n                ;\n                    function e(a, b, c) {\n                        return ((((a & c)) | ((b & ~c))));\n                    };\n                ;\n                    function f(a, b, c) {\n                        return ((((a ^ b)) ^ c));\n                    };\n                ;\n                    function g(a, b, c) {\n                        return ((b ^ ((a | ~c))));\n                    };\n                ;\n                    function h(a, e, f, g, h, i, j) {\n                        return a = c(a, c(c(d(e, f, g), h), j)), c(b(a, i), e);\n                    };\n                ;\n                    function i(a, d, f, g, h, i, j) {\n                        return a = c(a, c(c(e(d, f, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function j(a, d, e, g, h, i, j) {\n                        return a = c(a, c(c(f(d, e, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function k(a, d, e, f, h, i, j) {\n                        return a = c(a, c(c(g(d, e, f), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function l(a) {\n                        var b, c = a.length, d = ((c + 8)), e = ((((d - ((d % 64)))) / 64)), f = ((((e + 1)) * 16)), g = [], h = 0, i = 0;\n                        while (((i < c))) {\n                            b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((a[i] << h)))), i++;\n                        ;\n                        };\n                    ;\n                        return b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((128 << h)))), g[((f - 2))] = ((c << 3)), g[((f - 1))] = ((c >>> 29)), g;\n                    };\n                ;\n                    function m(a) {\n                        var b, c, d = [];\n                        for (c = 0; ((c <= 3)); c++) {\n                            b = ((((a >>> ((c * 8)))) & 255)), d = d.concat(b);\n                        ;\n                        };\n                    ;\n                        return d;\n                    };\n                ;\n                    var n = [], o, p, q, r, s, t, u, v, w, x = 7, y = 12, z = 17, A = 22, B = 5, C = 9, D = 14, E = 20, F = 4, G = 11, H = 16, I = 23, J = 6, K = 10, L = 15, M = 21;\n                    n = l(a), t = 1732584193, u = 4023233417, v = 2562383102, w = 271733878;\n                    for (o = 0; ((o < n.length)); o += 16) {\n                        p = t, q = u, r = v, s = w, t = h(t, u, v, w, n[((o + 0))], x, 3614090360), w = h(w, t, u, v, n[((o + 1))], y, 3905402710), v = h(v, w, t, u, n[((o + 2))], z, 606105819), u = h(u, v, w, t, n[((o + 3))], A, 3250441966), t = h(t, u, v, w, n[((o + 4))], x, 4118548399), w = h(w, t, u, v, n[((o + 5))], y, 1200080426), v = h(v, w, t, u, n[((o + 6))], z, 2821735955), u = h(u, v, w, t, n[((o + 7))], A, 4249261313), t = h(t, u, v, w, n[((o + 8))], x, 1770035416), w = h(w, t, u, v, n[((o + 9))], y, 2336552879), v = h(v, w, t, u, n[((o + 10))], z, 4294925233), u = h(u, v, w, t, n[((o + 11))], A, 2304563134), t = h(t, u, v, w, n[((o + 12))], x, 1804603682), w = h(w, t, u, v, n[((o + 13))], y, 4254626195), v = h(v, w, t, u, n[((o + 14))], z, 2792965006), u = h(u, v, w, t, n[((o + 15))], A, 1236535329), t = i(t, u, v, w, n[((o + 1))], B, 4129170786), w = i(w, t, u, v, n[((o + 6))], C, 3225465664), v = i(v, w, t, u, n[((o + 11))], D, 643717713), u = i(u, v, w, t, n[((o + 0))], E, 3921069994), t = i(t, u, v, w, n[((o + 5))], B, 3593408605), w = i(w, t, u, v, n[((o + 10))], C, 38016083), v = i(v, w, t, u, n[((o + 15))], D, 3634488961), u = i(u, v, w, t, n[((o + 4))], E, 3889429448), t = i(t, u, v, w, n[((o + 9))], B, 568446438), w = i(w, t, u, v, n[((o + 14))], C, 3275163606), v = i(v, w, t, u, n[((o + 3))], D, 4107603335), u = i(u, v, w, t, n[((o + 8))], E, 1163531501), t = i(t, u, v, w, n[((o + 13))], B, 2850285829), w = i(w, t, u, v, n[((o + 2))], C, 4243563512), v = i(v, w, t, u, n[((o + 7))], D, 1735328473), u = i(u, v, w, t, n[((o + 12))], E, 2368359562), t = j(t, u, v, w, n[((o + 5))], F, 4294588738), w = j(w, t, u, v, n[((o + 8))], G, 2272392833), v = j(v, w, t, u, n[((o + 11))], H, 1839030562), u = j(u, v, w, t, n[((o + 14))], I, 4259657740), t = j(t, u, v, w, n[((o + 1))], F, 2763975236), w = j(w, t, u, v, n[((o + 4))], G, 1272893353), v = j(v, w, t, u, n[((o + 7))], H, 4139469664), u = j(u, v, w, t, n[((o + 10))], I, 3200236656), t = j(t, u, v, w, n[((o + 13))], F, 681279174), w = j(w, t, u, v, n[((o + 0))], G, 3936430074), v = j(v, w, t, u, n[((o + 3))], H, 3572445317), u = j(u, v, w, t, n[((o + 6))], I, 76029189), t = j(t, u, v, w, n[((o + 9))], F, 3654602809), w = j(w, t, u, v, n[((o + 12))], G, 3873151461), v = j(v, w, t, u, n[((o + 15))], H, 530742520), u = j(u, v, w, t, n[((o + 2))], I, 3299628645), t = k(t, u, v, w, n[((o + 0))], J, 4096336452), w = k(w, t, u, v, n[((o + 7))], K, 1126891415), v = k(v, w, t, u, n[((o + 14))], L, 2878612391), u = k(u, v, w, t, n[((o + 5))], M, 4237533241), t = k(t, u, v, w, n[((o + 12))], J, 1700485571), w = k(w, t, u, v, n[((o + 3))], K, 2399980690), v = k(v, w, t, u, n[((o + 10))], L, 4293915773), u = k(u, v, w, t, n[((o + 1))], M, 2240044497), t = k(t, u, v, w, n[((o + 8))], J, 1873313359), w = k(w, t, u, v, n[((o + 15))], K, 4264355552), v = k(v, w, t, u, n[((o + 6))], L, 2734768916), u = k(u, v, w, t, n[((o + 13))], M, 1309151649), t = k(t, u, v, w, n[((o + 4))], J, 4149444226), w = k(w, t, u, v, n[((o + 11))], K, 3174756917), v = k(v, w, t, u, n[((o + 2))], L, 718787259), u = k(u, v, w, t, n[((o + 9))], M, 3951481745), t = c(t, p), u = c(u, q), v = c(v, r), w = c(w, s);\n                    ;\n                    };\n                ;\n                    return m(t).concat(m(u), m(v), m(w));\n                }, M = function() {\n                    var a = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", b = a.split(\"\"), c = function(a, c) {\n                        var d = [], e = \"\", f, g;\n                        totalChunks = Math.floor(((((a.length * 16)) / 3)));\n                        for (f = 0; ((f < ((a.length * 16)))); f++) {\n                            d.push(a[Math.floor(((f / 16)))][((f % 16))]);\n                        ;\n                        };\n                    ;\n                        for (f = 0; ((f < d.length)); f += 3) {\n                            e += b[((d[f] >> 2))], e += b[((((((d[f] & 3)) << 4)) | ((d[((f + 1))] >> 4))))], ((((d[((f + 1))] !== undefined)) ? e += b[((((((d[((f + 1))] & 15)) << 2)) | ((d[((f + 2))] >> 6))))] : e += \"=\")), ((((d[((f + 2))] !== undefined)) ? e += b[((d[((f + 2))] & 63))] : e += \"=\"));\n                        ;\n                        };\n                    ;\n                        g = ((e.slice(0, 64) + \"\\u000a\"));\n                        for (f = 1; ((f < Math.ceil(((e.length / 64))))); f++) {\n                            g += ((e.slice(((f * 64)), ((((f * 64)) + 64))) + ((((Math.ceil(((e.length / 64))) == ((f + 1)))) ? \"\" : \"\\u000a\"))));\n                        ;\n                        };\n                    ;\n                        return g;\n                    }, d = function(b) {\n                        b = b.replace(/\\n/g, \"\");\n                        var c = [], d = [], e = [], f;\n                        for (f = 0; ((f < b.length)); f += 4) {\n                            d[0] = a.indexOf(b.charAt(f)), d[1] = a.indexOf(b.charAt(((f + 1)))), d[2] = a.indexOf(b.charAt(((f + 2)))), d[3] = a.indexOf(b.charAt(((f + 3)))), e[0] = ((((d[0] << 2)) | ((d[1] >> 4)))), e[1] = ((((((d[1] & 15)) << 4)) | ((d[2] >> 2)))), e[2] = ((((((d[2] & 3)) << 6)) | d[3])), c.push(e[0], e[1], e[2]);\n                        ;\n                        };\n                    ;\n                        return c = c.slice(0, ((c.length - ((c.length % 16))))), c;\n                    };\n                    return ((((typeof Array.indexOf == \"function\")) && (a = b))), {\n                        encode: c,\n                        decode: d\n                    };\n                }();\n                return {\n                    size: l,\n                    h2a: j,\n                    expandKey: x,\n                    encryptBlock: q,\n                    decryptBlock: r,\n                    Decrypt: d,\n                    s2a: k,\n                    rawEncrypt: o,\n                    dec: K,\n                    openSSLKey: n,\n                    a2h: i,\n                    enc: J,\n                    Hash: {\n                        MD5: L\n                    },\n                    Base64: M\n                };\n            }();\n            a.GibberishAES = b;\n        })(window);\n    });\n    provide(\"app/utils/crypto/aes\", function(a) {\n        using(\"$lib/gibberish-aes.js\", function() {\n            var b = GibberishAES;\n            window.GibberishAES = null, a(b);\n        });\n    });\n    define(\"app/utils/storage/with_crypto\", [\"module\",\"require\",\"exports\",\"app/utils/crypto/aes\",], function(module, require, exports) {\n        function withCrypto() {\n            this.after(\"initialize\", function(a, b) {\n                this.secret = b;\n            }), this.around(\"getItem\", function(a, b) {\n                try {\n                    return a(b);\n                } catch (c) {\n                    return this.removeItem(b), null;\n                };\n            ;\n            }), this.around(\"decode\", function(a, b) {\n                return a(aes.dec(b, this.secret));\n            }), this.around(\"encode\", function(a, b) {\n                return aes.enc(a(b), this.secret);\n            });\n        };\n    ;\n        var aes = require(\"app/utils/crypto/aes\");\n        module.exports = withCrypto;\n    });\n    define(\"app/utils/storage/with_expiry\", [\"module\",\"require\",\"exports\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function withExpiry() {\n            this.now = function() {\n                return (new JSBNG__Date).getTime();\n            }, this.isExpired = function(a) {\n                var b = this.ttl.getItem(a);\n                return ((((((typeof b == \"number\")) && ((this.now() > b)))) ? !0 : !1));\n            }, this.updateTTL = function(a, b) {\n                ((((typeof b == \"number\")) && this.ttl.setItem(a, ((this.now() + b)))));\n            }, this.getCacheAge = function(a, b) {\n                var c = this.ttl.getItem(a);\n                if (((c == null))) {\n                    return -1;\n                }\n            ;\n            ;\n                var d = ((c - b)), e = ((this.now() - d));\n                return ((((e < 0)) ? -1 : Math.floor(((e / 3600000)))));\n            }, this.after(\"initialize\", function() {\n                this.ttl = new JSBNG__Storage(((this.namespace + \"_ttl\")));\n            }), this.around(\"setItem\", function(a, b, c, d) {\n                return ((((typeof d == \"number\")) ? this.ttl.setItem(b, ((this.now() + d))) : this.ttl.removeItem(b))), a(b, c);\n            }), this.around(\"getItem\", function(a, b) {\n                var c = this.ttl.getItem(b);\n                return ((((((typeof c == \"number\")) && ((this.now() > c)))) && this.removeItem(b))), a(b);\n            }), this.after(\"removeItem\", function(a) {\n                this.ttl.removeItem(a);\n            }), this.after(\"clear\", function() {\n                this.ttl.clear();\n            });\n        };\n    ;\n        var JSBNG__Storage = require(\"app/utils/storage/core\");\n        module.exports = withExpiry;\n    });\n    define(\"app/utils/storage/array/with_array\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withArray() {\n            this.getArray = function(a) {\n                return ((this.getItem(a) || []));\n            }, this.push = function(a, b) {\n                var c = this.getArray(a), d = c.push(b);\n                return this.setItem(a, c), d;\n            }, this.pushAll = function(a, b) {\n                var c = this.getArray(a);\n                return c.push.apply(c, b), this.setItem(a, c), c;\n            };\n        };\n    ;\n        module.exports = withArray;\n    });\n    define(\"app/utils/storage/array/with_max_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withMaxElements() {\n            compose.mixin(this, [withArray,]), this.maxElements = {\n            }, this.getMaxElements = function(a) {\n                return ((this.maxElements[a] || 0));\n            }, this.setMaxElements = function(a, b) {\n                this.maxElements[a] = b;\n            }, this.before(\"push\", function(a, b) {\n                this.makeRoomFor(a, 1);\n            }), this.around(\"pushAll\", function(a, b, c) {\n                return c = ((c || [])), this.makeRoomFor(b, c.length), a(b, c.slice(Math.max(0, ((c.length - this.getMaxElements(b))))));\n            }), this.makeRoomFor = function(a, b) {\n                var c = this.getArray(a), d = ((((c.length + b)) - this.getMaxElements(a)));\n                ((((d > 0)) && (c.splice(0, d), this.setItem(a, c))));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withMaxElements;\n    });\n    define(\"app/utils/storage/array/with_unique_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withUniqueElements() {\n            compose.mixin(this, [withArray,]), this.before(\"push\", function(a, b) {\n                var c = this.getArray(a);\n                ((this.deleteElement(c, b) && this.setItem(a, c)));\n            }), this.around(\"pushAll\", function(a, b, c) {\n                c = ((c || []));\n                var d = this.getArray(b), e = !1, f = [], g = {\n                };\n                return c.forEach(function(a) {\n                    ((g[a] || (e = ((this.deleteElement(d, a) || e)), g[a] = !0, f.push(a))));\n                }, this), ((e && this.setItem(b, d))), a(b, f);\n            }), this.deleteElement = function(a, b) {\n                var c = -1;\n                return (((((c = a.indexOf(b)) >= 0)) ? (a.splice(c, 1), !0) : !1));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withUniqueElements;\n    });\n    define(\"app/utils/storage/custom\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/core\",\"app/utils/storage/with_crypto\",\"app/utils/storage/with_expiry\",\"app/utils/storage/array/with_array\",\"app/utils/storage/array/with_max_elements\",\"app/utils/storage/array/with_unique_elements\",], function(module, require, exports) {\n        function storageConstr(a) {\n            var b = Object.keys(a).filter(function(b) {\n                return a[b];\n            }).sort().join(\",\"), c;\n            if (c = lookup[b]) {\n                return c;\n            }\n        ;\n        ;\n            c = function() {\n                CoreStorage.apply(this, arguments);\n            }, c.prototype = new CoreStorage;\n            var d = [];\n            return ((a.withCrypto && d.push(withCrypto))), ((a.withExpiry && d.push(withExpiry))), ((a.withArray && d.push(withArray))), ((a.withUniqueElements && d.push(withUniqueElements))), ((a.withMaxElements && d.push(withMaxElements))), ((((d.length > 0)) && compose.mixin(c.prototype, d))), lookup[b] = c, c;\n        };\n    ;\n        var compose = require(\"core/compose\"), CoreStorage = require(\"app/utils/storage/core\"), withCrypto = require(\"app/utils/storage/with_crypto\"), withExpiry = require(\"app/utils/storage/with_expiry\"), withArray = require(\"app/utils/storage/array/with_array\"), withMaxElements = require(\"app/utils/storage/array/with_max_elements\"), withUniqueElements = require(\"app/utils/storage/array/with_unique_elements\"), lookup = {\n        };\n        module.exports = storageConstr;\n    });\n    define(\"app/data/with_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/i18n\",\"app/data/notifications\",\"app/utils/params\",\"app/data/with_auth_token\",\"app/utils/storage/custom\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function initializeXhrStorage() {\n            ((xhrStorage || (xhrStorage = new CoreStorage(\"XHRNotes\"))));\n        };\n    ;\n        function withData() {\n            compose.mixin(this, [withAuthToken,]);\n            var a = [];\n            this.composeData = function(a, b) {\n                return a = ((a || {\n                })), ((b.eventData && (a.sourceEventData = b.eventData))), a;\n            }, this.callSuccessHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.callErrorHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.createSuccessHandler = function(b, c) {\n                return initializeXhrStorage(), function(d, e, f) {\n                    a.slice(a.indexOf(f), 1);\n                    var g = d, h = null, i = encodeURIComponent(c.url);\n                    if (((((d && d.hasOwnProperty(\"note\"))) && d.hasOwnProperty(\"JSBNG__inner\")))) {\n                        g = d.JSBNG__inner, h = d.note;\n                        var j = f.getResponseHeader(\"x-transaction\");\n                        ((((j && ((j != xhrStorage.getItem(i))))) && (h.notCached = !0, xhrStorage.setItem(i, j))));\n                    }\n                ;\n                ;\n                    g = this.composeData(g, c), ((c.cache_ttl && storage.setItem(i, {\n                        data: g,\n                        time: (new JSBNG__Date).getTime()\n                    }, c.cache_ttl))), this.callSuccessHandler(b, g, c), ((h && (notifications.updateNotificationState(h), ((h.notCached && this.trigger(\"dataNotificationsReceived\", h)))))), ((g.debug && this.trigger(\"dataSetDebugData\", g.debug)));\n                }.bind(this);\n            }, this.createErrorHandler = function(b, c) {\n                return function(d) {\n                    a.slice(a.indexOf(d), 1);\n                    var e;\n                    try {\n                        e = JSON.parse(d.responseText), ((((((e && e.message)) && !this.attr.noShowError)) && this.trigger(\"uiShowError\", e)));\n                    } catch (f) {\n                        e = {\n                            xhr: {\n                            }\n                        }, ((((d && d.statusText)) && (e.xhr.statusText = d.statusText)));\n                    };\n                ;\n                    ((e.message || (e.message = _(\"Internal server error.\")))), e = this.composeData(e, c), this.callErrorHandler(b, e, c);\n                }.bind(this);\n            }, this.sortData = function(a) {\n                if (((!a || ((typeof a != \"object\"))))) {\n                    return a;\n                }\n            ;\n            ;\n                var b = {\n                }, c = Object.keys(a).sort();\n                return c.forEach(function(c) {\n                    b[c] = a[c];\n                }), b;\n            }, this.extractParams = function(a, b) {\n                var c = {\n                }, d = params.fromQuery(b);\n                return Object.keys(d).forEach(function(b) {\n                    ((a[b] && (c[b] = d[b])));\n                }), c;\n            }, this.JSONRequest = function(b, c) {\n                var d;\n                if (b.cache_ttl) {\n                    ((storage || (storage = new StorageConstr(\"with_data\")))), d = storage.getItem(encodeURIComponent(b.url));\n                    if (((d && ((((new JSBNG__Date - d.time)) <= b.cache_ttl))))) {\n                        ((b.success && this.callSuccessHandler(b.success, d.data)));\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                var e = ((((c == \"POST\")) || ((c == \"DELETE\"))));\n                ((((e && ((b.isMutation === !1)))) && (e = !1))), delete b.isMutation, ((((this.trigger && e)) && this.trigger(\"dataPageMutated\"))), [\"url\",].forEach(function(a) {\n                    if (!b.hasOwnProperty(a)) {\n                        throw new Error(((\"getJSONRequest called without required option: \" + a)), arguments);\n                    }\n                ;\n                ;\n                });\n                var f = ((b.data || {\n                })), g = b.headers;\n                (((([\"GET\",\"POST\",].indexOf(c) < 0)) && (f = $.extend({\n                    _method: c\n                }, f), c = \"POST\"))), ((((c == \"POST\")) && (f = this.addAuthToken(f), ((((g && g[\"X-PHX\"])) && (f = this.addPHXAuthToken(f)))))));\n                var h = $.extend({\n                    lang: !0\n                }, b.echoParams);\n                f = $.extend(f, this.extractParams(h, window.JSBNG__location)), ((b.success && (b.success = this.createSuccessHandler(b.success, b)))), ((b.error && (b.error = this.createErrorHandler(b.error, b)))), $.extend(f, notifications.extraParameters(b.url));\n                var i = $.ajax($.extend(b, {\n                    url: b.url,\n                    data: this.sortData(f),\n                    dataType: ((b.dataType || \"json\")),\n                    type: c\n                }));\n                return ((b.noAbortOnNavigate || a.push(i))), i;\n            }, this.get = function(a) {\n                return this.JSONRequest(a, \"GET\");\n            }, this.post = function(a) {\n                return this.JSONRequest(a, \"POST\");\n            }, this.destroy = function(a) {\n                return this.JSONRequest(a, \"DELETE\");\n            }, this.abortAllXHR = function() {\n                a.forEach(function(a) {\n                    ((((a && a.abort)) && a.abort()));\n                }), a = [];\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataBeforeNavigate\", this.abortAllXHR);\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), _ = require(\"core/i18n\"), notifications = require(\"app/data/notifications\"), params = require(\"app/utils/params\"), withAuthToken = require(\"app/data/with_auth_token\"), customStorage = require(\"app/utils/storage/custom\"), CoreStorage = require(\"app/utils/storage/core\"), StorageConstr = customStorage({\n            withExpiry: !0\n        }), storage, xhrStorage;\n        module.exports = withData;\n    });\n    define(\"app/data/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/registry\",\"app/utils/time\",\"app/utils/full_path\",\"app/data/with_data\",], function(module, require, exports) {\n        function navigationData() {\n            this.defaultAttrs({\n                viewContainer: \"#page-container\",\n                pushStateRequestHeaders: {\n                    \"X-Push-State-Request\": !0\n                },\n                pushState: !0,\n                pushStateSupported: !0,\n                pushStatePageLimit: 500000,\n                assetsBasePath: \"/\",\n                noTeardown: !0,\n                init_data: {\n                }\n            });\n            var a = /\\/a\\/(\\d+)/, b, c, d;\n            this.pageCache = {\n            }, this.pageCacheTTLs = {\n            }, this.pageCacheScroll = {\n            }, this.navigateUsingPushState = function(a, b) {\n                var e = fullPath();\n                d = b.href, c = b.isPopState;\n                if (((((!c && ((b.href == e)))) && this.pageCache[e]))) {\n                    return;\n                }\n            ;\n            ;\n                this.getPageData(b.href);\n            }, this.sweepPageCache = function() {\n                var a = time.now();\n                {\n                    var fin54keys = ((window.top.JSBNG_Replay.forInKeys)((this.pageCacheTTLs))), fin54i = (0);\n                    var b;\n                    for (; (fin54i < fin54keys.length); (fin54i++)) {\n                        ((b) = (fin54keys[fin54i]));\n                        {\n                            ((((a > this.pageCacheTTLs[b])) && (delete this.pageCache[b], delete this.pageCacheTTLs[b])));\n                        ;\n                        };\n                    };\n                };\n            ;\n            }, this.hasDeployTimestampChanged = function(b) {\n                var c = ((this.attr.assetsBasePath && this.attr.assetsBasePath.match(a))), d = ((b.init_data.assetsBasePath && b.init_data.assetsBasePath.match(a)));\n                return ((((c && d)) && ((d[1] != c[1]))));\n            }, this.getPageData = function(a) {\n                var b;\n                this.trigger(\"dataBeforeNavigate\"), ((this.attr.init_data.initialState && this.createInitialState())), this.sweepPageCache(), this.trigger(\"uiBeforeNewPageLoad\");\n                if (b = this.pageCache[a]) b.fromCache = !0, this.pageDataReceived(a, b);\n                 else {\n                    this.trigger(\"dataPageFetch\");\n                    var c = this.attr.pushStateRequestHeaders, e = this.pageCacheScroll[a];\n                    ((e && (c = utils.merge(c, {\n                        TopViewportItem: e.topItem\n                    })))), this.get({\n                        headers: c,\n                        url: a,\n                        success: function(b) {\n                            var c;\n                            if (((((b.init_data && b.page)) && b.module))) {\n                                c = b.init_data.href, b.href = c;\n                                if (!b.init_data.pushState) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (this.hasDeployTimestampChanged(b)) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (((b.init_data.viewContainer != this.attr.viewContainer))) {\n                                    this.attr.viewContainer = b.init_data.viewContainer, this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                this.cacheState(c, b);\n                                if (((d != a))) {\n                                    return;\n                                }\n                            ;\n                            ;\n                                ((e && (b.scrollPosition = e))), this.pageDataReceived(c, b);\n                            }\n                             else this.navigateTo(((b.href || a)));\n                        ;\n                        ;\n                        }.bind(this),\n                        error: function(b) {\n                            this.navigateTo(a);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }, this.setTimelineScrollPosition = function(a, c) {\n                this.pageCacheScroll[b] = c;\n            }, this.updatePageState = function() {\n                var a = this.pageCache[b];\n                ((a && (a.page = this.select(\"viewContainer\").html(), this.pageCacheTTLs[b] = time(a.cache_ttl).seconds.fromNow().getTime(), ((((a.page.length > this.attr.pushStatePageLimit)) && (delete this.pageCache[b], delete this.pageCacheTTLs[b]))))));\n            }, this.cacheState = function(a, b) {\n                this.pageCache[a] = b, this.pageCacheTTLs[a] = time(b.cache_ttl).seconds.fromNow().getTime();\n            }, this.pageDataReceived = function(a, b) {\n                ((((a != fullPath())) && JSBNG__history.pushState({\n                }, b.title, a))), b.isPopState = c, this.trigger(\"dataPageRefresh\", b);\n            }, this.swiftTeardownAll = function() {\n                Object.keys(registry.allInstances).forEach(function(a) {\n                    var b = registry.allInstances[a].instance;\n                    ((b.attr.noTeardown || b.teardown()));\n                });\n            }, this.doTeardown = function(a, c) {\n                this.swiftTeardownAll(), ((((c.href != b)) && this.updatePageState()));\n            }, this.createInitialState = function() {\n                var a = utils.merge(this.attr.init_data.initialState, !0);\n                a.init_data = utils.merge(this.attr.init_data, !0), delete a.init_data.initialState, this.attr.init_data.initialState = null, this.cacheState(b, a), JSBNG__history.replaceState({\n                }, a.title, b);\n            }, this.resetPageCache = function(a, b) {\n                this.pageCache = {\n                }, this.pageCacheTTLs = {\n                };\n            }, this.removePageFromCache = function(a, b) {\n                var c = b.href;\n                ((this.pageCache[c] && (delete this.pageCache[c], delete this.pageCacheTTLs[c])));\n            }, this.navigateTo = function(a) {\n                JSBNG__location.href = a;\n            }, this.navigateUsingRedirect = function(a, c) {\n                var d = c.href;\n                ((((d != b)) && this.navigateTo(d)));\n            }, this.destroyCurrentPageState = function() {\n                JSBNG__history.replaceState(null, JSBNG__document.title, b);\n            }, this.resetStateVariables = function() {\n                b = fullPath(), c = !1, d = null;\n            }, this.after(\"initialize\", function() {\n                ((((this.attr.pushState && this.attr.pushStateSupported)) ? (this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingPushState), this.JSBNG__on(JSBNG__document, \"uiTimelineScrollSet\", this.setTimelineScrollPosition), this.JSBNG__on(\"uiTeardown\", this.doTeardown), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetPageCache), this.JSBNG__on(JSBNG__document, \"uiPromotedLinkClick\", this.removePageFromCache), this.JSBNG__on(window, \"beforeunload\", this.destroyCurrentPageState)) : (this.JSBNG__on(\"uiSwiftLoaded\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingRedirect))));\n            });\n        };\n    ;\n        var component = require(\"core/component\"), utils = require(\"core/utils\"), registry = require(\"core/registry\"), time = require(\"app/utils/time\"), fullPath = require(\"app/utils/full_path\"), withData = require(\"app/data/with_data\"), NavigationData = component(navigationData, withData);\n        module.exports = NavigationData;\n    });\n    define(\"app/ui/with_dropdown\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withDropdown() {\n            this.toggleDisplay = function(a) {\n                this.$node.toggleClass(\"open\"), ((this.$node.hasClass(\"open\") && (this.activeEl = JSBNG__document.activeElement, this.trigger(\"uiDropdownOpened\")))), ((a && a.preventDefault()));\n            }, this.ignoreCloseEvent = !1, this.closeDropdown = function() {\n                this.$node.removeClass(\"open\");\n            }, this.closeAndRestoreFocus = function(a) {\n                this.closeDropdown(), ((this.activeEl && (a.preventDefault(), this.activeEl.JSBNG__focus(), this.activeEl = null)));\n            }, this.close = function(a) {\n                var b = $(this.attr.toggler);\n                if (((((((a.target === this.$node)) || ((this.$node.has(a.target).length > 0)))) && !this.isItemClick(a)))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.isItemClick(a) && this.ignoreCloseEvent))) {\n                    return;\n                }\n            ;\n            ;\n                this.closeDropdown();\n            }, this.isItemClick = function(a) {\n                return ((((!this.attr.itemSelector || !a)) ? !1 : (($(a.target).closest(this.attr.itemSelector).length > 0))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    toggler: this.toggleDisplay\n                }), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiCloseDropdowns uiNavigate\", this.closeDropdown), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.closeAndRestoreFocus);\n            });\n        };\n    ;\n        module.exports = withDropdown;\n    });\n    define(\"app/ui/language_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n        function languageDropdown() {\n            this.defaultAttrs({\n                toggler: \".dropdown-toggle\"\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), LanguageDropdown = defineComponent(languageDropdown, withDropdown);\n        module.exports = LanguageDropdown;\n    });\n    define(\"app/ui/google\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function googleAnalytics() {\n            this.defaultAttrs({\n                gaPageName: window.JSBNG__location.pathname\n            }), this.initGoogle = function() {\n                window._gaq = ((window._gaq || [])), window._gaq.push([\"_setAccount\",\"UA-30775-6\",], [\"_trackPageview\",this.attr.gaPageName,], [\"_setDomainName\",\"twitter.com\",]);\n                var a = JSBNG__document.getElementsByTagName(\"script\")[0], b = JSBNG__document.createElement(\"script\");\n                b.async = !0, b.src = ((((((JSBNG__document.JSBNG__location.protocol == \"https:\")) ? \"https://ssl\" : \"http://www\")) + \".google-analytics.com/ga.js\")), a.parentNode.insertBefore(b, a), this.off(\"uiSwiftLoaded\", this.initGoogle);\n            }, this.trackPageChange = function(a, b) {\n                b = b.init_data, window._gaq.push([\"_trackPageview\",((((b && b.gaPageName)) || window.JSBNG__location.pathname)),]);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSwiftLoaded\", this.initGoogle), this.JSBNG__on(\"uiPageChanged\", this.trackPageChange);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), GoogleAnalytics = defineComponent(googleAnalytics);\n        module.exports = GoogleAnalytics;\n    });\n    define(\"app/utils/cookie\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function(b, c, d) {\n            var e = $.extend({\n            }, d);\n            if (((((arguments.length > 1)) && ((String(c) !== \"[object Object]\"))))) {\n                if (((((c === null)) || ((c === undefined))))) {\n                    e.expires = -1, c = \"\";\n                }\n            ;\n            ;\n                if (((typeof e.expires == \"number\"))) {\n                    var f = e.expires, g = new JSBNG__Date((((new JSBNG__Date).getTime() + ((((((((f * 24)) * 60)) * 60)) * 1000)))));\n                    e.expires = g;\n                }\n            ;\n            ;\n                return c = String(c), JSBNG__document.cookie = [encodeURIComponent(b),\"=\",((e.raw ? c : encodeURIComponent(c))),((e.expires ? ((\"; expires=\" + e.expires.toUTCString())) : \"\")),((\"; path=\" + ((e.path || \"/\")))),((e.domain ? ((\"; domain=\" + e.domain)) : \"\")),((e.secure ? \"; secure\" : \"\")),].join(\"\");\n            }\n        ;\n        ;\n            e = ((c || {\n            }));\n            var h, i = ((e.raw ? function(a) {\n                return a;\n            } : decodeURIComponent));\n            return (((h = (new RegExp(((((\"(?:^|; )\" + encodeURIComponent(b))) + \"=([^;]*)\")))).exec(JSBNG__document.cookie)) ? i(h[1]) : null));\n        };\n    });\n    define(\"app/ui/impression_cookies\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",], function(module, require, exports) {\n        function impressionCookies() {\n            this.defaultAttrs({\n                sendImpressionCookieSelector: \"a[data-send-impression-cookie]\",\n                link: \"a\"\n            }), this.setCookie = function(a, b) {\n                cookie(\"ic\", a, {\n                    expires: b\n                });\n            }, this.sendImpressionCookie = function(a, b) {\n                var c = b.el;\n                if (((((((!c || ((c.hostname != window.JSBNG__location.hostname)))) || !c.pathname)) || ((c.pathname.indexOf(\"/#!/\") == 0))))) {\n                    return;\n                }\n            ;\n            ;\n                var d = $(c), e = d.closest(\"[data-impression-cookie]\").attr(\"data-impression-cookie\");\n                if (!e) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiPromotedLinkClick\", {\n                    href: d.attr(\"href\")\n                });\n                var f = new JSBNG__Date, g = 60000, h = new JSBNG__Date(((f.getTime() + g)));\n                this.setCookie(e, h);\n            }, this.after(\"initialize\", function(a) {\n                this.JSBNG__on(\"click\", {\n                    sendImpressionCookieSelector: this.sendImpressionCookie\n                }), this.JSBNG__on(\"uiShowProfileNewWindow\", {\n                    link: this.sendImpressionCookie\n                });\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\");\n        module.exports = defineComponent(impressionCookies);\n    });\n    define(\"app/data/promoted_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n        function promotedLogger() {\n            this.defaultAttrs({\n                tweetHashtagLinkSelector: \".tweet .twitter-hashtag\",\n                tweetLinkSelector: \".tweet .twitter-timeline-link\"\n            }), this.logEvent = function(a, b) {\n                this.get({\n                    url: \"/i/promoted_content/log.json\",\n                    data: a,\n                    eventData: {\n                    },\n                    headers: {\n                        \"X-PHX\": !0\n                    },\n                    success: \"dataLogEventSuccess\",\n                    error: \"dataLogEventError\",\n                    async: !b,\n                    noAbortOnNavigate: !0\n                });\n            }, this.isEarnedMedia = function(a) {\n                return ((a == \"earned\"));\n            }, this.logPromotedTrendImpression = function(a, b) {\n                var c = b.items, d = b.source;\n                if (((d == \"clock\"))) {\n                    return;\n                }\n            ;\n            ;\n                var e = c.filter(function(a) {\n                    return !!a.promotedTrendId;\n                });\n                if (!e.length) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"i\",\n                    promoted_trend_id: e[0].promotedTrendId\n                });\n            }, this.logPromotedTrendClick = function(a, b) {\n                if (!b.promotedTrendId) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"c\",\n                    promoted_trend_id: b.promotedTrendId\n                }, !0);\n            }, this.logPromotedTweetImpression = function(a, b) {\n                var c = b.tweets.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId,\n                        earned: this.isEarnedMedia(a.disclosureType)\n                    });\n                }, this);\n            }, this.logPromotedTweetLinkClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"url_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedTweetHashtagClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"hashtag_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedUserImpression = function(a, b) {\n                var c = b.users.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId\n                    });\n                }, this);\n            }, this.logPromotedTweetShareViaEmail = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                this.logEvent({\n                    JSBNG__event: \"email_tweet\",\n                    impression_id: c,\n                    earned: d\n                });\n            }, this.logPromotedUserClick = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                ((((b.profileClickTarget === \"avatar\")) ? this.logEvent({\n                    JSBNG__event: \"profile_image_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isMentionClick ? this.logEvent({\n                    JSBNG__event: \"user_mention_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isPromotedBadgeClick ? this.logEvent({\n                    JSBNG__event: \"footer_profile\",\n                    impression_id: c,\n                    earned: d\n                }) : this.logEvent({\n                    JSBNG__event: \"screen_name_click\",\n                    impression_id: c,\n                    earned: d\n                })))))));\n            }, this.logPromotedUserDismiss = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c\n                });\n            }, this.logPromotedTweetDismiss = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.logPromotedTweetDetails = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"view_details\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiTrendsDisplayed\", this.logPromotedTrendImpression), this.JSBNG__on(\"uiTrendSelected\", this.logPromotedTrendClick), this.JSBNG__on(\"uiTweetsDisplayed\", this.logPromotedTweetImpression), this.JSBNG__on(\"click\", {\n                    tweetLinkSelector: this.logPromotedTweetLinkClick,\n                    tweetHashtagLinkSelector: this.logPromotedTweetHashtagClick\n                }), this.JSBNG__on(\"uiHasExpandedTweet\", this.logPromotedTweetDetails), this.JSBNG__on(\"uiTweetDismissed\", this.logPromotedTweetDismiss), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.logPromotedTweetShareViaEmail), this.JSBNG__on(\"uiUsersDisplayed\", this.logPromotedUserImpression), this.JSBNG__on(\"uiDismissUserRecommendation\", this.logPromotedUserDismiss), this.JSBNG__on(\"uiShowProfilePopup uiShowProfileNewWindow\", this.logPromotedUserClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), PromotedLogger = defineComponent(promotedLogger, withData);\n        module.exports = PromotedLogger;\n    });\n    define(\"app/ui/message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function messageDrawer() {\n            this.defaultAttrs({\n                fadeTimeout: 2000,\n                closeSelector: \".dismiss\",\n                reloadSelector: \".js-reload\",\n                textSelector: \".message-text\",\n                bannersSelector: \"#banners\",\n                topOffset: 47\n            });\n            var a = function() {\n                this.$node.css(\"opacity\", 1).animate({\n                    opacity: 0\n                }, 1000, function() {\n                    this.closeMessage();\n                }.bind(this));\n            };\n            this.calculateFadeTimeout = function(a) {\n                var b = a.split(\" \").length, c = ((((((b * 1000)) / 5)) + 225));\n                return ((((c < this.attr.fadeTimeout)) ? this.attr.fadeTimeout : c));\n            }, this.showMessage = function(b, c) {\n                this.$node.css({\n                    opacity: 1,\n                    JSBNG__top: ((this.attr.topOffset + $(this.attr.bannersSelector).height()))\n                }), this.select(\"textSelector\").html(c.message), this.select(\"closeSelector\").hide(), this.$node.removeClass(\"hidden\"), JSBNG__clearTimeout(this.messageTimeout), this.$node.JSBNG__stop(), this.messageTimeout = JSBNG__setTimeout(a.bind(this), this.calculateFadeTimeout(c.message));\n            }, this.showError = function(a, b) {\n                this.$node.css(\"opacity\", 1), this.select(\"textSelector\").html(b.message), this.select(\"closeSelector\").show(), this.$node.removeClass(\"hidden\");\n            }, this.closeMessage = function(a) {\n                ((a && a.preventDefault())), this.$node.addClass(\"hidden\");\n            }, this.reloadPageHandler = function() {\n                this.reloadPage();\n            }, this.reloadPage = function() {\n                window.JSBNG__location.reload();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiShowMessage\", this.showMessage), this.JSBNG__on(JSBNG__document, \"uiShowError\", this.showError), this.JSBNG__on(\"click\", {\n                    reloadSelector: this.reloadPageHandler,\n                    closeSelector: this.closeMessage\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeMessage);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), MessageDrawer = defineComponent(messageDrawer);\n        module.exports = MessageDrawer;\n    });\n    deferred(\"$lib/bootstrap_tooltip.js\", function() {\n        !function($) {\n            \"use strict\";\n            var a = function(a, b) {\n                this.init(\"tooltip\", a, b);\n            };\n            a.prototype = {\n                constructor: a,\n                init: function(a, b, c) {\n                    var d, e;\n                    this.type = a, this.$element = $(b), this.options = this.getOptions(c), this.enabled = !0, ((((this.options.trigger != \"manual\")) && (d = ((((this.options.trigger == \"hover\")) ? \"mouseenter\" : \"JSBNG__focus\")), e = ((((this.options.trigger == \"hover\")) ? \"mouseleave\" : \"JSBNG__blur\")), this.$element.JSBNG__on(d, this.options.selector, $.proxy(this.enter, this)), this.$element.JSBNG__on(e, this.options.selector, $.proxy(this.leave, this))))), ((this.options.selector ? this._options = $.extend({\n                    }, this.options, {\n                        trigger: \"manual\",\n                        selector: \"\"\n                    }) : this.fixTitle()));\n                },\n                getOptions: function(a) {\n                    return a = $.extend({\n                    }, $.fn[this.type].defaults, a, this.$element.data()), ((((a.delay && ((typeof a.delay == \"number\")))) && (a.delay = {\n                        show: a.delay,\n                        hide: a.delay\n                    }))), a;\n                },\n                enter: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.show)) ? b.show() : (b.hoverState = \"in\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"in\")) && b.show()));\n                    }, b.options.delay.show))));\n                },\n                leave: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.hide)) ? b.hide() : (b.hoverState = \"out\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"out\")) && b.hide()));\n                    }, b.options.delay.hide))));\n                },\n                show: function() {\n                    var a, b, c, d, e, f, g;\n                    if (((this.hasContent() && this.enabled))) {\n                        a = this.tip(), this.setContent(), ((this.options.animation && a.addClass(\"fade\"))), f = ((((typeof this.options.placement == \"function\")) ? this.options.placement.call(this, a[0], this.$element[0]) : this.options.placement)), b = /in/.test(f), a.remove().css({\n                            JSBNG__top: 0,\n                            left: 0,\n                            display: \"block\"\n                        }).appendTo(((b ? this.$element : JSBNG__document.body))), c = this.getPosition(b), d = a[0].offsetWidth, e = a[0].offsetHeight;\n                        switch (((b ? f.split(\" \")[1] : f))) {\n                          case \"bottom\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top + c.height)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"JSBNG__top\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top - e)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"left\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left - d))\n                            };\n                            break;\n                          case \"right\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left + c.width))\n                            };\n                        };\n                    ;\n                        a.css(g).addClass(f).addClass(\"in\");\n                    }\n                ;\n                ;\n                },\n                setContent: function() {\n                    var a = this.tip();\n                    a.JSBNG__find(\".tooltip-inner\").html(this.getTitle()), a.removeClass(\"fade in top bottom left right\");\n                },\n                hide: function() {\n                    function c() {\n                        var a = JSBNG__setTimeout(function() {\n                            b.off($.support.transition.end).remove();\n                        }, 500);\n                        b.one($.support.transition.end, function() {\n                            JSBNG__clearTimeout(a), b.remove();\n                        });\n                    };\n                ;\n                    var a = this, b = this.tip();\n                    b.removeClass(\"in\"), (((($.support.transition && this.$tip.hasClass(\"fade\"))) ? c() : b.remove()));\n                },\n                fixTitle: function() {\n                    var a = this.$element;\n                    ((((a.attr(\"title\") || ((typeof a.attr(\"data-original-title\") != \"string\")))) && a.attr(\"data-original-title\", ((a.attr(\"title\") || \"\"))).removeAttr(\"title\")));\n                },\n                hasContent: function() {\n                    return this.getTitle();\n                },\n                getPosition: function(a) {\n                    return $.extend({\n                    }, ((a ? {\n                        JSBNG__top: 0,\n                        left: 0\n                    } : this.$element.offset())), {\n                        width: this.$element[0].offsetWidth,\n                        height: this.$element[0].offsetHeight\n                    });\n                },\n                getTitle: function() {\n                    var a, b = this.$element, c = this.options;\n                    return a = ((b.attr(\"data-original-title\") || ((((typeof c.title == \"function\")) ? c.title.call(b[0]) : c.title)))), a = ((a || \"\")).toString().replace(/(^\\s*|\\s*$)/, \"\"), a;\n                },\n                tip: function() {\n                    return this.$tip = ((this.$tip || $(this.options.template)));\n                },\n                validate: function() {\n                    ((this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)));\n                },\n                enable: function() {\n                    this.enabled = !0;\n                },\n                disable: function() {\n                    this.enabled = !1;\n                },\n                toggleEnabled: function() {\n                    this.enabled = !this.enabled;\n                },\n                toggle: function() {\n                    this[((this.tip().hasClass(\"in\") ? \"hide\" : \"show\"))]();\n                }\n            }, $.fn.tooltip = function(b) {\n                return this.each(function() {\n                    var c = $(this), d = c.data(\"tooltip\"), e = ((((typeof b == \"object\")) && b));\n                    ((d || c.data(\"tooltip\", d = new a(this, e)))), ((((typeof b == \"string\")) && d[b]()));\n                });\n            }, $.fn.tooltip.Constructor = a, $.fn.tooltip.defaults = {\n                animation: !0,\n                delay: 0,\n                selector: !1,\n                placement: \"JSBNG__top\",\n                trigger: \"hover\",\n                title: \"\",\n                template: \"\\u003Cdiv class=\\\"tooltip\\\"\\u003E\\u003Cdiv class=\\\"tooltip-arrow\\\"\\u003E\\u003C/div\\u003E\\u003Cdiv class=\\\"tooltip-inner\\\"\\u003E\\u003C/div\\u003E\\u003C/div\\u003E\"\n            };\n        }(window.jQuery);\n    });\n    define(\"app/ui/tooltips\", [\"module\",\"require\",\"exports\",\"core/component\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n        function tooltips() {\n            this.defaultAttrs({\n                tooltipSelector: \".js-tooltip\"\n            }), this.hide = function() {\n                this.select(\"tooltipSelector\").tooltip(\"hide\");\n            }, this.after(\"initialize\", function() {\n                this.$node.tooltip({\n                    selector: this.attr.tooltipSelector\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiShowProfilePopup\", this.hide);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        require(\"$lib/bootstrap_tooltip.js\"), module.exports = defineComponent(tooltips);\n    });\n    define(\"app/data/ttft_navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ttftNavigate() {\n            this.beforeNewPageLoad = function(a, b) {\n                this.log(\"beforeNewPageLoad\", a, b), time = {\n                    beforeNewPageLoad: +(new JSBNG__Date),\n                    source: {\n                        page: this.attr.pageName,\n                        action: this.attr.sectionName,\n                        path: window.JSBNG__location.pathname\n                    }\n                };\n            }, this.afterPageChanged = function(a, b) {\n                this.log(\"afterPageChanged\", a, b), time.afterPageChanged = +(new JSBNG__Date), this.fromCache = !!b.fromCache, this.hookTimelineListener(!0), this.timelineListener = JSBNG__setTimeout(function() {\n                    this.hookTimelineListener(!1), this.report();\n                }.bind(this), 1), time.ajaxCount = this.ajaxCountdown = $.active, (($.active && this.hookAjaxListener(!0)));\n            }, this.timelineRefreshRequest = function(a, b) {\n                JSBNG__clearTimeout(this.timelineListener), this.hookTimelineListener(!1), ((b.navigated && (this.listeningForTimeline = !0, this.hookTimelineResults(!0))));\n            }, this.timelineSuccess = function(a, b) {\n                this.log(\"timelineSuccess\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), time.timelineSuccess = +(new JSBNG__Date), this.report();\n            }, this.timelineError = function(a, b) {\n                this.log(\"timelineError\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), this.report();\n            }, this.ajaxComplete = function(a, b) {\n                ((--this.ajaxCountdown || (this.log(\"ajaxComplete\", a, b), this.hookAjaxListener(!1), time.ajaxComplete = +(new JSBNG__Date), this.report())));\n            }, this.report = function() {\n                if (((this.ajaxCountdown && time.ajaxCount))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.listeningForTimeline && !time.timelineSuccess))) {\n                    return;\n                }\n            ;\n            ;\n                var a = {\n                    event_name: \"route_time\",\n                    source_page: time.source.page,\n                    source_action: time.source.action,\n                    source_path: time.source.path,\n                    dest_page: this.attr.pageName,\n                    dest_action: this.attr.sectionName,\n                    dest_path: window.JSBNG__location.pathname,\n                    cached: this.fromCache,\n                    start_time: time.beforeNewPageLoad,\n                    stream_switch_time: time.afterPageChanged,\n                    stream_complete_time: ((time.timelineSuccess || time.afterPageChanged)),\n                    ajax_count: time.ajaxCount\n                };\n                ((time.ajaxCount && (a.ajax_complete_time = time.ajaxComplete))), this.scribeTransport.send(a, \"route_timing\"), this.log(a);\n            }, this.log = function() {\n            \n            }, this.time = function() {\n                return time;\n            }, this.scribeTransport = scribeTransport, this.hookAjaxListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"ajaxComplete\", this.ajaxComplete);\n            }, this.hookTimelineListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"uiTimelineShouldRefresh\", this.timelineRefreshRequest);\n            }, this.hookTimelineResults = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItems\", this.timelineSuccess), this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItemsError\", this.timelineError);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiBeforeNewPageLoad\", this.beforeNewPageLoad), this.JSBNG__on(\"uiPageChanged\", this.afterPageChanged);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = component(ttftNavigate);\n        var time = {\n        };\n    });\n    define(\"app/data/user_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        var user = {\n        }, userInfo = {\n            set: function(a) {\n                user.screenName = a.screenName, user.deciders = ((a.deciders || {\n                })), user.experiments = ((a.experiments || {\n                }));\n            },\n            reset: function() {\n                this.set({\n                    screenName: null,\n                    deciders: {\n                    },\n                    experiments: {\n                    }\n                });\n            },\n            user: user,\n            getDecider: function(a) {\n                return !!user.deciders[a];\n            },\n            getExperimentGroup: function(a) {\n                return user.experiments[a];\n            }\n        };\n        userInfo.reset(), module.exports = userInfo;\n    });\n    define(\"app/ui/aria_event_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",], function(module, require, exports) {\n        function ariaEventLogger() {\n            this.MESSAGES = {\n                FAVORITED: _(\"Favorited\"),\n                UNFAVORITED: _(\"Unfavorited\"),\n                RETWEETED: _(\"Retweeted\"),\n                UNRETWEETED: _(\"Unretweeted\"),\n                EXPANDED: _(\"Expanded\"),\n                COLLAPSED: _(\"Collapsed\"),\n                RENDERING_CONVERSATION: _(\"Loading conversation.\"),\n                CONVERSATION_RENDERED: _(\"Conversation loaded. Press j or k to review Tweets.\"),\n                CONVERSATION_START: _(\"Conversation start.\"),\n                CONVERSATION_END: _(\"Conversation end.\"),\n                NEW_ITEMS_BAR_VISIBLE: _(\"New Tweets available. Press period to review them.\")\n            }, this.CLEAR_LOG_EVENTS = [\"uiPageChanged\",\"uiShortcutSelectPrev\",\"uiShortcutSelectNext\",\"uiSelectNext\",\"uiSelectItem\",\"uiShortcutGotoTopOfScreen\",\"uiSelectTopTweet\",].join(\" \"), this.createLog = function() {\n                var a = $(\"\\u003Cdiv id=\\\"sr-event-log\\\" class=\\\"visuallyhidden\\\" aria-live=\\\"assertive\\\"\\u003E\\u003C/div\\u003E\");\n                $(\"body\").append(a), this.$log = a;\n            }, this.logMessage = function(a, b) {\n                ((this.$log && (((b || (b = \"assertive\"))), ((((b != this.$log.attr(\"aria-live\"))) && this.$log.attr(\"aria-live\", b))), this.$log.append(((((\"\\u003Cp\\u003E\" + a)) + \"\\u003C/p\\u003E\"))), ((((this.$log.children().length > 3)) && this.$log.children().first().remove())))));\n            }, this.logEvent = function(a, b) {\n                return function() {\n                    this.logMessage(this.MESSAGES[a], b);\n                }.bind(this);\n            }, this.logConversationStart = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.prev().length)) && b.next().length)) && this.logMessage(this.MESSAGES.CONVERSATION_START, \"polite\")));\n            }, this.logConversationEnd = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.next().length)) && b.prev().length)) && this.logMessage(this.MESSAGES.CONVERSATION_END, \"polite\")));\n            }, this.logCharCountWarning = function(a, b) {\n                this.clearLog(), this.logMessage(b.charCount, \"polite\");\n            }, this.clearLog = function() {\n                ((this.$log && this.$log.html(\"\")));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded\", this.createLog), this.JSBNG__on(JSBNG__document, \"uiDidFavoriteTweet dataFailedToUnfavoriteTweet\", this.logEvent(\"FAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnfavoriteTweet dataFailedToFavoriteTweet\", this.logEvent(\"UNFAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidRetweet dataFailedToUnretweet\", this.logEvent(\"RETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnretweet dataFailedToRetweet\", this.logEvent(\"UNRETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiHasExpandedTweet\", this.logEvent(\"EXPANDED\")), this.JSBNG__on(JSBNG__document, \"uiHasCollapsedTweet\", this.logEvent(\"COLLAPSED\")), this.JSBNG__on(JSBNG__document, \"uiRenderingExpandedConversation\", this.logEvent(\"RENDERING_CONVERSATION\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiExpandedConversationRendered\", this.logEvent(\"CONVERSATION_RENDERED\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiNextItemSelected\", this.logConversationEnd), this.JSBNG__on(JSBNG__document, \"uiPreviousItemSelected\", this.logConversationStart), this.JSBNG__on(JSBNG__document, \"uiNewItemsBarVisible\", this.logEvent(\"NEW_ITEMS_BAR_VISIBLE\")), this.JSBNG__on(JSBNG__document, \"uiCharCountWarningVisible\", this.logCharCountWarning), this.JSBNG__on(JSBNG__document, this.CLEAR_LOG_EVENTS, this.clearLog);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), ARIAEventLogger = defineComponent(ariaEventLogger);\n        module.exports = ARIAEventLogger;\n    });\n    define(\"app/boot/common\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"app/boot/scribing\",\"app/ui/navigation\",\"app/data/navigation\",\"app/ui/language_dropdown\",\"app/ui/google\",\"app/ui/impression_cookies\",\"app/data/promoted_logger\",\"app/ui/message_drawer\",\"app/ui/tooltips\",\"app/data/ttft_navigation\",\"app/utils/cookie\",\"app/utils/querystring\",\"app/data/user_info\",\"app/ui/aria_event_logger\",], function(module, require, exports) {\n        function shimConsole(a) {\n            ((window.JSBNG__console || (window.JSBNG__console = {\n            }))), LOG_METHODS.forEach(function(b) {\n                if (((a || !JSBNG__console[b]))) {\n                    JSBNG__console[b] = NO_OP;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function getLoginTime() {\n            return ((parseInt(querystring.decode(cookie(\"twll\")).l, 10) || 0));\n        };\n    ;\n        function verifySession() {\n            ((((getLoginTime() !== initialLoginTime)) && window.JSBNG__location.reload(!0)));\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), scribing = require(\"app/boot/scribing\"), NavigationUI = require(\"app/ui/navigation\"), NavigationData = require(\"app/data/navigation\"), LanguageDropdown = require(\"app/ui/language_dropdown\"), GoogleAnalytics = require(\"app/ui/google\"), ImpressionCookies = require(\"app/ui/impression_cookies\"), PromotedLogger = require(\"app/data/promoted_logger\"), MessageDrawer = require(\"app/ui/message_drawer\"), Tooltips = require(\"app/ui/tooltips\"), TTFTNavigation = require(\"app/data/ttft_navigation\"), cookie = require(\"app/utils/cookie\"), querystring = require(\"app/utils/querystring\"), userInfo = require(\"app/data/user_info\"), ARIAEventLogger = require(\"app/ui/aria_event_logger\"), ttftNavigationEnabled = !1, LOG_METHODS = [\"log\",\"warn\",\"debug\",\"info\",], NO_OP = function() {\n        \n        }, initialLoginTime = 0;\n        module.exports = function(b) {\n            var c = b.environment, d = (([\"production\",\"preflight\",].indexOf(c) > -1));\n            shimConsole(d), authToken.set(b.formAuthenticityToken), userInfo.set(b), ImpressionCookies.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), GoogleAnalytics.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), scribing(b), PromotedLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            });\n            var e = ((!!window.JSBNG__history && !!JSBNG__history.pushState));\n            ((((b.pushState && e)) && NavigationUI.attachTo(JSBNG__document, {\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }))), NavigationData.attachTo(JSBNG__document, {\n                init_data: b,\n                pushState: b.pushState,\n                pushStateSupported: e,\n                pushStatePageLimit: b.pushStatePageLimit,\n                assetsBasePath: b.assetsBasePath,\n                pushStateRequestHeaders: b.pushStateRequestHeaders,\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }), Tooltips.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), MessageDrawer.attachTo(\"#message-drawer\", {\n                noTeardown: !0\n            }), ARIAEventLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), ((b.loggedIn || LanguageDropdown.attachTo(\".js-language-dropdown\"))), ((((b.initialState && b.initialState.ttft_navigation)) && (ttftNavigationEnabled = !0))), ((ttftNavigationEnabled && TTFTNavigation.attachTo(JSBNG__document, {\n                pageName: b.pageName,\n                sectionName: b.sectionName\n            }))), ((b.loggedIn && (initialLoginTime = getLoginTime(), JSBNG__setInterval(verifySession, 10000))));\n        };\n    });\n    define(\"app/ui/with_position\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function Position() {\n            this.adjacent = function(a, b, c) {\n                var d, e;\n                c = ((c || {\n                })), d = e = b.offset(), e.gravity = c.gravity, e.weight = c.weight;\n                var f = {\n                    height: b.JSBNG__outerHeight(),\n                    width: b.JSBNG__outerWidth()\n                }, g = {\n                    height: a.JSBNG__outerHeight(),\n                    width: a.JSBNG__outerWidth()\n                }, h = {\n                    height: $(window).height(),\n                    width: $(window).width()\n                }, i = {\n                    height: $(\"body\").height(),\n                    width: $(\"body\").width()\n                };\n                return ((e.gravity || (e.gravity = \"vertical\"))), ((((\"vertical,north,south\".indexOf(e.gravity) != -1)) && (((((\"right,left,center\".indexOf(e.weight) == -1)) && (e.weight = ((((d.left > ((h.width / 2)))) ? \"right\" : \"left\"))))), ((((e.gravity == \"vertical\")) && (e.gravity = ((((((d.JSBNG__top + g.height)) > (($(window).scrollTop() + h.height)))) ? \"south\" : \"north\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.left = 0))), ((((e.weight == \"right\")) ? e.left = ((((d.left - g.width)) + f.width)) : ((((e.weight == \"center\")) && (e.left = ((d.left - ((((g.width - f.width)) / 2))))))))), e.JSBNG__top = ((((e.gravity == \"north\")) ? ((d.JSBNG__top + f.height)) : ((d.JSBNG__top - g.height))))))), ((((\"horizontal,east,west\".indexOf(e.gravity) != -1)) && (((((\"top,bottom,center\".indexOf(e.weight) == -1)) && ((((((d.JSBNG__top - ((g.height / 2)))) < 0)) ? e.weight = \"JSBNG__top\" : ((((((d.JSBNG__top + ((g.height / 2)))) > Math.max(h.height, i.height))) ? e.weight = \"bottom\" : e.weight = \"center\")))))), ((((e.gravity == \"horizontal\")) && (e.gravity = ((((((d.left + ((f.width / 2)))) > ((h.width / 2)))) ? \"east\" : \"west\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.JSBNG__top = 0))), ((((e.weight == \"center\")) ? e.JSBNG__top = ((((d.JSBNG__top + ((f.height / 2)))) - ((g.height / 2)))) : ((((e.weight == \"bottom\")) && (e.JSBNG__top = ((((d.JSBNG__top - g.height)) + f.height))))))), e.left = ((((e.gravity == \"west\")) ? ((d.left + f.width)) : ((d.left - g.width))))))), e;\n            };\n        };\n    ;\n        module.exports = Position;\n    });\n    define(\"app/ui/with_scrollbar_width\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScrollbarWidth() {\n            this.calculateScrollbarWidth = function() {\n                if ((($(\"#scrollbar-width\").length > 0))) {\n                    return;\n                }\n            ;\n            ;\n                var a = $(\"\\u003Cdiv class=\\\"modal-measure-scrollbar\\\"/\\u003E\").prependTo($(\"body\")), b = $(\"\\u003Cdiv class=\\\"inner\\\"/\\u003E\").appendTo(a), c = ((a.width() - b.width()));\n                a.remove(), $(\"head\").append(((((((((\"\\u003Cstyle id=\\\"scrollbar-width\\\"\\u003E        .compensate-for-scrollbar,        .modal-enabled,        .modal-enabled .global-nav-inner,        .profile-editing,        .profile-editing .global-nav-inner,        .gallery-enabled,        .grid-enabled,        .grid-enabled .global-nav-inner,        .gallery-enabled .global-nav-inner {          margin-right: \" + c)) + \"px      }         .grid-header {          right: \")) + c)) + \"px      }      \\u003C/style\\u003E\")));\n            };\n        };\n    ;\n        module.exports = ScrollbarWidth;\n    });\n    deferred(\"$lib/jquery.JSBNG__event.drag.js\", function() {\n        (function($) {\n            $.fn.drag = function(a, b, c) {\n                var d = ((((typeof a == \"string\")) ? a : \"\")), e = (($.isFunction(a) ? a : (($.isFunction(b) ? b : null))));\n                return ((((d.indexOf(\"drag\") !== 0)) && (d = ((\"drag\" + d))))), c = ((((((a == e)) ? b : c)) || {\n                })), ((e ? this.bind(d, c, e) : this.trigger(d)));\n            };\n            var a = $.JSBNG__event, b = a.special, c = b.drag = {\n                defaults: {\n                    which: 1,\n                    distance: 0,\n                    not: \":input\",\n                    handle: null,\n                    relative: !1,\n                    drop: !0,\n                    click: !1\n                },\n                datakey: \"dragdata\",\n                livekey: \"livedrag\",\n                add: function(b) {\n                    var d = $.data(this, c.datakey), e = ((b.data || {\n                    }));\n                    d.related += 1, ((((!d.live && b.selector)) && (d.live = !0, a.add(this, ((\"draginit.\" + c.livekey)), c.delegate)))), $.each(c.defaults, function(a, b) {\n                        ((((e[a] !== undefined)) && (d[a] = e[a])));\n                    });\n                },\n                remove: function() {\n                    $.data(this, c.datakey).related -= 1;\n                },\n                setup: function() {\n                    if ($.data(this, c.datakey)) {\n                        return;\n                    }\n                ;\n                ;\n                    var b = $.extend({\n                        related: 0\n                    }, c.defaults);\n                    $.data(this, c.datakey, b), a.add(this, \"mousedown\", c.init, b), ((this.JSBNG__attachEvent && this.JSBNG__attachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                teardown: function() {\n                    if ($.data(this, c.datakey).related) {\n                        return;\n                    }\n                ;\n                ;\n                    $.removeData(this, c.datakey), a.remove(this, \"mousedown\", c.init), a.remove(this, \"draginit\", c.delegate), c.textselect(!0), ((this.JSBNG__detachEvent && this.JSBNG__detachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                init: function(d) {\n                    var e = d.data, f;\n                    if (((((e.which > 0)) && ((d.which != e.which))))) {\n                        return;\n                    }\n                ;\n                ;\n                    if ($(d.target).is(e.not)) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((e.handle && !$(d.target).closest(e.handle, d.currentTarget).length))) {\n                        return;\n                    }\n                ;\n                ;\n                    e.propagates = 1, e.interactions = [c.interaction(this, e),], e.target = d.target, e.pageX = d.pageX, e.pageY = d.pageY, e.dragging = null, f = c.hijack(d, \"draginit\", e);\n                    if (!e.propagates) {\n                        return;\n                    }\n                ;\n                ;\n                    return f = c.flatten(f), ((((f && f.length)) && (e.interactions = [], $.each(f, function() {\n                        e.interactions.push(c.interaction(this, e));\n                    })))), e.propagates = e.interactions.length, ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.textselect(!1), a.add(JSBNG__document, \"mousemove mouseup\", c.handler, e), !1;\n                },\n                interaction: function(a, b) {\n                    return {\n                        drag: a,\n                        callback: new c.callback,\n                        droppable: [],\n                        offset: (($(a)[((b.relative ? \"position\" : \"offset\"))]() || {\n                            JSBNG__top: 0,\n                            left: 0\n                        }))\n                    };\n                },\n                handler: function(d) {\n                    var e = d.data;\n                    switch (d.type) {\n                      case ((!e.dragging && \"mousemove\")):\n                        if (((((Math.pow(((d.pageX - e.pageX)), 2) + Math.pow(((d.pageY - e.pageY)), 2))) < Math.pow(e.distance, 2)))) {\n                            break;\n                        }\n                    ;\n                    ;\n                        d.target = e.target, c.hijack(d, \"dragstart\", e), ((e.propagates && (e.dragging = !0)));\n                      case \"mousemove\":\n                        if (e.dragging) {\n                            c.hijack(d, \"drag\", e);\n                            if (e.propagates) {\n                                ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e)));\n                                break;\n                            }\n                        ;\n                        ;\n                            d.type = \"mouseup\";\n                        }\n                    ;\n                    ;\n                    ;\n                      case \"mouseup\":\n                        a.remove(JSBNG__document, \"mousemove mouseup\", c.handler), ((e.dragging && (((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.hijack(d, \"dragend\", e)))), c.textselect(!0), ((((((e.click === !1)) && e.dragging)) && ($.JSBNG__event.triggered = !0, JSBNG__setTimeout(function() {\n                            $.JSBNG__event.triggered = !1;\n                        }, 20), e.dragging = !1)));\n                    };\n                ;\n                },\n                delegate: function(b) {\n                    var d = [], e, f = (($.data(this, \"events\") || {\n                    }));\n                    return $.each(((f.live || [])), function(f, g) {\n                        if (((g.preType.indexOf(\"drag\") !== 0))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        e = $(b.target).closest(g.selector, b.currentTarget)[0];\n                        if (!e) {\n                            return;\n                        }\n                    ;\n                    ;\n                        a.add(e, ((((g.origType + \".\")) + c.livekey)), g.origHandler, g.data), (((($.inArray(e, d) < 0)) && d.push(e)));\n                    }), ((d.length ? $(d).bind(((\"dragend.\" + c.livekey)), function() {\n                        a.remove(this, ((\".\" + c.livekey)));\n                    }) : !1));\n                },\n                hijack: function(b, d, e, f, g) {\n                    if (!e) {\n                        return;\n                    }\n                ;\n                ;\n                    var h = {\n                        JSBNG__event: b.originalEvent,\n                        type: b.type\n                    }, i = ((d.indexOf(\"drop\") ? \"drag\" : \"drop\")), j, k = ((f || 0)), l, m, n, o = ((isNaN(f) ? e.interactions.length : f));\n                    b.type = d, b.originalEvent = null, e.results = [];\n                    do if (l = e.interactions[k]) {\n                        if (((((d !== \"dragend\")) && l.cancelled))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        n = c.properties(b, e, l), l.results = [], $(((((g || l[i])) || e.droppable))).each(function(f, g) {\n                            n.target = g, j = ((g ? a.handle.call(g, b, n) : null)), ((((j === !1)) ? (((((i == \"drag\")) && (l.cancelled = !0, e.propagates -= 1))), ((((d == \"drop\")) && (l[i][f] = null)))) : ((((d == \"dropinit\")) && l.droppable.push(((c.element(j) || g))))))), ((((d == \"dragstart\")) && (l.proxy = $(((c.element(j) || l.drag)))[0]))), l.results.push(j), delete b.result;\n                            if (((d !== \"dropinit\"))) {\n                                return j;\n                            }\n                        ;\n                        ;\n                        }), e.results[k] = c.flatten(l.results), ((((d == \"dropinit\")) && (l.droppable = c.flatten(l.droppable)))), ((((((d == \"dragstart\")) && !l.cancelled)) && n.update()));\n                    }\n                     while (((++k < o)));\n                    return b.type = h.type, b.originalEvent = h.JSBNG__event, c.flatten(e.results);\n                },\n                properties: function(a, b, d) {\n                    var e = d.callback;\n                    return e.drag = d.drag, e.proxy = ((d.proxy || d.drag)), e.startX = b.pageX, e.startY = b.pageY, e.deltaX = ((a.pageX - b.pageX)), e.deltaY = ((a.pageY - b.pageY)), e.originalX = d.offset.left, e.originalY = d.offset.JSBNG__top, e.offsetX = ((a.pageX - ((b.pageX - e.originalX)))), e.offsetY = ((a.pageY - ((b.pageY - e.originalY)))), e.drop = c.flatten(((d.drop || [])).slice()), e.available = c.flatten(((d.droppable || [])).slice()), e;\n                },\n                element: function(a) {\n                    if (((a && ((a.jquery || ((a.nodeType == 1))))))) {\n                        return a;\n                    }\n                ;\n                ;\n                },\n                flatten: function(a) {\n                    return $.map(a, function(a) {\n                        return ((((a && a.jquery)) ? $.makeArray(a) : ((((a && a.length)) ? c.flatten(a) : a))));\n                    });\n                },\n                textselect: function(a) {\n                    $(JSBNG__document)[((a ? \"unbind\" : \"bind\"))](\"selectstart\", c.dontstart).attr(\"unselectable\", ((a ? \"off\" : \"JSBNG__on\"))).css(\"MozUserSelect\", ((a ? \"\" : \"none\")));\n                },\n                dontstart: function() {\n                    return !1;\n                },\n                callback: function() {\n                \n                }\n            };\n            c.callback.prototype = {\n                update: function() {\n                    ((((b.drop && this.available.length)) && $.each(this.available, function(a) {\n                        b.drop.locate(this, a);\n                    })));\n                }\n            }, b.draginit = b.dragstart = b.dragend = c;\n        })(jQuery);\n    });\n    define(\"app/ui/with_dialog\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_scrollbar_width\",\"$lib/jquery.JSBNG__event.drag.js\",], function(module, require, exports) {\n        function withDialog() {\n            compose.mixin(this, [withScrollbarWidth,]), this.center = function(a) {\n                var b = $(window), c = {\n                    JSBNG__top: parseInt(((((b.height() - a.JSBNG__outerHeight())) / 2))),\n                    left: parseInt(((((b.width() - a.JSBNG__outerWidth())) / 2)))\n                };\n                return c;\n            }, this.windowHeight = function() {\n                return $(window).height();\n            }, this.scrollTop = function() {\n                return $(window).scrollTop();\n            }, this.position = function() {\n                var a = this.center(this.$dialog);\n                ((((this.attr.JSBNG__top != null)) && (a.JSBNG__top = this.attr.JSBNG__top))), ((((this.attr.left != null)) && (a.left = this.attr.left))), ((((this.attr.maxTop != null)) && (a.JSBNG__top = Math.min(a.JSBNG__top, this.attr.maxTop)))), ((((this.attr.maxLeft != null)) && (a.left = Math.min(a.left, this.attr.maxLeft)))), (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    right: a.left\n                }) : this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    left: a.left\n                }))), ((((this.windowHeight() < this.$dialog.JSBNG__outerHeight())) ? (this.$dialog.css(\"position\", \"absolute\"), this.$dialog.css(\"JSBNG__top\", ((this.scrollTop() + \"px\")))) : ((((this.attr.fixed === !1)) && this.$dialog.css(\"JSBNG__top\", ((a.JSBNG__top + this.scrollTop())))))));\n            }, this.resize = function() {\n                ((this.attr.width && this.$dialog.css(\"width\", this.attr.width))), ((this.attr.height && this.$dialog.css(\"height\", this.attr.height)));\n            }, this.applyDraggability = function() {\n                if (!this.$dialog.hasClass(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                var a = this, b = {\n                    relative: !0,\n                    handle: \".modal-header\"\n                }, c = function(a, b) {\n                    (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        right: ((b.originalX - b.deltaX))\n                    }) : this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        left: b.offsetX\n                    })));\n                };\n                this.$dialog.drag(\"start\", function() {\n                    a.$dialog.addClass(\"unselectable\"), $(\"#doc\").addClass(\"unselectable\");\n                }), this.$dialog.drag(\"end\", function() {\n                    a.$dialog.removeClass(\"unselectable\"), $(\"#doc\").removeClass(\"unselectable\");\n                }), this.$dialog.drag(c.bind(this), b);\n            }, this.setFocus = function() {\n                var a = this.$dialog.JSBNG__find(\".primary-btn\");\n                ((((a.length && a.is(\":not(:disabled)\"))) && a.JSBNG__focus()));\n            }, this.hasFocus = function() {\n                return (($.contains(this.node, JSBNG__document.activeElement) || ((this.node == JSBNG__document.activeElement))));\n            }, this.JSBNG__blur = function() {\n                ((this.hasFocus() && JSBNG__document.activeElement.JSBNG__blur()));\n            }, this.isOpen = function() {\n                if (((((window.DEBUG && window.DEBUG.enabled)) && ((this.openState !== this.$dialogContainer.is(\":visible\")))))) {\n                    throw new Error(\"Dialog markup and internal openState variable are out of sync.\");\n                }\n            ;\n            ;\n                return this.openState;\n            }, this.dialogVisible = function() {\n                this.trigger(\"uiDialogFadeInComplete\");\n            }, this.open = function() {\n                ((this.isOpen() || (this.openState = !0, this.$dialogContainer.fadeIn(\"fast\", this.dialogVisible.bind(this)), this.calculateScrollbarWidth(), $(\"body\").addClass(\"modal-enabled\"), this.resize(), this.position(), this.applyDraggability(), this.setFocus(), this.trigger(\"uiCloseDropdowns\"), this.trigger(\"uiDialogOpened\"))));\n            }, this.afterClose = function() {\n                (($(\".modal-container:visible\").length || $(\"body\").removeClass(\"modal-enabled\"))), this.openState = !1, this.trigger(\"uiDialogClosed\");\n            }, this.blurAndClose = function() {\n                this.JSBNG__blur(), this.$dialogContainer.fadeOut(\"fast\", this.afterClose.bind(this));\n            }, this.blurAndCloseImmediately = function() {\n                this.JSBNG__blur(), this.$dialogContainer.hide(), this.afterClose();\n            }, this.close = function() {\n                if (!this.isOpen()) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(this.node, {\n                    type: \"uiDialogCloseRequested\",\n                    defaultBehavior: \"blurAndClose\"\n                });\n            }, this.closeImmediately = function() {\n                ((this.isOpen() && this.blurAndCloseImmediately()));\n            }, this.triggerClicked = function(a) {\n                a.preventDefault(), this.open();\n            }, this.after(\"initialize\", function() {\n                this.openState = !1, this.$dialogContainer = ((this.$dialog || this.$node)), this.$dialog = this.$dialogContainer.JSBNG__find(\"div.modal\"), this.attr.closeSelector = ((this.attr.closeSelector || \".modal-close, .close-modal-background-target\")), this.JSBNG__on(this.select(\"closeSelector\"), \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc uiCloseDialog\", this.close), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeImmediately), ((this.attr.triggerSelector && this.JSBNG__on(this.attr.triggerSelector, \"click\", this.triggerClicked)));\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n        require(\"$lib/jquery.JSBNG__event.drag.js\"), module.exports = withDialog;\n    });\n    define(\"app/ui/dialogs/signin_or_signup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n        function signinOrSignupDialog() {\n            this.defaultAttrs({\n                dialogSelector: \"#signin-or-signup\",\n                signupOnlyScreenNameSelector: \".modal-title.signup-only span\"\n            }), this.openSigninDialog = function(a, b) {\n                ((b.signUpOnly ? (this.$node.addClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"signup-only\").removeClass(\"not-signup-only\"), ((b.screenName && this.select(\"signupOnlyScreenNameSelector\").text(b.screenName)))) : (this.$node.removeClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"not-signup-only\").removeClass(\"signup-only\")))), this.open(), this.trigger(\"uiSigninOrSignupDialogOpened\");\n            }, this.notifyClosed = function() {\n                this.trigger(\"uiSigninOrSignupDialogClosed\");\n            }, this.after(\"initialize\", function(a) {\n                this.$dialog = this.select(\"dialogSelector\"), this.$dialog.JSBNG__find(\"form.signup\").bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this)), this.JSBNG__on(JSBNG__document, \"uiOpenSigninOrSignupDialog\", this.openSigninDialog), this.JSBNG__on(JSBNG__document, \"uiCloseSigninOrSignupDialog\", this.close), this.JSBNG__on(this.$node, \"uiDialogClosed\", this.notifyClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), SigninOrSignupDialog = defineComponent(signinOrSignupDialog, withDialog, withPosition);\n        module.exports = SigninOrSignupDialog;\n    });\n    define(\"app/ui/forms/input_with_placeholder\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function inputWithPlaceholder() {\n            this.defaultAttrs({\n                hidePlaceholderClassName: \"hasome\",\n                placeholder: \".holder\",\n                elementType: \"input\"\n            }), this.focusInput = function(a) {\n                this.$input.JSBNG__focus();\n            }, this.inputBlurred = function(a) {\n                if (((this.$input.val() == \"\"))) {\n                    return this.$node.removeClass(this.attr.hidePlaceholderClassName), !0;\n                }\n            ;\n            ;\n            }, this.checkForChange = function() {\n                ((this.inputBlurred() || this.inputChanged()));\n            }, this.inputChanged = function(a) {\n                this.$node.addClass(this.attr.hidePlaceholderClassName);\n            }, this.after(\"initialize\", function() {\n                this.$input = this.select(\"elementType\");\n                if (((this.$input.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one input element inside of it\");\n                }\n            ;\n            ;\n                this.$placeholder = this.select(\"placeholder\");\n                if (((this.$placeholder.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one placeholder element inside of it\");\n                }\n            ;\n            ;\n                this.JSBNG__on(this.$input, \"JSBNG__blur\", this.inputBlurred), this.JSBNG__on(this.$input, \"keydown paste\", this.inputChanged), this.JSBNG__on(this.$placeholder, \"click\", this.focusInput), this.JSBNG__on(this.$input, \"uiInputChanged\", this.checkForChange), this.checkForChange();\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), InputWithPlaceholder = defineComponent(inputWithPlaceholder);\n        module.exports = InputWithPlaceholder;\n    });\n    define(\"app/ui/signup_call_out\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function signupCallOut() {\n            this.after(\"initialize\", function() {\n                this.$node.bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), SignupCallOut = defineComponent(signupCallOut);\n        module.exports = SignupCallOut;\n    });\n    define(\"app/data/signup_click_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function loggedOutScribe() {\n            this.scribeSignupClick = function(a, b) {\n                this.scribe({\n                    action: \"signup_click\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogOpened = function(a, b) {\n                this.scribe({\n                    action: \"open\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogClosed = function(a, b) {\n                this.scribe({\n                    action: \"close\"\n                }, b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSignupButtonClicked\", this.scribeSignupClick), this.JSBNG__on(\"uiSigninOrSignupDialogOpened\", this.scribeSigninOrSignupDialogOpened), this.JSBNG__on(\"uiSigninOrSignupDialogClosed\", this.scribeSigninOrSignupDialogClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(loggedOutScribe, withScribe);\n    });\n    define(\"app/ui/signup/stream_end_signup_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function streamEndSignupModule() {\n            this.triggerSignupClick = function() {\n                this.trigger(\"uiSignupButtonClicked\");\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.triggerSignupClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(streamEndSignupModule);\n    });\n    define(\"app/boot/logged_out\", [\"module\",\"require\",\"exports\",\"app/ui/dialogs/signin_or_signup\",\"app/ui/forms/input_with_placeholder\",\"app/ui/signup_call_out\",\"app/data/signup_click_scribe\",\"app/ui/signup/stream_end_signup_module\",], function(module, require, exports) {\n        var SigninOrSignupDialog = require(\"app/ui/dialogs/signin_or_signup\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), SignupCallOut = require(\"app/ui/signup_call_out\"), LoggedOutScribe = require(\"app/data/signup_click_scribe\"), StreamEndSignupModule = require(\"app/ui/signup/stream_end_signup_module\");\n        module.exports = function(b) {\n            InputWithPlaceholder.attachTo(\"#signin-or-signup-dialog .holding, .profile-signup-call-out .holding, .search-signup-call-out .holding\"), SigninOrSignupDialog.attachTo(\"#signin-or-signup-dialog\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"auth_dialog\",\n                        element: \"unauth_follow\"\n                    }\n                }\n            }), SignupCallOut.attachTo(\".signup-call-out form.signup\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"signup_callout\",\n                        element: \"form\"\n                    }\n                }\n            }), StreamEndSignupModule.attachTo(\".stream-end .signup-btn\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"stream_end\",\n                        element: \"signup_button\"\n                    }\n                }\n            }), LoggedOutScribe.attachTo(JSBNG__document);\n        };\n    });\n    define(\"app/utils/ttft\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function scribeTTFTData(a, b) {\n            if (((((!recorded && window.JSBNG__performance)) && a))) {\n                recorded = !0;\n                var c = a;\n                c.did_load = b, c.web_timings = $.extend({\n                }, window.JSBNG__performance.timing), ((c.web_timings.toJSON && delete c.web_timings.toJSON)), c.navigation = {\n                    type: window.JSBNG__performance.navigation.type,\n                    redirectCount: window.JSBNG__performance.navigation.redirectCount\n                }, c.referrer = JSBNG__document.referrer, scribeTransport.send(c, \"swift_time_to_first_tweet\", !1), using(\"app/utils/params\", function(a) {\n                    if (a.fromQuery(window.JSBNG__location).show_ttft) {\n                        var b = c.web_timings;\n                        $(JSBNG__document).trigger(\"uiShowError\", {\n                            message: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Ctable width=80%\\u003E\\u003Cthead\\u003E\\u003Cth\\u003Emilestone\\u003Cth\\u003Etime\\u003Cth\\u003Ecumulative\\u003C/thead\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003Econnect:       \\u003Ctd\\u003E\" + ((b.connectEnd - b.navigationStart)))) + \"\\u003Ctd\\u003E\")) + ((b.connectEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eprocess:       \\u003Ctd\\u003E\")) + ((b.responseStart - b.connectEnd)))) + \"\\u003Ctd\\u003E\")) + ((b.responseStart - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eresponse:      \\u003Ctd\\u003E\")) + ((b.responseEnd - b.responseStart)))) + \"\\u003Ctd\\u003E\")) + ((b.responseEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Erender:        \\u003Ctd\\u003E\")) + ((c.client_record_time - b.responseEnd)))) + \"\\u003Ctd\\u003E\")) + ((c.client_record_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Einteractivity: \\u003Ctd\\u003E\")) + ((c.aq_empty_time - c.client_record_time)))) + \"\\u003Ctd\\u003E\")) + ((c.aq_empty_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_complete: \\u003Ctd\\u003E\")) + ((c.ajax_complete_time - c.aq_empty_time)))) + \"\\u003Ctd\\u003E\")) + ((c.ajax_complete_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_count:    \\u003Ctd\\u003E\")) + c.ajax_count)) + \"\\u003C/tr\\u003E\")) + \"\\u003C/tbody\\u003E\\u003C/table\\u003E\"))\n                        });\n                    }\n                ;\n                ;\n                });\n                try {\n                    delete window.ttft;\n                } catch (d) {\n                    window.ttft = undefined;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function scribeMilestones(a) {\n            if (!window.ttftData) {\n                return;\n            }\n        ;\n        ;\n            var b = !0;\n            for (var c = 0; ((c < requiredMilestones.length)); ++c) {\n                if (!((requiredMilestones[c] in window.ttftData))) {\n                    b = !1;\n                    break;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((a || b)) && scribeTTFTData(window.ttftData, b)));\n        };\n    ;\n        function onAjaxComplete(a, b, c) {\n            if (((c && ((c.url in newAjaxRequests))))) {\n                for (var d = 0; ((d < newAjaxRequests[c.url].length)); d++) {\n                    if (((c === newAjaxRequests[c.url][d]))) {\n                        newAjaxRequests[c.url].splice(d, 1);\n                        return;\n                    }\n                ;\n                ;\n                };\n            }\n        ;\n        ;\n            pendingAjaxCount--;\n            if (((((pendingAjaxCount == 0)) || (($.active == 0))))) {\n                unbindAjaxHandlers(), recordPendingAjaxComplete();\n            }\n        ;\n        ;\n        };\n    ;\n        function onAjaxSend(a, b, c) {\n            ((((c && c.url)) && (((newAjaxRequests[c.url] || (newAjaxRequests[c.url] = []))), newAjaxRequests[c.url].push(c))));\n        };\n    ;\n        function recordPendingAjaxComplete() {\n            recordMilestone(\"ajax_complete_time\", (new JSBNG__Date).getTime());\n        };\n    ;\n        function bindAjaxHandlers() {\n            $(JSBNG__document).bind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).bind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function unbindAjaxHandlers() {\n            $(JSBNG__document).unbind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).unbind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function startAjaxTracking() {\n            startingAjaxCount = pendingAjaxCount = $.active, recordMilestone(\"ajax_count\", startingAjaxCount), ((((startingAjaxCount == 0)) ? recordPendingAjaxComplete() : (unbindAjaxHandlers(), bindAjaxHandlers())));\n        };\n    ;\n        function recordMilestone(a, b) {\n            ((((window.ttftData && !window.ttftData[a])) && (window.ttftData[a] = b))), scribeMilestones(!1);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), recorded = !1, requiredMilestones = [\"page\",\"client_record_time\",\"aq_empty_time\",\"ajax_complete_time\",\"ajax_count\",], startingAjaxCount = 0, pendingAjaxCount = 0, newAjaxRequests = {\n        };\n        window.ttft = {\n            recordMilestone: recordMilestone\n        }, scribeMilestones(!1), JSBNG__setTimeout(function() {\n            scribeMilestones(!0);\n        }, 45000), module.exports = {\n            startAjaxTracking: startAjaxTracking\n        };\n    });\n    function makePromptSpanPage(a) {\n        ((a.length && a.prependTo(\"#page-container\").css({\n            padding: 0,\n            border: 0\n        })));\n    };\n;\n    using.path = $(\"#swift-module-path\").val();\n    makePromptSpanPage($(\"div[data-prompt-id=\\\"262\\\"]\"));\n    ((using.aliases && using.bundles.push(using.aliases)));\n    $(\".loadrunner-alias\").each(function(a, b) {\n        using.bundles.push(JSON.parse($(b).val()));\n    });\n    using(\"debug/debug\", function(a) {\n        function b() {\n            function d() {\n                c.forEach(function(a) {\n                    a(b);\n                });\n                var a = $(JSBNG__document);\n                a.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function() {\n                    window.__swift_loaded = !0;\n                });\n                a.JSBNG__on(\"uiBeforeNewPageLoad\", function() {\n                    window.__swift_loaded = !1;\n                });\n                $(\"html\").removeClass(b.baseFoucClass);\n                a.trigger(\"uiSwiftLoaded\");\n                ((window.swiftActionQueue && window.swiftActionQueue.flush($)));\n                if (window.ttftData) {\n                    ((window.ttft && window.ttft.recordMilestone(\"aq_empty_time\", (new JSBNG__Date).getTime())));\n                    using(\"app/utils/ttft\", function(a) {\n                        a.startAjaxTracking();\n                    });\n                }\n            ;\n            ;\n            };\n        ;\n            var a = $(\"#init-data\").val(), b = JSON.parse(a), c = $.makeArray(arguments);\n            ((b.moreCSSBundle ? using(((\"css!\" + b.moreCSSBundle)), d) : d()));\n        };\n    ;\n        if ($(\"html\").hasClass(\"debug\")) {\n            window.DEBUG = a;\n            a.enable(!0);\n        }\n         else a.enable(!1);\n    ;\n    ;\n        var c = $(\"input.swift-boot-module\").map(function(a, b) {\n            return $(b).val();\n        }).toArray();\n        using.apply(this, c.concat(b));\n    });\n} catch (JSBNG_ex) {\n\n};");
+// 1490
+JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4[0]();
+// 1495
+geval("define(\"app/data/tweet_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetActions() {\n        this.defaultAttrs({\n            successFromEndpoints: {\n                destroy: \"dataDidDeleteTweet\",\n                retweet: \"dataDidRetweet\",\n                favorite: \"dataDidFavoriteTweet\",\n                unretweet: \"dataDidUnretweet\",\n                unfavorite: \"dataDidUnfavoriteTweet\"\n            },\n            errorsFromEndpoints: {\n                destroy: \"dataFailedToDeleteTweet\",\n                retweet: \"dataFailedToRetweet\",\n                favorite: \"dataFailedToFavoriteTweet\",\n                unretweet: \"dataFailedToUnretweet\",\n                unfavorite: \"dataFailedToUnfavoriteTweet\"\n            }\n        }), this.takeAction = function(a, b, c) {\n            var d = function(b) {\n                ((((b && b.message)) && this.trigger(\"uiShowMessage\", {\n                    message: b.message\n                }))), this.trigger(this.attr.successFromEndpoints[a], b), this.trigger(JSBNG__document, \"dataGotProfileStats\", {\n                    stats: b.profile_stats\n                });\n            }, e;\n            ((((((((a === \"favorite\")) || ((a === \"retweet\")))) && ((\"retweetId\" in c)))) ? e = {\n                id: c.retweetId\n            } : e = {\n                id: c.id\n            })), ((c.impressionId && (e.impression_id = c.impressionId, ((c.disclosureType && (e.earned = ((c.disclosureType == \"earned\"))))))));\n            var f = {\n                destroy: \"DELETE\",\n                unretweet: \"DELETE\"\n            };\n            this.JSONRequest({\n                url: ((\"/i/tweet/\" + a)),\n                data: e,\n                eventData: c,\n                success: d.bind(this),\n                error: this.attr.errorsFromEndpoints[a]\n            }, ((f[a] || \"POST\")));\n        }, this.hitEndpoint = function(a) {\n            return this.takeAction.bind(this, a);\n        }, this.getTweet = function(a, b) {\n            var c = {\n                id: b.id\n            };\n            this.get({\n                url: \"/i/tweet/html\",\n                data: c,\n                eventData: b,\n                success: \"dataGotTweet\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDidRetweet\", this.hitEndpoint(\"retweet\")), this.JSBNG__on(\"uiDidUnretweet\", this.hitEndpoint(\"unretweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.hitEndpoint(\"destroy\")), this.JSBNG__on(\"uiDidFavoriteTweet\", this.hitEndpoint(\"favorite\")), this.JSBNG__on(\"uiDidUnfavoriteTweet\", this.hitEndpoint(\"unfavorite\")), this.JSBNG__on(\"uiGetTweet\", this.getTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetActions = defineComponent(tweetActions, withData);\n    module.exports = TweetActions;\n});\ndefine(\"app/ui/expando/with_expanding_containers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withExpandingContainers() {\n        this.MARGIN_ANIMATION_SPEED = 85, this.DETACHED_MARGIN = 8, this.defaultAttrs({\n            openClass: \"open\",\n            openSelector: \".open\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            marginBreaking: !0\n        }), this.flipClassState = function(a, b, c) {\n            a.filter(((\".\" + b))).removeClass(b).addClass(c);\n        }, this.fixMarginForAdjacentItem = function(a) {\n            $(a.target).next().filter(this.attr.openSelector).css(\"margin-top\", this.DETACHED_MARGIN).prev().addClass(this.attr.beforeExpandedClass);\n        }, this.enterDetachedState = function(a, b) {\n            var c = a.prev(), d = a.next();\n            a.addClass(this.attr.openClass), ((this.attr.marginBreaking && a.animate({\n                marginTop: ((c.length ? this.DETACHED_MARGIN : 0)),\n                marginBottom: ((d.length ? this.DETACHED_MARGIN : 0))\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED))\n            }))), c.addClass(this.attr.beforeExpandedClass), d.addClass(this.attr.afterExpandedClass);\n        }, this.exitDetachedState = function(a, b) {\n            var c = function() {\n                a.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n            }.bind(this);\n            a.removeClass(this.attr.openClass), ((this.attr.marginBreaking ? a.animate({\n                marginTop: 0,\n                marginBottom: 0\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED)),\n                complete: c\n            }) : c()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasInjectedTimelineItem uiShouldFixMargins\", this.fixMarginForAdjacentItem);\n        });\n    };\n;\n    module.exports = withExpandingContainers;\n});\ndefine(\"app/ui/expando/expando_helpers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var SPEED_COEFFICIENT = 105, expandoHelpers = {\n        buildExpandoStruct: function(a) {\n            var b = a.$tweet, c = b.hasClass(a.originalClass), d = a.preexpanded, e = ((c ? b.closest(a.containingSelector) : b)), f = ((c ? e.get(0) : b.closest(\"li\").get(0))), g = b.closest(a.expansionSelector, f).get(0), h = ((g ? $(g) : $())), i = {\n                $tweet: b,\n                $container: e,\n                $scaffold: h,\n                $ancestors: $(),\n                $descendants: $(),\n                auto_expanded: b.hasClass(\"auto-expanded\"),\n                isTopLevel: c,\n                originalHeight: null,\n                animating: !1,\n                preexpanded: d,\n                skipAnimation: a.skipAnimation,\n                open: ((b.hasClass(a.openedTweetClass) && !d))\n            };\n            return i;\n        },\n        guessGoodSpeed: function() {\n            var a = Math.max.apply(Math, arguments);\n            return Math.round(((((4045 * Math.log(a))) * SPEED_COEFFICIENT)));\n        },\n        getNaturalHeight: function(a) {\n            var b = a.height(), c = a.height(\"auto\").height();\n            return a.height(b), c;\n        },\n        closeAllButPreserveScroll: function(a) {\n            var b = a.$scope.JSBNG__find(a.openSelector);\n            if (!b.length) {\n                return !1;\n            }\n        ;\n        ;\n            var c = $(window).scrollTop(), d = expandoHelpers.firstVisibleItemBelow(a.$scope, a.itemSelector, c);\n            if (((!d || !d.length))) {\n                return !1;\n            }\n        ;\n        ;\n            var e = d.offset().JSBNG__top;\n            b.each(a.callback);\n            var f = d.offset().JSBNG__top, g = ((e - f));\n            return $(window).scrollTop(((c - g))), g;\n        },\n        firstVisibleItemBelow: function(a, b, c) {\n            var d;\n            return a.JSBNG__find(b).each(function() {\n                var a = $(this);\n                if (((a.offset().JSBNG__top >= c))) {\n                    return d = a, !1;\n                }\n            ;\n            ;\n            }), d;\n        }\n    };\n    module.exports = expandoHelpers;\n});\ndefine(\"app/ui/gallery/with_gallery\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            mediaThumbnailSelector: \".media-thumbnail\",\n            previewClass: \"is-preview\"\n        }), this.expandPreview = function(a) {\n            var b = a.closest(this.attr.mediaThumbnailSelector);\n            if (b.hasClass(this.attr.previewClass)) {\n                var c = a.parents(\".tweet.with-media-preview:not(.opened-tweet)\");\n                if (c.length) {\n                    return this.trigger(c, \"uiExpandTweet\"), !0;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return !1;\n        }, this.openMediaGallery = function(a) {\n            a.preventDefault(), a.stopPropagation();\n            var b = $(a.target);\n            ((this.expandPreview(b) || this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            }))), this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: ((b.hasClass(\"video\") ? \"video\" : \"photo\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            ((((a.permalinkCardsGallery || a.timelineCardsGallery)) && this.JSBNG__on(\"click\", {\n                mediaThumbnailSelector: this.openMediaGallery\n            })));\n        });\n    };\n});\ndefine(\"app/ui/with_tweet_translation\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/tweet_helper\",\"app/ui/with_interaction_data\",\"app/utils/rtl_text\",\"core/i18n\",], function(module, require, exports) {\n    function withTweetTranslation() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            tweetSelector: \"div.tweet\",\n            tweetTranslationSelector: \".tweet-translation\",\n            tweetTranslationTextSelector: \".tweet-translation-text\",\n            translateTweetSelector: \".js-translate-tweet\",\n            translateLabelSelector: \".translate-label\",\n            permalinkContainerSelector: \".permalink-tweet-container\",\n            permalinkClass: \"permalink-tweet-container\"\n        }), this.handleTranslateTweetClick = function(a, b) {\n            var c, d;\n            c = $(a.target).closest(this.attr.tweetSelector);\n            if (((((a.type === \"uiTimelineNeedsTranslation\")) && c.closest(this.attr.permalinkContainerSelector).length))) {\n                return;\n            }\n        ;\n        ;\n            ((c.JSBNG__find(this.attr.tweetTranslationSelector).is(\":hidden\") && (d = this.interactionData(c), d.dest = JSBNG__document.documentElement.getAttribute(\"lang\"), this.trigger(c, \"uiNeedsTweetTranslation\", d))));\n        }, this.showTweetTranslation = function(a, b) {\n            var c;\n            ((b.item_html && (c = this.findTweetTranslation(b.id_str), c.JSBNG__find(this.attr.tweetTranslationTextSelector).html(b.item_html), c.show(), ((this.$node.hasClass(this.attr.permalinkClass) && this.$node.JSBNG__find(this.attr.translateTweetSelector).hide())))));\n        }, this.findTweetTranslation = function(a) {\n            var b = this.$node.JSBNG__find(((((((this.attr.tweetSelector + \"[data-tweet-id=\")) + a.replace(/\\D/g, \"\"))) + \"]\")));\n            return b.JSBNG__find(this.attr.tweetTranslationSelector);\n        }, this.showError = function(a, b) {\n            this.trigger(\"uiShowMessage\", {\n                message: _(\"Unable to translate this Tweet. Please try again later.\")\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataTweetTranslationSuccess\", this.showTweetTranslation), this.JSBNG__on(JSBNG__document, \"dataTweetTranslationError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiTimelineNeedsTranslation\", this.handleTranslateTweetClick), this.JSBNG__on(\"click\", {\n                translateTweetSelector: this.handleTranslateTweetClick\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), tweetHelper = require(\"app/utils/tweet_helper\"), withInteractionData = require(\"app/ui/with_interaction_data\"), RTLText = require(\"app/utils/rtl_text\"), _ = require(\"core/i18n\");\n    module.exports = withTweetTranslation;\n});\ndefine(\"app/ui/tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_tweet_actions\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",\"app/ui/with_item_actions\",\"app/ui/with_tweet_translation\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\"), withItemActions = require(\"app/ui/with_item_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\");\n    module.exports = defineComponent(withUserActions, withTweetActions, withGallery, withItemActions, withTweetTranslation);\n});\ndefine(\"app/ui/tweet_injector\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function tweetInjector() {\n        this.defaultAttrs({\n            descendantClass: \"descendant\",\n            descendantScribeContext: \"replies\",\n            tweetSelector: \".tweet\"\n        }), this.insertTweet = function(a, b) {\n            var c = this.$node.closest(\".permalink\");\n            ((c.length && (c.addClass(\"has-replies\"), this.$node.closest(\".replies-to\").removeClass(\"hidden\"))));\n            var d = $(b.tweet_html);\n            d.JSBNG__find(this.attr.tweetSelector).addClass(this.attr.descendantClass).attr(\"data-component-context\", this.attr.descendantScribeContext);\n            var e;\n            ((this.attr.guard(b) && (e = this.$node.JSBNG__find(\".view-more-container\"), ((e.length ? d.insertBefore(e.closest(\"li\")) : this.$node.append(d))), this.trigger(\"uiTweetInserted\", b))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.insertTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(tweetInjector);\n});\ndefine(\"app/ui/expando/with_expanding_social_activity\", [\"module\",\"require\",\"exports\",\"app/ui/expando/expando_helpers\",\"core/i18n\",\"app/utils/tweet_helper\",\"app/ui/tweets\",\"app/ui/tweet_injector\",], function(module, require, exports) {\n    function withExpandingSocialActivity() {\n        this.defaultAttrs({\n            animating: \"animating\",\n            socialProofSelector: \".js-tweet-stats-container\",\n            requestRetweetedSelector: \".request-retweeted-popup\",\n            requestFavoritedSelector: \".request-favorited-popup\",\n            targetTweetSelector: \".tweet\",\n            targetTitleSelector: \"[data-activity-popup-title]\",\n            inlineReplyTweetBoxFormSelector: \".inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetBoxFormCloneSrcSelector: \"#inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetboxSelector: \".inline-reply-tweetbox\",\n            inlineReplyUserImageSelector: \".inline-reply-user-image\",\n            permalinkTweetClasses: \"opened-tweet permalink-tweet\",\n            parentStreamItemSelector: \".stream-item\",\n            viewMoreContainerSelector: \".view-more-container\",\n            ancestorsSelector: \".ancestor-items\\u003Eli\",\n            descendantsSelector: \".tweets-wrapper\\u003Eli\"\n        }), this.calculateMargins = function(a) {\n            var b, c, d = 0, e = 0;\n            ((a.$ancestors.length && (c = a.$ancestors.first(), d = Math.abs(parseInt(c.css(\"marginTop\"), 10)), ((d || (d = ((a.$tweet.offset().JSBNG__top - c.offset().JSBNG__top))))))));\n            var f, g, h;\n            return ((a.$descendants.length && (f = a.$descendants.last(), e = Math.abs(parseInt(f.css(\"marginBottom\"), 10)), ((e || (b = a.$tweet.JSBNG__outerHeight(), g = f.JSBNG__outerHeight(), h = f.offset().JSBNG__top, e = ((((h + g)) - ((b + a.$tweet.offset().JSBNG__top)))))))))), {\n                JSBNG__top: d,\n                bottom: e\n            };\n        }, this.animateScaffoldHeight = function(a) {\n            var b = a.expando, c = a.marginTop, d = a.marginBottom, e = b.$ancestors.length, f = b.$descendants.length, g;\n            ((((a.noAnimation || ((!b.open && !b.animating)))) ? g = 0 : ((((e || f)) ? g = a.speed : g = expandoHelpers.guessGoodSpeed(Math.abs(((b.$scaffold.height() - a.height))))))));\n            var h = 1;\n            ((e && h++)), ((f && h++));\n            var i = function() {\n                h--, ((((h == 0)) && (b.animating = !1, ((e && b.$ancestors.first().css(\"marginTop\", \"\"))), ((f && b.$descendants.last().css(\"marginBottom\", \"\"))), ((a.complete && a.complete())))));\n            }.bind(this);\n            b.$scaffold.animate({\n                height: a.height\n            }, {\n                duration: g,\n                complete: i\n            }), ((e && b.$ancestors.first().animate({\n                marginTop: c\n            }, {\n                duration: g,\n                step: a.stepFn,\n                complete: i\n            }))), ((f && b.$descendants.last().animate({\n                marginBottom: d\n            }, {\n                duration: g,\n                complete: i\n            })));\n        }, this.animateTweetOpen = function(a) {\n            var b = a.expando, c = expandoHelpers.getNaturalHeight(b.$scaffold), d = this.calculateMargins(b), e = a.complete;\n            b.animating = !0, ((b.$ancestors.length && b.$ancestors.first().css(\"margin-top\", -d.JSBNG__top))), ((b.$descendants.length && b.$descendants.last().css(\"margin-bottom\", -d.bottom))), this.animateScaffoldHeight({\n                expando: b,\n                height: c,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(d.JSBNG__top, d.bottom),\n                marginTop: 0,\n                marginBottom: 0,\n                complete: function() {\n                    b.$scaffold.height(\"auto\"), ((e && e()));\n                }.bind(this)\n            });\n        }, this.animateTweetClosed = function(a) {\n            var b = a.expando, c = this.calculateMargins(b), d = a.complete;\n            b.animating = !0, this.animateScaffoldHeight({\n                expando: b,\n                height: b.originalHeight,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(c.JSBNG__top, c.bottom),\n                stepFn: a.stepFn,\n                marginTop: -c.JSBNG__top,\n                marginBottom: -c.bottom,\n                complete: function() {\n                    b.$scaffold.height(b.originalHeight), b.$container.css({\n                        \"margin-top\": \"\",\n                        \"margin-bottom\": \"\"\n                    }), ((d && d()));\n                }\n            });\n        }, this.initTweetsInConversation = function(a) {\n            ((((a.$container.closest(this.attr.parentStreamItemSelector).length && a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).length)) && (Tweets.attachTo(a.$scaffold, {\n                screenName: this.attr.screenName,\n                loggedIn: this.attr.loggedIn,\n                itemType: a.$container.attr(\"data-item-type\")\n            }), ((this.attr.loggedIn && TweetInjector.attachTo(a.$scaffold, {\n                guard: function(b) {\n                    return ((b.in_reply_to_status_id == a.$tweet.attr(\"data-tweet-id\")));\n                }\n            }))))));\n        }, this.animateConversationEntrance = function(a, b) {\n            var c = $(a.target).data(\"expando\"), d = $(a.target).attr(\"focus-reply\");\n            $(a.target).removeAttr(\"focus-reply\"), ((c.$tweet.data(\"is-reply-to\") || (b.ancestors = \"\"))), c.$scaffold.height(c.$scaffold.JSBNG__outerHeight());\n            var e = $(b.ancestors), f = $(b.descendants);\n            c.$ancestors = e.JSBNG__find(this.attr.ancestorsSelector), c.$descendants = f.JSBNG__find(this.attr.descendantsSelector);\n            var g = ((c.$ancestors.length || c.$descendants.length));\n            ((g && this.trigger(c.$tweet, \"uiRenderingExpandedConversation\"))), c.$tweet.after(f.JSBNG__find(this.attr.inlineReplyTweetboxSelector)), c.$scaffold.prepend(c.$ancestors), c.$scaffold.append(c.$descendants);\n            var h = f.JSBNG__find(this.attr.viewMoreContainerSelector), i;\n            ((h.length && (i = $(\"\\u003Cli/\\u003E\"), h.appendTo(i), c.$scaffold.append(i), c.$descendants = c.$descendants.add(i))));\n            var j = this.renderInlineTweetbox(c, b.sourceEventData);\n            this.animateTweetOpen({\n                expando: c,\n                complete: function() {\n                    c.open = !0, c.$scaffold.removeClass(this.attr.animating), c.$scaffold.css(\"height\", \"auto\"), this.trigger(c.$tweet, \"uiTimelineNeedsTranslation\"), ((((d && j)) && this.trigger(j, \"uiExpandFocus\")));\n                }.bind(this)\n            }), this.initTweetsInConversation(c), ((g && this.trigger(c.$tweet, \"uiExpandedConversationRendered\")));\n        }, this.renderConversation = function(a, b) {\n            var c = $(a.target).data(\"expando\");\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((c.animating ? c.$scaffold.queue(function() {\n                this.animateConversationEntrance(a, b), c.$scaffold.dequeue();\n            }.bind(this)) : this.animateConversationEntrance(a, b)));\n        }, this.renderInlineTweetbox = function(a, b) {\n            var c, d = a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetBoxFormSelector);\n            ((((d.length === 0)) && (d = $(this.attr.inlineReplyTweetBoxFormCloneSrcSelector).clone(), c = ((\"tweet-box-reply-to-\" + a.$tweet.attr(\"data-tweet-id\"))), d.JSBNG__find(\"textarea\").attr(\"id\", c), d.JSBNG__find(\"label\").attr(\"for\", c), a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).empty(), d.appendTo(a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector)))));\n            var e = tweetHelper.extractMentionsForReply(a.$tweet, this.attr.screenName), f = ((((\"@\" + e.join(\" @\"))) + \" \"));\n            b = ((b || {\n            }));\n            var g = {\n                condensable: !0,\n                defaultText: f,\n                condensedText: _(\"Reply to {{screen_names}}\", {\n                    screen_names: f\n                }),\n                inReplyToTweetData: b,\n                inReplyToStatusId: a.$tweet.attr(\"data-tweet-id\"),\n                impressionId: a.$tweet.attr(\"data-impression-id\"),\n                disclosureType: a.$tweet.attr(\"data-disclosure-type\"),\n                eventData: {\n                    scribeContext: {\n                        component: \"tweet_box_inline_reply\"\n                    }\n                }\n            };\n            return ((b.itemType && (g.itemType = b.itemType))), this.trigger(d, \"uiInitTweetbox\", g), d;\n        }, this.renderEmptyConversation = function(a, b) {\n            this.renderConversation(a);\n        }, this.requestActivityPopup = function(a) {\n            var b = $(a.target), c = b.closest(this.attr.targetTweetSelector), d = !!b.closest(this.attr.requestRetweetedSelector).length;\n            a.preventDefault(), a.stopPropagation(), this.trigger(\"uiRequestActivityPopup\", {\n                titleHtml: b.closest(this.attr.targetTitleSelector).attr(\"data-activity-popup-title\"),\n                tweetHtml: $(\"\\u003Cdiv\\u003E\").html(c.clone().removeClass(this.attr.permalinkTweetClasses)).html(),\n                isRetweeted: d\n            });\n        }, this.renderSocialProof = function(a, b) {\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector);\n            ((c.JSBNG__find(\".stats\").length || c.append(b.social_proof))), $(a.target).trigger(\"uiHasRenderedTweetSocialProof\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetConversationResult\", this.renderConversation), this.JSBNG__on(JSBNG__document, \"dataTweetSocialProofResult\", this.renderSocialProof), this.JSBNG__on(\"click\", {\n                requestRetweetedSelector: this.requestActivityPopup,\n                requestFavoritedSelector: this.requestActivityPopup\n            });\n        });\n    };\n;\n    var expandoHelpers = require(\"app/ui/expando/expando_helpers\"), _ = require(\"core/i18n\"), tweetHelper = require(\"app/utils/tweet_helper\"), Tweets = require(\"app/ui/tweets\"), TweetInjector = require(\"app/ui/tweet_injector\");\n    module.exports = withExpandingSocialActivity;\n});\ndefine(\"app/ui/expando/expanding_tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expando_helpers\",\"app/utils/caret\",], function(module, require, exports) {\n    function expandingTweets() {\n        this.defaultAttrs({\n            playerCardIframeSelector: \".cards-base.cards-multimedia iframe, .card2 iframe\",\n            insideProxyTweet: \".proxy-tweet-container *\",\n            expandingTweetSelector: \".js-stream-tweet\",\n            topLevelTweetSelector: \".js-stream-tweet.original-tweet\",\n            tweetSelector: \".tweet\",\n            detailsSelector: \".js-tweet-details-dropdown\",\n            expansionSelector: \".expansion-container\",\n            expandedContentSelector: \".expanded-content\",\n            expansionClasses: \"expansion-container js-expansion-container animating\",\n            openedTweetClass: \"opened-tweet\",\n            originalTweetClass: \"original-tweet\",\n            withSocialProofClass: \"with-social-proof\",\n            expandoHandleSelector: \".js-open-close-tweet span\",\n            containingItemSelector: \".js-stream-item\",\n            preexpandedOpenTweetSelector: \"li.js-preexpanded div.opened-tweet\",\n            preexpandedTweetClass: \"preexpanded\",\n            expandedIframeDataStash: \"data-expando-iframe-media-url\",\n            jsLinkSelector: \".js-link\",\n            tweetFormSelector: \".tweet-form\",\n            withheldTweetClass: \"withheld-tweet\",\n            jsDetailsSelector: \".js-details\",\n            jsStreamItemSelector: \".js-stream-item\",\n            jsTranslateTweetSelector: \".js-translate-tweet\",\n            openedOriginalTweetSelector: \".js-original-tweet.opened-tweet\",\n            expandedConversationSelector: \".expanded-conversation\",\n            expandedConversationClass: \"expanded-conversation\",\n            inlineReplyTweetBoxSelector: \".inline-reply-tweetbox\",\n            openChildrenSelector: \".ancestor.opened-tweet,.descendant.opened-tweet\",\n            enableAnimation: !0,\n            SCROLL_TOP_OFFSET: 55,\n            MAX_PLAYER_WIDTH_IN_PIXELS: 435,\n            hasConversationModuleClass: \"has-conversation-module\",\n            conversationModuleSelector: \".conversation-module\",\n            conversationRootClass: \"conversation-root\",\n            hadConversationClass: \"had-conversation\",\n            animatingClass: \"animating\"\n        }), this.handleTweetClick = function(a, b) {\n            var c = $(b.el);\n            ((this.shouldExpandWhenTargetIs($(a.target), c) && (a.preventDefault(), ((this.handleConversationExpansion(c) || this.expandTweet(c))))));\n        }, this.handleConversationExpansion = function(a) {\n            if (a.hasClass(this.attr.conversationRootClass)) {\n                return a.trigger(\"uiExpandConversationRoot\"), !0;\n            }\n        ;\n        ;\n            if (a.closest(this.attr.containingItemSelector).hasClass(this.attr.hadConversationClass)) {\n                return a.trigger(\"uiRestoreConversationModule\"), !0;\n            }\n        ;\n        ;\n        }, this.shouldExpandWhenTargetIs = function(a, b) {\n            var c = b.hasClass(this.attr.withheldTweetClass), d = a.is(this.attr.expandoHandleSelector), e = ((a.closest(this.attr.jsDetailsSelector, b).length > 0)), f = ((a.closest(this.attr.jsTranslateTweetSelector, b).length > 0)), g = ((((!a.closest(\"a\", b).length && !a.closest(\"button\", b).length)) && !a.closest(this.attr.jsLinkSelector, b).length));\n            return ((((((((((d || g)) || e)) || f)) && !c)) && !this.selectedText()));\n        }, this.selectedText = function() {\n            return caret.JSBNG__getSelection();\n        }, this.resetCard = function(a, b) {\n            b = ((((b || a.data(\"expando\"))) || this.loadTweet(a)));\n            if (b.auto_expanded) {\n                return;\n            }\n        ;\n        ;\n            var c = this;\n            a.JSBNG__find(this.attr.playerCardIframeSelector).each(function(a, b) {\n                b.setAttribute(c.attr.expandedIframeDataStash, b.src), b.src = \"\";\n            });\n        }, this.expandItem = function(a, b) {\n            this.expandTweet($(a.target).JSBNG__find(this.attr.tweetSelector).eq(0), b);\n        }, this.expandTweetByReply = function(a, b) {\n            var c = $(a.target);\n            c.attr(\"focus-reply\", !0), b.focusReply = !0, this.expandTweet(c, b);\n        }, this.focusReplyTweetbox = function(a) {\n            var b = a.parent().JSBNG__find(this.attr.tweetFormSelector);\n            ((((b.length > 0)) && this.trigger(b, \"uiExpandFocus\")));\n        }, this.expandTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((a.data(\"expando\") || this.loadTweet(a, b)));\n            if (c.open) {\n                if (b.focusReply) {\n                    this.focusReplyTweetbox(a);\n                    return;\n                }\n            ;\n            ;\n                this.closeTweet(a, c, b);\n            }\n             else this.openTweet(a, c, b);\n        ;\n        ;\n        }, this.collapseTweet = function(a, b) {\n            (($(b).hasClass(this.attr.openedTweetClass) && this.expandTweet($(b), {\n                noAnimation: !0\n            })));\n        }, this.loadTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((b.expando || expandoHelpers.buildExpandoStruct({\n                $tweet: a,\n                preexpanded: b.preexpanded,\n                openedTweetClass: this.attr.openedTweetClass,\n                expansionSelector: this.attr.expansionSelector,\n                originalClass: this.attr.originalTweetClass,\n                containingSelector: this.attr.containingItemSelector\n            })));\n            a.data(\"expando\", c);\n            var d;\n            this.setOriginalHeight(a, c);\n            if (((((((!c.$descendants.length || !c.$ancestors.length)) || c.preexpanded)) || c.auto_expanded))) {\n                this.scaffoldForAnimation(a, c), delete b.focusReply, this.loadHtmlFragmentsFromAttributes(a, c, b), this.resizePlayerCards(a);\n            }\n        ;\n        ;\n            return c;\n        }, this.setOriginalHeight = function(a, b) {\n            a.removeClass(this.attr.openedTweetClass), b.originalHeight = a.JSBNG__outerHeight(), a.addClass(this.attr.openedTweetClass);\n        }, this.resizePlayerCard = function(a, b) {\n            var c = $(b), d = parseFloat(c.attr(\"width\"));\n            if (((d > this.attr.MAX_PLAYER_WIDTH_IN_PIXELS))) {\n                var e = parseFloat(c.attr(\"height\")), f = ((d / e)), g = ((this.attr.MAX_PLAYER_WIDTH_IN_PIXELS / f));\n                c.attr(\"width\", this.attr.MAX_PLAYER_WIDTH_IN_PIXELS), c.attr(\"height\", Math.floor(g));\n            }\n        ;\n        ;\n        }, this.resizePlayerCards = function(a) {\n            var b = a.JSBNG__find(this.attr.playerCardIframeSelector);\n            b.each(this.resizePlayerCard.bind(this));\n        }, this.loadPreexpandedTweet = function(a, b) {\n            var c = $(b), d = this.loadTweet(c, {\n                preexpanded: !0\n            });\n            this.openTweet(c, d, {\n                skipAnimation: !0\n            });\n            var e = $.trim(c.JSBNG__find(this.attr.expandedContentSelector).html());\n            ((e && c.attr(\"data-expanded-footer\", e))), this.JSBNG__on(b, \"uiHasAddedLegacyMediaIcon\", function() {\n                this.setOriginalHeight(c, d), this.trigger(b, \"uiWantsMediaForTweet\", {\n                });\n            });\n        }, this.createStepFn = function(a) {\n            var b = $(window), c = Math.abs(((a.from - a.to))), d = Math.min(a.from, a.to), e = a.expando.$container.offset().JSBNG__top, f = b.scrollTop(), g = ((((f + this.attr.SCROLL_TOP_OFFSET)) - e)), h = function(a) {\n                var e = ((a - d)), h = ((e / c));\n                ((((g > 0)) && b.scrollTop(((f - ((g * ((1 - h)))))))));\n            };\n            return h;\n        }, this.openTweet = function(a, b, c) {\n            ((b.isTopLevel && this.enterDetachedState(b.$container, c.skipAnimation))), this.beforeOpeningTweet(b);\n            if (((!this.attr.enableAnimation || c.skipAnimation))) {\n                return this.afterOpeningTweet(b);\n            }\n        ;\n        ;\n            this.trigger(a, \"uiHasExpandedTweet\", {\n                organicExpansion: !c.focusReply,\n                impressionId: a.closest(\"[data-impression-id]\").attr(\"data-impression-id\"),\n                disclosureType: a.closest(\"[data-impression-id]\").attr(\"data-disclosure-type\")\n            }), this.animateTweetOpen({\n                expando: b,\n                complete: function() {\n                    this.afterOpeningTweet(b);\n                }.bind(this)\n            });\n        }, this.beforeOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            ((a.auto_expanded || a.$tweet.JSBNG__find(((((\"iframe[\" + this.attr.expandedIframeDataStash)) + \"]\"))).each(function(a, b) {\n                var c = b.getAttribute(this.attr.expandedIframeDataStash);\n                ((!c || (b.src = c)));\n            }.bind(this)))), a.$tweet.addClass(this.attr.openedTweetClass);\n        }, this.afterOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            a.open = !0, a.$scaffold.removeClass(this.attr.animatingClass), a.$scaffold.css(\"height\", \"auto\"), a.$container.removeClass(this.attr.preexpandedTweetClass), this.trigger(a.$tweet, \"uiTimelineNeedsTranslation\");\n        }, this.removeExpando = function(a, b) {\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d, e;\n            ((((a.closest(\".supplement\").length || !b.isTopLevel)) ? d = b.$scaffold.parent() : d = a.closest(this.attr.jsStreamItemSelector))), ((a.hasClass(this.attr.hasConversationModuleClass) ? (e = a.closest(this.attr.conversationModuleSelector), e.JSBNG__find(\".descendant\").closest(\"li\").remove(), e.JSBNG__find(\".view-more-container\").closest(\"li\").remove(), e.JSBNG__find(this.attr.inlineReplyTweetBoxSelector).remove(), b.$scaffold.css(\"height\", \"auto\"), a.data(\"expando\", null)) : (e = a, d.html(e)))), d.removeClass(\"js-has-navigable-stream\"), ((c && d.JSBNG__find(this.attr.jsDetailsSelector).JSBNG__focus())), this.trigger(d, \"uiSelectItem\", {\n                setFocus: !c\n            });\n        }, this.closeTweet = function(a, b, c) {\n            ((b.isTopLevel && this.exitDetachedState(b.$container, c.noAnimation)));\n            var d = function() {\n                this.resetCard(a, b), b.open = !1, a.removeClass(this.attr.openedTweetClass), b.$scaffold.removeClass(this.attr.animatingClass), this.removeExpando(a, b), this.trigger(a, \"uiHasCollapsedTweet\");\n            }.bind(this), e = this.createStepFn({\n                expando: b,\n                to: b.originalHeight,\n                from: b.$scaffold.height()\n            });\n            b.$scaffold.addClass(this.attr.animatingClass), this.animateTweetClosed({\n                expando: b,\n                complete: d,\n                stepFn: e,\n                noAnimation: c.noAnimation\n            });\n        }, this.hasConversationModule = function(a) {\n            return a.hasClass(this.attr.hasConversationModuleClass);\n        }, this.shouldLoadFullConversation = function(a, b) {\n            return ((((b.isTopLevel && !b.preexpanded)) && !this.hasConversationModule(a)));\n        }, this.loadHtmlFragmentsFromAttributes = function(a, b, c) {\n            ((a.JSBNG__find(this.attr.detailsSelector).children().length || (a.JSBNG__find(this.attr.detailsSelector).append($(a.data(\"expanded-footer\"))), this.trigger(a, \"uiWantsMediaForTweet\"))));\n            var d = utils.merge(c, {\n                fullConversation: this.shouldLoadFullConversation(a, b),\n                descendantsOnly: this.hasConversationModule(a),\n                facepileMax: ((b.isTopLevel ? 7 : 6))\n            });\n            ((((b.isTopLevel && b.preexpanded)) && a.attr(\"data-use-reply-dialog\", \"true\"))), delete d.expando, this.trigger(a, \"uiNeedsTweetExpandedContent\", d);\n        }, this.scaffoldForAnimation = function(a, b) {\n            if (!this.attr.enableAnimation) {\n                return;\n            }\n        ;\n        ;\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d;\n            ((c && (d = JSBNG__document.activeElement)));\n            var e, f, g, h = {\n                class: this.attr.expansionClasses,\n                height: b.originalHeight\n            };\n            ((a.closest(this.attr.topLevelTweetSelector).length ? ((a.closest(this.attr.conversationModuleSelector).length ? (e = a.closest(this.attr.conversationModuleSelector), e.addClass(this.attr.expansionClasses), e.height(e.JSBNG__outerHeight()), b.originalHeight = e.JSBNG__outerHeight()) : (h[\"class\"] = [this.attr.expandedConversationClass,this.attr.expansionClasses,\"js-navigable-stream\",].join(\" \"), e = $(\"\\u003Col/\\u003E\", h), e.appendTo(a.parent()), f = $(\"\\u003Cli class=\\\"original-tweet-container\\\"/\\u003E\"), f.appendTo(e), b.$container.addClass(\"js-has-navigable-stream\"), a.appendTo(f), this.trigger(e.JSBNG__find(\".original-tweet-container\"), \"uiSelectItem\", {\n                setFocus: !c\n            })))) : (e = $(\"\\u003Cdiv/\\u003E\", h), e.appendTo(a.parent()), a.appendTo(e), g = e.parent().JSBNG__find(this.attr.inlineReplyTweetBoxSelector), ((g.length && g.appendTo(e)))))), ((d && d.JSBNG__focus())), b.$scaffold = e;\n        }, this.indicateSocialProof = function(a, b) {\n            var c = $(a.target);\n            ((b.social_proof && c.addClass(this.attr.withSocialProofClass)));\n        }, this.closeAllChildTweets = function(a) {\n            a.$scaffold.JSBNG__find(this.attr.openChildrenSelector).each(this.collapseTweet.bind(this));\n        }, this.closeAllTopLevelTweets = function() {\n            expandoHelpers.closeAllButPreserveScroll({\n                $scope: this.$node,\n                openSelector: this.attr.openedOriginalTweetSelector,\n                itemSelector: this.attr.jsStreamItemSelector,\n                callback: this.collapseTweet.bind(this)\n            });\n        }, this.fullyLoadPreexpandedTweets = function() {\n            this.select(\"preexpandedOpenTweetSelector\").each(this.loadPreexpandedTweet.bind(this));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataTweetSocialProofResult\", this.indicateSocialProof), this.JSBNG__on(\"uiShouldToggleExpandedState\", this.expandItem), this.JSBNG__on(\"uiPromotionCardUrlClick\", this.expandItem), this.JSBNG__on(\"click uiExpandTweet\", {\n                expandingTweetSelector: this.handleTweetClick\n            }), this.JSBNG__on(\"expandTweetByReply\", this.expandTweetByReply), this.JSBNG__on(\"uiWantsToCloseAllTweets\", this.closeAllTopLevelTweets), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged uiHasInjectedNewTimeline\", this.fullyLoadPreexpandedTweets), this.before(\"teardown\", this.closeAllTopLevelTweets);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withExpandingContainers = require(\"app/ui/expando/with_expanding_containers\"), withExpandingSocialActivity = require(\"app/ui/expando/with_expanding_social_activity\"), expandoHelpers = require(\"app/ui/expando/expando_helpers\"), caret = require(\"app/utils/caret\");\n    module.exports = defineComponent(expandingTweets, withExpandingContainers, withExpandingSocialActivity);\n});\ndefine(\"app/ui/embed_stats\", [\"module\",\"require\",\"exports\",\"app/ui/with_item_actions\",\"core/component\",], function(module, require, exports) {\n    function embedStats() {\n        this.defaultAttrs({\n            permalinkSelector: \".permalink-tweet\",\n            embeddedLinkSelector: \".embed-stats-url-link\",\n            moreButtonSelector: \".embed-stats-more-button\",\n            moreStatsContainerSelector: \".embed-stats-more\",\n            itemType: \"user\"\n        }), this.expandMoreResults = function(a) {\n            this.select(\"moreButtonSelector\").hide(), this.select(\"moreStatsContainerSelector\").show(), this.trigger(\"uiExpandedMoreEmbeddedTweetLinks\", {\n                tweetId: this.tweetId\n            }), a.preventDefault();\n        }, this.clickLink = function(a) {\n            this.trigger(\"uiClickedEmbeddedTweetLink\", {\n                tweetId: this.tweetId,\n                url: (($(a.target).data(\"expanded-url\") || a.target.href))\n            });\n        }, this.after(\"initialize\", function() {\n            this.tweetId = this.select(\"permalinkSelector\").data(\"tweet-id\"), this.JSBNG__on(\"click\", {\n                embeddedLinkSelector: this.clickLink,\n                moreButtonSelector: this.expandMoreResults\n            });\n        });\n    };\n;\n    var withItemActions = require(\"app/ui/with_item_actions\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(embedStats, withItemActions);\n});\ndefine(\"app/data/url_resolver\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function urlResolver() {\n        this.resolveLink = function(a, b) {\n            JSBNG__clearTimeout(this.batch);\n            var c = this.linksToResolve[b.url];\n            c = ((c || [])), c.push(a.target), this.linksToResolve[b.url] = c, this.batch = JSBNG__setTimeout(this.sendBatchRequest.bind(this), 0);\n        }, this.sendBatchRequest = function() {\n            var a = Object.keys(this.linksToResolve);\n            if (((a.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                data: {\n                    urls: a\n                },\n                eventData: {\n                },\n                url: \"/i/resolve.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                type: \"JSON\",\n                success: this.handleBatch.bind(this),\n                error: \"dataBatchRequestError\"\n            });\n        }, this.handleBatch = function(a) {\n            delete a.sourceEventData, Object.keys(a).forEach(function(b) {\n                ((this.linksToResolve[b] && this.linksToResolve[b].forEach(function(c) {\n                    this.trigger(c, \"dataDidResolveUrl\", {\n                        url: a[b]\n                    });\n                }, this))), delete this.linksToResolve[b];\n            }, this);\n        }, this.after(\"initialize\", function() {\n            this.linksToResolve = {\n            }, this.JSBNG__on(\"uiWantsLinkResolution\", this.resolveLink);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), UrlResolver = defineComponent(urlResolver, withData);\n    module.exports = UrlResolver;\n});\ndefine(\"app/ui/media/with_native_media\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withNativeMedia() {\n        this.defaultAttrs({\n            expandedContentHolderWithPreloadableMedia: \"div[data-expanded-footer].has-preloadable-media\"\n        }), this.preloadEmbeddedMedia = function(a) {\n            $(a.target).JSBNG__find(this.attr.expandedContentHolderWithPreloadableMedia).each(function(a, b) {\n                $(\"\\u003Cdiv/\\u003E\").append($(b).data(\"expanded-footer\")).remove();\n            });\n        }, this.after(\"initialize\", function() {\n            this.preloadEmbeddedMedia({\n                target: this.$node\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.preloadEmbeddedMedia);\n        });\n    };\n;\n    module.exports = withNativeMedia;\n});\nprovide(\"app/ui/media/media_tweets\", function(a) {\n    using(\"core/component\", \"app/ui/media/with_legacy_media\", \"app/ui/media/with_native_media\", function(b, c, d) {\n        var e = b(c, d);\n        a(e);\n    });\n});\ndefine(\"app/data/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/setup_polling_with_backoff\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsData() {\n        this.defaultAttrs({\n            src: \"module\",\n            $backoffNode: $(window),\n            trendsPollingOptions: {\n                focusedInterval: 300000,\n                blurredInterval: 1200000,\n                eventData: {\n                    source: \"clock\"\n                }\n            }\n        }), this.makeTrendsRequest = function(a) {\n            var b = a.woeid, c = a.source, d = function(a) {\n                a.source = c, this.trigger(\"dataTrendsRefreshed\", a);\n            };\n            this.get({\n                url: \"/trends\",\n                eventData: a,\n                data: {\n                    k: this.currentCacheKey,\n                    woeid: b,\n                    pc: !0,\n                    personalized: a.personalized,\n                    src: this.attr.src\n                },\n                success: d.bind(this),\n                error: \"dataTrendsRefreshedError\"\n            });\n        }, this.makeTrendsDialogRequest = function(a, b) {\n            var c = {\n                woeid: a.woeid,\n                personalized: a.personalized,\n                pc: !0\n            }, d = function(a) {\n                this.trigger(\"dataGotTrendsDialog\", a), ((((this.currentWoeid && ((this.currentWoeid !== a.woeid)))) && this.trigger(\"dataTrendsLocationChanged\"))), this.currentWoeid = a.woeid, ((a.trends_cache_key && (this.currentCacheKey = a.trends_cache_key, this.trigger(\"dataPageMutated\")))), ((a.update_module_html && this.trigger(\"uiRefreshTrends\", a)));\n            }, e = ((b ? this.post : this.get));\n            e.call(this, {\n                url: \"/trends/dialog\",\n                eventData: a,\n                data: c,\n                success: d.bind(this),\n                error: \"dataGotTrendsDialogError\"\n            });\n        }, this.changeTrendsLocation = function(a, b) {\n            this.makeTrendsDialogRequest(b, !0);\n        }, this.refreshTrends = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsRequest(b);\n        }, this.getTrendsDialog = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsDialogRequest(b);\n        }, this.updateTrendsCacheKey = function(a, b) {\n            this.currentCacheKey = b.trendsCacheKey;\n        }, this.after(\"initialize\", function(a) {\n            this.currentCacheKey = a.trendsCacheKey, this.timer = setupPollingWithBackoff(\"uiRefreshTrends\", this.attr.$backoffNode, this.attr.trendsPollingOptions), this.JSBNG__on(\"uiWantsTrendsDialog\", this.getTrendsDialog), this.JSBNG__on(\"uiChangeTrendsLocation\", this.changeTrendsLocation), this.JSBNG__on(\"uiRefreshTrends\", this.refreshTrends), this.JSBNG__on(\"dataTempTrendsCacheKeyChanged\", this.updateTrendsCacheKey);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsData, withData);\n});\ndefine(\"app/data/trends/location_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsLocationDialogData() {\n        this.getTrendsLocationDialog = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataGotTrendsLocationDialog\", a), ((a.trendLocations && this.trigger(\"dataLoadedTrendLocations\", {\n                    trendLocations: a.trendLocations\n                })));\n            };\n            this.get({\n                url: \"/trends/location_dialog\",\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.updateTrendsLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            })), d = {\n                woeid: c.woeid,\n                personalized: b.personalized,\n                pc: !0\n            }, e = function(a) {\n                this.trigger(\"dataChangedTrendLocation\", {\n                    personalized: a.personalized,\n                    JSBNG__location: c\n                }), ((a.trends_cache_key && (this.trigger(\"dataTempTrendsCacheKeyChanged\", {\n                    trendsCacheKey: a.trends_cache_key\n                }), this.trigger(\"dataPageMutated\")))), ((a.update_module_html && this.trigger(\"uiRefreshTrends\", a)));\n            };\n            this.post({\n                url: \"/trends/dialog\",\n                eventData: b,\n                data: d,\n                success: e.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiWantsTrendsLocationDialog\", this.getTrendsLocationDialog), this.JSBNG__on(\"uiChangeLocation\", this.updateTrendsLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsLocationDialogData, withData);\n});\ndefine(\"app/data/trends/recent_locations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsRecentLocations() {\n        this.defaultAttrs({\n            storageName: \"recent_trend_locations\",\n            storageKey: \"locations\",\n            maxRecentLocations: 5\n        }), this.initializeStorage = function() {\n            var a = customStorage({\n                withArray: !0,\n                withMaxElements: !0\n            });\n            this.storage = new a(this.attr.storageName), this.storage.setMaxElements(this.attr.storageKey, this.attr.maxRecentLocations);\n        }, this.getRecentTrendLocations = function() {\n            this.trigger(\"dataGotRecentTrendLocations\", {\n                trendLocations: this.storage.getArray(this.attr.storageKey)\n            });\n        }, this.saveRecentLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            }));\n            if (((!c.woeid || this.hasRecentLocation(c.woeid)))) {\n                return;\n            }\n        ;\n        ;\n            this.storage.push(this.attr.storageKey, c), this.getRecentTrendLocations();\n        }, this.hasRecentLocation = function(a) {\n            var b = this.storage.getArray(this.attr.storageKey);\n            return b.some(function(b) {\n                return ((b.woeid === a));\n            });\n        }, this.after(\"initialize\", function() {\n            this.initializeStorage(), this.JSBNG__on(\"uiWantsRecentTrendLocations\", this.getRecentTrendLocations), this.JSBNG__on(\"dataChangedTrendLocation\", this.saveRecentLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsRecentLocations, withData);\n});\ndefine(\"app/utils/scribe_event_initiators\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = {\n        clientSideUser: 0,\n        serverSideUser: 1,\n        clientSideApp: 2,\n        serverSideApp: 3\n    };\n});\ndefine(\"app/data/trends_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_event_initiators\",], function(module, require, exports) {\n    function trendsScribe() {\n        this.scribeTrendClick = function(a, b) {\n            this.scribe(\"search\", b);\n        }, this.scribeTrendsResults = function(a, b) {\n            var c = [], d = ((b.initial ? \"initial\" : \"newer\")), e = {\n                element: d,\n                action: ((((b.items && b.items.length)) ? \"results\" : \"no_results\"))\n            }, f = {\n                referring_event: d\n            }, g = !1;\n            f.items = b.items.map(function(a, b) {\n                var c = {\n                    JSBNG__name: a.JSBNG__name,\n                    item_type: itemTypes.trend,\n                    item_query: a.JSBNG__name,\n                    position: b\n                };\n                return ((a.promotedTrendId && (c.promoted_id = a.promotedTrendId, g = !0))), c;\n            }), ((g && (f.promoted = g))), ((((b.source === \"clock\")) && (f.event_initiator = eventInitiators.clientSideApp))), this.scribe(e, b, f), ((b.initial && this.scribeTrendsImpression(b)));\n        }, this.scribeTrendsImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiTrendsDialogOpened\", \"open\"), this.JSBNG__on(\"uiTrendSelected\", this.scribeTrendClick), this.JSBNG__on(\"uiTrendsDisplayed\", this.scribeTrendsResults);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), eventInitiators = require(\"app/utils/scribe_event_initiators\");\n    module.exports = defineComponent(trendsScribe, withScribe);\n});\ndefine(\"app/ui/trends/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/utils/scribe_item_types\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function trendsModule() {\n        this.defaultAttrs({\n            changeLinkSelector: \".change-trends\",\n            trendsInnerSelector: \".trends-inner\",\n            trendItemSelector: \".js-trend-item\",\n            promotedTweetProofSelector: \".tweet-proof-container.promoted-tweet\",\n            trendLinkItemSelector: \".js-trend-item a\",\n            eventTrendClass: \"event-trend\",\n            itemType: \"trend\"\n        }), this.openChangeTrendsDialog = function(a) {\n            this.trigger(\"uiShowTrendsLocationDialog\"), a.preventDefault();\n        }, this.updateModuleContent = function(a, b) {\n            var c = this.$node.hasClass(\"hidden\"), d = b.source;\n            this.select(\"trendsInnerSelector\").html(b.module_html), this.currentWoeid = b.woeid, this.$node.removeClass(\"hidden\");\n            var e = this.getTrendData(this.select(\"trendItemSelector\"));\n            this.trigger(\"uiTrendsDisplayed\", {\n                items: e,\n                initial: c,\n                source: d,\n                scribeData: {\n                    woeid: this.currentWoeid\n                }\n            });\n            var f = this.getPromotedTweetProofData(this.select(\"promotedTweetProofSelector\"));\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: f\n            });\n        }, this.trendSelected = function(a, b) {\n            var c = $(b.el).closest(this.attr.trendItemSelector), d = this.getTrendData(c)[0], e = c.index(), f = {\n                JSBNG__name: d.JSBNG__name,\n                item_query: d.JSBNG__name,\n                position: e,\n                item_type: itemTypes.trend\n            }, g = {\n                position: e,\n                query: d.JSBNG__name,\n                url: c.JSBNG__find(\"a\").attr(\"href\"),\n                woeid: this.currentWoeid\n            };\n            ((d.promotedTrendId && (f.promoted_id = d.promotedTrendId, g.promoted = !0))), g.items = [f,], this.trigger(\"uiTrendSelected\", {\n                isPromoted: !!d.promotedTrendId,\n                promotedTrendId: d.promotedTrendId,\n                scribeContext: {\n                    element: \"trend\"\n                },\n                scribeData: g\n            }), this.trackTrendSelected(!!d.promotedTrendId, c.hasClass(this.attr.eventTrendClass));\n        }, this.trackTrendSelected = function(a, b) {\n            var c = ((b ? \"event_trend_click\" : ((a ? \"promoted_trend_click\" : \"trend_click\"))));\n            ddg.track(\"olympic_trends_320\", c);\n        }, this.getTrendData = function(a) {\n            return a.map(function() {\n                var a = $(this);\n                return {\n                    JSBNG__name: a.data(\"trend-name\"),\n                    promotedTrendId: a.data(\"promoted-trend-id\"),\n                    trendingEvent: a.hasClass(\"event-trend\")\n                };\n            }).toArray();\n        }, this.getPromotedTweetProofData = function(a) {\n            return a.map(function(a, b) {\n                return {\n                    impressionId: $(b).data(\"impression-id\")\n                };\n            }).toArray();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTrendsRefreshed\", this.updateModuleContent), this.JSBNG__on(\"click\", {\n                changeLinkSelector: this.openChangeTrendsDialog,\n                trendLinkItemSelector: this.trendSelected\n            }), this.trigger(\"uiRefreshTrends\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), itemTypes = require(\"app/utils/scribe_item_types\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(trendsModule, withTweetActions, withItemActions);\n});\ndefine(\"app/ui/trends/trends_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function trendsDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            trendItemSelector: \".js-trend-link\",\n            toggleSelector: \".customize-by-location\",\n            personalizedSelector: \".trends-personalized\",\n            byLocationSelector: \".trends-by-location\",\n            doneSelector: \".done\",\n            selectDefaultSelector: \".select-default\",\n            errorSelector: \".trends-dialog-error p\",\n            loadingSelector: \".loading\",\n            deciderPersonalizedTrends: !1\n        }), this.openTrendsDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.hasContent() ? this.selectActiveView() : this.trigger(\"uiWantsTrendsDialog\"))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.showPersonalizedView = function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showLocationView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"byLocationSelector\").show();\n        }, this.updateDialogContent = function(a, b) {\n            var c = ((this.personalized && b.personalized));\n            this.personalized = b.personalized, this.currentWoeid = b.woeid;\n            if (((c && !this.hasError()))) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"contentSelector\").html(b.dialog_html), this.selectActiveView(), ((!b.personalized && this.markSelected(b.woeid)));\n        }, this.selectActiveView = function() {\n            ((this.isPersonalized() ? this.showPersonalizedView() : this.showLocationView()));\n        }, this.showError = function(a, b) {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.$node.addClass(\"has-error\"), this.select(\"errorSelector\").html(b.message);\n        }, this.hasContent = function() {\n            return ((((this.select(\"loadingSelector\").length == 0)) && !this.hasError()));\n        }, this.hasError = function() {\n            return this.$node.hasClass(\"has-error\");\n        }, this.markSelected = function(a) {\n            this.select(\"trendItemSelector\").removeClass(\"selected\").filter(((((\"[data-woeid=\" + a)) + \"]\"))).addClass(\"selected\");\n        }, this.clearSelectedBreadcrumb = function() {\n            this.select(\"selectedBreadCrumbSelector\").removeClass(\"checkmark\");\n        }, this.changeSelectedItem = function(a, b) {\n            var c = $(b.el).data(\"woeid\");\n            if (((this.isPersonalized() || ((c !== this.currentWoeid))))) {\n                this.markSelected(c), this.trigger(\"uiChangeTrendsLocation\", {\n                    woeid: c\n                });\n            }\n        ;\n        ;\n            a.preventDefault();\n        }, this.selectDefault = function(a, b) {\n            var c = !!$(a.target).data(\"personalized\"), b = {\n            };\n            ((c ? b.personalized = !0 : b.woeid = 1)), this.trigger(\"uiChangeTrendsLocation\", b), this.close();\n        }, this.toggleView = function(a, b) {\n            ((this.select(\"personalizedSelector\").is(\":visible\") ? this.showLocationView() : this.showPersonalizedView()));\n        }, this.isPersonalized = function() {\n            return ((this.attr.deciderPersonalizedTrends && this.personalized));\n        }, this.after(\"initialize\", function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.openTrendsDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialog\", this.updateDialogContent), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialogError\", this.showError), this.JSBNG__on(\"click\", {\n                trendItemSelector: this.changeSelectedItem,\n                toggleSelector: this.toggleView,\n                doneSelector: this.close,\n                selectDefaultSelector: this.selectDefault\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(trendsDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/trends/dialog/with_location_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLocationInfo() {\n        this.defaultAttrs({\n            JSBNG__location: {\n            },\n            personalized: !1\n        }), this.setLocationInfo = function(a, b) {\n            this.personalized = !!b.personalized, this.JSBNG__location = ((b.JSBNG__location || {\n            })), this.trigger(\"uiLocationInfoUpdated\");\n        }, this.changeLocationInfo = function(a) {\n            this.trigger(\"uiChangeLocation\", {\n                JSBNG__location: a\n            });\n        }, this.setPersonalizedTrends = function() {\n            this.trigger(\"uiChangeLocation\", {\n                personalized: !0\n            });\n        }, this.before(\"initialize\", function() {\n            this.personalized = this.attr.personalized, this.JSBNG__location = this.attr.JSBNG__location;\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataChangedTrendLocation\", this.setLocationInfo);\n        });\n    };\n;\n    module.exports = withLocationInfo;\n});\ndefine(\"app/ui/trends/dialog/location_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDropdown() {\n        this.defaultAttrs({\n            regionsSelector: \"select[name=\\\"regions\\\"]\",\n            citiesSelector: \"select[name=\\\"cities\\\"]\"\n        }), this.initializeCities = function() {\n            this.citiesByRegionWoeid = {\n            };\n            var a = this.$cities.JSBNG__find(\"option\");\n            a.each(function(a, b) {\n                var c = $(b), d = c.data(\"woeid\");\n                ((this.citiesByRegionWoeid[d] || (this.citiesByRegionWoeid[d] = []))), this.citiesByRegionWoeid[d].push(c);\n            }.bind(this));\n        }, this.updateDropdown = function() {\n            var a = this.$regions.val(), b = ((this.citiesByRegionWoeid[a] || \"\"));\n            this.$cities.empty(), this.$cities.html(b);\n        }, this.updateRegion = function() {\n            this.updateDropdown();\n            var a = this.$cities.children().first();\n            ((a.length && (a.prop(\"selected\", !0), a.change())));\n        }, this.updateCity = function() {\n            var a = this.$cities.JSBNG__find(\"option:selected\"), b = parseInt(a.val(), 10), c = a.data(\"JSBNG__name\");\n            this.currentSelection = b, this.changeLocationInfo({\n                woeid: b,\n                JSBNG__name: c\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection != this.JSBNG__location.woeid)) && this.reset()));\n        }, this.reset = function() {\n            this.currentSelection = null;\n            var a = this.$regions.JSBNG__find(\"option[value=\\\"\\\"]\");\n            a.prop(\"selected\", !0), this.updateDropdown();\n        }, this.after(\"initialize\", function() {\n            this.$regions = this.select(\"regionsSelector\"), this.$cities = this.select(\"citiesSelector\"), this.initializeCities(), this.JSBNG__on(this.$regions, \"change\", this.updateRegion), this.JSBNG__on(this.$cities, \"change\", this.updateCity), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.updateDropdown();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDropdown, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/location_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",], function(module, require, exports) {\n    function trendsLocationSearch() {\n        this.defaultAttrs({\n            inputSelector: \"input.trends-location-search-input\"\n        }), this.executeTypeaheadSelection = function(a, b) {\n            if (((b.JSBNG__item.woeid == -1))) {\n                this.trigger(\"uiTrendsLocationSearchNoResults\");\n                return;\n            }\n        ;\n        ;\n            this.currentSelection = b.JSBNG__item, this.changeLocationInfo({\n                woeid: b.JSBNG__item.woeid,\n                JSBNG__name: b.JSBNG__item.JSBNG__name\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection && ((this.currentSelection.woeid != this.JSBNG__location.woeid)))) && this.reset()));\n        }, this.reset = function(a, b) {\n            this.currentSelection = null, this.$input.val(\"\");\n        }, this.after(\"initialize\", function() {\n            this.$input = this.select(\"inputSelector\"), this.JSBNG__on(\"uiTypeaheadItemSelected uiTypeaheadItemComplete\", this.executeTypeaheadSelection), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), TypeaheadInput.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector\n            }), TypeaheadDropdown.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector,\n                blockLinkActions: !0,\n                datasourceRenders: [[\"trendLocations\",[\"trendLocations\",],],],\n                deciders: this.attr.typeaheadData,\n                eventData: {\n                    scribeContext: {\n                        component: \"trends_location_search\"\n                    }\n                }\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\");\n    module.exports = defineComponent(trendsLocationSearch, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/current_location\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsCurrentLocation() {\n        this.defaultAttrs({\n            personalizedSelector: \".js-location-personalized\",\n            nonpersonalizedSelector: \".js-location-nonpersonalized\",\n            currentLocationSelector: \".current-location\"\n        }), this.updateView = function() {\n            var a = !!this.personalized;\n            ((a || this.select(\"currentLocationSelector\").text(this.JSBNG__location.JSBNG__name))), this.select(\"nonpersonalizedSelector\").toggle(!a), this.select(\"personalizedSelector\").toggle(a);\n        }, this.after(\"initialize\", function() {\n            this.updateView(), this.JSBNG__on(\"uiLocationInfoUpdated\", this.updateView);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsCurrentLocation, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/with_location_list_picker\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function withLocationListPicker() {\n        compose.mixin(this, [withLocationInfo,]), this.defaultAttrs({\n            locationSelector: \".trend-location-picker-item\",\n            selectedAttr: \"selected\"\n        }), this.selectLocation = function(a, b) {\n            a.preventDefault();\n            var c = $(b.el), d = {\n                woeid: c.data(\"woeid\"),\n                JSBNG__name: c.data(\"JSBNG__name\")\n            };\n            this.changeLocationInfo(d), this.showSelected(d.woeid, !1);\n        }, this.showSelected = function(a, b) {\n            var c = this.select(\"locationSelector\");\n            c.removeClass(this.attr.selectedAttr), ((((!b && a)) && c.filter(((((\"[data-woeid=\\\"\" + a)) + \"\\\"]\"))).addClass(this.attr.selectedAttr)));\n        }, this.locationInfoUpdated = function() {\n            this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiLocationInfoUpdated\", this.locationInfoUpdated), this.JSBNG__on(\"click\", {\n                locationSelector: this.selectLocation\n            }), this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = withLocationListPicker;\n});\ndefine(\"app/ui/trends/dialog/nearby_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsNearby() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsNearby, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/recent_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsRecent() {\n        this.defaultAttrs({\n            listContainerSelector: \".trend-location-picker\"\n        }), this.loadTrendLocations = function(a, b) {\n            var c = b.trendLocations;\n            this.$list.empty(), c.forEach(function(a) {\n                var b = this.$template.clone(!1), c = b.JSBNG__find(\"button\");\n                c.text(a.JSBNG__name), c.attr(\"data-woeid\", a.woeid), c.attr(\"data-name\", a.JSBNG__name), this.$list.append(b);\n            }, this), this.$node.toggle(((c.length > 0)));\n        }, this.after(\"initialize\", function() {\n            this.$list = this.select(\"listContainerSelector\"), this.$template = this.$list.JSBNG__find(\"li:first\").clone(!1), this.JSBNG__on(JSBNG__document, \"dataGotRecentTrendLocations\", this.loadTrendLocations), this.trigger(\"uiWantsRecentTrendLocations\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsRecent, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            quickSelectSelector: \"#trend-locations-quick-select\",\n            dropdownSelector: \"#trend-locations-dropdown-select\",\n            personalizedSelector: \".trends-personalized\",\n            nonPersonalizedSelector: \".trends-by-location\",\n            changeTrendsSelector: \".customize-by-location\",\n            showDropdownSelector: \".js-show-dropdown-select\",\n            showQuickSelectSelector: \".js-show-quick-select\",\n            searchSelector: \".trends-search-locations\",\n            nearbySelector: \".trends-nearby-locations\",\n            recentSelector: \".trends-recent-locations\",\n            currentLocationSelector: \".trends-current-location\",\n            loadingSelector: \"#trend-locations-loading\",\n            defaultSelector: \".select-default\",\n            doneSelector: \".done\",\n            errorSelector: \".trends-dialog-error p\",\n            errorClass: \"has-error\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.initialized ? this.setCurrentView() : (this.trigger(\"uiWantsTrendsLocationDialog\"), this.initialized = !0))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.setCurrentView = function() {\n            ((this.personalized ? this.showPersonalizedView() : this.showNonpersonalizedView()));\n        }, this.showPersonalizedView = function() {\n            this.select(\"nonPersonalizedSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showNonpersonalizedView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").show();\n        }, this.showQuickSelectContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"dropdownSelector\").hide(), this.select(\"quickSelectSelector\").show();\n        }, this.showDropdownContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"quickSelectSelector\").hide(), this.select(\"dropdownSelector\").show();\n        }, this.hideViews = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").hide();\n        }, this.showError = function(a, b) {\n            this.hideViews(), this.hideLoading(), this.initialized = !1, this.$node.addClass(this.attr.errorClass), this.select(\"errorSelector\").html(b.message);\n        }, this.selectDefault = function(a, b) {\n            var c = $(a.target), d = !!c.data(\"personalized\");\n            ((d ? this.setPersonalizedTrends() : this.changeLocationInfo({\n                JSBNG__name: c.data(\"JSBNG__name\"),\n                woeid: c.data(\"woeid\")\n            }))), this.close();\n        }, this.reset = function(a, b) {\n            this.showQuickSelectContainer(), this.trigger(\"uiTrendsDialogReset\");\n        }, this.initializeDialog = function(a, b) {\n            this.select(\"contentSelector\").html(b.dialog_html), this.setLocationInfo(a, b), this.initializeComponents(), this.setCurrentView();\n        }, this.showLoading = function() {\n            this.select(\"loadingSelector\").show();\n        }, this.hideLoading = function() {\n            this.select(\"loadingSelector\").hide();\n        }, this.initializeComponents = function(a, b) {\n            CurrentLocation.attachTo(this.attr.currentLocationSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), LocationSearch.attachTo(this.attr.searchSelector, {\n                typeaheadData: this.attr.typeaheadData\n            }), LocationDropdown.attachTo(this.attr.dropdownSelector), NearbyTrends.attachTo(this.attr.nearbySelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), RecentTrends.attachTo(this.attr.recentSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            });\n        }, this.after(\"initialize\", function() {\n            this.hideViews(), this.JSBNG__on(\"uiChangeLocation\", this.showLoading), this.JSBNG__on(\"uiTrendsLocationSearchNoResults\", this.showDropdownContainer), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"uiDialogClosed\", this.reset), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialog\", this.initializeDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialogError\", this.showError), this.JSBNG__on(\"uiLocationInfoUpdated\", this.hideLoading), this.JSBNG__on(\"click\", {\n                doneSelector: this.close,\n                defaultSelector: this.selectDefault,\n                changeTrendsSelector: this.showNonpersonalizedView,\n                showDropdownSelector: this.showDropdownContainer,\n                showQuickSelectSelector: this.showQuickSelectContainer\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), LocationDropdown = require(\"app/ui/trends/dialog/location_dropdown\"), LocationSearch = require(\"app/ui/trends/dialog/location_search\"), CurrentLocation = require(\"app/ui/trends/dialog/current_location\"), NearbyTrends = require(\"app/ui/trends/dialog/nearby_trends\"), RecentTrends = require(\"app/ui/trends/dialog/recent_trends\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDialog, withDialog, withPosition, withLocationInfo);\n});\ndefine(\"app/boot/trends\", [\"module\",\"require\",\"exports\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/dialog\",], function(module, require, exports) {\n    var TrendsData = require(\"app/data/trends\"), TrendsLocationDialogData = require(\"app/data/trends/location_dialog\"), TrendsRecentLocationsData = require(\"app/data/trends/recent_locations\"), TrendsScribe = require(\"app/data/trends_scribe\"), TrendsModule = require(\"app/ui/trends/trends\"), TrendsDialog = require(\"app/ui/trends/trends_dialog\"), TrendsLocationDialog = require(\"app/ui/trends/dialog/dialog\");\n    module.exports = function(b) {\n        TrendsScribe.attachTo(JSBNG__document, b), TrendsData.attachTo(JSBNG__document, b), TrendsModule.attachTo(\".module.trends\", {\n            loggedIn: b.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"trends\"\n                }\n            }\n        }), ((b.trendsLocationDialogEnabled ? (TrendsLocationDialogData.attachTo(JSBNG__document, b), TrendsRecentLocationsData.attachTo(JSBNG__document, b), TrendsLocationDialog.attachTo(\"#trends_dialog\", {\n            typeaheadData: b.typeaheadData,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_location_dialog\"\n                }\n            }\n        })) : TrendsDialog.attachTo(\"#trends_dialog\", {\n            deciderPersonalizedTrends: b.decider_personalized_trends,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_dialog\"\n                }\n            }\n        })));\n    };\n});\ndefine(\"app/ui/infinite_scroll_watcher\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function infiniteScrollWatcher() {\n        var a = 0, b = 1;\n        this.checkScrollPosition = function() {\n            var c = this.$content.height(), d = !1;\n            ((((this.inTriggerRange(a) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(b))))) ? (this.trigger(\"uiNearTheTop\"), this.lastTriggerFrom = a, d = !0) : ((((this.inTriggerRange(b) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(a))))) && (this.trigger(\"uiNearTheBottom\"), this.lastTriggerFrom = b, d = !0))))), ((d && (this.lastTriggeredHeight = c)));\n        }, this.inTriggerRange = function(c) {\n            var d = this.$content.height(), e = this.$node.scrollTop(), f = ((e + this.$node.height())), g = Math.abs(Math.min(((f - d)), 0)), h = ((this.$node.height() / 2));\n            return ((((((e < h)) && ((c == a)))) || ((((g < h)) && ((c == b))))));\n        }, this.lastTriggeredFrom = function(a) {\n            return ((this.lastTriggerFrom === a));\n        }, this.resetScrollState = function() {\n            this.lastTriggeredHeight = 0, this.lastTriggerFrom = -1;\n        }, this.after(\"initialize\", function(a) {\n            this.resetScrollState(), this.$content = ((a.contentSelector ? this.select(\"contentSelector\") : $(JSBNG__document))), this.JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.checkScrollPosition.bind(this), 100)), this.JSBNG__on(\"uiTimelineReset\", this.resetScrollState);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), InfiniteScrollWatcher = defineComponent(infiniteScrollWatcher);\n    module.exports = InfiniteScrollWatcher;\n});\ndefine(\"app/data/timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_data\",], function(module, require, exports) {\n    function timeline() {\n        this.defaultAttrs({\n            defaultAjaxData: {\n                include_entities: 1,\n                include_available_features: 1\n            },\n            noShowError: !0\n        }), this.requestItems = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItems\", b);\n            }, d = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItemsError\", b);\n            }, e = {\n            };\n            ((((b && b.fromPolling)) && (e[\"X-Twitter-Polling\"] = !0)));\n            var f = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                cursor: b.cursor,\n                is_forward: b.is_forward,\n                latent_count: b.latent_count,\n                composed_count: b.composed_count,\n                include_new_items_bar: b.include_new_items_bar,\n                preexpanded_id: b.preexpanded_id,\n                interval: b.interval,\n                count: b.count,\n                timeline_empty: b.timeline_empty\n            };\n            ((b.query && (f.q = b.query))), ((b.curated_timeline_since_id && (f.curated_timeline_since_id = b.curated_timeline_since_id))), ((b.scroll_cursor && (f.scroll_cursor = b.scroll_cursor))), ((b.refresh_cursor && (f.refresh_cursor = b.refresh_cursor))), this.get({\n                url: this.attr.endpoint,\n                headers: e,\n                data: utils.merge(this.attr.defaultAjaxData, f),\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiWantsMoreTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(timeline, withData);\n});\ndefine(\"app/boot/timeline\", [\"module\",\"require\",\"exports\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",], function(module, require, exports) {\n    function initialize(a) {\n        ((a.no_global_infinite_scroll || InfiniteScrollWatcher.attachTo(window))), TimelineData.attachTo(JSBNG__document, a);\n    };\n;\n    var InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), TimelineData = require(\"app/data/timeline\");\n    module.exports = initialize;\n});\ndefine(\"app/data/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function activityPopupData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.getUsers = function(a, b) {\n            var c = ((b.isRetweeted ? \"/i/activity/retweeted_popup\" : \"/i/activity/favorited_popup\"));\n            this.get({\n                url: c,\n                data: {\n                    id: b.tweetId\n                },\n                eventData: b,\n                success: \"dataActivityPopupSuccess\",\n                error: \"dataActivityPopupError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFetchActivityPopup\", this.getUsers);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(activityPopupData, withData);\n});\ndefine(\"app/ui/dialogs/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function activityPopup() {\n        this.defaultAttrs({\n            itemType: \"user\",\n            titleSelector: \".modal-title\",\n            tweetSelector: \".activity-tweet\",\n            contentSelector: \".activity-content\",\n            openDropdownSelector: \".user-dropdown.open .dropdown-menu\",\n            usersSelector: \".activity-popup-users\"\n        }), this.setTitle = function(a) {\n            this.select(\"titleSelector\").html(a);\n        }, this.setContent = function(a) {\n            this.$node.toggleClass(\"has-content\", !!a), this.select(\"contentSelector\").html(a);\n        }, this.requestPopup = function(a, b) {\n            this.attr.eventData = utils.merge(this.attr.eventData, {\n                scribeContext: {\n                    component: ((b.isRetweeted ? \"retweeted_dialog\" : \"favorited_dialog\"))\n                }\n            }, !0), this.setTitle(b.titleHtml);\n            var c = $(b.tweetHtml);\n            this.select(\"tweetSelector\").html(c), this.setContent(\"\"), this.open(), this.trigger(\"uiFetchActivityPopup\", {\n                tweetId: c.attr(\"data-tweet-id\"),\n                isRetweeted: b.isRetweeted\n            });\n        }, this.updateUsers = function(a, b) {\n            this.setTitle(b.htmlTitle), this.setContent(b.htmlUsers);\n            var c = this.select(\"usersSelector\");\n            ((((c.height() >= parseInt(c.css(\"max-height\"), 10))) && c.addClass(\"dropdown-threshold\")));\n        }, this.showError = function(a, b) {\n            this.setContent($(\"\\u003Cp\\u003E\").addClass(\"error\").html(b.message));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiRequestActivityPopup\", this.requestPopup), this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.updateUsers), this.JSBNG__on(JSBNG__document, \"dataActivityPopupError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup uiOpenTweetDialogWithOptions uiNeedsDMDialog uiOpenSigninOrSignupDialog\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(activityPopup, withDialog, withPosition, withUserActions, withItemActions);\n});\ndefine(\"app/data/activity_popup_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function activityPopupScribe() {\n        this.scribeActivityPopupOpen = function(a, b) {\n            var c = b.sourceEventData;\n            this.scribe(\"open\", b, {\n                item_ids: [c.tweetId,],\n                item_count: 1\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.scribeActivityPopupOpen);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(activityPopupScribe, withScribe);\n});\ndefine(\"app/boot/activity_popup\", [\"module\",\"require\",\"exports\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",], function(module, require, exports) {\n    function initialize(a) {\n        ActivityPopupData.attachTo(JSBNG__document, a), ActivityPopupScribe.attachTo(JSBNG__document, a), ActivityPopup.attachTo(activityPopupSelector, a);\n    };\n;\n    var ActivityPopupData = require(\"app/data/activity_popup\"), ActivityPopup = require(\"app/ui/dialogs/activity_popup\"), ActivityPopupScribe = require(\"app/data/activity_popup_scribe\"), activityPopupSelector = \"#activity-popup-dialog\";\n    module.exports = initialize;\n});\ndefine(\"app/data/tweet_translation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetTranslation() {\n        this.getTweetTranslation = function(a, b) {\n            var c = function(a) {\n                ((((a && a.message)) && this.trigger(\"uiShowMessage\", {\n                    message: a.message\n                }))), this.trigger(\"dataTweetTranslationSuccess\", a);\n            }, d = function(a, c, d) {\n                this.trigger(\"dataTweetTranslationError\", {\n                    id: b.id,\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = {\n                id: b.tweetId,\n                dest: b.dest\n            };\n            this.get({\n                url: \"/i/translations/show.json\",\n                data: e,\n                headers: {\n                    \"X-Phx\": !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetTranslation\", this.getTweetTranslation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetTranslation = defineComponent(tweetTranslation, withData);\n    module.exports = TweetTranslation;\n});\ndefine(\"app/data/conversations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function conversations() {\n        this.requestExpansion = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataTweetConversationResult\", b), this.trigger(a.target, \"dataTweetSocialProofResult\", b);\n            }, d = function(b, c, d) {\n                this.trigger(a.target, \"dataTweetExpansionError\", {\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = [\"social_proof\",];\n            ((b.fullConversation ? e.push(\"ancestors\", \"descendants\") : ((b.descendantsOnly && e.push(\"descendants\")))));\n            var f = {\n                include: e\n            };\n            ((b.facepileMax && (f.facepile_max = b.facepileMax)));\n            var g = window.JSBNG__location.search.match(/[?&]js_maps=([^&]+)/);\n            ((g && (f.js_maps = g[1]))), this.get({\n                url: ((\"/i/expanded/batch/\" + encodeURIComponent($(a.target).attr(\"data-tweet-id\")))),\n                data: f,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetExpandedContent\", this.requestExpansion);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), Conversations = defineComponent(conversations, withData);\n    module.exports = Conversations;\n});\ndefine(\"app/data/media_settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"core/i18n\",], function(module, require, exports) {\n    function mediaSettings() {\n        this.flagMedia = function(a, b) {\n            this.post({\n                url: \"/i/expanded/flag_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataFlaggedMediaResult\",\n                error: \"dataFlaggedMediaError\"\n            });\n        }, this.updateViewPossiblySensitive = function(a, b) {\n            this.post({\n                url: \"/i/expanded/update_view_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataUpdatedViewPossiblySensitiveResult\",\n                error: \"dataUpdatedViewPossiblySensitiveError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFlagMedia\", this.flagMedia), this.JSBNG__on(\"uiUpdateViewPossiblySensitive\", this.updateViewPossiblySensitive), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveResult\", function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Your media display settings have been changed.\")\n                });\n            }), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveError\", function() {\n                this.trigger(\"uiShowError\", {\n                    message: _(\"Couldn't set inline media settings.\")\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(mediaSettings, withData);\n});\ndefine(\"app/ui/dialogs/sensitive_flag_confirmation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function flagDialog() {\n        this.defaultAttrs({\n            dialogSelector: \"#sensitive_flag_dialog\",\n            cancelSelector: \"#cancel_flag_confirmation\",\n            submitSelector: \"#submit_flag_confirmation\",\n            settingsSelector: \"#sensitive-settings-checkbox\",\n            illegalSelector: \"#sensitive-illegal-checkbox\"\n        }), this.flag = function() {\n            ((this.select(\"settingsSelector\").attr(\"checked\") && this.trigger(\"uiUpdateViewPossiblySensitive\", {\n                do_show: !1\n            }))), ((this.select(\"illegalSelector\").attr(\"checked\") && this.trigger(\"uiFlagMedia\", {\n                id: this.$dialog.attr(\"data-tweet-id\")\n            }))), this.close();\n        }, this.openWithId = function(b, c) {\n            this.$dialog.attr(\"data-tweet-id\", c.id), this.open();\n        }, this.after(\"initialize\", function(a) {\n            this.$dialog = this.select(\"dialogSelector\"), this.JSBNG__on(JSBNG__document, \"uiFlagConfirmation\", this.openWithId), this.JSBNG__on(\"click\", {\n                submitSelector: this.flag,\n                cancelSelector: this.close\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(flagDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/user_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function userActions() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(userActions, withUserActions);\n});\ndefine(\"app/data/prompt_mobile_app_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mobileAppPromptScribe() {\n        this.scribeOnClick = function(a, b) {\n            var c = a.target;\n            ((((c.getAttribute(\"id\") == \"iphone_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"iphone_download\",\n                action: \"click\"\n            }) : ((((c.getAttribute(\"id\") == \"android_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"android_download\",\n                action: \"click\"\n            }) : ((((c.className == \"dismiss-white\")) && this.scribe({\n                component: \"promptbird_262\",\n                action: \"dismiss\"\n            })))))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", this.scribeOnClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mobileAppPromptScribe, withScribe);\n});\ndefine(\"app/boot/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/activity_popup\",\"app/data/tweet_actions\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/expando/expanding_tweets\",\"app/ui/media/media_tweets\",\"app/data/url_resolver\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b) {\n        activityPopupBoot(b), TweetActionsData.attachTo(JSBNG__document, b), TweetTranslationData.attachTo(JSBNG__document, b), ConversationsData.attachTo(JSBNG__document, b), MediaSettingsData.attachTo(JSBNG__document, b), UrlResolver.attachTo(JSBNG__document), ExpandingTweets.attachTo(a, b), ((b.excludeUserActions || UserActions.attachTo(a, utils.merge(b, {\n            genericItemSelector: \".js-stream-item\"\n        })))), MediaTweets.attachTo(a, b), SensitiveFlagConfirmationDialog.attachTo(JSBNG__document), MobileAppPromptScribe.attachTo($(\"div[data-prompt-id=262]\"));\n    };\n;\n    var activityPopupBoot = require(\"app/boot/activity_popup\"), TweetActionsData = require(\"app/data/tweet_actions\"), TweetTranslationData = require(\"app/data/tweet_translation\"), ConversationsData = require(\"app/data/conversations\"), MediaSettingsData = require(\"app/data/media_settings\"), SensitiveFlagConfirmationDialog = require(\"app/ui/dialogs/sensitive_flag_confirmation\"), ExpandingTweets = require(\"app/ui/expando/expanding_tweets\"), MediaTweets = require(\"app/ui/media/media_tweets\"), UrlResolver = require(\"app/data/url_resolver\"), UserActions = require(\"app/ui/user_actions\"), MobileAppPromptScribe = require(\"app/data/prompt_mobile_app_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/boot/help_pips_enable\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        b.clear(), b.setItem(\"until\", ((c + 1209600000))), cookie(\"help_pips\", null);\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = initialize;\n});\ndefine(\"app/data/help_pips\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function helpPipsData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.loadHelpPips = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataHelpPipsLoaded\", {\n                    pips: a\n                });\n            }.bind(this), d = function(a) {\n                this.trigger(\"dataHelpPipsError\");\n            }.bind(this);\n            this.get({\n                url: \"/i/help/pips\",\n                data: {\n                },\n                eventData: b,\n                success: c,\n                error: d\n            });\n        }, this.after(\"initialize\", function() {\n            this.loadHelpPips();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(helpPipsData, withData);\n});\ndefine(\"app/data/help_pips_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function helpPipsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHelpPipIconAdded\", \"impression\"), this.scribeOnEvent(\"uiHelpPipIconClicked\", \"open\"), this.scribeOnEvent(\"uiHelpPipPromptFollowed\", \"success\"), this.scribeOnEvent(\"uiHelpPipExplainTriggered\", \"show\"), this.scribeOnEvent(\"uiHelpPipExplainClicked\", \"dismiss\"), this.scribeOnEvent(\"uiHelpPipExplainFollowed\", \"complete\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(helpPipsScribe, withScribe);\n});\ndefine(\"app/ui/help_pip\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function helpPip() {\n        this.explainTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            if (((this.pip.matcher && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            if (((this.state == \"icon\"))) this.trigger(\"uiHelpPipExplainTriggered\");\n             else {\n                if (((this.state != \"JSBNG__prompt\"))) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiHelpPipPromptFollowed\");\n            }\n        ;\n        ;\n            this.showState(\"explain\", b);\n        }, this.dismissTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (((((b.length && this.pip.matcher)) && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            ((((((!b.length || ((b[0] == this.$streamItem[0])))) && ((this.state == \"explain\")))) && this.trigger(\"uiHelpPipExplainFollowed\"))), this.dismiss();\n        }, this.clicked = function(a) {\n            ((((this.state == \"icon\")) ? (this.trigger(\"uiHelpPipIconClicked\"), this.showState(\"JSBNG__prompt\")) : ((((this.state == \"explain\")) && (this.trigger(\"uiHelpPipExplainClicked\"), this.dismiss())))));\n        }, this.showState = function(a, b) {\n            if (((((a == \"JSBNG__prompt\")) && !this.pip.html.JSBNG__prompt))) {\n                return this.showState(\"explain\", b);\n            }\n        ;\n        ;\n            b = ((b || this.$streamItem));\n            if (((this.state == a))) {\n                return;\n            }\n        ;\n        ;\n            ((((((this.state == \"icon\")) && ((((a == \"JSBNG__prompt\")) || ((a == \"explain\")))))) && this.trigger(\"uiHelpPipOpened\", {\n                pip: this.pip\n            }))), ((((this.$streamItem[0] != b[0])) && this.unhighlight())), this.state = a, this.$streamItem = b;\n            var c = this.$pip.JSBNG__find(\".js-pip\");\n            c.prependTo(this.$pip.parent()).fadeOut(\"fast\", function() {\n                c.remove();\n                var b = this.pip.html[a], d = this.pip[((a + \"Highlight\"))];\n                this.$pip.html(b).fadeIn(\"fast\"), ((((d && ((d != \"remove\")))) ? this.highlight(d) : this.unhighlight(((d == \"remove\")))));\n            }.bind(this)), this.$pip.hide().prependTo(b);\n        }, this.dismiss = function() {\n            ((this.$streamItem && this.unhighlight())), this.$pip.fadeOut(function() {\n                this.remove(), this.teardown(), this.trigger(\"uiHelpPipDismissed\");\n            }.bind(this));\n        }, this.highlight = function(a) {\n            if (this.$streamItem.JSBNG__find(a).is(\".stork-highlighted\")) {\n                return;\n            }\n        ;\n        ;\n            this.unhighlight(), this.$streamItem.JSBNG__find(a).each(function() {\n                var a = $(this), b = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-background\"), c = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-container\").css({\n                    width: a.JSBNG__outerWidth(),\n                    height: a.JSBNG__outerHeight()\n                });\n                a.wrap(c).before(b).addClass(\"stork-highlighted\"), b.fadeIn();\n            });\n        }, this.unhighlight = function(a) {\n            this.$streamItem.JSBNG__find(\".stork-highlighted\").each(function() {\n                var b = $(this), c = b.parent().JSBNG__find(\".stork-highlight-background\"), d = function() {\n                    c.remove(), b.unwrap();\n                };\n                b.removeClass(\"stork-highlighted\"), ((a ? d() : c.fadeOut(d)));\n            });\n        }, this.remove = function() {\n            this.$pip.remove();\n        }, this.after(\"initialize\", function(a) {\n            this.state = \"icon\", this.pip = a.pip, this.$streamItem = a.$streamItem, this.$pip = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").html(this.pip.html.icon), this.$pip.hide().prependTo(this.$streamItem).fadeIn(\"fast\"), this.JSBNG__on(this.$pip, \"click\", this.clicked), this.trigger(\"uiHelpPipIconAdded\"), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.remove), ((this.pip.explainOn && (((((typeof this.pip.explainOn == \"string\")) && (this.pip.explainOn = {\n                JSBNG__event: this.pip.explainOn\n            }))), ((this.pip.explainOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.explainOn.selector), this.pip.explainOn.JSBNG__event, this.explainTriggered) : this.JSBNG__on(this.pip.explainOn.JSBNG__event, this.explainTriggered)))))), ((this.pip.dismissOn && (((((typeof this.pip.dismissOn == \"string\")) && (this.pip.dismissOn = {\n                JSBNG__event: this.pip.dismissOn\n            }))), ((this.pip.dismissOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.dismissOn.selector), this.pip.dismissOn.JSBNG__event, this.dismissTriggered) : this.JSBNG__on(this.pip.dismissOn.JSBNG__event, this.dismissTriggered))))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(helpPip);\n});\ndefine(\"app/ui/help_pips_injector\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/help_pip\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function helpPipsInjector() {\n        this.defaultAttrs({\n            pipSelector: \".js-pip\",\n            tweetSelector: \".js-stream-item\"\n        }), this.pipsLoaded = function(a, b) {\n            this.pips = b.pips, this.injectPips();\n        }, this.tweetsDisplayed = function(a) {\n            this.injectPips();\n        }, this.pipOpened = function(a, b) {\n            this.storage.setItem(b.pip.category, !0);\n        }, this.pipDismissed = function(a) {\n            this.injectPips();\n        }, this.injectPips = function() {\n            if (!this.pips) {\n                return;\n            }\n        ;\n        ;\n            if (this.select(\"pipSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.pips.filter(function(a) {\n                return !this.storage.getItem(a.category);\n            }.bind(this)), b = this.select(\"tweetSelector\").slice(0, 10);\n            b.each(function(b, c) {\n                var d = $(c), e = !1;\n                if (((d.attr(\"data-promoted\") || ((d.JSBNG__find(\"[data-promoted]\").length > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                $.each(a, function(a, b) {\n                    if (d.JSBNG__find(b.matcher).length) {\n                        return HelpPip.attachTo(this.$node, {\n                            $streamItem: d,\n                            pip: b,\n                            eventData: {\n                                scribeContext: {\n                                    component: \"stork\",\n                                    element: b.id\n                                }\n                            }\n                        }), e = !0, !1;\n                    }\n                ;\n                ;\n                }.bind(this));\n                if (e) {\n                    return !1;\n                }\n            ;\n            ;\n            }.bind(this));\n        }, this.after(\"initialize\", function() {\n            this.deferredDisplays = [], this.storage = new JSBNG__Storage(\"help_pips\"), this.JSBNG__on(JSBNG__document, \"uiTweetsDisplayed\", this.tweetsDisplayed), this.JSBNG__on(JSBNG__document, \"dataHelpPipsLoaded\", this.pipsLoaded), this.JSBNG__on(\"uiHelpPipDismissed\", this.pipDismissed), this.JSBNG__on(\"uiHelpPipOpened\", this.pipOpened);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), HelpPip = require(\"app/ui/help_pip\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = defineComponent(helpPipsInjector);\n});\ndefine(\"app/boot/help_pips\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pips_injector\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        ((cookie(\"help_pips\") && enableHelpPips())), ((((((b.getItem(\"until\") || 0)) > c)) && (HelpPipsData.attachTo(JSBNG__document), HelpPipsInjector.attachTo(\"#timeline\"), HelpPipsScribe.attachTo(JSBNG__document))));\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\"), enableHelpPips = require(\"app/boot/help_pips_enable\"), HelpPipsData = require(\"app/data/help_pips\"), HelpPipsScribe = require(\"app/data/help_pips_scribe\"), HelpPipsInjector = require(\"app/ui/help_pips_injector\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/expando/close_all_button\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function closeAllButton() {\n        this.incrementOpenCount = function() {\n            this.toggleButton(++this.openCount);\n        }, this.decrementOpenCount = function() {\n            this.toggleButton(--this.openCount);\n        }, this.toggleButton = function(a) {\n            this.$node[((((a > 0)) ? \"fadeIn\" : \"fadeOut\"))](200);\n        }, this.broadcastClose = function(a) {\n            a.preventDefault(), this.trigger(this.attr.where, this.attr.closeAllEvent);\n        }, this.readOpenCountFromTimeline = function() {\n            this.openCount = $(this.attr.where).JSBNG__find(\".open\").length, this.toggleButton(this.openCount);\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function(a) {\n            this.openCount = 0, this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.readOpenCountFromTimeline), this.JSBNG__on(a.where, a.addEvent, this.incrementOpenCount), this.JSBNG__on(a.where, a.subtractEvent, this.decrementOpenCount), this.JSBNG__on(\"click\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiShortcutCloseAll\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.hide);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(closeAllButton);\n});\ndefine(\"app/ui/timelines/with_keyboard_navigation\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withKeyboardNavigation() {\n        this.defaultAttrs({\n            selectedClass: \"selected-stream-item\",\n            selectedSelector: \".selected-stream-item\",\n            unselectableClass: \"js-unselectable-stream-item\",\n            firstItemSelector: \".js-stream-item:first-child:not(.js-unselectable-stream-item)\",\n            ownTweetSelector: \".my-tweet\",\n            replyLinkSelector: \"div.tweet ul.js-actions a.js-action-reply\",\n            profileCardSelector: \".profile-card\",\n            streamTweetSelector: \".js-stream-tweet\",\n            activityMentionClass: \"js-activity-mention\",\n            activityReplyClass: \"js-activity-reply\",\n            pushStateSelector: \"a.js-nav\",\n            navigationActiveClass: \"js-navigation-active\"\n        }), this.moveSelection = function(a) {\n            var b = $(a.target);\n            if (b.closest(this.attr.selectedSelector).length) {\n                return;\n            }\n        ;\n        ;\n            var c;\n            ((b.closest(\".js-expansion-container\") ? c = b.closest(\"li\") : c = b.closest(this.attr.genericItemSelector))), ((b.closest(this.attr.pushStateSelector).length && (this.$linkClicked = c, JSBNG__clearTimeout(this.linkTimer), this.linkTimer = JSBNG__setTimeout(function() {\n                this.$linkClicked = $();\n            }.bind(this), 0)))), ((this.$selected.length && this.selectItem(c)));\n        }, this.clearSelection = function() {\n            this.$selected.removeClass(this.attr.selectedClass), this.$selected = $();\n        }, this.selectTopItem = function() {\n            this.clearSelection(), this.trigger(\"uiInjectNewItems\"), this.selectAdjacentItem(\"next\");\n        }, this.injectAndPossiblySelectTopItem = function() {\n            var a = this.$selected.length;\n            ((a && this.clearSelection())), this.trigger(\"uiInjectNewItems\"), ((a && this.selectAdjacentItem(\"next\")));\n        }, this.selectPrevItem = function() {\n            this.selectAdjacentItem(\"prev\");\n        }, this.selectNextItem = function(a, b) {\n            this.selectAdjacentItem(\"next\", b);\n        }, this.selectNextItemNotFrom = function(a) {\n            var b = \"next\", c = this.$selected;\n            while (((this.getUserId() == a))) {\n                this.selectAdjacentItem(b);\n                if (((c == this.$selected))) {\n                    if (((b != \"next\"))) {\n                        return;\n                    }\n                ;\n                ;\n                    b = \"prev\";\n                }\n                 else c = this.$selected;\n            ;\n            ;\n            };\n        ;\n        }, this.getAdjacentParentItem = function(a, b) {\n            var c = a.closest(\".js-navigable-stream\"), d = a;\n            if (c.length) {\n                a = c.closest(\".stream-item\"), d = a[b]();\n                if (!d.length) {\n                    return this.getAdjacentParentItem(a, b);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        }, this.getAdjacentChildItem = function(a, b) {\n            var c = a, d = c.hasClass(\"js-has-navigable-stream\"), e = ((((b == \"next\")) ? \"first-child\" : \"last-child\"));\n            return ((((c.length && d)) ? (c = c.JSBNG__find(\".js-navigable-stream\").eq(0).JSBNG__find(((\"\\u003Eli:\" + e))), this.getAdjacentChildItem(c, b)) : c));\n        }, this.selectAdjacentItem = function(a, b) {\n            var c;\n            ((this.$selected.length ? c = this.$selected[a]() : c = this.select(\"firstItemSelector\").eq(0))), ((c.length || (c = this.getAdjacentParentItem(this.$selected, a)))), c = this.getAdjacentChildItem(c, a);\n            if (((c.length && c.hasClass(this.attr.unselectableClass)))) {\n                return this.$selected = c, this.selectAdjacentItem(a, b);\n            }\n        ;\n        ;\n            this.selectItem(c), this.setARIALabel(), this.focusSelected(), ((((c.length && ((!b || !b.maintainPosition)))) && this.adjustScrollForSelectedItem()));\n            var d = ((((a == \"next\")) ? \"uiNextItemSelected\" : \"uiPreviousItemSelected\"));\n            this.trigger(this.$selected, d);\n        }, this.selectItem = function(a) {\n            var b = this.$selected;\n            if (((!a.length || ((b == a))))) {\n                return;\n            }\n        ;\n        ;\n            this.$selected = a, this.$node.JSBNG__find(this.attr.selectedSelector).removeClass(this.attr.selectedClass), b.removeClass(this.attr.selectedClass), b.removeAttr(\"tabIndex\"), b.removeAttr(\"aria-labelledby\"), this.$selected.addClass(this.attr.selectedClass);\n        }, this.setARIALabel = function() {\n            var a = this.$selected.JSBNG__find(\".tweet\"), b = ((a.attr(\"id\") || ((\"tweet-\" + a.attr(\"data-tweet-id\"))))), c = [], d = [\".stream-item-header\",\".tweet-text\",\".context\",];\n            ((a.hasClass(\"favorited\") && d.push(\".tweet-actions .unfavorite\"))), ((a.hasClass(\"retweeted\") && d.push(\".tweet-actions .undo-retweet\"))), d.push(\".expanded-content\"), a.JSBNG__find(d.join()).each(function(a, d) {\n                var e = d.id;\n                ((e || (e = ((((b + \"-\")) + a)), d.setAttribute(\"id\", e)))), c.push(e);\n            }), this.$selected.attr(\"aria-labelledby\", c.join(\" \"));\n        }, this.focusSelected = function() {\n            this.$selected.attr(\"tabIndex\", -1).JSBNG__focus();\n        }, this.deselect = function(a) {\n            var b = (([\"HTML\",\"BODY\",].indexOf(a.target.tagName) != -1)), c = ((((a.target.id == \"page-outer\")) && !$(a.target).parents(\"#page-container\").length));\n            ((((b || c)) && this.clearSelection()));\n        }, this.favoriteItem = function() {\n            this.trigger(this.$selected, \"uiDidFavoriteTweetToggle\");\n        }, this.retweetItem = function() {\n            ((this.itemSelectedIsMine() || this.trigger(this.$selected, \"uiDidRetweetTweetToggle\")));\n        }, this.replyItem = function() {\n            var a = this.$selected.JSBNG__find(this.attr.replyLinkSelector).first();\n            this.trigger(a, \"uiDidReplyTweetToggle\");\n        }, this.blockUser = function() {\n            this.takeAction(\"uiOpenBlockUserDialog\");\n        }, this.unblockUser = function() {\n            this.takeAction(\"uiUnblockAction\");\n        }, this.takeAction = function(a) {\n            ((((!this.itemSelectedIsMine() && this.itemSelectedIsBlockable())) && this.trigger(this.$selected, a, {\n                userId: this.getUserId(),\n                username: this.getUsername(),\n                fromShortcut: !0\n            })));\n        }, this.getUserId = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-user-id\");\n        }, this.getUsername = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-name\");\n        }, this.itemSelectedIsMine = function() {\n            return (($(this.$selected).JSBNG__find(this.attr.ownTweetSelector).length > 0));\n        }, this.itemSelectedIsBlockable = function() {\n            return (((((($(this.$selected).children(this.attr.streamTweetSelector).length > 0)) || $(this.$selected).hasClass(this.attr.activityReplyClass))) || $(this.$selected).hasClass(this.attr.activityMentionClass)));\n        }, this.updateAfterBlock = function(a, b) {\n            (((($(this.attr.profileCardSelector).size() === 0)) && (this.selectNextItemNotFrom(b.userId), this.trigger(\"uiRemoveTweetsFromUser\", b))));\n        }, this.adjustScrollForItem = function(a) {\n            ((a.length && $(window).scrollTop(((a.offset().JSBNG__top - (($(window).height() / 2)))))));\n        }, this.notifyExpansionRequest = function() {\n            this.trigger(this.$selected, \"uiShouldToggleExpandedState\");\n        }, this.adjustScrollForSelectedItem = function() {\n            this.adjustScrollForItem(this.$selected);\n        }, this.processActiveNavigation = function() {\n            var a = 2;\n            JSBNG__setTimeout(this.removeActiveNavigationClass.bind(this), ((a * 1000)));\n        }, this.setNavigationActive = function() {\n            this.$linkClicked.addClass(this.attr.navigationActiveClass);\n        }, this.removeActiveNavigationClass = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.navigationActiveClass)));\n            a.removeClass(this.attr.navigationActiveClass);\n        }, this.handleEvent = function(a) {\n            return function() {\n                (($(\"body\").hasClass(\"modal-enabled\") || this[a].apply(this, arguments)));\n            };\n        }, this.changeSelection = function(a, b) {\n            var c = $(a.target);\n            ((this.$selected.length && (this.selectItem(c), ((((b && b.setFocus)) && (this.setARIALabel(), this.focusSelected()))))));\n        }, this.after(\"initialize\", function() {\n            this.$selected = this.$node.JSBNG__find(this.attr.selectedSelector), this.$linkClicked = $(), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectPrev\", this.handleEvent(\"selectPrevItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectNext uiSelectNext\", this.handleEvent(\"selectNextItem\")), this.JSBNG__on(JSBNG__document, \"uiSelectItem\", this.handleEvent(\"changeSelection\")), this.JSBNG__on(JSBNG__document, \"uiShortcutEnter\", this.handleEvent(\"notifyExpansionRequest\")), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen uiSelectTopTweet\", this.handleEvent(\"selectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.handleEvent(\"injectAndPossiblySelectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutFavorite\", this.handleEvent(\"favoriteItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutRetweet\", this.handleEvent(\"retweetItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutReply\", this.handleEvent(\"replyItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutBlock\", this.handleEvent(\"blockUser\")), this.JSBNG__on(JSBNG__document, \"uiShortcutUnblock\", this.handleEvent(\"unblockUser\")), this.JSBNG__on(JSBNG__document, \"uiUpdateAfterBlock\", this.updateAfterBlock), this.JSBNG__on(JSBNG__document, \"uiRemovedSomeTweets\", this.adjustScrollForSelectedItem), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiClearSelection\", this.clearSelection), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.processActiveNavigation), this.JSBNG__on(\"click\", {\n                genericItemSelector: this.moveSelection\n            }), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.setNavigationActive), this.JSBNG__on(JSBNG__document, \"click\", this.deselect);\n        });\n    };\n;\n    module.exports = withKeyboardNavigation;\n});\ndefine(\"app/ui/with_focus_highlight\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function focusHighlight() {\n        this.defaultAttrs({\n            focusClass: \"JSBNG__focus\",\n            focusContainerSelector: \".tweet\"\n        }), this.addFocusStyle = function(a, b) {\n            $(b.el).addClass(this.attr.focusClass);\n        }, this.removeFocusStyle = function(a, b) {\n            JSBNG__setTimeout(function() {\n                var a = b.el, c = JSBNG__document.activeElement;\n                ((((!$.contains(a, c) && ((a != c)))) && $(a).removeClass(this.attr.focusClass)));\n            }.bind(this), 0);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"focusin\", {\n                focusContainerSelector: this.addFocusStyle\n            }), this.JSBNG__on(\"focusout\", {\n                focusContainerSelector: this.removeFocusStyle\n            });\n        });\n    };\n;\n    module.exports = focusHighlight;\n});\ndefine(\"app/ui/timelines/with_base_timeline\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_interaction_data\",\"app/utils/scribe_event_initiators\",\"app/ui/with_focus_highlight\",\"core/compose\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withBaseTimeline() {\n        compose.mixin(this, [withKeyboardNavigation,withInteractionData,withFocusHighLight,]), this.defaultAttrs({\n            containerSelector: \".stream-container\",\n            itemsSelector: \"#stream-items-id\",\n            genericItemSelector: \".js-stream-item\",\n            timelineEndSelector: \".timeline-end\",\n            backToTopSelector: \".back-to-top\",\n            lastItemSelector: \".stream-item:last\",\n            streamItemContentsSelector: \".js-actionable-tweet, .js-actionable-user, .js-activity, .js-story-item\"\n        }), this.findFirstItemContent = function(a) {\n            var b = a.JSBNG__find(this.attr.streamItemContentsSelector);\n            return b = b.not(\".conversation-tweet\"), $(b[0]);\n        }, this.injectItems = function(a, b, c, d) {\n            var e = $(\"\\u003Cdiv/\\u003E\").html(b).children();\n            return ((((e.length > 0)) && this.select(\"timelineEndSelector\").addClass(\"has-items\"))), this.select(\"itemsSelector\")[a](e), this.reportInjectedItems(e, c, d), e;\n        }, this.removeDuplicates = function(a) {\n            var b = [];\n            return a.filter(function(a) {\n                return ((a.tweetId ? ((((b.indexOf(a.tweetId) === -1)) ? (b.push(a.tweetId), !0) : !1)) : !0));\n            });\n        }, this.reportInjectedItems = function(a, b, c) {\n            var d = [];\n            a.each(function(a, c) {\n                if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                    d = d.concat(this.extraInteractionData($(c))), d.push(this.interactionData(this.findFirstItemContent($(c))));\n                }\n            ;\n            ;\n                this.trigger(c, \"uiHasInjectedTimelineItem\");\n            }.bind(this)), d = this.removeDuplicates(d);\n            var e = {\n            };\n            if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                e = {\n                    scribeContext: {\n                        component: ((this.attr.itemType && ((this.attr.itemType + \"_stream\"))))\n                    },\n                    scribeData: {\n                    },\n                    items: d\n                }, ((((c && c.autoplay)) && (e.scribeData.event_initiator = eventInitiators.clientSideApp)));\n            }\n        ;\n        ;\n            this.trigger(\"uiWantsToRefreshTimestamps\"), this.trigger(b, e);\n        }, this.inspectItemsFromServer = function(a, b) {\n            ((this.isOldItem(b) ? this.injectOldItems(b) : ((this.isNewItem(b) ? this.notifyNewItems(b) : ((this.wasRangeRequest(b) && this.injectRangeItems(b)))))));\n        }, this.investigateDataError = function(a, b) {\n            var c = b.sourceEventData;\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((this.wasRangeRequest(c) ? this.notifyRangeItemsError(b) : ((this.wasNewItemsRequest(c) || ((this.wasOldItemsRequest(c) && this.notifyOldItemsError(b)))))));\n        }, this.possiblyShowBackToTop = function() {\n            var a = this.select(\"lastItemSelector\").position();\n            ((((a && ((a.JSBNG__top >= $(window).height())))) && this.select(\"backToTopSelector\").show()));\n        }, this.scrollToTop = function() {\n            animateWinScrollTop(0, \"fast\");\n        }, this.getTimelinePosition = function(a) {\n            return a.closest(this.attr.genericItemSelector).index();\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataGotMoreTimelineItems\", this.inspectItemsFromServer), this.JSBNG__on(\"dataGotMoreTimelineItemsError\", this.investigateDataError), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            }), this.possiblyShowBackToTop();\n        });\n    };\n;\n    var withKeyboardNavigation = require(\"app/ui/timelines/with_keyboard_navigation\"), withInteractionData = require(\"app/ui/with_interaction_data\"), eventInitiators = require(\"app/utils/scribe_event_initiators\"), withFocusHighLight = require(\"app/ui/with_focus_highlight\"), compose = require(\"core/compose\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withBaseTimeline;\n});\ndefine(\"app/ui/timelines/with_old_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withOldItems() {\n        this.defaultAttrs({\n            endOfStreamSelector: \".stream-footer\",\n            errorMessageSelector: \".stream-fail-container\",\n            tryAgainSelector: \".try-again-after-whale\",\n            allowInfiniteScroll: !0\n        }), this.getOldItems = function() {\n            ((((this.shouldGetOldItems() && !this.requestInProgress)) && (this.requestInProgress = !0, this.trigger(\"uiWantsMoreTimelineItems\", this.getOldItemsData()))));\n        }, this.injectOldItems = function(a) {\n            this.hideWhaleEnd(), this.resetStateVariables(a), ((a.has_more_items ? this.showMoreSpinner() : this.hideMoreSpinner()));\n            var b = this.$document.height();\n            this.injectItems(((this.attr.isBackward ? \"prepend\" : \"append\")), a.items_html, \"uiHasInjectedOldTimelineItems\"), ((this.attr.isBackward ? (this.$window.scrollTop(((this.$document.height() - b))), ((a.has_more_items || this.select(\"endOfStreamSelector\").remove()))) : this.possiblyShowBackToTop())), this.requestInProgress = !1;\n        }, this.notifyOldItemsError = function(a) {\n            this.showWhaleEnd(), this.requestInProgress = !1;\n        }, this.showWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").show(), this.select(\"endOfStreamSelector\").hide();\n        }, this.hideWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").hide(), this.select(\"endOfStreamSelector\").show();\n        }, this.showMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").addClass(\"has-more-items\");\n        }, this.hideMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").removeClass(\"has-more-items\");\n        }, this.tryAgainAfterWhale = function(a) {\n            a.preventDefault(), this.hideWhaleEnd(), this.getOldItems();\n        }, this.after(\"initialize\", function(a) {\n            this.requestInProgress = !1, ((this.attr.allowInfiniteScroll && this.JSBNG__on(window, ((this.attr.isBackward ? \"uiNearTheTop\" : \"uiNearTheBottom\")), this.getOldItems))), this.$document = $(JSBNG__document), this.$window = $(window), this.JSBNG__on(\"click\", {\n                tryAgainSelector: this.tryAgainAfterWhale\n            });\n        });\n    };\n;\n    module.exports = withOldItems;\n});\ndefine(\"app/utils/chrome\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var chrome = {\n        globalYOffset: null,\n        selectors: {\n            globalNav: \".global-nav\"\n        },\n        getGlobalYOffset: function() {\n            return ((((chrome.globalYOffset === null)) && (chrome.globalYOffset = $(chrome.selectors.globalNav).height()))), chrome.globalYOffset;\n        },\n        getCanvasYOffset: function(a) {\n            return ((a.offset().JSBNG__top - chrome.getGlobalYOffset()));\n        }\n    };\n    module.exports = chrome;\n});\ndefine(\"app/ui/timelines/with_traveling_ptw\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withTravelingPTw() {\n        this.closePromotedItem = function(a) {\n            ((a.hasClass(\"open\") && this.trigger(a, \"uiShouldToggleExpandedState\", {\n                noAnimation: !0\n            })));\n        }, this.transferClass = function(a, b, c) {\n            ((a.hasClass(b) && (a.removeClass(b), c.addClass(b))));\n        }, this.repositionPromotedItem = function(a) {\n            var b = this.$promotedItem;\n            this.transferClass(b, \"before-expanded\", b.prev()), this.transferClass(b, \"after-expanded\", b.next()), a.call(this, b.detach()), this.transferClass(b.next(), \"after-expanded\", \"prev\");\n        }, this.after(\"initialize\", function(a) {\n            this.travelingPromoted = a.travelingPromoted, this.$promotedItem = this.$node.JSBNG__find(\".promoted-tweet\").first().closest(\".stream-item\");\n        }), this.movePromotedToTop = function() {\n            if (this.autoplay) {\n                return;\n            }\n        ;\n        ;\n            this.repositionPromotedItem(function(a) {\n                var b = this.$node.JSBNG__find(this.attr.streamItemsSelector).children().first();\n                b[((b.hasClass(\"open\") ? \"after\" : \"before\"))](a);\n            });\n        };\n    };\n;\n    module.exports = withTravelingPTw;\n});\ndefine(\"app/ui/timelines/with_autoplaying_timeline\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withAutoplayingTimeline() {\n        compose.mixin(this, [withTravelingPTw,]);\n        var a = 700, b = 750, c = 300;\n        this.defaultAttrs({\n            autoplayControlSelector: \".autoplay-control .play-pause\",\n            streamItemsSelector: \".stream-items\",\n            socialProofSelector: \".tweet-stats-container\",\n            autoplayMarkerSelector: \".stream-autoplay-marker\",\n            notificationBarOpacity: 94748\n        }), this.autoplayNewItems = function(a, b) {\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            var c = this.$window.scrollTop(), d = ((c + this.$window.height())), e = ((this.$promotedItem.length && ((this.$promotedItem.offset().JSBNG__top > d)))), f = this.injectNewItems({\n            }, {\n                autoplay: !0\n            });\n            ((((this.travelingPTw && e)) && this.repositionPromotedItem(function(a) {\n                f.first().before(a), f = f.add(a), this.trigger(a, \"uiShouldFixMargins\");\n            })));\n            var g = f.first().offset().JSBNG__top, h = ((((g > c)) && ((g < d)))), i = this.$container.offset().JSBNG__top, j = ((((f.last().next().offset().JSBNG__top - i)) + 1));\n            if (h) this.$container.css(\"marginTop\", -j), this.animateBlockOfItems(f);\n             else {\n                var k = chrome.getGlobalYOffset(), l = ((this.$notification.is(\":visible\") ? k : -100));\n                this.showingAutoplayMarker = !1, this.setScrollerScrollTop(((c + j))), this.$notification.show().JSBNG__find(\".text\").text($(a).text()).end().css({\n                    JSBNG__top: l,\n                    opacity: this.attr.notificationBarOpacity\n                }).animate({\n                    JSBNG__top: k\n                }, {\n                    duration: 500,\n                    complete: function() {\n                        var a = this.newItemsXLine;\n                        this.newItemsXLine = ((((a > 0)) ? ((a + j)) : ((i + j)))), this.showingAutoplayMarker = !0, this.latentItems.count = b;\n                    }.bind(this)\n                });\n            }\n        ;\n        ;\n        }, this.animateBlockOfItems = function(b) {\n            var c = this.$window.scrollTop(), d = parseFloat(this.$container.css(\"marginTop\")), e = -b.first().position().JSBNG__top;\n            this.isAnimating = !0, this.$container.parent().css(\"overflow\", \"hidden\"), this.$container.animate({\n                marginTop: 0\n            }, {\n                duration: ((a + Math.abs(d))),\n                step: function(a) {\n                    ((this.lockedTimelineScroll && this.setScrollerScrollTop(((c + Math.abs(((d - Math.ceil(a)))))))));\n                }.bind(this),\n                complete: function() {\n                    this.$container.parent().css(\"overflow\", \"inherit\"), this.isAnimating = !1, this.afterAnimationQueue.forEach(function(a) {\n                        a.call(this);\n                    }, this), this.afterAnimationQueue = [];\n                }.bind(this)\n            });\n        }, this.handleSocialProofPops = function(a) {\n            var b = $(a.target).closest(\".stream-item\");\n            if (((this.lastClickedItem && ((b[0] === this.lastClickedItem))))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector).hide(), d = function() {\n                var a = b.next().offset().JSBNG__top;\n                c.show();\n                var d = b.next().offset().JSBNG__top, e = this.$window.scrollTop();\n                ((((this.lockedTimelineScroll || ((e > d)))) && this.setScrollerScrollTop(((e + ((d - a)))))));\n            }.bind(this);\n            ((this.isAnimating ? this.afterAnimationQueue.push(d) : d()));\n        }, this.animateScrollToTop = function() {\n            var a = ((this.$container.offset().JSBNG__top - 150)), d = {\n                duration: b\n            };\n            ((this.attr.overflowScroll ? this.$node.animate({\n                scrollTop: a\n            }, d) : animateWinScrollTop(a, d))), this.$notification.animate({\n                JSBNG__top: -200,\n                opacity: 0\n            }, {\n                duration: c\n            });\n        }, this.setScrollerScrollTop = function(a) {\n            var b = ((this.attr.overflowScroll ? this.$node : $(window)));\n            b.scrollTop(a);\n        }, this.removeAutoplayMarkerOnScroll = function() {\n            var a, b = function() {\n                ((this.showingAutoplayMarker ? (this.showingAutoplayMarker = !1, this.$notification.fadeOut(200)) : ((((((this.newItemsXLine > 0)) && ((this.$window.scrollTop() < this.newItemsXLine)))) && (this.newItemsXLine = 0, this.latentItems.count = 0)))));\n            }.bind(this);\n            this.$window.JSBNG__scroll(function(c) {\n                if (!this.autoplay) {\n                    return;\n                }\n            ;\n            ;\n                JSBNG__clearTimeout(a), a = JSBNG__setTimeout(b, 0);\n            }.bind(this));\n        }, this.toggleAutoplay = function(a) {\n            $(\".tooltip\").remove(), (($(a.target).parent().toggleClass(\"paused\").hasClass(\"paused\") ? this.disableAutoplay() : this.reenableAutoplay()));\n        }, this.disableAutoplay = function() {\n            this.autoplay = !1, this.trigger(\"uiHasDisabledAutoplay\");\n        }, this.reenableAutoplay = function() {\n            this.autoplay = !0, this.lockedTimelineScroll = !1, this.trigger(\"uiHasEnabledAutoplay\");\n            var a = this.select(\"newItemsBarSelector\");\n            a.animate({\n                marginTop: -a.JSBNG__outerHeight(),\n                opacity: 0\n            }, {\n                duration: 225,\n                complete: this.autoplayNewItems.bind(this, a.html())\n            });\n        }, this.enableAutoplay = function(a) {\n            this.autoplay = !0, this.travelingPTw = a.travelingPTw, this.lockedTimelineScroll = !1, this.afterAnimationQueue = [], this.newItemsXLine = 0, this.$container = this.select(\"streamItemsSelector\"), this.$notification = this.select(\"autoplayMarkerSelector\"), this.$window = ((a.overflowScroll ? this.$node : $(window))), this.JSBNG__on(\"mouseover\", function() {\n                this.lockedTimelineScroll = !0;\n            }), this.JSBNG__on(\"mouseleave\", function() {\n                this.lockedTimelineScroll = !1;\n            }), this.JSBNG__on(\"uiHasRenderedTweetSocialProof\", this.handleSocialProofPops), this.JSBNG__on(\"uiHasExpandedTweet\", function(a) {\n                this.lastClickedItem = $(a.target).data(\"expando\").$container.get(0);\n            }), this.JSBNG__on(\"click\", {\n                autoplayControlSelector: this.toggleAutoplay,\n                autoplayMarkerSelector: this.animateScrollToTop\n            }), this.removeAutoplayMarkerOnScroll(), this.$notification.width(this.$notification.width()).css(\"position\", \"fixed\");\n        }, this.after(\"initialize\", function(a) {\n            ((a.autoplay && this.enableAutoplay(a)));\n        });\n    };\n;\n    var compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withTravelingPTw = require(\"app/ui/timelines/with_traveling_ptw\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withAutoplayingTimeline;\n});\ndefine(\"app/ui/timelines/with_polling\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/utils/setup_polling_with_backoff\",], function(module, require, exports) {\n    function withPolling() {\n        this.defaultAttrs({\n            pollingWatchNode: $(window),\n            pollingEnabled: !0\n        }), this.pausePolling = function() {\n            this.pollingTimer.pause(), this.pollingPaused = !0;\n        }, this.resetPolling = function() {\n            this.backoffEmptyResponseCount = 0, this.pollingPaused = !1;\n        }, this.pollForNewItems = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !1,\n                interval: this.pollingTimer.interval,\n                fromPolling: !0\n            });\n        }, this.onGotMoreTimelineItems = function(a, b) {\n            if (!((((((this.attr.pollingOptions && this.attr.pollingOptions.pauseAfterBackoff)) && b)) && b.sourceEventData))) {\n                return;\n            }\n        ;\n        ;\n            var c = b.sourceEventData;\n            ((c.fromPolling && ((((this.isNewItem(b) || ((c.interval < this.attr.pollingOptions.blurredInterval)))) ? this.resetPolling() : ((((++this.backoffEmptyResponseCount >= this.attr.pollingOptions.backoffEmptyResponseLimit)) && this.pausePolling()))))));\n        }, this.modifyNewItemsData = function(a) {\n            var b = a();\n            return ((((this.pollingPaused && this.attr.pollingOptions)) ? (this.resetPolling(), utils.merge(b, {\n                count: this.attr.pollingOptions.resumeItemCount\n            })) : b));\n        }, this.possiblyRefreshBeforeInject = function(a, b, c) {\n            return ((((((this.pollingPaused && b)) && ((b.type === \"click\")))) && this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            }))), a(b, c);\n        }, this.around(\"getNewItemsData\", this.modifyNewItemsData), this.around(\"injectNewItems\", this.possiblyRefreshBeforeInject), this.after(\"initialize\", function() {\n            if (!this.attr.pollingEnabled) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiTimelinePollForNewItems\", this.pollForNewItems), this.JSBNG__on(JSBNG__document, \"dataGotMoreTimelineItems\", this.onGotMoreTimelineItems), this.pollingTimer = setupPollingWithBackoff(\"uiTimelinePollForNewItems\", this.attr.pollingWatchNode, this.attr.pollingOptions), this.resetPolling();\n        });\n    };\n;\n    var utils = require(\"core/utils\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\");\n    module.exports = withPolling;\n});\ndefine(\"app/ui/timelines/with_new_items\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",], function(module, require, exports) {\n    function withNewItems() {\n        this.injectNewItems = function(a, b) {\n            if (!this.latentItems.html) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"newItemsBarSelector\").remove();\n            var c = this.injectItems(\"prepend\", this.latentItems.html, \"uiHasInjectedNewTimeline\", b);\n            return this.resetLatentItems(), c;\n        }, this.handleNewItemsBarClick = function(a, b) {\n            this.injectNewItems(a, b), this.trigger(\"uiRefreshUserRecsOnNewTweets\");\n        }, compose.mixin(this, [withAutoplayingTimeline,withPolling,]), this.defaultAttrs({\n            newItemsBarSelector: \".js-new-tweets-bar\",\n            streamItemSelector: \".stream-item\",\n            refreshOnReturn: !0\n        }), this.getNewItems = function(a, b) {\n            this.trigger(\"uiWantsMoreTimelineItems\", utils.merge({\n                include_new_items_bar: ((!b || !b.injectImmediately)),\n                latent_count: this.latentItems.count,\n                composed_count: Object.keys(this.composedThenInjectedTweetIds).length\n            }, this.getNewItemsData(), b));\n        }, this.notifyNewItems = function(a) {\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            var b = ((a.sourceEventData || {\n            }));\n            this.resetStateVariables(a);\n            var c = ((this.attr.injectComposedTweets && this.removeComposedTweetsFromPayload(a)));\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = ((a.items_html + ((this.latentItems.html || \"\"))));\n            if (a.new_tweets_bar_html) {\n                var d, e = a.new_tweets_bar_alternate_html;\n                ((((((((this.attr.injectComposedTweets && ((c > 0)))) && e)) && e[((c - 1))])) ? d = $(e[((c - 1))]) : d = $(a.new_tweets_bar_html))), this.latentItems.count = d.children().first().data(\"item-count\"), ((this.autoplay ? this.autoplayNewItems(a.new_tweets_bar_html, this.latentItems.count) : ((b.injectImmediately || this.updateNewItemsBar(d))))), this.trigger(\"uiAddPageCount\", {\n                    count: this.latentItems.count\n                });\n            }\n        ;\n        ;\n            ((((b.injectImmediately || b.timeline_empty)) && this.trigger(\"uiInjectNewItems\"))), ((b.scrollToTop && this.scrollToTop())), ((b.selectTopTweet && this.trigger(\"uiSelectTopTweet\")));\n        }, this.removeComposedTweetsFromPayload = function(a) {\n            var b = this.composedThenInjectedTweetIds, c = $(a.items_html).filter(this.attr.streamItemSelector);\n            if (((c.length == 0))) {\n                return 0;\n            }\n        ;\n        ;\n            var d = 0, e = c.filter(function(a, c) {\n                var e = $(c).attr(\"data-item-id\");\n                return ((((e in b)) ? (d++, delete b[e], !1) : !0));\n            });\n            return a.items_html = $(\"\\u003Cdiv/\\u003E\").append(e).html(), d;\n        }, this.updateNewItemsBar = function(a) {\n            var b = this.select(\"newItemsBarSelector\"), c = this.select(\"containerSelector\"), d = $(window).scrollTop(), e = chrome.getCanvasYOffset(c);\n            ((b.length ? (b.parent().remove(), a.prependTo(c)) : (a.hide().prependTo(c), ((((d > e)) ? (a.show(), $(\"html, body\").scrollTop(((d + a.height())))) : a.slideDown()))))), this.trigger(\"uiNewItemsBarVisible\");\n        }, this.resetLatentItems = function() {\n            this.latentItems = {\n                count: 0,\n                html: \"\"\n            };\n        }, this.refreshOnNavigate = function(a, b) {\n            ((((b.fromCache && this.attr.refreshOnReturn)) && this.trigger(\"uiTimelineShouldRefresh\", {\n                navigated: !0\n            })));\n        }, this.refreshAndSelectTopTweet = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: !0\n            });\n        }, this.injectComposedTweet = function(a, b) {\n            if (b.in_reply_to_status_id) {\n                return;\n            }\n        ;\n        ;\n            this.injectNewItems();\n            var c = $(b.tweet_html).filter(this.attr.streamItemSelector).first().attr(\"data-item-id\");\n            if (this.$node.JSBNG__find(((((\".original-tweet[data-tweet-id='\" + c)) + \"']:first\"))).length) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = b.tweet_html, this.injectNewItems(), this.composedThenInjectedTweetIds[b.tweet_id] = !0;\n        }, this.refreshAndInjectImmediately = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: ((this.$selected.length == 1))\n            });\n        }, this.resetCacheOfComposedInjectedTweets = function(a, b) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds = {\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds, this.resetLatentItems(), this.JSBNG__on(\"uiInjectNewItems\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiTimelineShouldRefresh\", this.getNewItems), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.refreshOnNavigate), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.refreshAndInjectImmediately), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen\", this.refreshAndSelectTopTweet), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetCacheOfComposedInjectedTweets), ((this.attr.injectComposedTweets && this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.injectComposedTweet))), this.JSBNG__on(\"click\", {\n                newItemsBarSelector: this.handleNewItemsBarClick\n            });\n        });\n    };\n;\n    var utils = require(\"core/utils\"), compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withAutoplayingTimeline = require(\"app/ui/timelines/with_autoplaying_timeline\"), withPolling = require(\"app/ui/timelines/with_polling\"), composedThenInjectedTweetIds = {\n    };\n    module.exports = withNewItems;\n});\ndefine(\"app/ui/timelines/with_tweet_pagination\", [\"module\",\"require\",\"exports\",\"app/utils/string\",], function(module, require, exports) {\n    function withTweetPagination() {\n        this.isOldItem = function(a) {\n            return ((a.max_id && ((!this.max_id || ((string.compare(this.max_id, a.max_id) >= 0))))));\n        }, this.isNewItem = function(a) {\n            return ((a.since_id && ((!this.since_id || ((string.compare(this.since_id, a.since_id) < 0))))));\n        }, this.wasRangeRequest = function(a) {\n            return ((a.max_id && a.since_id));\n        }, this.wasNewItemsRequest = function(a) {\n            return a.since_id;\n        }, this.wasOldItemsRequest = function(a) {\n            return a.max_id;\n        }, this.shouldGetOldItems = function() {\n            var a = ((((typeof this.max_id != \"undefined\")) && ((this.max_id !== null))));\n            return ((!a || ((this.max_id != \"-1\"))));\n        }, this.getOldItemsData = function() {\n            return {\n                max_id: this.max_id,\n                query: this.query\n            };\n        }, this.getRangeItemsData = function(a, b) {\n            return {\n                since_id: a,\n                max_id: b,\n                query: this.query\n            };\n        }, this.getNewItemsData = function() {\n            var a = {\n                since_id: this.since_id,\n                query: this.query\n            };\n            return ((((this.select(\"itemsSelector\").children().length == 0)) && (a.timeline_empty = !0))), a;\n        }, this.resetStateVariables = function(a) {\n            [\"max_id\",\"since_id\",\"query\",].forEach(function(b, c) {\n                ((((typeof a[b] != \"undefined\")) && (this[b] = a[b], ((((((b == \"max_id\")) || ((b == \"since_id\")))) && this.select(\"containerSelector\").attr(((\"data-\" + b.replace(\"_\", \"-\"))), this[b]))))));\n            }, this);\n        }, this.after(\"initialize\", function(a) {\n            this.since_id = ((this.select(\"containerSelector\").attr(\"data-since-id\") || undefined)), this.max_id = ((this.select(\"containerSelector\").attr(\"data-max-id\") || undefined)), this.query = ((a.query || \"\"));\n        });\n    };\n;\n    var string = require(\"app/utils/string\");\n    module.exports = withTweetPagination;\n});\ndefine(\"app/ui/timelines/with_preserved_scroll_position\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/i18n\",\"app/utils/string\",\"app/data/user_info\",\"core/compose\",], function(module, require, exports) {\n    function withPreservedScrollPosition() {\n        this.defaultAttrs({\n            firstTweetSelector: \".stream-items .js-stream-item:first-child\",\n            listSelector: \".stream-items:not(.conversation-module)\",\n            tearClass: \"tear\",\n            tearSelector: \".tear\",\n            tearProcessingClass: \"tear-processing\",\n            tearProcessingSelector: \".tear-processing\",\n            currentScrollPosClass: \"current-scroll-pos\",\n            currentScrollPosSelector: \".current-scroll-pos\",\n            topOfViewportTweetSelector: \".top-of-viewport-tweet\",\n            countAboveTear: 10,\n            countBelowTearAboveCurrent: 3,\n            countBelowCurrent: 10,\n            preservedScrollEnabled: !1\n        }), this.findTweetAtTop = function() {\n            var a = $(), b = $(window).scrollTop();\n            return this.select(\"genericItemSelector\").each(function(c, d) {\n                var e = $(d);\n                if (((e.offset().JSBNG__top > b))) {\n                    return a = e, !1;\n                }\n            ;\n            ;\n            }), a;\n        }, this.findNearestRealTweet = function(a, b) {\n            while (((a.length && ((a.JSBNG__find(\"[data-promoted=true]\").length || a.hasClass(this.attr.tearClass)))))) {\n                a = a[b]();\n            ;\n            };\n        ;\n            return a;\n        }, this.findSiblingTweets = function(a, b, c) {\n            var d = $(), e = a, f = 0;\n            while ((((e = e[b]()).length && ((f < c))))) {\n                if (((!e.is(\"[data-item-type=tweet]\") && ((b == \"prev\"))))) {\n                    break;\n                }\n            ;\n            ;\n                d = d.add(e), f++;\n            };\n        ;\n            return d;\n        }, this.getTweetId = function(a) {\n            var b = a.JSBNG__find(\".tweet\").attr(\"data-retweet-id\");\n            return ((b ? b : a.attr(\"data-item-id\")));\n        }, this.recordTweetAtTop = function() {\n            var a = this.findTweetAtTop();\n            if (a.length) {\n                var b = this.getTweetId(this.findNearestRealTweet(a, \"next\")), c = ((a.offset().JSBNG__top - $(window).scrollTop()));\n                a.addClass(this.attr.currentScrollPosClass), a.attr(\"data-offset\", c), this.trigger(\"uiTimelineScrollSet\", {\n                    topItem: b,\n                    offset: c\n                });\n            }\n        ;\n        ;\n        }, this.trimTimeline = function() {\n            var a = this.select(\"currentScrollPosSelector\"), b = this.select(\"firstTweetSelector\"), c, d;\n            ((a.length || (a = b)));\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = $(), d = d.add(a), d = d.add(this.findSiblingTweets(a, \"next\", this.attr.countBelowCurrent)), d = d.add(this.findSiblingTweets(a, \"prev\", this.attr.countBelowTearAboveCurrent)), c = d.first();\n            if (((c.index() >= this.attr.countAboveTear))) {\n                var e = $(TEAR_HTML);\n                c.before(e), d = d.add(e);\n            }\n        ;\n        ;\n            ((((this.attr.countAboveTear > 0)) && (d = d.add(b), d = d.add(this.findSiblingTweets(b, \"next\", ((this.attr.countAboveTear - 1)))))));\n            var f = this.findNearestRealTweet(d.last(), \"prev\");\n            this.select(\"containerSelector\").attr(\"data-max-id\", string.subtractOne(this.getTweetId(f))), this.select(\"listSelector\").html(d);\n        }, this.restorePosition = function(a, b) {\n            var c = {\n            }, d = 0;\n            ((((b && b.fromCache)) ? (c = this.select(\"currentScrollPosSelector\"), d = ((-1 * c.attr(\"data-offset\")))) : ((((b && b.scrollPosition)) && (c = this.select(\"topOfViewportTweetSelector\"), d = ((-1 * b.scrollPosition.offset)))))));\n            var e, f, g;\n            ((c.length && (f = $(window).scrollLeft(), g = ((c.offset().JSBNG__top + d)), window.JSBNG__scrollTo(f, g), c.removeClass(this.attr.currentScrollPosClass), $(JSBNG__document).one(\"JSBNG__scroll\", function() {\n                window.JSBNG__scrollTo(f, g);\n            }))));\n        }, this.expandTear = function(a, b, c) {\n            var d = $(a.target);\n            ((d.hasClass(this.attr.tearClass) || (d = d.closest(this.attr.tearSelector)))), d.addClass(this.attr.tearProcessingClass);\n            var e = this.findNearestRealTweet(d.prev(), \"prev\"), f = this.findNearestRealTweet(d.next(), \"next\"), g = this.getTweetId(f), h = this.getTweetId(e);\n            d.attr(\"data-prev-id\", h), d.attr(\"data-next-id\", g), this.trigger(\"uiWantsMoreTimelineItems\", this.getRangeItemsData(string.subtractOne(g), h));\n        }, this.injectRangeItems = function(a) {\n            var b = this.select(\"tearSelector\"), c = $(a.items_html);\n            b.each(function(b, d) {\n                var e = $(d), f = e.attr(\"data-prev-id\"), g = e.attr(\"data-next-id\"), h = !0;\n                ((((a.since_id == f)) && (((((f == this.getTweetId(c.first()))) && (c = c.not(c.first())))), ((((g == this.getTweetId(c.last()))) && (c = c.not(c.last()), h = !1))), c.hide(), e.before(c), e.removeClass(this.attr.tearProcessingClass), ((h || e.remove())), c.filter(\".js-stream-item\").slideDown(\"fast\"), this.reportInjectedItems(c, \"uiHasInjectedRangeTimelineItems\"))));\n            }.bind(this));\n        }, this.notifyRangeItemsError = function(a) {\n            this.select(\"tearProcessingSelector\").removeClass(this.attr.tearProcessingClass);\n        }, this.after(\"initialize\", function() {\n            var a = userInfo.getExperimentGroup(\"home_timeline_snapback_951\"), b = userInfo.getExperimentGroup(\"web_conversations\"), c = ((((a && ((a.bucket == \"preserve\")))) || ((((b && ((b.experiment_key == \"conversations_on_home_timeline_785\")))) && ((b.bucket != \"control\")))))), d = userInfo.getDecider(\"preserve_scroll_position\");\n            ((((this.attr.preservedScrollEnabled && ((c || d)))) && (this.preserveScrollPosition = !0, this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.restorePosition), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.recordTweetAtTop), this.before(\"teardown\", this.trimTimeline), this.JSBNG__on(\"click uiShortcutEnter\", {\n                tearSelector: this.expandTear\n            }))));\n        });\n    };\n;\n    var utils = require(\"core/utils\"), _ = require(\"core/i18n\"), string = require(\"app/utils/string\"), userInfo = require(\"app/data/user_info\"), compose = require(\"core/compose\"), TEAR_HTML = ((((\"\\u003Cli class=\\\"tear stream-item\\\"\\u003E\\u003Cbutton class=\\\"tear-inner btn-link\\\" type=\\\"button\\\"\\u003E\\u003Cspan class=\\\"tear-text\\\"\\u003E\" + _(\"Load more tweets\"))) + \"\\u003C/span\\u003E\\u003C/button\\u003E\\u003C/li\\u003E\"));\n    module.exports = withPreservedScrollPosition;\n});\ndefine(\"app/ui/timelines/with_activity_supplements\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withActivitySupplements() {\n        this.defaultAttrs({\n            networkActivityPageViewAllToggle: \".stream-item-activity-network\",\n            viewAllSupplementsButton: \"button.view-all-supplements\",\n            interactionsPageViewAllToggle: \".stream-item-activity-me button.view-all-supplements\",\n            additionalStreamItemsSelector: \".sub-stream-item-showing,.sub-stream-item-hidden\",\n            additionalNetworkActivityItems: \".hidden-supplement, .hidden-supplement-expanded\",\n            hiddenSupplement: \"hidden-supplement\",\n            visibleSupplement: \"hidden-supplement-expanded\",\n            hiddenSubItem: \"sub-stream-item-hidden\",\n            visibleSubItem: \"sub-stream-item-showing\",\n            visibleSupplementSelector: \".visible-supplement\"\n        }), this.toggleSupplementTrigger = function(a) {\n            var b = a.hasClass(\"show\");\n            return a.toggleClass(\"hide\", b).toggleClass(\"show\", !b), b;\n        }, this.toggleInteractionsSupplements = function(a, b) {\n            var c = $(b.el), d = this.toggleSupplementTrigger(c);\n            this.toggleSubStreamItemsVisibility(c.parent(), d);\n        }, this.toggleNetworkActivitySupplements = function(a, b) {\n            if ((($(a.target).closest(\".supplement\").length > 0))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(b.el), d = this.toggleSupplementTrigger(c.JSBNG__find(this.attr.viewAllSupplementsButton));\n            ((d || this.trigger(c.JSBNG__find(\".activity-supplement \\u003E .stream-item.open\"), \"uiShouldToggleExpandedState\"))), this.toggleSubStreamItemsVisibility(c, d), c.JSBNG__find(this.attr.additionalNetworkActivityItems).toggleClass(\"hidden-supplement\", !d).toggleClass(\"hidden-supplement-expanded\", d);\n            var e = c.closest(\".js-stream-item\"), f;\n            ((d ? (e.addClass(\"js-has-navigable-stream\"), f = e.JSBNG__find(\".activity-supplement .stream-item:first-child\"), e.JSBNG__find(\".activity-supplement \\u003E .js-unselectable-stream-item\").removeClass(\"js-unselectable-stream-item\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            })) : (e.removeClass(\"js-has-navigable-stream\"), e.JSBNG__find(\".activity-supplement \\u003E .hidden-supplement\").addClass(\"js-unselectable-stream-item\"), this.trigger(e, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.toggleSubStreamItemsVisibility = function(a, b) {\n            a.JSBNG__find(this.attr.additionalStreamItemsSelector).toggleClass(\"sub-stream-item-hidden\", !b).toggleClass(\"sub-stream-item-showing\", b);\n        }, this.selectAndFocusTopLevelStreamItem = function(a, b) {\n            var c = $(b.el), d = c.hasClass(\"js-has-navigable-stream\"), e = this.select(\"viewAllSupplementsButton\").hasClass(\"show\"), f = c.closest(\".js-stream-item\");\n            ((((e && !d)) && (a.stopPropagation(), f.removeClass(\"js-has-navigable-stream\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                interactionsPageViewAllToggle: this.toggleInteractionsSupplements,\n                networkActivityPageViewAllToggle: this.toggleNetworkActivitySupplements\n            }), this.JSBNG__on(\"uiSelectItem\", {\n                visibleSupplementSelector: this.selectAndFocusTopLevelStreamItem\n            });\n        });\n    };\n;\n    module.exports = withActivitySupplements;\n});\ndefine(\"app/ui/with_conversation_actions\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            conversationModuleSelector: \".conversation-module\",\n            hasConversationModuleSelector: \".tweet.has-conversation-module\",\n            viewMoreSelector: \"a.view-more\",\n            missingTweetsLinkSelector: \"a.missing-tweets-link\",\n            conversationRootSelector: \"li.conversation-root\",\n            repliesCountSelector: \".replies-count\",\n            otherRepliesSelector: \".other-replies\",\n            topLevelStreamItemSelector: \".stream-item:not(.conversation-tweet-item)\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            repliesCountClass: \"replies-count\",\n            visuallyHiddenClass: \"visuallyhidden\",\n            conversationRootClass: \"conversation-root\",\n            originalTweetClass: \"original-tweet\",\n            hadConversationClass: \"had-conversation\",\n            conversationHtmlKey: \"conversationHtml\",\n            restoreConversationDelay: 100,\n            animationTime: 200\n        }), this.dedupAndCollapse = function(a, b) {\n            this.dedupConversations(), this.collapseConversations(((b && b.tweets)));\n        }, this.dedupConversations = function() {\n            var a = this.select(\"conversationModuleSelector\");\n            a.each(function(a, b) {\n                if (!b.parentNode) {\n                    return;\n                }\n            ;\n            ;\n                var c = $(b).attr(\"data-ancestors\").split(\",\"), d = $(this.idsToSelector(c));\n                d.addClass(\"to-be-removed\"), d.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n                var e = this;\n                d.slideUp(function() {\n                    var a = $(this);\n                    ((a.hasClass(e.attr.selectedClass) && e.trigger(\"uiSelectNext\", {\n                        maintainPosition: !0\n                    }))), JSBNG__setTimeout(function() {\n                        a.remove();\n                    }, 0);\n                });\n            }.bind(this));\n        }, this.idToSelector = function(a) {\n            return ((\"#stream-item-tweet-\" + a));\n        }, this.idsToSelector = function(a) {\n            return a.map(this.idToSelector).join(\",\");\n        }, this.collapseConversations = function(a) {\n            var b;\n            if (a) {\n                var c = a.map(function(a) {\n                    return a.tweetId;\n                }), d = this.$node.JSBNG__find(this.idsToSelector(c));\n                b = d.JSBNG__find(this.attr.conversationModuleSelector);\n            }\n             else b = this.select(\"conversationModuleSelector\");\n        ;\n        ;\n            var e = {\n            }, f = {\n            };\n            b.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.attr(\"data-ancestors\"), d = b.JSBNG__find(\".conversation-root .tweet\").attr(\"data-item-id\");\n                ((((!b.hasClass(\"dont-collapse\") && !b.hasClass(\"to-be-removed\"))) && ((e[c] ? this.collapseAncestors(b) : ((f[d] && this.collapseRoot(b))))))), e[c] = !0, f[d] = !0;\n            }.bind(this));\n        }, this.expandConversationHandler = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).closest(this.attr.conversationModuleSelector);\n            this.expandConversation(c), c.addClass(\"dont-collapse\");\n        }, this.expandConversation = function(a) {\n            ((((a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:visible\").length > 0)) ? this.expandRoot(a) : this.expandAncestors(a)));\n        }, this.expandAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.expandRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.collapseAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.collapseRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.slideAndFadeContent = function(a, b, c) {\n            if (a.is(\":hidden\")) {\n                return;\n            }\n        ;\n        ;\n            var d = c.offset().JSBNG__top, e = this.getCombinedHeight(a);\n            a.hide();\n            var f = c.offset().JSBNG__top;\n            b.show();\n            var g = this.getCombinedHeight(b), h = c.offset().JSBNG__top;\n            this.setAbsolutePosition(b), b.hide(), a.show(), this.setAbsolutePosition(a);\n            var i = ((d - f)), j = ((d - h));\n            c.css(\"paddingTop\", e), a.fadeOut(this.attr.animationTime), b.fadeIn(this.attr.animationTime), c.animate({\n                paddingTop: g\n            }, this.attr.animationTime, function() {\n                this.resetCss(a), this.resetCss(b), this.resetCss(c);\n            }.bind(this));\n        }, this.resetCss = function(a) {\n            var b = {\n                position: \"\",\n                JSBNG__top: \"\",\n                width: \"\",\n                height: \"\",\n                paddingTop: \"\"\n            };\n            a.css(b);\n        }, this.setAbsolutePosition = function(a) {\n            a.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.width(), d = b.height();\n                b.css({\n                    position: \"absolute\",\n                    JSBNG__top: b.position().JSBNG__top\n                }), b.width(c), b.height(d);\n            });\n        }, this.getCombinedHeight = function(a) {\n            var b = 0;\n            return a.each(function() {\n                b += $(this).JSBNG__outerHeight();\n            }), b;\n        }, this.convertRootToStandardTweet = function(a) {\n            a.data(this.attr.conversationHtmlKey, a.html());\n            var b = a.JSBNG__find(this.attr.conversationRootSelector);\n            a.empty().addClass(this.attr.hadConversationClass).html(b.html());\n            var c = a.JSBNG__find(this.attr.tweetSelector);\n            c.addClass(this.attr.originalTweetClass).removeClass(this.attr.conversationRootClass);\n        }, this.restoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a), d = c.data(this.attr.conversationHtmlKey);\n            ((d && (c.html(d), c.removeClass(this.attr.hadConversationClass), c.data(this.attr.conversationHtmlKey, null))));\n        }, this.expandConversationRoot = function(a, b) {\n            a.preventDefault();\n            var c = this.streamItemFromEvent(a);\n            this.convertRootToStandardTweet(c), c.trigger(\"uiShouldToggleExpandedState\");\n        }, this.collapseRootAndRestoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a);\n            c.trigger(\"uiShouldToggleExpandedState\"), JSBNG__setTimeout(function() {\n                this.restoreConversation(a, b);\n            }.bind(this), this.attr.restoreConversationDelay);\n        }, this.streamItemFromEvent = function(a) {\n            return $(a.target).closest(this.attr.topLevelStreamItemSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems\", this.dedupAndCollapse), this.JSBNG__on(\"click\", {\n                viewMoreSelector: this.expandConversationHandler,\n                missingTweetsLinkSelector: this.expandConversationRoot\n            }), this.JSBNG__on(\"uiExpandConversationRoot\", this.expandConversationRoot), this.JSBNG__on(\"uiRestoreConversationModule\", this.collapseRootAndRestoreConversation), this.dedupAndCollapse();\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_pinned_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withPinnedStreamItems() {\n        this.defaultAttrs({\n            pinnedStreamItemSelector: \"li.js-pinned\"\n        }), this.keepPinnedStreamItemsOnTop = function() {\n            if (!this.$pinnedStreamItems.length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.$pinnedStreamItems.first(), b = this.$pinnedStreamItems.last(), c = this.$items.children().first(), d = a.prev(), e = b.next();\n            a.css(\"margin-top\", \"0\"), ((a.hasClass(\"open\") && d.removeClass(\"before-expanded\"))), ((b.hasClass(\"open\") && (e.removeClass(\"after-expanded\"), c.addClass(\"after-expanded\")))), this.$items.prepend(this.$pinnedStreamItems.detach());\n        }, this.after(\"initialize\", function(a) {\n            this.$items = this.select(\"itemsSelector\"), this.$pinnedStreamItems = this.select(\"pinnedStreamItemSelector\"), this.JSBNG__on(\"uiHasInjectedNewTimeline\", this.keepPinnedStreamItemsOnTop);\n        });\n    };\n;\n    module.exports = withPinnedStreamItems;\n});\ndefine(\"app/ui/timelines/tweet_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_tweet_translation\",\"app/ui/with_conversation_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function tweetTimeline() {\n        this.defaultAttrs({\n            itemType: \"tweet\"\n        }), this.reportInitialTweetsDisplayed = function() {\n            var b = this.select(\"genericItemSelector\"), c = [], d = function(b, d) {\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                ((this.attr.reinjectedPromotedTweets && (e.impressionId = undefined))), c.push(e);\n            }.bind(this);\n            for (var e = 0, f = b.length; ((e < f)); e++) {\n                d(e, b[e]);\n            ;\n            };\n        ;\n            var g = {\n                scribeContext: {\n                    component: \"stream\"\n                },\n                tweets: c\n            };\n            this.trigger(\"uiTweetsDisplayed\", g);\n        }, this.reportTweetsDisplayed = function(a, b) {\n            b.tweets = b.items, this.trigger(\"uiTweetsDisplayed\", b);\n        }, this.removeTweetsFromUser = function(a, b) {\n            var c = this.$node.JSBNG__find(((((\"[data-user-id=\" + b.userId)) + \"]\")));\n            c.parent().remove(), this.trigger(\"uiRemovedSomeTweets\");\n        }, this.after(\"initialize\", function(a) {\n            this.attr.reinjectedPromotedTweets = a.reinjectedPromotedTweets, this.reportInitialTweetsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportTweetsDisplayed), this.JSBNG__on(\"uiRemoveTweetsFromUser\", this.removeTweetsFromUser);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), withPreservedScrollPosition = require(\"app/ui/timelines/with_preserved_scroll_position\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\"), withConversationActions = require(\"app/ui/with_conversation_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(tweetTimeline, withBaseTimeline, withTweetPagination, withPreservedScrollPosition, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withTweetTranslation, withConversationActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGallery);\n});\ndefine(\"app/boot/tweet_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/tweet_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), tweetsBoot(\"#timeline\", e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), TweetTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet, .conversation-tweet-item div.tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), TweetTimeline = require(\"app/ui/timelines/tweet_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/user_completion_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function userCompletionModule() {\n        this.defaultAttrs({\n            completeProfileSelector: \"#complete-profile-step\",\n            confirmEmailSelector: \"#confirm-email-step[href=#]:not(.completed)\",\n            confirmEmailInboxLinkSelector: \"#confirm-email-step[href!=#]:not(.completed)\",\n            followAccountsSelector: \"#follow-accounts-step\"\n        }), this.openConfirmEmailDialog = function() {\n            this.trigger(\"uiOpenConfirmEmailDialog\");\n        }, this.resendConfirmationEmail = function() {\n            this.trigger(\"uiResendConfirmationEmail\");\n        }, this.setCompleteProfileStepCompleted = function(a, b) {\n            ((((b.sourceEventData.uploadType == \"avatar\")) && this.setStepCompleted(\"completeProfileSelector\")));\n        }, this.setFollowAccountsStepCompleted = function() {\n            this.setStepCompleted(\"followAccountsSelector\");\n        }, this.setStepCompleted = function(a) {\n            this.select(a).removeClass(\"selected\").addClass(\"completed\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.setCompleteProfileStepCompleted), this.JSBNG__on(JSBNG__document, \"uiDidReachTargetFollowingCount\", this.setFollowAccountsStepCompleted), this.JSBNG__on(\"click\", {\n                confirmEmailSelector: this.openConfirmEmailDialog,\n                confirmEmailInboxLinkSelector: this.resendConfirmationEmail\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(userCompletionModule);\n});\ndefine(\"app/data/user_completion_module_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function userCompletionModuleScribe() {\n        this.defaultAttrs({\n            userCompletionStepSelector: \".user-completion-step:not(.completed)\"\n        }), this.scribeStepClick = function(a, b) {\n            var c = $(a.target).data(\"scribe-element\");\n            this.scribe({\n                component: \"user_completion\",\n                element: c,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                userCompletionStepSelector: this.scribeStepClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(userCompletionModuleScribe, withScribe);\n});\ndefine(\"app/boot/user_completion_module\", [\"module\",\"require\",\"exports\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = \"#user-completion-module\", c = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_completion\"\n                }\n            }\n        });\n        UserCompletionModule.attachTo(b, c), UserCompletionModuleScribe.attachTo(b, c);\n    };\n;\n    var UserCompletionModule = require(\"app/ui/user_completion_module\"), UserCompletionModuleScribe = require(\"app/data/user_completion_module_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_user_recommendations\", [\"module\",\"require\",\"exports\",\"core/utils\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n    function withUserRecommendations() {\n        this.defaultAttrs({\n            refreshAnimationDuration: 200,\n            cycleTimeout: 1000,\n            experimentCycleTimeout: 300,\n            wtfOptions: {\n            },\n            selfPromotedAccountHtml: \"\",\n            $accountPriorToPreview: null,\n            wtfRefreshOnNewTweets: !1,\n            recListSelector: \".js-recommended-followers\",\n            recSelector: \".js-actionable-user\",\n            refreshRecsSelector: \".js-refresh-suggestions\",\n            similarToContainerSelector: \".js-expanded-similar-to\",\n            expandedContainerSelector: \".js-expanded-container\",\n            itemType: \"user\"\n        }), this.refreshRecommendations = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyRefreshing = !0;\n                var c = ((this.getVisibleIds(null, !0).length || this.attr.wtfOptions.limit));\n                this.trigger(\"uiRefreshUserRecommendations\", utils.merge(this.attr.wtfOptions, {\n                    excluded: this.getVisibleIds(),\n                    limit: c,\n                    refreshType: a.type\n                })), this.hideRecommendations();\n            }\n        ;\n        ;\n        }, this.getUserRecommendations = function(a, b) {\n            this.trigger(\"uiGetUserRecommendations\", utils.merge(this.attr.wtfOptions, ((a || {\n            })))), this.hideRecommendations();\n        }, this.hideRecommendations = function() {\n            this.animateContentOut(this.select(\"recListSelector\"), \"animationCallback\");\n        }, this.handleRecommendationsResponse = function(a, b) {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            b = ((b || {\n            }));\n            var c = b.user_recommendations_html;\n            if (c) {\n                var d = this.currentlyRefreshingUser(b);\n                this.$node.addClass(\"has-content\");\n                if (this.shouldExpandWtf(b)) {\n                    var e = $(c), f = e.filter(this.attr.recSelector).first(), g = e.filter(this.attr.expandedContainerSelector);\n                    ((d && this.animateContentIn(d, \"animationCallback\", $(\"\\u003Cdiv\\u003E\").append(f).html(), {\n                        modOp: \"replaceWith\",\n                        scribeCallback: function() {\n                            ((this.currentlyExpanding ? this.pendingScribe = !0 : this.reportUsersDisplayed(b)));\n                        }.bind(this)\n                    }))), ((g.size() && this.animateExpansion(g, b)));\n                }\n                 else {\n                    var h = this.select(\"recListSelector\"), i;\n                    ((d && (h = d, i = \"replaceWith\"))), this.animateContentIn(h, \"animationCallback\", c, {\n                        modOp: i,\n                        scribeCallback: function() {\n                            this.reportUsersDisplayed(b);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }\n             else this.handleEmptyRefreshResponse(a, b), this.trigger(\"uiGotEmptyRecommendationsResponse\", b);\n        ;\n        ;\n        }, this.handleRefreshError = function(a, b) {\n            this.handleEmptyRefreshResponse(a, b);\n        }, this.handleEmptyRefreshResponse = function(a, b) {\n            if (!this.select(\"recSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var c = this.select(\"recListSelector\"), d = this.currentlyRefreshingUser(b);\n            ((d && (c = d))), this.animateContentIn(c, \"animationCallback\", c.html());\n        }, this.getVisibleIds = function(a, b) {\n            var c = this.select(\"recSelector\").not(a);\n            return ((b || (c = c.not(\".promoted-account\")))), c.map(function() {\n                return $(this).attr(\"data-user-id\");\n            }).toArray();\n        }, this.originalItemCount = function() {\n            return $(this.attr.recListSelector).children(this.attr.recSelector).length;\n        }, this.doAfterFollowAction = function(a, b) {\n            if (((this.disabled || ((b.newState != \"following\"))))) {\n                return;\n            }\n        ;\n        ;\n            var c = ((this.expandBucket ? this.attr.experimentCycleTimeout : this.attr.cycleTimeout));\n            JSBNG__setTimeout(function() {\n                if (this.currentlyRefreshing) {\n                    return;\n                }\n            ;\n            ;\n                var a = this.select(\"recSelector\").filter(((((\"[data-user-id='\" + b.userId)) + \"']\")));\n                if (!a.length) {\n                    return;\n                }\n            ;\n            ;\n                this.cycleRecommendation(a, b);\n            }.bind(this), c);\n        }, this.isInSimilarToSection = function(a) {\n            return !!a.closest(this.attr.similarToContainerSelector).length;\n        }, this.cycleRecommendation = function(a, b) {\n            this.animateContentOut(a, \"animationCallback\");\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 1,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId\n            });\n            ((this.isInSimilarToSection(a) && (c.user_id = this.select(\"similarToContainerSelector\").data(\"similar-to-user-id\")))), this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.animateExpansion = function(a, b) {\n            var c = this.select(\"recListSelector\"), d = this.select(\"expandedContainerSelector\"), e = function() {\n                ((this.pendingScribe && (this.reportUsersDisplayed(b), this.pendingScribe = !1))), this.currentlyExpanding = !1;\n            };\n            ((d.length ? d.html(a.html()) : c.append(a))), ((a.is(\":visible\") ? e.bind(this)() : a.slideDown(\"slow\", e.bind(this))));\n        }, this.animateContentIn = function(a, b, c, d) {\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = ((d || {\n            }));\n            var e = function() {\n                ((a.is(this.attr.recListSelector) && (this.currentlyRefreshing = !1))), a[((d.modOp || \"html\"))](c).animate({\n                    opacity: 1\n                }, this.attr.refreshAnimationDuration), ((d.scribeCallback && d.scribeCallback()));\n            }.bind(this);\n            ((a.is(\":animated\") ? this[b] = e : e()));\n        }, this.animateContentOut = function(a, b) {\n            a.animate({\n                opacity: 0\n            }, {\n                duration: this.attr.refreshAnimationDuration,\n                complete: function() {\n                    ((this[b] && this[b]())), this[b] = null;\n                }.bind(this)\n            });\n        }, this.getItemPosition = function(a) {\n            var b = this.originalItemCount();\n            return ((this.isInSimilarToSection(a) ? ((((b + a.closest(this.attr.recSelector).index())) - 1)) : ((a.closest(this.attr.expandedContainerSelector).length ? ((b + a.closest(this.attr.recSelector).index())) : a.closest(this.attr.recSelector).index()))));\n        }, this.currentlyRefreshingUser = function(a) {\n            return ((((((!a || !a.sourceEventData)) || !a.sourceEventData.refreshUserId)) ? null : this.select(\"recSelector\").filter(((((\"[data-user-id=\" + a.sourceEventData.refreshUserId)) + \"]\")))));\n        }, this.shouldExpandWtf = function(a) {\n            return !!((((a && a.sourceEventData)) && a.sourceEventData.get_replacement));\n        }, this.getUsersDisplayed = function() {\n            var a = this.select(\"recSelector\"), b = [];\n            return a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), b;\n        }, this.reportUsersDisplayed = function(a) {\n            var b = this.getUsersDisplayed();\n            this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            }), this.trigger(\"uiDidGetRecommendations\", a);\n        }, this.verifyInitialRecommendations = function() {\n            ((this.hasRecommendations() ? this.reportUsersDisplayed({\n                initialResults: !0\n            }) : this.getUserRecommendations({\n                initialResults: !0\n            })));\n        }, this.hasRecommendations = function() {\n            return ((this.select(\"recSelector\").length > 0));\n        }, this.storeSelfPromotedAccount = function(a, b) {\n            ((b.html && (this.selfPromotedAccountHtml = b.html)));\n        }, this.replaceUser = function(a, b) {\n            a.tooltip(\"hide\"), ((a.parent().hasClass(\"preview-wrapper\") && a.unwrap())), a.replaceWith(b);\n        }, this.replaceUserAnimation = function(a, b) {\n            a.tooltip(\"hide\"), this.before(\"teardown\", function() {\n                this.replaceUser(a, b);\n            });\n            var c = $(\"\\u003Cdiv/\\u003E\", {\n                class: a.attr(\"class\"),\n                style: a.attr(\"style\")\n            }).addClass(\"preview-wrapper\");\n            a.wrap(c);\n            var d = a.css(\"minHeight\");\n            a.css({\n                minHeight: 0\n            }).slideUp(70, function() {\n                b.attr(\"style\", a.attr(\"style\")), a.replaceWith(b), b.delay(350).slideDown(70, function() {\n                    b.css({\n                        minHeight: d\n                    }), b.unwrap(), JSBNG__setTimeout(function() {\n                        b.tooltip(\"show\"), JSBNG__setTimeout(function() {\n                            b.tooltip(\"hide\");\n                        }, 8000);\n                    }, 500);\n                });\n            });\n        }, this.handlePreviewPromotedAccount = function() {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            if (this.selfPromotedAccountHtml) {\n                var a = $(this.selfPromotedAccountHtml), b = this.select(\"recSelector\").first();\n                this.attr.$accountPriorToPreview = b.clone(), this.replaceUserAnimation(b, a), a.JSBNG__find(\"a\").JSBNG__on(\"click\", function(a) {\n                    a.preventDefault(), a.stopPropagation();\n                });\n            }\n        ;\n        ;\n        }, this.maybeRestoreAccountPriorToPreview = function() {\n            var a = this.attr.$accountPriorToPreview;\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            this.replaceUser(this.select(\"recSelector\").first(), a), this.attr.$accountPriorToPreview = null;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataDidGetUserRecommendations\", this.handleRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToGetUserRecommendations\", this.handleRefreshError), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.doAfterFollowAction), this.JSBNG__on(\"click\", {\n                refreshRecsSelector: this.refreshRecommendations\n            }), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.storeSelfPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdPreviewPromotedAccount\", this.handlePreviewPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdDismissPrompt\", this.maybeRestoreAccountPriorToPreview), ((this.attr.wtfRefreshOnNewTweets && this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecsOnNewTweets uiPageChanged\", this.refreshRecommendations)));\n        });\n    };\n;\n    var utils = require(\"core/utils\");\n    require(\"$lib/bootstrap_tooltip.js\"), module.exports = withUserRecommendations;\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_dashboard\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/utils\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowDashboard() {\n        this.defaultAttrs({\n            dashboardSelector: \".dashboard-user-recommendations\",\n            recUserSelector: \".dashboard-user-recommendations .js-actionable-user\",\n            dismissRecSelector: \".dashboard-user-recommendations .js-actionable-user .js-action-dismiss\",\n            viewAllSelector: \".js-view-all-link\",\n            interestsSelector: \".js-interests-link\",\n            findFriendsSelector: \".js-find-friends-link\"\n        }), this.dismissRecommendation = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyDismissing = !0;\n                var c = $(a.target).closest(this.attr.recSelector), d = c.attr(\"data-user-id\");\n                this.trigger(\"uiDismissUserRecommendation\", {\n                    recommended_user_id: d,\n                    impressionId: c.attr(\"data-impression-id\"),\n                    excluded: [d,],\n                    visible: this.getVisibleIds(c),\n                    token: c.attr(\"data-feedback-token\"),\n                    dismissable: this.attr.wtfOptions.dismissable,\n                    refreshUserId: d\n                }), this.animateContentOut(c, \"animationCallback\");\n            }\n        ;\n        ;\n        }, this.handleDismissResponse = function(a, b) {\n            b = ((b || {\n            })), this.currentlyDismissing = !1;\n            if (b.user_recommendations_html) {\n                var c = this.currentlyRefreshingUser(b), d = $(b.user_recommendations_html), e = this.getItemPosition(c);\n                this.animateContentIn(c, \"animationCallback\", b.user_recommendations_html, {\n                    modOp: \"replaceWith\",\n                    scribeCallback: function() {\n                        var a = {\n                            oldUser: this.interactionData(c, {\n                                position: e\n                            })\n                        };\n                        ((d.length && (a.newUser = this.interactionData(d, {\n                            position: e\n                        })))), this.trigger(\"uiDidDismissUserRecommendation\", a);\n                    }.bind(this)\n                });\n            }\n             else this.handleEmptyDismissResponse();\n        ;\n        ;\n        }, this.handleDismissError = function(a, b) {\n            var c = this.currentlyRefreshingUser(b);\n            ((c && c.remove())), this.handleEmptyDismissResponse();\n        }, this.handleEmptyDismissResponse = function() {\n            ((this.select(\"recSelector\").length || (this.trigger(\"uiShowMessage\", {\n                message: _(\"You have no more recommendations today!\")\n            }), this.$node.remove())));\n        }, this.enable = function() {\n            this.disabled = !1, this.refreshRecommendations({\n                type: \"empty-timeline\"\n            }), this.$node.show();\n        }, this.initRecommendations = function() {\n            ((this.disabled ? this.$node.hide() : this.verifyInitialRecommendations()));\n        }, this.reset = function() {\n            ((((this.currentlyRefreshing || this.currentlyDismissing)) ? this.select(\"dashboardSelector\").html(\"\") : (this.select(\"dashboardSelector\").css(\"opacity\", 1), this.select(\"recUserSelector\").css(\"opacity\", 1))));\n        }, this.expandWhoToFollow = function(a, b) {\n            this.currentlyExpanding = !0;\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 3,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId,\n                get_replacement: !0\n            });\n            this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.triggerLinkClickScribes = function(a) {\n            var b = this, c = {\n                interests_link: this.attr.interestsSelector,\n                import_link: this.attr.findFriendsSelector,\n                view_all_link: this.attr.viewAllSelector,\n                refresh_link: this.attr.refreshRecsSelector\n            }, d = $(a.target);\n            $.each(c, function(a, c) {\n                ((d.is(c) && b.trigger(JSBNG__document, \"uiClickedWtfLink\", {\n                    element: a\n                })));\n            });\n        }, this.after(\"initialize\", function() {\n            this.disabled = ((this.attr.wtfOptions ? this.attr.wtfOptions.disabled : !1)), this.JSBNG__on(JSBNG__document, \"dataDidDismissRecommendation\", this.handleDismissResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToDismissUserRecommendation\", this.handleDismissError), this.JSBNG__on(JSBNG__document, \"uiDidHideEmptyTimelineModule\", this.enable), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.reset), this.JSBNG__on(\"click\", {\n                dismissRecSelector: this.dismissRecommendation,\n                interestsSelector: this.triggerLinkClickScribes,\n                viewAllSelector: this.triggerLinkClickScribes,\n                findFriendsSelector: this.triggerLinkClickScribes,\n                refreshRecsSelector: this.triggerLinkClickScribes\n            }), this.around(\"cycleRecommendation\", function(a, b, c) {\n                ((((((((this.attr.wtfOptions.display_location === \"wtf-component\")) && !this.currentlyExpanding)) && ((this.getVisibleIds(null, !0).length <= 3)))) ? this.expandWhoToFollow(b, c) : a(b, c)));\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), utils = require(\"core/utils\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowDashboard, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_timeline\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowTimeline() {\n        this.defaultAttrs({\n            doneButtonSelector: \".empty-timeline .js-done\",\n            headerTextSelector: \".empty-timeline .header-text\",\n            targetFollowingCount: 5,\n            titles: {\n                0: _(\"Here are some people you might enjoy following.\"),\n                1: _(\"Victory! That\\u2019s 1.\"),\n                2: _(\"Congratulations! That\\u2019s 2.\"),\n                3: _(\"Excellent! You\\u2019re making progress.\"),\n                4: _(\"Good work! You\\u2019ve almost reached 5.\"),\n                5: _(\"Yee-haw! That\\u2019s 5 follows. Now you\\u2019re on a roll.\")\n            }\n        }), this.dismissAllRecommendations = function(a, b) {\n            var c = $(b.el);\n            if (c.is(\":disabled\")) {\n                return;\n            }\n        ;\n        ;\n            var d = this.getVisibleIds();\n            this.trigger(\"uiDidDismissEmptyTimelineRecommendations\", {\n                userIds: d\n            }), this.trigger(\"uiDidHideEmptyTimelineModule\"), this.$node.remove();\n        }, this.refreshDoneButtonState = function() {\n            if (((this.followingCount >= this.attr.targetFollowingCount))) {\n                var a = this.select(\"doneButtonSelector\");\n                a.attr(\"disabled\", !1), this.trigger(\"uiDidReachTargetFollowingCount\");\n            }\n        ;\n        ;\n        }, this.refreshTitle = function() {\n            var a = this.attr.titles[this.followingCount.toString()];\n            this.select(\"headerTextSelector\").text(a);\n        }, this.refreshTimeline = function() {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            });\n        }, this.increaseFollowingCount = function() {\n            this.followingCount++;\n        }, this.decreaseFollowingCount = function() {\n            this.followingCount--;\n        }, this.initRecommendations = function() {\n            this.followingCount = this.attr.wtfOptions.followingCount, this.verifyInitialRecommendations();\n        }, this.after(\"initialize\", function() {\n            this.attr.wtfOptions = ((this.attr.emptyTimelineOptions || {\n            })), this.JSBNG__on(JSBNG__document, \"uiFollowAction\", this.increaseFollowingCount), this.JSBNG__on(JSBNG__document, \"uiUnfollowAction\", this.decreaseFollowingCount), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshDoneButtonState), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTitle), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTimeline), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(\"click\", {\n                doneButtonSelector: this.dismissAllRecommendations\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowTimeline, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/data/who_to_follow\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToFollowData() {\n        this.defaults = {\n            maxExcludedRecsInLocalStorage: 100,\n            endpoints: {\n                users: {\n                    url: \"/i/users/recommendations\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetUserRecommendations\",\n                    errorEvent: \"dataFailedToGetUserRecommendations\"\n                },\n                dismiss: {\n                    url: \"/i/users/recommendations/hide\",\n                    method: \"POST\",\n                    successEvent: \"dataDidDismissRecommendation\",\n                    errorEvent: \"dataFailedToDismissUserRecommendation\"\n                },\n                promoted_self: {\n                    url: \"/i/users/promoted_self\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetSelfPromotedAccount\",\n                    errorEvent: \"dataFailedToGetSelfPromotedAccount\"\n                }\n            }\n        }, this.refreshEndpoint = function(a) {\n            return this.hitEndpoint(a, {\n                \"Cache-Control\": \"max-age=0\",\n                Pragma: \"no-cache\"\n            });\n        }, this.hitEndpoint = function(a, b) {\n            var b = ((b || {\n            })), c = this.defaults.endpoints[a];\n            return function(a, d) {\n                d = ((d || {\n                })), d.excluded = ((d.excluded || []));\n                var e = ((d.visible || []));\n                delete d.visible, this.JSONRequest({\n                    type: c.method,\n                    url: c.url,\n                    headers: b,\n                    dataType: \"json\",\n                    data: utils.merge(d, {\n                        excluded: this.storage.pushAll(\"excluded\", d.excluded).concat(e).join(\",\")\n                    }),\n                    eventData: d,\n                    success: c.successEvent,\n                    error: c.errorEvent\n                }, c.method);\n            }.bind(this);\n        }, this.excludeUsers = function(a, b) {\n            this.storage.pushAll(\"excluded\", b.userIds), this.trigger(\"dataDidExcludeUserRecommendations\", b);\n        }, this.excludeFollowed = function(a, b) {\n            b = ((b || {\n            })), ((((((b.newState === \"following\")) && b.userId)) && this.storage.push(\"excluded\", b.userId)));\n        }, this.after(\"initialize\", function(a) {\n            var b = customStorage({\n                withArray: !0,\n                withMaxElements: !0,\n                withUniqueElements: !0\n            });\n            this.storage = new b(\"excluded_wtf_recs\"), this.storage.setMaxElements(\"excluded\", this.attr.maxExcludedRecsInLocalStorage), this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecommendations\", this.refreshEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiGetUserRecommendations\", this.hitEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiDismissUserRecommendation\", this.hitEndpoint(\"dismiss\")), this.JSBNG__on(JSBNG__document, \"uiDidDismissEmptyTimelineRecommendations\", this.excludeUsers), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.excludeFollowed), this.JSBNG__on(JSBNG__document, \"uiGotPromptbirdDashboardProfile\", this.hitEndpoint(\"promoted_self\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\"), WhoToFollowData = defineComponent(whoToFollowData, withData);\n    module.exports = WhoToFollowData;\n});\ndefine(\"app/data/who_to_follow_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",\"app/data/with_interaction_data_scribe\",\"core/utils\",], function(module, require, exports) {\n    function whoToFollowScribe() {\n        this.defaultAttrs({\n            userSelector: \".js-actionable-user\",\n            itemType: \"user\"\n        }), this.scribeDismissRecommendation = function(a, b) {\n            this.scribeInteraction(\"dismiss\", b.oldUser), ((b.newUser && this.scribeInteraction({\n                element: \"replace\",\n                action: \"results\"\n            }, b.newUser, {\n                referring_event: \"replace\"\n            })));\n        }, this.scribeRecommendationResults = function(a, b) {\n            var c = [];\n            ((a.emptyResponse || this.$node.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                c.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this))));\n            var d = ((a.emptyResponse ? \"no_results\" : \"results\"));\n            this.scribeInteractiveResults({\n                element: b,\n                action: d\n            }, c, a, {\n                referring_event: b\n            });\n        }, this.scribeRecommendations = function(a, b) {\n            var c = ((b.sourceEventData || {\n            })), d = ((b.initialResults || c.initialResults));\n            ((d ? (this.scribeRecommendationResults(b, \"initial\"), ((b.emptyResponse || this.scribeRecommendationImpression(b)))) : (this.scribe({\n                action: \"refresh\"\n            }, b, {\n                event_info: c.refreshType\n            }), this.scribeRecommendationResults(b, \"newer\"))));\n        }, this.scribeEmptyRecommendationsResponse = function(a, b) {\n            this.scribeRecommendations(a, utils.merge(b, {\n                emptyResponse: !0\n            }));\n        }, this.scribeRecommendationImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.scribeLinkClicks = function(a, b) {\n            this.scribe({\n                component: \"user_recommendations\",\n                element: b.element,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiDidDismissUserRecommendation\", this.scribeDismissRecommendation), this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", this.scribeRecommendations), this.JSBNG__on(JSBNG__document, \"uiGotEmptyRecommendationsResponse\", this.scribeEmptyRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"uiClickedWtfLink\", this.scribeLinkClicks);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(whoToFollowScribe, withInteractionData, withInteractionDataScribe);\n});\ndefine(\"app/ui/profile/recent_connections_module\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function recentConnectionsModule() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(recentConnectionsModule, withUserActions, withItemActions);\n});\ndefine(\"app/ui/promptbird/with_invite_contacts\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInviteContacts() {\n        this.defaultAttrs({\n            inviteContactsSelector: \".invite_contacts_prompt.prompt + .promptbird-action-bar .call-to-action\"\n        }), this.doInviteContacts = function(b, c) {\n            b.preventDefault(), this.trigger(\"uiPromptbirdShowInviteContactsDialog\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                inviteContactsSelector: this.doInviteContacts\n            });\n        });\n    };\n;\n    module.exports = withInviteContacts;\n});\ndefine(\"app/ui/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/tweet_dialog\",], function(module, require, exports) {\n    function promptbirdPrompt() {\n        this.defaultAttrs({\n            promptSelector: \".JSBNG__prompt\",\n            languageSelector: \".language\",\n            callToActionSelector: \".call-to-action\",\n            callToActionDismissSelector: \".call-to-action.dismiss-prompt\",\n            delayedDismissSelector: \".js-follow-btn\",\n            dismissSelector: \"a.js-dismiss\",\n            setLanguageSelector: \".call-to-action.set-language\",\n            oneClickImportSelector: \".call-to-action.one-click-import-button\",\n            inlineImportButtonSelector: \".service-links a.service-link\",\n            promptMentionTweetComposeSelector: \".show_tweet_dialog.promptbird-action-bar a.call-to-action\",\n            deviceFollowSelector: \".device-follow.promptbird-action-bar a.call-to-action\",\n            dashboardProfilePromptSelector: \".gain_followers_prompt\",\n            previewPromotedAccountSelector: \".gain_followers_prompt .preview-promoted-account\",\n            followPromptCallToActionSelector: \"div.promptbird-action-bar.user-actions.not-following \\u003E button.js-follow-btn\"\n        }), this.importCallbackUrl = function() {\n            return ((((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host)) + \"/who_to_follow/matches\"));\n        }, this.promptLanguage = function() {\n            return this.select(\"languageSelector\").attr(\"data-language\");\n        }, this.dismissPrompt = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.doPromptMentionTweetCompose = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"a.call-to-action\").data(\"screenname\"), d = this.$node.JSBNG__find(\"a.call-to-action\").data(\"title\");\n            this.trigger(\"uiPromptMentionTweetCompose\", {\n                screenName: c,\n                title: d,\n                scribeContext: this.scribeContext()\n            });\n        }, this.doDeviceFollow = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\".call-to-action\").data(\"user-id\");\n            this.trigger(\"uiDeviceNotificationsOnAction\", {\n                userId: c,\n                scribeContext: this.scribeContext()\n            });\n        }, this.delayedDismissPrompt = function(b, c) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                prompt_id: this.$node.data(\"prompt-id\")\n            });\n            var d = this.$node;\n            JSBNG__setTimeout(function() {\n                d.remove();\n            }, 1000);\n        }, this.setLanguage = function(a, b) {\n            this.trigger(\"uiPromptbirdSetLanguage\", {\n                lang: this.promptLanguage()\n            });\n        }, this.doOneClickImport = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"span.one-click-import-button\").data(\"email\"), d = ((\"/invitations/oauth_launch?email=\" + encodeURIComponent(c))), e = this.$node.data(\"prompt-id\"), b = {\n                triggerEvent: !0,\n                url: d\n            };\n            ((((e === 46)) && (b.width = 880, b.height = 550))), this.trigger(\"uiPromptbirdDoOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target);\n            this.trigger(\"uiPromptbirdDoInlineContactImport\", {\n                url: c.data(\"url\"),\n                width: c.data(\"width\"),\n                height: c.data(\"height\"),\n                popup: c.data(\"popup\"),\n                serviceName: c.JSBNG__find(\"strong.service-name\").data(\"service-id\"),\n                callbackUrl: this.importCallbackUrl()\n            });\n        }, this.clickAndDismissPrompt = function(a, b) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.generateClickEvent = function(a, b) {\n            this.trigger(\"uiPromptbirdClick\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.hide();\n        }, this.clickPreviewPromotedAccount = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdPreviewPromotedAccount\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.showDashboardProfilePrompt = function() {\n            this.$node.slideDown(\"fast\"), this.trigger(\"uiShowDashboardProfilePromptbird\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.maybeInitDashboardProfilePrompt = function() {\n            if (((this.select(\"dashboardProfilePromptSelector\").length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", function() {\n                this.trigger(\"uiGotPromptbirdDashboardProfile\"), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.showDashboardProfilePrompt);\n            });\n        }, this.scribeContext = function() {\n            return {\n                component: ((\"promptbird_\" + this.$node.data(\"prompt-id\")))\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                callToActionSelector: this.generateClickEvent,\n                callToActionDismissSelector: this.clickAndDismissPrompt,\n                dismissSelector: this.dismissPrompt,\n                delayedDismissSelector: this.delayedDismissPrompt,\n                setLanguageSelector: this.setLanguage,\n                oneClickImportSelector: this.doOneClickImport,\n                inlineImportButtonSelector: this.doInlineContactImport,\n                previewPromotedAccountSelector: this.clickPreviewPromotedAccount,\n                promptMentionTweetComposeSelector: this.doPromptMentionTweetCompose,\n                followPromptCallToActionSelector: this.generateClickEvent,\n                deviceFollowSelector: this.doDeviceFollow\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdInviteContactsSuccess\", this.dismissPrompt), this.maybeInitDashboardProfilePrompt();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInviteContacts = require(\"app/ui/promptbird/with_invite_contacts\"), tweetDialog = require(\"app/ui/tweet_dialog\");\n    module.exports = defineComponent(promptbirdPrompt, withInviteContacts);\n});\ndefine(\"app/utils/oauth_popup\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(a) {\n        var b = a.url, c = ((((b.indexOf(\"?\") == -1)) ? \"?\" : \"&\"));\n        ((a.callbackUrl ? b += ((((c + \"callback_hash=\")) + encodeURIComponent(a.callbackUrl))) : ((a.triggerEvent && (b += ((c + \"trigger_event=true\")))))));\n        var d = $(window), e = ((((window.JSBNG__screenY || window.JSBNG__screenTop)) || 0)), f = ((((window.JSBNG__screenX || window.JSBNG__screenLeft)) || 0)), g = ((((((d.height() - 500)) / 2)) + e)), h = ((((((d.width() - 500)) / 2)) + f)), a = {\n            width: ((a.width ? a.width : 500)),\n            height: ((a.height ? a.height : 500)),\n            JSBNG__top: g,\n            left: h,\n            JSBNG__toolbar: \"no\",\n            JSBNG__location: \"yes\"\n        }, i = $.param(a).replace(/&/g, \",\");\n        window.open(b, \"twitter_oauth\", i).JSBNG__focus();\n    };\n});\ndefine(\"app/data/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function promptbirdData() {\n        this.languageChanged = function(a, b) {\n            window.JSBNG__location.reload();\n        }, this.changeLanguage = function(a, b) {\n            var c = {\n                lang: b.lang\n            };\n            this.post({\n                url: \"/settings/account/set_language\",\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdLanguageChangeSuccess\",\n                error: \"dataPromptbirdLanguageChangeFailure\"\n            });\n        }, this.dismissPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/dismiss_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptDismissed\",\n                error: \"dataPromptbirdPromptDismissalError\"\n            });\n        }, this.clickPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/click_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptClicked\",\n                error: \"dataPromptbirdPromptClickError\"\n            });\n        }, this.doOneClickImport = function(a, b) {\n            oauthPopup(b), this.trigger(\"dataPromptbirdDidOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            var c = b.url;\n            ((c && ((b.popup ? oauthPopup({\n                url: c,\n                width: b.width,\n                height: b.height,\n                callbackUrl: b.callbackUrl\n            }) : window.open(c, \"_blank\").JSBNG__focus()))));\n        }, this.onPromptMentionTweetCompose = function(a, b) {\n            this.trigger(\"uiOpenTweetDialog\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiPromptbirdSetLanguage\", this.changeLanguage), this.JSBNG__on(\"uiPromptbirdDismissPrompt\", this.dismissPrompt), this.JSBNG__on(\"uiPromptbirdClick\", this.clickPrompt), this.JSBNG__on(\"uiPromptbirdDoOneClickImport\", this.doOneClickImport), this.JSBNG__on(\"dataPromptbirdLanguageChangeSuccess\", this.languageChanged), this.JSBNG__on(\"uiPromptbirdDoInlineContactImport\", this.doInlineContactImport), this.JSBNG__on(\"uiPromptMentionTweetCompose\", this.onPromptMentionTweetCompose);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = defineComponent(promptbirdData, withData);\n});\ndefine(\"app/data/promptbird_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function promptbirdScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiPromptbirdClick\", {\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiPromptbirdPreviewPromotedAccount\", {\n                action: \"preview\"\n            }), this.scribeOnEvent(\"uiPromptbirdDismissPrompt\", {\n                action: \"dismiss\"\n            }), this.scribeOnEvent(\"uiShowDashboardProfilePromptbird\", {\n                action: \"show\"\n            }), this.scribeOnEvent(\"uiPromptMentionTweetCompose\", {\n                action: \"show\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(promptbirdScribe, withScribe);\n});\ndefine(\"app/ui/with_select_all\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withSelectAll() {\n        this.defaultAttrs({\n        }), this.checkboxChanged = function(a) {\n            var b = this.select(\"checkboxSelector\"), c = this.select(\"checkedCheckboxSelector\");\n            this.select(\"actionButtonSelector\").attr(\"disabled\", ((c.length == 0))), this.select(\"selectAllSelector\").attr(\"checked\", ((c.length == b.length))), this.trigger(\"uiListSelectionChanged\");\n        }, this.selectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"checkboxSelector\").attr(\"checked\", a.is(\":checked\")), this.select(\"actionButtonSelector\").attr(\"disabled\", !a.is(\":checked\")), this.trigger(\"uiListSelectionChanged\");\n        }, this.after(\"initialize\", function() {\n            this.attr.checkedCheckboxSelector = ((this.attr.checkboxSelector + \":checked\")), this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            });\n        });\n    };\n;\n    module.exports = withSelectAll;\n});\ndefine(\"app/ui/who_to_follow/with_invite_messages\", [\"module\",\"require\",\"exports\",\"core/i18n\",], function(module, require, exports) {\n    function withInviteMessages() {\n        this.defaultAttrs({\n            showMessageOnSuccess: !0\n        }), this.showSuccessMessage = function(a, b) {\n            var c = this.select(\"actionButtonSelector\"), d = c.data(\"done-href\");\n            if (d) {\n                this.trigger(\"uiNavigate\", {\n                    href: d\n                });\n                return;\n            }\n        ;\n        ;\n            var e, f;\n            ((b ? (e = b.invited.length, f = _(\"We let {{count}} of your contacts know about Twitter.\", {\n                count: e\n            })) : (e = -1, f = _(\"We let your contacts know about Twitter.\")))), ((this.attr.showMessageOnSuccess && this.trigger(\"uiShowMessage\", {\n                message: f\n            }))), this.trigger(\"uiInviteFinished\", {\n                count: e\n            });\n        }, this.showFailureMessage = function(a, b) {\n            var c = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            switch (c) {\n              case 47:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"We couldn't send invitations to any of those addresses.\")\n                });\n                break;\n              case 37:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"There was an error emailing your contacts. Please try again later.\")\n                });\n                break;\n              default:\n                this.showSuccessMessage(a);\n            };\n        ;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess\", this.showSuccessMessage), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.showFailureMessage);\n        });\n    };\n;\n    var _ = require(\"core/i18n\");\n    module.exports = withInviteMessages;\n});\ndefine(\"app/ui/who_to_follow/with_invite_preview\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInvitePreview() {\n        this.defaultAttrs({\n            previewInviteSelector: \".js-preview-invite\"\n        }), this.previewInvite = function(a, b) {\n            a.preventDefault(), window.open(\"/invitations/email_preview\", \"invitation_email_preview\", \"height=550,width=740\"), this.trigger(\"uiPreviewInviteOpened\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                previewInviteSelector: this.previewInvite\n            });\n        });\n    };\n;\n    module.exports = withInvitePreview;\n});\ndefine(\"app/ui/who_to_follow/with_unmatched_contacts\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",], function(module, require, exports) {\n    function withUnmatchedContacts() {\n        compose.mixin(this, [withSelectAll,withInviteMessages,withInvitePreview,]), this.defaultAttrs({\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            actionButtonSelector: \".js-invite\"\n        }), this.inviteChecked = function() {\n            var a = [], b = this.select(\"checkedCheckboxSelector\");\n            b.each(function() {\n                var b = $(this), c = b.closest(\"label\").JSBNG__find(\".contact-item-name\").text(), d = {\n                    email: b.val()\n                };\n                ((((c != d.email)) && (d.JSBNG__name = c))), a.push(d);\n            }), this.select(\"actionButtonSelector\").attr(\"disabled\", !0), this.trigger(\"uiInviteContacts\", {\n                invitable: this.select(\"checkboxSelector\").length,\n                contacts: a,\n                scribeContext: {\n                    component: this.attr.inviteContactsComponent\n                }\n            });\n        }, this.reenableActionButton = function() {\n            this.select(\"actionButtonSelector\").attr(\"disabled\", !1);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            }), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.inviteChecked\n            }), this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess dataInviteContactsFailure\", this.reenableActionButton);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withSelectAll = require(\"app/ui/with_select_all\"), withInviteMessages = require(\"app/ui/who_to_follow/with_invite_messages\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\");\n    module.exports = withUnmatchedContacts;\n});\ndefine(\"app/ui/dialogs/promptbird_invite_contacts_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function promptbirdInviteContactsDialog() {\n        this.defaultAttrs({\n            contactSelector: \".contact-item\",\n            inviteContactsComponent: \"invite_contacts_promptbird\"\n        }), this.contactCheckboxChanged = function(a) {\n            var b = $(a.target);\n            b.closest(this.attr.contactSelector).toggleClass(\"selected\", b.is(\":checked\"));\n        }, this.contactSelectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"contactSelector\").toggleClass(\"selected\", a.is(\":checked\"));\n        }, this.inviteSuccess = function(a, b) {\n            this.close(), this.trigger(\"uiPromptbirdInviteContactsSuccess\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.contactCheckboxChanged,\n                selectAllSelector: this.contactSelectAllChanged\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdShowInviteContactsDialog\", this.open), this.JSBNG__on(JSBNG__document, \"uiInviteFinished\", this.inviteSuccess), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(promptbirdInviteContactsDialog, withDialog, withPosition, withUnmatchedContacts);\n});\ndefine(\"app/data/contact_import\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function contactImportData() {\n        this.contactImportStatus = function(a, b) {\n            this.get({\n                url: \"/who_to_follow/import/status\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataContactImportStatusSuccess\",\n                error: \"dataContactImportStatusFailure\"\n            });\n        }, this.contactImportFollow = function(a, b) {\n            var c = {\n                user_ids: ((b.includeIds || [])),\n                unchecked_user_ids: ((b.excludeIds || []))\n            };\n            this.post({\n                url: \"/find_sources/contacts/follow_some.json\",\n                data: c,\n                eventData: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                success: this.handleContactImportSuccess.bind(this),\n                error: \"dataContactImportFollowFailure\"\n            });\n        }, this.handleContactImportSuccess = function(a) {\n            a.followed_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"following\"\n                });\n            }.bind(this)), a.requested_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"pending\"\n                });\n            }.bind(this)), this.trigger(\"dataContactImportFollowSuccess\", a);\n        }, this.inviteContacts = function(a, b) {\n            var c = b.contacts.map(function(a) {\n                return ((a.JSBNG__name ? ((((((((\"\\\"\" + a.JSBNG__name.replace(/\"/g, \"\\\\\\\"\"))) + \"\\\" \\u003C\")) + a.email)) + \"\\u003E\")) : a.email));\n            });\n            this.post({\n                url: \"/users/send_invites_by_email\",\n                data: {\n                    addresses: c.join(\",\"),\n                    source: \"contact_import\"\n                },\n                eventData: b,\n                success: \"dataInviteContactsSuccess\",\n                error: \"dataInviteContactsFailure\"\n            });\n        }, this.wipeAddressbook = function(a, b) {\n            this.post({\n                url: \"/users/wipe_addressbook.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                data: {\n                },\n                eventData: b,\n                success: \"dataWipeAddressbookSuccess\",\n                error: \"dataWipeAddressbookFailure\"\n            });\n        }, this.unmatchedContacts = function(a, b) {\n            this.get({\n                url: \"/welcome/unmatched_contacts\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataUnmatchedContactsSuccess\",\n                error: \"dataUnmatchedContactsFailure\"\n            });\n        }, this.getMatchesModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataContactImportMatchesSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/matches\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataContactImportMatchesFailure\"\n            });\n        }, this.inviteModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataInviteModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/invite\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsContactImportStatus\", this.contactImportStatus), this.JSBNG__on(JSBNG__document, \"uiContactImportFollow\", this.contactImportFollow), this.JSBNG__on(JSBNG__document, \"uiWantsUnmatchedContacts\", this.unmatchedContacts), this.JSBNG__on(JSBNG__document, \"uiInviteContacts\", this.inviteContacts), this.JSBNG__on(JSBNG__document, \"uiWantsAddressbookWiped\", this.wipeAddressbook), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches\", this.getMatchesModule), this.JSBNG__on(JSBNG__document, \"uiWantsInviteModule\", this.inviteModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(contactImportData, withData);\n});\ndefine(\"app/data/contact_import_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function contactImportScribe() {\n        this.scribeServiceLaunch = function(a, b) {\n            this.scribe({\n                component: \"import_service_stream\",\n                action: \"launch_service\"\n            }, {\n                query: b.service\n            });\n        }, this.scribePreviewInviteOpened = function(a, b) {\n            this.scribe({\n                component: \"invite_friends\",\n                element: \"preview_invite_link\",\n                action: \"click\"\n            });\n        }, this.scribeFollowSuccess = function(a, b) {\n            this.scribe({\n                component: \"stream_header\",\n                action: \"follow\"\n            }, {\n                item_count: b.followed_ids.length,\n                item_ids: b.followed_ids,\n                event_value: b.followed_ids.length,\n                event_info: \"follow_all\"\n            });\n        }, this.scribeInvitationSuccess = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext;\n            ((((c.invitable !== undefined)) && this.scribe(utils.merge({\n            }, d, {\n                action: \"invitable\"\n            }), {\n                item_count: c.invitable\n            }))), this.scribe(utils.merge({\n            }, d, {\n                action: \"invited\"\n            }), {\n                item_count: c.contacts.length,\n                event_value: c.contacts.length\n            });\n        }, this.scribeInvitationFailure = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext, e = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            this.scribe(utils.merge({\n            }, d, {\n                action: \"error\"\n            }), {\n                item_count: c.contacts.length,\n                status_code: e\n            });\n        }, this.scribeLinkClick = function(a, b) {\n            var c = a.target.className;\n            ((((c.indexOf(\"find-friends-btn\") != -1)) && this.scribe({\n                component: \"empty_timeline\",\n                element: \"find_friends_link\",\n                action: \"click\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiImportServiceLaunched\", this.scribeServiceLaunch), this.JSBNG__on(\"uiPreviewInviteOpened\", this.scribePreviewInviteOpened), this.JSBNG__on(\"dataContactImportFollowSuccess\", this.scribeFollowSuccess), this.JSBNG__on(\"dataInviteContactsSuccess\", this.scribeInvitationSuccess), this.JSBNG__on(\"dataInviteContactsFailure\", this.scribeInvitationFailure), this.JSBNG__on(\"click\", this.scribeLinkClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(contactImportScribe, withScribe);\n});\ndefine(\"app/ui/with_import_services\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function withImportServices() {\n        this.launchService = function(a) {\n            var b = $(a.target).closest(this.attr.launchServiceSelector);\n            this.oauthPopup({\n                url: b.data(\"url\"),\n                triggerEvent: !0,\n                width: b.data(\"width\"),\n                height: b.data(\"height\")\n            }), this.trigger(\"uiImportServiceLaunched\", {\n                service: b.data(\"service\")\n            });\n        }, this.importDeniedFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"You denied Twitter's access to your contact information.\")\n            });\n        }, this.importMissingFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"An error occurred validating your credentials.\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.oauthPopup = oauthPopup, this.JSBNG__on(JSBNG__document, \"uiOauthImportDenied\", this.importDeniedFailure), this.JSBNG__on(JSBNG__document, \"uiOauthImportMissing\", this.importMissingFailure), this.JSBNG__on(\"click\", {\n                launchServiceSelector: this.launchService\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = withImportServices;\n});\ndefine(\"app/ui/who_to_follow/import_services\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_import_services\",], function(module, require, exports) {\n    function importServices() {\n        this.defaultAttrs({\n            launchServiceSelector: \".js-service-row\",\n            matchesHref: \"/who_to_follow/matches\",\n            redirectOnSuccess: !0\n        }), this.importSuccess = function() {\n            this.trigger(\"uiOpenImportLoadingDialog\"), this.startPolling();\n        }, this.dialogCancelled = function() {\n            this.stopPolling();\n        }, this.startPolling = function() {\n            this.pollingCount = 0, this.interval = window.JSBNG__setInterval(this.checkForContacts.bind(this), 3000);\n        }, this.stopPolling = function() {\n            ((this.interval && (window.JSBNG__clearInterval(this.interval), this.interval = null))), this.trigger(\"uiCloseDialog\");\n        }, this.checkForContacts = function() {\n            ((((this.pollingCount++ > 15)) ? (this.trigger(\"uiShowError\", {\n                message: _(\"Loading seems to be taking a while. Please wait a moment and try again.\")\n            }), this.stopPolling()) : this.trigger(\"uiWantsContactImportStatus\")));\n        }, this.hasStatus = function(a, b) {\n            ((b.done && (this.stopPolling(), ((b.error ? this.trigger(\"uiShowError\", {\n                message: b.message\n            }) : ((this.attr.redirectOnSuccess ? this.trigger(\"uiNavigate\", {\n                href: this.attr.matchesHref\n            }) : this.trigger(\"uiWantsContactImportMatches\"))))))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiOauthImportSuccess\", this.importSuccess), this.JSBNG__on(JSBNG__document, \"uiImportLoadingDialogCancelled\", this.dialogCancelled), this.JSBNG__on(JSBNG__document, \"dataContactImportStatusSuccess\", this.hasStatus), ((a.hasUserCompletionModule && (this.attr.matchesHref += \"?from_num=1\")));\n        }), this.after(\"teardown\", function() {\n            this.stopPolling();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withImportServices = require(\"app/ui/with_import_services\");\n    module.exports = defineComponent(importServices, withImportServices);\n});\ndefine(\"app/ui/who_to_follow/import_loading_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function importLoadingDialog() {\n        this.defaultAttrs({\n            closeSelector: \".modal-close\"\n        }), this.after(\"afterClose\", function() {\n            this.trigger(\"uiImportLoadingDialogCancelled\");\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiOpenImportLoadingDialog\", this.open);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(importLoadingDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/dashboard_tweetbox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function dashboardTweetbox() {\n        this.defaultAttrs({\n            hasDefaultText: !0,\n            tweetFormSelector: \".tweet-form\",\n            defaultTextFrom: \"data-screen-name\",\n            prependText: \"@\"\n        }), this.openTweetBox = function() {\n            var a = this.attr.prependText, b = ((this.$node.attr(this.attr.defaultTextFrom) || \"\")), c = this.select(\"tweetFormSelector\");\n            this.trigger(c, \"uiInitTweetbox\", utils.merge({\n                draftTweetId: this.attr.draftTweetId,\n                condensable: !0,\n                condensedText: ((a + b)),\n                defaultText: ((this.attr.hasDefaultText ? ((((a + b)) + \" \")) : \"\"))\n            }, {\n                eventData: this.attr.eventData\n            }));\n        }, this.after(\"initialize\", function() {\n            this.openTweetBox();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(dashboardTweetbox);\n});\ndefine(\"app/utils/boomerang\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/clock\",\"app/data/scribe_transport\",], function(module, require, exports) {\n    function Boomerang() {\n        this.initializeBoomerang = function() {\n            var a = {\n                allow_ssl: !0,\n                autorun: !1,\n                user_ip: this.attr.ip,\n                BW: {\n                    base_url: this.attr.baseUrl,\n                    cookie: ((this.attr.force ? null : \"BA\"))\n                }\n            }, b = function(a) {\n                ((((((a && a.bw)) || this.attr.inTest)) && this.scribeBoomerangResults(a)));\n                try {\n                    delete window.BOOMR;\n                } catch (b) {\n                    window.BOOMR = undefined;\n                };\n            ;\n            }.bind(this);\n            using(\"app/utils/boomerang_lib\", function() {\n                delete BOOMR.plugins.RT, BOOMR.init(a), BOOMR.subscribe(\"before_beacon\", b), clock.setTimeoutEvent(\"boomerangStart\", 10000);\n            });\n        }, this.scribeBoomerangResults = function(a) {\n            var b = parseInt(((a.bw / 1024)), 10), c = parseInt(((((a.bw_err * 100)) / a.bw)), 10), d = parseInt(((((a.lat_err * 100)) / a.lat)), 10);\n            scribeTransport.send({\n                event_name: \"measurement\",\n                load_time_ms: a.t_done,\n                bandwidth_kbytes: b,\n                bandwidth_error_percent: c,\n                latency_ms: a.lat,\n                latency_error_percent: d,\n                product: \"webclient\",\n                base_url: this.attr.baseUrl\n            }, \"boomerang\"), ((this.attr.force && this.trigger(\"uiShowError\", {\n                message: ((((((((((((((\"Bandwidth: \" + b)) + \" KB/s &plusmn; \")) + c)) + \"%\\u003Cbr /\\u003ELatency: \")) + a.lat)) + \" ms &plusmn; \")) + a.lat_err))\n            })));\n        }, this.startBoomerang = function() {\n            BOOMR.page_ready();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(window, \"load\", this.initializeBoomerang), this.JSBNG__on(\"boomerangStart\", this.startBoomerang);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), clock = require(\"core/clock\"), scribeTransport = require(\"app/data/scribe_transport\");\n    module.exports = defineComponent(Boomerang);\n});\ndefine(\"app/ui/profile_stats\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_profile_stats\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withProfileStats = require(\"app/ui/with_profile_stats\");\n    module.exports = defineComponent(withProfileStats);\n});\ndefine(\"app/utils/prefetch_core_css_bundle\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function PrefetchCoreCssBundle() {\n        this.prefetch = function() {\n            var a, b, c, d = this.attr.href;\n            a = $(\"\\u003Ciframe src=\\\"javascript:false\\\" style=\\\"width:0;height:0;border:0\\\"/\\u003E\"), $(\"script\").last().before(a);\n            try {\n                b = a[0].contentWindow.JSBNG__document;\n            } catch (e) {\n                c = doc.domain, a[0].src = ((((\"javascript:var d=document.open();d.domain=\\\"\" + c)) + \"\\\";void(0);\")), b = a[0].contentWindow.JSBNG__document;\n            };\n        ;\n            b.open()._load = function() {\n                var a = this, b = a.createElement(\"link\");\n                ((c && (this.domain = c))), b.rel = \"stylesheet\", b.type = \"text/css\", b.media = \"prefetch\", b.href = d, JSBNG__setTimeout(function() {\n                    a.body.appendChild(b);\n                }, 0);\n            }, b.write(\"\\u003Cbody onload=\\\"document._load()\\\"\\u003E\"), b.close();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(window, \"load\", this.prefetch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(PrefetchCoreCssBundle);\n});\ndefine(\"app/pages/home\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/contact_import\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"core/utils\",\"core/i18n\",\"app/ui/profile_stats\",\"app/utils/prefetch_core_css_bundle\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), trendsBoot = require(\"app/boot/trends\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowTimeline = require(\"app/ui/who_to_follow/who_to_follow_timeline\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), PromptbirdUI = require(\"app/ui/promptbird\"), PromptbirdData = require(\"app/data/promptbird\"), PromptbirdScribe = require(\"app/data/promptbird_scribe\"), PromptbirdInviteContactsDialog = require(\"app/ui/dialogs/promptbird_invite_contacts_dialog\"), ContactImport = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ContactImportData = require(\"app/data/contact_import\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), Boomerang = require(\"app/utils/boomerang\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), ProfileStats = require(\"app/ui/profile_stats\"), PrefetchCoreCssBundle = require(\"app/utils/prefetch_core_css_bundle\");\n    module.exports = function(a) {\n        bootApp(a), trendsBoot(a), tweetTimelineBoot(utils.merge(a, {\n            preservedScrollEnabled: !0\n        }), a.timeline_url, \"tweet\", \"tweet\"), userCompletionModuleBoot(a);\n        var b = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        }), c = \".promptbird\", d = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    section: \"JSBNG__home\"\n                }\n            }\n        });\n        PromptbirdData.attachTo(JSBNG__document, d), PromptbirdUI.attachTo(c, d), PromptbirdScribe.attachTo(c, d);\n        var e = $(c).data(\"prompt-id\");\n        ((((((((e === 46)) || ((e === 49)))) || ((e === 50)))) ? (ContactImportData.attachTo(JSBNG__document), ContactImportScribe.attachTo(JSBNG__document), ImportServices.attachTo(c), ImportLoadingDialog.attachTo(\"#import-loading-dialog\")) : ((((e === 223)) && (PromptbirdInviteContactsDialog.attachTo(\"#promptbird-invite-contacts-dialog\", d), ContactImport.attachTo(JSBNG__document, d), ContactImportScribe.attachTo(JSBNG__document, d)))))), WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", b), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", b), ((a.emptyTimelineOptions.emptyTimelineModule && WhoToFollowTimeline.attachTo(\"#empty-timeline-recommendations\", b))), WhoToFollowScribe.attachTo(\"#empty-timeline-recommendations\", b), WhoToFollowData.attachTo(JSBNG__document, b), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".home-tweet-box\", {\n            draftTweetId: \"JSBNG__home\",\n            prependText: _(\"Compose new Tweet...\"),\n            hasDefaultText: !1,\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        }), ProfileStats.attachTo(\".dashboard .mini-profile\"), ((a.boomr && Boomerang.attachTo(JSBNG__document, a.boomr))), ((a.prefetchCoreCssBundle && PrefetchCoreCssBundle.attachTo(JSBNG__document, {\n            href: a.prefetchCoreCssBundle\n        })));\n    };\n});\ndefine(\"app/boot/wtf_module\", [\"module\",\"require\",\"exports\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"core/utils\",], function(module, require, exports) {\n    var WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), utils = require(\"core/utils\");\n    module.exports = function(b) {\n        var c = utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        });\n        WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", c), WhoToFollowData.attachTo(JSBNG__document, c), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", c);\n    };\n});\ndefine(\"app/data/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToTweetData() {\n        this.whoToTweetModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataWhoToTweetModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: ((((\"/\" + b.screen_name)) + \"/following/users\")),\n                data: {\n                    who_to_tweet: !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsWhoToTweetModule\", this.whoToTweetModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(whoToTweetData, withData);\n});\ndefine(\"app/boot/connect\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/wtf_module\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/who_to_tweet\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), whoToFollowModule(a), ContactImportData.attachTo(JSBNG__document, a), ContactImportScribe.attachTo(JSBNG__document, a), WhoToTweetData.attachTo(JSBNG__document, a), bootTrends(a);\n    };\n;\n    var bootApp = require(\"app/boot/app\"), bootTrends = require(\"app/boot/trends\"), whoToFollowModule = require(\"app/boot/wtf_module\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), WhoToTweetData = require(\"app/data/who_to_tweet\"), wtfSelector = \".dashboard .js-wtf-module\", timelineSelector = \"#timeline\";\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_list_resizing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function withListResizing() {\n        compose.mixin(this, [withScrollbarWidth,]), this.defaultAttrs({\n            backToTopSelector: \".back-to-top\",\n            listSelector: \".scrolling-user-list\",\n            listFooterSelector: \".user-list-footer\",\n            minHeight: 300\n        }), this.scrollToTop = function(a) {\n            a.preventDefault(), a.stopImmediatePropagation(), this.select(\"listSelector\").animate({\n                scrollTop: 0\n            });\n        }, this.initUi = function() {\n            this.calculateScrollbarWidth();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initUi), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n    module.exports = withListResizing;\n});\ndefine(\"app/ui/who_to_follow/matched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_list_resizing\",], function(module, require, exports) {\n    function matchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-follow-count\",\n            listItemSelector: \".listview-find-friends-result\",\n            checkboxSelector: \".js-action-checkbox\",\n            selectAllSelector: \"#select_all_matches\",\n            actionButtonSelector: \".js-follow-all\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"selectAllSelector\");\n            ((b.is(\":checked\") && (this.invisibleSelected = !0)));\n            var c = b.val(), d = this.select(\"checkboxSelector\").length, e = this.select(\"checkedCheckboxSelector\").length, f = ((d - e)), g;\n            ((this.invisibleSelected ? g = ((c - f)) : g = e)), this.select(\"selectedCounterSelector\").text(g), this.select(\"actionButtonSelector\").attr(\"disabled\", ((g == 0)));\n        }, this.maybeDeselectInvisible = function(a, b) {\n            this.invisibleSelected = a.target.checked;\n        }, this.maybeCheckNewItem = function(a) {\n            if (this.invisibleSelected) {\n                var b = $(a.target);\n                b.JSBNG__find(this.attr.listItemSelector).addClass(\"selected\"), b.JSBNG__find(this.attr.checkboxSelector).attr(\"checked\", \"checked\");\n            }\n        ;\n        ;\n        }, this.initSelections = function() {\n            ((this.select(\"selectAllSelector\").is(\":checked\") && (this.select(\"checkboxSelector\").attr(\"checked\", \"checked\"), this.select(\"listItemSelector\").addClass(\"selected\"))));\n        }, this.followAll = function() {\n            var a = this.invisibleSelected, b = {\n                excludeIds: [],\n                includeIds: []\n            };\n            this.select(\"checkboxSelector\").each(function() {\n                var c = this.checked, d = $(this).closest(\"[data-user-id]\").data(\"user-id\");\n                ((((a && !c)) ? b.excludeIds.push(d) : ((((!a && c)) && b.includeIds.push(d)))));\n            }), this.select(\"actionButtonSelector\").addClass(\"loading\").attr(\"disabled\", !0), this.trigger(\"uiContactImportFollow\", b);\n        }, this.removeLoading = function() {\n            this.select(\"actionButtonSelector\").removeClass(\"loading\").attr(\"disabled\", !1);\n        }, this.displaySuccess = function(a, b) {\n            this.removeLoading(), ((this.attr.findFriendsInline ? this.trigger(\"uiWantsWhoToTweetModule\", {\n                screen_name: this.$node.data(\"screen-name\")\n            }) : this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/invite?followed_count=\" + b.followed_ids.length))\n            })));\n        }, this.displayError = function() {\n            this.removeLoading(), this.trigger(\"uiShowError\", {\n                message: _(\"There was an error following your contacts.\")\n            });\n        }, this.displayMatches = function(a, b) {\n            if (((!b || !b.html))) {\n                return;\n            }\n        ;\n        ;\n            this.$node.html(b.html), this.initSelections();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initSelections), this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"change\", {\n                selectAllSelector: this.maybeDeselectInvisible\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.maybeCheckNewItem), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowSuccess\", this.displaySuccess), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowFailure\", this.displayError), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess\", this.displayMatches), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.followAll\n            }), this.invisibleSelected = !0;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withSelectAll = require(\"app/ui/with_select_all\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\");\n    module.exports = defineComponent(matchedContactsList, withSelectAll, withListResizing);\n});\ndefine(\"app/ui/who_to_follow/unmatched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function unmatchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-selected-count\",\n            listItemSelector: \".stream-item\",\n            hideLinkSelector: \".js-hide\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"checkedCheckboxSelector\").length;\n            this.select(\"selectedCounterSelector\").text(b), this.select(\"actionButtonSelector\").attr(\"disabled\", ((b == 0)));\n        }, this.redirectToSuggestions = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/suggestions?invited_count=\" + b.count))\n            });\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"uiInviteFinished\", this.redirectToSuggestions), this.JSBNG__on(\"click\", {\n                hideLinkSelector: this.hide\n            }), this.attr.showMessageOnSuccess = !1;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(unmatchedContactsList, withListResizing, withUnmatchedContacts);\n});\ndefine(\"app/ui/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function whoToTweet() {\n        this.defaultAttrs({\n            tweetToButtonSelector: \".js-tweet-to-btn\"\n        }), this.tweetToUser = function(a, b) {\n            var c = $(a.target).closest(\".user-actions\");\n            this.mentionUser(c);\n        }, this.trackEvent = function(a) {\n            ((((a.type == \"uiTweetSent\")) && ddg.track(\"find_friends_on_empty_connect_635\", \"tweet_sent\")));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.trackEvent), this.JSBNG__on(\"click\", {\n                tweetToButtonSelector: this.tweetToUser\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(whoToTweet, withUserActions);\n});\ndefine(\"app/ui/with_loading_indicator\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLoadingIndicator() {\n        this.defaultAttrs({\n            spinnerContainer: \"body\",\n            spinnerClass: \"pushing-state\"\n        }), this.showSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n        }, this.hideSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n        };\n    };\n;\n    module.exports = withLoadingIndicator;\n});\ndefine(\"app/ui/who_to_follow/find_friends\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/ddg\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/infinite_scroll_watcher\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/with_select_all\",\"app/ui/with_loading_indicator\",], function(module, require, exports) {\n    function findFriends() {\n        this.defaultAttrs({\n            importLoadingDialogSelector: \"#import-loading-dialog\",\n            launchContainerSelector: \".empty-connect\",\n            findFriendsSelector: \".find-friends-container\",\n            findFriendsButtonSelector: \".find-friends-btn\",\n            scrollListSelector: \".scrolling-user-list\",\n            scrollListContentSelector: \".stream\",\n            unmatchedContactsSelector: \".content-main.invite-module\",\n            launchServiceSelector: \".js-launch-service\",\n            inviteLinkSelector: \".matches .skip-link\",\n            skipInvitesLinkSelector: \".invite-module .skip-link\",\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            whoToTweetModuleSelector: \"#who-to-tweet\"\n        }), this.showInviteModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), UnmatchedContactsList.attachTo(this.attr.unmatchedContactsSelector, {\n                hideLinkSelector: this.attr.skipInvitesLinkSelector\n            }), ddg.track(\"find_friends_on_empty_connect_635\", \"invite_module_view\");\n        }, this.showWhoToTweetModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), WhoToTweet.attachTo(this.attr.whoToTweetModuleSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataInviteModuleSuccess\", this.showInviteModule), this.JSBNG__on(JSBNG__document, \"dataWhoToTweetModuleSuccess\", this.showWhoToTweetModule), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess dataInviteModuleSuccess dataInviteModuleFailure dataWhoToTweetModuleSuccess dataWhoToTweetModuleFailure\", this.hideSpinner), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches uiWantsInviteModule uiWantsWhoToTweetModule\", this.showSpinner), this.JSBNG__on(\"click\", {\n                inviteLinkSelector: function() {\n                    this.trigger(\"uiWantsInviteModule\"), ddg.track(\"find_friends_on_empty_connect_635\", \"skip_link_click\");\n                },\n                findFriendsButtonSelector: function() {\n                    ddg.track(\"find_friends_on_empty_connect_635\", \"find_friends_click\");\n                }\n            }), ImportLoadingDialog.attachTo(this.attr.importLoadingDialogSelector, a), ImportServices.attachTo(this.attr.launchContainerSelector, {\n                launchServiceSelector: this.attr.launchServiceSelector,\n                redirectOnSuccess: !1\n            }), MatchedContactsList.attachTo(this.attr.findFriendsSelector, utils.merge(a, {\n                findFriendsInline: !0\n            })), InfiniteScrollWatcher.attachTo(this.attr.scrollListSelector, {\n                contentSelector: this.attr.scrollListContentSelector\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), ddg = require(\"app/data/ddg\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), MatchedContactsList = require(\"app/ui/who_to_follow/matched_contacts_list\"), InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), UnmatchedContactsList = require(\"app/ui/who_to_follow/unmatched_contacts_list\"), WhoToTweet = require(\"app/ui/who_to_tweet\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\"), withSelectAll = require(\"app/ui/with_select_all\"), withLoadingIndicator = require(\"app/ui/with_loading_indicator\");\n    module.exports = defineComponent(findFriends, withInvitePreview, withSelectAll, withLoadingIndicator);\n});\ndefine(\"app/pages/connect/interactions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",\"app/ui/who_to_follow/find_friends\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), FindFriends = require(\"app/ui/who_to_follow/find_friends\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/i/connect/timeline\", \"activity\", \"stream\"), (($(\"body.find_friends_on_empty_connect_635\").length && FindFriends.attachTo(JSBNG__document, a)));\n    };\n});\ndefine(\"app/pages/connect/mentions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/mentions/timeline\", \"tweet\");\n    };\n});\ndefine(\"app/pages/connect/network_activity\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        a.containingItemSelector = \".supplement\", a.marginBreaking = !1, connectBoot(a), tweetTimelineBoot(a, \"/activity/timeline\", \"activity\", \"stream\");\n    };\n});\ndefine(\"app/ui/inline_edit\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function inlineEdit() {\n        this.defaultAttrs({\n            editableFieldSelector: \".editable-field\",\n            profileFieldSelector: \".profile-field\",\n            placeholderSelector: \".placeholder\",\n            padding: 20\n        }), this.syncDimensions = function() {\n            var a = this.getDimensions(this.currentText());\n            if (this.isTextArea) {\n                var b = Math.ceil(((a.height / this.lineHeight)));\n                this.$editableField.attr(\"rows\", b);\n            }\n             else this.$editableField.width(((a.width + this.padding)));\n        ;\n        ;\n        }, this.saveOldValues = function() {\n            this.oldTextValue = this.editableFieldValue(), this.oldHtmlValue = this.$profileField.html();\n        }, this.resetProfileField = function() {\n            this.$profileField.html(this.oldHtmlValue);\n        }, this.resetToOldValues = function() {\n            this.$editableField.val(this.oldTextValue).trigger(\"uiInputChanged\"), this.resetProfileField();\n        }, this.syncValue = function() {\n            var a = this.editableFieldValue();\n            ((((this.oldTextValue !== a)) && (this.setProfileField(), this.trigger(\"uiInlineEditSave\", {\n                newValue: a,\n                field: this.$editableField.attr(\"JSBNG__name\")\n            }))));\n        }, this.setProfileField = function() {\n            var a = this.editableFieldValue();\n            ((((this.truncateLength && ((a.length > this.truncateLength)))) && (a = ((a.substr(0, this.truncateLength) + \"\\u2026\"))))), this.$profileField.text(a);\n        }, this.currentText = function() {\n            return ((this.editableFieldValue() || this.getPlaceholderText()));\n        }, this.editableFieldValue = function() {\n            return this.$editableField.val();\n        }, this.addPadding = function() {\n            this.padding = this.attr.padding;\n        }, this.removePadding = function() {\n            this.padding = 0;\n        }, this.getDimensions = function(a) {\n            return ((this.truncateLength && (a = a.substr(0, this.truncateLength)))), ((((this.prevText !== a)) && (this.measureDimensions(a), this.prevText = a))), {\n                width: this.width,\n                height: this.height\n            };\n        }, this.measureDimensions = function(a) {\n            var b = this.$profileField.clone();\n            b.text(a), b.css(\"white-space\", \"pre-wrap\"), this.$profileField.replaceWith(b), this.height = b.height(), this.width = b.width(), b.replaceWith(this.$profileField);\n        }, this.preventNewlineAndLeadingSpace = function(a) {\n            if (((((a.keyCode === 13)) || ((((a.keyCode === 32)) && !this.editableFieldValue()))))) {\n                a.preventDefault(), a.stopImmediatePropagation();\n            }\n        ;\n        ;\n        }, this.getPlaceholderText = function() {\n            return this.$placeholder.text();\n        }, this.after(\"initialize\", function() {\n            this.$editableField = this.select(\"editableFieldSelector\"), this.$profileField = this.select(\"profileFieldSelector\"), this.$placeholder = this.select(\"placeholderSelector\"), this.lineHeight = parseInt(this.$profileField.css(\"line-height\"), 10), this.isTextArea = this.$editableField.is(\"textarea\"), this.truncateLength = parseInt(this.$editableField.attr(\"data-truncate-length\"), 10), this.padding = 0, this.syncDimensions(), this.JSBNG__on(JSBNG__document, \"uiNeedsTextPreview\", this.setProfileField), this.JSBNG__on(JSBNG__document, \"uiEditProfileSaveFields\", this.syncValue), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.saveOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileCancel\", this.resetToOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.syncDimensions), this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.resetProfileField), this.JSBNG__on(this.$editableField, \"keydown\", this.preventNewlineAndLeadingSpace), ((this.isTextArea || (this.JSBNG__on(this.$editableField, \"JSBNG__focus\", this.addPadding), this.JSBNG__on(this.$editableField, \"JSBNG__blur\", this.removePadding)))), this.JSBNG__on(this.$editableField, \"keyup focus blur update paste\", this.syncDimensions);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(inlineEdit);\n});\ndefine(\"app/data/async_profile\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function asyncProfileData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.saveField = function(a, b) {\n            this.fields[b.field] = b.newValue;\n        }, this.clearFields = function() {\n            this.fields = {\n            };\n        }, this.saveFields = function(a, b) {\n            function c(a) {\n                if (((a.error === !0))) {\n                    return d.call(this, a);\n                }\n            ;\n            ;\n                this.trigger(\"dataInlineEditSaveSuccess\", a), this.clearFields();\n            };\n        ;\n            function d(a) {\n                this.trigger(\"dataInlineEditSaveError\", a), this.clearFields();\n            };\n        ;\n            a.preventDefault(), ((((Object.keys(this.fields).length > 0)) ? (this.trigger(\"dataInlineEditSaveStarted\", {\n            }), this.fields.page_context = this.attr.pageName, this.fields.section_context = this.attr.sectionName, this.post({\n                url: \"/i/profiles/update\",\n                data: this.fields,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            })) : this.trigger(\"dataInlineEditSaveSuccess\")));\n        }, this.after(\"initialize\", function() {\n            this.fields = {\n            }, this.JSBNG__on(\"uiInlineEditSave\", this.saveField), this.JSBNG__on(\"uiEditProfileSave\", this.saveFields);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(asyncProfileData, withData);\n});\ndeferred(\"$lib/jquery_ui.profile.js\", function() {\n    (function($, a) {\n        function b(a, b) {\n            var d = a.nodeName.toLowerCase();\n            if (((\"area\" === d))) {\n                var e = a.parentNode, f = e.JSBNG__name, g;\n                return ((((((!a.href || !f)) || ((e.nodeName.toLowerCase() !== \"map\")))) ? !1 : (g = $(((((\"img[usemap=#\" + f)) + \"]\")))[0], ((!!g && c(g))))));\n            }\n        ;\n        ;\n            return ((((/input|select|textarea|button|object/.test(d) ? !a.disabled : ((((\"a\" == d)) ? ((a.href || b)) : b)))) && c(a)));\n        };\n    ;\n        function c(a) {\n            return !$(a).parents().andSelf().filter(function() {\n                return (((($.curCSS(this, \"visibility\") === \"hidden\")) || $.expr.filters.hidden(this)));\n            }).length;\n        };\n    ;\n        $.ui = (($.ui || {\n        }));\n        if ($.ui.version) {\n            return;\n        }\n    ;\n    ;\n        $.extend($.ui, {\n            version: \"1.8.22\",\n            keyCode: {\n                ALT: 18,\n                BACKSPACE: 8,\n                CAPS_LOCK: 20,\n                COMMA: 188,\n                COMMAND: 91,\n                COMMAND_LEFT: 91,\n                COMMAND_RIGHT: 93,\n                CONTROL: 17,\n                DELETE: 46,\n                DOWN: 40,\n                END: 35,\n                ENTER: 13,\n                ESCAPE: 27,\n                HOME: 36,\n                INSERT: 45,\n                LEFT: 37,\n                MENU: 93,\n                NUMPAD_ADD: 107,\n                NUMPAD_DECIMAL: 110,\n                NUMPAD_DIVIDE: 111,\n                NUMPAD_ENTER: 108,\n                NUMPAD_MULTIPLY: 106,\n                NUMPAD_SUBTRACT: 109,\n                PAGE_DOWN: 34,\n                PAGE_UP: 33,\n                PERIOD: 190,\n                RIGHT: 39,\n                SHIFT: 16,\n                SPACE: 32,\n                TAB: 9,\n                UP: 38,\n                WINDOWS: 91\n            }\n        }), $.fn.extend({\n            propAttr: (($.fn.prop || $.fn.attr)),\n            _focus: $.fn.JSBNG__focus,\n            JSBNG__focus: function(a, b) {\n                return ((((typeof a == \"number\")) ? this.each(function() {\n                    var c = this;\n                    JSBNG__setTimeout(function() {\n                        $(c).JSBNG__focus(), ((b && b.call(c)));\n                    }, a);\n                }) : this._focus.apply(this, arguments)));\n            },\n            scrollParent: function() {\n                var a;\n                return (((((($.browser.msie && /(static|relative)/.test(this.css(\"position\")))) || /absolute/.test(this.css(\"position\")))) ? a = this.parents().filter(function() {\n                    return ((/(relative|absolute|fixed)/.test($.curCSS(this, \"position\", 1)) && /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))))));\n                }).eq(0) : a = this.parents().filter(function() {\n                    return /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))));\n                }).eq(0))), ((((/fixed/.test(this.css(\"position\")) || !a.length)) ? $(JSBNG__document) : a));\n            },\n            zIndex: function(b) {\n                if (((b !== a))) {\n                    return this.css(\"zIndex\", b);\n                }\n            ;\n            ;\n                if (this.length) {\n                    var c = $(this[0]), d, e;\n                    while (((c.length && ((c[0] !== JSBNG__document))))) {\n                        d = c.css(\"position\");\n                        if (((((((d === \"absolute\")) || ((d === \"relative\")))) || ((d === \"fixed\"))))) {\n                            e = parseInt(c.css(\"zIndex\"), 10);\n                            if (((!isNaN(e) && ((e !== 0))))) {\n                                return e;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        c = c.parent();\n                    };\n                ;\n                }\n            ;\n            ;\n                return 0;\n            },\n            disableSelection: function() {\n                return this.bind((((($.support.selectstart ? \"selectstart\" : \"mousedown\")) + \".ui-disableSelection\")), function(a) {\n                    a.preventDefault();\n                });\n            },\n            enableSelection: function() {\n                return this.unbind(\".ui-disableSelection\");\n            }\n        }), (($(\"\\u003Ca\\u003E\").JSBNG__outerWidth(1).jquery || $.each([\"Width\",\"Height\",], function(b, c) {\n            function g(a, b, c, e) {\n                return $.each(d, function() {\n                    b -= ((parseFloat($.curCSS(a, ((\"padding\" + this)), !0)) || 0)), ((c && (b -= ((parseFloat($.curCSS(a, ((((\"border\" + this)) + \"Width\")), !0)) || 0))))), ((e && (b -= ((parseFloat($.curCSS(a, ((\"margin\" + this)), !0)) || 0)))));\n                }), b;\n            };\n        ;\n            var d = ((((c === \"Width\")) ? [\"Left\",\"Right\",] : [\"Top\",\"Bottom\",])), e = c.toLowerCase(), f = {\n                JSBNG__innerWidth: $.fn.JSBNG__innerWidth,\n                JSBNG__innerHeight: $.fn.JSBNG__innerHeight,\n                JSBNG__outerWidth: $.fn.JSBNG__outerWidth,\n                JSBNG__outerHeight: $.fn.JSBNG__outerHeight\n            };\n            $.fn[((\"JSBNG__inner\" + c))] = function(b) {\n                return ((((b === a)) ? f[((\"JSBNG__inner\" + c))].call(this) : this.each(function() {\n                    $(this).css(e, ((g(this, b) + \"px\")));\n                })));\n            }, $.fn[((\"JSBNG__outer\" + c))] = function(a, b) {\n                return ((((typeof a != \"number\")) ? f[((\"JSBNG__outer\" + c))].call(this, a) : this.each(function() {\n                    $(this).css(e, ((g(this, a, !0, b) + \"px\")));\n                })));\n            };\n        }))), $.extend($.expr[\":\"], {\n            data: (($.expr.createPseudo ? $.expr.createPseudo(function(a) {\n                return function(b) {\n                    return !!$.data(b, a);\n                };\n            }) : function(a, b, c) {\n                return !!$.data(a, c[3]);\n            })),\n            focusable: function(a) {\n                return b(a, !isNaN($.attr(a, \"tabindex\")));\n            },\n            tabbable: function(a) {\n                var c = $.attr(a, \"tabindex\"), d = isNaN(c);\n                return ((((d || ((c >= 0)))) && b(a, !d)));\n            }\n        }), $(function() {\n            var a = JSBNG__document.body, b = a.appendChild(b = JSBNG__document.createElement(\"div\"));\n            b.offsetHeight, $.extend(b.style, {\n                minHeight: \"100px\",\n                height: \"auto\",\n                padding: 0,\n                borderWidth: 0\n            }), $.support.minHeight = ((b.offsetHeight === 100)), $.support.selectstart = ((\"onselectstart\" in b)), a.removeChild(b).style.display = \"none\";\n        }), (($.curCSS || ($.curCSS = $.css))), $.extend($.ui, {\n            plugin: {\n                add: function(a, b, c) {\n                    var d = $.ui[a].prototype;\n                    {\n                        var fin55keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin55i = (0);\n                        var e;\n                        for (; (fin55i < fin55keys.length); (fin55i++)) {\n                            ((e) = (fin55keys[fin55i]));\n                            {\n                                d.plugins[e] = ((d.plugins[e] || [])), d.plugins[e].push([b,c[e],]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                },\n                call: function(a, b, c) {\n                    var d = a.plugins[b];\n                    if (((!d || !a.element[0].parentNode))) {\n                        return;\n                    }\n                ;\n                ;\n                    for (var e = 0; ((e < d.length)); e++) {\n                        ((a.options[d[e][0]] && d[e][1].apply(a.element, c)));\n                    ;\n                    };\n                ;\n                }\n            },\n            contains: function(a, b) {\n                return ((JSBNG__document.compareDocumentPosition ? ((a.compareDocumentPosition(b) & 16)) : ((((a !== b)) && a.contains(b)))));\n            },\n            hasScroll: function(a, b) {\n                if ((($(a).css(\"overflow\") === \"hidden\"))) {\n                    return !1;\n                }\n            ;\n            ;\n                var c = ((((b && ((b === \"left\")))) ? \"scrollLeft\" : \"scrollTop\")), d = !1;\n                return ((((a[c] > 0)) ? !0 : (a[c] = 1, d = ((a[c] > 0)), a[c] = 0, d)));\n            },\n            isOverAxis: function(a, b, c) {\n                return ((((a > b)) && ((a < ((b + c))))));\n            },\n            isOver: function(a, b, c, d, e, f) {\n                return (($.ui.isOverAxis(a, c, e) && $.ui.isOverAxis(b, d, f)));\n            }\n        });\n    })(jQuery), function($, a) {\n        if ($.cleanData) {\n            var b = $.cleanData;\n            $.cleanData = function(a) {\n                for (var c = 0, d; (((d = a[c]) != null)); c++) {\n                    try {\n                        $(d).triggerHandler(\"remove\");\n                    } catch (e) {\n                    \n                    };\n                ;\n                };\n            ;\n                b(a);\n            };\n        }\n         else {\n            var c = $.fn.remove;\n            $.fn.remove = function(a, b) {\n                return this.each(function() {\n                    return ((b || ((((!a || $.filter(a, [this,]).length)) && $(\"*\", this).add([this,]).each(function() {\n                        try {\n                            $(this).triggerHandler(\"remove\");\n                        } catch (a) {\n                        \n                        };\n                    ;\n                    }))))), c.call($(this), a, b);\n                });\n            };\n        }\n    ;\n    ;\n        $.widget = function(a, b, c) {\n            var d = a.split(\".\")[0], e;\n            a = a.split(\".\")[1], e = ((((d + \"-\")) + a)), ((c || (c = b, b = $.Widget))), $.expr[\":\"][e] = function(b) {\n                return !!$.data(b, a);\n            }, $[d] = (($[d] || {\n            })), $[d][a] = function(a, b) {\n                ((arguments.length && this._createWidget(a, b)));\n            };\n            var f = new b;\n            f.options = $.extend(!0, {\n            }, f.options), $[d][a].prototype = $.extend(!0, f, {\n                namespace: d,\n                widgetName: a,\n                widgetEventPrefix: (($[d][a].prototype.widgetEventPrefix || a)),\n                widgetBaseClass: e\n            }, c), $.widget.bridge(a, $[d][a]);\n        }, $.widget.bridge = function(b, c) {\n            $.fn[b] = function(d) {\n                var e = ((typeof d == \"string\")), f = Array.prototype.slice.call(arguments, 1), g = this;\n                return d = ((((!e && f.length)) ? $.extend.apply(null, [!0,d,].concat(f)) : d)), ((((e && ((d.charAt(0) === \"_\")))) ? g : (((e ? this.each(function() {\n                    var c = $.data(this, b), e = ((((c && $.isFunction(c[d]))) ? c[d].apply(c, f) : c));\n                    if (((((e !== c)) && ((e !== a))))) {\n                        return g = e, !1;\n                    }\n                ;\n                ;\n                }) : this.each(function() {\n                    var a = $.data(this, b);\n                    ((a ? a.option(((d || {\n                    })))._init() : $.data(this, b, new c(d, this))));\n                }))), g)));\n            };\n        }, $.Widget = function(a, b) {\n            ((arguments.length && this._createWidget(a, b)));\n        }, $.Widget.prototype = {\n            widgetName: \"widget\",\n            widgetEventPrefix: \"\",\n            options: {\n                disabled: !1\n            },\n            _createWidget: function(a, b) {\n                $.data(b, this.widgetName, this), this.element = $(b), this.options = $.extend(!0, {\n                }, this.options, this._getCreateOptions(), a);\n                var c = this;\n                this.element.bind(((\"remove.\" + this.widgetName)), function() {\n                    c.destroy();\n                }), this._create(), this._trigger(\"create\"), this._init();\n            },\n            _getCreateOptions: function() {\n                return (($.metadata && $.metadata.get(this.element[0])[this.widgetName]));\n            },\n            _create: function() {\n            \n            },\n            _init: function() {\n            \n            },\n            destroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))).removeData(this.widgetName), this.widget().unbind(((\".\" + this.widgetName))).removeAttr(\"aria-disabled\").removeClass(((((this.widgetBaseClass + \"-disabled \")) + \"ui-state-disabled\")));\n            },\n            widget: function() {\n                return this.element;\n            },\n            option: function(b, c) {\n                var d = b;\n                if (((arguments.length === 0))) {\n                    return $.extend({\n                    }, this.options);\n                }\n            ;\n            ;\n                if (((typeof b == \"string\"))) {\n                    if (((c === a))) {\n                        return this.options[b];\n                    }\n                ;\n                ;\n                    d = {\n                    }, d[b] = c;\n                }\n            ;\n            ;\n                return this._setOptions(d), this;\n            },\n            _setOptions: function(a) {\n                var b = this;\n                return $.each(a, function(a, c) {\n                    b._setOption(a, c);\n                }), this;\n            },\n            _setOption: function(a, b) {\n                return this.options[a] = b, ((((a === \"disabled\")) && this.widget()[((b ? \"addClass\" : \"removeClass\"))](((((((this.widgetBaseClass + \"-disabled\")) + \" \")) + \"ui-state-disabled\"))).attr(\"aria-disabled\", b))), this;\n            },\n            enable: function() {\n                return this._setOption(\"disabled\", !1);\n            },\n            disable: function() {\n                return this._setOption(\"disabled\", !0);\n            },\n            _trigger: function(a, b, c) {\n                var d, e, f = this.options[a];\n                c = ((c || {\n                })), b = $.JSBNG__Event(b), b.type = ((((a === this.widgetEventPrefix)) ? a : ((this.widgetEventPrefix + a)))).toLowerCase(), b.target = this.element[0], e = b.originalEvent;\n                if (e) {\n                    {\n                        var fin56keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin56i = (0);\n                        (0);\n                        for (; (fin56i < fin56keys.length); (fin56i++)) {\n                            ((d) = (fin56keys[fin56i]));\n                            {\n                                ((((d in b)) || (b[d] = e[d])));\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return this.element.trigger(b, c), !(((($.isFunction(f) && ((f.call(this.element[0], b, c) === !1)))) || b.isDefaultPrevented()));\n            }\n        };\n    }(jQuery), function($, a) {\n        var b = !1;\n        $(JSBNG__document).mouseup(function(a) {\n            b = !1;\n        }), $.widget(\"ui.mouse\", {\n            options: {\n                cancel: \":input,option\",\n                distance: 1,\n                delay: 0\n            },\n            _mouseInit: function() {\n                var a = this;\n                this.element.bind(((\"mousedown.\" + this.widgetName)), function(b) {\n                    return a._mouseDown(b);\n                }).bind(((\"click.\" + this.widgetName)), function(b) {\n                    if (((!0 === $.data(b.target, ((a.widgetName + \".preventClickEvent\")))))) {\n                        return $.removeData(b.target, ((a.widgetName + \".preventClickEvent\"))), b.stopImmediatePropagation(), !1;\n                    }\n                ;\n                ;\n                }), this.started = !1;\n            },\n            _mouseDestroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))), $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate);\n            },\n            _mouseDown: function(a) {\n                if (b) {\n                    return;\n                }\n            ;\n            ;\n                ((this._mouseStarted && this._mouseUp(a))), this._mouseDownEvent = a;\n                var c = this, d = ((a.which == 1)), e = ((((((typeof this.options.cancel == \"string\")) && a.target.nodeName)) ? $(a.target).closest(this.options.cancel).length : !1));\n                if (((((!d || e)) || !this._mouseCapture(a)))) {\n                    return !0;\n                }\n            ;\n            ;\n                this.mouseDelayMet = !this.options.delay, ((this.mouseDelayMet || (this._mouseDelayTimer = JSBNG__setTimeout(function() {\n                    c.mouseDelayMet = !0;\n                }, this.options.delay))));\n                if (((this._mouseDistanceMet(a) && this._mouseDelayMet(a)))) {\n                    this._mouseStarted = ((this._mouseStart(a) !== !1));\n                    if (!this._mouseStarted) {\n                        return a.preventDefault(), !0;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return ((((!0 === $.data(a.target, ((this.widgetName + \".preventClickEvent\"))))) && $.removeData(a.target, ((this.widgetName + \".preventClickEvent\"))))), this._mouseMoveDelegate = function(a) {\n                    return c._mouseMove(a);\n                }, this._mouseUpDelegate = function(a) {\n                    return c._mouseUp(a);\n                }, $(JSBNG__document).bind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).bind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), a.preventDefault(), b = !0, !0;\n            },\n            _mouseMove: function(a) {\n                return ((((((!$.browser.msie || ((JSBNG__document.documentMode >= 9)))) || !!a.button)) ? ((this._mouseStarted ? (this._mouseDrag(a), a.preventDefault()) : (((((this._mouseDistanceMet(a) && this._mouseDelayMet(a))) && (this._mouseStarted = ((this._mouseStart(this._mouseDownEvent, a) !== !1)), ((this._mouseStarted ? this._mouseDrag(a) : this._mouseUp(a)))))), !this._mouseStarted))) : this._mouseUp(a)));\n            },\n            _mouseUp: function(a) {\n                return $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), ((this._mouseStarted && (this._mouseStarted = !1, ((((a.target == this._mouseDownEvent.target)) && $.data(a.target, ((this.widgetName + \".preventClickEvent\")), !0))), this._mouseStop(a)))), !1;\n            },\n            _mouseDistanceMet: function(a) {\n                return ((Math.max(Math.abs(((this._mouseDownEvent.pageX - a.pageX))), Math.abs(((this._mouseDownEvent.pageY - a.pageY)))) >= this.options.distance));\n            },\n            _mouseDelayMet: function(a) {\n                return this.mouseDelayMet;\n            },\n            _mouseStart: function(a) {\n            \n            },\n            _mouseDrag: function(a) {\n            \n            },\n            _mouseStop: function(a) {\n            \n            },\n            _mouseCapture: function(a) {\n                return !0;\n            }\n        });\n    }(jQuery), function($, a) {\n        $.widget(\"ui.draggable\", $.ui.mouse, {\n            widgetEventPrefix: \"drag\",\n            options: {\n                addClasses: !0,\n                appendTo: \"parent\",\n                axis: !1,\n                connectToSortable: !1,\n                containment: !1,\n                cursor: \"auto\",\n                cursorAt: !1,\n                grid: !1,\n                handle: !1,\n                helper: \"original\",\n                iframeFix: !1,\n                opacity: !1,\n                refreshPositions: !1,\n                revert: !1,\n                revertDuration: 500,\n                scope: \"default\",\n                JSBNG__scroll: !0,\n                scrollSensitivity: 20,\n                scrollSpeed: 20,\n                snap: !1,\n                snapMode: \"both\",\n                snapTolerance: 20,\n                stack: !1,\n                zIndex: !1\n            },\n            _create: function() {\n                ((((((this.options.helper == \"original\")) && !/^(?:r|a|f)/.test(this.element.css(\"position\")))) && (this.element[0].style.position = \"relative\"))), ((this.options.addClasses && this.element.addClass(\"ui-draggable\"))), ((this.options.disabled && this.element.addClass(\"ui-draggable-disabled\"))), this._mouseInit();\n            },\n            destroy: function() {\n                if (!this.element.data(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                return this.element.removeData(\"draggable\").unbind(\".draggable\").removeClass(\"ui-draggable ui-draggable-dragging ui-draggable-disabled\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options;\n                return ((((((this.helper || b.disabled)) || $(a.target).is(\".ui-resizable-handle\"))) ? !1 : (this.handle = this._getHandle(a), ((this.handle ? (((b.iframeFix && $(((((b.iframeFix === !0)) ? \"div\" : b.iframeFix))).each(function() {\n                    $(\"\\u003Cdiv class=\\\"ui-draggable-iframeFix\\\" style=\\\"background: #fff;\\\"\\u003E\\u003C/div\\u003E\").css({\n                        width: ((this.offsetWidth + \"px\")),\n                        height: ((this.offsetHeight + \"px\")),\n                        position: \"absolute\",\n                        opacity: \"0.001\",\n                        zIndex: 1000\n                    }).css($(this).offset()).appendTo(\"body\");\n                }))), !0) : !1)))));\n            },\n            _mouseStart: function(a) {\n                var b = this.options;\n                return this.helper = this._createHelper(a), this.helper.addClass(\"ui-draggable-dragging\"), this._cacheHelperProportions(), (($.ui.ddmanager && ($.ui.ddmanager.current = this))), this._cacheMargins(), this.cssPosition = this.helper.css(\"position\"), this.scrollParent = this.helper.scrollParent(), this.offset = this.positionAbs = this.element.offset(), this.offset = {\n                    JSBNG__top: ((this.offset.JSBNG__top - this.margins.JSBNG__top)),\n                    left: ((this.offset.left - this.margins.left))\n                }, $.extend(this.offset, {\n                    click: {\n                        left: ((a.pageX - this.offset.left)),\n                        JSBNG__top: ((a.pageY - this.offset.JSBNG__top))\n                    },\n                    parent: this._getParentOffset(),\n                    relative: this._getRelativeOffset()\n                }), this.originalPosition = this.position = this._generatePosition(a), this.originalPageX = a.pageX, this.originalPageY = a.pageY, ((b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt))), ((b.containment && this._setContainment())), ((((this._trigger(\"start\", a) === !1)) ? (this._clear(), !1) : (this._cacheHelperProportions(), (((($.ui.ddmanager && !b.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(this, a))), this._mouseDrag(a, !0), (($.ui.ddmanager && $.ui.ddmanager.dragStart(this, a))), !0)));\n            },\n            _mouseDrag: function(a, b) {\n                this.position = this._generatePosition(a), this.positionAbs = this._convertPositionTo(\"absolute\");\n                if (!b) {\n                    var c = this._uiHash();\n                    if (((this._trigger(\"drag\", a, c) === !1))) {\n                        return this._mouseUp({\n                        }), !1;\n                    }\n                ;\n                ;\n                    this.position = c.position;\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"y\"))))) {\n                    this.helper[0].style.left = ((this.position.left + \"px\"));\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"x\"))))) {\n                    this.helper[0].style.JSBNG__top = ((this.position.JSBNG__top + \"px\"));\n                }\n            ;\n            ;\n                return (($.ui.ddmanager && $.ui.ddmanager.drag(this, a))), !1;\n            },\n            _mouseStop: function(a) {\n                var b = !1;\n                (((($.ui.ddmanager && !this.options.dropBehaviour)) && (b = $.ui.ddmanager.drop(this, a)))), ((this.dropped && (b = this.dropped, this.dropped = !1)));\n                var c = this.element[0], d = !1;\n                while (((c && (c = c.parentNode)))) {\n                    ((((c == JSBNG__document)) && (d = !0)));\n                ;\n                };\n            ;\n                if (((!d && ((this.options.helper === \"original\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n                if (((((((((((this.options.revert == \"invalid\")) && !b)) || ((((this.options.revert == \"valid\")) && b)))) || ((this.options.revert === !0)))) || (($.isFunction(this.options.revert) && this.options.revert.call(this.element, b)))))) {\n                    var e = this;\n                    $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\n                        ((((e._trigger(\"JSBNG__stop\", a) !== !1)) && e._clear()));\n                    });\n                }\n                 else ((((this._trigger(\"JSBNG__stop\", a) !== !1)) && this._clear()));\n            ;\n            ;\n                return !1;\n            },\n            _mouseUp: function(a) {\n                return ((((this.options.iframeFix === !0)) && $(\"div.ui-draggable-iframeFix\").each(function() {\n                    this.parentNode.removeChild(this);\n                }))), (($.ui.ddmanager && $.ui.ddmanager.dragStop(this, a))), $.ui.mouse.prototype._mouseUp.call(this, a);\n            },\n            cancel: function() {\n                return ((this.helper.is(\".ui-draggable-dragging\") ? this._mouseUp({\n                }) : this._clear())), this;\n            },\n            _getHandle: function(a) {\n                var b = ((((!this.options.handle || !$(this.options.handle, this.element).length)) ? !0 : !1));\n                return $(this.options.handle, this.element).JSBNG__find(\"*\").andSelf().each(function() {\n                    ((((this == a.target)) && (b = !0)));\n                }), b;\n            },\n            _createHelper: function(a) {\n                var b = this.options, c = (($.isFunction(b.helper) ? $(b.helper.apply(this.element[0], [a,])) : ((((b.helper == \"clone\")) ? this.element.clone().removeAttr(\"id\") : this.element))));\n                return ((c.parents(\"body\").length || c.appendTo(((((b.appendTo == \"parent\")) ? this.element[0].parentNode : b.appendTo))))), ((((((c[0] != this.element[0])) && !/(fixed|absolute)/.test(c.css(\"position\")))) && c.css(\"position\", \"absolute\"))), c;\n            },\n            _adjustOffsetFromHelper: function(a) {\n                ((((typeof a == \"string\")) && (a = a.split(\" \")))), (($.isArray(a) && (a = {\n                    left: +a[0],\n                    JSBNG__top: ((+a[1] || 0))\n                }))), ((((\"left\" in a)) && (this.offset.click.left = ((a.left + this.margins.left))))), ((((\"right\" in a)) && (this.offset.click.left = ((((this.helperProportions.width - a.right)) + this.margins.left))))), ((((\"JSBNG__top\" in a)) && (this.offset.click.JSBNG__top = ((a.JSBNG__top + this.margins.JSBNG__top))))), ((((\"bottom\" in a)) && (this.offset.click.JSBNG__top = ((((this.helperProportions.height - a.bottom)) + this.margins.JSBNG__top)))));\n            },\n            _getParentOffset: function() {\n                this.offsetParent = this.helper.offsetParent();\n                var a = this.offsetParent.offset();\n                ((((((((this.cssPosition == \"absolute\")) && ((this.scrollParent[0] != JSBNG__document)))) && $.ui.contains(this.scrollParent[0], this.offsetParent[0]))) && (a.left += this.scrollParent.scrollLeft(), a.JSBNG__top += this.scrollParent.scrollTop())));\n                if (((((this.offsetParent[0] == JSBNG__document.body)) || ((((this.offsetParent[0].tagName && ((this.offsetParent[0].tagName.toLowerCase() == \"html\")))) && $.browser.msie))))) {\n                    a = {\n                        JSBNG__top: 0,\n                        left: 0\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((a.JSBNG__top + ((parseInt(this.offsetParent.css(\"borderTopWidth\"), 10) || 0)))),\n                    left: ((a.left + ((parseInt(this.offsetParent.css(\"borderLeftWidth\"), 10) || 0))))\n                };\n            },\n            _getRelativeOffset: function() {\n                if (((this.cssPosition == \"relative\"))) {\n                    var a = this.element.position();\n                    return {\n                        JSBNG__top: ((((a.JSBNG__top - ((parseInt(this.helper.css(\"JSBNG__top\"), 10) || 0)))) + this.scrollParent.scrollTop())),\n                        left: ((((a.left - ((parseInt(this.helper.css(\"left\"), 10) || 0)))) + this.scrollParent.scrollLeft()))\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: 0,\n                    left: 0\n                };\n            },\n            _cacheMargins: function() {\n                this.margins = {\n                    left: ((parseInt(this.element.css(\"marginLeft\"), 10) || 0)),\n                    JSBNG__top: ((parseInt(this.element.css(\"marginTop\"), 10) || 0)),\n                    right: ((parseInt(this.element.css(\"marginRight\"), 10) || 0)),\n                    bottom: ((parseInt(this.element.css(\"marginBottom\"), 10) || 0))\n                };\n            },\n            _cacheHelperProportions: function() {\n                this.helperProportions = {\n                    width: this.helper.JSBNG__outerWidth(),\n                    height: this.helper.JSBNG__outerHeight()\n                };\n            },\n            _setContainment: function() {\n                var a = this.options;\n                ((((a.containment == \"parent\")) && (a.containment = this.helper[0].parentNode)));\n                if (((((a.containment == \"JSBNG__document\")) || ((a.containment == \"window\"))))) {\n                    this.containment = [((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollLeft() - this.offset.relative.left)) - this.offset.parent.left)))),((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollTop() - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)))),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollLeft())) + $(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).width())) - this.helperProportions.width)) - this.margins.left)),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollTop())) + (($(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).height() || JSBNG__document.body.parentNode.scrollHeight)))) - this.helperProportions.height)) - this.margins.JSBNG__top)),];\n                }\n            ;\n            ;\n                if (((!/^(document|window|parent)$/.test(a.containment) && ((a.containment.constructor != Array))))) {\n                    var b = $(a.containment), c = b[0];\n                    if (!c) {\n                        return;\n                    }\n                ;\n                ;\n                    var d = b.offset(), e = (($(c).css(\"overflow\") != \"hidden\"));\n                    this.containment = [((((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingLeft\"), 10) || 0)))),((((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingTop\"), 10) || 0)))),((((((((((((e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth)) - ((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingRight\"), 10) || 0)))) - this.helperProportions.width)) - this.margins.left)) - this.margins.right)),((((((((((((e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight)) - ((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingBottom\"), 10) || 0)))) - this.helperProportions.height)) - this.margins.JSBNG__top)) - this.margins.bottom)),], this.relative_container = b;\n                }\n                 else ((((a.containment.constructor == Array)) && (this.containment = a.containment)));\n            ;\n            ;\n            },\n            _convertPositionTo: function(a, b) {\n                ((b || (b = this.position)));\n                var c = ((((a == \"absolute\")) ? 1 : -1)), d = this.options, e = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), f = /(html|body)/i.test(e[0].tagName);\n                return {\n                    JSBNG__top: ((((((b.JSBNG__top + ((this.offset.relative.JSBNG__top * c)))) + ((this.offset.parent.JSBNG__top * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((f ? 0 : e.scrollTop())))) * c)))))),\n                    left: ((((((b.left + ((this.offset.relative.left * c)))) + ((this.offset.parent.left * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((f ? 0 : e.scrollLeft())))) * c))))))\n                };\n            },\n            _generatePosition: function(a) {\n                var b = this.options, c = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), d = /(html|body)/i.test(c[0].tagName), e = a.pageX, f = a.pageY;\n                if (this.originalPosition) {\n                    var g;\n                    if (this.containment) {\n                        if (this.relative_container) {\n                            var h = this.relative_container.offset();\n                            g = [((this.containment[0] + h.left)),((this.containment[1] + h.JSBNG__top)),((this.containment[2] + h.left)),((this.containment[3] + h.JSBNG__top)),];\n                        }\n                         else g = this.containment;\n                    ;\n                    ;\n                        ((((((a.pageX - this.offset.click.left)) < g[0])) && (e = ((g[0] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) < g[1])) && (f = ((g[1] + this.offset.click.JSBNG__top))))), ((((((a.pageX - this.offset.click.left)) > g[2])) && (e = ((g[2] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) > g[3])) && (f = ((g[3] + this.offset.click.JSBNG__top)))));\n                    }\n                ;\n                ;\n                    if (b.grid) {\n                        var i = ((b.grid[1] ? ((this.originalPageY + ((Math.round(((((f - this.originalPageY)) / b.grid[1]))) * b.grid[1])))) : this.originalPageY));\n                        f = ((g ? ((((((((i - this.offset.click.JSBNG__top)) < g[1])) || ((((i - this.offset.click.JSBNG__top)) > g[3])))) ? ((((((i - this.offset.click.JSBNG__top)) < g[1])) ? ((i + b.grid[1])) : ((i - b.grid[1])))) : i)) : i));\n                        var j = ((b.grid[0] ? ((this.originalPageX + ((Math.round(((((e - this.originalPageX)) / b.grid[0]))) * b.grid[0])))) : this.originalPageX));\n                        e = ((g ? ((((((((j - this.offset.click.left)) < g[0])) || ((((j - this.offset.click.left)) > g[2])))) ? ((((((j - this.offset.click.left)) < g[0])) ? ((j + b.grid[0])) : ((j - b.grid[0])))) : j)) : j));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((((((((f - this.offset.click.JSBNG__top)) - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((d ? 0 : c.scrollTop())))))))),\n                    left: ((((((((e - this.offset.click.left)) - this.offset.relative.left)) - this.offset.parent.left)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((d ? 0 : c.scrollLeft()))))))))\n                };\n            },\n            _clear: function() {\n                this.helper.removeClass(\"ui-draggable-dragging\"), ((((((this.helper[0] != this.element[0])) && !this.cancelHelperRemoval)) && this.helper.remove())), this.helper = null, this.cancelHelperRemoval = !1;\n            },\n            _trigger: function(a, b, c) {\n                return c = ((c || this._uiHash())), $.ui.plugin.call(this, a, [b,c,]), ((((a == \"drag\")) && (this.positionAbs = this._convertPositionTo(\"absolute\")))), $.Widget.prototype._trigger.call(this, a, b, c);\n            },\n            plugins: {\n            },\n            _uiHash: function(a) {\n                return {\n                    helper: this.helper,\n                    position: this.position,\n                    originalPosition: this.originalPosition,\n                    offset: this.positionAbs\n                };\n            }\n        }), $.extend($.ui.draggable, {\n            version: \"1.8.22\"\n        }), $.ui.plugin.add(\"draggable\", \"connectToSortable\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = $.extend({\n                }, b, {\n                    JSBNG__item: c.element\n                });\n                c.sortables = [], $(d.connectToSortable).each(function() {\n                    var b = $.data(this, \"sortable\");\n                    ((((b && !b.options.disabled)) && (c.sortables.push({\n                        instance: b,\n                        shouldRevert: b.options.revert\n                    }), b.refreshPositions(), b._trigger(\"activate\", a, e))));\n                });\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = $.extend({\n                }, b, {\n                    JSBNG__item: c.element\n                });\n                $.each(c.sortables, function() {\n                    ((this.instance.isOver ? (this.instance.isOver = 0, c.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, ((this.shouldRevert && (this.instance.options.revert = !0))), this.instance._mouseStop(a), this.instance.options.helper = this.instance.options._helper, ((((c.options.helper == \"original\")) && this.instance.currentItem.css({\n                        JSBNG__top: \"auto\",\n                        left: \"auto\"\n                    })))) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger(\"deactivate\", a, d))));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = this, e = function(a) {\n                    var b = this.offset.click.JSBNG__top, c = this.offset.click.left, d = this.positionAbs.JSBNG__top, e = this.positionAbs.left, f = a.height, g = a.width, h = a.JSBNG__top, i = a.left;\n                    return $.ui.isOver(((d + b)), ((e + c)), h, i, f, g);\n                };\n                $.each(c.sortables, function(e) {\n                    this.instance.positionAbs = c.positionAbs, this.instance.helperProportions = c.helperProportions, this.instance.offset.click = c.offset.click, ((this.instance._intersectsWith(this.instance.containerCache) ? (((this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = $(d).clone().removeAttr(\"id\").appendTo(this.instance.element).data(\"sortable-item\", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() {\n                        return b.helper[0];\n                    }, a.target = this.instance.currentItem[0], this.instance._mouseCapture(a, !0), this.instance._mouseStart(a, !0, !0), this.instance.offset.click.JSBNG__top = c.offset.click.JSBNG__top, this.instance.offset.click.left = c.offset.click.left, this.instance.offset.parent.left -= ((c.offset.parent.left - this.instance.offset.parent.left)), this.instance.offset.parent.JSBNG__top -= ((c.offset.parent.JSBNG__top - this.instance.offset.parent.JSBNG__top)), c._trigger(\"toSortable\", a), c.dropped = this.instance.element, c.currentItem = c.element, this.instance.fromOutside = c))), ((this.instance.currentItem && this.instance._mouseDrag(a)))) : ((this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger(\"out\", a, this.instance._uiHash(this.instance)), this.instance._mouseStop(a, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), ((this.instance.placeholder && this.instance.placeholder.remove())), c._trigger(\"fromSortable\", a), c.dropped = !1)))));\n                });\n            }\n        }), $.ui.plugin.add(\"draggable\", \"cursor\", {\n            start: function(a, b) {\n                var c = $(\"body\"), d = $(this).data(\"draggable\").options;\n                ((c.css(\"cursor\") && (d._cursor = c.css(\"cursor\")))), c.css(\"cursor\", d.cursor);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._cursor && $(\"body\").css(\"cursor\", c._cursor)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"opacity\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"opacity\") && (d._opacity = c.css(\"opacity\")))), c.css(\"opacity\", d.opacity);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._opacity && $(b.helper).css(\"opacity\", c._opacity)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"JSBNG__scroll\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\");\n                ((((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\")))) && (c.overflowOffset = c.scrollParent.offset())));\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = !1;\n                if (((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\"))))) {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((((c.overflowOffset.JSBNG__top + c.scrollParent[0].offsetHeight)) - a.pageY)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop + d.scrollSpeed)) : ((((((a.pageY - c.overflowOffset.JSBNG__top)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((((c.overflowOffset.left + c.scrollParent[0].offsetWidth)) - a.pageX)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft + d.scrollSpeed)) : ((((((a.pageX - c.overflowOffset.left)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((a.pageY - $(JSBNG__document).scrollTop())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() - d.scrollSpeed))) : (((((($(window).height() - ((a.pageY - $(JSBNG__document).scrollTop())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((a.pageX - $(JSBNG__document).scrollLeft())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() - d.scrollSpeed))) : (((((($(window).width() - ((a.pageX - $(JSBNG__document).scrollLeft())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((e !== !1)) && $.ui.ddmanager)) && !d.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(c, a)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"snap\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options;\n                c.snapElements = [], $(((((d.snap.constructor != String)) ? ((d.snap.items || \":data(draggable)\")) : d.snap))).each(function() {\n                    var a = $(this), b = a.offset();\n                    ((((this != c.element[0])) && c.snapElements.push({\n                        JSBNG__item: this,\n                        width: a.JSBNG__outerWidth(),\n                        height: a.JSBNG__outerHeight(),\n                        JSBNG__top: b.JSBNG__top,\n                        left: b.left\n                    })));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = d.snapTolerance, f = b.offset.left, g = ((f + c.helperProportions.width)), h = b.offset.JSBNG__top, i = ((h + c.helperProportions.height));\n                for (var j = ((c.snapElements.length - 1)); ((j >= 0)); j--) {\n                    var k = c.snapElements[j].left, l = ((k + c.snapElements[j].width)), m = c.snapElements[j].JSBNG__top, n = ((m + c.snapElements[j].height));\n                    if (!((((((((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))) || ((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e))))))))) {\n                        ((((c.snapElements[j].snapping && c.options.snap.release)) && c.options.snap.release.call(c.element, a, $.extend(c._uiHash(), {\n                            snapItem: c.snapElements[j].JSBNG__item\n                        })))), c.snapElements[j].snapping = !1;\n                        continue;\n                    }\n                ;\n                ;\n                    if (((d.snapMode != \"JSBNG__inner\"))) {\n                        var o = ((Math.abs(((m - i))) <= e)), p = ((Math.abs(((n - h))) <= e)), q = ((Math.abs(((k - g))) <= e)), r = ((Math.abs(((l - f))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((m - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: n,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((k - c.helperProportions.width))\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: l\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    var s = ((((((o || p)) || q)) || r));\n                    if (((d.snapMode != \"JSBNG__outer\"))) {\n                        var o = ((Math.abs(((m - h))) <= e)), p = ((Math.abs(((n - i))) <= e)), q = ((Math.abs(((k - f))) <= e)), r = ((Math.abs(((l - g))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: m,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((n - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: k\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((l - c.helperProportions.width))\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    ((((((!c.snapElements[j].snapping && ((((((((o || p)) || q)) || r)) || s)))) && c.options.snap.snap)) && c.options.snap.snap.call(c.element, a, $.extend(c._uiHash(), {\n                        snapItem: c.snapElements[j].JSBNG__item\n                    })))), c.snapElements[j].snapping = ((((((((o || p)) || q)) || r)) || s));\n                };\n            ;\n            }\n        }), $.ui.plugin.add(\"draggable\", \"stack\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\").options, d = $.makeArray($(c.stack)).sort(function(a, b) {\n                    return ((((parseInt($(a).css(\"zIndex\"), 10) || 0)) - ((parseInt($(b).css(\"zIndex\"), 10) || 0))));\n                });\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = ((parseInt(d[0].style.zIndex) || 0));\n                $(d).each(function(a) {\n                    this.style.zIndex = ((e + a));\n                }), this[0].style.zIndex = ((e + d.length));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"zIndex\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"zIndex\") && (d._zIndex = c.css(\"zIndex\")))), c.css(\"zIndex\", d.zIndex);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._zIndex && $(b.helper).css(\"zIndex\", c._zIndex)));\n            }\n        });\n    }(jQuery), function($, a) {\n        var b = 5;\n        $.widget(\"ui.slider\", $.ui.mouse, {\n            widgetEventPrefix: \"slide\",\n            options: {\n                animate: !1,\n                distance: 0,\n                max: 100,\n                min: 0,\n                JSBNG__orientation: \"horizontal\",\n                range: !1,\n                step: 1,\n                value: 0,\n                values: null\n            },\n            _create: function() {\n                var a = this, c = this.options, d = this.element.JSBNG__find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"), e = \"\\u003Ca class='ui-slider-handle ui-state-default ui-corner-all' href='#'\\u003E\\u003C/a\\u003E\", f = ((((c.values && c.values.length)) || 1)), g = [];\n                this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this.element.addClass(((((((((((\"ui-slider ui-slider-\" + this.JSBNG__orientation)) + \" ui-widget\")) + \" ui-widget-content\")) + \" ui-corner-all\")) + ((c.disabled ? \" ui-slider-disabled ui-disabled\" : \"\"))))), this.range = $([]), ((c.range && (((((c.range === !0)) && (((c.values || (c.values = [this._valueMin(),this._valueMin(),]))), ((((c.values.length && ((c.values.length !== 2)))) && (c.values = [c.values[0],c.values[0],])))))), this.range = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").appendTo(this.element).addClass(((\"ui-slider-range ui-widget-header\" + ((((((c.range === \"min\")) || ((c.range === \"max\")))) ? ((\" ui-slider-range-\" + c.range)) : \"\"))))))));\n                for (var h = d.length; ((h < f)); h += 1) {\n                    g.push(e);\n                ;\n                };\n            ;\n                this.handles = d.add($(g.join(\"\")).appendTo(a.element)), this.handle = this.handles.eq(0), this.handles.add(this.range).filter(\"a\").click(function(a) {\n                    a.preventDefault();\n                }).hover(function() {\n                    ((c.disabled || $(this).addClass(\"ui-state-hover\")));\n                }, function() {\n                    $(this).removeClass(\"ui-state-hover\");\n                }).JSBNG__focus(function() {\n                    ((c.disabled ? $(this).JSBNG__blur() : ($(\".ui-slider .ui-state-focus\").removeClass(\"ui-state-focus\"), $(this).addClass(\"ui-state-focus\"))));\n                }).JSBNG__blur(function() {\n                    $(this).removeClass(\"ui-state-focus\");\n                }), this.handles.each(function(a) {\n                    $(this).data(\"index.ui-slider-handle\", a);\n                }), this.handles.keydown(function(c) {\n                    var d = $(this).data(\"index.ui-slider-handle\"), e, f, g, h;\n                    if (a.options.disabled) {\n                        return;\n                    }\n                ;\n                ;\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                    \n                      case $.ui.keyCode.END:\n                    \n                      case $.ui.keyCode.PAGE_UP:\n                    \n                      case $.ui.keyCode.PAGE_DOWN:\n                    \n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                    \n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        c.preventDefault();\n                        if (!a._keySliding) {\n                            a._keySliding = !0, $(this).addClass(\"ui-state-active\"), e = a._start(c, d);\n                            if (((e === !1))) {\n                                return;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    h = a.options.step, ((((a.options.values && a.options.values.length)) ? f = g = a.values(d) : f = g = a.value()));\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                        g = a._valueMin();\n                        break;\n                      case $.ui.keyCode.END:\n                        g = a._valueMax();\n                        break;\n                      case $.ui.keyCode.PAGE_UP:\n                        g = a._trimAlignValue(((f + ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.PAGE_DOWN:\n                        g = a._trimAlignValue(((f - ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                        if (((f === a._valueMax()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f + h)));\n                        break;\n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        if (((f === a._valueMin()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f - h)));\n                    };\n                ;\n                    a._slide(c, d, g);\n                }).keyup(function(b) {\n                    var c = $(this).data(\"index.ui-slider-handle\");\n                    ((a._keySliding && (a._keySliding = !1, a._stop(b, c), a._change(b, c), $(this).removeClass(\"ui-state-active\"))));\n                }), this._refreshValue(), this._animateOff = !1;\n            },\n            destroy: function() {\n                return this.handles.remove(), this.range.remove(), this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all\").removeData(\"slider\").unbind(\".slider\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options, c, d, e, f, g, h, i, j, k;\n                return ((b.disabled ? !1 : (this.elementSize = {\n                    width: this.element.JSBNG__outerWidth(),\n                    height: this.element.JSBNG__outerHeight()\n                }, this.elementOffset = this.element.offset(), c = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, d = this._normValueFromMouse(c), e = ((((this._valueMax() - this._valueMin())) + 1)), g = this, this.handles.each(function(a) {\n                    var b = Math.abs(((d - g.values(a))));\n                    ((((e > b)) && (e = b, f = $(this), h = a)));\n                }), ((((((b.range === !0)) && ((this.values(1) === b.min)))) && (h += 1, f = $(this.handles[h])))), i = this._start(a, h), ((((i === !1)) ? !1 : (this._mouseSliding = !0, g._handleIndex = h, f.addClass(\"ui-state-active\").JSBNG__focus(), j = f.offset(), k = !$(a.target).parents().andSelf().is(\".ui-slider-handle\"), this._clickOffset = ((k ? {\n                    left: 0,\n                    JSBNG__top: 0\n                } : {\n                    left: ((((a.pageX - j.left)) - ((f.width() / 2)))),\n                    JSBNG__top: ((((((((((a.pageY - j.JSBNG__top)) - ((f.height() / 2)))) - ((parseInt(f.css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt(f.css(\"borderBottomWidth\"), 10) || 0)))) + ((parseInt(f.css(\"marginTop\"), 10) || 0))))\n                })), ((this.handles.hasClass(\"ui-state-hover\") || this._slide(a, h, d))), this._animateOff = !0, !0))))));\n            },\n            _mouseStart: function(a) {\n                return !0;\n            },\n            _mouseDrag: function(a) {\n                var b = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, c = this._normValueFromMouse(b);\n                return this._slide(a, this._handleIndex, c), !1;\n            },\n            _mouseStop: function(a) {\n                return this.handles.removeClass(\"ui-state-active\"), this._mouseSliding = !1, this._stop(a, this._handleIndex), this._change(a, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1;\n            },\n            _detectOrientation: function() {\n                this.JSBNG__orientation = ((((this.options.JSBNG__orientation === \"vertical\")) ? \"vertical\" : \"horizontal\"));\n            },\n            _normValueFromMouse: function(a) {\n                var b, c, d, e, f;\n                return ((((this.JSBNG__orientation === \"horizontal\")) ? (b = this.elementSize.width, c = ((((a.x - this.elementOffset.left)) - ((this._clickOffset ? this._clickOffset.left : 0))))) : (b = this.elementSize.height, c = ((((a.y - this.elementOffset.JSBNG__top)) - ((this._clickOffset ? this._clickOffset.JSBNG__top : 0))))))), d = ((c / b)), ((((d > 1)) && (d = 1))), ((((d < 0)) && (d = 0))), ((((this.JSBNG__orientation === \"vertical\")) && (d = ((1 - d))))), e = ((this._valueMax() - this._valueMin())), f = ((this._valueMin() + ((d * e)))), this._trimAlignValue(f);\n            },\n            _start: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                return ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"start\", a, c);\n            },\n            _slide: function(a, b, c) {\n                var d, e, f;\n                ((((this.options.values && this.options.values.length)) ? (d = this.values(((b ? 0 : 1))), ((((((((this.options.values.length === 2)) && ((this.options.range === !0)))) && ((((((b === 0)) && ((c > d)))) || ((((b === 1)) && ((c < d)))))))) && (c = d))), ((((c !== this.values(b))) && (e = this.values(), e[b] = c, f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c,\n                    values: e\n                }), d = this.values(((b ? 0 : 1))), ((((f !== !1)) && this.values(b, c, !0))))))) : ((((c !== this.value())) && (f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c\n                }), ((((f !== !1)) && this.value(c))))))));\n            },\n            _stop: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"JSBNG__stop\", a, c);\n            },\n            _change: function(a, b) {\n                if (((!this._keySliding && !this._mouseSliding))) {\n                    var c = {\n                        handle: this.handles[b],\n                        value: this.value()\n                    };\n                    ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"change\", a, c);\n                }\n            ;\n            ;\n            },\n            value: function(a) {\n                if (arguments.length) {\n                    this.options.value = this._trimAlignValue(a), this._refreshValue(), this._change(null, 0);\n                    return;\n                }\n            ;\n            ;\n                return this._value();\n            },\n            values: function(a, b) {\n                var c, d, e;\n                if (((arguments.length > 1))) {\n                    this.options.values[a] = this._trimAlignValue(b), this._refreshValue(), this._change(null, a);\n                    return;\n                }\n            ;\n            ;\n                if (!arguments.length) {\n                    return this._values();\n                }\n            ;\n            ;\n                if (!$.isArray(arguments[0])) {\n                    return ((((this.options.values && this.options.values.length)) ? this._values(a) : this.value()));\n                }\n            ;\n            ;\n                c = this.options.values, d = arguments[0];\n                for (e = 0; ((e < c.length)); e += 1) {\n                    c[e] = this._trimAlignValue(d[e]), this._change(null, e);\n                ;\n                };\n            ;\n                this._refreshValue();\n            },\n            _setOption: function(a, b) {\n                var c, d = 0;\n                (($.isArray(this.options.values) && (d = this.options.values.length))), $.Widget.prototype._setOption.apply(this, arguments);\n                switch (a) {\n                  case \"disabled\":\n                    ((b ? (this.handles.filter(\".ui-state-focus\").JSBNG__blur(), this.handles.removeClass(\"ui-state-hover\"), this.handles.propAttr(\"disabled\", !0), this.element.addClass(\"ui-disabled\")) : (this.handles.propAttr(\"disabled\", !1), this.element.removeClass(\"ui-disabled\"))));\n                    break;\n                  case \"JSBNG__orientation\":\n                    this._detectOrientation(), this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(((\"ui-slider-\" + this.JSBNG__orientation))), this._refreshValue();\n                    break;\n                  case \"value\":\n                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;\n                    break;\n                  case \"values\":\n                    this._animateOff = !0, this._refreshValue();\n                    for (c = 0; ((c < d)); c += 1) {\n                        this._change(null, c);\n                    ;\n                    };\n                ;\n                    this._animateOff = !1;\n                };\n            ;\n            },\n            _value: function() {\n                var a = this.options.value;\n                return a = this._trimAlignValue(a), a;\n            },\n            _values: function(a) {\n                var b, c, d;\n                if (arguments.length) {\n                    return b = this.options.values[a], b = this._trimAlignValue(b), b;\n                }\n            ;\n            ;\n                c = this.options.values.slice();\n                for (d = 0; ((d < c.length)); d += 1) {\n                    c[d] = this._trimAlignValue(c[d]);\n                ;\n                };\n            ;\n                return c;\n            },\n            _trimAlignValue: function(a) {\n                if (((a <= this._valueMin()))) {\n                    return this._valueMin();\n                }\n            ;\n            ;\n                if (((a >= this._valueMax()))) {\n                    return this._valueMax();\n                }\n            ;\n            ;\n                var b = ((((this.options.step > 0)) ? this.options.step : 1)), c = ((((a - this._valueMin())) % b)), d = ((a - c));\n                return ((((((Math.abs(c) * 2)) >= b)) && (d += ((((c > 0)) ? b : -b))))), parseFloat(d.toFixed(5));\n            },\n            _valueMin: function() {\n                return this.options.min;\n            },\n            _valueMax: function() {\n                return this.options.max;\n            },\n            _refreshValue: function() {\n                var a = this.options.range, b = this.options, c = this, d = ((this._animateOff ? !1 : b.animate)), e, f = {\n                }, g, h, i, j;\n                ((((this.options.values && this.options.values.length)) ? this.handles.each(function(a, h) {\n                    e = ((((((c.values(a) - c._valueMin())) / ((c._valueMax() - c._valueMin())))) * 100)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), $(this).JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((c.options.range === !0)) && ((((c.JSBNG__orientation === \"horizontal\")) ? (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        left: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        width: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))) : (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        bottom: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        height: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))))))), g = e;\n                }) : (h = this.value(), i = this._valueMin(), j = this._valueMax(), e = ((((j !== i)) ? ((((((h - i)) / ((j - i)))) * 100)) : 0)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), this.handle.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    width: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    width: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    height: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    height: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))))));\n            }\n        }), $.extend($.ui.slider, {\n            version: \"1.8.22\"\n        });\n    }(jQuery);\n});\ndeferred(\"$lib/jquery_webcam.js\", function() {\n    (function($) {\n        var a = {\n            extern: null,\n            append: !0,\n            width: 320,\n            height: 240,\n            mode: \"callback\",\n            swffile: \"jscam.swf\",\n            quality: 85,\n            debug: function() {\n            \n            },\n            onCapture: function() {\n            \n            },\n            onTick: function() {\n            \n            },\n            onSave: function() {\n            \n            },\n            onCameraStart: function() {\n            \n            },\n            onCameraStop: function() {\n            \n            },\n            onLoad: function() {\n            \n            },\n            onDetect: function() {\n            \n            }\n        };\n        window.webcam = a, $.fn.webcam = function(b) {\n            if (((typeof b == \"object\"))) {\n                {\n                    var fin57keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin57i = (0);\n                    var c;\n                    for (; (fin57i < fin57keys.length); (fin57i++)) {\n                        ((c) = (fin57keys[fin57i]));\n                        {\n                            ((((b[c] !== undefined)) && (a[c] = b[c])));\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            var d = ((((((((((((((((((((((((\"\\u003Cobject id=\\\"XwebcamXobjectX\\\" type=\\\"application/x-shockwave-flash\\\" data=\\\"\" + a.swffile)) + \"\\\" width=\\\"\")) + a.width)) + \"\\\" height=\\\"\")) + a.height)) + \"\\\"\\u003E\\u003Cparam name=\\\"movie\\\" value=\\\"\")) + a.swffile)) + \"\\\" /\\u003E\\u003Cparam name=\\\"FlashVars\\\" value=\\\"mode=\")) + a.mode)) + \"&amp;quality=\")) + a.quality)) + \"\\\" /\\u003E\\u003Cparam name=\\\"allowScriptAccess\\\" value=\\\"always\\\" /\\u003E\\u003C/object\\u003E\"));\n            ((((null !== a.extern)) ? $(a.extern)[((a.append ? \"append\" : \"html\"))](d) : this[((a.append ? \"append\" : \"html\"))](d))), (_register = function(b) {\n                var c = JSBNG__document.getElementById(\"XwebcamXobjectX\");\n                ((((c.capture !== undefined)) ? (a.capture = function(a) {\n                    try {\n                        return c.capture(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.save = function(a) {\n                    try {\n                        return c.save(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.onLoad()) : ((((0 == b)) ? a.debug(\"error\", \"Flash movie not yet registered!\") : window.JSBNG__setTimeout(_register, ((1000 * ((4 - b)))), ((b - 1)))))));\n            })(3);\n        };\n    })(jQuery);\n});\ndefine(\"app/ui/settings/with_cropper\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function odd(a) {\n        return ((((a % 2)) != 0));\n    };\n;\n    function Cropper() {\n        this.dataFromBase64URL = function(a) {\n            return a.slice(((a.indexOf(\",\") + 1)));\n        }, this.determineCrop = function() {\n            var a = this.select(\"cropImageSelector\"), b = this.select(\"cropMaskSelector\"), c = a.offset(), d = b.offset(), e = ((this.attr.originalWidth / a.width())), f = ((((d.JSBNG__top - c.JSBNG__top)) + this.attr.maskPadding)), g = ((((d.left - c.left)) + this.attr.maskPadding)), h = ((((((d.left + this.attr.maskPadding)) > c.left)) ? ((d.left + this.attr.maskPadding)) : c.left)), i = ((((((d.JSBNG__top + this.attr.maskPadding)) > c.JSBNG__top)) ? ((d.JSBNG__top + this.attr.maskPadding)) : c.JSBNG__top)), j = ((((((((d.left + b.width())) - this.attr.maskPadding)) < ((c.left + a.width())))) ? ((((d.left + b.width())) - this.attr.maskPadding)) : ((c.left + a.width())))), k = ((((((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) < ((c.JSBNG__top + a.height())))) ? ((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) : ((c.JSBNG__top + a.height()))));\n            return {\n                maskWidth: ((b.width() - ((2 * this.attr.maskPadding)))),\n                maskHeight: ((b.height() - ((2 * this.attr.maskPadding)))),\n                imageLeft: Math.round(((e * ((((g >= 0)) ? g : 0))))),\n                imageTop: Math.round(((e * ((((f >= 0)) ? f : 0))))),\n                imageWidth: Math.round(((e * ((j - h))))),\n                imageHeight: Math.round(((e * ((k - i))))),\n                maskY: ((((f < 0)) ? -f : 0)),\n                maskX: ((((g < 0)) ? -g : 0))\n            };\n        }, this.determineImageType = function(a) {\n            return ((((a.substr(a.indexOf(\",\"), 4).indexOf(\",/9j\") == 0)) ? \"image/jpeg\" : \"image/png\"));\n        }, this.canvasToDataURL = function(a, b) {\n            return ((((b == \"image/jpeg\")) ? a.toDataURL(\"image/jpeg\", 236399) : a.toDataURL(\"image/png\")));\n        }, this.prepareCropImage = function() {\n            var a = this.select(\"cropImageSelector\");\n            this.$cropImage = $(\"\\u003Cimg\\u003E\"), this.$cropImage.attr(\"src\", a.attr(\"src\")), this.JSBNG__on(this.$cropImage, \"load\", this.cropImageReady);\n        }, this.cropImageReady = function() {\n            this.trigger(\"uiCropImageReady\");\n        }, this.clientsideCrop = function(a) {\n            var b = this.select(\"drawSurfaceSelector\"), c = this.select(\"cropImageSelector\"), d = this.determineImageType(c.attr(\"src\")), e = b[0].getContext(\"2d\"), f = a.maskHeight, g = a.maskWidth, h = a.maskX, i = a.maskY;\n            this.$cropImage.height(this.attr.originalHeight), this.$cropImage.width(this.attr.originalWidth);\n            if (((((a.imageWidth >= this.attr.maximumWidth)) || ((a.imageHeight >= this.attr.maximumHeight))))) {\n                f = this.attr.maximumHeight, g = this.attr.maximumWidth, h = Math.round(((a.maskX * ((this.attr.maximumWidth / a.imageWidth))))), i = Math.round(((a.maskY * ((this.attr.maximumHeight / a.imageHeight)))));\n            }\n        ;\n        ;\n            return e.canvas.width = g, e.canvas.height = f, e.fillStyle = \"white\", e.fillRect(0, 0, g, f), e.drawImage(this.$cropImage[0], a.imageLeft, a.imageTop, a.imageWidth, a.imageHeight, h, i, g, f), {\n                fileData: this.dataFromBase64URL(this.canvasToDataURL(b[0], d)),\n                offsetTop: 0,\n                offsetLeft: 0,\n                width: e.canvas.width,\n                height: e.canvas.height\n            };\n        }, this.cropDimensions = function() {\n            var a = this.select(\"cropMaskSelector\"), b = a.offset();\n            return {\n                JSBNG__top: b.JSBNG__top,\n                left: b.left,\n                maskWidth: a.width(),\n                maskHeight: a.height(),\n                cropWidth: ((a.width() - ((2 * this.attr.maskPadding)))),\n                cropHeight: ((a.height() - ((2 * this.attr.maskPadding))))\n            };\n        }, this.centerImage = function() {\n            var a = this.cropDimensions(), b = this.select(\"cropImageSelector\"), c = b.width(), d = b.height(), e = ((c / d));\n            ((((((((c >= d)) && ((a.cropWidth >= a.cropHeight)))) && ((e >= ((a.cropWidth / a.cropHeight)))))) ? (d = a.cropHeight, c = Math.round(((c * ((d / this.attr.originalHeight)))))) : (c = a.cropWidth, d = Math.round(((d * ((c / this.attr.originalWidth)))))))), b.width(c), b.height(d), b.offset({\n                JSBNG__top: ((((((a.maskHeight / 2)) - ((d / 2)))) + a.JSBNG__top)),\n                left: ((((((a.maskWidth / 2)) - ((c / 2)))) + a.left))\n            });\n        }, this.onDragStart = function(a, b) {\n            this.attr.imageStartOffset = this.select(\"cropImageSelector\").offset();\n        }, this.onDragHandler = function(a, b) {\n            this.select(\"cropImageSelector\").offset({\n                JSBNG__top: ((((this.attr.imageStartOffset.JSBNG__top + b.position.JSBNG__top)) - b.originalPosition.JSBNG__top)),\n                left: ((((this.attr.imageStartOffset.left + b.position.left)) - b.originalPosition.left))\n            });\n        }, this.onDragStop = function(a, b) {\n            this.select(\"cropOverlaySelector\").offset(this.select(\"cropMaskSelector\").offset());\n        }, this.imageLoaded = function(a, b) {\n            function h(a) {\n                var b = c.offset(), d = Math.round(((b.left + ((c.width() / 2))))), e = Math.round(((b.JSBNG__top + ((c.height() / 2))))), h = Math.round(((f * ((1 + ((a.value / 100))))))), i = Math.round(((g * ((1 + ((a.value / 100)))))));\n                h = ((odd(h) ? h += 1 : h)), i = ((odd(i) ? i += 1 : i)), c.height(h), c.width(i), c.offset({\n                    JSBNG__top: Math.round(((e - ((h / 2))))),\n                    left: Math.round(((d - ((i / 2)))))\n                });\n            };\n        ;\n            var c = this.select(\"cropImageSelector\"), d = this.select(\"cropOverlaySelector\"), e = this.select(\"cropperSliderSelector\");\n            this.attr.originalHeight = c.height(), this.attr.originalWidth = c.width(), this.centerImage();\n            var f = c.height(), g = c.width();\n            e.slider({\n                value: 0,\n                max: 100,\n                min: 0,\n                slide: function(a, b) {\n                    h(b);\n                }\n            }), e.slider(\"option\", \"value\", 0), d.draggable({\n                drag: this.onDragHandler.bind(this),\n                JSBNG__stop: this.onDragStop.bind(this),\n                start: this.onDragStart.bind(this),\n                containment: this.attr.cropContainerSelector\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.attr.cropImageSelector, \"load\", this.imageLoaded);\n        });\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Cropper;\n});\ndefine(\"app/ui/settings/with_webcam\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function Webcam() {\n        this.doJsCam = function() {\n            $(this.attr.webcamContainerSelector).webcam({\n                width: 320,\n                height: 240,\n                mode: \"callback\",\n                swffile: \"/flash/jscam.swf\",\n                onLoad: this.jsCamLoad.bind(this),\n                onCameraStart: this.jsCamCameraStart.bind(this),\n                onCameraStop: this.jsCamCameraStop.bind(this),\n                onCapture: this.jsCamCapture.bind(this),\n                onSave: this.jsCamSave.bind(this),\n                debug: this.jsCamDebug\n            });\n        }, this.jsCamLoad = function() {\n            var a = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\");\n            this.image = a.getImageData(0, 0, 320, 240), this.pos = 0;\n        }, this.jsCamCameraStart = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !1);\n        }, this.jsCamCameraStop = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !0);\n        }, this.jsCamCapture = function() {\n            window.webcam.save();\n        }, this.jsCamSave = function(a) {\n            var b = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\"), c = a.split(\";\"), d = this.image;\n            for (var e = 0; ((e < 320)); e++) {\n                var f = parseInt(c[e]);\n                d.data[((this.pos + 0))] = ((((f >> 16)) & 255)), d.data[((this.pos + 1))] = ((((f >> 8)) & 255)), d.data[((this.pos + 2))] = ((f & 255)), d.data[((this.pos + 3))] = 255, this.pos += 4;\n            };\n        ;\n            if (((this.pos >= 307200))) {\n                var g = this.select(\"webcamCanvasSelector\")[0], h = this.select(\"cropImageSelector\")[0];\n                b.putImageData(d, 0, 0), h.src = g.toDataURL(\"image/png\"), this.pos = 0, this.trigger(\"jsCamCapture\");\n            }\n        ;\n        ;\n        }, this.jsCamDebug = function(a, b) {\n        \n        };\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Webcam;\n});\ndefine(\"app/utils/is_showing_avatar_options\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        return $(\"body\").hasClass(\"show-avatar-options\");\n    };\n});\ndefine(\"app/ui/dialogs/profile_image_upload_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/settings/with_cropper\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"core/i18n\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function profileImageUpload() {\n        this.defaultAttrs({\n            webcamTitle: _(\"Smile!\"),\n            titleSelector: \".modal-title\",\n            profileImageCropDivSelector: \".image-upload-crop\",\n            profileImageWebcamDivSelector: \".image-upload-webcam\",\n            cancelSelector: \".profile-image-cancel\",\n            saveSelector: \".profile-image-save\",\n            cropperSliderSelector: \".cropper-slider\",\n            cropImageSelector: \".crop-image\",\n            cropMaskSelector: \".cropper-mask\",\n            cropOverlaySelector: \".cropper-overlay\",\n            captureWebcamSelector: \".profile-image-capture-webcam\",\n            webcamContainerSelector: \".webcam-container\",\n            webcamCanvasSelector: \".webcam-canvas\",\n            imageNameSelector: \"#choose-photo div.photo-selector input.file-name\",\n            imageDataSelector: \"#choose-photo div.photo-selector input.file-data\",\n            imageUploadSpinnerSelector: \".image-upload-spinner\",\n            maskPadding: 40,\n            JSBNG__top: 50,\n            uploadType: \"\",\n            drawSurfaceSelector: \".drawsurface\",\n            saveEvent: \"uiProfileImageSave\",\n            successEvent: \"dataProfileImageSuccess\",\n            errorEvent: \"dataProfileImageFailure\",\n            showSuccessMessage: !0,\n            maximumWidth: 256,\n            maximumHeight: 256,\n            fileName: \"\"\n        }), this.showCropper = function(a) {\n            this.setTitle(this.attr.originalTitle), this.select(\"captureWebcamSelector\").hide(), this.select(\"saveSelector\").show(), this.attr.fileName = a, this.clearForm(), JSBNG__document.body.JSBNG__focus(), this.trigger(\"uiShowingCropper\", {\n                scribeElement: this.getScribeElement()\n            });\n        }, this.setScribeElement = function(a) {\n            this.scribeElement = a;\n        }, this.getScribeElement = function() {\n            return ((this.scribeElement || \"upload\"));\n        }, this.reset = function() {\n            this.select(\"cropImageSelector\").attr(\"src\", \"\"), this.select(\"cropImageSelector\").attr(\"style\", \"\"), this.select(\"webcamContainerSelector\").empty(), this.select(\"cancelSelector\").show(), this.select(\"saveSelector\").attr(\"disabled\", !1).hide(), this.$node.removeClass(\"saving\"), this.select(\"profileImageWebcamDivSelector\").hide(), this.select(\"profileImageCropDivSelector\").hide(), this.select(\"captureWebcamSelector\").hide();\n        }, this.swapVisibility = function(a, b) {\n            this.$node.JSBNG__find(a).hide(), this.$node.JSBNG__find(b).show();\n        }, this.haveImageSelected = function(a, b) {\n            var c = $(this.attr.imageNameSelector).attr(\"value\"), d = ((\"data:image/jpeg;base64,\" + $(this.attr.imageDataSelector).attr(\"value\")));\n            this.gotImageData(b.uploadType, c, d), this.trigger(\"uiCloseDropdowns\");\n        }, this.gotImageData = function(a, b, c, d) {\n            ((((((a !== \"background\")) && ((this.attr.uploadType == a)))) && (this.JSBNG__openDialog(), this.trigger(\"uiUploadReceived\"), this.select(\"cropImageSelector\").attr(\"src\", c), this.select(\"profileImageCropDivSelector\").show(), this.setScribeElement(\"upload\"), this.showCropper(b), ((d && this.trigger(\"uiDropped\"))))));\n        }, this.JSBNG__openDialog = function() {\n            this.open(), this.reset();\n        }, this.setTitle = function(a) {\n            this.select(\"titleSelector\").text(a);\n        }, this.showWebcam = function(a, b) {\n            if (((this.attr.uploadType != b.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            this.setTitle(this.attr.webcamTitle), this.JSBNG__openDialog(), this.select(\"profileImageWebcamDivSelector\").show(), this.select(\"captureWebcamSelector\").show(), this.doJsCam(), this.trigger(\"uiShowingWebcam\");\n        }, this.takePhoto = function() {\n            webcam.capture();\n        }, this.webcamCaptured = function() {\n            this.swapVisibility(this.attr.profileImageWebcamDivSelector, this.attr.profileImageCropDivSelector), this.setScribeElement(\"webcam\"), $(this.attr.imageDataSelector).attr(\"value\", this.dataFromBase64URL(this.select(\"cropImageSelector\").attr(\"src\"))), $(this.attr.imageNameSelector).attr(\"value\", \"webcam-cap.png\"), this.showCropper();\n        }, this.save = function(a, b) {\n            if (this.$node.hasClass(\"saving\")) {\n                return;\n            }\n        ;\n        ;\n            return this.prepareCropImage(), a.preventDefault(), !1;\n        }, this.readyToCrop = function() {\n            var a = this.determineCrop(), b = this.clientsideCrop(a);\n            b.fileName = this.attr.fileName, b.uploadType = this.attr.uploadType, b.scribeElement = this.getScribeElement(), this.trigger(\"uiImageSave\", b), this.enterSavingState();\n        }, this.enterSavingState = function() {\n            this.select(\"imageUploadSpinnerSelector\").css(\"height\", this.select(\"profileImageCropDivSelector\").height()), this.$node.addClass(\"saving\"), this.select(\"saveSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").hide();\n        }, this.uploadSuccess = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            if (this.attr.showSuccessMessage) {\n                var c = {\n                    avatar: _(\"avatar\"),\n                    header: _(\"header\"),\n                    background: _(\"background\")\n                }, d = ((c[this.attr.uploadType] || this.attr.uploadType));\n                this.trigger(\"uiAlertBanner\", {\n                    message: _(\"Your {{uploadType}} was published successfully.\", {\n                        uploadType: d\n                    })\n                });\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImagePublished\", {\n                scribeElement: this.getScribeElement()\n            }), this.close();\n        }, this.uploadFailed = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImageDialogFailure\", {\n                scribeElement: this.getScribeElement()\n            }), this.trigger(\"uiAlertBanner\", {\n                message: b.message\n            }), this.close();\n        }, this.clearForm = function() {\n            $(this.attr.imageDataSelector).removeAttr(\"value\"), $(this.attr.imageNameSelector).removeAttr(\"value\");\n        }, this.interceptGotProfileImageData = function(a, b) {\n            ((((((b.uploadType == \"header\")) && isShowingAvatarOptions())) && (b.uploadType = \"avatar\"))), this.gotImageData(b.uploadType, b.JSBNG__name, b.contents, b.wasDropped);\n        }, this.after(\"initialize\", function() {\n            this.attr.originalTitle = this.select(\"titleSelector\").text(), this.JSBNG__on(JSBNG__document, \"uiCropperWebcam\", this.showWebcam), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.haveImageSelected), this.JSBNG__on(\"jsCamCapture\", this.webcamCaptured), this.JSBNG__on(this.select(\"captureWebcamSelector\"), \"click\", this.takePhoto), this.JSBNG__on(this.select(\"saveSelector\"), \"click\", this.save), this.JSBNG__on(\"uiCropImageReady\", this.readyToCrop), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.uploadSuccess), this.JSBNG__on(JSBNG__document, \"uiImageUploadFailure dataImageFailedToEnqueue\", this.uploadFailed), this.JSBNG__on(JSBNG__document, \"uiGotProfileImageData\", this.interceptGotProfileImageData), this.JSBNG__on(this.attr.cancelSelector, \"click\", function(a, b) {\n                this.close();\n            }), this.JSBNG__on(\"uiDialogClosed\", function() {\n                this.clearForm(), this.reset(), this.trigger(\"uiProfileImageDialogClose\");\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withCropper = require(\"app/ui/settings/with_cropper\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withWebcam = require(\"app/ui/settings/with_webcam\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\"), _ = require(\"core/i18n\");\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = defineComponent(profileImageUpload, withCropper, withDialog, withPosition, withWebcam);\n});\ndefine(\"app/ui/dialogs/profile_edit_error_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileEditErrorDialog() {\n        this.defaultAttrs({\n            okaySelector: \".ok-btn\",\n            messageSelector: \".profile-message\",\n            updateErrorMessage: _(\"There was an error updating your profile.\")\n        }), this.closeDialog = function(a, b) {\n            this.close();\n        }, this.showError = function(a, b) {\n            var c = ((b.message || this.attr.updateErrorMessage));\n            this.select(\"messageSelector\").html(c), this.open();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.showError), this.JSBNG__on(\"click\", {\n                okaySelector: this.closeDialog\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\"), ProfileEditErrorDialog = defineComponent(profileEditErrorDialog, withDialog);\n    module.exports = ProfileEditErrorDialog;\n});\ndefine(\"app/ui/dialogs/profile_confirm_image_delete_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileConfirmImageDeleteDialog() {\n        this.defaultAttrs({\n            removeSelector: \".ok-btn\",\n            cancelSelector: \".cancel-btn\",\n            uploadType: \"\"\n        }), this.removeImage = function() {\n            this.disableButtons(), this.trigger(\"uiDeleteImage\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.triggerHideDeleteLink = function() {\n            this.trigger(\"uiHideDeleteLink\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.disableButtons = function() {\n            this.select(\"removeSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).fadeOut();\n        }, this.enableButtons = function() {\n            this.select(\"removeSelector\").removeAttr(\"disabled\"), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).show();\n        }, this.showConfirm = function(a, b) {\n            ((((b.uploadType === this.attr.uploadType)) && this.open()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiConfirmDeleteImage\", this.showConfirm), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.close), this.JSBNG__on(\"uiDialogClosed\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.triggerHideDeleteLink), this.JSBNG__on(\"click\", {\n                cancelSelector: this.close,\n                removeSelector: this.removeImage\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(profileConfirmImageDeleteDialog, withDialog);\n});\ndefine(\"app/ui/droppable_image\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_drop_events\",\"app/utils/image\",], function(module, require, exports) {\n    function droppableImage() {\n        this.defaultAttrs({\n            uploadType: \"\"\n        }), this.triggerGotProfileImageData = function(a, b) {\n            this.trigger(\"uiGotProfileImageData\", {\n                JSBNG__name: a,\n                contents: b,\n                uploadType: this.attr.uploadType,\n                wasDropped: !0\n            });\n        }, this.getDroppedImageData = function(a, b) {\n            if (!this.editing) {\n                return;\n            }\n        ;\n        ;\n            a.stopImmediatePropagation();\n            var c = b.file;\n            image.getFileData(c.JSBNG__name, c, this.triggerGotProfileImageData.bind(this));\n        }, this.allowDrop = function(a) {\n            this.editing = ((a.type === \"uiEditProfileStart\"));\n        }, this.after(\"initialize\", function() {\n            this.editing = !1, this.JSBNG__on(JSBNG__document, \"uiEditProfileStart uiEditProfileEnd\", this.allowDrop), this.JSBNG__on(\"uiDrop\", this.getDroppedImageData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropEvents = require(\"app/ui/with_drop_events\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(droppableImage, withDropEvents);\n});\ndefine(\"app/ui/profile_image_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"core/clock\",], function(module, require, exports) {\n    function profileImageMonitor() {\n        this.defaultAttrs({\n            isProcessingCookie: \"image_processing_complete_key\",\n            pollInterval: 2000,\n            uploadType: \"avatar\",\n            spinnerUrl: undefined,\n            spinnerSelector: \".preview-spinner\",\n            thumbnailSelector: \"#avatar_preview\",\n            miniAvatarThumbnailSelector: \".mini-profile .avatar\",\n            deleteButtonSelector: \"#delete-image\",\n            deleteFormSelector: \"#profile_image_delete_form\"\n        }), this.startPollingUploadStatus = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.uploadCheckTimer = clock.setIntervalEvent(\"uiCheckImageUploadStatus\", this.attr.pollInterval, {\n                uploadType: this.attr.uploadType,\n                key: cookie(this.attr.isProcessingCookie)\n            }), this.setThumbsLoading();\n        }, this.stopPollingUploadStatus = function() {\n            ((this.uploadCheckTimer && clock.JSBNG__clearInterval(this.uploadCheckTimer)));\n        }, this.setThumbsLoading = function(a, b) {\n            if (this.ignoreUIEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.updateThumbs(this.attr.spinnerUrl);\n        }, this.updateThumbs = function(a) {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", a), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", a)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", ((a ? ((((\"url(\" + a)) + \")\")) : \"none\")))))));\n        }, this.checkUploadStatus = function(a, b) {\n            if ((((($(\"html\").hasClass(\"debug\") || ((b.JSBNG__status == \"processing\")))) || this.ignoreEvent(a, b)))) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status), ((b.JSBNG__status && this.trigger(\"uiImageUploadSuccess\", b)));\n        }, this.handleUploadComplete = function(a) {\n            this.stopPollingUploadStatus(), cookie(this.attr.isProcessingCookie, null, {\n                path: \"/\"\n            }), this.updateThumbs(a);\n        }, this.handleImageDelete = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status);\n        }, this.handleFailedUpload = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.restoreInitialThumbnail(), this.trigger(\"uiImageUploadFailure\", ((b || {\n            })));\n        }, this.deleteProfileImage = function(a, b) {\n            return a.preventDefault(), $(this.attr.deleteFormSelector).submit(), !1;\n        }, this.saveInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? this.initialThumbnail = $(this.attr.thumbnailSelector).attr(\"src\") : ((((this.attr.uploadType == \"header\")) && (this.initialThumbnail = $(this.attr.thumbnailSelector).css(\"background-image\"))))));\n        }, this.restoreInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", this.initialThumbnail), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", this.initialThumbnail)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", this.initialThumbnail)))));\n        }, this.ignoreEvent = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))));\n        }, this.ignoreUIEvent = function(a, b) {\n            return ((b && ((b.uploadType != this.attr.uploadType))));\n        }, this.after(\"initialize\", function() {\n            this.attr.spinnerUrl = this.select(\"spinnerSelector\").attr(\"src\"), ((cookie(this.attr.isProcessingCookie) ? this.startPollingUploadStatus() : this.saveInitialThumbnail())), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.startPollingUploadStatus), this.JSBNG__on(JSBNG__document, \"dataHasImageUploadStatus\", this.checkUploadStatus), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleImageDelete), this.JSBNG__on(JSBNG__document, \"dataFailedToGetImageUploadStatus\", this.handleFailedUpload), this.JSBNG__on(JSBNG__document, \"uiDeleteImage\", this.setThumbsLoading), this.JSBNG__on(this.attr.deleteButtonSelector, \"click\", this.deleteProfileImage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), clock = require(\"core/clock\");\n    module.exports = defineComponent(profileImageMonitor);\n});\ndefine(\"app/data/inline_edit_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function inlineEditScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"inline_edit\"\n            }\n        }), this.scribeAction = function(a) {\n            var b = utils.merge(this.attr.scribeContext, {\n                action: a\n            });\n            return function(a, c) {\n                this.scribe(b, c);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiEditProfileStart\", this.scribeAction(\"edit\")), this.JSBNG__on(\"uiEditProfileCancel\", this.scribeAction(\"cancel\")), this.JSBNG__on(\"dataInlineEditSaveSuccess\", this.scribeAction(\"success\")), this.JSBNG__on(\"dataInlineEditSaveError\", this.scribeAction(\"error\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), InlineEditScribe = defineComponent(inlineEditScribe, withScribe);\n    module.exports = InlineEditScribe;\n});\ndefine(\"app/data/settings/profile_image_upload_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileImageUploadScribe() {\n        this.scribeEvent = function(a, b) {\n            this.scribe(utils.merge(a.scribeContext, b));\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiUploadReceived\", {\n                element: \"upload\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiShowingWebcam\", {\n                element: \"webcam\",\n                action: \"impression\"\n            }), this.scribeOnEvent(\"jsCamCapture\", {\n                element: \"webcam\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiProfileImageDialogClose\", {\n                action: \"close\"\n            }), this.JSBNG__on(\"uiImageSave\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiShowingCropper\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"impression\"\n                });\n            }), this.JSBNG__on(\"uiProfileImagePublished\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiProfileImageDialogFailure\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"failure\"\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileImageUploadScribe = defineComponent(profileImageUploadScribe, withScribe);\n    module.exports = ProfileImageUploadScribe;\n});\ndefine(\"app/data/drag_and_drop_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function dragAndDropScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiDropped\", {\n                action: \"drag_and_drop\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(dragAndDropScribe, withScribe);\n});\ndefine(\"app/ui/settings/change_photo\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",\"app/data/with_scribe\",\"app/utils/image\",\"core/utils\",\"core/i18n\",], function(module, require, exports) {\n    function changePhoto() {\n        this.defaultAttrs({\n            uploadType: \"avatar\",\n            swfSelector: \"div.webcam-detect.swf-container\",\n            toggler: \"button.choose-photo-button\",\n            chooseExistingSelector: \"#photo-choose-existing\",\n            chooseWebcamSelector: \"#photo-choose-webcam\",\n            deleteImageSelector: \"#photo-delete-image\",\n            itemSelector: \"li.dropdown-link\",\n            firstItemSelector: \"li.dropdown-link:nth-child(2)\",\n            caretSelector: \".dropdown-caret\",\n            photoSelector: \"div.photo-selector\",\n            showDeleteSuccessMessage: !0,\n            alwaysOpen: !1,\n            confirmDelete: !1\n        }), this.webcamDetectorSwfPath = \"/flash/WebcamDetector.swf\", this.isUsingFlashUploader = function() {\n            return ((image.hasFlash() && !image.hasFileReader()));\n        }, this.isFirefox36 = function() {\n            var a = $.browser;\n            return ((a.mozilla && ((a.version.slice(0, 3) == \"1.9\"))));\n        }, this.needsMenuHeldOpen = function() {\n            return ((this.isUsingFlashUploader() || this.isFirefox36()));\n        }, this.openWebCamDialog = function(a) {\n            a.preventDefault(), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1))), this.trigger(\"uiCropperWebcam\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.webcamDetected = function() {\n            var a = this.select(\"chooseWebcamSelector\");\n            this.updateDropdownItemVisibility(a, !a.hasClass(\"no-webcam\"));\n        }, this.dropdownOpened = function(a, b) {\n            var c = ((((b && b.scribeContext)) || this.attr.eventData.scribeContext));\n            this.scribe(utils.merge(c, {\n                action: \"open\"\n            })), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !0)));\n        }, this.setupWebcamDetection = function() {\n            var a = this.select(\"swfSelector\");\n            ((image.hasFlash() && (((window.webcam && (window.webcam.onDetect = this.webcamDetected.bind(this)))), a.css(\"width\", \"0\"), a.css(\"height\", \"0\"), a.css(\"overflow\", \"hidden\"), a.flash({\n                swf: this.webcamDetectorSwfPath,\n                height: 1,\n                width: 1,\n                wmode: \"transparent\",\n                AllowScriptAccess: \"sameDomain\"\n            }))));\n        }, this.deleteImage = function() {\n            if (((this.attr.uploadType !== \"background\"))) {\n                ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1)));\n                var a = ((this.attr.confirmDelete ? \"uiConfirmDeleteImage\" : \"uiDeleteImage\"));\n                this.trigger(a, {\n                    uploadType: this.attr.uploadType\n                });\n            }\n             else this.hideFileName();\n        ;\n        ;\n            ((this.attr.confirmDelete || this.hideDeleteLink()));\n        }, this.handleDeleteImageSuccess = function(a, b) {\n            ((((b.message && this.attr.showDeleteSuccessMessage)) && this.trigger(\"uiAlertBanner\", b)));\n        }, this.handleDeleteImageFailure = function(a, b) {\n            if (((b.sourceEventData.uploadType != this.attr.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            b.message = ((b.message || _(\"Sorry! Something went wrong deleting your {{uploadType}}. Please try again.\", this.attr))), this.trigger(\"uiAlertBanner\", b), this.showDeleteLink();\n        }, this.showDeleteLinkForTargetedButton = function(a, b) {\n            ((((((b.uploadType == this.attr.uploadType)) && ((b.uploadType == \"background\")))) && this.showDeleteLink()));\n        }, this.showDeleteLink = function() {\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !0);\n        }, this.hideDeleteLink = function(a, b) {\n            if (((((b && b.uploadType)) && ((b.uploadType !== this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !1);\n        }, this.showFileName = function(a, b) {\n            this.$node.siblings(\".display-file-requirement\").hide(), this.$node.siblings(\".display-file-name\").text(b.fileName).show();\n        }, this.hideFileName = function() {\n            this.$node.siblings(\".display-file-requirement\").show(), this.$node.siblings(\".display-file-name\").hide();\n        }, this.updateDropdownItemVisibility = function(a, b) {\n            ((b ? a.show() : a.hide())), this.updateMenuHierarchy();\n        }, this.upliftFilePicker = function() {\n            var a = this.select(\"photoSelector\");\n            this.select(\"toggler\").hide(), a.JSBNG__find(\"button\").attr(\"disabled\", !1), a.appendTo(this.$node);\n        }, this.moveFilePickerBackIntoMenu = function() {\n            var a = this.select(\"photoSelector\");\n            a.appendTo(this.select(\"chooseExistingSelector\")), this.select(\"toggler\").show();\n        }, this.updateMenuHierarchy = function() {\n            if (this.attr.alwaysOpen) {\n                return;\n            }\n        ;\n        ;\n            ((((this.availableDropdownItems().length == 1)) ? this.upliftFilePicker() : this.moveFilePickerBackIntoMenu()));\n        }, this.availableDropdownItems = function() {\n            return this.select(\"itemSelector\").filter(function() {\n                return (($(this).css(\"display\") != \"none\"));\n            });\n        }, this.addCaretHover = function() {\n            this.select(\"caretSelector\").addClass(\"hover\");\n        }, this.removeCaretHover = function() {\n            this.select(\"caretSelector\").removeClass(\"hover\");\n        }, this.after(\"initialize\", function() {\n            ((((this.attr.uploadType == \"avatar\")) && this.setupWebcamDetection())), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.showDeleteLink), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.showDeleteLinkForTargetedButton), this.JSBNG__on(JSBNG__document, \"uiFileNameReady\", this.showFileName), this.JSBNG__on(JSBNG__document, \"uiHideDeleteLink\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleDeleteImageSuccess), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.handleDeleteImageFailure), this.JSBNG__on(\"uiDropdownOpened\", this.dropdownOpened), this.JSBNG__on(\"click\", {\n                chooseWebcamSelector: this.openWebCamDialog,\n                deleteImageSelector: this.deleteImage\n            }), this.JSBNG__on(\"mouseover\", {\n                firstItemSelector: this.addCaretHover\n            }), this.JSBNG__on(\"mouseout\", {\n                firstItemSelector: this.removeCaretHover\n            });\n            if (this.attr.alwaysOpen) {\n                var a = [\"toggleDisplay\",\"closeDropdown\",\"closeAndRestoreFocus\",\"close\",];\n                a.forEach(function(a) {\n                    this.around(a, $.noop);\n                }.bind(this));\n            }\n        ;\n        ;\n            this.around(\"toggleDisplay\", function(a, b) {\n                var c = this.availableDropdownItems();\n                ((((((((c.length == 1)) && !this.$node.hasClass(\"open\"))) && !this.isItemClick(b))) ? c.click() : a(b)));\n            }), this.updateMenuHierarchy();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), withScribe = require(\"app/data/with_scribe\"), image = require(\"app/utils/image\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(changePhoto, withDropdown, withScribe);\n});\ndefine(\"app/ui/image_uploader\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",\"app/ui/with_image_selection\",\"app/data/with_scribe\",\"core/i18n\",], function(module, require, exports) {\n    function imageUploader() {\n        this.defaults = {\n            swfHeight: 30,\n            swfWidth: 274,\n            uploadType: \"\",\n            fileNameTextSelector: \".photo-file-name\"\n        }, this.updateFileNameText = function(a, b) {\n            var c = this.truncate(b.fileName, 18);\n            this.select(\"fileNameSelector\").val(b.fileName), this.select(\"fileNameTextSelector\").text(c), this.trigger(\"uiFileNameReady\", {\n                fileName: c\n            });\n        }, this.addFileError = function(a) {\n            ((((a == \"tooLarge\")) ? this.trigger(\"uiAlertBanner\", {\n                message: this.attr.fileTooBigMessage\n            }) : ((((((a == \"notImage\")) || ((a == \"ioError\")))) && this.trigger(\"uiAlertBanner\", {\n                message: _(\"You did not select an image.\")\n            }))))), this.scribe({\n                component: \"profile_image\",\n                element: \"upload\",\n                action: \"failure\"\n            }), ((((typeof this.attr.onError == \"function\")) && this.attr.onError())), this.reset();\n        }, this.gotImageData = function(a, b) {\n            this.gotResizedImageData(a, b);\n        }, this.truncate = function(a, b) {\n            if (((a.length <= b))) {\n                return a;\n            }\n        ;\n        ;\n            var c = Math.ceil(((b / 2))), d = Math.floor(((b / 2))), e = a.substr(0, c), f = a.substr(((a.length - d)), d);\n            return ((((e + \"\\u2026\")) + f));\n        }, this.loadSwf = function(a, b) {\n            image.loadPhotoSelectorSwf(this.select(\"swfSelector\"), a, b, this.attr.swfHeight, this.attr.swfWidth, this.attr.maxSizeInBytes);\n        }, this.initializeButton = function() {\n            this.select(\"buttonSelector\").attr(\"disabled\", !1);\n        }, this.resetUploader = function() {\n            this.select(\"fileNameSelector\").val(\"\"), this.select(\"fileNameTextSelector\").text(_(\"No file selected\"));\n        }, this.after(\"initialize\", function() {\n            this.maxSizeInBytes = this.attr.maxSizeInBytes, this.initializeButton(), this.JSBNG__on(this.$node, \"uiTweetBoxShowPreview\", this.updateFileNameText), this.JSBNG__on(\"uiResetUploader\", this.resetUploader);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\"), withImageSelection = require(\"app/ui/with_image_selection\"), withScribe = require(\"app/data/with_scribe\"), _ = require(\"core/i18n\"), ImageUploader = defineComponent(imageUploader, withImageSelection, withScribe);\n    module.exports = ImageUploader;\n});\ndefine(\"app/ui/inline_profile_editing_initializor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",], function(module, require, exports) {\n    function inlineProfileEditingInitializor() {\n        this.defaultAttrs({\n            profileEditingCSSBundle: \"\"\n        }), this.supportsInlineEditing = function() {\n            return image.supportsCropper();\n        }, this.initializeInlineProfileEditing = function(a, b) {\n            ((this.supportsInlineEditing() ? using(((\"css!\" + this.attr.profileEditingCSSBundle)), this.triggerStart.bind(this, b.scribeElement)) : this.trigger(\"uiNavigate\", {\n                href: \"/settings/profile\"\n            })));\n        }, this.triggerStart = function(a) {\n            this.trigger(\"uiEditProfileStart\", {\n                scribeContext: {\n                    element: a\n                }\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiEditProfileInitialize\", this.initializeInlineProfileEditing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(inlineProfileEditingInitializor);\n});\ndefine(\"app/utils/hide_or_show_divider\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(b, c, d, e) {\n        var f = b.JSBNG__find(c), g = !!$.trim(b.JSBNG__find(d).text()), h = !!$.trim(b.JSBNG__find(e).text());\n        ((((g && h)) ? f.show() : f.hide()));\n    };\n});\ndefine(\"app/ui/with_inline_image_options\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_upload_photo_affordance\",\"app/utils/is_showing_avatar_options\",], function(module, require, exports) {\n    function withInlineImageOptions() {\n        compose.mixin(this, [withUploadPhotoAffordance,]), this.defaultAttrs({\n            editHeaderSelector: \".edit-header-target\",\n            editAvatarSelector: \".profile-picture\",\n            profileHeaderMaskSelector: \".profile-header-mask\",\n            cancelOptionsSelector: \".cancel-options\",\n            changePhotoSelector: \"#choose-photo\",\n            changeHeaderSelector: \"#choose-header\"\n        }), this.optionsEnabled = function() {\n            this.canShowOptions = !0;\n        }, this.optionsDisabled = function() {\n            this.canShowOptions = !1;\n        }, this.toggleAvatarOptions = function(a) {\n            a.preventDefault(), ((isShowingAvatarOptions() ? this.hideAvatarOptions() : this.showAvatarOptions()));\n        }, this.showAvatarOptions = function() {\n            ((((this.canShowOptions && !isShowingAvatarOptions())) && (this.$body.addClass(\"show-avatar-options\"), this.select(\"changePhotoSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideAvatarOptions = function() {\n            this.$body.removeClass(\"show-avatar-options\");\n        }, this.showHeaderOptions = function() {\n            ((((this.canShowOptions && !this.$body.hasClass(\"show-header-options\"))) && (this.$body.addClass(\"show-header-options\"), this.select(\"changeHeaderSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideHeaderOptions = function() {\n            this.$body.removeClass(\"show-header-options\");\n        }, this.hideOptions = function() {\n            this.hideHeaderOptions(), this.hideAvatarOptions();\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                editAvatarSelector: this.toggleAvatarOptions,\n                editHeaderSelector: this.showHeaderOptions,\n                profileHeaderMaskSelector: this.hideOptions,\n                cancelOptionsSelector: this.hideOptions\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.optionsEnabled), this.JSBNG__on(\"uiEditProfileEnd\", this.optionsDisabled), this.JSBNG__on(\"uiProfileHeaderUpdated\", this.hideOptions), this.JSBNG__on(\"uiProfileAvatarUpdated\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShowEditAvatarOptions\", this.showAvatarOptions);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withUploadPhotoAffordance = require(\"app/ui/with_upload_photo_affordance\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\");\n    module.exports = withInlineImageOptions;\n});\ndefine(\"app/ui/with_inline_image_editing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",], function(module, require, exports) {\n    function withInlineImageEditing() {\n        compose.mixin(this, [withInlineImageOptions,]), this.defaultAttrs({\n            headerImageUploadDialogSelector: \"#header_image_upload_dialog\",\n            headerCropperSelector: \"#header_image_upload_dialog .cropper-mask\",\n            avatarSelector: \".avatar:first\",\n            avatarContainerSelector: \".profile-picture:first\",\n            profileHeaderInnerSelector: \".profile-header-inner:first\",\n            avatarPlaceholderSelector: \".profile-picture-placeholder\",\n            removeFromPreview: \".profile-editing-dialogs, .edit-header-target, input, label, textarea, .controls, .inline-edit-icon\"\n        }), this.editHeaderModeOn = function() {\n            this.addPreviewToHeaderUpload(), this.$body.addClass(\"profile-header-editing\"), this.hideHeaderOptions();\n        }, this.editHeaderModeOff = function() {\n            this.$body.removeClass(\"profile-header-editing\"), this.removeHeaderPreview();\n        }, this.removeHeaderPreview = function() {\n            ((this.$headerPreview && this.$headerPreview.remove()));\n        }, this.addPreviewToHeaderUpload = function() {\n            this.removeHeaderPreview(), this.trigger(\"uiNeedsTextPreview\");\n            var a = this.$headerPreview = this.$node.clone();\n            a.JSBNG__find(this.attr.profileHeaderInnerSelector).css(\"background-image\", \"none\"), hideOrShowDivider(a, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector), a.JSBNG__find(this.attr.removeFromPreview).remove(), this.select(\"headerCropperSelector\").prepend(a);\n        }, this.updateImage = function(a, b) {\n            var c = ((\"data:image/jpeg;base64,\" + b.fileData));\n            ((((b.uploadType === \"header\")) ? this.updateHeader(c) : ((((b.uploadType === \"avatar\")) && (this.select(\"avatarSelector\").attr(\"src\", c), this.showAvatar())))));\n        }, this.updateHeader = function(a) {\n            this.select(\"profileHeaderInnerSelector\").css({\n                \"background-size\": \"100% 100%\",\n                \"background-image\": ((((\"url(\" + a)) + \")\"))\n            }), this.trigger(\"uiProfileHeaderUpdated\");\n        }, this.useDefaultHeader = function() {\n            var a = this.select(\"profileHeaderInnerSelector\").attr(\"data-default-background-image\");\n            this.updateHeader(a);\n        }, this.showAvatar = function() {\n            this.select(\"avatarContainerSelector\").removeClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").addClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showAvatarPlaceholder = function() {\n            this.select(\"avatarContainerSelector\").addClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").removeClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showDefaultImage = function(a, b) {\n            ((this.isOfType(\"avatar\", b) && this.showAvatarPlaceholder())), ((this.isOfType(\"header\", b) && this.useDefaultHeader()));\n        }, this.isOfType = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType === a))));\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"uiDialogOpened\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOn\n            }), this.JSBNG__on(\"uiDialogClosed\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOff\n            }), this.JSBNG__on(JSBNG__document, \"uiImageSave\", this.updateImage), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.showDefaultImage);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withInlineImageOptions = require(\"app/ui/with_inline_image_options\");\n    module.exports = withInlineImageEditing;\n});\ndefine(\"app/ui/inline_profile_editing\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"core/clock\",\"app/utils/hide_or_show_divider\",\"app/ui/with_scrollbar_width\",\"app/utils/params\",\"app/ui/tooltips\",\"app/ui/with_inline_image_editing\",], function(module, require, exports) {\n    function inlineProfileEditing() {\n        this.defaultAttrs({\n            cancelProfileButtonSelector: \".cancel-profile-btn\",\n            saveProfileButtonSelector: \".save-profile-btn\",\n            saveProfileFooterSelector: \".save-profile-footer\",\n            bioProfileFieldSelector: \".bio.profile-field\",\n            locationSelector: \".JSBNG__location\",\n            urlProfileFieldSelector: \".url .profile-field\",\n            dividerSelector: \".location-and-url .divider\",\n            anchorSelector: \"a\",\n            ignoreInTabIndex: \".js-tooltip\",\n            tooltipSelector: \".js-tooltip\",\n            updateSaveMessage: _(\"Your profile has been saved.\"),\n            scrollResetDuration: 300\n        }), this.saveProfile = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiEditProfileSaveFields\"), this.trigger(\"uiEditProfileSave\");\n        }, this.cancelProfileEditing = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(\"uiEditProfileCancel\", {\n                scribeContext: {\n                    element: c\n                }\n            }), this.trigger(\"uiEditProfileEnd\");\n        }, this.isEditing = function() {\n            return this.$body.hasClass(\"profile-editing\");\n        }, this.editModeOn = function() {\n            $(\"html, body\").animate({\n                scrollTop: 0\n            }, this.attr.scrollResetDuration), this.calculateScrollbarWidth(), this.$body.addClass(\"profile-editing\");\n        }, this.editModeOff = function() {\n            this.$body.removeClass(\"profile-editing\");\n        }, this.fieldEditingModeOn = function() {\n            this.$body.addClass(\"profile-field-editing\"), this.select(\"dividerSelector\").show();\n        }, this.fieldEditingModeOff = function() {\n            this.$body.removeClass(\"profile-field-editing\"), hideOrShowDivider(this.$node, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector);\n        }, this.catchAnchorClicks = function(a) {\n            ((this.isEditing() && a.preventDefault()));\n        }, this.disabledTabbing = function() {\n            this.select(\"ignoreInTabIndex\").attr(\"tabindex\", \"-1\");\n        }, this.enableTabbing = function() {\n            this.select(\"ignoreInTabIndex\").removeAttr(\"tabindex\");\n        }, this.saving = function() {\n            this.select(\"saveProfileFooterSelector\").addClass(\"saving\");\n        }, this.handleError = function(a, b) {\n            this.doneSaving(), this.fieldEditingModeOn(), this.trigger(\"uiShowProfileEditError\", b);\n        }, this.savingError = function(a, b) {\n            clock.setTimeoutEvent(\"uiHandleSaveError\", 1000, {\n                message: b.message\n            });\n        }, this.saveSuccess = function(a, b) {\n            this.doneSaving(), this.trigger(\"uiShowMessage\", {\n                message: this.attr.updateSaveMessage\n            });\n        }, this.doneSaving = function() {\n            this.select(\"saveProfileFooterSelector\").removeClass(\"saving\");\n        }, this.disableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"disable\").tooltip(\"hide\");\n        }, this.enableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"enable\");\n        }, this.finishedProcessing = function(a, b) {\n            ((((b && b.linkified_description)) && this.select(\"bioProfileFieldSelector\").html(b.linkified_description))), ((((b && b.user_url)) && this.select(\"urlProfileFieldSelector\").html(b.user_url))), this.trigger(\"uiEditProfileEnd\");\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                cancelProfileButtonSelector: this.cancelProfileEditing,\n                saveProfileButtonSelector: this.saveProfile,\n                anchorSelector: this.catchAnchorClicks\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.editModeOn), this.JSBNG__on(\"uiEditProfileEnd\", this.editModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disableTooltips), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTooltips), this.JSBNG__on(\"uiEditProfileStart\", this.fieldEditingModeOn), this.JSBNG__on(\"uiEditProfileSave\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileEnd\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disabledTabbing), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTabbing), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveStarted\", this.saving), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.saveSuccess), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveError\", this.savingError), this.JSBNG__on(JSBNG__document, \"uiHandleSaveError\", this.handleError), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.finishedProcessing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), clock = require(\"core/clock\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), params = require(\"app/utils/params\"), Tooltips = require(\"app/ui/tooltips\"), withInlineImageEditing = require(\"app/ui/with_inline_image_editing\");\n    module.exports = defineComponent(inlineProfileEditing, withScrollbarWidth, withInlineImageEditing);\n});\ndefine(\"app/data/settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_auth_token\",\"app/data/with_data\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withAuthToken = require(\"app/data/with_auth_token\"), withData = require(\"app/data/with_data\");\n    var SettingsData = defineComponent(settingsData, withData, withAuthToken);\n    function settingsData() {\n        this.defaultAttrs({\n            ajaxTimeout: 6000,\n            noShowError: true\n        });\n        this.verifyUsername = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/username_available\",\n                eventData: data,\n                data: data,\n                success: \"dataUsernameResult\",\n                error: \"dataUsernameError\"\n            });\n        };\n        this.verifyEmail = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/email_available\",\n                eventData: data,\n                data: data,\n                success: \"dataEmailResult\",\n                error: \"dataEmailError\"\n            });\n        };\n        this.cancelPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataCancelEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataCancelEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataResendEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataResendEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPassword = function(JSBNG__event, data) {\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                dataType: \"text\",\n                success: function() {\n                    this.trigger(\"dataForgotPasswordSuccess\", {\n                    });\n                }.bind(this)\n            });\n        };\n        this.deleteGeoData = function(JSBNG__event) {\n            var error = function(request) {\n                this.trigger(\"dataGeoDeletionError\", {\n                });\n            };\n            this.post({\n                url: \"/account/delete_location_data\",\n                dataType: \"text\",\n                data: this.addAuthToken(),\n                error: error.bind(this)\n            });\n        };\n        this.revokeAuthority = function(JSBNG__event, data) {\n            this.post({\n                url: \"/oauth/revoke\",\n                eventData: data,\n                data: data,\n                success: \"dataOAuthRevokeResultSuccess\",\n                error: \"dataOAuthRevokeResultFailure\"\n            });\n        };\n        this.uploadImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/upload_profile_header\",\n                avatar: \"/settings/profile/profile_image_update\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.post({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataImageEnqueued\",\n                error: \"dataImageFailedToEnqueue\"\n            });\n        };\n        this.checkImageUploadStatus = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/check_header_processing_complete\",\n                avatar: \"/settings/profile/swift_check_processing_complete\"\n            };\n            this.get({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                headers: {\n                    \"X-Retry-After\": true\n                },\n                success: \"dataHasImageUploadStatus\",\n                error: \"dataFailedToGetImageUploadStatus\"\n            });\n        };\n        this.deleteImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/destroy_profile_header\",\n                avatar: \"/settings/profile\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.destroy({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataDeleteImageSuccess\",\n                error: \"dataDeleteImageFailure\"\n            });\n        };\n        this.resendConfirmationEmail = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/resend_confirmation_email\",\n                eventData: data,\n                data: data,\n                success: \"dataResendConfirmationEmailSuccess\",\n                error: \"dataResendConfirmationEmailError\"\n            });\n        };\n        this.tweetExport = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportSuccess\",\n                error: \"dataTweetExportError\"\n            });\n        };\n        this.tweetExportResend = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_resend\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportResendSuccess\",\n                error: \"dataTweetExportResendError\"\n            });\n        };\n        this.tweetExportIncrRateLimiter = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_download\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportDownloadSuccess\",\n                error: \"dataTweetExportDownloadError\"\n            });\n        };\n        this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUsernameChange\", this.verifyUsername);\n            this.JSBNG__on(\"uiEmailChange\", this.verifyEmail);\n            this.JSBNG__on(\"uiCancelPendingEmail\", this.cancelPendingEmail);\n            this.JSBNG__on(\"uiResendPendingEmail\", this.resendPendingEmail);\n            this.JSBNG__on(\"uiForgotPassword\", this.resendPassword);\n            this.JSBNG__on(\"uiDeleteGeoData\", this.deleteGeoData);\n            this.JSBNG__on(\"uiRevokeClick\", this.revokeAuthority);\n            this.JSBNG__on(\"uiImageSave\", this.uploadImage);\n            this.JSBNG__on(\"uiDeleteImage\", this.deleteImage);\n            this.JSBNG__on(\"uiCheckImageUploadStatus\", this.checkImageUploadStatus);\n            this.JSBNG__on(\"uiTweetExportButtonClicked\", this.tweetExport);\n            this.JSBNG__on(\"uiTweetExportResendButtonClicked\", this.tweetExportResend);\n            this.JSBNG__on(\"uiTweetExportConfirmEmail\", this.resendConfirmationEmail);\n            this.JSBNG__on(\"uiTweetExportIncrRateLimiter\", this.tweetExportIncrRateLimiter);\n            this.JSBNG__on(\"dataValidateUsername\", this.verifyUsername);\n            this.JSBNG__on(\"dataValidateEmail\", this.verifyEmail);\n        });\n    };\n;\n    module.exports = SettingsData;\n});\ndefine(\"app/ui/profile_edit_param\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/params\",], function(module, require, exports) {\n    function profileEditParam() {\n        this.hasEditParam = function() {\n            return !!params.fromQuery(window.JSBNG__location).edit;\n        }, this.checkEditParam = function() {\n            ((this.hasEditParam() && this.trigger(\"uiEditProfileInitialize\", {\n                scribeElement: \"edit_param\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.checkEditParam);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), params = require(\"app/utils/params\");\n    module.exports = defineComponent(profileEditParam);\n});\ndefine(\"app/ui/alert_banner_to_message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function alertBannerToMessageDrawer() {\n        this.showMessage = function(a, b) {\n            this.trigger(\"uiShowMessage\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiAlertBanner\", this.showMessage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(alertBannerToMessageDrawer);\n});\ndefine(\"app/boot/inline_edit\", [\"module\",\"require\",\"exports\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/utils/image\",\"app/ui/forms/input_with_placeholder\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"core/i18n\",], function(module, require, exports) {\n    var InlineEdit = require(\"app/ui/inline_edit\"), AsyncProfileData = require(\"app/data/async_profile\"), ProfileImageUploadDialog = require(\"app/ui/dialogs/profile_image_upload_dialog\"), ProfileEditErrorDialog = require(\"app/ui/dialogs/profile_edit_error_dialog\"), ProfileConfirmImageDeleteDialog = require(\"app/ui/dialogs/profile_confirm_image_delete_dialog\"), DroppableImage = require(\"app/ui/droppable_image\"), ProfileImageMonitor = require(\"app/ui/profile_image_monitor\"), InlineEditScribe = require(\"app/data/inline_edit_scribe\"), ProfileImageUploadScribe = require(\"app/data/settings/profile_image_upload_scribe\"), DragAndDropScribe = require(\"app/data/drag_and_drop_scribe\"), ChangePhoto = require(\"app/ui/settings/change_photo\"), ImageUploader = require(\"app/ui/image_uploader\"), InlineProfileEditingInitializor = require(\"app/ui/inline_profile_editing_initializor\"), InlineProfileEditing = require(\"app/ui/inline_profile_editing\"), SettingsData = require(\"app/data/settings\"), image = require(\"app/utils/image\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), ProfileEditParam = require(\"app/ui/profile_edit_param\"), AlertBannerToMessageDrawer = require(\"app/ui/alert_banner_to_message_drawer\"), _ = require(\"core/i18n\");\n    module.exports = function(b) {\n        InlineProfileEditingInitializor.attachTo(\".profile-page-header\", b);\n        if (image.supportsCropper()) {\n            AlertBannerToMessageDrawer.attachTo(JSBNG__document), ProfileEditErrorDialog.attachTo(\"#profile_edit_error_dialog\", {\n                JSBNG__top: 0,\n                left: 0\n            }), InlineProfileEditing.attachTo(\".profile-page-header\", b), SettingsData.attachTo(JSBNG__document, b), AsyncProfileData.attachTo(JSBNG__document, b), InlineEdit.attachTo(\".profile-page-header .editable-group\"), InputWithPlaceholder.attachTo(\".profile-page-header .placeholding-input\", {\n                placeholder: \".placeholder\",\n                elementType: \"input,textarea\"\n            }), InlineEditScribe.attachTo(JSBNG__document), ProfileImageUploadScribe.attachTo(\"#profile_image_upload_dialog\"), ProfileImageUploadScribe.attachTo(\"#header_image_upload_dialog\"), DragAndDropScribe.attachTo(JSBNG__document);\n            var c = {\n                scribeContext: {\n                    component: \"profile_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#avatar_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"avatar\"\n            }), ImageUploader.attachTo(\".avatar-settings .uploader-image .photo-selector\", {\n                maxSizeInBytes: 10485760,\n                fileTooBigMessage: _(\"Please select a profile image that is less than 10 MB.\"),\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageUploadDialog.attachTo(\"#profile_image_upload_dialog\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ChangePhoto.attachTo(\"#choose-photo\", {\n                uploadType: \"avatar\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: c\n            }), DroppableImage.attachTo(\".profile-page-header .profile-picture\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageMonitor.attachTo(\".uploader-avatar\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n            var d = {\n                scribeContext: {\n                    component: \"header_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#header_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"header\"\n            }), ImageUploader.attachTo(\".header-settings .uploader-image .photo-selector\", {\n                fileNameString: \"user[profile_header_image_name]\",\n                fileDataString: \"user[profile_header_image]\",\n                fileInputString: \"user[profile_header_image]\",\n                uploadType: \"header\",\n                maxSizeInBytes: 10240000,\n                fileTooBigMessage: _(\"Please select an image that is less than 10MB.\"),\n                onError: function() {\n                    window.JSBNG__scrollTo(0, 0);\n                },\n                eventData: d\n            }), ProfileImageUploadDialog.attachTo(\"#header_image_upload_dialog\", {\n                uploadType: \"header\",\n                maskPadding: 0,\n                JSBNG__top: 0,\n                left: 0,\n                maximumWidth: 1252,\n                maximumHeight: 626,\n                imageNameSelector: \"#choose-header div.photo-selector input.file-name\",\n                imageDataSelector: \"#choose-header div.photo-selector input.file-data\",\n                eventData: d\n            }), ChangePhoto.attachTo(\"#choose-header\", {\n                uploadType: \"header\",\n                toggler: \"#profile_header_upload\",\n                chooseExistingSelector: \"#header-choose-existing\",\n                chooseWebcamSelector: \"#header-choose-webcam\",\n                deleteImageSelector: \"#header-delete-image\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: d\n            }), DroppableImage.attachTo(\".profile-page-header .profile-header-inner\", {\n                uploadType: \"header\",\n                eventData: d\n            }), ProfileImageMonitor.attachTo(\".uploader-header\", {\n                uploadType: \"header\",\n                isProcessingCookie: \"header_processing_complete_key\",\n                thumbnailSelector: \"#header_image_preview\",\n                deleteButtonSelector: \"#remove_header\",\n                deleteFormSelector: \"#profile_banner_delete_form\",\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n        }\n    ;\n    ;\n        ProfileEditParam.attachTo(\".profile-page-header\");\n    };\n});\ndefine(\"app/ui/profile/canopy\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function profileCanopy() {\n        this.defaultAttrs({\n            verticalThreshold: 280,\n            retractedCanopyClass: \"retracted\"\n        }), this.belowVerticalThreshhold = function() {\n            return ((this.$window.scrollTop() >= this.attr.verticalThreshold));\n        }, this.determineCanopyPresence = function() {\n            var a = this.$node.hasClass(this.attr.retractedCanopyClass);\n            ((this.belowVerticalThreshhold() ? ((a && this.trigger(\"uiShowProfileCanopy\"))) : ((a || this.trigger(\"uiHideProfileCanopy\")))));\n        }, this.showCanopyAfterModal = function() {\n            ((this.belowVerticalThreshhold() && this.showProfileCanopy()));\n        }, this.hideCanopyBeforeModal = function() {\n            ((this.belowVerticalThreshhold() && this.hideProfileCanopy()));\n        }, this.showProfileCanopy = function() {\n            this.$node.removeClass(this.attr.retractedCanopyClass);\n        }, this.hideProfileCanopy = function() {\n            this.$node.addClass(this.attr.retractedCanopyClass);\n        }, this.after(\"initialize\", function() {\n            this.$window = $(window), this.$node.removeClass(\"hidden\"), this.JSBNG__on(\"uiShowProfileCanopy\", this.showProfileCanopy), this.JSBNG__on(\"uiHideProfileCanopy\", this.hideProfileCanopy), this.JSBNG__on(window, \"JSBNG__scroll\", utils.throttle(this.determineCanopyPresence.bind(this))), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup\", this.hideCanopyBeforeModal), this.JSBNG__on(JSBNG__document, \"uiCloseProfilePopup\", this.showCanopyAfterModal), this.determineCanopyPresence();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileCanopy);\n});\ndefine(\"app/data/profile_canopy_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileCanopyScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        }), this.scribeProfileCanopy = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiShowProfileCanopy\", this.scribeProfileCanopy);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileCanopyScribe = defineComponent(profileCanopyScribe, withScribe);\n    module.exports = ProfileCanopyScribe;\n});\ndefine(\"app/ui/profile/head\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_user_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"core/utils\",], function(module, require, exports) {\n    function profileHead() {\n        this.defaultAttrs({\n            profileHead: !0,\n            isCanopy: !1,\n            editProfileButtonSelector: \".inline-edit-profile-btn\",\n            nonEmptyAvatarSelector: \".avatar:not(.empty-avatar)\",\n            emptyAvatarSelector: \".empty-avatar\",\n            overflowContainer: \".profile-header-inner\",\n            itemType: \"user\",\n            directMessages: \".dm-button\",\n            urlSelector: \".url a\"\n        }), this.showAvatarModal = function(a) {\n            a.preventDefault(), ((this.isEditing() || (this.trigger(\"uiAvatarClicked\"), this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"@{{screenName}}'s profile photo\", {\n                    screenName: this.attr.profile_user.screen_name\n                })\n            }))));\n        }, this.emptyAvatarClicked = function(a) {\n            if (!this.isEditing()) {\n                a.preventDefault(), a.stopImmediatePropagation();\n                var b = $(a.target).attr(\"data-scribe-element\");\n                $(JSBNG__document).one(\"uiEditProfileStart\", this.showAvatarOptions.bind(this)), this.trigger(\"uiEditProfileInitialize\", {\n                    scribeElement: b\n                });\n            }\n        ;\n        ;\n        }, this.showAvatarOptions = function() {\n            this.trigger(\"uiShowEditAvatarOptions\");\n        }, this.editProfile = function(a) {\n            a.preventDefault();\n            var b = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(JSBNG__document, \"uiEditProfileInitialize\", {\n                scribeElement: b\n            });\n        }, this.isEditing = function() {\n            return $(\"body\").hasClass(\"profile-editing\");\n        }, this.addGlowToEnvelope = function(a, b) {\n            this.select(\"directMessages\").addClass(\"new\");\n        }, this.removeGlowFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"new\");\n        }, this.addCountToEnvelope = function(a, b) {\n            var c = parseInt(b.msgCount, 10);\n            if (isNaN(c)) {\n                return;\n            }\n        ;\n        ;\n            var d = \"with-count\";\n            ((((c > 9)) ? d += \" with-count-2\" : ((((c > 99)) && (d += \" with-count-3\"))))), this.removeCountFromEnvelope(a, c), this.select(\"directMessages\").addClass(d), this.select(\"directMessages\").JSBNG__find(\".dm-new\").text(c);\n        }, this.removeCountFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"with-count with-count-2 with-count-3\");\n        }, this.urlClicked = function() {\n            this.trigger(\"uiUrlClicked\");\n        }, this.notifyDropdownToHide = function() {\n            this.trigger(\"uiCloseDropdowns\");\n        }, this.after(\"initialize\", function() {\n            this.checkForOverflow(this.select(\"overflowContainer\")), this.JSBNG__on(\"click\", {\n                nonEmptyAvatarSelector: this.showAvatarModal,\n                emptyAvatarSelector: this.emptyAvatarClicked,\n                editProfileButtonSelector: this.editProfile,\n                urlSelector: this.urlClicked\n            }), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMs dataUserHasUnreadDMsWithCount\", this.addGlowToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMs dataUserHasNoUnreadDMsWithCount\", this.removeGlowFromEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMsWithCount\", this.addCountToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMsWithCount\", this.removeCountFromEnvelope), ((this.attr.isCanopy && this.JSBNG__on(\"uiHideProfileCanopy\", this.notifyDropdownToHide))), this.attr.eventData = utils.merge(((this.attr.eventData || {\n            })), {\n                scribeContext: this.attr.scribeContext,\n                profileHead: this.attr.profileHead\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withUserActions = require(\"app/ui/with_user_actions\"), withProfileStats = require(\"app/ui/with_profile_stats\"), withHandleOverflow = require(\"app/ui/with_handle_overflow\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileHead, withUserActions, withProfileStats, withHandleOverflow);\n});\ndefine(\"app/data/profile_head_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileHeadScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiAvatarClicked\", {\n                element: \"avatar\",\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiUrlClicked\", {\n                element: \"url\",\n                action: \"click\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(profileHeadScribe, withScribe);\n});\ndefine(\"app/ui/profile/social_proof\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function profileSocialProof() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        }), this.after(\"initialize\", function() {\n            this.trigger(\"uiHasProfileSocialProof\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), ProfileSocialProof = defineComponent(profileSocialProof, withItemActions);\n    module.exports = ProfileSocialProof;\n});\ndefine(\"app/data/profile_social_proof_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileSocialProofScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        }), this.scribeProfileSocialProof = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                element: \"social_proof\",\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasProfileSocialProof\", this.scribeProfileSocialProof);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileSocialProofScribe = defineComponent(profileSocialProofScribe, withScribe);\n    module.exports = ProfileSocialProofScribe;\n});\ndefine(\"app/ui/media/card_thumbnails\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/image_thumbnail\",\"app/utils/image/image_loader\",\"core/i18n\",], function(module, require, exports) {\n    function cardThumbnails() {\n        var a = 800, b = {\n            NOT_LOADED: \"not-loaded\",\n            LOADING: \"loading\",\n            LOADED: \"loaded\"\n        };\n        this.hasMoreItems = !0, this.defaultAttrs({\n            profileUser: !1,\n            mediaGrid: !1,\n            mediaGridOpen: !1,\n            gridPushState: !1,\n            pushStateUrl: \"/\",\n            defaultGalleryTitle: _(\"Media Gallery\"),\n            viewAllSelector: \".list-link\",\n            thumbnailSelector: \".media-thumbnail\",\n            thumbnailContainerSelector: \".photo-list\",\n            thumbnailPlaceholderSelector: \".thumbnail-placeholder.first\",\n            thumbnailNotLoadedSelector: ((((\".media-thumbnail[data-load-status=\\\"\" + b.NOT_LOADED)) + \"\\\"]\")),\n            thumbnailType: \"thumb\",\n            thumbnailSize: 90,\n            thumbnailsVisible: 6,\n            showAllInlineMedia: !1,\n            loadOnEventName: \"uiLoadThumbnails\",\n            dataEvents: {\n                requestItems: \"uiWantsMoreMediaTimelineItems\",\n                gotItems: \"dataGotMoreMediaTimelineItems\"\n            },\n            defaultRequestData: {\n            }\n        }), this.thumbs = function() {\n            return this.select(\"thumbnailSelector\");\n        }, this.getMaxId = function() {\n            var a = this.thumbs();\n            if (a.length) {\n                return a.last().attr(\"data-status-id\");\n            }\n        ;\n        ;\n        }, this.shouldGetMoreItems = function(a) {\n            var b = $(a.target);\n            if (b.attr(\"data-paged\")) {\n                return;\n            }\n        ;\n        ;\n            this.getMoreItems();\n        }, this.getMoreItems = function() {\n            if (!this.hasMoreItems) {\n                return;\n            }\n        ;\n        ;\n            var a = this.thumbs();\n            a.attr(\"data-paged\", !0), this.trigger(JSBNG__document, this.attr.dataEvents.requestItems, utils.merge(this.attr.defaultRequestData, {\n                max_id: this.getMaxId()\n            }));\n        }, this.gotMoreItems = function(a, b) {\n            if (((b.thumbs_html && $.trim(b.thumbs_html).length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.appendItems(c);\n            }\n             else this.hasMoreItems = !1;\n        ;\n        ;\n            this.trigger(JSBNG__document, \"dataGotMoreMediaItems\", b), ((((((this.select(\"thumbnailSelector\").length < this.attr.thumbnailsVisible)) && this.hasMoreItems)) && this.getMoreItems()));\n        }, this.appendItems = function(a) {\n            ((this.attr.gridPushState && (a.addClass(\"js-nav\"), a.attr(\"href\", this.attr.pushStateUrl)))), this.select(\"thumbnailPlaceholderSelector\").before(a), this.renderVisible();\n        }, this.renderVisible = function() {\n            var a = this.select(\"thumbnailSelector\").slice(0, this.attr.thumbnailsVisible), b = a.filter(this.attr.thumbnailNotLoadedSelector);\n            if (b.length) {\n                this.loadThumbs(b);\n                var c = {\n                    thumbnails: []\n                };\n                b.each(function(a, b) {\n                    c.thumbnails.push($(b).attr(\"data-url\"));\n                }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n            }\n             else ((((a.length > 0)) && this.showThumbs()));\n        ;\n        ;\n            var c = {\n                thumbnails: []\n            };\n            b.each(function(a, b) {\n                c.thumbnails.push($(b).attr(\"data-url\"));\n            }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n        }, this.loadThumbs = function(a) {\n            a.attr(\"data-load-status\", b.LOADING), a.each(this.loadThumb.bind(this));\n        }, this.loadThumb = function(a, b) {\n            var c = $(b), d = function(a) {\n                this.loadThumbSuccess(c, a);\n            }.bind(this), e = function() {\n                this.loadThumbFail(c);\n            }.bind(this);\n            imageLoader.load(c.attr(((\"data-resolved-url-\" + this.attr.thumbnailType))), d, e);\n        }, this.loadThumbSuccess = function(a, c) {\n            a.attr(\"data-load-status\", b.LOADED), c.css(imageThumbnail.getThumbnailOffset(c.get(0).height, c.get(0).width, this.attr.thumbnailSize)), a.append(c), this.showThumbs();\n        }, this.loadThumbFail = function(a) {\n            a.remove(), this.renderVisible();\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), this.gridAutoOpen();\n        }, this.thumbnailClick = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.openGallery(a.target);\n            var b = $(a.target), c = ((b.hasClass(\"video\") ? \"video\" : \"photo\"));\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: c\n            });\n        }, this.gridAutoOpen = function() {\n            ((((((this.attr.mediaGrid && this.attr.mediaGridOpen)) && this.thumbs().length)) && this.viewGrid()));\n        }, this.viewAllClick = function(a) {\n            ((this.attr.mediaGrid ? this.trigger(\"uiMediaViewAllClick\") : (this.openGallery(this.thumbs()[0]), a.preventDefault())));\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), ((this.attr.mediaGridOpen && (this.attr.mediaGridOpen = !1, this.viewGrid())));\n        }, this.viewGrid = function() {\n            this.openGrid(this.thumbs()[0]);\n        }, this.openGrid = function(a) {\n            this.trigger(a, \"uiOpenGrid\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                profileUser: this.attr.profileUser\n            });\n        }, this.openGallery = function(a) {\n            this.trigger(a, \"uiOpenGallery\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                showGrid: this.attr.mediaGrid,\n                profileUser: this.attr.profileUser\n            });\n        }, this.removeThumbs = function() {\n            this.thumbs().remove();\n        }, this.before(\"teardown\", this.removeThumbs), this.after(\"initialize\", function() {\n            ((this.$node.attr(\"data-loaded\") || (this.$node.hide(), this.trigger(\"uiMediaThumbnailsVisible\", {\n                thumbnails: []\n            })))), this.JSBNG__on(\"click\", {\n                thumbnailSelector: this.thumbnailClick,\n                viewAllSelector: this.viewAllClick\n            }), this.gridAutoOpen(), this.JSBNG__on(JSBNG__document, this.attr.dataEvents.gotItems, this.gotMoreItems), this.JSBNG__on(\"uiGalleryMediaLoad\", this.shouldGetMoreItems), ((this.attr.showAllInlineMedia ? this.getMoreItems() : this.JSBNG__on(JSBNG__document, \"uiReloadThumbs\", this.getMoreItems)));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), imageThumbnail = require(\"app/utils/image_thumbnail\"), imageLoader = require(\"app/utils/image/image_loader\"), _ = require(\"core/i18n\"), CardThumbnails = defineComponent(cardThumbnails);\n    module.exports = CardThumbnails;\n});\ndefine(\"app/data/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: \"dataGotMoreMediaTimelineItems\",\n                error: \"dataGotMoreMediaTimelineItemsError\"\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreMediaTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(mediaTimeline, withData);\n});\ndefine(\"app/data/media_thumbnails_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mediaThumbnailsScribe() {\n        var a = /\\:[A-Z0-9_-]+$/i;\n        this.scribeMediaThumbnailResults = function(b, c) {\n            var d = c.thumbnails.length, e = ((d ? \"results\" : \"no_results\")), f = {\n                item_count: d\n            };\n            ((d && (f.item_names = c.thumbnails.map(function(b) {\n                return b.replace(a, \"\");\n            })))), this.scribe({\n                action: e\n            }, c, f);\n        }, this.scribeMediaThumbnailClick = function(b, c) {\n            var d = {\n                url: ((c.url && c.url.replace(a, \"\")))\n            }, e = {\n                element: c.mediaType,\n                action: \"click\"\n            };\n            this.scribe(e, c, d);\n        }, this.scribeMediaViewAllClick = function(a, b) {\n            this.scribe({\n                action: \"view_all\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiMediaGalleryResults\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailsVisible\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailClick\", this.scribeMediaThumbnailClick), this.JSBNG__on(JSBNG__document, \"uiMediaViewAllClick\", this.scribeMediaViewAllClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mediaThumbnailsScribe, withScribe);\n});\ndefine(\"app/ui/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function suggestedUsers() {\n        this.defaultAttrs({\n            closeSelector: \".js-close\",\n            itemType: \"user\",\n            userSelector: \".js-actionable-user\",\n            eventMode: \"profileHead\",\n            targetSelector: \"#suggested-users\",\n            childSelector: \"\"\n        }), this.getTimelineNodeSelector = function(a) {\n            return ((((((this.attr.targetSelector + ((a ? ((((\"[data-item-id=\\\"\" + a)) + \"\\\"]\")) : \"\")))) + \" \")) + this.attr.childSelector));\n        }, this.getTargetChildNode = function(a) {\n            var b;\n            return ((a[this.attr.eventMode] && ((((this.attr.eventMode === \"timeline_recommendations\")) ? b = this.$node.JSBNG__find(this.getTimelineNodeSelector(a.userId)) : b = this.$node)))), b;\n        }, this.getTargetParentNode = function(a) {\n            return ((((this.attr.eventMode === \"timeline_recommendations\")) ? $(a.target).closest(this.attr.childSelector) : this.$node));\n        }, this.slideInContent = function(a, b) {\n            var c = this.getTargetChildNode(b.sourceEventData);\n            if (((((!c || ((c.length !== 1)))) || c.hasClass(\"has-content\")))) {\n                return;\n            }\n        ;\n        ;\n            c.addClass(\"has-content\"), c.html(b.html), c.hide().slideDown();\n            var d = [];\n            c.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                d.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this)), this.trigger(\"uiSuggestedUsersRendered\", {\n                items: d,\n                user_id: b.sourceEventData.userId\n            });\n        }, this.slideOutContent = function(a, b) {\n            var c = this.getTargetParentNode(a);\n            if (((c.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            c.slideUp(function() {\n                c.empty(), c.removeClass(\"has-content\");\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataSuggestedUsersSuccess\", this.slideInContent), this.JSBNG__on(\"click\", {\n                closeSelector: this.slideOutContent\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(suggestedUsers, withUserActions, withItemActions, withInteractionData);\n});\ndefine(\"app/data/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function suggestedUsersData() {\n        var a = function(a) {\n            return ((a && ((a.profileHead || a.timeline_recommendations))));\n        };\n        this.getHTML = function(b, c) {\n            function d(a) {\n                ((a.html && this.trigger(\"dataSuggestedUsersSuccess\", a)));\n            };\n        ;\n            if (!a(c)) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: \"/i/users/suggested_users\",\n                data: {\n                    user_id: c.userId,\n                    limit: 2,\n                    timeline_recommendations: !!c.timeline_recommendations\n                },\n                eventData: c,\n                success: d.bind(this),\n                error: \"dataSuggestedUsersFailure\"\n            });\n        }, this.scribeSuggestedUserResults = function(a, b) {\n            this.scribeInteractiveResults({\n                element: \"initial\",\n                action: \"results\"\n            }, b.items, b, {\n                referring_event: \"initial\",\n                profile_id: b.user_id\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSuggestedUsersRendered\", this.scribeSuggestedUserResults), this.JSBNG__on(\"uiFollowAction\", this.getHTML);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(suggestedUsersData, withData, withInteractionDataScribe);\n});\ndefine(\"app/ui/gallery/grid\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/i18n\",\"app/utils/image/image_loader\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function grid() {\n        this.defaultAttrs({\n            thumbnailSize: 196,\n            gridTitle: _(\"Media Gallery\"),\n            gridPushState: !0,\n            pushStateCloseUrl: \"/\",\n            profileUser: !1,\n            mediaSelector: \".media-thumbnail\",\n            mediasSelector: \".photo-list\",\n            gridHeaderSelector: \".grid-header\",\n            gridTitleSelector: \".header-title\",\n            gridSubTitleSelector: \".header-subtitle\",\n            gridPicSelector: \".header-pic .avatar\",\n            gridSelector: \".grid-media\",\n            gridContainerSelector: \".grid-container\",\n            closeSelector: \".action-close\",\n            gridFooterSelector: \".grid-footer\",\n            gridLoadingSelector: \".grid-loading\"\n        }), this.atBottom = !1, this.isOpen = function() {\n            return this.select(\"gridContainerSelector\").is(\":visible\");\n        }, this.open = function(a, b) {\n            this.calculateScrollbarWidth();\n            if (b.fromGallery) {\n                this.show();\n                return;\n            }\n        ;\n        ;\n            ((((b && b.gridTitle)) && (this.attr.gridTitle = b.gridTitle))), this.$mediaContainer = $(a.target).closest(this.attr.mediasSelector);\n            var c = this.$mediaContainer.JSBNG__find(this.attr.mediaSelector);\n            this.select(\"mediaSelector\").remove(), this.populate(c), this.initHeader(), this.select(\"gridContainerSelector\").JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.onScroll.bind(this), 200)), this.$node.removeClass(\"hidden\"), $(\"body\").addClass(\"grid-enabled\"), this.trigger(\"uiGridOpened\");\n        }, this.loadMore = function(a, b) {\n            if (((((this.isOpen() && b.thumbs_html)) && b.thumbs_html.length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.populate(c), this.trigger(\"uiGridPaged\");\n            }\n             else if (((!b.thumbs_html || !b.thumbs_html.length))) {\n                this.atBottom = !0, this.loadComplete(), this.processGrid(!0);\n            }\n            \n        ;\n        ;\n        }, this.initHeader = function() {\n            ((this.attr.profileUser ? (this.$node.addClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(((\"@\" + this.attr.profileUser.screen_name))), this.select(\"gridPicSelector\").attr(\"src\", this.attr.profileUser.profile_image_url_https), this.select(\"gridPicSelector\").attr(\"alt\", this.attr.profileUser.JSBNG__name)) : (this.$node.removeClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(\"\"), this.select(\"gridPicSelector\").attr(\"src\", \"\"), this.select(\"gridPicSelector\").attr(\"alt\", \"\")))), this.select(\"gridTitleSelector\").text(this.attr.gridTitle), ((this.attr.gridPushState ? (this.select(\"gridSubTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl), this.select(\"gridTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl)) : (this.select(\"gridSubTitleSelector\").removeClass(\"js-nav\"), this.select(\"gridTitleSelector\").removeClass(\"js-nav\"))));\n        }, this.show = function() {\n            $(\"body\").addClass(\"grid-enabled\"), JSBNG__setTimeout(function() {\n                this.ignoreEsc = !1;\n            }.bind(this), 400);\n        }, this.hide = function() {\n            $(\"body\").removeClass(\"grid-enabled\"), this.ignoreEsc = !0;\n        }, this.onEsc = function(a) {\n            ((this.ignoreEsc || this.close(a)));\n        }, this.close = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.select(\"gridContainerSelector\").scrollTop(0), $(\"body\").removeClass(\"grid-enabled\"), this.select(\"gridContainerSelector\").off(\"JSBNG__scroll\"), this.trigger(\"uiGridClosed\"), this.ignoreEsc = !1;\n        }, this.populate = function(a) {\n            var b = a.clone();\n            b.JSBNG__find(\"img\").remove(), b.removeClass(\"js-nav\"), b.removeAttr(\"href\"), b.JSBNG__find(\".play\").removeClass(\"play\").addClass(\"play-large\"), b.insertBefore(this.select(\"gridFooterSelector\")), this.processGrid(), b.each(function(a, b) {\n                this.renderMedia(b);\n            }.bind(this)), this.$mediaContainer.attr(\"data-grid-processed\", \"true\"), this.onScroll();\n        }, this.onScroll = function(a) {\n            if (this.atBottom) {\n                return;\n            }\n        ;\n        ;\n            var b = this.select(\"gridContainerSelector\").scrollTop();\n            if (((this.select(\"gridContainerSelector\").get(0).scrollHeight < ((((b + $(window).height())) + SCROLLTHRESHOLD))))) {\n                var c = this.getLast();\n                ((c.attr(\"data-grid-paged\") ? this.loadComplete() : (c.attr(\"data-grid-paged\", \"true\"), this.trigger(this.getLast(), \"uiGalleryMediaLoad\"))));\n            }\n        ;\n        ;\n        }, this.loadComplete = function() {\n            this.$node.addClass(\"load-complete\");\n        }, this.getLast = function() {\n            var a = this.select(\"mediaSelector\").last(), b = a.attr(\"data-status-id\");\n            return this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + b)) + \"']\"))).last();\n        }, this.medias = function() {\n            return this.select(\"mediaSelector\");\n        }, this.unprocessedMedias = function() {\n            return this.medias().filter(\":not([data-grid-processed='true'])\");\n        }, this.markFailedMedia = function(a) {\n            var b;\n            if (a.hasClass(\"clear\")) {\n                b = a.next(this.attr.mediaSelector);\n                if (!b.length) {\n                    return;\n                }\n            ;\n            ;\n            }\n             else {\n                b = a.prev(this.attr.mediaSelector);\n                while (((b && !b.hasClass(\"clear\")))) {\n                    b = b.prev(this.attr.mediaSelector);\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            b.attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).removeClass(\"clear\"), JSBNG__clearTimeout(this.resetTimer), this.resetTimer = JSBNG__setTimeout(this.processGrid.bind(this), 50);\n        }, this.processGrid = function(a) {\n            var b = this.unprocessedMedias();\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                var g = $(b[f]);\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = GRIDHEIGHT))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= GRIDRATIO)) || a))) {\n                    ((a && (d = GRIDWIDTH))), this.setGridRow(e, d, c, a), d = 0, c = 0, e = [], this.processGrid();\n                }\n            ;\n            ;\n            };\n        ;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > PANORATIO)) && (e = ((b * PANORATIO)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((GRIDWIDTH - ((a.length * GRIDMARGIN)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = ((parseInt(b.attr(\"scaled-width\")) * f));\n                b.height(g), b.width(c), b.attr(\"scaled-height\", g), b.attr(\"Scaled-width\", c), b.attr(\"data-grid-processed\", \"true\"), b.addClass(\"enabled\"), ((((((a == 0)) && !d)) && b.addClass(\"clear\")));\n            });\n        }, this.renderMedia = function(a) {\n            var b = $(a), c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b);\n        }, this.loadThumbFail = function(a) {\n            this.markFailedMedia(a), a.remove();\n        }, this.openGallery = function(a) {\n            var b = $(a.target).closest(this.attr.mediaSelector), c = b.attr(\"data-status-id\"), d = this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + c)) + \"']\")));\n            this.trigger(d, \"uiOpenGallery\", {\n                title: this.title,\n                fromGrid: !0\n            }), this.hide();\n        }, this.after(\"initialize\", function() {\n            this.ignoreEsc = !0, this.JSBNG__on(JSBNG__document, \"uiOpenGrid\", this.open), this.JSBNG__on(JSBNG__document, \"uiCloseGrid\", this.close), this.JSBNG__on(JSBNG__document, \"dataGotMoreMediaItems\", this.loadMore), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery,\n                closeSelector: this.close\n            }), ((this.attr.gridPushState || (this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.onEsc), this.JSBNG__on(\"click\", {\n                gridTitleSelector: this.close,\n                gridSubTitleSelector: this.close,\n                gridPicSelector: this.close\n            }))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), imageLoader = require(\"app/utils/image/image_loader\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), Grid = defineComponent(grid, withScrollbarWidth), GRIDWIDTH = 824, GRIDMARGIN = 12, GRIDHEIGHT = 210, GRIDRATIO = 3.5, PANORATIO = 3, SCROLLTHRESHOLD = 1000;\n    module.exports = Grid;\n});\ndefine(\"app/boot/profile\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"core/i18n\",\"app/boot/trends\",\"app/boot/logged_out\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/dashboard_tweetbox\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"core/utils\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/data/client_event\",\"app/ui/navigation_links\",\"app/data/profile_edit_btn_scribe\",\"app/boot/wtf_module\",\"app/ui/gallery/grid\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), trends(a), whoToFollowModule(a);\n        var b = \".profile-canopy\", c = {\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        };\n        ProfileHead.attachTo(b, a, c, {\n            profileHead: !1,\n            isCanopy: !0\n        }), ProfileHeadScribe.attachTo(b, c), ProfileCanopy.attachTo(b), ProfileCanopyScribe.attachTo(b);\n        var d = \".profile-page-header\", e = {\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        };\n        ProfileHead.attachTo(d, a, e), ProfileHeadScribe.attachTo(d);\n        var f = \".profile-social-proof\";\n        ProfileSocialProofScribe.attachTo(f), ProfileSocialProof.attachTo(f), ((a.inlineProfileEditing && inlineEditBoot(a))), ProfileEditBtnScribe.attachTo(d, e), clientEvent.scribeData.profile_id = a.profile_id, loggedOutBoot(a), MediaThumbnailsScribe.attachTo(JSBNG__document, a);\n        var g = {\n            showAllInlineMedia: !0,\n            defaultGalleryTitle: a.profile_user.JSBNG__name,\n            profileUser: a.profile_user,\n            mediaGrid: a.mediaGrid,\n            mediaGridOpen: a.mediaGridOpen,\n            gridPushState: a.mediaGrid,\n            pushStateUrl: ((((\"/\" + a.profile_user.screen_name)) + \"/media/grid\")),\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_media\"\n                }\n            }\n        }, h;\n        h = \".enhanced-media-thumbnails\", g.thumbnailSize = 90, g.thumbnailsVisible = 6, MediaTimeline.attachTo(JSBNG__document, {\n            endpoint: ((((\"/i/profiles/show/\" + a.profile_user.screen_name)) + \"/media_timeline\"))\n        }), CardThumbnails.attachTo(h, utils.merge(a, g)), Grid.attachTo(\".grid\", {\n            sandboxes: a.sandboxes,\n            loggedIn: a.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"grid\"\n                }\n            },\n            mediaGridOpen: a.mediaGridOpen,\n            pushStateCloseUrl: ((\"/\" + a.profile_user.screen_name)),\n            gridTitle: _(\"{{name}}'s photos and videos\", {\n                JSBNG__name: a.profile_user.JSBNG__name\n            }),\n            profileUser: a.profile_user\n        }), NavigationLinks.attachTo(\".profile-page-header\", {\n            eventData: {\n                scribeContext: {\n                    component: \"profile_follow_card\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".profile-tweet-box\", {\n            draftTweetId: ((\"profile_\" + a.profile_id)),\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        });\n        var i = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"similar_user_recommendations\"\n                }\n            }\n        }), j = \".dashboard .js-similar-to-module\";\n        WhoToFollowDashboard.attachTo(j, i), WhoToFollowData.attachTo(j, i), WhoToFollowScribe.attachTo(j, i), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), RecentConnectionsModule.attachTo(\".dashboard .recently-followed-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recently_followed\"\n                }\n            }\n        }), SuggestedUsersData.attachTo(JSBNG__document), SuggestedUsers.attachTo(\"#suggested-users\", utils.merge({\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            }\n        }, a));\n    };\n;\n    var bootApp = require(\"app/boot/app\"), _ = require(\"core/i18n\"), trends = require(\"app/boot/trends\"), loggedOutBoot = require(\"app/boot/logged_out\"), inlineEditBoot = require(\"app/boot/inline_edit\"), ProfileCanopy = require(\"app/ui/profile/canopy\"), ProfileCanopyScribe = require(\"app/data/profile_canopy_scribe\"), ProfileHead = require(\"app/ui/profile/head\"), ProfileHeadScribe = require(\"app/data/profile_head_scribe\"), ProfileSocialProof = require(\"app/ui/profile/social_proof\"), ProfileSocialProofScribe = require(\"app/data/profile_social_proof_scribe\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), MediaTimeline = require(\"app/data/media_timeline\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), utils = require(\"core/utils\"), SuggestedUsers = require(\"app/ui/suggested_users\"), SuggestedUsersData = require(\"app/data/suggested_users\"), clientEvent = require(\"app/data/client_event\"), NavigationLinks = require(\"app/ui/navigation_links\"), ProfileEditBtnScribe = require(\"app/data/profile_edit_btn_scribe\"), whoToFollowModule = require(\"app/boot/wtf_module\"), Grid = require(\"app/ui/gallery/grid\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\");\n    module.exports = function(b) {\n        profileBoot(b), tweetTimelineBoot(b, b.timeline_url, \"tweet\"), userCompletionModuleBoot(b), ((b.profile_user && $(JSBNG__document).trigger(\"profileVisit\", b.profile_user)));\n    };\n});\ndefine(\"app/ui/timelines/with_cursor_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withCursorPagination() {\n        function a() {\n            return !0;\n        };\n    ;\n        function b() {\n            return !1;\n        };\n    ;\n        this.isOldItem = a, this.isNewItem = b, this.wasRangeRequest = b, this.wasNewItemsRequest = b, this.wasOldItemsRequest = a, this.shouldGetOldItems = function() {\n            return !!this.cursor;\n        }, this.getOldItemsData = function() {\n            return {\n                cursor: this.cursor,\n                is_forward: !this.attr.isBackward,\n                query: this.query\n            };\n        }, this.resetStateVariables = function(a) {\n            ((((a && ((a.cursor !== undefined)))) ? (this.cursor = a.cursor, this.select(\"containerSelector\").attr(\"data-cursor\", this.cursor)) : this.cursor = ((this.select(\"containerSelector\").attr(\"data-cursor\") || \"\"))));\n        }, this.after(\"initialize\", function(a) {\n            this.query = ((a.query || \"\")), this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.resetStateVariables);\n        });\n    };\n;\n    module.exports = withCursorPagination;\n});\ndefine(\"app/ui/with_stream_users\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStreamUsers() {\n        this.defaultAttrs({\n            streamUserSelector: \".stream-items .js-actionable-user\"\n        }), this.usersDisplayed = function() {\n            var a = this.select(\"streamUserSelector\"), b = [];\n            a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            });\n        }, this.after(\"initialize\", function() {\n            this.usersDisplayed();\n        });\n    };\n;\n    module.exports = withStreamUsers;\n});\ndefine(\"app/ui/timelines/user_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",\"app/ui/with_stream_users\",], function(module, require, exports) {\n    function userTimeline() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withStreamUsers = require(\"app/ui/with_stream_users\");\n    module.exports = defineComponent(userTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions, withStreamUsers);\n});\ndefine(\"app/boot/user_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/user_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                },\n                timeline_recommendations: a.timeline_recommendations\n            }\n        });\n        timelineBoot(e), UserTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), UserTimeline = require(\"app/ui/timelines/user_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/timelines/follower_request_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function followerRequestTimeline() {\n        this.defaultAttrs({\n            userItemSelector: \"div.js-follower-request\",\n            streamUserItemSelector: \"li.js-stream-item\",\n            followerActionsSelector: \".friend-actions\",\n            profileActionsSelector: \".js-profile-actions\",\n            acceptFollowerSelector: \".js-action-accept\",\n            declineFollowerSelector: \".js-action-deny\",\n            itemType: \"user\"\n        }), this.findUser = function(a) {\n            return this.$node.JSBNG__find(((((((this.attr.userItemSelector + \"[data-user-id=\")) + a)) + \"]\")));\n        }, this.findFollowerActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.followerActionsSelector);\n        }, this.findProfileActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.profileActionsSelector);\n        }, this.handleAcceptSuccess = function(a, b) {\n            this.findFollowerActions(b.userId).hide(), this.findProfileActions(b.userId).show();\n        }, this.handleDeclineSuccess = function(a, b) {\n            var c = this.findUser(b.userId);\n            c.closest(this.attr.streamUserItemSelector).remove();\n        }, this.handleDecisionFailure = function(a, b) {\n            var c = this.findFollowerActions(b.userId);\n            c.JSBNG__find(\".btn\").attr(\"disabled\", !1).removeClass(\"pending\");\n        }, this.handleFollowerDecision = function(a) {\n            return function(b, c) {\n                b.preventDefault(), b.stopPropagation();\n                var d = this.interactionData(b), e = this.findFollowerActions(d.userId);\n                e.JSBNG__find(\".btn\").attr(\"disabled\", !0);\n                var f = e.JSBNG__find(((((a == \"Accept\")) ? this.attr.acceptFollowerSelector : this.attr.declineFollowerSelector)));\n                f.addClass(\"pending\"), this.trigger(((\"uiDidFollower\" + a)), d);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                acceptFollowerSelector: this.handleFollowerDecision(\"Accept\"),\n                declineFollowerSelector: this.handleFollowerDecision(\"Decline\")\n            }), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptSuccess\", this.handleAcceptSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerDeclineSuccess\", this.handleDeclineSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptFailure dataFollowerDeclineFailure\", this.handleDecisionFailure);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(followerRequestTimeline, withInteractionData);\n});\ndefine(\"app/data/follower_request\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function followerRequestData() {\n        this.followerRequestAction = function(a, b) {\n            return function(c, d) {\n                var e = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Success\")), {\n                        userId: d.userId\n                    });\n                }.bind(this), f = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Failure\")), {\n                        userId: d.userId\n                    });\n                }.bind(this);\n                this.post({\n                    url: a,\n                    data: {\n                        user_id: d.userId\n                    },\n                    eventData: d,\n                    success: e,\n                    error: f\n                });\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiDidFollowerAccept\", this.followerRequestAction(\"/i/user/accept\", \"Accept\")), this.JSBNG__on(JSBNG__document, \"uiDidFollowerDecline\", this.followerRequestAction(\"/i/user/deny\", \"Decline\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(followerRequestData, withData);\n});\ndefine(\"app/pages/profile/follower_requests\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), FollowerRequestTimeline = require(\"app/ui/timelines/follower_request_timeline\"), FollowerRequestData = require(\"app/data/follower_request\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\"), FollowerRequestTimeline.attachTo(\"#timeline\", b), FollowerRequestData.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/pages/profile/followers\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/suggested_users\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), SuggestedUsers = require(\"app/ui/suggested_users\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), ContactImportData.attachTo(JSBNG__document, b), ContactImportScribe.attachTo(JSBNG__document, b), ImportLoadingDialog.attachTo(\"#import-loading-dialog\", b), ImportServices.attachTo(\".followers-import-prompt\", {\n            launchServiceSelector: \".js-launch-service\"\n        }), ((b.timeline_recommendations && SuggestedUsers.attachTo(\"#timeline\", {\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            },\n            eventMode: \"timeline_recommendations\",\n            targetSelector: \".js-stream-item\",\n            childSelector: \".js-recommendations-container\"\n        })));\n    };\n});\ndefine(\"app/pages/profile/following\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\");\n    };\n});\ndefine(\"app/pages/profile/favorites\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, tweetTimelineBoot(b, b.timeline_url, \"tweet\");\n    };\n});\ndefine(\"app/ui/timelines/list_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function listTimeline() {\n        this.defaultAttrs({\n            createListSelector: \".js-create-list-button\",\n            itemType: \"list\"\n        }), this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                createListSelector: this.openListCreateDialog\n            });\n        }), this.openListCreateDialog = function() {\n            this.trigger(\"uiOpenCreateListDialog\", {\n                userId: this.userId\n            });\n        };\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(listTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions);\n});\ndefine(\"app/boot/list_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/list_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                }\n            }\n        });\n        timelineBoot(e), ListTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), ListTimeline = require(\"app/ui/timelines/list_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/lists\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/list_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), listTimelineBoot = require(\"app/boot/list_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), listTimelineBoot(b, b.timeline_url, \"list\");\n    };\n});\ndefine(\"app/ui/with_removable_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withRemovableStreamItems() {\n        this.defaultAttrs({\n            streamItemSelector: \".js-stream-item\"\n        }), this.removeStreamItem = function(a) {\n            var b = ((((((this.attr.streamItemSelector + \"[data-item-id=\")) + a)) + \"]\"));\n            this.$node.JSBNG__find(b).remove();\n        };\n    };\n;\n    module.exports = withRemovableStreamItems;\n});\ndefine(\"app/ui/similar_to\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_removable_stream_items\",], function(module, require, exports) {\n    function similarTo() {\n        this.handleUserActionSuccess = function(a, b) {\n            ((((b.requestUrl == \"/i/user/hide\")) && this.removeStreamItem(b.userId)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserActionSuccess\", this.handleUserActionSuccess);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withRemovableStreamItems = require(\"app/ui/with_removable_stream_items\");\n    module.exports = defineComponent(similarTo, withRemovableStreamItems);\n});\ndefine(\"app/pages/profile/similar_to\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/similar_to\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), similarTo = require(\"app/ui/similar_to\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), similarTo.attachTo(\"#timeline\");\n    };\n});\ndefine(\"app/ui/facets\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"core/component\",], function(module, require, exports) {\n    function uiFacets() {\n        this.defaultAttrs({\n            topImagesSelector: \".top-images\",\n            topVideosSelector: \".top-videos\",\n            notDisplayedSelector: \".facets-media-not-displayed\",\n            displayMediaSelector: \".display-this-media\",\n            showAllInlineMedia: !1\n        }), this.addFacets = function(a, b) {\n            this.select(\"topImagesSelector\").html(b.photos), this.select(\"topVideosSelector\").html(b.videos), ((this.attr.showAllInlineMedia && this.reloadFacets()));\n        }, this.showFacet = function(a, b) {\n            ((((b.thumbnails.length > 0)) && $(a.target).show()));\n            var c = this.$node.JSBNG__find(\".js-nav-links\\u003Eli:visible\"), d = c.last();\n            c.removeClass(\"last-item\"), d.addClass(\"last-item\");\n        }, this.dismissDisplayMedia = function() {\n            this.attr.showAllInlineMedia = !0, this.setMediaCookie(), this.select(\"notDisplayedSelector\").hide(), this.reloadFacets();\n        }, this.setMediaCookie = function() {\n            cookie(\"show_all_inline_media\", !0);\n        }, this.reloadFacets = function() {\n            this.trigger(this.select(\"topImagesSelector\"), \"uiReloadThumbs\"), this.trigger(this.select(\"topVideosSelector\"), \"uiReloadThumbs\");\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataHasFacets\", this.addFacets), this.JSBNG__on(\"uiMediaThumbnailsVisible\", this.showFacet), this.JSBNG__on(\"click\", {\n                displayMediaSelector: this.dismissDisplayMedia\n            }), this.trigger(\"uiNeedsFacets\", {\n                q: a.query,\n                onebox_type: a.oneboxType\n            });\n        });\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(uiFacets);\n});\ndefine(\"app/data/facets_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function facetsTimeline() {\n        this.defaultAttrs({\n            query: \"\"\n        }), this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                facet_type: b.facet_type,\n                onebox_type: b.onebox_type,\n                q: this.attr.query\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItems\")),\n                error: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItemsError\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreFacetTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(facetsTimeline, withData);\n});\ndefine(\"app/ui/dialogs/iph_search_result_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/data/with_scribe\",\"app/data/ddg\",], function(module, require, exports) {\n    function inProductHelpDialog() {\n        this.defaultAttrs({\n            helpfulSelector: \"#helpful_button\",\n            notHelpfulSelector: \"#not_helpful_button\",\n            inProductHelpSelector: \"#search_result_help\",\n            feedbackQuestionSelector: \"#satisfaction_question\",\n            feedbackButtonsSelector: \"#satisfaction_buttons\",\n            feedbackMessageSelector: \"#satisfaction_feedback\"\n        }), this.JSBNG__openDialog = function(a) {\n            ddg.impression(\"in_product_help_search_result_page_392\"), this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: \"impression\"\n            }), this.open();\n        }, this.voteHelpful = function(a) {\n            this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: ((a ? \"helpful\" : \"unhelpful\"))\n            }), this.select(\"feedbackQuestionSelector\").hide(), this.select(\"feedbackButtonsSelector\").hide(), this.select(\"feedbackMessageSelector\").fadeIn();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                helpfulSelector: function() {\n                    this.voteHelpful(!0);\n                },\n                notHelpfulSelector: function() {\n                    this.voteHelpful(!1);\n                }\n            }), this.JSBNG__on(this.attr.inProductHelpSelector, \"click\", this.JSBNG__openDialog), this.select(\"feedbackMessageSelector\").hide();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withScribe = require(\"app/data/with_scribe\"), ddg = require(\"app/data/ddg\");\n    module.exports = defineComponent(inProductHelpDialog, withDialog, withPosition, withScribe);\n});\ndefine(\"app/ui/search/archive_navigator\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"core/i18n\",], function(module, require, exports) {\n    function archiveNavigator() {\n        this.monthLabels = [_(\"Jan\"),_(\"Feb\"),_(\"Mar\"),_(\"Apr\"),_(\"May\"),_(\"Jun\"),_(\"Jul\"),_(\"Aug\"),_(\"Sep\"),_(\"Oct\"),_(\"Nov\"),_(\"Dec\"),], this.defaultAttrs({\n            timeRanges: [],\n            highlights: [],\n            query: \"\",\n            sinceTime: null,\n            untilTime: null,\n            ttl_ms: 21600000,\n            canvasSelector: \"canvas\",\n            canvasContainerSelector: \"#archive-drilldown-container\",\n            timeRangeSelector: \".time-ranges\",\n            timeRangeLinkSelector: \".time-ranges a\",\n            highlightContainerSelector: \".highlights\",\n            highlightLinkSelector: \".highlights a\",\n            pastNavSelector: \".past-nav\",\n            futureNavSelector: \".future-nav\",\n            timeNavQuerySource: \"tnav\",\n            highlightNavQuerySource: \"hnav\",\n            activeItemClass: \"active\"\n        }), this.sortedCoordinates = function() {\n            var a = this.attr.timeRanges.concat(this.attr.highlights);\n            return a.sort(function(a, b) {\n                return ((a.timestamp - b.timestamp));\n            }).map(function(a) {\n                return {\n                    x: a.timestamp,\n                    y: a.activityScore\n                };\n            });\n        }, this.compileCoordinates = function(a) {\n            var b = a[0].x, c = a[((a.length - 1))].x, d = a[0].y, e = a[0].y, f, g;\n            for (f = 1, g = a.length; ((f < g)); f++) {\n                var h = a[f];\n                ((((h.y < d)) ? d = h.y : ((((h.y > e)) && (e = h.y)))));\n            };\n        ;\n            var i = new JSBNG__Date(((b * 1000)));\n            return b = (((new JSBNG__Date(i.getUTCFullYear(), i.getUTCMonth(), 1)).getTime() / 1000)), i = new JSBNG__Date(((c * 1000))), c = (((new JSBNG__Date(i.getUTCFullYear(), ((i.getUTCMonth() + 1)), 0)).getTime() / 1000)), this.renderedTimeRange = {\n                since: b,\n                until: c\n            }, d = 0, e *= 1.1, {\n                coordinates: a,\n                minX: b,\n                minY: d,\n                maxX: c,\n                maxY: e\n            };\n        }, this.setupViewFrame = function() {\n            var a = this.select(\"canvasSelector\"), b = this.select(\"canvasContainerSelector\").width(), c = ((this.compiledCoordinates.maxX - this.compiledCoordinates.minX));\n            ((((((this.renderedTimeRange.until - this.renderedTimeRange.since)) < ((((SECONDS_IN_YEAR * 7)) / 6)))) ? (a.width(b), this.select(\"timeRangeSelector\").width(b), this.select(\"highlightContainerSelector\").width(b), this.graphResolution = ((c / b))) : (this.graphResolution = Math.round(((SECONDS_IN_YEAR / b))), this.select(\"timeRangeSelector\").width(Math.round(((c / this.graphResolution)))), this.select(\"highlightContainerSelector\").width(Math.round(((c / this.graphResolution)))), a.width(Math.round(((c / this.graphResolution))))))), this.canvas.width = a.width(), this.canvas.height = a.height(), this.canvasTransform = {\n                translateX: ((-this.compiledCoordinates.minX / this.graphResolution)),\n                translateY: ((((this.canvas.height - ((STROKE_WIDTH / 2)))) - BOTTOM_INSET)),\n                scaleX: ((1 / this.graphResolution)),\n                scaleY: ((-((((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)) - TOP_INSET)) / ((this.compiledCoordinates.maxY - this.compiledCoordinates.minY))))\n            };\n        }, this.setupCoordinates = function() {\n            if (((this.attr.timeRanges.length == 0))) {\n                return;\n            }\n        ;\n        ;\n            var a = this.sortedCoordinates();\n            this.compiledCoordinates = this.compileCoordinates(a), this.setupViewFrame();\n        }, this.getElementOffsetForCoordinate = function(a) {\n            var b = ((this.canvasTransform.translateX + ((this.canvasTransform.scaleX * a.x)))), c = ((this.canvasTransform.translateY + ((this.canvasTransform.scaleY * a.y))));\n            return {\n                left: b,\n                JSBNG__top: c\n            };\n        }, this.drawGraph = function() {\n            this.drawAxes(), this.plotActivity(), this.plotHighlights();\n        }, this.plotHighlights = function() {\n            var a = this.select(\"highlightContainerSelector\");\n            a.empty(), this.attr.highlights.forEach(function(b) {\n                var c = this.getElementOffsetForCoordinate({\n                    x: b.timestamp,\n                    y: b.activityScore\n                }), d = this.highlightItemTemplate.clone();\n                d.attr(\"href\", ((\"/search?\" + $.param({\n                    q: this.attr.query,\n                    src: this.attr.highlightNavQuerySource,\n                    since_time: b.drilldownSince,\n                    until_time: b.drilldownUntil\n                })))), d.data(\"monthsInPast\", this.offsetToMonthsPast(c.left, !0)), d.addClass(\"js-nav\"), ((((((this.attr.sinceTime == b.drilldownSince)) && ((this.attr.untilTime == b.drilldownUntil)))) && d.addClass(this.attr.activeItemClass))), d.css(\"left\", ((Math.round(c.left) + \"px\"))), d.css(\"JSBNG__top\", ((Math.round(c.JSBNG__top) + \"px\"))), a.append(d);\n            }, this);\n        }, this.plotActivity = function() {\n            var a = this.compiledCoordinates.coordinates, b = this.compiledCoordinates.minX, c = this.compiledCoordinates.minY, d = this.compiledCoordinates.maxX, e = this.compiledCoordinates.maxY;\n            if (a.length) {\n                var f = this.canvas.getContext(\"2d\");\n                ((((a[0].x !== b)) && (a = [{\n                    x: b,\n                    y: 0\n                },].concat(a)))), f.save(), f.translate(this.canvasTransform.translateX, this.canvasTransform.translateY), f.scale(this.canvasTransform.scaleX, this.canvasTransform.scaleY);\n                var g = ((STROKE_WIDTH * this.graphResolution)), h = ((((BOTTOM_INSET / ((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)))) / ((e - c))));\n                f.beginPath(), f.JSBNG__moveTo(((a[0].x - ((g / 2)))), ((((c - ((g / 2)))) - h))), f.lineTo(((a[0].x - ((g / 2)))), a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), a[((a.length - 1))].y), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), ((c - h))), f.closePath();\n                var i = f.createLinearGradient(0, e, 0, ((c - h)));\n                i.addColorStop(0, GRADIENT_FILL_TOP_COLOR), i.addColorStop(1, GRADIENT_FILL_BOTTOM_COLOR), f.fillStyle = i, f.fill(), f.beginPath(), f.JSBNG__moveTo(a[0].x, a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }, this), f.restore();\n                var j = f.createLinearGradient(0, TOP_INSET, 0, ((this.canvas.height - BOTTOM_INSET)));\n                j.addColorStop(1, STROKE_GRADIENT_TOP_COLOR), j.addColorStop(339120, STROKE_GRADIENT_MIDDLE_COLOR), j.addColorStop(0, STROKE_GRADIENT_BOTTOM_COLOR), f.lineWidth = STROKE_WIDTH, f.lineCap = \"round\", f.lineJoin = \"round\", f.strokeStyle = j, f.stroke();\n            }\n        ;\n        ;\n        }, this.drawAxes = function() {\n            var a = this.compiledCoordinates.minX, b = this.compiledCoordinates.minY, c = this.compiledCoordinates.maxX, d = this.compiledCoordinates.maxY, e = this.canvas.width, f = this.canvas.height;\n            this.select(\"timeRangeSelector\").empty();\n            var g = this.canvas.getContext(\"2d\");\n            g.lineWidth = 1, g.strokeStyle = GRAPH_GRID_COLOR;\n            var h = new JSBNG__Date(((a * 1000))), i = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: d\n            }).JSBNG__top, j = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: b\n            }).JSBNG__top, k, l, m = a, n = Math.round(this.getElementOffsetForCoordinate({\n                x: m,\n                y: 0\n            }).left);\n            g.beginPath(), g.JSBNG__moveTo(((n + 339834)), i), g.lineTo(((n + 339851)), j);\n            while (((m < c))) {\n                var o = this.monthLinkTemplate.clone(), p = this.monthLabels[h.getUTCMonth()], q = h.getUTCFullYear();\n                o.attr(\"title\", ((((p + \" \")) + q))), o.JSBNG__find(\".month\").text(p), o.JSBNG__find(\".year\").text(q), k = m, h.setUTCMonth(((h.getUTCMonth() + 1))), m = ((h.getTime() / 1000)), o.attr(\"href\", ((\"/search?\" + $.param({\n                    q: this.attr.query,\n                    src: this.attr.timeNavQuerySource,\n                    since_time: k,\n                    until_time: m\n                })))), o.addClass(\"js-nav\"), ((((((this.attr.sinceTime == k)) && ((this.attr.untilTime == m)))) && o.addClass(this.attr.activeItemClass))), l = n;\n                var r = this.getElementOffsetForCoordinate({\n                    x: m,\n                    y: 0\n                });\n                n = Math.round(r.left), o.data(\"monthsInPast\", this.offsetToMonthsPast(r.left, !0)), o.css(\"width\", ((((n - l)) + \"px\"))), this.select(\"timeRangeSelector\").append(o), g.JSBNG__moveTo(((n - 340524)), i), g.lineTo(((n - 340541)), j);\n            };\n        ;\n            g.stroke();\n        }, this.rangeClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveRangeClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.highlightClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveHighlightClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.navFuture = function() {\n            var a = Math.round(((((((((-1 * SECONDS_IN_YEAR)) * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavFuture\", {\n                monthsInPast: b\n            });\n        }, this.navPast = function() {\n            var a = Math.round(((((((SECONDS_IN_YEAR * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavPast\", {\n                monthsInPast: b\n            });\n        }, this.offsetToMonthsPast = function(a, b) {\n            return ((b && (a = ((this.canvas.width - a))))), Math.round(((((((a * this.graphResolution)) / SECONDS_IN_YEAR)) * 12)));\n        }, this.navActive = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.activeItemClass))), b = 0;\n            if (((a.length > 0))) {\n                var c = $(a).position(), d = this.select(\"canvasContainerSelector\").width(), e = this.canvas.width;\n                b = ((((e - c.left)) - ((d / 2))));\n            }\n        ;\n        ;\n            this.navTime(b);\n        }, this.navTime = function(a) {\n            this.containerOffset += a;\n            var b = this.select(\"canvasContainerSelector\").width(), c = this.canvas.width, d = ((c - b));\n            if (((b == c))) {\n                return;\n            }\n        ;\n        ;\n            this.containerOffset = Math.min(Math.max(this.containerOffset, 0), d), this.select(\"pastNavSelector\").css(\"visibility\", ((((this.containerOffset < d)) ? \"visible\" : \"hidden\"))), this.select(\"futureNavSelector\").css(\"visibility\", ((((this.containerOffset > 0)) ? \"visible\" : \"hidden\"))), $(\"#archive-drilldown-content\").css(\"transform\", ((((\"translateX(\" + this.containerOffset)) + \"px)\")));\n        }, this.updateFromCache = function() {\n            var a = this.storage.getItem(\"query\");\n            ((((((a == this.attr.query)) && ((this.attr.timeRanges.length == 0)))) ? (this.attr.timeRanges = ((this.storage.getItem(\"timeRanges\") || [])), this.attr.highlights = ((this.storage.getItem(\"highlights\") || [])), this.canvasTransform = this.storage.getItem(\"canvasTransform\")) : ((((this.attr.timeRanges.length > 0)) && (this.storage.setItem(\"query\", this.attr.query, this.attr.ttl_ms), this.storage.setItem(\"timeRanges\", this.attr.timeRanges, this.attr.ttl_ms), this.storage.setItem(\"highlights\", this.attr.highlights, this.attr.ttl_ms))))));\n        }, this.after(\"initialize\", function() {\n            var a = JSBNG__document.createElement(\"canvas\");\n            if (((!a.getContext || !a.getContext(\"2d\")))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(\"click\", {\n                pastNavSelector: this.navPast,\n                futureNavSelector: this.navFuture,\n                timeRangeLinkSelector: this.rangeClick,\n                highlightLinkSelector: this.highlightClick\n            });\n            var b = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new b(\"archiveSearch\"), this.updateFromCache();\n            if (((this.attr.timeRanges.length == 0))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.$node.show(), this.canvas = this.select(\"canvasSelector\")[0], this.monthLinkTemplate = this.select(\"timeRangeLinkSelector\").clone(!1), this.select(\"timeRangeLinkSelector\").remove(), this.highlightItemTemplate = this.select(\"highlightLinkSelector\").clone(!1), this.select(\"highlightLinkSelector\").remove(), this.setupCoordinates(), this.drawGraph(), this.containerOffset = 0, this.navActive();\n            var c = this.select(\"timeRangeLinkSelector\").length;\n            this.trigger(\"uiArchiveShown\", {\n                monthsDisplayed: c\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(archiveNavigator);\n    var SECONDS_IN_YEAR = 31536000, STROKE_WIDTH = 2, TOP_INSET = 0, BOTTOM_INSET = 0, MINIMUM_TIME_PERIOD = 5184000, TWEET_EPOCH = 1142899200, GRAPH_GRID_COLOR = \"#e8e8e8\", GRADIENT_FILL_TOP_COLOR = \"rgba(44, 138, 205, 0.75)\", GRADIENT_FILL_BOTTOM_COLOR = \"rgba(44, 138, 205, 0.00)\", STROKE_GRADIENT_TOP_COLOR = \"#203c87\", STROKE_GRADIENT_MIDDLE_COLOR = \"#0075be\", STROKE_GRADIENT_BOTTOM_COLOR = \"#29abe2\";\n});\ndefine(\"app/data/archive_navigator_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function ArchiveNavigatorScribe() {\n        this.generateNavData = function(a) {\n            return {\n                event_info: a.monthsInPast\n            };\n        }, this.generateImpressionData = function(a) {\n            return {\n                event_info: a.monthsDisplayed\n            };\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiArchiveRangeClick\", {\n                element: \"section\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveHighlightClick\", {\n                element: \"peak\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavFuture\", {\n                element: \"future_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavPast\", {\n                element: \"past_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveShown\", \"impression\", this.generateImpressionData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(ArchiveNavigatorScribe, withScribe);\n});\ndefine(\"app/boot/search\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/logged_out\",\"core/utils\",\"app/boot/wtf_module\",\"app/boot/trends\",\"core/i18n\",\"app/ui/facets\",\"app/data/media_thumbnails_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/facets_timeline\",\"app/ui/navigation_links\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/data/client_event\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), loggedOutBoot = require(\"app/boot/logged_out\"), utils = require(\"core/utils\"), whoToFollowModule = require(\"app/boot/wtf_module\"), trends = require(\"app/boot/trends\"), _ = require(\"core/i18n\"), uiFacets = require(\"app/ui/facets\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), FacetsTimeline = require(\"app/data/facets_timeline\"), NavigationLinks = require(\"app/ui/navigation_links\"), InProductHelpDialog = require(\"app/ui/dialogs/iph_search_result_dialog\"), ArchiveNavigator = require(\"app/ui/search/archive_navigator\"), ArchiveNavigatorScribe = require(\"app/data/archive_navigator_scribe\"), clientEvent = require(\"app/data/client_event\");\n    module.exports = function(b) {\n        bootApp(b), loggedOutBoot(b), clientEvent.scribeData.query = b.query, whoToFollowModule(b), trends(b), MediaThumbnailsScribe.attachTo(JSBNG__document, b), FacetsTimeline.attachTo(JSBNG__document, {\n            endpoint: \"/i/search/facets\",\n            query: b.query\n        }), CardThumbnails.attachTo(\".top-images\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top photos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetimagesTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"images\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_photos\"\n                }\n            }\n        })), CardThumbnails.attachTo(\".top-videos\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top videos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetvideosTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"videos\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_videos\"\n                }\n            }\n        })), uiFacets.attachTo(\".dashboard\", utils.merge(b, {\n            thumbnailLoadEvent: \"uiLoadThumbnails\"\n        })), ArchiveNavigatorScribe.attachTo(\".module.archive-search\"), ArchiveNavigator.attachTo(\".module.archive-search\", utils.merge(b.timeNavData, {\n            eventData: {\n                scribeContext: {\n                    component: \"archive_navigator\"\n                }\n            }\n        })), InProductHelpDialog.attachTo(\"#in_product_help_dialog\"), NavigationLinks.attachTo(\".search-nav\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-search-pivot\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-related-queries\", {\n            eventData: {\n                scribeContext: {\n                    component: \"related_queries\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-spelling-corrections\", {\n            eventData: {\n                scribeContext: {\n                    component: \"spelling_corrections\"\n                }\n            }\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_story_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStoryPagination() {\n        this.isOldItem = function(a) {\n            return a.is_scrolling_request;\n        }, this.isNewItem = function(a) {\n            return a.is_refresh_request;\n        }, this.wasNewItemsRequest = function(a) {\n            return !!a.refresh_cursor;\n        }, this.wasOldItemsRequest = function(a) {\n            return !!a.scroll_cursor;\n        }, this.wasRangeRequest = function() {\n            return !1;\n        }, this.shouldGetOldItems = function() {\n            return this.has_more_items;\n        }, this.getOldItemsData = function() {\n            return {\n                scroll_cursor: this.scroll_cursor\n            };\n        }, this.getNewItemsData = function() {\n            return {\n                refresh_cursor: this.refresh_cursor\n            };\n        }, this.resetStateVariables = function(a) {\n            a = ((a || {\n            })), this.resetScrollCursor(a), this.resetRefreshCursor(a), this.trigger(\"uiStoryPaginationReset\");\n        }, this.resetScrollCursor = function(a) {\n            if (a.scroll_cursor) {\n                this.scroll_cursor = a.scroll_cursor, this.$container.attr(\"data-scroll-cursor\", this.scroll_cursor);\n            }\n             else {\n                if (a.is_scrolling_request) this.has_more_items = !1, this.scroll_cursor = null, this.$container.removeAttr(\"data-scroll-cursor\");\n                 else {\n                    var b = this.$container.attr(\"data-scroll-cursor\");\n                    this.scroll_cursor = ((b ? b : null));\n                }\n            ;\n            }\n        ;\n        ;\n        }, this.resetRefreshCursor = function(a) {\n            if (a.refresh_cursor) this.refresh_cursor = a.refresh_cursor, this.$container.attr(\"data-refresh-cursor\", this.refresh_cursor);\n             else {\n                var b = this.$container.attr(\"data-refresh-cursor\");\n                this.refresh_cursor = ((b ? b : null));\n            }\n        ;\n        ;\n        }, this.onTimelineReset = function(a, b) {\n            this.resetStateVariables(b);\n        }, this.after(\"initialize\", function(a) {\n            this.$container = this.select(\"containerSelector\"), this.has_more_items = !0, this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.onTimelineReset);\n        });\n    };\n;\n    module.exports = withStoryPagination;\n});\ndefine(\"app/ui/gallery/with_grid\", [\"module\",\"require\",\"exports\",\"app/utils/image/image_loader\",], function(module, require, exports) {\n    function withGrid() {\n        this.defaultAttrs({\n            scribeRows: !1,\n            gridWidth: 512,\n            gridHeight: 120,\n            gridMargin: 8,\n            gridRatio: 3,\n            gridPanoRatio: 2.5,\n            mediaSelector: \".media-thumbnail:not(.twitter-timeline-link)\",\n            mediaRowFirstSelector: \".media-thumbnail.clear:not(.twitter-timeline-link)\"\n        }), this.render = function(a) {\n            this.currentRow = this.getCurrentRow();\n            var b = this.getUnprocessedMedia();\n            if (!b.length) {\n                this.scribeResults();\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                if (((this.attr.gridRowLimit && ((this.currentRow > this.attr.gridRowLimit))))) {\n                    return;\n                }\n            ;\n            ;\n                var g = $(b.get(f));\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = this.attr.gridHeight))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= this.attr.gridRatio)) || a))) {\n                    ((a && (d = this.attr.gridWidth))), this.setGridRow(e, d, c, a), this.currentRow++, this.setCurrentRow(), d = 0, c = 0, e = [];\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribeResults();\n        }, this.renderAll = function() {\n            JSBNG__clearTimeout(this.renderDelay), this.renderDelay = JSBNG__setTimeout(this.render.bind(this), 20);\n        }, this.setCurrentRow = function() {\n            $(this.node).attr(\"data-processed-rows\", this.currentRow);\n        }, this.getCurrentRow = function() {\n            var a = parseInt($(this.node).attr(\"data-processed-rows\"));\n            return ((a ? this.currentRow = a : this.currentRow = 1)), this.currentRow;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > this.attr.gridPanoRatio)) && (e = ((b * this.attr.gridPanoRatio)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((this.attr.gridWidth - ((a.length * this.attr.gridMargin)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = $(b), e = ((parseInt(c.attr(\"scaled-width\")) * f));\n                c.height(g), c.width(e), c.attr(\"scaled-height\", g), c.attr(\"Scaled-width\", e), c.attr(\"data-grid-processed\", \"true\"), c.addClass(\"enabled\"), ((((((a == 0)) && !d)) && c.addClass(\"clear\"))), this.renderMedia(c);\n            }.bind(this));\n        }, this.scribeResults = function() {\n            if (this.attr.scribeRows) {\n                var a = this.getUnscribedMedia(), b = {\n                    thumbnails: [],\n                    scribeContext: {\n                        section: \"media_gallery\"\n                    }\n                };\n                $.each(a, function(a, c) {\n                    b.thumbnails.push($(c).attr(\"data-url\")), $(c).attr(\"data-scribed\", !0);\n                }), this.trigger(\"uiMediaGalleryResults\", b);\n            }\n        ;\n        ;\n        }, this.getMedia = function() {\n            return this.select(\"mediaSelector\");\n        }, this.getUnprocessedMedia = function() {\n            return this.getMedia().filter(\":not([data-grid-processed='true'])\");\n        }, this.getUnscribedMedia = function() {\n            return this.getMedia().filter(\":not([data-scribed='true'])\");\n        }, this.markFailedMedia = function(a) {\n            var b;\n            if (a.hasClass(\"clear\")) {\n                b = a.next(this.attr.mediaSelector);\n                if (!b.length) {\n                    return;\n                }\n            ;\n            ;\n            }\n             else {\n                b = a.prev(this.attr.mediaSelector);\n                while (((b && !b.hasClass(\"clear\")))) {\n                    b = b.prev(this.attr.mediaSelector);\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            b.attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).removeClass(\"clear\"), JSBNG__clearTimeout(this.resetTimer), this.resetTimer = JSBNG__setTimeout(this.render.bind(this), 50);\n        }, this.renderMedia = function(a) {\n            var b = $(a);\n            if (b.attr(\"data-loaded\")) {\n                return;\n            }\n        ;\n        ;\n            var c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b), a.attr(\"data-loaded\", !0);\n        }, this.loadThumbFail = function(a) {\n            this.markFailedMedia(a), a.remove();\n        }, this.openGallery = function(a) {\n            a.preventDefault(), a.stopPropagation(), this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            });\n            var b = $(a.target);\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.render(), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery\n            }), this.JSBNG__on(\"uiHasInjectedOldTimelineItems\", this.renderAll);\n        });\n    };\n;\n    var imageLoader = require(\"app/utils/image/image_loader\");\n    module.exports = withGrid;\n});\ndefine(\"app/ui/timelines/universal_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_story_pagination\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_grid\",\"app/ui/with_interaction_data\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function universalTimeline() {\n        this.defaultAttrs({\n            gridRowLimit: 2,\n            separationModuleSelector: \".separation-module\",\n            prevToModuleClass: \"before-module\",\n            userGalleryItemSelector: \".stream-user-gallery\",\n            prevToUserGalleryItemClass: \"before-user-gallery\",\n            eventData: {\n                scribeContext: {\n                    component: \"\"\n                }\n            }\n        }), this.setPrevToModuleClass = function() {\n            this.select(\"separationModuleSelector\").prev().addClass(this.attr.prevToModuleClass);\n        }, this.initialItemsDisplayed = function() {\n            var a = this.select(\"genericItemSelector\"), b = [], c = [], d = function(a, d) {\n                if (!$(d).data(\"item-type\")) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                switch (e.itemType) {\n                  case \"tweet\":\n                    b.push(e);\n                    break;\n                  case \"user\":\n                    c.push(e);\n                };\n            ;\n            }.bind(this);\n            for (var e = 0, f = a.length; ((e < f)); e++) {\n                d(e, a[e]);\n            ;\n            };\n        ;\n            this.reportUsersAndTweets(c, b);\n        }, this.reportItemsDisplayed = function(a, b) {\n            var c = [], d = [];\n            b.items.forEach(function(a) {\n                switch (a.itemType) {\n                  case \"tweet\":\n                    d.push(a);\n                    break;\n                  case \"user\":\n                    c.push(a);\n                };\n            ;\n            }), this.reportUsersAndTweets(c, d);\n        }, this.reportUsersAndTweets = function(a, b) {\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: b\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: a\n            });\n        }, this.setItemType = function(a) {\n            var b = a.closest(this.attr.genericItemSelector), c = b.data(\"item-type\");\n            this.attr.itemType = c, this.attr.eventData.scribeContext.component = c;\n        }, this.after(\"initialize\", function(a) {\n            this.setPrevToModuleClass(), this.initialItemsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportItemsDisplayed);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withStoryPagination = require(\"app/ui/timelines/with_story_pagination\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGrid = require(\"app/ui/gallery/with_grid\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(universalTimeline, withBaseTimeline, withStoryPagination, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGrid, withUserActions, withGallery);\n});\ndefine(\"app/boot/universal_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/universal_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = utils.merge(a, {\n            endpoint: a.search_endpoint\n        });\n        timelineBoot(b), tweetsBoot(\"#timeline\", utils.merge(b, {\n            excludeUserActions: !0\n        })), ((b.help_pips_decider && helpPipsBoot(b))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), UniversalTimeline.attachTo(\"#timeline\", utils.merge(b, {\n            tweetItemSelector: \"div.original-tweet\",\n            gridRowLimit: 2,\n            scribeRows: !0\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), UniversalTimeline = require(\"app/ui/timelines/universal_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/data/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function userSearchData() {\n        this.defaultAttrs({\n            query: null\n        }), this.makeUserSearchModuleRequest = function() {\n            if (!this.attr.query) {\n                return;\n            }\n        ;\n        ;\n            var a = {\n                q: this.attr.query\n            };\n            this.get({\n                url: \"/i/search/top_users/\",\n                data: a,\n                eventData: a,\n                success: \"dataUserSearchContent\",\n                error: \"dataUserSearchContentError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiRefreshUserSearchModule\", this.makeUserSearchModuleRequest);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(userSearchData, withData);\n});\ndefine(\"app/data/user_search_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",], function(module, require, exports) {\n    function userSearchDataScribe() {\n        this.scribeResults = function(a, b) {\n            var c = {\n                action: \"impression\"\n            };\n            this.scribe(c, b);\n            var d = {\n            };\n            c.element = b.element, ((((b.items && b.items.length)) ? (c.action = \"results\", d = {\n                items: b.items.map(function(a, b) {\n                    return {\n                        id: a,\n                        item_type: itemTypes.user,\n                        position: b\n                    };\n                })\n            }) : c.action = \"no_results\")), this.scribe(c, b, d);\n        }, this.scribeUserSearch = function(a, b) {\n            this.scribe({\n                action: \"search\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUserSearchModuleDisplayed\", this.scribeResults), this.JSBNG__on(\"uiUserSearchNavigation\", this.scribeUserSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\");\n    module.exports = defineComponent(userSearchDataScribe, withScribe);\n});\ndefine(\"app/ui/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function userSearchModule() {\n        this.defaultAttrs({\n            peopleLinkSelector: \"a.list-link\",\n            avatarRowSelector: \".avatar-row\",\n            userThumbSelector: \".user-thumb\",\n            itemType: \"user\"\n        }), this.updateContent = function(a, b) {\n            var c = this.select(\"peopleLinkSelector\");\n            c.JSBNG__find(this.attr.avatarRowSelector).remove(), c.append(b.users_module), this.userItemsDisplayed();\n        }, this.userItemsDisplayed = function() {\n            var a = this.select(\"userThumbSelector\").map(function() {\n                return (($(this).data(\"user-id\") + \"\"));\n            }).toArray();\n            this.trigger(\"uiUserSearchModuleDisplayed\", {\n                items: a,\n                element: \"initial\"\n            });\n        }, this.searchForUsers = function(a, b) {\n            ((((a.target == b.el)) && this.trigger(\"uiUserSearchNavigation\")));\n        }, this.getItemPosition = function(a) {\n            return a.closest(this.attr.userThumbSelector).index();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserSearchContent\", this.updateContent), this.JSBNG__on(\"click\", {\n                peopleLinkSelector: this.searchForUsers\n            }), this.trigger(\"uiRefreshUserSearchModule\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(userSearchModule, withItemActions);\n});\ndefine(\"app/data/saved_searches\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_auth_token\",], function(module, require, exports) {\n    function savedSearches() {\n        this.saveSearch = function(a, b) {\n            this.post({\n                url: \"/i/saved_searches/create.json\",\n                data: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataAddedSavedSearch\",\n                error: $.noop\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.post({\n                url: ((((\"/i/saved_searches/destroy/\" + encodeURIComponent(b.id))) + \".json\")),\n                data: \"\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataRemovedSavedSearch\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiAddSavedSearch\", this.saveSearch), this.JSBNG__on(\"uiRemoveSavedSearch\", this.removeSavedSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withAuthToken = require(\"app/data/with_auth_token\");\n    module.exports = defineComponent(savedSearches, withData, withAuthToken);\n});\ndefine(\"app/ui/search_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n    function searchDropdown() {\n        this.defaultAttrs({\n            toggler: \".js-search-dropdown\",\n            saveOrRemoveSelector: \".js-toggle-saved-search-link\",\n            savedSearchSelector: \".js-saved-search\",\n            unsavedSearchSelector: \".js-unsaved-search\",\n            searchTitleSelector: \".search-title\",\n            advancedSearchSelector: \".advanced-search\",\n            embedSearchSelector: \".embed-search\"\n        }), this.addSavedSearch = function(a, b) {\n            this.trigger(\"uiAddSavedSearch\", {\n                query: $(a.target).data(\"query\")\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.savedSearchId = $(a.target).data(\"id\"), this.trigger(\"uiOpenConfirmDialog\", {\n                titleText: _(\"Remove saved search\"),\n                bodyText: _(\"Are you sure you want to remove this search?\"),\n                cancelText: _(\"No\"),\n                submitText: _(\"Yes\"),\n                action: \"SavedSearchRemove\"\n            });\n        }, this.confirmSavedSearchRemoval = function() {\n            if (!this.savedSearchId) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiRemoveSavedSearch\", {\n                id: this.savedSearchId\n            });\n        }, this.savedSearchRemoved = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-saved-search\").addClass(\"js-unsaved-search\").text(_(\"Save search\"));\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Results for \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.navigatePage = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: $(a.target).attr(\"href\")\n            });\n        }, this.savedSearchAdded = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-unsaved-search\").addClass(\"js-saved-search\").text(_(\"Remove saved search\")).data(\"id\", b.id);\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Saved search: \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                advancedSearchSelector: this.navigatePage,\n                embedSearchSelector: this.navigatePage,\n                savedSearchSelector: this.removeSavedSearch,\n                unsavedSearchSelector: this.addSavedSearch\n            }), this.JSBNG__on(JSBNG__document, \"uiSavedSearchRemoveConfirm\", this.confirmSavedSearchRemoval), this.JSBNG__on(JSBNG__document, \"dataAddedSavedSearch\", this.savedSearchAdded), this.JSBNG__on(JSBNG__document, \"dataRemovedSavedSearch\", this.savedSearchRemoved);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDropdown = require(\"app/ui/with_dropdown\");\n    module.exports = defineComponent(searchDropdown, withDropdown);\n});\ndefine(\"app/data/story_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function storyScribe() {\n        this.defaultAttrs({\n            t1dScribeErrors: !1,\n            t1dScribeTimes: !1\n        }), this.scribeCardSearchClick = function(a, b) {\n            this.scribeInteraction({\n                element: \"topic\",\n                action: \"search\"\n            }, b);\n        }, this.scribeCardNewsClick = function(a, b) {\n            var c = {\n            };\n            ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction({\n                element: \"article\",\n                action: \"open_link\"\n            }, b, c);\n        }, this.scribeCardMediaClick = function(a, b) {\n            this.scribeInteraction({\n                element: b.storyMediaType,\n                action: \"click\"\n            }, b);\n        }, this.scribeTweetStory = function(a, b) {\n            this.scribeInteraction({\n                element: \"tweet_link\",\n                action: ((((a.type === \"uiStoryTweetSent\")) ? \"success\" : \"click\"))\n            }, b);\n        }, this.scribeCardImageLoadTime = function(a, b) {\n            ((this.attr.t1dScribeTimes && this.scribe({\n                component: \"topic_story\",\n                action: \"complete\"\n            }, b)));\n        }, this.scribeCardImageLoadError = function(a, b) {\n            ((this.attr.t1dScribeErrors && this.scribe({\n                component: \"topic_story\",\n                action: \"error\"\n            }, b)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiCardMediaClick\", this.scribeCardMediaClick), this.JSBNG__on(\"uiCardNewsClick\", this.scribeCardNewsClick), this.JSBNG__on(\"uiCardSearchClick\", this.scribeCardSearchClick), this.JSBNG__on(\"uiTweetStoryLinkClicked uiStoryTweetSent\", this.scribeTweetStory), this.JSBNG__on(\"uiCardImageLoaded\", this.scribeCardImageLoadTime), this.JSBNG__on(\"uiCardImageLoadError\", this.scribeCardImageLoadError);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInterationDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(storyScribe, withInterationDataScribe);\n});\ndefine(\"app/data/onebox_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function oneboxScribe() {\n        this.scribeOneboxImpression = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"impression\"\n            };\n            this.scribe(c);\n            if (b.items) {\n                var d = {\n                    item_count: b.items.length,\n                    item_ids: b.items\n                };\n                c.action = ((b.items.length ? \"results\" : \"no_results\")), this.scribe(c, b, d);\n            }\n        ;\n        ;\n        }, this.scribeViewAllClick = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"view_all\"\n            };\n            this.scribe(c, b);\n        }, this.scribeEventOneboxClick = function(a, b) {\n            this.scribe({\n                component: \"JSBNG__event\",\n                section: \"onebox\",\n                action: \"click\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiOneboxDisplayed\", this.scribeOneboxImpression), this.JSBNG__on(\"uiOneboxViewAllClick\", this.scribeViewAllClick), this.JSBNG__on(\"uiEventOneboxClick\", this.scribeEventOneboxClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(oneboxScribe, withScribe);\n});\ndefine(\"app/ui/with_story_clicks\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function withStoryClicks() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            cardSearchSelector: \".js-action-card-search\",\n            cardNewsSelector: \".js-action-card-news\",\n            cardMediaSelector: \".js-action-card-media\",\n            cardHeadlineSelector: \".js-news-headline .js-action-card-news\",\n            tweetLinkButtonSelector: \".story-social-new-tweet\",\n            storyItemContainerSelector: \".js-story-item\"\n        }), this.getLinkData = function(a) {\n            var b = $(a).closest(\"[data-url]\");\n            return {\n                url: b.attr(\"data-url\"),\n                tcoUrl: $(a).closest(\"a[href]\").attr(\"href\"),\n                text: b.text()\n            };\n        }, this.cardSearchClick = function(a, b) {\n            this.trigger(\"uiCardSearchClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardNewsClick = function(a, b) {\n            var c = $(a.target);\n            this.trigger(\"uiCardNewsClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardMediaClick = function(a, b) {\n            this.trigger(\"uiCardMediaClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.selectStory = function(a, b) {\n            var c = ((((a.type === \"uiHasExpandedStory\")) ? \"uiItemSelected\" : \"uiItemDeselected\")), d = $(a.target).JSBNG__find(this.attr.storyItemContainerSelector), e = this.interactionData(d);\n            e.scribeContext.element = ((((e.storySource === \"trends\")) ? \"top_tweets\" : \"social_context\")), this.trigger(c, e);\n        }, this.tweetSent = function(a, b) {\n            var c = b.in_reply_to_status_id;\n            if (c) {\n                var d = this.$node.JSBNG__find(((\".open \" + this.attr.storyItemSelector))).has(((((\".tweet[data-tweet-id=\" + c)) + \"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.getItemData(d, c, \"reply\");\n                this.trigger(\"uiStoryTweetAction\", e);\n            }\n             else {\n                var d = this.$node.JSBNG__find(((((((this.attr.storyItemSelector + \"[data-query=\\\"\")) + b.customData.query)) + \"\\\"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiStoryTweetSent\", this.interactionData(d));\n            }\n        ;\n        ;\n        }, this.tweetSelectedStory = function(a, b) {\n            var c = $(b.el).closest(this.attr.storyItemSelector), d = this.interactionData(c);\n            this.trigger(\"uiOpenTweetDialog\", {\n                defaultText: ((\" \" + c.data(\"url\"))),\n                cursorPosition: 0,\n                customData: {\n                    query: c.data(\"query\")\n                },\n                scribeContext: d.scribeContext\n            }), this.trigger(\"uiTweetStoryLinkClicked\", this.interactionData(c));\n        }, this.getCardPosition = function(a) {\n            var b;\n            return this.select(\"storyItemSelector\").each(function(c) {\n                if ((($(this).attr(\"data-query\") === a))) {\n                    return b = c, !1;\n                }\n            ;\n            ;\n            }), b;\n        }, this.getItemData = function(a, b, c) {\n            var d = $(a).closest(this.attr.storyItemSelector), e = d.JSBNG__find(this.attr.cardHeadlineSelector), f = d.data(\"query\"), g = [];\n            d.JSBNG__find(\".tweet[data-tweet-id]\").each(function() {\n                g.push($(this).data(\"tweet-id\"));\n            });\n            var h = {\n                cardType: d.data(\"story-type\"),\n                query: f,\n                title: e.text().trim(),\n                tweetIds: g,\n                cardMediaType: d.data(\"card-media-type\"),\n                position: this.getCardPosition(f),\n                href: e.attr(\"href\"),\n                source: d.data(\"source\"),\n                tweetId: b,\n                action: c\n            };\n            return h;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                cardSearchSelector: this.cardSearchClick,\n                cardNewsSelector: this.cardNewsClick,\n                cardMediaSelector: this.cardMediaClick,\n                tweetLinkButtonSelector: this.tweetSelectedStory\n            }), this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.tweetSent), this.JSBNG__on(\"uiHasCollapsedStory uiHasExpandedStory\", this.selectStory);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = withStoryClicks;\n});\ndeferred(\"$lib/jquery_autoellipsis.js\", function() {\n    (function($) {\n        function e(a, b) {\n            var c = a.data(\"jqae\");\n            ((c || (c = {\n            })));\n            var d = c.wrapperElement;\n            ((d || (d = a.wrapInner(\"\\u003Cdiv/\\u003E\").JSBNG__find(\"\\u003Ediv\"))));\n            var e = d.data(\"jqae\");\n            ((e || (e = {\n            })));\n            var i = e.originalContent;\n            ((i ? d = e.originalContent.clone(!0).data(\"jqae\", {\n                originalContent: i\n            }).replaceAll(d) : d.data(\"jqae\", {\n                originalContent: d.clone(!0)\n            }))), a.data(\"jqae\", {\n                wrapperElement: d,\n                containerWidth: a.JSBNG__innerWidth(),\n                containerHeight: a.JSBNG__innerHeight()\n            });\n            var j = !1, k = d;\n            ((b.selector && (k = $(d.JSBNG__find(b.selector).get().reverse())))), k.each(function() {\n                var c = $(this), e = c.text(), i = !1;\n                if (((((d.JSBNG__innerHeight() - c.JSBNG__innerHeight())) > a.JSBNG__innerHeight()))) c.remove();\n                 else {\n                    h(c);\n                    if (c.contents().length) {\n                        ((j && (g(c).get(0).nodeValue += b.ellipsis, j = !1)));\n                        while (((d.JSBNG__innerHeight() > a.JSBNG__innerHeight()))) {\n                            i = f(c);\n                            if (!i) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            h(c);\n                            if (!c.contents().length) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            g(c).get(0).nodeValue += b.ellipsis;\n                        };\n                    ;\n                        ((((((((b.setTitle == \"onEllipsis\")) && i)) || ((b.setTitle == \"always\")))) ? c.attr(\"title\", e) : ((((b.setTitle != \"never\")) && c.removeAttr(\"title\")))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function f(a) {\n            var b = g(a);\n            if (b.length) {\n                var c = b.get(0).nodeValue, d = c.lastIndexOf(\" \");\n                return ((((d > -1)) ? (c = $.trim(c.substring(0, d)), b.get(0).nodeValue = c) : b.get(0).nodeValue = \"\")), !0;\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function g(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                return ((c.filter(i).length ? c : g(c)));\n            }\n        ;\n        ;\n            a.append(\"\");\n            var b = a.contents();\n            return b.eq(((b.length - 1)));\n        };\n    ;\n        function h(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                if (c.filter(i).length) {\n                    var d = c.get(0).nodeValue;\n                    return d = $.trim(d), ((((d == \"\")) ? (c.remove(), !0) : !1));\n                }\n            ;\n            ;\n                while (h(c)) {\n                ;\n                };\n            ;\n                return ((c.contents().length ? !1 : (c.remove(), !0)));\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function i() {\n            return ((this.nodeType === 3));\n        };\n    ;\n        function j(c, d) {\n            a[c] = d, ((b || (b = window.JSBNG__setInterval(function() {\n                l();\n            }, 200))));\n        };\n    ;\n        function k(c) {\n            ((a[c] && (delete a[c], ((a.length || ((b && (window.JSBNG__clearInterval(b), b = undefined))))))));\n        };\n    ;\n        function l() {\n            if (!c) {\n                c = !0;\n                {\n                    var fin58keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin58i = (0);\n                    var b;\n                    for (; (fin58i < fin58keys.length); (fin58i++)) {\n                        ((b) = (fin58keys[fin58i]));\n                        {\n                            $(b).each(function() {\n                                var c, d;\n                                c = $(this), d = c.data(\"jqae\"), ((((((d.containerWidth != c.JSBNG__innerWidth())) || ((d.containerHeight != c.JSBNG__innerHeight())))) && e(c, a[b])));\n                            });\n                        ;\n                        };\n                    };\n                };\n            ;\n                c = !1;\n            }\n        ;\n        ;\n        };\n    ;\n        var a = {\n        }, b, c = !1, d = {\n            ellipsis: \"...\",\n            setTitle: \"never\",\n            live: !1\n        };\n        $.fn.ellipsis = function(a, b) {\n            var c, f;\n            return c = $(this), ((((typeof a != \"string\")) && (b = a, a = undefined))), f = $.extend({\n            }, d, b), f.selector = a, c.each(function() {\n                var a = $(this);\n                e(a, f);\n            }), ((f.live ? j(c.selector, f) : k(c.selector))), this;\n        };\n    })(jQuery);\n});\ndefine(\"app/utils/ellipsis\", [\"module\",\"require\",\"exports\",\"$lib/jquery_autoellipsis.js\",], function(module, require, exports) {\n    require(\"$lib/jquery_autoellipsis.js\");\n    var isTextOverflowEllipsisSupported = ((\"textOverflow\" in $(\"\\u003Cdiv\\u003E\")[0].style)), isEllipsisSupported = function(a) {\n        return ((((typeof a.forceEllipsisSupport == \"boolean\")) ? a.forceEllipsisSupport : isTextOverflowEllipsisSupported));\n    }, singleLineEllipsis = function(a, b) {\n        return ((isEllipsisSupported(b) ? !1 : ($(a).each(function() {\n            var a = $(this);\n            if (a.hasClass(\"ellipsify-container\")) {\n                if (!b.force) {\n                    return !0;\n                }\n            ;\n            ;\n                var c = a.JSBNG__find(\"span.ellip-content\");\n                ((c.length && a.html(c.html())));\n            }\n        ;\n        ;\n            a.addClass(\"ellipsify-container\").wrapInner($(\"\\u003Cspan\\u003E\").addClass(\"ellip-content\"));\n            var d = a.JSBNG__find(\"span.ellip-content\");\n            if (((d.width() > a.width()))) {\n                var e = $(\"\\u003Cdiv class=\\\"ellip\\\"\\u003E&hellip;\\u003C/div\\u003E\");\n                a.append(e), d.width(((a.width() - e.width()))).css(\"margin-right\", e.width());\n            }\n        ;\n        ;\n        }), !0)));\n    }, multilineEllipsis = function(a, b) {\n        $(a).each(function(a, c) {\n            var d = $(c);\n            d.ellipsis(b.multilineSelector, b.multilineOptions);\n            var e = d.JSBNG__find(\"\\u003Ediv\"), f = e.contents();\n            d.append(f), e.remove();\n        });\n    }, ellipsify = function(a, b) {\n        b = ((b || {\n        }));\n        var c = ((b.multiline ? ((b.multilineFunction || multilineEllipsis)) : ((b.singlelineFunction || singleLineEllipsis))));\n        return c(a, b);\n    };\n    module.exports = ellipsify;\n});\ndefine(\"app/ui/with_story_ellipsis\", [\"module\",\"require\",\"exports\",\"app/utils/ellipsis\",], function(module, require, exports) {\n    function withStoryEllipsis() {\n        this.defaultAttrs({\n            singleLineEllipsisSelector: \"h3.js-story-title, p.js-metadata\",\n            multilineEllipsisSelector: \"p.js-news-snippet, h3.js-news-headline, .cards-summary h3, .cards-summary .article\",\n            ellipsisChar: \"&ellip;\"\n        }), this.ellipsify = function() {\n            ellipsify(this.select(\"singleLineEllipsisSelector\")), ellipsify(this.select(\"multilineEllipsisSelector\"), {\n                multiline: !0,\n                multilineOptions: {\n                    ellipsis: this.attr.ellipsisChar\n                }\n            });\n        };\n    };\n;\n    var ellipsify = require(\"app/utils/ellipsis\");\n    module.exports = withStoryEllipsis;\n});\ndefine(\"app/ui/search/news_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_story_clicks\",\"app/ui/with_story_ellipsis\",], function(module, require, exports) {\n    function newsOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"news_story\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.ellipsify(), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withStoryClicks = require(\"app/ui/with_story_clicks\"), withStoryEllipsis = require(\"app/ui/with_story_ellipsis\");\n    module.exports = defineComponent(newsOnebox, withStoryClicks, withStoryEllipsis);\n});\ndefine(\"app/ui/search/user_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function userOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".user-story-item\",\n            viewAllSelector: \".js-onebox-view-all\",\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"user_story\",\n                items: this.getItemIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.viewAllClicked = function() {\n            this.trigger(\"uiOneboxViewAllClick\", {\n                type: \"user_story\"\n            });\n        }, this.getItemIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"item-id\"));\n            }), a;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                viewAllSelector: this.viewAllClicked\n            }), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(userOnebox, withItemActions, withStoryClicks);\n});\ndefine(\"app/ui/search/event_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function eventOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"event_story\"\n            });\n        }, this.broadcastClick = function(a) {\n            this.trigger(\"uiEventOneboxClick\");\n        }, this.after(\"initialize\", function() {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.broadcastClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(eventOnebox);\n});\ndefine(\"app/ui/search/media_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function mediaOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".media-item\",\n            itemType: \"story\",\n            query: \"\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"media_story\",\n                items: this.getStatusIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.getStatusIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"status-id\"));\n            }), a;\n        }, this.mediaItemClick = function(a, b) {\n            this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"Photos of {{query}}\", {\n                    query: this.attr.query\n                })\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.mediaItemClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(mediaOnebox, withStoryClicks);\n});\ndefine(\"app/ui/search/spelling_corrections\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function SpellingCorrections() {\n        this.defaultAttrs({\n            dismissSelector: \".js-action-dismiss-correction\",\n            spellingCorrectionSelector: \".corrected-query\",\n            wrapperNodeSelector: \"\"\n        }), this.dismissCorrection = function(a) {\n            var b = this.select(\"wrapperNodeSelector\");\n            ((((b.length == 0)) && (b = this.$node))), b.fadeOut(250, function() {\n                $(this).hide();\n            }), this.scribeEvent(\"dismiss\");\n        }, this.clickCorrection = function(a) {\n            this.scribeEvent(\"search\");\n        }, this.scribeEvent = function(a) {\n            var b = this.select(\"spellingCorrectionSelector\");\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"spelling_corrections\",\n                action: a,\n                query: b.data(\"query\"),\n                item_names: [b.data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                dismissSelector: this.dismissCorrection,\n                spellingCorrectionSelector: this.clickCorrection\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(SpellingCorrections);\n});\ndefine(\"app/ui/search/related_queries\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function RelatedQueries() {\n        this.defaultAttrs({\n            relatedQuerySelector: \".related-query\"\n        }), this.relatedQueryClick = function(a) {\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"related_queries\",\n                action: \"search\",\n                query: $(a.target).data(\"query\"),\n                item_names: [$(a.target).data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                relatedQuerySelector: this.relatedQueryClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(RelatedQueries);\n});\ndefine(\"app/data/search_assistance_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function SearchAssistanceScribe() {\n        this.scribeSearchAssistance = function(a, b) {\n            this.scribe({\n                section: \"search\",\n                component: b.component,\n                action: b.action\n            }, {\n                query: b.query,\n                item_names: b.item_names\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSearchAssistanceAction\", this.scribeSearchAssistance);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(SearchAssistanceScribe, withScribe);\n});\ndefine(\"app/data/timeline_controls_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function timelineControlsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHasEnabledAutoplay\", {\n                action: \"JSBNG__on\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            }), this.scribeOnEvent(\"uiHasDisabledAutoplay\", {\n                action: \"off\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), TimelineControlsScribe = defineComponent(timelineControlsScribe, withScribe);\n    module.exports = TimelineControlsScribe;\n});\ndefine(\"app/pages/search/search\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweet_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), universalTimelineBoot = require(\"app/boot/universal_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), StoryScribe = require(\"app/data/story_scribe\"), OneboxScribe = require(\"app/data/onebox_scribe\"), NewsOnebox = require(\"app/ui/search/news_onebox\"), UserOnebox = require(\"app/ui/search/user_onebox\"), EventOnebox = require(\"app/ui/search/event_onebox\"), MediaOnebox = require(\"app/ui/search/media_onebox\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\"), TimelineControlsScribe = require(\"app/data/timeline_controls_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), ((b.universalSearch ? (TimelineControlsScribe.attachTo(JSBNG__document), universalTimelineBoot(utils.merge(b, {\n            autoplay: !!b.autoplay_search_timeline,\n            travelingPTw: !!b.autoplay_search_timeline\n        })), SpellingCorrections.attachTo(\"#timeline\", utils.merge(b, {\n            wrapperNodeSelector: \".stream-spelling-corrections\"\n        })), RelatedQueries.attachTo(\"#timeline\")) : (tweetTimelineBoot(b, b.search_endpoint, \"tweet\"), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        })), StoryScribe.attachTo(JSBNG__document), OneboxScribe.attachTo(JSBNG__document, b), NewsOnebox.attachTo(\".onebox .discover-item[data-story-type=news]\"), UserOnebox.attachTo(\".onebox .discover-item[data-story-type=user]\", b), EventOnebox.attachTo(\".onebox .discover-item[data-story-type=event]\"), MediaOnebox.attachTo(\".onebox .discover-item[data-story-type=media]\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\")))), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SearchAssistanceScribe.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/ui/timelines/with_search_media_pagination\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_tweet_pagination\",\"core/compose\",], function(module, require, exports) {\n    function withSearchMediaPagination() {\n        compose.mixin(this, [withTweetPagination,]), this.shouldGetOldItems = function() {\n            return !1;\n        };\n    };\n;\n    var withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), compose = require(\"core/compose\");\n    module.exports = withSearchMediaPagination;\n});\ndefine(\"app/ui/timelines/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/gallery/with_grid\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.defaultAttrs({\n            itemType: \"media\"\n        }), this.after(\"initialize\", function(a) {\n            this.hideWhaleEnd(), this.hideMoreSpinner();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withSearchMediaPagination = require(\"app/ui/timelines/with_search_media_pagination\"), withGrid = require(\"app/ui/gallery/with_grid\");\n    module.exports = defineComponent(mediaTimeline, withBaseTimeline, withOldItems, withSearchMediaPagination, withGrid);\n});\ndefine(\"app/boot/media_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/media_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), MediaTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), MediaTimeline = require(\"app/ui/timelines/media_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/search/media\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweets\",\"app/boot/media_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetsBoot = require(\"app/boot/tweets\"), mediaTimelineBoot = require(\"app/boot/media_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), tweetsBoot(\"#timeline\", b), mediaTimelineBoot(b, b.timeline_url, \"tweet\"), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\"), SearchAssistanceScribe.attachTo(JSBNG__document, b), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        }));\n    };\n});\ndefine(\"app/pages/simple_t1\", [\"module\",\"require\",\"exports\",\"app/boot/app\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\");\n    module.exports = function(a) {\n        bootApp(a);\n    };\n});");
+// 4818
+geval("define(\"app/data/geo\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"app/data/with_data\",], function(module, require, exports) {\n    function geo() {\n        this.isInState = function(a) {\n            return ((a.split(\" \").indexOf(this.state) >= 0));\n        }, this.isEnabled = function(a) {\n            return !this.isInState(\"disabled enabling enableIsUnavailable\");\n        }, this.setInitialState = function() {\n            ((this.attr.geoEnabled ? this.state = ((((Geo.webclientCookie() === \"1\")) ? \"enabledTurnedOn\" : \"enabledTurnedOff\")) : this.state = \"disabled\"));\n        }, this.requestState = function(a, b) {\n            ((this.shouldLocate() ? this.locate() : this.sendState(this.state)));\n        }, this.shouldLocate = function() {\n            return ((this.isInState(\"enabledTurnedOn locateIsUnavailable\") || ((this.isInState(\"located locationUnknown\") && ((!this.lastLocationTime || ((((this.now() - this.lastLocationTime)) > MIN_TIME_BETWEEN_LOCATES_IN_MS))))))));\n        }, this.locate = function(a) {\n            this.sendState(((a ? \"changing\" : \"locating\")));\n            var b = function(a) {\n                this.sendState(((this.locateOrEnableState(a) || \"locateIsUnavailable\")));\n            }.bind(this), c = function() {\n                this.sendState(\"locateIsUnavailable\");\n            }.bind(this), d = {\n                override_place_id: a\n            };\n            this.post({\n                url: \"/account/geo_locate\",\n                data: d,\n                echoParams: {\n                    spoof_ip: !0\n                },\n                eventData: d,\n                success: b,\n                error: c\n            });\n        }, this.locateOrEnableState = function(a) {\n            switch (a.JSBNG__status) {\n              case \"ok\":\n                return this.place_id = a.place_id, this.place_name = a.place_name, this.places_html = a.html, this.lastLocationTime = this.now(), \"located\";\n              case \"unknown\":\n                return this.lastLocationTime = this.now(), \"locationUnknown\";\n            };\n        ;\n        }, this.now = function() {\n            return (new JSBNG__Date).getTime();\n        }, this.sendState = function(a) {\n            ((a && (this.state = a)));\n            var b = {\n                state: this.state\n            };\n            ((((this.state === \"located\")) && (b.place_id = this.place_id, b.place_name = this.place_name, b.places_html = this.places_html))), this.trigger(\"dataGeoState\", b);\n        }, this.turnOn = function() {\n            ((this.isEnabled() && (Geo.webclientCookie(\"1\"), this.locate())));\n        }, this.turnOff = function() {\n            ((this.isEnabled() && (Geo.webclientCookie(null), this.sendState(\"enabledTurnedOff\"))));\n        }, this.enable = function(a, b) {\n            if (!this.isInState(\"disabled enableIsUnavailable\")) {\n                return;\n            }\n        ;\n        ;\n            this.sendState(\"enabling\");\n            var c = function(a) {\n                Geo.webclientCookie(\"1\"), this.sendState(((this.locateOrEnableState(a) || \"enableIsUnavailable\")));\n            }.bind(this), d = function() {\n                this.sendState(\"enableIsUnavailable\");\n            }.bind(this);\n            this.post({\n                url: \"/account/geo_locate\",\n                data: {\n                    enable: \"1\"\n                },\n                echoParams: {\n                    spoof_ip: !0\n                },\n                eventData: b,\n                success: c,\n                error: d\n            });\n        }, this.change = function(a, b) {\n            ((this.isEnabled() && this.locate(b.placeId)));\n        }, this.search = function(a, b) {\n            if (this.searching) {\n                this.pendingSearchData = b;\n                return;\n            }\n        ;\n        ;\n            this.pendingSearchData = null;\n            var c = function() {\n                this.searching = !1;\n                if (this.pendingSearchData) {\n                    return this.search(a, this.pendingSearchData), !0;\n                }\n            ;\n            ;\n            }.bind(this), d = b.query.trim(), e = [d,b.placeId,b.isPrefix,].join(\",\"), f = function(a) {\n                this.searchCache[e] = a, a = $.extend({\n                }, a, {\n                    sourceEventData: b\n                }), ((c() || this.trigger(\"dataGeoSearchResults\", a)));\n            }.bind(this), g = function() {\n                ((c() || this.trigger(\"dataGeoSearchResultsUnavailable\")));\n            }.bind(this);\n            if (!d) {\n                f({\n                    html: \"\"\n                });\n                return;\n            }\n        ;\n        ;\n            var h = this.searchCache[e];\n            if (h) {\n                f(h);\n                return;\n            }\n        ;\n        ;\n            this.searching = !0, this.get({\n                url: \"/account/geo_search\",\n                data: {\n                    query: d,\n                    place_id: b.placeId,\n                    is_prefix: ((b.isPrefix ? \"1\" : \"0\"))\n                },\n                eventData: b,\n                success: f,\n                error: g\n            });\n        }, this.after(\"initialize\", function() {\n            this.searchCache = {\n            }, this.setInitialState(), this.JSBNG__on(\"uiRequestGeoState\", this.requestState), this.JSBNG__on(\"uiGeoPickerEnable\", this.enable), this.JSBNG__on(\"uiGeoPickerTurnOn\", this.turnOn), this.JSBNG__on(\"uiGeoPickerTurnOff\", this.turnOff), this.JSBNG__on(\"uiGeoPickerChange\", this.change), this.JSBNG__on(\"uiGeoPickerSearch\", this.search);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), withData = require(\"app/data/with_data\"), Geo = defineComponent(geo, withData), MIN_TIME_BETWEEN_LOCATES_IN_MS = 900000;\n    module.exports = Geo, Geo.webclientCookie = function(a) {\n        return ((((a === undefined)) ? cookie(\"geo_webclient\") : cookie(\"geo_webclient\", a, {\n            expires: 3650,\n            path: \"/\"\n        })));\n    };\n});\ndefine(\"app/data/tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_auth_token\",\"core/i18n\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweet() {\n        this.IFRAME_TIMEOUT = 120000, this.sendTweet = function(a, b) {\n            var c = b.tweetboxId, d = function(a) {\n                a.tweetboxId = c, this.trigger(\"dataTweetSuccess\", a), this.trigger(\"dataGotProfileStats\", {\n                    stats: a.profile_stats\n                });\n            }, e = function(a) {\n                var b;\n                try {\n                    b = a.message;\n                } catch (d) {\n                    b = {\n                        error: _(\"Sorry! We did something wrong.\")\n                    };\n                };\n            ;\n                b.tweetboxId = c, this.trigger(\"dataTweetError\", b);\n            };\n            this.post({\n                url: \"/i/tweet/create\",\n                isMutation: !1,\n                data: b.tweetData,\n                success: d.bind(this),\n                error: e.bind(this)\n            });\n        }, this.sendTweetWithMedia = function(a, b) {\n            var c = b.tweetboxId, d = b.tweetData, e = this, f, g = function(a) {\n                a.tweetboxId = c, JSBNG__clearTimeout(f), ((a.error ? e.trigger(\"dataTweetError\", a) : e.trigger(\"dataTweetSuccess\", a)));\n            };\n            window[c] = g.bind(this), f = JSBNG__setTimeout(function() {\n                window[c] = function() {\n                \n                }, g({\n                    error: _(\"Tweeting a photo timed out.\")\n                });\n            }, this.IFRAME_TIMEOUT);\n            var h = $(((\"#\" + b.tweetboxId))), i = this.getAuthToken();\n            h.JSBNG__find(\".auth-token\").val(i), h.JSBNG__find(\".iframe-callback\").val(((\"window.JSBNG__top.\" + c))), h.JSBNG__find(\".in-reply-to-status-id\").val(d.in_reply_to_status_id), h.JSBNG__find(\".impression-id\").val(d.impression_id), h.JSBNG__find(\".earned\").val(d.earned), h.submit();\n        }, this.sendDirectMessage = function(a, b) {\n            this.trigger(\"dataDirectMessageSuccess\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSendTweet\", this.sendTweet), this.JSBNG__on(\"uiSendTweetWithMedia\", this.sendTweetWithMedia), this.JSBNG__on(\"uiSendDirectMessage\", this.sendDirectMessage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withAuthToken = require(\"app/data/with_auth_token\"), _ = require(\"core/i18n\"), withData = require(\"app/data/with_data\"), Tweet = defineComponent(tweet, withAuthToken, withData);\n    module.exports = Tweet;\n});\ndefine(\"app/ui/tweet_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/data/user_info\",\"core/i18n\",], function(module, require, exports) {\n    function tweetDialog() {\n        this.defaultAttrs({\n            tweetBoxSelector: \"form.tweet-form\",\n            modalTweetSelector: \".modal-tweet\",\n            modalTitleSelector: \".modal-title\"\n        }), this.addTweet = function(a) {\n            this.select(\"modalTweetSelector\").show(), a.appendTo(this.select(\"modalTweetSelector\"));\n        }, this.removeTweet = function() {\n            this.select(\"modalTweetSelector\").hide().empty();\n        }, this.openReply = function(a, b) {\n            this.addTweet($(a.target).clone());\n            var c = b.screenNames[0];\n            this.openTweetDialog(a, utils.merge(b, {\n                title: _(\"Reply to {{screenName}}\", {\n                    screenName: ((\"@\" + c))\n                })\n            }));\n        }, this.openGlobalTweetDialog = function(a, b) {\n            this.openTweetDialog(a, utils.merge(b, {\n                draftTweetId: \"global\"\n            }));\n        }, this.openTweetDialog = function(a, b) {\n            this.setTitle(((((b && b.title)) || _(\"What's happening?\"))));\n            if (!this.tweetBoxReady) {\n                var c = $(\"#global-tweet-dialog form.tweet-form\");\n                this.trigger(c, \"uiInitTweetbox\", {\n                    eventData: {\n                        scribeContext: {\n                            component: \"tweet_box_dialog\"\n                        }\n                    },\n                    modal: !0\n                }), this.tweetBoxReady = !0;\n            }\n        ;\n        ;\n            if (b) {\n                var d = null;\n                ((b.screenNames ? d = b.screenNames : ((b.screenName && (d = [b.screenName,]))))), ((d && (b.defaultText = ((((\"@\" + d.join(\" @\"))) + \" \")), b.condensedText = _(\"Reply to {{screenNames}}\", {\n                    screenNames: b.defaultText\n                })))), this.trigger(JSBNG__document, \"uiOverrideTweetBoxOptions\", b);\n            }\n        ;\n        ;\n            this.open();\n        }, this.setTitle = function(a) {\n            this.select(\"modalTitleSelector\").text(a);\n        }, this.updateTitle = function(a, b) {\n            ((((b && b.title)) && this.setTitle(b.title)));\n        }, this.prepareTweetBox = function() {\n            this.select(\"tweetBoxSelector\").trigger(\"uiPrepareTweetBox\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiShortcutShowTweetbox\", this.openGlobalTweetDialog), this.JSBNG__on(JSBNG__document, \"uiOpenTweetDialog\", this.openTweetDialog), this.JSBNG__on(JSBNG__document, \"uiOpenReplyDialog\", this.openReply), this.JSBNG__on(\"uiTweetSent\", this.close), this.JSBNG__on(\"uiDialogOpened\", this.prepareTweetBox), this.JSBNG__on(\"uiDialogClosed\", this.removeTweet), this.JSBNG__on(\"uiDialogUpdateTitle\", this.updateTitle);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), userInfo = require(\"app/data/user_info\"), _ = require(\"core/i18n\"), TweetDialog = defineComponent(tweetDialog, withDialog, withPosition);\n    module.exports = TweetDialog;\n});\ndefine(\"app/ui/new_tweet_button\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function newTweetButton() {\n        this.openTweetDialog = function() {\n            this.trigger(\"uiOpenTweetDialog\", {\n                draftTweetId: \"global\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", this.openTweetDialog);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(newTweetButton);\n});\ndefine(\"app/data/tweet_box_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function tweetBoxScribe() {\n        var a = {\n            tweetBox: {\n                uiTweetboxTweetError: \"failure\",\n                uiTweetboxTweetSuccess: \"send_tweet\",\n                uiTweetboxReplySuccess: \"send_reply\",\n                uiTweetboxDMSuccess: \"send_dm\",\n                uiOpenTweetDialog: \"compose_tweet\"\n            },\n            imagePicker: {\n                uiImagePickerClick: \"click\",\n                uiImagePickerAdd: \"add\",\n                uiImagePickerRemove: \"remove\",\n                uiImagePickerError: \"error\",\n                uiDrop: \"drag_and_drop\"\n            },\n            geoPicker: {\n                uiGeoPickerOffer: \"offer\",\n                uiGeoPickerEnable: \"enable\",\n                uiGeoPickerOpen: \"open\",\n                uiGeoPickerTurnOn: \"JSBNG__on\",\n                uiGeoPickerTurnOff: \"off\",\n                uiGeoPickerChange: \"select\",\n                uiGeoPickerInteraction: \"focus_field\"\n            }\n        };\n        this.after(\"initialize\", function() {\n            Object.keys(a.tweetBox).forEach(function(b) {\n                this.scribeOnEvent(b, {\n                    element: \"tweet_box\",\n                    action: a.tweetBox[b]\n                });\n            }, this), Object.keys(a.imagePicker).forEach(function(b) {\n                this.scribeOnEvent(b, {\n                    element: \"image_picker\",\n                    action: a.imagePicker[b]\n                });\n            }, this), Object.keys(a.geoPicker).forEach(function(b) {\n                this.scribeOnEvent(b, {\n                    element: \"geo_picker\",\n                    action: a.geoPicker[b]\n                });\n            }, this);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(tweetBoxScribe, withScribe);\n});\nprovide(\"lib/twitter-text\", function(a) {\n    var b = {\n    };\n    (function() {\n        function c(a, c) {\n            return c = ((c || \"\")), ((((typeof a != \"string\")) && (((((a.global && ((c.indexOf(\"g\") < 0)))) && (c += \"g\"))), ((((a.ignoreCase && ((c.indexOf(\"i\") < 0)))) && (c += \"i\"))), ((((a.multiline && ((c.indexOf(\"m\") < 0)))) && (c += \"m\"))), a = a.source))), new RegExp(a.replace(/#\\{(\\w+)\\}/g, function(a, c) {\n                var d = ((b.txt.regexen[c] || \"\"));\n                return ((((typeof d != \"string\")) && (d = d.source))), d;\n            }), c);\n        };\n    ;\n        function d(a, b) {\n            return a.replace(/#\\{(\\w+)\\}/g, function(a, c) {\n                return ((b[c] || \"\"));\n            });\n        };\n    ;\n        function e(a, b, c) {\n            var d = String.fromCharCode(b);\n            return ((((c !== b)) && (d += ((\"-\" + String.fromCharCode(c)))))), a.push(d), a;\n        };\n    ;\n        function q(a) {\n            var b = {\n            };\n            {\n                var fin59keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin59i = (0);\n                var c;\n                for (; (fin59i < fin59keys.length); (fin59i++)) {\n                    ((c) = (fin59keys[fin59i]));\n                    {\n                        ((a.hasOwnProperty(c) && (b[c] = a[c])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        };\n    ;\n        function u(a, b, c) {\n            return ((c ? ((!a || ((a.match(b) && ((RegExp[\"$&\"] === a)))))) : ((((((typeof a == \"string\")) && a.match(b))) && ((RegExp[\"$&\"] === a))))));\n        };\n    ;\n        b.txt = {\n        }, b.txt.regexen = {\n        };\n        var a = {\n            \"&\": \"&amp;\",\n            \"\\u003E\": \"&gt;\",\n            \"\\u003C\": \"&lt;\",\n            \"\\\"\": \"&quot;\",\n            \"'\": \"&#39;\"\n        };\n        b.txt.htmlEscape = function(b) {\n            return ((b && b.replace(/[&\"'><]/g, function(b) {\n                return a[b];\n            })));\n        }, b.txt.regexSupplant = c, b.txt.stringSupplant = d, b.txt.addCharsToCharClass = e;\n        var f = String.fromCharCode, g = [f(32),f(133),f(160),f(5760),f(6158),f(8232),f(8233),f(8239),f(8287),f(12288),];\n        e(g, 9, 13), e(g, 8192, 8202);\n        var h = [f(65534),f(65279),f(65535),];\n        e(h, 8234, 8238), b.txt.regexen.spaces_group = c(g.join(\"\")), b.txt.regexen.spaces = c(((((\"[\" + g.join(\"\"))) + \"]\"))), b.txt.regexen.invalid_chars_group = c(h.join(\"\")), b.txt.regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/, b.txt.regexen.rtl_chars = /[\\u0600-\\u06FF]|[\\u0750-\\u077F]|[\\u0590-\\u05FF]|[\\uFE70-\\uFEFF]/gm, b.txt.regexen.non_bmp_code_pairs = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/gm;\n        var i = [];\n        e(i, 1024, 1279), e(i, 1280, 1319), e(i, 11744, 11775), e(i, 42560, 42655), e(i, 1425, 1471), e(i, 1473, 1474), e(i, 1476, 1477), e(i, 1479, 1479), e(i, 1488, 1514), e(i, 1520, 1524), e(i, 64274, 64296), e(i, 64298, 64310), e(i, 64312, 64316), e(i, 64318, 64318), e(i, 64320, 64321), e(i, 64323, 64324), e(i, 64326, 64335), e(i, 1552, 1562), e(i, 1568, 1631), e(i, 1646, 1747), e(i, 1749, 1756), e(i, 1758, 1768), e(i, 1770, 1775), e(i, 1786, 1788), e(i, 1791, 1791), e(i, 1872, 1919), e(i, 2208, 2208), e(i, 2210, 2220), e(i, 2276, 2302), e(i, 64336, 64433), e(i, 64467, 64829), e(i, 64848, 64911), e(i, 64914, 64967), e(i, 65008, 65019), e(i, 65136, 65140), e(i, 65142, 65276), e(i, 8204, 8204), e(i, 3585, 3642), e(i, 3648, 3662), e(i, 4352, 4607), e(i, 12592, 12677), e(i, 43360, 43391), e(i, 44032, 55215), e(i, 55216, 55295), e(i, 65441, 65500), e(i, 12449, 12538), e(i, 12540, 12542), e(i, 65382, 65439), e(i, 65392, 65392), e(i, 65296, 65305), e(i, 65313, 65338), e(i, 65345, 65370), e(i, 12353, 12438), e(i, 12441, 12446), e(i, 13312, 19903), e(i, 19968, 40959), e(i, 173824, 177983), e(i, 177984, 178207), e(i, 194560, 195103), e(i, 12291, 12291), e(i, 12293, 12293), e(i, 12347, 12347), b.txt.regexen.nonLatinHashtagChars = c(i.join(\"\"));\n        var j = [];\n        e(j, 192, 214), e(j, 216, 246), e(j, 248, 255), e(j, 256, 591), e(j, 595, 596), e(j, 598, 599), e(j, 601, 601), e(j, 603, 603), e(j, 611, 611), e(j, 616, 616), e(j, 623, 623), e(j, 626, 626), e(j, 649, 649), e(j, 651, 651), e(j, 699, 699), e(j, 768, 879), e(j, 7680, 7935), b.txt.regexen.latinAccentChars = c(j.join(\"\")), b.txt.regexen.hashSigns = /[##]/, b.txt.regexen.hashtagAlpha = c(/[a-z_#{latinAccentChars}#{nonLatinHashtagChars}]/i), b.txt.regexen.hashtagAlphaNumeric = c(/[a-z0-9_#{latinAccentChars}#{nonLatinHashtagChars}]/i), b.txt.regexen.endHashtagMatch = c(/^(?:#{hashSigns}|:\\/\\/)/), b.txt.regexen.hashtagBoundary = c(/(?:^|$|[^&a-z0-9_#{latinAccentChars}#{nonLatinHashtagChars}])/), b.txt.regexen.validHashtag = c(/(#{hashtagBoundary})(#{hashSigns})(#{hashtagAlphaNumeric}*#{hashtagAlpha}#{hashtagAlphaNumeric}*)/gi), b.txt.regexen.validMentionPrecedingChars = /(?:^|[^a-zA-Z0-9_!#$%&*@@]|RT:?)/, b.txt.regexen.atSigns = /[@@]/, b.txt.regexen.validMentionOrList = c(\"(#{validMentionPrecedingChars})(#{atSigns})([a-zA-Z0-9_]{1,20})(/[a-zA-Z][a-zA-Z0-9_-]{0,24})?\", \"g\"), b.txt.regexen.validReply = c(/^(?:#{spaces})*#{atSigns}([a-zA-Z0-9_]{1,20})/), b.txt.regexen.endMentionMatch = c(/^(?:#{atSigns}|[#{latinAccentChars}]|:\\/\\/)/), b.txt.regexen.validUrlPrecedingChars = c(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/), b.txt.regexen.invalidUrlWithoutProtocolPrecedingChars = /[-_.\\/]$/, b.txt.regexen.invalidDomainChars = d(\"#{punct}#{spaces_group}#{invalid_chars_group}\", b.txt.regexen), b.txt.regexen.validDomainChars = c(/[^#{invalidDomainChars}]/), b.txt.regexen.validSubdomain = c(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/), b.txt.regexen.validDomainName = c(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/), b.txt.regexen.validGTLD = c(/(?:(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|xxx)(?=[^0-9a-zA-Z]|$))/), b.txt.regexen.validCCTLD = c(/(?:(?:ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|sx)(?=[^0-9a-zA-Z]|$))/), b.txt.regexen.validPunycode = c(/(?:xn--[0-9a-z]+)/), b.txt.regexen.validDomain = c(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/), b.txt.regexen.validAsciiDomain = c(/(?:(?:[\\-a-z0-9#{latinAccentChars}]+)\\.)+(?:#{validGTLD}|#{validCCTLD}|#{validPunycode})/gi), b.txt.regexen.invalidShortDomain = c(/^#{validDomainName}#{validCCTLD}$/), b.txt.regexen.validPortNumber = c(/[0-9]+/), b.txt.regexen.validGeneralUrlPathChars = c(/[a-z0-9!\\*';:=\\+,\\.\\$\\/%#\\[\\]\\-_~@|&#{latinAccentChars}]/i), b.txt.regexen.validUrlBalancedParens = c(/\\(#{validGeneralUrlPathChars}+\\)/i), b.txt.regexen.validUrlPathEndingChars = c(/[\\+\\-a-z0-9=_#\\/#{latinAccentChars}]|(?:#{validUrlBalancedParens})/i), b.txt.regexen.validUrlPath = c(\"(?:(?:#{validGeneralUrlPathChars}*(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*#{validUrlPathEndingChars})|(?:@#{validGeneralUrlPathChars}+/))\", \"i\"), b.txt.regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i, b.txt.regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i, b.txt.regexen.extractUrl = c(\"((#{validUrlPrecedingChars})((https?:\\\\/\\\\/)?(#{validDomain})(?::(#{validPortNumber}))?(\\\\/#{validUrlPath}*)?(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?))\", \"gi\"), b.txt.regexen.validTcoUrl = /^https?:\\/\\/t\\.co\\/[a-z0-9]+/i, b.txt.regexen.urlHasProtocol = /^https?:\\/\\//i, b.txt.regexen.urlHasHttps = /^https:\\/\\//i, b.txt.regexen.cashtag = /[a-z]{1,6}(?:[._][a-z]{1,2})?/i, b.txt.regexen.validCashtag = c(\"(^|#{spaces})(\\\\$)(#{cashtag})(?=$|\\\\s|[#{punct}])\", \"gi\"), b.txt.regexen.validateUrlUnreserved = /[a-z0-9\\-._~]/i, b.txt.regexen.validateUrlPctEncoded = /(?:%[0-9a-f]{2})/i, b.txt.regexen.validateUrlSubDelims = /[!$&'()*+,;=]/i, b.txt.regexen.validateUrlPchar = c(\"(?:#{validateUrlUnreserved}|#{validateUrlPctEncoded}|#{validateUrlSubDelims}|[:|@])\", \"i\"), b.txt.regexen.validateUrlScheme = /(?:[a-z][a-z0-9+\\-.]*)/i, b.txt.regexen.validateUrlUserinfo = c(\"(?:#{validateUrlUnreserved}|#{validateUrlPctEncoded}|#{validateUrlSubDelims}|:)*\", \"i\"), b.txt.regexen.validateUrlDecOctet = /(?:[0-9]|(?:[1-9][0-9])|(?:1[0-9]{2})|(?:2[0-4][0-9])|(?:25[0-5]))/i, b.txt.regexen.validateUrlIpv4 = c(/(?:#{validateUrlDecOctet}(?:\\.#{validateUrlDecOctet}){3})/i), b.txt.regexen.validateUrlIpv6 = /(?:\\[[a-f0-9:\\.]+\\])/i, b.txt.regexen.validateUrlIp = c(\"(?:#{validateUrlIpv4}|#{validateUrlIpv6})\", \"i\"), b.txt.regexen.validateUrlSubDomainSegment = /(?:[a-z0-9](?:[a-z0-9_\\-]*[a-z0-9])?)/i, b.txt.regexen.validateUrlDomainSegment = /(?:[a-z0-9](?:[a-z0-9\\-]*[a-z0-9])?)/i, b.txt.regexen.validateUrlDomainTld = /(?:[a-z](?:[a-z0-9\\-]*[a-z0-9])?)/i, b.txt.regexen.validateUrlDomain = c(/(?:(?:#{validateUrlSubDomainSegment]}\\.)*(?:#{validateUrlDomainSegment]}\\.)#{validateUrlDomainTld})/i), b.txt.regexen.validateUrlHost = c(\"(?:#{validateUrlIp}|#{validateUrlDomain})\", \"i\"), b.txt.regexen.validateUrlUnicodeSubDomainSegment = /(?:(?:[a-z0-9]|[^\\u0000-\\u007f])(?:(?:[a-z0-9_\\-]|[^\\u0000-\\u007f])*(?:[a-z0-9]|[^\\u0000-\\u007f]))?)/i, b.txt.regexen.validateUrlUnicodeDomainSegment = /(?:(?:[a-z0-9]|[^\\u0000-\\u007f])(?:(?:[a-z0-9\\-]|[^\\u0000-\\u007f])*(?:[a-z0-9]|[^\\u0000-\\u007f]))?)/i, b.txt.regexen.validateUrlUnicodeDomainTld = /(?:(?:[a-z]|[^\\u0000-\\u007f])(?:(?:[a-z0-9\\-]|[^\\u0000-\\u007f])*(?:[a-z0-9]|[^\\u0000-\\u007f]))?)/i, b.txt.regexen.validateUrlUnicodeDomain = c(/(?:(?:#{validateUrlUnicodeSubDomainSegment}\\.)*(?:#{validateUrlUnicodeDomainSegment}\\.)#{validateUrlUnicodeDomainTld})/i), b.txt.regexen.validateUrlUnicodeHost = c(\"(?:#{validateUrlIp}|#{validateUrlUnicodeDomain})\", \"i\"), b.txt.regexen.validateUrlPort = /[0-9]{1,5}/, b.txt.regexen.validateUrlUnicodeAuthority = c(\"(?:(#{validateUrlUserinfo})@)?(#{validateUrlUnicodeHost})(?::(#{validateUrlPort}))?\", \"i\"), b.txt.regexen.validateUrlAuthority = c(\"(?:(#{validateUrlUserinfo})@)?(#{validateUrlHost})(?::(#{validateUrlPort}))?\", \"i\"), b.txt.regexen.validateUrlPath = c(/(\\/#{validateUrlPchar}*)*/i), b.txt.regexen.validateUrlQuery = c(/(#{validateUrlPchar}|\\/|\\?)*/i), b.txt.regexen.validateUrlFragment = c(/(#{validateUrlPchar}|\\/|\\?)*/i), b.txt.regexen.validateUrlUnencoded = c(\"^(?:([^:/?#]+):\\\\/\\\\/)?([^/?#]*)([^?#]*)(?:\\\\?([^#]*))?(?:#(.*))?$\", \"i\");\n        var k = \"tweet-url list-slug\", l = \"tweet-url username\", m = \"tweet-url hashtag\", n = \"tweet-url cashtag\", o = {\n            urlClass: !0,\n            listClass: !0,\n            usernameClass: !0,\n            hashtagClass: !0,\n            cashtagClass: !0,\n            usernameUrlBase: !0,\n            listUrlBase: !0,\n            hashtagUrlBase: !0,\n            cashtagUrlBase: !0,\n            usernameUrlBlock: !0,\n            listUrlBlock: !0,\n            hashtagUrlBlock: !0,\n            linkUrlBlock: !0,\n            usernameIncludeSymbol: !0,\n            suppressLists: !0,\n            suppressNoFollow: !0,\n            targetBlank: !0,\n            suppressDataScreenName: !0,\n            urlEntities: !0,\n            symbolTag: !0,\n            textWithSymbolTag: !0,\n            urlTarget: !0,\n            invisibleTagAttrs: !0,\n            linkAttributeBlock: !0,\n            linkTextBlock: !0,\n            htmlEscapeNonEntities: !0\n        }, p = {\n            disabled: !0,\n            readonly: !0,\n            multiple: !0,\n            checked: !0\n        };\n        b.txt.tagAttrs = function(a) {\n            var c = \"\";\n            {\n                var fin60keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin60i = (0);\n                var d;\n                for (; (fin60i < fin60keys.length); (fin60i++)) {\n                    ((d) = (fin60keys[fin60i]));\n                    {\n                        var e = a[d];\n                        ((p[d] && (e = ((e ? d : null)))));\n                        if (((e == null))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        c += ((((((((\" \" + b.txt.htmlEscape(d))) + \"=\\\"\")) + b.txt.htmlEscape(e.toString()))) + \"\\\"\"));\n                    };\n                };\n            };\n        ;\n            return c;\n        }, b.txt.linkToText = function(a, c, e, f) {\n            ((f.suppressNoFollow || (e.rel = \"nofollow\"))), ((f.linkAttributeBlock && f.linkAttributeBlock(a, e))), ((f.linkTextBlock && (c = f.linkTextBlock(a, c))));\n            var g = {\n                text: c,\n                attr: b.txt.tagAttrs(e)\n            };\n            return d(\"\\u003Ca#{attr}\\u003E#{text}\\u003C/a\\u003E\", g);\n        }, b.txt.linkToTextWithSymbol = function(a, c, d, e, f) {\n            var g = ((f.symbolTag ? ((((((((((((\"\\u003C\" + f.symbolTag)) + \"\\u003E\")) + c)) + \"\\u003C/\")) + f.symbolTag)) + \"\\u003E\")) : c));\n            d = b.txt.htmlEscape(d);\n            var h = ((f.textWithSymbolTag ? ((((((((((((\"\\u003C\" + f.textWithSymbolTag)) + \"\\u003E\")) + d)) + \"\\u003C/\")) + f.textWithSymbolTag)) + \"\\u003E\")) : d));\n            return ((((f.usernameIncludeSymbol || !c.match(b.txt.regexen.atSigns))) ? b.txt.linkToText(a, ((g + h)), e, f) : ((g + b.txt.linkToText(a, h, e, f)))));\n        }, b.txt.linkToHashtag = function(a, c, d) {\n            var e = c.substring(a.indices[0], ((a.indices[0] + 1))), f = b.txt.htmlEscape(a.hashtag), g = q(((d.htmlAttrs || {\n            })));\n            return g.href = ((d.hashtagUrlBase + f)), g.title = ((\"#\" + f)), g[\"class\"] = d.hashtagClass, ((f[0].match(b.txt.regexen.rtl_chars) && (g[\"class\"] += \" rtl\"))), ((d.targetBlank && (g.target = \"_blank\"))), b.txt.linkToTextWithSymbol(a, e, f, g, d);\n        }, b.txt.linkToCashtag = function(a, c, d) {\n            var e = b.txt.htmlEscape(a.cashtag), f = q(((d.htmlAttrs || {\n            })));\n            return f.href = ((d.cashtagUrlBase + e)), f.title = ((\"$\" + e)), f[\"class\"] = d.cashtagClass, ((d.targetBlank && (f.target = \"_blank\"))), b.txt.linkToTextWithSymbol(a, \"$\", e, f, d);\n        }, b.txt.linkToMentionAndList = function(a, c, d) {\n            var e = c.substring(a.indices[0], ((a.indices[0] + 1))), f = b.txt.htmlEscape(a.screenName), g = b.txt.htmlEscape(a.listSlug), h = ((a.listSlug && !d.suppressLists)), i = q(((d.htmlAttrs || {\n            })));\n            return i[\"class\"] = ((h ? d.listClass : d.usernameClass)), i.href = ((h ? ((((d.listUrlBase + f)) + g)) : ((d.usernameUrlBase + f)))), ((((!h && !d.suppressDataScreenName)) && (i[\"data-screen-name\"] = f))), ((d.targetBlank && (i.target = \"_blank\"))), b.txt.linkToTextWithSymbol(a, e, ((h ? ((f + g)) : f)), i, d);\n        }, b.txt.linkToUrl = function(a, c, d) {\n            var e = a.url, f = e, g = b.txt.htmlEscape(f), h = ((((d.urlEntities && d.urlEntities[e])) || a));\n            ((h.display_url && (g = b.txt.linkTextWithEntity(h, d))));\n            var i = q(((d.htmlAttrs || {\n            })));\n            return ((e.match(b.txt.regexen.urlHasProtocol) || (e = ((\"http://\" + e))))), i.href = e, ((d.targetBlank && (i.target = \"_blank\"))), ((d.urlClass && (i[\"class\"] = d.urlClass))), ((d.urlTarget && (i.target = d.urlTarget))), ((((!d.title && h.display_url)) && (i.title = h.expanded_url))), b.txt.linkToText(a, g, i, d);\n        }, b.txt.linkTextWithEntity = function(a, c) {\n            var e = a.display_url, f = a.expanded_url, g = e.replace(/…/g, \"\");\n            if (((f.indexOf(g) != -1))) {\n                var h = f.indexOf(g), i = {\n                    displayUrlSansEllipses: g,\n                    beforeDisplayUrl: f.substr(0, h),\n                    afterDisplayUrl: f.substr(((h + g.length))),\n                    precedingEllipsis: ((e.match(/^…/) ? \"\\u2026\" : \"\")),\n                    followingEllipsis: ((e.match(/…$/) ? \"\\u2026\" : \"\"))\n                };\n                {\n                    var fin61keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin61i = (0);\n                    var j;\n                    for (; (fin61i < fin61keys.length); (fin61i++)) {\n                        ((j) = (fin61keys[fin61i]));\n                        {\n                            ((i.hasOwnProperty(j) && (i[j] = b.txt.htmlEscape(i[j]))));\n                        ;\n                        };\n                    };\n                };\n            ;\n                return i.invisible = c.invisibleTagAttrs, d(\"\\u003Cspan class='tco-ellipsis'\\u003E#{precedingEllipsis}\\u003Cspan #{invisible}\\u003E&nbsp;\\u003C/span\\u003E\\u003C/span\\u003E\\u003Cspan #{invisible}\\u003E#{beforeDisplayUrl}\\u003C/span\\u003E\\u003Cspan class='js-display-url'\\u003E#{displayUrlSansEllipses}\\u003C/span\\u003E\\u003Cspan #{invisible}\\u003E#{afterDisplayUrl}\\u003C/span\\u003E\\u003Cspan class='tco-ellipsis'\\u003E\\u003Cspan #{invisible}\\u003E&nbsp;\\u003C/span\\u003E#{followingEllipsis}\\u003C/span\\u003E\", i);\n            }\n        ;\n        ;\n            return e;\n        }, b.txt.autoLinkEntities = function(a, c, d) {\n            d = q(((d || {\n            }))), d.hashtagClass = ((d.hashtagClass || m)), d.hashtagUrlBase = ((d.hashtagUrlBase || \"https://twitter.com/#!/search?q=%23\")), d.cashtagClass = ((d.cashtagClass || n)), d.cashtagUrlBase = ((d.cashtagUrlBase || \"https://twitter.com/#!/search?q=%24\")), d.listClass = ((d.listClass || k)), d.usernameClass = ((d.usernameClass || l)), d.usernameUrlBase = ((d.usernameUrlBase || \"https://twitter.com/\")), d.listUrlBase = ((d.listUrlBase || \"https://twitter.com/\")), d.htmlAttrs = b.txt.extractHtmlAttrsFromOptions(d), d.invisibleTagAttrs = ((d.invisibleTagAttrs || \"style='position:absolute;left:-9999px;'\"));\n            var e, f, g;\n            if (d.urlEntities) {\n                e = {\n                };\n                for (f = 0, g = d.urlEntities.length; ((f < g)); f++) {\n                    e[d.urlEntities[f].url] = d.urlEntities[f];\n                ;\n                };\n            ;\n                d.urlEntities = e;\n            }\n        ;\n        ;\n            var h = \"\", i = 0;\n            c.sort(function(a, b) {\n                return ((a.indices[0] - b.indices[0]));\n            });\n            var j = ((d.htmlEscapeNonEntities ? b.txt.htmlEscape : function(a) {\n                return a;\n            }));\n            for (var f = 0; ((f < c.length)); f++) {\n                var o = c[f];\n                h += j(a.substring(i, o.indices[0])), ((o.url ? h += b.txt.linkToUrl(o, a, d) : ((o.hashtag ? h += b.txt.linkToHashtag(o, a, d) : ((o.screenName ? h += b.txt.linkToMentionAndList(o, a, d) : ((o.cashtag && (h += b.txt.linkToCashtag(o, a, d)))))))))), i = o.indices[1];\n            };\n        ;\n            return h += j(a.substring(i, a.length)), h;\n        }, b.txt.autoLinkWithJSON = function(a, c, d) {\n            var e = [];\n            {\n                var fin62keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin62i = (0);\n                var f;\n                for (; (fin62i < fin62keys.length); (fin62i++)) {\n                    ((f) = (fin62keys[fin62i]));\n                    {\n                        e = e.concat(c[f]);\n                    ;\n                    };\n                };\n            };\n        ;\n            for (var g = 0; ((g < e.length)); g++) {\n                entity = e[g], ((entity.screen_name ? entity.screenName = entity.screen_name : ((entity.text && (entity.hashtag = entity.text)))));\n            ;\n            };\n        ;\n            return b.txt.modifyIndicesFromUnicodeToUTF16(a, e), b.txt.autoLinkEntities(a, e, d);\n        }, b.txt.extractHtmlAttrsFromOptions = function(a) {\n            var b = {\n            };\n            {\n                var fin63keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin63i = (0);\n                var c;\n                for (; (fin63i < fin63keys.length); (fin63i++)) {\n                    ((c) = (fin63keys[fin63i]));\n                    {\n                        var d = a[c];\n                        if (o[c]) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        ((p[c] && (d = ((d ? c : null)))));\n                        if (((d == null))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        b[c] = d;\n                    };\n                };\n            };\n        ;\n            return b;\n        }, b.txt.autoLink = function(a, c) {\n            var d = b.txt.extractEntitiesWithIndices(a, {\n                extractUrlsWithoutProtocol: !1\n            });\n            return b.txt.autoLinkEntities(a, d, c);\n        }, b.txt.autoLinkUsernamesOrLists = function(a, c) {\n            var d = b.txt.extractMentionsOrListsWithIndices(a);\n            return b.txt.autoLinkEntities(a, d, c);\n        }, b.txt.autoLinkHashtags = function(a, c) {\n            var d = b.txt.extractHashtagsWithIndices(a);\n            return b.txt.autoLinkEntities(a, d, c);\n        }, b.txt.autoLinkCashtags = function(a, c) {\n            var d = b.txt.extractCashtagsWithIndices(a);\n            return b.txt.autoLinkEntities(a, d, c);\n        }, b.txt.autoLinkUrlsCustom = function(a, c) {\n            var d = b.txt.extractUrlsWithIndices(a, {\n                extractUrlsWithoutProtocol: !1\n            });\n            return b.txt.autoLinkEntities(a, d, c);\n        }, b.txt.removeOverlappingEntities = function(a) {\n            a.sort(function(a, b) {\n                return ((a.indices[0] - b.indices[0]));\n            });\n            var b = a[0];\n            for (var c = 1; ((c < a.length)); c++) {\n                ((((b.indices[1] > a[c].indices[0])) ? (a.splice(c, 1), c--) : b = a[c]));\n            ;\n            };\n        ;\n        }, b.txt.extractEntitiesWithIndices = function(a, c) {\n            var d = b.txt.extractUrlsWithIndices(a, c).concat(b.txt.extractMentionsOrListsWithIndices(a)).concat(b.txt.extractHashtagsWithIndices(a, {\n                checkUrlOverlap: !1\n            })).concat(b.txt.extractCashtagsWithIndices(a));\n            return ((((d.length == 0)) ? [] : (b.txt.removeOverlappingEntities(d), d)));\n        }, b.txt.extractMentions = function(a) {\n            var c = [], d = b.txt.extractMentionsWithIndices(a);\n            for (var e = 0; ((e < d.length)); e++) {\n                var f = d[e].screenName;\n                c.push(f);\n            };\n        ;\n            return c;\n        }, b.txt.extractMentionsWithIndices = function(a) {\n            var c = [], d, e = b.txt.extractMentionsOrListsWithIndices(a);\n            for (var f = 0; ((f < e.length)); f++) {\n                d = e[f], ((((d.listSlug == \"\")) && c.push({\n                    screenName: d.screenName,\n                    indices: d.indices\n                })));\n            ;\n            };\n        ;\n            return c;\n        }, b.txt.extractMentionsOrListsWithIndices = function(a) {\n            if (((!a || !a.match(b.txt.regexen.atSigns)))) {\n                return [];\n            }\n        ;\n        ;\n            var c = [], d;\n            return a.replace(b.txt.regexen.validMentionOrList, function(a, d, e, f, g, h, i) {\n                var j = i.slice(((h + a.length)));\n                if (!j.match(b.txt.regexen.endMentionMatch)) {\n                    g = ((g || \"\"));\n                    var k = ((h + d.length)), l = ((((((k + f.length)) + g.length)) + 1));\n                    c.push({\n                        screenName: f,\n                        listSlug: g,\n                        indices: [k,l,]\n                    });\n                }\n            ;\n            ;\n            }), c;\n        }, b.txt.extractReplies = function(a) {\n            if (!a) {\n                return null;\n            }\n        ;\n        ;\n            var c = a.match(b.txt.regexen.validReply);\n            return ((((!c || RegExp.rightContext.match(b.txt.regexen.endMentionMatch))) ? null : c[1]));\n        }, b.txt.extractUrls = function(a, c) {\n            var d = [], e = b.txt.extractUrlsWithIndices(a, c);\n            for (var f = 0; ((f < e.length)); f++) {\n                d.push(e[f].url);\n            ;\n            };\n        ;\n            return d;\n        }, b.txt.extractUrlsWithIndices = function(a, c) {\n            ((c || (c = {\n                extractUrlsWithoutProtocol: !0\n            })));\n            if (((!a || ((c.extractUrlsWithoutProtocol ? !a.match(/\\./) : !a.match(/:/)))))) {\n                return [];\n            }\n        ;\n        ;\n            var d = [];\n            while (b.txt.regexen.extractUrl.exec(a)) {\n                var e = RegExp.$2, f = RegExp.$3, g = RegExp.$4, h = RegExp.$5, i = RegExp.$7, j = b.txt.regexen.extractUrl.lastIndex, k = ((j - f.length));\n                if (!g) {\n                    if (((!c.extractUrlsWithoutProtocol || e.match(b.txt.regexen.invalidUrlWithoutProtocolPrecedingChars)))) {\n                        continue;\n                    }\n                ;\n                ;\n                    var l = null, m = !1, n = 0;\n                    h.replace(b.txt.regexen.validAsciiDomain, function(a) {\n                        var c = h.indexOf(a, n);\n                        n = ((c + a.length)), l = {\n                            url: a,\n                            indices: [((k + c)),((k + n)),]\n                        }, m = a.match(b.txt.regexen.invalidShortDomain), ((m || d.push(l)));\n                    });\n                    if (((l == null))) {\n                        continue;\n                    }\n                ;\n                ;\n                    ((i && (((m && d.push(l))), l.url = f.replace(h, l.url), l.indices[1] = j)));\n                }\n                 else ((f.match(b.txt.regexen.validTcoUrl) && (f = RegExp.lastMatch, j = ((k + f.length))))), d.push({\n                    url: f,\n                    indices: [k,j,]\n                });\n            ;\n            ;\n            };\n        ;\n            return d;\n        }, b.txt.extractHashtags = function(a) {\n            var c = [], d = b.txt.extractHashtagsWithIndices(a);\n            for (var e = 0; ((e < d.length)); e++) {\n                c.push(d[e].hashtag);\n            ;\n            };\n        ;\n            return c;\n        }, b.txt.extractHashtagsWithIndices = function(a, c) {\n            ((c || (c = {\n                checkUrlOverlap: !0\n            })));\n            if (((!a || !a.match(b.txt.regexen.hashSigns)))) {\n                return [];\n            }\n        ;\n        ;\n            var d = [];\n            a.replace(b.txt.regexen.validHashtag, function(a, c, e, f, g, h) {\n                var i = h.slice(((g + a.length)));\n                if (i.match(b.txt.regexen.endHashtagMatch)) {\n                    return;\n                }\n            ;\n            ;\n                var j = ((g + c.length)), k = ((((j + f.length)) + 1));\n                d.push({\n                    hashtag: f,\n                    indices: [j,k,]\n                });\n            });\n            if (c.checkUrlOverlap) {\n                var e = b.txt.extractUrlsWithIndices(a);\n                if (((e.length > 0))) {\n                    var f = d.concat(e);\n                    b.txt.removeOverlappingEntities(f), d = [];\n                    for (var g = 0; ((g < f.length)); g++) {\n                        ((f[g].hashtag && d.push(f[g])));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        }, b.txt.extractCashtags = function(a) {\n            var c = [], d = b.txt.extractCashtagsWithIndices(a);\n            for (var e = 0; ((e < d.length)); e++) {\n                c.push(d[e].cashtag);\n            ;\n            };\n        ;\n            return c;\n        }, b.txt.extractCashtagsWithIndices = function(a) {\n            if (((!a || ((a.indexOf(\"$\") == -1))))) {\n                return [];\n            }\n        ;\n        ;\n            var c = [];\n            return a.replace(b.txt.regexen.validCashtag, function(a, b, d, e, f, g) {\n                var h = ((f + b.length)), i = ((((h + e.length)) + 1));\n                c.push({\n                    cashtag: e,\n                    indices: [h,i,]\n                });\n            }), c;\n        }, b.txt.modifyIndicesFromUnicodeToUTF16 = function(a, c) {\n            b.txt.convertUnicodeIndices(a, c, !1);\n        }, b.txt.modifyIndicesFromUTF16ToUnicode = function(a, c) {\n            b.txt.convertUnicodeIndices(a, c, !0);\n        }, b.txt.getUnicodeTextLength = function(a) {\n            return a.replace(b.txt.regexen.non_bmp_code_pairs, \" \").length;\n        }, b.txt.convertUnicodeIndices = function(a, b, c) {\n            if (((b.length == 0))) {\n                return;\n            }\n        ;\n        ;\n            var d = 0, e = 0;\n            b.sort(function(a, b) {\n                return ((a.indices[0] - b.indices[0]));\n            });\n            var f = 0, g = b[0];\n            while (((d < a.length))) {\n                if (((g.indices[0] == ((c ? d : e))))) {\n                    var h = ((g.indices[1] - g.indices[0]));\n                    g.indices[0] = ((c ? e : d)), g.indices[1] = ((g.indices[0] + h)), f++;\n                    if (((f == b.length))) {\n                        break;\n                    }\n                ;\n                ;\n                    g = b[f];\n                }\n            ;\n            ;\n                var i = a.charCodeAt(d);\n                ((((((((55296 <= i)) && ((i <= 56319)))) && ((d < ((a.length - 1)))))) && (i = a.charCodeAt(((d + 1))), ((((((56320 <= i)) && ((i <= 57343)))) && d++))))), e++, d++;\n            };\n        ;\n        }, b.txt.splitTags = function(a) {\n            var b = a.split(\"\\u003C\"), c, d = [], e;\n            for (var f = 0; ((f < b.length)); f += 1) {\n                e = b[f];\n                if (!e) d.push(\"\");\n                 else {\n                    c = e.split(\"\\u003E\");\n                    for (var g = 0; ((g < c.length)); g += 1) {\n                        d.push(c[g]);\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            return d;\n        }, b.txt.hitHighlight = function(a, c, d) {\n            var e = \"em\";\n            c = ((c || [])), d = ((d || {\n            }));\n            if (((c.length === 0))) {\n                return a;\n            }\n        ;\n        ;\n            var f = ((d.tag || e)), g = [((((\"\\u003C\" + f)) + \"\\u003E\")),((((\"\\u003C/\" + f)) + \"\\u003E\")),], h = b.txt.splitTags(a), i, j, k = \"\", l = 0, m = h[0], n = 0, o = 0, p = !1, q = m, r = [], s, t, u, v, w;\n            for (i = 0; ((i < c.length)); i += 1) {\n                for (j = 0; ((j < c[i].length)); j += 1) {\n                    r.push(c[i][j]);\n                ;\n                };\n            ;\n            };\n        ;\n            for (s = 0; ((s < r.length)); s += 1) {\n                t = r[s], u = g[((s % 2))], v = !1;\n                while (((((m != null)) && ((t >= ((n + m.length))))))) {\n                    k += q.slice(o), ((((p && ((t === ((n + q.length)))))) && (k += u, v = !0))), ((h[((l + 1))] && (k += ((((\"\\u003C\" + h[((l + 1))])) + \"\\u003E\"))))), n += q.length, o = 0, l += 2, m = h[l], q = m, p = !1;\n                ;\n                };\n            ;\n                ((((!v && ((m != null)))) ? (w = ((t - n)), k += ((q.slice(o, w) + u)), o = w, ((((((s % 2)) === 0)) ? p = !0 : p = !1))) : ((v || (v = !0, k += u)))));\n            };\n        ;\n            if (((m != null))) {\n                ((((o < q.length)) && (k += q.slice(o))));\n                for (s = ((l + 1)); ((s < h.length)); s += 1) {\n                    k += ((((((s % 2)) === 0)) ? h[s] : ((((\"\\u003C\" + h[s])) + \"\\u003E\"))));\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            return k;\n        };\n        var r = 140, s = [f(65534),f(65279),f(65535),f(8234),f(8235),f(8236),f(8237),f(8238),];\n        b.txt.getTweetLength = function(a, c) {\n            ((c || (c = {\n                short_url_length: 22,\n                short_url_length_https: 23\n            })));\n            var d = b.txt.getUnicodeTextLength(a), e = b.txt.extractUrlsWithIndices(a);\n            b.txt.modifyIndicesFromUTF16ToUnicode(a, e);\n            for (var f = 0; ((f < e.length)); f++) {\n                d += ((e[f].indices[0] - e[f].indices[1])), ((e[f].url.toLowerCase().match(b.txt.regexen.urlHasHttps) ? d += c.short_url_length_https : d += c.short_url_length));\n            ;\n            };\n        ;\n            return d;\n        }, b.txt.isInvalidTweet = function(a) {\n            if (!a) {\n                return \"empty\";\n            }\n        ;\n        ;\n            if (((b.txt.getTweetLength(a) > r))) {\n                return \"too_long\";\n            }\n        ;\n        ;\n            for (var c = 0; ((c < s.length)); c++) {\n                if (((a.indexOf(s[c]) >= 0))) {\n                    return \"invalid_characters\";\n                }\n            ;\n            ;\n            };\n        ;\n            return !1;\n        }, b.txt.isValidTweetText = function(a) {\n            return !b.txt.isInvalidTweet(a);\n        }, b.txt.isValidUsername = function(a) {\n            if (!a) {\n                return !1;\n            }\n        ;\n        ;\n            var c = b.txt.extractMentions(a);\n            return ((((c.length === 1)) && ((c[0] === a.slice(1)))));\n        };\n        var t = c(/^#{validMentionOrList}$/);\n        b.txt.isValidList = function(a) {\n            var b = a.match(t);\n            return ((((!!b && ((b[1] == \"\")))) && !!b[4]));\n        }, b.txt.isValidHashtag = function(a) {\n            if (!a) {\n                return !1;\n            }\n        ;\n        ;\n            var c = b.txt.extractHashtags(a);\n            return ((((c.length === 1)) && ((c[0] === a.slice(1)))));\n        }, b.txt.isValidUrl = function(a, c, d) {\n            ((((c == null)) && (c = !0))), ((((d == null)) && (d = !0)));\n            if (!a) {\n                return !1;\n            }\n        ;\n        ;\n            var e = a.match(b.txt.regexen.validateUrlUnencoded);\n            if (((!e || ((e[0] !== a))))) {\n                return !1;\n            }\n        ;\n        ;\n            var f = e[1], g = e[2], h = e[3], i = e[4], j = e[5];\n            return ((((((((((!d || ((u(f, b.txt.regexen.validateUrlScheme) && f.match(/^https?$/i))))) && u(h, b.txt.regexen.validateUrlPath))) && u(i, b.txt.regexen.validateUrlQuery, !0))) && u(j, b.txt.regexen.validateUrlFragment, !0))) ? ((((c && u(g, b.txt.regexen.validateUrlUnicodeAuthority))) || ((!c && u(g, b.txt.regexen.validateUrlAuthority))))) : !1));\n        }, ((((((typeof module != \"undefined\")) && module.exports)) && (module.exports = b.txt)));\n    })(), a(b.txt);\n});\ndefine(\"app/ui/with_character_counter\", [\"module\",\"require\",\"exports\",\"lib/twitter-text\",], function(module, require, exports) {\n    function withCharacterCounter() {\n        var a = 23;\n        this.defaultAttrs({\n            maxLength: 140,\n            superwarnLength: 130,\n            warnLength: 120,\n            superwarnClass: \"superwarn\",\n            warnClass: \"warn\"\n        }), this.updateCounter = function() {\n            var a = this.getLength(), b = ((((a >= this.attr.warnLength)) && ((a < this.attr.superwarnLength)))), c = ((a >= this.attr.superwarnLength)), d = ((this.attr.maxLength - a));\n            this.$counter.html(d).toggleClass(this.attr.warnClass, b).toggleClass(this.attr.superwarnClass, c), ((((b || c)) && this.trigger(\"uiCharCountWarningVisible\", {\n                charCount: d\n            })));\n        }, this.getLength = function(b) {\n            return ((((b === undefined)) && (b = this.val()))), ((((b !== this.prevCounterText)) && (this.prevCounterText = b, this.prevCounterLength = twitterText.getTweetLength(b)))), ((this.prevCounterLength + ((this.hasMedia ? a : 0))));\n        }, this.maxReached = function() {\n            return ((this.getLength() > this.attr.maxLength));\n        }, this.after(\"initialize\", function() {\n            this.$counter = this.select(\"counterSelector\"), this.JSBNG__on(\"uiTextChanged\", this.updateCounter), this.updateCounter();\n        });\n    };\n;\n    var twitterText = require(\"lib/twitter-text\");\n    module.exports = withCharacterCounter;\n});\ndefine(\"app/utils/with_event_params\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/parameterize\",], function(module, require, exports) {\n    function withEventParams() {\n        this.rewriteEventName = function(a) {\n            var b = util.toArray(arguments, 1), c = ((((((typeof b[0] == \"string\")) || b[0].defaultBehavior)) ? 0 : 1)), d = b[c], e = ((d.type || d));\n            try {\n                b[c] = parameterize(e, this.attr.eventParams, !0), ((d.type && (d.type = b[c], b[c] = d)));\n            } catch (f) {\n                throw new Error(\"Couldn't parameterize the event name\");\n            };\n        ;\n            a.apply(this, b);\n        }, this.around(\"JSBNG__on\", this.rewriteEventName), this.around(\"off\", this.rewriteEventName), this.around(\"trigger\", this.rewriteEventName);\n    };\n;\n    var util = require(\"core/utils\"), parameterize = require(\"core/parameterize\");\n    module.exports = withEventParams;\n});\ndefine(\"app/utils/caret\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var caret = {\n        getPosition: function(a) {\n            try {\n                if (JSBNG__document.selection) {\n                    var b = JSBNG__document.selection.createRange();\n                    return b.moveStart(\"character\", -a.value.length), b.text.length;\n                }\n            ;\n            ;\n                if (((typeof a.selectionStart == \"number\"))) {\n                    return a.selectionStart;\n                }\n            ;\n            ;\n            } catch (c) {\n            \n            };\n        ;\n            return 0;\n        },\n        setPosition: function(a, b) {\n            try {\n                if (JSBNG__document.selection) {\n                    var c = a.createTextRange();\n                    c.collapse(!0), c.moveEnd(\"character\", b), c.moveStart(\"character\", b), c.select();\n                }\n                 else ((((typeof a.selectionStart == \"number\")) && (a.selectionStart = b, a.selectionEnd = b)));\n            ;\n            ;\n            } catch (d) {\n            \n            };\n        ;\n        },\n        JSBNG__getSelection: function() {\n            return ((window.JSBNG__getSelection ? window.JSBNG__getSelection().toString() : JSBNG__document.selection.createRange().text));\n        }\n    };\n    module.exports = caret;\n});\ndefine(\"app/ui/with_draft_tweets\", [\"module\",\"require\",\"exports\",\"app/utils/storage/custom\",], function(module, require, exports) {\n    var customStorage = require(\"app/utils/storage/custom\");\n    module.exports = function() {\n        this.defaultAttrs({\n            draftTweetTTL: 86400000\n        }), this.getDraftTweet = function() {\n            return ((this.attr.draftTweetId && this.draftTweets().getItem(this.attr.draftTweetId)));\n        }, this.hasDraftTweet = function() {\n            return !!this.getDraftTweet();\n        }, this.loadDraftTweet = function() {\n            var a = this.getDraftTweet();\n            if (a) {\n                return this.val(a), !0;\n            }\n        ;\n        ;\n        }, this.saveDraftTweet = function(a, b) {\n            if (((this.attr.draftTweetId && this.hasFocus()))) {\n                var c = b.text.trim();\n                ((((((((!!this.attr.defaultText && ((c === this.attr.defaultText.trim())))) || ((!!this.attr.condensedText && ((c === this.attr.condensedText.trim())))))) || !c)) ? this.draftTweets().removeItem(this.attr.draftTweetId) : this.draftTweets().setItem(this.attr.draftTweetId, c, this.attr.draftTweetTTL)));\n            }\n        ;\n        ;\n        }, this.clearDraftTweet = function() {\n            ((this.attr.draftTweetId && (this.draftTweets().removeItem(this.attr.draftTweetId), this.resetTweetText())));\n        }, this.overrideDraftTweetId = function(a, b) {\n            this.attr.draftTweetId = b.draftTweetId;\n        }, this.draftTweets = function() {\n            if (!this.draftTweetsStore) {\n                var a = customStorage({\n                    withExpiry: !0\n                });\n                this.draftTweetsStore = new a(\"draft_tweets\");\n            }\n        ;\n        ;\n            return this.draftTweetsStore;\n        }, this.around(\"resetTweetText\", function(a) {\n            ((this.loadDraftTweet() || a()));\n        }), this.initDraftTweets = function() {\n            this.JSBNG__on(\"uiTextChanged\", this.saveDraftTweet), this.JSBNG__on(\"ui{{type}}Sent\", this.clearDraftTweet), ((this.attr.modal && this.JSBNG__on(JSBNG__document, \"uiOverride{{type}}BoxOptions\", this.overrideDraftTweetId)));\n        };\n    };\n});\ndefine(\"app/ui/with_text_polling\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withTextPolling() {\n        this.defaultAttrs({\n            pollIntervalInMs: 100\n        }), this.pollUpdatedText = function() {\n            this.detectUpdatedText(), ((this.hasFocus() || this.stopPollingUpdatedText()));\n        }, this.startPollingUpdatedText = function() {\n            this.detectUpdatedText(), ((((this.pollUpdatedTextId === undefined)) && (this.pollUpdatedTextId = JSBNG__setInterval(this.pollUpdatedText.bind(this), this.attr.pollIntervalInMs))));\n        }, this.stopPollingUpdatedText = function() {\n            ((((this.pollUpdatedTextId !== undefined)) && (JSBNG__clearInterval(this.pollUpdatedTextId), delete this.pollUpdatedTextId)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.$text, \"JSBNG__focus\", this.startPollingUpdatedText), ((this.hasFocus() && this.startPollingUpdatedText()));\n        }), this.before(\"teardown\", function() {\n            this.stopPollingUpdatedText();\n        });\n    };\n;\n    module.exports = withTextPolling;\n});\ndefine(\"app/ui/with_rtl_tweet_box\", [\"module\",\"require\",\"exports\",\"lib/twitter-text\",\"app/utils/caret\",], function(module, require, exports) {\n    function replaceIndices(a, b, c) {\n        var d = 0, e = \"\";\n        return b(a).forEach(function(b) {\n            e += ((a.slice(d, b.indices[0]) + c(a.slice(b.indices[0], b.indices[1])))), d = b.indices[1];\n        }), ((e + a.slice(d)));\n    };\n;\n    function withRTL() {\n        this.defaultAttrs({\n            isRTL: (($(\"body\").attr(\"dir\") === \"rtl\")),\n            rtlCharRegex: /[\\u0600-\\u06FF]|[\\u0750-\\u077F]|[\\u0590-\\u05FF]|[\\uFE70-\\uFEFF]/gm,\n            dirMarkRegex: /\\u200e|\\u200f/gm,\n            rtlThreshold: 36665\n        }), this.shouldBeRTL = function(a, b, c) {\n            ((((c === undefined)) && (c = a.match(this.attr.rtlCharRegex))));\n            var d = a.trim();\n            if (!d) {\n                return this.attr.isRTL;\n            }\n        ;\n        ;\n            if (!c) {\n                return !1;\n            }\n        ;\n        ;\n            var e = ((d.length - b));\n            return ((((e > 0)) && ((((c.length / e)) > this.attr.rtlThreshold))));\n        }, this.removeMarkers = function(a) {\n            return a.replace(this.attr.dirMarkRegex, \"\");\n        }, this.setMarkersAndRTL = function(a, b) {\n            var c = b.match(this.attr.rtlCharRegex), d = 0;\n            if (c) {\n                a = b, a = replaceIndices(a, txt.extractMentionsWithIndices, function(a) {\n                    return d += ((a.length + 1)), ((((\"\\u200e\" + a)) + \"\\u200f\"));\n                });\n                var e = this.attr.rtlCharRegex;\n                a = replaceIndices(a, txt.extractHashtagsWithIndices, function(a) {\n                    return ((a[1].match(e) ? a : ((\"\\u200e\" + a))));\n                }), a = replaceIndices(a, txt.extractUrlsWithIndices, function(a) {\n                    return d += ((a.length + 2)), ((a + \"\\u200e\"));\n                });\n            }\n        ;\n        ;\n            var f = this.shouldBeRTL(b, d, c);\n            return this.$text.attr(\"dir\", ((f ? \"rtl\" : \"ltr\"))), a;\n        }, this.erasePastMarkers = function(a) {\n            if (((a.which === 8))) var b = -1\n             else {\n                if (((a.which !== 46))) {\n                    return;\n                }\n            ;\n            ;\n                var b = 0;\n            }\n        ;\n        ;\n            var c = caret.getPosition(this.$text[0]), d = this.$text.val(), e = 0;\n            do {\n                var f = ((d[((c + b))] || \"\"));\n                ((f && (c += b, e++, d = ((d.slice(0, c) + d.slice(((c + 1))))))));\n            } while (f.match(this.attr.dirMarkRegex));\n            ((((e > 1)) && (this.$text.val(d), caret.setPosition(this.$text[0], c), a.preventDefault(), this.detectUpdatedText())));\n        }, this.cleanRtlText = function(a) {\n            var b = this.removeMarkers(a), c = this.setMarkersAndRTL(a, b);\n            if (((c !== a))) {\n                var d = this.$text[0], e = caret.getPosition(d);\n                this.$text.val(c), this.prevText = c, caret.setPosition(d, ((((e + c.length)) - a.length)));\n            }\n        ;\n        ;\n            return b;\n        }, this.after(\"initTextNode\", function() {\n            this.JSBNG__on(this.$text, \"keydown\", this.erasePastMarkers);\n        });\n    };\n;\n    var txt = require(\"lib/twitter-text\"), caret = require(\"app/utils/caret\");\n    module.exports = withRTL;\n});\ndefine(\"app/ui/toolbar\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function JSBNG__toolbar() {\n        this.defaultAttrs({\n            buttonsSelector: \".btn:not([disabled])\"\n        }), this.current = -1, this.focusNext = function(a) {\n            var b = this.select(\"buttonsSelector\");\n            ((((this.current == -1)) && (this.current = $.inArray(JSBNG__document.activeElement, b))));\n            var c, d = this.current;\n            switch (a.which) {\n              case 37:\n                d--;\n                break;\n              case 39:\n                d++;\n            };\n        ;\n            c = b[d], ((c && (c.JSBNG__focus(), this.current = d)));\n        }, this.clearCurrent = function() {\n            this.current = -1;\n        }, this.after(\"initialize\", function() {\n            this.$node.attr(\"role\", \"JSBNG__toolbar\"), this.JSBNG__on(\"keydown\", {\n                buttonsSelector: this.focusNext\n            }), this.JSBNG__on(\"focusout\", this.clearCurrent);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), Toolbar = defineComponent(JSBNG__toolbar);\n    module.exports = Toolbar;\n});\ndefine(\"app/utils/tweet_helper\", [\"module\",\"require\",\"exports\",\"lib/twitter-text\",\"core/utils\",\"app/data/user_info\",], function(module, require, exports) {\n    var twitterText = require(\"lib/twitter-text\"), utils = require(\"core/utils\"), userInfo = require(\"app/data/user_info\"), VALID_PROTOCOL_PREFIX_REGEX = /^https?:\\/\\//i, tweetHelper = {\n        extractMentionsForReply: function(a, b) {\n            var c = a.attr(\"data-screen-name\"), d = a.attr(\"data-retweeter\"), e = ((a.attr(\"data-mentions\") ? a.attr(\"data-mentions\").split(\" \") : [])), f = [c,b,d,];\n            return e = e.filter(function(a) {\n                return ((f.indexOf(a) < 0));\n            }), ((((((d && ((d != c)))) && ((d != b)))) && e.unshift(d))), ((((!e.length || ((c != b)))) && e.unshift(c))), e;\n        },\n        linkify: function(a, b) {\n            return b = utils.merge({\n                hashtagClass: \"twitter-hashtag pretty-link\",\n                hashtagUrlBase: \"/search?q=%23\",\n                symbolTag: \"s\",\n                textWithSymbolTag: \"b\",\n                cashtagClass: \"twitter-cashtag pretty-link\",\n                cashtagUrlBase: \"/search?q=%24\",\n                usernameClass: \"twitter-atreply pretty-link\",\n                usernameUrlBase: \"/\",\n                usernameIncludeSymbol: !0,\n                listClass: \"twitter-listname pretty-link\",\n                urlClass: \"twitter-timeline-link\",\n                urlTarget: \"_blank\",\n                suppressNoFollow: !0,\n                htmlEscapeNonEntities: !0\n            }, ((b || {\n            }))), twitterText.autoLinkEntities(a, twitterText.extractEntitiesWithIndices(a), b);\n        }\n    };\n    module.exports = tweetHelper;\n});\ndefine(\"app/utils/html_text\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function isTextNode(a) {\n        return ((((a.nodeType == 3)) || ((a.nodeType == 4))));\n    };\n;\n    function isElementNode(a) {\n        return ((a.nodeType == 1));\n    };\n;\n    function isBrNode(a) {\n        return ((isElementNode(a) && ((a.nodeName.toLowerCase() == \"br\"))));\n    };\n;\n    function isOutsideContainer(a, b) {\n        while (((a !== b))) {\n            if (!a) {\n                return !0;\n            }\n        ;\n        ;\n            a = a.parentNode;\n        };\n    ;\n    };\n;\n    var useW3CRange = window.JSBNG__getSelection, useMsftTextRange = ((!useW3CRange && JSBNG__document.selection)), useIeHtmlFix = ((JSBNG__navigator.appName == \"Microsoft Internet Explorer\")), NBSP_REGEX = /[\\xa0\\n\\t]/g, CRLF_REGEX = /\\r\\n/g, LINES_REGEX = /(.*?)\\n/g, SP_LEADING_OR_FOLLOWING_CLOSE_TAG_OR_PRECEDING_A_SP_REGEX = /^ |(<\\/[^>]+>) | (?= )/g, SP_LEADING_OR_TRAILING_OR_FOLLOWING_A_SP_REGEX = /^ | $|( ) /g, MAX_OFFSET = Number.MAX_VALUE, htmlText = function(a, b) {\n        function c(a, c) {\n            function h(a) {\n                var i = d.length;\n                if (isTextNode(a)) {\n                    var j = a.nodeValue.replace(NBSP_REGEX, \" \"), k = j.length;\n                    ((k && (d += j, e = !0))), c(a, !0, 0, i, ((i + k)));\n                }\n                 else if (isElementNode(a)) {\n                    c(a, !1, 0, i, i);\n                    if (isBrNode(a)) ((((a == f)) ? g = !0 : (d += \"\\u000a\", e = !1)));\n                     else {\n                        var l = ((a.currentStyle || window.JSBNG__getComputedStyle(a, \"\"))), m = ((l.display == \"block\"));\n                        ((((m && b.msie)) && (e = !0)));\n                        for (var n = a.firstChild, o = 1; n; n = n.nextSibling, o++) {\n                            h(n);\n                            if (g) {\n                                return;\n                            }\n                        ;\n                        ;\n                            i = d.length, c(a, !1, o, i, i);\n                        };\n                    ;\n                        ((((g || ((a == f)))) ? g = !0 : ((((m && e)) && (d += \"\\u000a\", e = !1)))));\n                    }\n                ;\n                ;\n                }\n                \n            ;\n            ;\n            };\n        ;\n            var d = \"\", e, f, g;\n            for (var i = a; ((i && isElementNode(i))); i = i.lastChild) {\n                f = i;\n            ;\n            };\n        ;\n            return h(a), d;\n        };\n    ;\n        function d(a, b) {\n            var d = null, e = ((b.length - 1));\n            if (useW3CRange) {\n                var f = b.map(function() {\n                    return {\n                    };\n                }), g;\n                c(a, function(a, c, d, h, i) {\n                    ((g || f.forEach(function(f, j) {\n                        var k = b[j];\n                        ((((((h <= k)) && !isBrNode(a))) && (f.node = a, f.offset = ((c ? ((Math.min(k, i) - h)) : d)), g = ((((c && ((j == e)))) && ((i >= k)))))));\n                    })));\n                }), ((((f[0].node && f[e].node)) && (d = JSBNG__document.createRange(), d.setStart(f[0].node, f[0].offset), d.setEnd(f[e].node, f[e].offset))));\n            }\n             else if (useMsftTextRange) {\n                var h = JSBNG__document.body.createTextRange();\n                h.moveToElementText(a), d = h.duplicate();\n                if (((b[0] == MAX_OFFSET))) d.setEndPoint(\"StartToEnd\", h);\n                 else {\n                    d.move(\"character\", b[0]);\n                    var i = ((e && ((b[1] - b[0]))));\n                    ((((i > 0)) && d.moveEnd(\"character\", i))), ((h.inRange(d) || d.setEndPoint(\"EndToEnd\", h)));\n                }\n            ;\n            ;\n            }\n            \n        ;\n        ;\n            return d;\n        };\n    ;\n        function e() {\n            return ((a.offsetWidth && a.offsetHeight));\n        };\n    ;\n        function f(b) {\n            a.innerHTML = b;\n            if (useIeHtmlFix) {\n                for (var c = a.firstChild; c; c = c.nextSibling) {\n                    ((((((isElementNode(c) && ((c.nodeName.toLowerCase() == \"p\")))) && ((c.innerHTML == \"\")))) && (c.innerText = \"\")));\n                ;\n                };\n            }\n        ;\n        ;\n        };\n    ;\n        function g(a, b) {\n            return a.map(function(a) {\n                return Math.min(a, b.length);\n            });\n        };\n    ;\n        function h() {\n            var b = JSBNG__getSelection();\n            if (((b.rangeCount !== 1))) {\n                return null;\n            }\n        ;\n        ;\n            var d = b.getRangeAt(0);\n            if (isOutsideContainer(d.commonAncestorContainer, a)) {\n                return null;\n            }\n        ;\n        ;\n            var e = [{\n                node: d.startContainer,\n                offset: d.startOffset\n            },];\n            ((d.collapsed || e.push({\n                node: d.endContainer,\n                offset: d.endOffset\n            })));\n            var f = e.map(function() {\n                return MAX_OFFSET;\n            }), h = c(a, function(a, b, c, d) {\n                e.forEach(function(e, g) {\n                    ((((((((f[g] == MAX_OFFSET)) && ((a == e.node)))) && ((b || ((c == e.offset)))))) && (f[g] = ((d + ((b ? e.offset : 0)))))));\n                });\n            });\n            return g(f, h);\n        };\n    ;\n        function i() {\n            var b = JSBNG__document.selection.createRange();\n            if (isOutsideContainer(b.parentElement(), a)) {\n                return null;\n            }\n        ;\n        ;\n            var d = [\"Start\",];\n            ((b.compareEndPoints(\"StartToEnd\", b) && d.push(\"End\")));\n            var e = d.map(function() {\n                return MAX_OFFSET;\n            }), f = JSBNG__document.body.createTextRange(), h = c(a, function(c, g, h, i) {\n                function j(a, c) {\n                    if (((e[c] < MAX_OFFSET))) {\n                        return;\n                    }\n                ;\n                ;\n                    var d = f.compareEndPoints(((\"StartTo\" + a)), b);\n                    if (((d > 0))) {\n                        return;\n                    }\n                ;\n                ;\n                    var g = f.compareEndPoints(((\"EndTo\" + a)), b);\n                    if (((g < 0))) {\n                        return;\n                    }\n                ;\n                ;\n                    var h = f.duplicate();\n                    h.setEndPoint(((\"EndTo\" + a)), b), e[c] = ((i + h.text.length)), ((((c && !g)) && e[c]++));\n                };\n            ;\n                ((((((!g && !h)) && ((c != a)))) && (f.moveToElementText(c), d.forEach(j))));\n            });\n            return g(e, h);\n        };\n    ;\n        return {\n            getHtml: function() {\n                if (useIeHtmlFix) {\n                    var b = \"\", c = JSBNG__document.createElement(\"div\");\n                    for (var d = a.firstChild; d; d = d.nextSibling) {\n                        ((isTextNode(d) ? (c.innerText = d.nodeValue, b += c.innerHTML) : b += d.outerHTML.replace(CRLF_REGEX, \"\")));\n                    ;\n                    };\n                ;\n                    return b;\n                }\n            ;\n            ;\n                return a.innerHTML;\n            },\n            setHtml: function(a) {\n                f(a);\n            },\n            getText: function() {\n                return c(a, function() {\n                \n                });\n            },\n            setTextWithMarkup: function(a) {\n                f(((a + \"\\u000a\")).replace(LINES_REGEX, function(a, c) {\n                    return ((((b.mozilla || b.msie)) ? (c = c.replace(SP_LEADING_OR_FOLLOWING_CLOSE_TAG_OR_PRECEDING_A_SP_REGEX, \"$1&nbsp;\"), ((b.mozilla ? ((c + \"\\u003CBR\\u003E\")) : ((((\"\\u003CP\\u003E\" + c)) + \"\\u003C/P\\u003E\"))))) : (c = ((c || \"\\u003Cbr\\u003E\")).replace(SP_LEADING_OR_TRAILING_OR_FOLLOWING_A_SP_REGEX, \"$1&nbsp;\"), ((b.JSBNG__opera ? ((((\"\\u003Cp\\u003E\" + c)) + \"\\u003C/p\\u003E\")) : ((((\"\\u003Cdiv\\u003E\" + c)) + \"\\u003C/div\\u003E\")))))));\n                }));\n            },\n            getSelectionOffsets: function() {\n                var a = null;\n                return ((e() && ((useW3CRange ? a = h() : ((useMsftTextRange && (a = i()))))))), a;\n            },\n            setSelectionOffsets: function(b) {\n                if (((b && e()))) {\n                    var c = d(a, b);\n                    if (c) {\n                        if (useW3CRange) {\n                            var f = window.JSBNG__getSelection();\n                            f.removeAllRanges(), f.addRange(c);\n                        }\n                         else ((useMsftTextRange && c.select()));\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            },\n            emphasizeText: function(b) {\n                var f = [];\n                ((((((b && ((b.length > 1)))) && e())) && (c(a, function(a, c, d, e, g) {\n                    if (c) {\n                        var h = Math.max(e, b[0]), i = Math.min(g, b[1]);\n                        ((((i > h)) && f.push([h,i,])));\n                    }\n                ;\n                ;\n                }), f.forEach(function(b) {\n                    var c = d(a, b);\n                    ((c && ((useW3CRange ? c.surroundContents(JSBNG__document.createElement(\"em\")) : ((useMsftTextRange && c.execCommand(\"italic\", !1, null)))))));\n                }))));\n            }\n        };\n    };\n    module.exports = htmlText;\n});\ndefine(\"app/ui/with_rich_editor\", [\"module\",\"require\",\"exports\",\"app/utils/tweet_helper\",\"lib/twitter-text\",\"app/utils/html_text\",], function(module, require, exports) {\n    function withRichEditor() {\n        this.defaultAttrs({\n            richSelector: \"div.rich-editor\",\n            linksSelector: \"a\",\n            normalizerSelector: \"div.rich-normalizer\"\n        }), this.linkify = function(a) {\n            var b = {\n                urlTarget: null,\n                textWithSymbolTag: ((RENDER_URLS_AS_PRETTY_LINKS ? \"b\" : \"\")),\n                linkAttributeBlock: function(a, b) {\n                    var c = ((a.screenName || a.url));\n                    ((c && (this.urlAndMentionsCharCount += ((c.length + 2))))), delete b.title, delete b[\"data-screen-name\"], b.dir = ((((a.hashtag && this.shouldBeRTL(a.hashtag, 0))) ? \"rtl\" : \"ltr\"));\n                }.bind(this)\n            };\n            return this.urlAndMentionsCharCount = 0, tweetHelper.linkify(a, b);\n        }, this.around(\"setCursorPosition\", function(a, b) {\n            if (!this.isRich) {\n                return a(b);\n            }\n        ;\n        ;\n            ((((b === undefined)) && (b = this.attr.cursorPosition))), ((((b === undefined)) && (b = MAX_OFFSET))), this.setSelectionIfFocused([b,]);\n        }), this.around(\"detectUpdatedText\", function(a, b, c) {\n            if (!this.isRich) {\n                return a(b, c);\n            }\n        ;\n        ;\n            if (this.$text.attr(\"data-in-composition\")) {\n                return;\n            }\n        ;\n        ;\n            var d = this.htmlRich.getHtml(), e = ((this.htmlRich.getSelectionOffsets() || [MAX_OFFSET,]));\n            if (((((((((d === this.prevHtml)) && ((e[0] === this.prevSelectionOffset)))) && !b)) && ((c === undefined))))) {\n                return;\n            }\n        ;\n        ;\n            ((((c === undefined)) && (c = this.htmlRich.getText())));\n            var f = c.replace(INVALID_CHARS, \"\");\n            this.htmlNormalizer.setTextWithMarkup(this.linkify(f));\n            var g = this.shouldBeRTL(f, this.urlAndMentionsCharCount);\n            this.$text.attr(\"dir\", ((g ? \"rtl\" : \"ltr\"))), this.$normalizer.JSBNG__find(((g ? \"[dir=rtl]\" : \"[dir=ltr]\"))).removeAttr(\"dir\"), ((RENDER_URLS_AS_PRETTY_LINKS && this.$normalizer.JSBNG__find(\".twitter-timeline-link\").wrapInner(\"\\u003Cb\\u003E\").addClass(\"pretty-link\")));\n            var h = this.getMaxLengthOffset(f);\n            ((((h >= 0)) && (this.htmlNormalizer.emphasizeText([h,MAX_OFFSET,]), this.$normalizer.JSBNG__find(\"em\").each(function() {\n                this.innerHTML = this.innerHTML.replace(TRAILING_SINGLE_SPACE_REGEX, \"\\u00a0\");\n            }))));\n            var i = this.htmlNormalizer.getHtml();\n            ((((i !== d)) && (this.htmlRich.setHtml(i), this.setSelectionIfFocused(e)))), this.prevHtml = i, this.prevSelectionOffset = e[0], this.updateCleanedTextAndOffset(f, e[0]);\n        }), this.getMaxLengthOffset = function(a) {\n            var b = this.getLength(a), c = this.attr.maxLength;\n            if (((b <= c))) {\n                return -1;\n            }\n        ;\n        ;\n            c += ((twitterText.getUnicodeTextLength(a) - b));\n            var d = [{\n                indices: [c,c,]\n            },];\n            return twitterText.modifyIndicesFromUnicodeToUTF16(a, d), d[0].indices[0];\n        }, this.setSelectionIfFocused = function(a) {\n            ((this.hasFocus() && this.htmlRich.setSelectionOffsets(a)));\n        }, this.selectPrevCharOnBackspace = function(a) {\n            if (((a.which == 8))) {\n                var b = this.htmlRich.getSelectionOffsets();\n                ((((((b && ((b[0] != MAX_OFFSET)))) && ((b.length == 1)))) && ((b[0] ? this.setSelectionIfFocused([((b[0] - 1)),b[0],]) : this.stopEvent(a)))));\n            }\n        ;\n        ;\n        }, this.emulateCommandArrow = function(a) {\n            if (((((a.metaKey && !a.shiftKey)) && ((((a.which == 37)) || ((a.which == 39))))))) {\n                var b = ((a.which == 37));\n                this.htmlRich.setSelectionOffsets([((b ? 0 : MAX_OFFSET)),]), this.$text.scrollTop(((b ? 0 : this.$text[0].scrollHeight))), this.stopEvent(a);\n            }\n        ;\n        ;\n        }, this.stopEvent = function(a) {\n            a.preventDefault(), a.stopPropagation();\n        }, this.saveUndoStateDeferred = function(a) {\n            ((((a.type != \"JSBNG__focus\")) && this.saveUndoState())), JSBNG__setTimeout(function() {\n                this.detectUpdatedText(), this.saveUndoState();\n            }.bind(this), 0);\n        }, this.saveEmptyUndoState = function() {\n            this.undoHistory = [[\"\",[0,],],], this.undoIndex = 0;\n        }, this.saveUndoState = function() {\n            if (this.condensed) {\n                return;\n            }\n        ;\n        ;\n            var a = this.htmlRich.getText(), b = ((this.htmlRich.getSelectionOffsets() || [a.length,])), c = this.undoHistory, d = c[this.undoIndex];\n            ((((!d || ((d[0] !== a)))) && c.splice(++this.undoIndex, c.length, [a,b,])));\n        }, this.isUndoKey = function(a) {\n            return ((this.isMac ? ((((((((((a.which == 90)) && a.metaKey)) && !a.shiftKey)) && !a.ctrlKey)) && !a.altKey)) : ((((((((a.which == 90)) && a.ctrlKey)) && !a.shiftKey)) && !a.altKey))));\n        }, this.emulateUndo = function(a) {\n            ((this.isUndoKey(a) && (this.stopEvent(a), this.saveUndoState(), ((((this.undoIndex > 0)) && this.setUndoState(this.undoHistory[--this.undoIndex]))))));\n        }, this.isRedoKey = function(a) {\n            return ((this.isMac ? ((((((((((a.which == 90)) && a.metaKey)) && a.shiftKey)) && !a.ctrlKey)) && !a.altKey)) : ((this.isWin ? ((((((((a.which == 89)) && a.ctrlKey)) && !a.shiftKey)) && !a.altKey)) : ((((((((a.which == 90)) && a.shiftKey)) && a.ctrlKey)) && !a.altKey))))));\n        }, this.emulateRedo = function(a) {\n            var b = this.undoHistory, c = this.undoIndex;\n            ((((((c < ((b.length - 1)))) && ((this.htmlRich.getText() !== b[c][0])))) && b.splice(((c + 1)), b.length))), ((this.isRedoKey(a) && (this.stopEvent(a), ((((c < ((b.length - 1)))) && this.setUndoState(b[++this.undoIndex]))))));\n        }, this.setUndoState = function(a) {\n            this.detectUpdatedText(!1, a[0]), this.htmlRich.setSelectionOffsets(a[1]), this.trigger(\"uiHideAutocomplete\");\n        }, this.handleKeyDown = function(a) {\n            (($.browser.msie && this.selectPrevCharOnBackspace(a))), (($.browser.mozilla && this.emulateCommandArrow(a))), this.emulateUndo(a), this.emulateRedo(a);\n        }, this.interceptPlainTextPaste = function(a) {\n            if (((a.originalEvent && a.originalEvent.JSBNG__clipboardData))) {\n                var b = a.originalEvent.JSBNG__clipboardData.getData(\"text\");\n                ((((b && JSBNG__document.execCommand(\"insertHTML\", !1, $(\"\\u003Cdiv\\u003E\").text(b).html()))) && a.preventDefault()));\n            }\n        ;\n        ;\n        }, this.clearSelectionOnBlur = function() {\n            ((window.JSBNG__getSelection && (this.previousSelection = this.htmlRich.getSelectionOffsets(), ((this.previousSelection && JSBNG__getSelection().removeAllRanges())))));\n        }, this.restoreSelectionOnFocus = function() {\n            ((this.previousSelection && (this.htmlRich.setSelectionOffsets(this.previousSelection), this.previousSelection = null)));\n        }, this.around(\"initTextNode\", function(a) {\n            this.$text = this.select(\"richSelector\");\n            if (!this.$text.length) {\n                return a();\n            }\n        ;\n        ;\n            this.isRich = !0, this.undoIndex = -1, this.undoHistory = [], this.htmlRich = htmlText(this.$text[0], $.browser), this.$text.toggleClass(\"notie\", !$.browser.msie), this.$normalizer = this.select(\"normalizerSelector\"), this.htmlNormalizer = htmlText(this.$normalizer[0], $.browser);\n            var b = JSBNG__navigator.platform;\n            this.isMac = ((b.indexOf(\"Mac\") != -1)), this.isWin = ((b.indexOf(\"Win\") != -1)), this.JSBNG__on(this.$text, \"click\", {\n                linksSelector: this.stopEvent\n            }), this.JSBNG__on(this.$text, \"keydown\", this.handleKeyDown), this.JSBNG__on(this.$text, \"cut paste drop focus\", this.saveUndoStateDeferred), this.JSBNG__on(this.$text, \"paste\", this.interceptPlainTextPaste), this.JSBNG__on(this.$text, \"JSBNG__blur\", this.clearSelectionOnBlur), this.JSBNG__on(this.$text, \"JSBNG__focus\", this.restoreSelectionOnFocus);\n        });\n    };\n;\n    var tweetHelper = require(\"app/utils/tweet_helper\"), twitterText = require(\"lib/twitter-text\"), htmlText = require(\"app/utils/html_text\");\n    module.exports = withRichEditor;\n    var INVALID_CHARS = /[\\uFFFE\\uFEFF\\uFFFF\\u202A\\u202B\\u202C\\u202D\\u202E\\x00]/g, RENDER_URLS_AS_PRETTY_LINKS = (($.browser.mozilla && ((parseInt($.browser.version, 10) < 2)))), TRAILING_SINGLE_SPACE_REGEX = / $/, MAX_OFFSET = Number.MAX_VALUE;\n});\ndefine(\"app/ui/with_upload_photo_affordance\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function uploadPhotoAffordance() {\n        this.defaultAttrs({\n            uploadPhotoHoverClass: \"upload-photo-hover\"\n        }), this.uploadPhotoHoverOn = function() {\n            this.$node.addClass(this.attr.uploadPhotoHoverClass);\n        }, this.uploadPhotoHoverOff = function() {\n            this.$node.removeClass(this.attr.uploadPhotoHoverClass);\n        }, this.after(\"initialize\", function() {\n            this.attr.uploadPhotoSelector = ((this.attr.uploadPhotoSelector || \".upload-photo\")), this.JSBNG__on(\"mouseover\", {\n                uploadPhotoSelector: this.uploadPhotoHoverOn\n            }), this.JSBNG__on(JSBNG__document, \"uiDragEnter\", this.uploadPhotoHoverOff), this.JSBNG__on(\"mouseout\", {\n                uploadPhotoSelector: this.uploadPhotoHoverOff\n            });\n        });\n    };\n;\n    module.exports = uploadPhotoAffordance;\n});\ndeferred(\"$lib/jquery.swfobject.js\", function() {\n    (function(a, b, c) {\n        function d(a, b) {\n            var c = ((((a[0] || 0)) - ((b[0] || 0))));\n            return ((((c > 0)) || ((((!c && ((a.length > 0)))) && d(a.slice(1), b.slice(1))))));\n        };\n    ;\n        function e(a) {\n            if (((typeof a != h))) {\n                return a;\n            }\n        ;\n        ;\n            var b = [], c = \"\";\n            {\n                var fin64keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin64i = (0);\n                var d;\n                for (; (fin64i < fin64keys.length); (fin64i++)) {\n                    ((d) = (fin64keys[fin64i]));\n                    {\n                        c = ((((typeof a[d] == h)) ? e(a[d]) : [d,((i ? encodeURI(a[d]) : a[d])),].join(\"=\"))), b.push(c);\n                    ;\n                    };\n                };\n            };\n        ;\n            return b.join(\"&\");\n        };\n    ;\n        function f(a) {\n            var b = [];\n            {\n                var fin65keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin65i = (0);\n                var c;\n                for (; (fin65i < fin65keys.length); (fin65i++)) {\n                    ((c) = (fin65keys[fin65i]));\n                    {\n                        ((a[c] && b.push([c,\"=\\\"\",a[c],\"\\\"\",].join(\"\"))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b.join(\" \");\n        };\n    ;\n        function g(a) {\n            var b = [];\n            {\n                var fin66keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin66i = (0);\n                var c;\n                for (; (fin66i < fin66keys.length); (fin66i++)) {\n                    ((c) = (fin66keys[fin66i]));\n                    {\n                        b.push([\"\\u003Cparam name=\\\"\",c,\"\\\" value=\\\"\",e(a[c]),\"\\\" /\\u003E\",].join(\"\"));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b.join(\"\");\n        };\n    ;\n        var h = \"object\", i = !0;\n        try {\n            var j = ((c.description || function() {\n                return (new c(\"ShockwaveFlash.ShockwaveFlash\")).GetVariable(\"$version\");\n            }()));\n        } catch (k) {\n            j = \"Unavailable\";\n        };\n    ;\n        var l = ((j.match(/\\d+/g) || [0,]));\n        a[b] = {\n            available: ((l[0] > 0)),\n            activeX: ((c && !c.JSBNG__name)),\n            version: {\n                original: j,\n                array: l,\n                string: l.join(\".\"),\n                major: ((parseInt(l[0], 10) || 0)),\n                minor: ((parseInt(l[1], 10) || 0)),\n                release: ((parseInt(l[2], 10) || 0))\n            },\n            hasVersion: function(a) {\n                return a = ((/string|number/.test(typeof a) ? a.toString().split(\".\") : ((/object/.test(typeof a) ? [a.major,a.minor,] : ((a || [0,0,])))))), d(l, a);\n            },\n            encodeParams: !0,\n            expressInstall: \"expressInstall.swf\",\n            expressInstallIsActive: !1,\n            create: function(a) {\n                if (((((!a.swf || this.expressInstallIsActive)) || ((!this.available && !a.hasVersionFail))))) {\n                    return !1;\n                }\n            ;\n            ;\n                if (!this.hasVersion(((a.hasVersion || 1)))) {\n                    this.expressInstallIsActive = !0;\n                    if (((((typeof a.hasVersionFail == \"function\")) && !a.hasVersionFail.apply(a)))) {\n                        return !1;\n                    }\n                ;\n                ;\n                    a = {\n                        swf: ((a.expressInstall || this.expressInstall)),\n                        height: 137,\n                        width: 214,\n                        flashvars: {\n                            MMredirectURL: JSBNG__location.href,\n                            MMplayerType: ((this.activeX ? \"ActiveX\" : \"PlugIn\")),\n                            MMdoctitle: ((JSBNG__document.title.slice(0, 47) + \" - Flash Player Installation\"))\n                        }\n                    };\n                }\n            ;\n            ;\n                attrs = {\n                    data: a.swf,\n                    type: \"application/x-shockwave-flash\",\n                    id: ((a.id || ((\"flash_\" + Math.floor(((Math.JSBNG__random() * 999999999))))))),\n                    width: ((a.width || 320)),\n                    height: ((a.height || 180)),\n                    style: ((a.style || \"\"))\n                }, i = ((((typeof a.useEncode != \"undefined\")) ? a.useEncode : this.encodeParams)), a.movie = a.swf, a.wmode = ((a.wmode || \"opaque\")), delete a.fallback, delete a.hasVersion, delete a.hasVersionFail, delete a.height, delete a.id, delete a.swf, delete a.useEncode, delete a.width;\n                var b = JSBNG__document.createElement(\"div\");\n                return b.innerHTML = [\"\\u003Cobject \",f(attrs),\"\\u003E\",g(a),\"\\u003C/object\\u003E\",].join(\"\"), b.firstChild;\n            }\n        }, a.fn[b] = function(c) {\n            var d = this.JSBNG__find(h).andSelf().filter(h);\n            return ((/string|object/.test(typeof c) && this.each(function() {\n                var d = a(this), e;\n                c = ((((typeof c == h)) ? c : {\n                    swf: c\n                })), c.fallback = this;\n                if (e = a[b].create(c)) {\n                    d.children().remove(), d.html(e);\n                }\n            ;\n            ;\n            }))), ((((typeof c == \"function\")) && d.each(function() {\n                var d = this;\n                d.jsInteractionTimeoutMs = ((d.jsInteractionTimeoutMs || 0)), ((((d.jsInteractionTimeoutMs < 660)) && ((((d.clientWidth || d.clientHeight)) ? c.call(d) : JSBNG__setTimeout(function() {\n                    a(d)[b](c);\n                }, ((d.jsInteractionTimeoutMs + 66)))))));\n            }))), d;\n        };\n    })(jQuery, \"flash\", ((JSBNG__navigator.plugins[\"Shockwave Flash\"] || window.ActiveXObject)));\n});\ndefine(\"app/utils/image\", [\"module\",\"require\",\"exports\",\"$lib/jquery.swfobject.js\",], function(module, require, exports) {\n    require(\"$lib/jquery.swfobject.js\");\n    var image = {\n        photoHelperSwfPath: \"/t1/flash/PhotoHelper.swf\",\n        photoSelectorSwfPath: \"/t1/flash/PhotoSelector.swf\",\n        MAX_FILE_SIZE: 3145728,\n        validateFileName: function(a) {\n            return /(.*)\\.(jpg|jpeg|png|gif)/i.test(a);\n        },\n        validateImageSize: function(a, b) {\n            var c = ((a.size || a.fileSize)), b = ((b || this.MAX_FILE_SIZE));\n            return ((!c || ((c <= b))));\n        },\n        getFileName: function(a) {\n            if (((((a.indexOf(\"/\") == -1)) && ((a.indexOf(\"\\\\\") == -1))))) {\n                return a;\n            }\n        ;\n        ;\n            var b = a.match(/(?:.*)[\\/\\\\]([^\\/\\\\]+(?:\\.\\w+)?)$/);\n            return b[1];\n        },\n        loadPhotoHelperSwf: function(a, b, c, d, e) {\n            return a.flash({\n                swf: this.photoHelperSwfPath,\n                height: d,\n                width: e,\n                wmode: \"transparent\",\n                AllowScriptAccess: \"sameDomain\",\n                flashvars: {\n                    callbackName: b,\n                    errorCallbackName: c\n                }\n            }), a.JSBNG__find(\"object\");\n        },\n        loadPhotoSelectorSwf: function(a, b, c, d, e, f) {\n            return a.flash({\n                swf: this.photoSelectorSwfPath,\n                height: d,\n                width: e,\n                wmode: \"transparent\",\n                AllowScriptAccess: \"sameDomain\",\n                flashvars: {\n                    callbackName: b,\n                    errorCallbackName: c,\n                    buttonWidth: e,\n                    buttonHeight: d,\n                    maxSizeInBytes: f\n                }\n            }), a.JSBNG__find(\"object\");\n        },\n        hasFlash: function() {\n            try {\n                return (($.flash.available && $.flash.hasVersion(10)));\n            } catch (a) {\n                return !1;\n            };\n        ;\n        },\n        hasFileReader: function() {\n            return ((((((typeof JSBNG__FileReader == \"function\")) || ((typeof JSBNG__FileReader == \"object\")))) ? !0 : !1));\n        },\n        hasCanvas: function() {\n            var a = JSBNG__document.createElement(\"canvas\");\n            return ((!!a.getContext && !!a.getContext(\"2d\")));\n        },\n        supportsCropper: function() {\n            return ((this.hasCanvas() && ((this.hasFileReader() || this.hasFlash()))));\n        },\n        getFileHandle: function(a) {\n            return ((((a.files && a.files[0])) ? a.files[0] : !1));\n        },\n        shouldUseFlash: function() {\n            return ((!this.hasFileReader() && this.hasFlash()));\n        },\n        mode: function() {\n            return ((this.hasFileReader() ? \"html5\" : ((this.hasFlash() ? \"flash\" : \"html4\"))));\n        },\n        getDataUri: function(a, b) {\n            var c = ((\"data:image/jpeg;base64,\" + a));\n            return ((b && (c = ((((\"url(\" + c)) + \")\"))))), c;\n        },\n        getFileData: function(a, b, c) {\n            var d = new JSBNG__FileReader;\n            d.JSBNG__onload = function(b) {\n                var d = b.target.result;\n                c(a, d);\n            }, d.readAsDataURL(b);\n        }\n    };\n    module.exports = image;\n});\ndefine(\"app/utils/drag_drop_helper\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var dragDropHelper = {\n        hasFiles: function(a) {\n            var b = ((a.originalEvent || a)).dataTransfer;\n            return ((b && ((b.types.contains ? b.types.contains(\"Files\") : ((b.types.indexOf(\"Files\") >= 0))))));\n        },\n        onlyHandleEventsWithFiles: function(a) {\n            return function(b, c) {\n                if (dragDropHelper.hasFiles(b)) {\n                    return a.call(this, b, c);\n                }\n            ;\n            ;\n            };\n        }\n    };\n    module.exports = dragDropHelper;\n});\ndefine(\"app/ui/with_drop_events\", [\"module\",\"require\",\"exports\",\"app/utils/image\",\"app/utils/drag_drop_helper\",], function(module, require, exports) {\n    function withDropEvents() {\n        this.drop = function(a) {\n            a.preventDefault(), a.stopImmediatePropagation();\n            var b = image.getFileHandle(a.originalEvent.dataTransfer);\n            this.trigger(\"uiDrop\", {\n                file: b\n            }), this.trigger(\"uiDragEnd\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"drop\", dragDropHelper.onlyHandleEventsWithFiles(this.drop));\n        });\n    };\n;\n    var image = require(\"app/utils/image\"), dragDropHelper = require(\"app/utils/drag_drop_helper\");\n    module.exports = withDropEvents;\n});\ndefine(\"app/ui/with_droppable_image\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_drop_events\",\"app/utils/image\",], function(module, require, exports) {\n    function withDroppableImage() {\n        compose.mixin(this, [withDropEvents,]), this.triggerGotImageData = function(a, b) {\n            this.trigger(\"uiGotImageData\", {\n                JSBNG__name: a,\n                contents: b\n            });\n        }, this.captureImageData = function(a, b) {\n            var c = b.file;\n            image.getFileData(c.JSBNG__name, c, this.triggerGotImageData.bind(this));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDrop\", this.captureImageData);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withDropEvents = require(\"app/ui/with_drop_events\"), image = require(\"app/utils/image\");\n    module.exports = withDroppableImage;\n});\ndefine(\"app/ui/tweet_box\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_character_counter\",\"app/utils/with_event_params\",\"app/utils/caret\",\"core/utils\",\"core/i18n\",\"app/utils/scribe_item_types\",\"app/ui/with_draft_tweets\",\"app/ui/with_text_polling\",\"app/ui/with_rtl_tweet_box\",\"app/ui/toolbar\",\"app/ui/with_rich_editor\",\"app/ui/with_upload_photo_affordance\",\"app/ui/with_droppable_image\",], function(module, require, exports) {\n    function tweetBox() {\n        var a = _(\"Compose new Tweet...\"), b = \"\";\n        this.defaultAttrs({\n            textSelector: \"textarea.tweet-box\",\n            shadowTextSelector: \".tweet-box-shadow\",\n            counterSelector: \"span.tweet-counter\",\n            toolbarSelector: \".js-toolbar\",\n            imageSelector: \".photo-selector\",\n            uploadPhotoSelector: \".photo-selector\",\n            imageBtnSelector: \".photo-selector .btn\",\n            focusClass: \"JSBNG__focus\",\n            fileInputSelector: \".file-input\",\n            thumbContainerSelector: \".thumbnail-container\",\n            tweetActionSelector: \".tweet-action\",\n            iframeSelector: \".tweet-post-iframe\",\n            placeIdSelector: \"input[name=place_id]\",\n            cursorPosition: undefined,\n            inReplyToTweetData: {\n            },\n            inReplyToStatusId: undefined,\n            impressionId: undefined,\n            disclosureType: undefined,\n            modal: !1,\n            condensable: !1,\n            suppressFlashMessage: !1,\n            customData: {\n            },\n            position: undefined,\n            itemType: \"tweet\",\n            component: undefined,\n            eventParams: \"\"\n        }), this.dmRegex = /^\\s*(?:d|m|dm)\\s+[@@]?(\\S+)\\s*(.*)/i, this.validUserRegex = /^(\\w{1,20})$/, this.dmMode = !1, this.hasMedia = !1, this.condensed = !1, this.sendTweet = function(a) {\n            ((a && a.preventDefault())), this.detectUpdatedText(), this.$node.attr(\"id\", this.getTweetboxId());\n            var b = {\n                JSBNG__status: this.val(),\n                place_id: this.select(\"placeIdSelector\").val(),\n                in_reply_to_status_id: this.attr.inReplyToStatusId,\n                impression_id: this.attr.impressionId,\n                earned: ((this.attr.disclosureType ? ((this.attr.disclosureType == \"earned\")) : undefined))\n            }, c = ((this.hasMedia ? \"uiSend{{type}}WithMedia\" : \"uiSend{{type}}\"));\n            this.trigger(c, {\n                tweetboxId: this.getTweetboxId(),\n                tweetData: b\n            }), this.$node.addClass(\"tweeting\"), this.disable();\n        }, this.getTweetboxId = function() {\n            return ((this.tweetboxId || (this.tweetboxId = ((\"swift_tweetbox_\" + +(new JSBNG__Date)))))), this.tweetboxId;\n        }, this.overrideTweetBoxOptions = function(a, b) {\n            this.attr.inReplyToTweetData = b, ((b.id && (this.attr.inReplyToStatusId = b.id))), ((b.impressionId && (this.attr.impressionId = b.impressionId))), ((b.disclosureType && (this.attr.disclosureType = b.disclosureType))), ((b.defaultText && (this.attr.defaultText = b.defaultText))), ((b.customData && (this.attr.customData = b.customData))), ((b.itemType && (this.attr.itemType = b.itemType))), ((((b.scribeContext && b.scribeContext.component)) && (this.attr.component = b.scribeContext.component))), ((((b.position !== undefined)) && (this.attr.position = b.position))), ((((b.cursorPosition !== undefined)) && (this.attr.cursorPosition = b.cursorPosition)));\n        }, this.resetOverriddenOptions = function(a, b) {\n            delete this.attr.defaultText, this.attr.inReplyToTweetData = this.defaults.inReplyToTweetData, this.attr.inReplyToStatusId = this.defaults.inReplyToStatusId, this.attr.impressionId = this.defaults.impressionId, this.attr.disclosureType = this.defaults.disclosureType, this.attr.defaultText = this.getDefaultText(), this.attr.cursorPosition = this.defaults.cursorPosition, this.attr.customData = this.defaults.customData, this.attr.position = this.defaults.position, this.attr.itemType = this.defaults.itemType, this.attr.component = this.attr.component;\n        }, this.updateTweetTitleThenButton = function() {\n            this.updateTitle(), this.updateTweetButton();\n        }, this.updateTweetButton = function() {\n            var a = !1, b = this.val().trim();\n            ((this.hasMedia ? a = !0 : a = ((b && ((b !== this.attr.defaultText.trim()))))));\n            if (((this.maxReached() || this.$node.hasClass(\"tweeting\")))) {\n                a = !1;\n            }\n        ;\n        ;\n            ((((this.dmMode && ((!this.dmText || !this.dmUsername.match(this.validUserRegex))))) && (a = !1))), ((a ? this.enable() : this.disable()));\n        }, this.updateTweetButtonText = function(a) {\n            this.select(\"tweetActionSelector\").text(a);\n        }, this.updateTitle = function() {\n            var a = this.val().match(this.dmRegex), b = ((a && a[1]));\n            this.dmText = ((a && a[2])), ((((a && ((!this.dmMode || ((this.dmMode && ((this.dmUsername != b)))))))) ? (this.dmMode = !0, this.dmUsername = b, this.trigger(\"uiDialogUpdateTitle\", {\n                title: _(\"Message @{{username}}\", {\n                    username: b\n                })\n            }), this.updateTweetButtonText(_(\"Send message\"))) : ((((this.dmMode && !a)) && (this.dmMode = !1, this.dmUsername = undefined, this.trigger(\"uiDialogUpdateTitle\", {\n                title: _(\"What's happening\")\n            }), this.updateTweetButtonText(_(\"Tweet\")))))));\n        }, this.tweetSent = function(a, b) {\n            var c = ((b.tweetboxId || b.sourceEventData.tweetboxId));\n            if (((c != this.getTweetboxId()))) {\n                return;\n            }\n        ;\n        ;\n            b.customData = this.attr.customData, ((b.message && this.trigger(((b.unusual ? \"uiShowError\" : \"uiShowMessage\")), {\n                message: b.message\n            })));\n            if (((this.attr.eventParams.type == \"Tweet\"))) {\n                var d = \"uiTweetboxTweetSuccess\";\n                if (((this.attr.inReplyToStatusId || ((this.val().indexOf(\"@\") == 0))))) {\n                    if (((this.attr.inReplyToTweetData || {\n                    })).replyLinkClick) {\n                        var e = utils.merge({\n                        }, this.attr.inReplyToTweetData);\n                        ((e.scribeContext && (e.scribeContext.element = \"\"))), this.trigger(\"uiReplyButtonTweetSuccess\", e);\n                    }\n                ;\n                ;\n                    d = \"uiTweetboxReplySuccess\";\n                }\n                 else ((this.val().match(this.dmRegex) && (d = \"uiTweetboxDMSuccess\")));\n            ;\n            ;\n                this.trigger(d, {\n                    scribeData: {\n                        item_ids: [b.tweet_id,]\n                    }\n                });\n            }\n        ;\n        ;\n            this.$node.removeClass(\"tweeting\"), this.trigger(\"ui{{type}}Sent\", b), this.reset(), this.condense();\n        }, this.scribeDataForReply = function() {\n            var a = {\n                id: this.attr.inReplyToStatusId,\n                item_type: scribeItemTypes.tweet\n            }, b = {\n            };\n            ((this.attr.impressionId && (a.token = this.attr.impressionId, b.promoted = !0)));\n            if (((((this.attr.position == 0)) || this.attr.position))) {\n                a.position = this.attr.position;\n            }\n        ;\n        ;\n            return b.items = [a,], {\n                scribeData: b,\n                scribeContext: {\n                    component: this.attr.component,\n                    element: \"\"\n                }\n            };\n        }, this.tweetError = function(a, b) {\n            var c = ((b.tweetboxId || b.sourceEventData.tweetboxId));\n            if (((c != this.getTweetboxId()))) {\n                return;\n            }\n        ;\n        ;\n            ((!this.attr.suppressFlashMessage && this.trigger(\"uiShowError\", {\n                message: ((b.error || b.message))\n            }))), this.$node.removeClass(\"tweeting\"), this.enable(), ((((this.attr.eventParams.type == \"Tweet\")) && this.trigger(\"uiTweetboxTweetError\")));\n        }, this.detectUpdatedText = function(a, b) {\n            ((((b === undefined)) ? b = this.$text.val() : this.$text.val(b)));\n            if (((((b !== this.prevText)) || a))) {\n                this.prevText = b, b = this.cleanRtlText(b), this.updateCleanedTextAndOffset(b, caret.getPosition(this.$text[0]));\n            }\n        ;\n        ;\n        }, this.updateCleanedTextAndOffset = function(a, b) {\n            this.cleanedText = a, this.select(\"shadowTextSelector\").val(a), this.trigger(\"uiTextChanged\", {\n                text: a,\n                position: b,\n                condensed: this.condensed\n            }), this.updateTweetTitleThenButton();\n        }, this.showPreview = function(a, b) {\n            this.$node.addClass(\"has-preview\"), ((b.imageData && this.$node.addClass(\"has-thumbnail\"))), this.hasMedia = !0, this.detectUpdatedText(!0);\n        }, this.hidePreview = function(a, b) {\n            this.$node.removeClass(\"has-preview has-thumbnail\"), this.hasMedia = !1, this.detectUpdatedText(!0);\n        }, this.enable = function() {\n            this.select(\"tweetActionSelector\").removeClass(\"disabled\").attr(\"disabled\", !1);\n        }, this.disable = function() {\n            this.select(\"tweetActionSelector\").addClass(\"disabled\").attr(\"disabled\", !0);\n        }, this.reset = function(a) {\n            this.JSBNG__focus(), ((this.freezeTweetText || this.resetTweetText())), this.setCursorPosition(), this.trigger(\"ui{{type}}BoxHidePreview\"), this.$text.css(\"height\", \"\"), this.$node.JSBNG__find(\"input[type=hidden]\").val(\"\");\n        }, this.val = function(a) {\n            if (((a == undefined))) {\n                return ((this.cleanedText || \"\"));\n            }\n        ;\n        ;\n            this.detectUpdatedText(!1, a);\n        }, this.setCursorPosition = function(a) {\n            ((((a === undefined)) && (a = this.attr.cursorPosition))), ((((a === undefined)) && (a = this.$text.val().length))), caret.setPosition(this.$text.get(0), a);\n        }, this.JSBNG__focus = function() {\n            ((this.hasFocus() || this.$text.JSBNG__focus()));\n        }, this.expand = function() {\n            this.$node.removeClass(\"condensed\"), ((this.condensed && (this.condensed = !1, this.trigger(\"uiTweetBoxExpanded\"), this.trigger(\"uiPrepareTweetBox\"))));\n        }, this.forceExpand = function() {\n            this.condensed = !0, this.expand(), this.saveEmptyUndoState();\n        }, this.condense = function() {\n            ((((!this.condensed && this.attr.condensable)) && (this.$node.addClass(\"condensed\"), this.condensed = !0, this.resetTweetText(), this.$text.JSBNG__blur(), this.trigger(\"uiTweetBoxCondensed\"))));\n        }, this.condenseEmptyTweet = function() {\n            this.detectUpdatedText();\n            var a = this.val().trim();\n            this.trigger(\"uiHideAutocomplete\"), ((((((((a == this.attr.defaultText.trim())) || ((a == \"\")))) && !this.hasMedia)) && this.condense()));\n        }, this.condenseOnMouseDown = function(a) {\n            ((this.condensed || (($.contains(this.node, a.target) ? this.blockCondense = !0 : this.condenseEmptyTweet()))));\n        }, this.condenseOnBlur = function(a) {\n            if (this.blockCondense) {\n                this.blockCondense = !1;\n                return;\n            }\n        ;\n        ;\n            this.condenseEmptyTweet();\n        }, this.hasFocus = function() {\n            return ((JSBNG__document.activeElement === this.$text[0]));\n        }, this.prepareTweetBox = function() {\n            this.reset();\n        }, this.resetTweetText = function() {\n            this.val(((this.condensed ? this.attr.condensedText : this.attr.defaultText)));\n        }, this.getDefaultText = function() {\n            return ((((typeof this.attr.defaultText != \"undefined\")) ? this.attr.defaultText : this.getAttrOrElse(\"data-default-text\", b)));\n        }, this.getCondensedText = function() {\n            return ((((typeof this.attr.condensedText != \"undefined\")) ? this.attr.condensedText : this.getAttrOrElse(\"data-condensed-text\", a)));\n        }, this.changeTextAndPosition = function(a, b) {\n            this.val(b.text), this.setCursorPosition(b.position);\n        }, this.getAttrOrElse = function(a, b) {\n            return ((((typeof this.$node.attr(a) == \"undefined\")) ? b : this.$node.attr(a)));\n        }, this.toggleFocusStyle = function(a) {\n            this.select(\"imageBtnSelector\").toggleClass(this.attr.focusClass);\n        }, this.initTextNode = function() {\n            this.$text = this.select(\"textSelector\");\n        }, this.after(\"initialize\", function() {\n            this.attr.defaultText = this.getDefaultText(), this.attr.condensedText = this.getCondensedText(), utils.push(this.attr, {\n                eventData: {\n                    scribeContext: {\n                        element: \"tweet_box\"\n                    }\n                }\n            }, !1), this.initTextNode(), this.JSBNG__on(this.select(\"tweetActionSelector\"), \"click\", this.sendTweet), this.JSBNG__on(JSBNG__document, \"data{{type}}Success\", this.tweetSent), this.JSBNG__on(JSBNG__document, \"data{{type}}Error\", this.tweetError), this.JSBNG__on(this.$text, \"dragover\", this.JSBNG__focus), this.JSBNG__on(\"ui{{type}}BoxShowPreview\", this.showPreview), this.JSBNG__on(\"ui{{type}}BoxHidePreview\", this.hidePreview), this.JSBNG__on(\"ui{{type}}BoxReset\", this.reset), this.JSBNG__on(\"uiPrepare{{type}}Box\", this.prepareTweetBox), this.JSBNG__on(\"uiExpandFocus\", this.JSBNG__focus), this.JSBNG__on(\"uiChangeTextAndPosition\", this.changeTextAndPosition), this.JSBNG__on(\"focusin\", {\n                fileInputSelector: this.toggleFocusStyle\n            }), this.JSBNG__on(\"focusout\", {\n                fileInputSelector: this.toggleFocusStyle\n            }), Toolbar.attachTo(this.select(\"toolbarSelector\"), {\n                buttonsSelector: \".file-input, .geo-picker-btn, .tweet-action\"\n            }), ((this.attr.modal && (this.JSBNG__on(JSBNG__document, \"uiOverride{{type}}BoxOptions\", this.overrideTweetBoxOptions), this.JSBNG__on(\"uiDialogClosed\", this.resetOverriddenOptions)))), this.initDraftTweets();\n            var a = this.hasFocus();\n            ((this.attr.condensable && (this.JSBNG__on(this.$text, \"JSBNG__focus\", this.expand), this.JSBNG__on(this.$text, \"JSBNG__blur\", this.condenseOnBlur), this.JSBNG__on(JSBNG__document, \"mousedown\", this.condenseOnMouseDown), ((a || ((this.hasDraftTweet() ? this.forceExpand() : this.condense()))))))), ((a && (this.freezeTweetText = !0, this.forceExpand(), this.freezeTweetText = !1)));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withCounter = require(\"app/ui/with_character_counter\"), withEventParams = require(\"app/utils/with_event_params\"), caret = require(\"app/utils/caret\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), scribeItemTypes = require(\"app/utils/scribe_item_types\"), withDraftTweets = require(\"app/ui/with_draft_tweets\"), withTextPolling = require(\"app/ui/with_text_polling\"), withRTL = require(\"app/ui/with_rtl_tweet_box\"), Toolbar = require(\"app/ui/toolbar\"), withRichEditor = require(\"app/ui/with_rich_editor\"), withUploadPhotoAffordance = require(\"app/ui/with_upload_photo_affordance\"), withDroppableImage = require(\"app/ui/with_droppable_image\"), TweetBox = defineComponent(tweetBox, withCounter, withEventParams, withTextPolling, withRTL, withDraftTweets, withRichEditor, withDroppableImage, withUploadPhotoAffordance);\n    TweetBox.caret = caret, module.exports = TweetBox;\n});\ndefine(\"app/utils/image_thumbnail\", [\"module\",\"require\",\"exports\",\"app/utils/image\",], function(module, require, exports) {\n    var image = require(\"app/utils/image\"), imageThumbnail = {\n        createThumbnail: function(a, b, c) {\n            var d = new JSBNG__Image;\n            d.JSBNG__onload = function() {\n                c(a, d, d.height, d.width);\n            }, d.src = image.getDataUri(b);\n        },\n        getThumbnailOffset: function(a, b, c) {\n            var d;\n            if (((((((b == a)) && ((b >= c)))) && ((a >= c))))) {\n                return {\n                    position: \"absolute\",\n                    height: c,\n                    width: c,\n                    left: 0,\n                    JSBNG__top: 0\n                };\n            }\n        ;\n        ;\n            if (((((a < c)) || ((b < c))))) {\n                d = {\n                    position: \"absolute\",\n                    height: a,\n                    width: b,\n                    JSBNG__top: ((((c - a)) / 2)),\n                    left: ((((c - b)) / 2))\n                };\n            }\n             else {\n                if (((b > a))) {\n                    var e = ((((c / a)) * b));\n                    d = {\n                        position: \"absolute\",\n                        height: c,\n                        width: e,\n                        left: ((-((e - c)) / 2)),\n                        JSBNG__top: 0\n                    };\n                }\n                 else if (((a > b))) {\n                    var f = ((((c / b)) * a));\n                    d = {\n                        position: \"absolute\",\n                        height: f,\n                        width: c,\n                        JSBNG__top: ((-((f - c)) / 2)),\n                        left: 0\n                    };\n                }\n                \n            ;\n            }\n        ;\n        ;\n            return d;\n        }\n    };\n    module.exports = imageThumbnail;\n});\ndefine(\"app/ui/tweet_box_thumbnails\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/image_thumbnail\",], function(module, require, exports) {\n    function tweetBoxThumbnails() {\n        this.defaults = {\n            thumbSelector: \".preview\",\n            thumbImageSelector: \".preview img\",\n            filenameSelector: \".preview .filename\",\n            dismissSelector: \".dismiss\",\n            tweetBoxSelector: \".tweet-form\"\n        }, this.showPreview = function(a, b) {\n            ((b.imageData && imageThumbnail.createThumbnail(b.fileName, b.imageData, this.gotThumbnail.bind(this)))), this.select(\"filenameSelector\").text(b.fileName);\n        }, this.hidePreview = function() {\n            this.select(\"filenameSelector\").empty(), this.select(\"thumbImageSelector\").remove();\n        }, this.gotThumbnail = function(a, b, c, d) {\n            var e = imageThumbnail.getThumbnailOffset(c, d, 48);\n            $(b).css(e), this.select(\"thumbSelector\").append($(b));\n        }, this.removeImage = function() {\n            this.hidePreview(), this.trigger(\"uiTweetBoxRemoveImage\"), this.trigger(\"uiImagePickerRemove\");\n        }, this.after(\"initialize\", function() {\n            utils.push(this.attr, {\n                eventData: {\n                    scribeContext: {\n                        element: \"image_picker\"\n                    }\n                }\n            }, !1);\n            var a = this.$node.closest(this.attr.tweetBoxSelector);\n            this.JSBNG__on(a, \"uiTweetBoxShowPreview\", this.showPreview), this.JSBNG__on(a, \"uiTweetBoxHidePreview\", this.hidePreview), this.JSBNG__on(this.select(\"dismissSelector\"), \"click\", this.removeImage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), imageThumbnail = require(\"app/utils/image_thumbnail\"), TweetBoxThumbnails = defineComponent(tweetBoxThumbnails);\n    module.exports = TweetBoxThumbnails;\n});\ndefine(\"app/utils/image_resize\", [\"module\",\"require\",\"exports\",\"app/utils/image\",], function(module, require, exports) {\n    var image = require(\"app/utils/image\"), imageResize = {\n        resize: function(a, b, c, d) {\n            if (!image.hasCanvas()) {\n                return d(a, b.split(\";base64,\")[1]);\n            }\n        ;\n        ;\n            var e = new JSBNG__Image, f = JSBNG__document.createElement(\"canvas\"), g = f.getContext(\"2d\");\n            e.JSBNG__onload = function() {\n                if (((((e.width == 0)) || ((e.height == 0))))) {\n                    d(a, !1);\n                    return;\n                }\n            ;\n            ;\n                if (((((e.width < c)) && ((e.height < c))))) {\n                    d(a, b.split(\";base64,\")[1]);\n                    return;\n                }\n            ;\n            ;\n                var h, i;\n                ((((e.width > e.height)) ? (h = c, i = ((((e.height / e.width)) * c))) : (i = c, h = ((((e.width / e.height)) * c))))), f.width = h, f.height = i, g.drawImage(e, 0, 0, h, i);\n                var j = f.toDataURL(\"image/jpeg\");\n                d(a, j.split(\"data:image/jpeg;base64,\")[1]);\n            }, e.JSBNG__onerror = function() {\n                d(a, !1);\n            }, e.src = b;\n        }\n    };\n    module.exports = imageResize;\n});\ndefine(\"app/ui/with_image_selection\", [\"module\",\"require\",\"exports\",\"app/utils/image\",\"app/utils/image_resize\",], function(module, require, exports) {\n    function withImageSelection() {\n        this.resize = imageResize.resize.bind(image), this.getFileData = image.getFileData.bind(image), this.getFileHandle = image.getFileHandle.bind(image), this.getFileName = image.getFileName.bind(image), this.validateFileName = image.validateFileName.bind(image), this.validateImageSize = image.validateImageSize.bind(image), this.defaultAttrs({\n            swfSelector: \".swf-container\",\n            fileNameSelector: \"input.file-name\",\n            fileDataSelector: \"input.file-data\",\n            fileSelector: \"input.file-input\",\n            buttonSelector: \".btn\",\n            fileNameString: \"media_file_name\",\n            fileDataString: \"media_data[]\",\n            fileInputString: \"media[]\",\n            uploadType: \"\",\n            maxSizeInBytes: 3145728\n        }), this.validateImage = function(a, b) {\n            return ((this.validateFileName(a) ? ((((b && !this.validateImageSize(b, this.maxSizeInBytes))) ? (this.addFileError(\"tooLarge\"), !1) : !0)) : (this.addFileError(\"notImage\"), !1)));\n        }, this.imageSelected = function(a) {\n            var b = this.select(\"fileSelector\").get(0), c = this.getFileName(b.value), d = this.getFileHandle(b);\n            if (!this.validateImage(c, d)) {\n                return;\n            }\n        ;\n        ;\n            this.gotFileHandle(c, d);\n        }, this.gotFileHandle = function(a, b) {\n            ((((this.mode() == \"html5\")) ? this.getFileData(a, b, this.gotImageData.bind(this)) : this.gotFileInput(a)));\n        }, this.reset = function() {\n            this.resetInput(), this.select(\"fileDataSelector\").replaceWith(\"\\u003Cinput type=\\\"hidden\\\" name=\\\"media_data_empty\\\" class=\\\"file-data\\\"\\u003E\"), this.trigger(\"uiTweetBoxHidePreview\");\n        }, this.gotFlashImageData = function(a, b, c) {\n            if (!this.validateFileName(a)) {\n                this.addFileError(\"notImage\");\n                return;\n            }\n        ;\n        ;\n            this.showPreview({\n                imageData: c,\n                fileName: a\n            }), this.trigger(\"uiImagePickerAdd\", {\n                message: \"flash\"\n            }), this.readyFileData(b), this.trigger(\"uiImagePickerFileReady\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.gotFlashImageError = function(a, b) {\n            this.addFileError(a);\n        }, this.gotResizedImageData = function(a, b) {\n            if (!b) {\n                this.addFileError(\"notImage\");\n                return;\n            }\n        ;\n        ;\n            this.showPreview({\n                imageData: b,\n                fileName: a\n            }), this.trigger(\"uiImagePickerAdd\", {\n                message: \"html5\"\n            });\n            var c = b.split(\",\");\n            ((((c.length > 1)) && (b = c[1]))), this.readyFileData(b), this.trigger(\"uiImagePickerFileReady\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.gotFileInput = function(a) {\n            this.showPreview({\n                fileName: a\n            }), this.trigger(\"uiImagePickerAdd\", {\n                message: \"html4\"\n            }), this.readyFileInput(), this.trigger(\"uiImagePickerFileReady\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.readyFileInput = function() {\n            this.select(\"fileSelector\").attr(\"JSBNG__name\", this.attr.fileInputString);\n        }, this.readyFileData = function(a) {\n            this.select(\"fileDataSelector\").attr(\"JSBNG__name\", this.attr.fileDataString), this.select(\"fileDataSelector\").attr(\"value\", a), this.resetInput();\n        }, this.resetInput = function() {\n            this.select(\"fileSelector\").replaceWith(\"\\u003Cinput type=\\\"file\\\" name=\\\"media_empty\\\" class=\\\"file-input\\\" tabindex=\\\"-1\\\"\\u003E\");\n        }, this.showPreview = function(a) {\n            this.trigger(\"uiTweetBoxShowPreview\", a);\n        }, this.setupFlash = function() {\n            var a = ((\"swift_tweetbox_callback_\" + +(new JSBNG__Date))), b = ((\"swift_tweetbox_error_callback_\" + +(new JSBNG__Date)));\n            window[a] = this.gotFlashImageData.bind(this), window[b] = this.gotFlashImageError.bind(this), JSBNG__setTimeout(function() {\n                this.loadSwf(a, b);\n            }.bind(this), 500);\n        }, this.mode = function() {\n            return ((this.attr.forceHTML5FileUploader && (this._mode = \"html5\"))), this._mode = ((this._mode || image.mode())), this._mode;\n        }, this.setup = function() {\n            ((((this.mode() == \"flash\")) && this.setupFlash())), this.select(\"fileNameSelector\").attr(\"JSBNG__name\", this.attr.fileNameString), this.select(\"fileDataSelector\").attr(\"JSBNG__name\", this.attr.fileDataString), this.select(\"fileSelector\").attr(\"JSBNG__name\", this.attr.fileInputString);\n        }, this.after(\"initialize\", function() {\n            this.setup(), this.JSBNG__on(\"change\", this.imageSelected);\n        });\n    };\n;\n    var image = require(\"app/utils/image\"), imageResize = require(\"app/utils/image_resize\");\n    module.exports = withImageSelection;\n});\ndefine(\"app/ui/image_selector\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",\"app/ui/with_image_selection\",\"core/i18n\",], function(module, require, exports) {\n    function imageSelector() {\n        this.defaults = {\n            swfHeight: 30,\n            swfWidth: 42,\n            tweetBoxSelector: \".tweet-form\",\n            photoButtonSelector: \".file-input\"\n        }, this.resetAndHidePreview = function() {\n            this.reset(), this.trigger(\"uiTweetBoxHidePreview\");\n        }, this.disable = function() {\n            this.$node.addClass(\"disabled\"), this.select(\"buttonSelector\").attr(\"disabled\", !0).addClass(\"active\");\n        }, this.enable = function() {\n            this.$node.removeClass(\"disabled\"), this.select(\"buttonSelector\").attr(\"disabled\", !1).removeClass(\"active\");\n        }, this.gotImageData = function(a, b) {\n            this.resize(a, b, 2048, this.gotResizedImageData.bind(this));\n        }, this.interceptGotImageData = function(a, b) {\n            this.gotImageData(b.JSBNG__name, b.contents);\n        }, this.addFileError = function(a) {\n            ((((a == \"tooLarge\")) ? this.trigger(\"uiShowError\", {\n                message: _(\"The file you selected is greater than the 3MB limit.\")\n            }) : ((((((a == \"notImage\")) || ((a == \"ioError\")))) && this.trigger(\"uiShowError\", {\n                message: _(\"You did not select an image.\")\n            }))))), this.trigger(\"uiImagePickerError\", {\n                message: a\n            }), this.reset();\n        }, this.loadSwf = function(a, b) {\n            image.loadPhotoHelperSwf(this.select(\"swfSelector\"), a, b, this.attr.swfHeight, this.attr.swfWidth);\n        }, this.imageSelectorClicked = function(a, b) {\n            this.trigger(\"uiImagePickerClick\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.attr.photoButtonSelector, \"click\", this.imageSelectorClicked);\n            var a = this.$node.closest(this.attr.tweetBoxSelector);\n            this.JSBNG__on(a, \"uiTweetBoxHidePreview\", this.enable), this.JSBNG__on(a, \"uiTweetBoxShowPreview\", this.disable), this.JSBNG__on(a, \"uiTweetBoxRemoveImage\", this.resetAndHidePreview), this.JSBNG__on(a, \"uiGotImageData\", this.interceptGotImageData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\"), withImageSelection = require(\"app/ui/with_image_selection\"), _ = require(\"core/i18n\"), ImageSelector = defineComponent(imageSelector, withImageSelection);\n    module.exports = ImageSelector;\n});\ndefine(\"app/ui/typeahead/accounts_renderer\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/component\",], function(module, require, exports) {\n    function accountsRenderer() {\n        this.defaultAttrs({\n            accountsListSelector: \".js-typeahead-accounts\",\n            accountsItemSelector: \".typeahead-account-item\",\n            accountsShortcutSelector: \".typeahead-accounts-shortcut\",\n            accountsShortcutShow: !1,\n            datasources: [\"accounts\",],\n            socialContextMapping: {\n                FOLLOWING: 1,\n                FOLLOWS: 8\n            }\n        }), this.renderAccounts = function(a, b) {\n            this.$accountsList.JSBNG__find(this.attr.accountsItemSelector).remove();\n            var c = [];\n            this.attr.datasources.forEach(function(a) {\n                c = c.concat(((b.suggestions[a] || [])));\n            });\n            if (!c.length) {\n                this.clearAccounts();\n                return;\n            }\n        ;\n        ;\n            this.updateShortcut(b.queryData.query), c.forEach(function(a) {\n                var b = this.$accountItemTemplate.clone(!1);\n                b.attr(\"data-user-id\", a.id), b.attr(\"data-user-screenname\", a.screen_name), b.data(\"JSBNG__item\", a);\n                var c = b.JSBNG__find(\"a\");\n                c.attr(\"href\", ((\"/\" + a.screen_name))), c.attr(\"data-search-query\", a.id), c.JSBNG__find(\".avatar\").attr(\"src\", this.getAvatar(a)), c.JSBNG__find(\".fullname\").text(a.JSBNG__name), c.JSBNG__find(\".username b\").text(a.screen_name), ((a.verified && c.JSBNG__find(\".js-verified\").removeClass(\"hidden\")));\n                if (this.attr.deciders.showDebugInfo) {\n                    var d = !!a.rounded_graph_weight;\n                    c.attr(\"title\", ((((((d ? \"local\" : \"remote\")) + \" user, weight/score: \")) + ((d ? a.rounded_graph_weight : a.rounded_score)))));\n                }\n            ;\n            ;\n                if (((((a.social_proof !== 0)) && this.attr.deciders.showSocialContext))) {\n                    var e = c.JSBNG__find(\".typeahead-social-context\"), f = this.getSocialContext(a);\n                    ((f && (e.text(f), c.addClass(\"has-social-context\"))));\n                }\n            ;\n            ;\n                b.insertBefore(this.$accountsShortcut);\n            }, this), this.$accountsList.addClass(\"has-results\"), this.$accountsList.show();\n        }, this.getAvatar = function(a) {\n            var b = a.profile_image_url_https, c = this.attr.deciders.showSocialContext;\n            return ((b && (b = b.replace(/^https?:/, \"\"), b = ((c ? b : b.replace(/_normal(\\..*)?$/i, \"_mini$1\")))))), b;\n        }, this.isMutualFollow = function(a) {\n            return ((this.currentUserFollowsAccount(a) && this.accountFollowsCurrentUser(a)));\n        }, this.currentUserFollowsAccount = function(a) {\n            var b = this.attr.socialContextMapping.FOLLOWING;\n            return !!((a & b));\n        }, this.accountFollowsCurrentUser = function(a) {\n            var b = this.attr.socialContextMapping.FOLLOWS;\n            return !!((a & b));\n        }, this.getSocialContext = function(a) {\n            var b = a.social_proof;\n            return ((this.isMutualFollow(b) ? _(\"You follow each other\") : ((this.currentUserFollowsAccount(b) ? _(\"Following\") : ((this.accountFollowsCurrentUser(b) ? _(\"Follows you\") : ((a.first_connecting_user_name ? ((((a.connecting_user_count > 1)) ? _(\"Followed by {{user}} and {{number}} others\", {\n                user: a.first_connecting_user_name,\n                number: a.connecting_user_count\n            }) : _(\"Followed by {{user}}\", {\n                user: a.first_connecting_user_name\n            }))) : !1))))))));\n        }, this.updateShortcut = function(a) {\n            this.$accountsShortcut.toggle(this.attr.accountsShortcutShow);\n            var b = this.$accountsShortcut.JSBNG__find(\"a\");\n            b.attr(\"href\", ((\"/search/users?q=\" + encodeURIComponent(a)))), b.attr(\"data-search-query\", a), a = $(\"\\u003Cdiv/\\u003E\").text(a).html(), b.html(_(\"Search all people for \\u003Cstrong\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: a\n            }));\n        }, this.clearAccounts = function() {\n            this.$accountsList.removeClass(\"has-results\"), this.$accountsList.hide();\n        }, this.after(\"initialize\", function() {\n            this.$accountsList = this.select(\"accountsListSelector\"), this.$accountsShortcut = this.select(\"accountsShortcutSelector\"), this.$accountItemTemplate = this.select(\"accountsItemSelector\").clone(!1), this.$accountsList.hide(), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderAccounts);\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(accountsRenderer);\n});\ndefine(\"app/ui/typeahead/saved_searches_renderer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function savedSearchesRenderer() {\n        this.defaultAttrs({\n            savedSearchesListSelector: \".saved-searches-list\",\n            savedSearchesSelector: \".saved-searches-list\",\n            savedSearchesItemSelector: \".typeahead-saved-search-item\",\n            savedSearchesTitleSelector: \".saved-searches-title\",\n            datasources: [\"savedSearches\",]\n        }), this.renderSavedSearches = function(a, b) {\n            this.$savedSearchesList.empty();\n            var c = [];\n            this.attr.datasources.forEach(function(a) {\n                c = c.concat(((b.suggestions[a] || [])));\n            }), c.forEach(function(a) {\n                var b = this.$savedSearchItemTemplate.clone(!1);\n                b.data(\"JSBNG__item\", a);\n                var c = b.JSBNG__find(\"a\");\n                c.attr(\"href\", a.saved_search_path), c.attr(\"data-search-query\", a.query), c.attr(\"data-query-source\", a.search_query_source), c.append($(\"\\u003Cspan\\u003E\").text(a.JSBNG__name)), this.$savedSearchesList.append(b);\n            }, this), ((((b.query === \"\")) ? this.$savedSearchesTitle.show() : this.$savedSearchesTitle.hide()));\n        }, this.after(\"initialize\", function() {\n            this.$savedSearchItemTemplate = this.select(\"savedSearchesItemSelector\").clone(!1), this.$savedSearchesList = this.select(\"savedSearchesSelector\"), this.$savedSearchesTitle = this.select(\"savedSearchesTitleSelector\"), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderSavedSearches);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(savedSearchesRenderer);\n});\ndefine(\"app/ui/typeahead/recent_searches_renderer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function recentSearchesRenderer() {\n        this.defaultAttrs({\n            recentSearchesSelector: \".recent-searches-list\",\n            recentSearchesItemSelector: \".typeahead-recent-search-item\",\n            recentSearchesDismissSelector: \".typeahead-recent-search-item .close\",\n            recentSearchesBlockSelector: \".typeahead-recent-searches\",\n            recentSearchesTitleSelector: \".recent-searches-title\",\n            recentSearchesClearAllSelector: \".clear-recent-searches\",\n            datasources: [\"recentSearches\",]\n        }), this.deleteRecentSearch = function(a, b) {\n            var c = $(a.target).closest(this.attr.recentSearchesItemSelector), d = c.JSBNG__find(\"a.js-nav\"), e = d.data(\"search-query\");\n            ((((this.$recentSearchesList.children().length == 1)) && (this.$recentSearchesTitle.hide(), this.$recentSearchesBlock.removeClass(\"has-results\"), this.$recentSearchesClearAll.hide()))), c.remove(), this.trigger(\"uiTypeaheadDeleteRecentSearch\", {\n                query: e\n            });\n        }, this.deleteAllRecentSearches = function(a, b) {\n            this.$recentSearchesList.empty(), this.$recentSearchesTitle.hide(), this.$recentSearchesBlock.removeClass(\"has-results\"), this.$recentSearchesClearAll.hide(), this.trigger(\"uiTypeaheadDeleteRecentSearch\", {\n                deleteAll: !0\n            });\n        }, this.renderRecentSearches = function(a, b) {\n            this.$recentSearchesList.empty();\n            var c = this.attr.datasources.map(function(a) {\n                return ((b.suggestions[a] || []));\n            }).reduce(function(a, b) {\n                return a.concat(b);\n            });\n            c.forEach(function(a) {\n                var b = this.$recentSearchItemTemplate.clone(!1);\n                b.data(\"JSBNG__item\", a);\n                var c = b.JSBNG__find(\"a\");\n                c.attr(\"href\", a.recent_search_path), c.attr(\"data-search-query\", a.JSBNG__name), c.attr(\"data-query-source\", a.search_query_source), c.append($(\"\\u003Cspan\\u003E\").text(a.JSBNG__name)), this.$recentSearchesList.append(b);\n            }, this);\n            var d = ((c.length !== 0)), e = ((b.queryData.query === \"\")), f = ((e && d));\n            this.$recentSearchesBlock.toggleClass(\"has-results\", ((!e && d))), this.$recentSearchesTitle.toggle(f), this.$recentSearchesClearAll.toggle(f);\n        }, this.after(\"initialize\", function() {\n            this.$recentSearchItemTemplate = this.select(\"recentSearchesItemSelector\").clone(!1), this.$recentSearchesList = this.select(\"recentSearchesSelector\"), this.$recentSearchesBlock = this.select(\"recentSearchesBlockSelector\"), this.$recentSearchesTitle = this.select(\"recentSearchesTitleSelector\"), this.$recentSearchesClearAll = this.select(\"recentSearchesClearAllSelector\"), this.JSBNG__on(\"click\", {\n                recentSearchesDismissSelector: this.deleteRecentSearch,\n                recentSearchesClearAllSelector: this.deleteAllRecentSearches\n            }), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderRecentSearches), this.JSBNG__on(\"uiTypeaheadDeleteAllRecentSearches\", this.deleteAllRecentSearches);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(recentSearchesRenderer);\n});\ndefine(\"app/ui/typeahead/topics_renderer\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/component\",], function(module, require, exports) {\n    function topicsRenderer() {\n        this.defaultAttrs({\n            includeSearchGlass: !0,\n            parseHashtags: !1,\n            topicsListSelector: \".topics-list\",\n            topicsItemSelector: \".typeahead-topic-item\",\n            datasources: [\"topics\",],\n            emptySocialContextClass: \"empty-topics-social-context\"\n        }), this.renderTopics = function(a, b) {\n            this.$topicsList.empty();\n            var c = [];\n            this.attr.datasources.forEach(function(a) {\n                c = c.concat(((b.suggestions[a] || [])));\n            });\n            if (!c.length) {\n                this.clearTopics();\n                return;\n            }\n        ;\n        ;\n            c.forEach(function(a) {\n                var b = this.$topicsItemTemplate.clone(!1);\n                b.data(\"JSBNG__item\", a);\n                var c = b.JSBNG__find(\"a\"), d = ((a.topic || a.hashtag));\n                c.attr(\"href\", ((((\"/search?q=\" + encodeURIComponent(d))) + \"&src=tyah\"))), c.attr(\"data-search-query\", d);\n                var e = d.charAt(0), f = ((this.attr.parseHashtags && ((((e == \"#\")) || ((e == \"$\")))))), g = ((a.JSBNG__location && this.attr.deciders.showTypeaheadTopicSocialContext));\n                if (f) {\n                    var h = $(\"\\u003Cspan\\u003E\").text(e);\n                    h.append($(\"\\u003Cstrong\\u003E\").text(d.slice(1))), c.append(h);\n                }\n                 else if (g) {\n                    var i = c.JSBNG__find(\".typeahead-social-context\");\n                    i.text(this.getSocialContext(a)), i.show(), c.children().last().before($(\"\\u003Cspan\\u003E\").text(d));\n                }\n                 else c.append($(\"\\u003Cspan\\u003E\").text(d)), ((this.attr.deciders.showTypeaheadTopicSocialContext && c.addClass(this.attr.emptySocialContextClass)));\n                \n            ;\n            ;\n                b.appendTo(this.$topicsList);\n            }, this), this.$topicsList.addClass(\"has-results\"), this.$topicsList.show();\n        }, this.getSocialContext = function(a) {\n            return _(\"Trending in {{location}}\", {\n                JSBNG__location: a.JSBNG__location\n            });\n        }, this.clearTopics = function(a) {\n            this.$topicsList.removeClass(\"has-results\"), this.$topicsList.hide();\n        }, this.after(\"initialize\", function() {\n            this.$topicsItemTemplate = this.select(\"topicsItemSelector\").clone(!1), ((this.attr.includeSearchGlass || this.$topicsItemTemplate.JSBNG__find(\"i.generic-search\").remove())), this.$topicsList = this.select(\"topicsListSelector\"), this.$topicsList.hide(), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderTopics);\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(topicsRenderer);\n});\ndefine(\"app/ui/typeahead/trend_locations_renderer\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",], function(module, require, exports) {\n    function trendLocationsRenderer() {\n        this.defaultAttrs({\n            typeaheadItemClass: \"typeahead-item\",\n            trendLocationsListSelector: \".typeahead-trend-locations-list\",\n            trendLocationsItemSelector: \".typeahead-trend-locations-item\",\n            datasources: [\"trendLocations\",]\n        }), this.renderTrendLocations = function(a, b) {\n            this.$trendLocationsList.empty();\n            var c = [];\n            this.attr.datasources.forEach(function(a) {\n                c = c.concat(((b.suggestions[a] || [])));\n            }), c.forEach(function(a) {\n                var b = this.$trendLocationItemTemplate.clone(!1), c = b.JSBNG__find(\"a\");\n                b.data(\"JSBNG__item\", a), c.attr(\"data-search-query\", a.JSBNG__name), c.attr(\"href\", \"#\"), c.append(this.getLocationHtml(a)), ((((a.woeid == -1)) && (b.removeClass(this.attr.typeaheadItemClass), c.attr(\"data-search-query\", \"\")))), b.appendTo(this.$trendLocationsList);\n            }, this);\n        }, this.getLocationHtml = function(a) {\n            var b = $(\"\\u003Cspan\\u003E\");\n            switch (a.placeTypeCode) {\n              case placeTypeMapping.WORLDWIDE:\n            \n              case placeTypeMapping.NOT_FOUND:\n                b.text(a.JSBNG__name);\n                break;\n              case placeTypeMapping.COUNTRY:\n                b.html(((((a.JSBNG__name + \"  \")) + _(\"(All cities)\"))));\n                break;\n              default:\n                b.text([a.JSBNG__name,a.countryName,].join(\", \"));\n            };\n        ;\n            return b;\n        }, this.after(\"initialize\", function() {\n            this.$trendLocationItemTemplate = this.select(\"trendLocationsItemSelector\").clone(!1), this.$trendLocationsList = this.select(\"trendLocationsListSelector\"), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderTrendLocations);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(trendLocationsRenderer);\n    var placeTypeMapping = {\n        WORLDWIDE: 19,\n        COUNTRY: 12,\n        CITY: 7,\n        NOT_FOUND: -1\n    };\n});\ndefine(\"app/ui/typeahead/context_helpers_renderer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function contextHelpersRenderer() {\n        this.defaultAttrs({\n            contextListSelector: \".typeahead-context-list\",\n            contextItemSelector: \".typeahead-context-item\",\n            datasources: [\"contextHelpers\",]\n        }), this.renderContexts = function(a, b) {\n            this.$contextItemsList.empty();\n            var c = this.attr.datasources.map(function(a) {\n                return ((b.suggestions[a] || []));\n            }).reduce(function(a, b) {\n                return a.concat(b);\n            });\n            if (((c.length == 0))) {\n                this.clearList();\n                return;\n            }\n        ;\n        ;\n            c.forEach(function(a) {\n                var b = this.$contextItemTemplate.clone(!1);\n                b.data(\"JSBNG__item\", a);\n                var c = b.JSBNG__find(\"a\"), d = ((((\"/search?q=\" + encodeURIComponent(((a.rewrittenQuery || a.query))))) + \"&src=tyah\"));\n                ((a.mode && (d += ((\"&mode=\" + a.mode))))), c.attr(\"href\", d), c.attr(\"data-search-query\", a.query);\n                var e = a.text.replace(\"{{strong_query}}\", \"\\u003Cstrong\\u003E\\u003C/strong\\u003E\");\n                c.html(e), c.JSBNG__find(\"strong\").text(a.query), this.$contextItemsList.append(b);\n            }, this), this.$contextItemsList.addClass(\"has-results\"), this.$contextItemsList.show();\n        }, this.clearList = function(a) {\n            this.$contextItemsList.removeClass(\"has-results\"), this.$contextItemsList.hide();\n        }, this.after(\"initialize\", function() {\n            this.$contextItemsList = this.select(\"contextListSelector\"), this.$contextItemTemplate = this.select(\"contextItemSelector\").clone(!1), this.JSBNG__on(\"uiTypeaheadRenderResults\", this.renderContexts);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(contextHelpersRenderer);\n});\ndefine(\"app/utils/rtl_text\", [\"module\",\"require\",\"exports\",\"lib/twitter-text\",], function(module, require, exports) {\n    var TwitterText = require(\"lib/twitter-text\"), RTLText = function() {\n        function q(a) {\n            try {\n                return ((JSBNG__document.activeElement === a));\n            } catch (b) {\n                return !1;\n            };\n        ;\n        };\n    ;\n        function r(a) {\n            if (!q(a)) {\n                return 0;\n            }\n        ;\n        ;\n            var b;\n            if (((typeof a.selectionStart == \"number\"))) {\n                return a.selectionStart;\n            }\n        ;\n        ;\n            if (JSBNG__document.selection) {\n                a.JSBNG__focus(), b = JSBNG__document.selection.createRange(), b.moveStart(\"character\", -a.value.length);\n                var c = b.text.length;\n                return c;\n            }\n        ;\n        ;\n        };\n    ;\n        function s(a, b) {\n            if (!q(a)) {\n                return;\n            }\n        ;\n        ;\n            if (((typeof a.selectionStart == \"number\"))) {\n                a.selectionStart = b, a.selectionEnd = b;\n            }\n             else {\n                if (JSBNG__document.selection) {\n                    var c = a.createTextRange();\n                    c.collapse(!0), c.moveEnd(\"character\", b), c.moveStart(\"character\", b), c.select();\n                }\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function t(a, b, c) {\n            var d = 0, e = \"\", f = b(a);\n            for (var g = 0; ((g < f.length)); g++) {\n                var h = f[g], i = \"\";\n                ((h.screenName && (i = \"screenName\"))), ((h.hashtag && (i = \"hashtag\"))), ((h.url && (i = \"url\"))), ((h.cashtag && (i = \"cashtag\")));\n                var j = {\n                    entityText: a.slice(h.indices[0], h.indices[1]),\n                    entityType: i\n                };\n                e += ((a.slice(d, h.indices[0]) + c(j))), d = h.indices[1];\n            };\n        ;\n            return ((e + a.slice(d, a.length)));\n        };\n    ;\n        function u(a) {\n            var b = a.match(c), d = a;\n            if (((b || ((l === \"rtl\"))))) {\n                d = t(d, TwitterText.extractEntitiesWithIndices, function(a) {\n                    if (((a.entityType === \"screenName\"))) {\n                        return ((((e + a.entityText)) + f));\n                    }\n                ;\n                ;\n                    if (((a.entityType === \"hashtag\"))) {\n                        return ((a.entityText.charAt(1).match(c) ? a.entityText : ((e + a.entityText))));\n                    }\n                ;\n                ;\n                    if (((a.entityType === \"url\"))) {\n                        return ((a.entityText + e));\n                    }\n                ;\n                ;\n                    if (((a.entityType === \"cashtag\"))) {\n                        return ((e + a.entityText));\n                    }\n                ;\n                ;\n                });\n            }\n        ;\n        ;\n            return d;\n        };\n    ;\n        function v(a) {\n            var b, c = ((a.target ? a.target : a.srcElement)), e = ((a.which ? a.which : a.keyCode));\n            if (((e === g.BACKSPACE))) b = -1;\n             else {\n                if (((e !== g.DELETE))) {\n                    return;\n                }\n            ;\n            ;\n                b = 0;\n            }\n        ;\n        ;\n            var f = r(c), h = c.value, i = 0, j;\n            do j = ((h.charAt(((f + b))) || \"\")), ((j && (f += b, i++, h = ((h.slice(0, f) + h.slice(((f + 1)), h.length)))))); while (j.match(d));\n            ((((i > 1)) && (c.value = h, s(c, f), ((a.preventDefault ? a.preventDefault() : a.returnValue = !1)))));\n        };\n    ;\n        function w(a) {\n            return a.replace(d, \"\");\n        };\n    ;\n        function x(a) {\n            var d = a.match(c);\n            a = a.replace(k, \"\");\n            var e = 0, f = a.replace(m, \"\"), g = l;\n            if (((!f || !f.replace(/#/g, \"\")))) {\n                return ((((g === \"rtl\")) ? !0 : !1));\n            }\n        ;\n        ;\n            if (!d) {\n                return !1;\n            }\n        ;\n        ;\n            if (a) {\n                var h = TwitterText.extractMentionsWithIndices(a), i = h.length, j;\n                for (j = 0; ((j < i)); j++) {\n                    e += ((h[j].screenName.length + 1));\n                ;\n                };\n            ;\n                var n = TwitterText.extractUrlsWithIndices(a), o = n.length;\n                for (j = 0; ((j < o)); j++) {\n                    e += ((n[j].url.length + 2));\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            var p = ((f.length - e));\n            return ((((p > 0)) && ((((d.length / p)) > b))));\n        };\n    ;\n        function y(a) {\n            var b = ((a.target || a.srcElement));\n            ((((((a.type !== \"keydown\")) || ((((((((a.keyCode !== 91)) && ((a.keyCode !== 16)))) && ((a.keyCode !== 88)))) && ((a.keyCode !== 17)))))) ? ((((((a.type === \"keyup\")) && ((((((((a.keyCode === 91)) || ((a.keyCode === 16)))) || ((a.keyCode === 88)))) || ((a.keyCode === 17)))))) && (o[String(a.keyCode)] = !1))) : o[String(a.keyCode)] = !0)), ((((((((((!p && o[91])) || ((p && o[17])))) && o[16])) && o[88])) && (n = !0, ((((b.dir === \"rtl\")) ? z(\"ltr\", b) : z(\"rtl\", b))), o = {\n                91: !1,\n                16: !1,\n                88: !1,\n                17: !1\n            })));\n        };\n    ;\n        function z(a, b) {\n            b.setAttribute(\"dir\", a), b.style.direction = a, b.style.textAlign = ((((a === \"rtl\")) ? \"right\" : \"left\"));\n        };\n    ;\n        \"use strict\";\n        var a = {\n        }, b = 92708, c = /[\\u0590-\\u083F]|[\\u08A0-\\u08FF]|[\\uFB1D-\\uFDFF]|[\\uFE70-\\uFEFF]/gm, d = /\\u200e|\\u200f/gm, e = \"\\u200e\", f = \"\\u200f\", g = {\n            BACKSPACE: 8,\n            DELETE: 46\n        }, h = 0, i = 20, j = !1, k = \"\", l = \"\", m = /^\\s+|\\s+$/g, n = !1, o = {\n            91: !1,\n            16: !1,\n            88: !1,\n            17: !1\n        }, p = ((JSBNG__navigator.userAgent.indexOf(\"Mac\") === -1));\n        return a.onTextChange = function(b) {\n            var c = ((b || window.JSBNG__event));\n            y(b), ((((c.type === \"keydown\")) && v(c))), a.setText(((c.target || c.srcElement)));\n        }, a.setText = function(a) {\n            ((l || ((a.style.direction ? l = a.style.direction : ((a.dir ? l = a.dir : ((JSBNG__document.body.style.direction ? l = JSBNG__document.body.style.direction : l = JSBNG__document.body.dir)))))))), ((((arguments.length === 2)) && (l = a.ownerDocument.documentElement.className, k = arguments[1])));\n            var b = a.value;\n            if (!b) {\n                return;\n            }\n        ;\n        ;\n            var c = w(b);\n            j = x(c);\n            var d = u(c), e = ((j ? \"rtl\" : \"ltr\"));\n            ((((d !== b)) && (a.value = d, s(a, ((((r(a) + d.length)) - c.length)))))), ((n || z(e, a)));\n        }, a.textLength = function(a) {\n            var b = w(a), c = TwitterText.extractUrls(b), d = ((b.length - c.join(\"\").length)), e = c.length;\n            for (var f = 0; ((f < e)); f++) {\n                d += i, ((/^https:/.test(c[f]) && (d += 1)));\n            ;\n            };\n        ;\n            return h = d;\n        }, a.cleanText = function(a) {\n            return w(a);\n        }, a.addRTLMarkers = function(a) {\n            return u(a);\n        }, a.shouldBeRTL = function(a) {\n            return x(a);\n        }, a;\n    }();\n    ((((((typeof module != \"undefined\")) && module.exports)) && (module.exports = RTLText)));\n});\ndefine(\"app/ui/typeahead/typeahead_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/typeahead/accounts_renderer\",\"app/ui/typeahead/saved_searches_renderer\",\"app/ui/typeahead/recent_searches_renderer\",\"app/ui/typeahead/topics_renderer\",\"app/ui/typeahead/trend_locations_renderer\",\"app/ui/typeahead/context_helpers_renderer\",\"app/utils/rtl_text\",], function(module, require, exports) {\n    function typeaheadDropdown() {\n        this.defaultAttrs({\n            inputSelector: \"#search-query\",\n            dropdownSelector: \".dropdown-menu.typeahead\",\n            itemsSelector: \".typeahead-items li\",\n            blockLinkActions: !1,\n            deciders: {\n                showDebugInfo: !1,\n                showSocialContext: !1,\n                showTypeaheadTopicSocialContext: !1\n            },\n            autocompleteAccounts: !0,\n            datasourceRenders: [[\"contextHelpers\",[\"contextHelpers\",],],[\"savedSearches\",[\"savedSearches\",],],[\"recentSearches\",[\"recentSearches\",],],[\"topics\",[\"topics\",],],[\"accounts\",[\"accounts\",],],],\n            datasourceOptions: {\n            },\n            templateContainerSelector: \".dropdown-inner\",\n            recentSearchesListSelector: \".typeahead-recent-searches\",\n            savedSearchesListSelector: \".typeahead-saved-searches\",\n            topicsListSelector: \".typeahead-topics\",\n            accountsListSelector: \".js-typeahead-accounts\",\n            trendLocationsListSelector: \".typeahead-trend-locations-list\",\n            contextListSelector: \".typeahead-context-list\"\n        }), this.mouseOver = function(a, b) {\n            this.select(\"itemsSelector\").removeClass(\"selected\"), $(b.el).addClass(\"selected\");\n        }, this.moveSelection = function(a) {\n            var b = this.select(\"itemsSelector\").filter(\":visible\"), c = b.filter(\".selected\");\n            c.removeClass(\"selected\");\n            var d = ((b.index(c) + a));\n            d = ((((((d + 1)) % ((b.length + 1)))) - 1));\n            if (((d === -1))) {\n                this.trigger(\"uiTypeaheadSelectionCleared\");\n                return;\n            }\n        ;\n        ;\n            ((((d < -1)) && (d = ((b.length - 1))))), b.eq(d).addClass(\"selected\");\n        }, this.moveSelectionUp = function(a) {\n            this.moveSelection(-1);\n        }, this.moveSelectionDown = function(a) {\n            this.moveSelection(1);\n        }, this.dropdownIsOpen = function() {\n            if (((((window.DEBUG && window.DEBUG.enabled)) && ((this.openState !== this.$dropdown.is(\":visible\")))))) {\n                throw new Error(\"Dropdown markup and internal openState variable are out of sync.\");\n            }\n        ;\n        ;\n            return this.openState;\n        }, this.show = function() {\n            this.$dropdown.show(), this.openState = !0, this.trigger(\"uiTypeaheadResultsShown\");\n        }, this.hide = function(a) {\n            if (this.mouseIsOverDropdown) {\n                return;\n            }\n        ;\n        ;\n            if (!this.dropdownIsOpen()) {\n                return;\n            }\n        ;\n        ;\n            this.$dropdown.hide(), this.openState = !1, this.trigger(\"uiTypeaheadResultsHidden\");\n        }, this.hideAndManageEsc = function(a) {\n            if (!this.dropdownIsOpen()) {\n                return;\n            }\n        ;\n        ;\n            this.forceHide(), a.preventDefault(), a.stopPropagation();\n        }, this.forceHide = function() {\n            this.clearMouseTracking(), this.hide();\n        }, this.inputValueUpdated = function(a, b) {\n            this.lastQuery = b.value;\n            var c = utils.merge(this.attr.datasourceOptions, {\n                query: b.value,\n                tweetContext: b.tweetContext\n            });\n            this.trigger(\"uiNeedsTypeaheadSuggestions\", {\n                datasources: this.datasources,\n                queryData: c,\n                id: this.getDropdownId()\n            });\n        }, this.getDropdownId = function() {\n            return ((this.dropdownId || (this.dropdownId = ((\"swift_typeahead_dropdown_\" + Math.floor(((Math.JSBNG__random() * 1000000)))))))), this.dropdownId;\n        }, this.checkIfSelectionFromSearchInput = function(a) {\n            return a.closest(\"form\").JSBNG__find(\"input\").hasClass(\"search-input\");\n        }, this.triggerSelectionEvent = function(a, b) {\n            ((this.attr.blockLinkActions && a.preventDefault()));\n            var c = this.select(\"itemsSelector\"), d = c.filter(\".selected\").first(), e = d.JSBNG__find(\"a\"), f = d.index(), g = this.lastQuery, h = e.attr(\"data-search-query\");\n            d.removeClass(\"selected\");\n            if (((!g && !h))) {\n                return;\n            }\n        ;\n        ;\n            var i = this.getItemData(d);\n            this.trigger(\"uiTypeaheadItemSelected\", {\n                isSearchInput: this.checkIfSelectionFromSearchInput(e),\n                index: f,\n                source: e.data(\"ds\"),\n                query: h,\n                input: g,\n                display: ((d.data(\"user-screenname\") || h)),\n                href: e.attr(\"href\"),\n                isClick: ((a.originalEvent ? ((a.originalEvent.type === \"click\")) : !1)),\n                JSBNG__item: i\n            }), this.forceHide();\n        }, this.getItemData = function(a) {\n            return a.data(\"JSBNG__item\");\n        }, this.submitQuery = function(a, b) {\n            var c = this.select(\"itemsSelector\").filter(\".selected\").first();\n            if (c.length) {\n                this.triggerSelectionEvent(a, b);\n                return;\n            }\n        ;\n        ;\n            var d = this.$input.val();\n            if (((d.trim() === \"\"))) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiTypeaheadSubmitQuery\", {\n                query: RTLText.cleanText(d)\n            }), this.forceHide();\n        }, this.getSelectedCompletion = function() {\n            var a = this.select(\"itemsSelector\").filter(\".selected\").first();\n            ((((!a.length && this.dropdownIsOpen())) && (a = this.select(\"itemsSelector\").filter(\".typeahead-item\").first())));\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            var b = a.JSBNG__find(\"a\"), c = b.data(\"search-query\"), d = this.select(\"itemsSelector\"), e = d.index(a), f = this.lastQuery;\n            if (((((((b.data(\"ds\") == \"account\")) || ((b.data(\"ds\") == \"context_helper\")))) && !this.attr.autocompleteAccounts))) {\n                return;\n            }\n        ;\n        ;\n            var g = this.getItemData(a);\n            this.trigger(\"uiTypeaheadItemPossiblyComplete\", {\n                value: c,\n                source: b.data(\"ds\"),\n                index: e,\n                query: c,\n                JSBNG__item: g,\n                display: ((a.data(\"user-screenname\") || c)),\n                input: f,\n                href: ((b.attr(\"href\") || \"\"))\n            });\n        }, this.updateDropdown = function(a, b) {\n            var c = this.$input.is(JSBNG__document.activeElement);\n            if (((((((b.id !== this.getDropdownId())) || ((b.queryData.query !== this.lastQuery)))) || !c))) {\n                return;\n            }\n        ;\n        ;\n            var d = this.select(\"itemsSelector\").filter(\".selected\").first(), e = d.JSBNG__find(\"a\").data(\"ds\"), f = d.JSBNG__find(\"a\").data(\"search-query\");\n            this.trigger(\"uiTypeaheadRenderResults\", b);\n            if (((e && f))) {\n                var g = this.select(\"itemsSelector\").JSBNG__find(((((((((\"[data-ds='\" + e)) + \"'][data-search-query='\")) + f)) + \"']\")));\n                g.closest(\"li\").addClass(\"selected\");\n            }\n        ;\n        ;\n            var h = this.datasources.some(function(a) {\n                return ((b.suggestions[a] && b.suggestions[a].length));\n            }), i = !!b.queryData.query;\n            ((((h && c)) ? (this.show(), this.trigger(\"uiTypeaheadSetPreventDefault\", {\n                preventDefault: i,\n                key: 9\n            }), this.trigger(\"uiTypeaheadResultsShown\")) : (this.forceHide(), this.trigger(\"uiTypeaheadSetPreventDefault\", {\n                preventDefault: !1,\n                key: 9\n            }), this.trigger(\"uiTypeaheadResultsHidden\"))));\n        }, this.trackMouse = function(a, b) {\n            this.mouseIsOverDropdown = !0;\n        }, this.clearMouseTracking = function(a, b) {\n            this.mouseIsOverDropdown = !1;\n        }, this.resetTemplates = function() {\n            this.$templateContainer.empty(), this.$templateContainer.append(this.$savedSearchesTemplate), this.$templateContainer.append(this.$recentSearchesTemplate), this.$templateContainer.append(this.$topicsTemplate), this.$templateContainer.append(this.$accountsTemplate), this.$templateContainer.append(this.$trendLocationsTemplate), this.$templateContainer.append(this.$contextHelperTemplate);\n        }, this.addRenderer = function(a, b, c) {\n            c = utils.merge(c, {\n                datasources: b\n            });\n            var d = ((\"block\" + this.blockCount++));\n            ((((a == \"accounts\")) ? (this.$accountsTemplate.clone().addClass(d).appendTo(this.$templateContainer), AccountsRenderer.attachTo(this.$node, utils.merge(c, {\n                accountsListSelector: ((((this.attr.accountsListSelector + \".\")) + d))\n            }))) : ((((a == \"topics\")) ? (this.$topicsTemplate.clone().addClass(d).appendTo(this.$templateContainer), TopicsRenderer.attachTo(this.$node, utils.merge(c, {\n                topicsListSelector: ((((this.attr.topicsListSelector + \".\")) + d))\n            }))) : ((((a == \"savedSearches\")) ? (this.$savedSearchesTemplate.clone().addClass(d).appendTo(this.$templateContainer), SavedSearchesRenderer.attachTo(this.$node, utils.merge(c, {\n                savedSearchesListSelector: ((((this.attr.savedSearchesListSelector + \".\")) + d))\n            }))) : ((((a == \"recentSearches\")) ? (this.$recentSearchesTemplate.clone().addClass(d).appendTo(this.$templateContainer), RecentSearchesRenderer.attachTo(this.$node, utils.merge(c, {\n                recentSearchesListSelector: ((((this.attr.recentSearchesListSelector + \".\")) + d))\n            }))) : ((((a == \"trendLocations\")) ? (this.$trendLocationsTemplate.clone().addClass(d).appendTo(this.$templateContainer), TrendLocationsRenderer.attachTo(this.$node, utils.merge(c, {\n                trendLocationsListSelector: ((((this.attr.trendLocationsListSelector + \".\")) + d))\n            }))) : ((((a == \"contextHelpers\")) && (this.$contextHelperTemplate.clone().addClass(d).appendTo(this.$templateContainer), ContextHelpersRenderer.attachTo(this.$node, utils.merge(c, {\n                contextListSelector: ((((this.attr.contextListSelector + \".\")) + d))\n            })))))))))))))));\n        }, this.after(\"initialize\", function(a) {\n            this.openState = !1, this.$input = this.select(\"inputSelector\"), this.$dropdown = this.select(\"dropdownSelector\"), this.$templateContainer = this.select(\"templateContainerSelector\"), this.$accountsTemplate = this.select(\"accountsListSelector\").clone(!1), this.$savedSearchesTemplate = this.select(\"savedSearchesListSelector\").clone(!1), this.$recentSearchesTemplate = this.select(\"recentSearchesListSelector\").clone(!1), this.$topicsTemplate = this.select(\"topicsListSelector\").clone(!1), this.$trendLocationsTemplate = this.select(\"trendLocationsListSelector\").clone(!1), this.$contextHelperTemplate = this.select(\"contextListSelector\").clone(!1), this.$templateContainer.empty(), this.datasources = [], this.attr.datasourceRenders.forEach(function(a) {\n                this.datasources = this.datasources.concat(a[1]);\n            }, this), this.datasources = utils.uniqueArray(this.datasources), this.blockCount = 0, this.attr.datasourceRenders.forEach(function(b) {\n                this.addRenderer(b[0], b[1], a);\n            }, this), this.JSBNG__on(this.$input, \"JSBNG__blur\", this.hide), this.JSBNG__on(this.$input, \"uiTypeaheadInputSubmit\", this.submitQuery), this.JSBNG__on(this.$input, \"uiTypeaheadInputChanged\", this.inputValueUpdated), this.JSBNG__on(this.$input, \"uiTypeaheadInputMoveUp\", this.moveSelectionUp), this.JSBNG__on(this.$input, \"uiTypeaheadInputMoveDown\", this.moveSelectionDown), this.JSBNG__on(this.$input, \"uiTypeaheadInputAutocomplete\", this.getSelectedCompletion), this.JSBNG__on(this.$input, \"uiTypeaheadInputTab\", this.clearMouseTracking), this.JSBNG__on(this.$input, \"uiShortcutEsc\", this.hideAndManageEsc), this.JSBNG__on(this.$dropdown, \"mouseenter\", this.trackMouse), this.JSBNG__on(this.$dropdown, \"mouseleave\", this.clearMouseTracking), this.JSBNG__on(JSBNG__document, \"dataTypeaheadSuggestionsResults\", this.updateDropdown), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.forceHide), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.resetTemplates), this.JSBNG__on(\"mouseover\", {\n                itemsSelector: this.mouseOver\n            }), this.JSBNG__on(\"click\", {\n                itemsSelector: this.triggerSelectionEvent\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), AccountsRenderer = require(\"app/ui/typeahead/accounts_renderer\"), SavedSearchesRenderer = require(\"app/ui/typeahead/saved_searches_renderer\"), RecentSearchesRenderer = require(\"app/ui/typeahead/recent_searches_renderer\"), TopicsRenderer = require(\"app/ui/typeahead/topics_renderer\"), TrendLocationsRenderer = require(\"app/ui/typeahead/trend_locations_renderer\"), ContextHelpersRenderer = require(\"app/ui/typeahead/context_helpers_renderer\"), RTLText = require(\"app/utils/rtl_text\");\n    module.exports = defineComponent(typeaheadDropdown);\n});\ndefine(\"app/utils/event_support\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var supportedEvents = {\n    }, checkEventsSupport = function(a, b) {\n        return a.forEach(function(a) {\n            checkEventSupported(a, b[a]);\n        }, this), supportedEvents;\n    }, checkEventSupported = function(a, b) {\n        var c = JSBNG__document.createElement(((b || \"div\"))), d = ((\"JSBNG__on\" + a)), e = ((d in c));\n        return ((e || (c.setAttribute(d, \"return;\"), e = ((typeof c[d] == \"function\"))))), c = null, supportedEvents[a] = e, e;\n    }, eventSupport = {\n        checkEvents: function(a, b) {\n            checkEventsSupport(a, ((b || {\n            })));\n        },\n        browserSupports: function(a, b) {\n            return ((((supportedEvents[a] === undefined)) && checkEventSupported(a, b))), supportedEvents[a];\n        }\n    };\n    module.exports = eventSupport;\n});\nprovide(\"app/utils/string\", function(a) {\n    function b(a) {\n        var b = a.charCodeAt(0);\n        return ((((b <= 32)) ? !0 : !1));\n    };\n;\n    function c(a, b) {\n        if (((a == \"\"))) {\n            return \"\";\n        }\n    ;\n    ;\n        var d = a.split(\"\"), e = d.pop();\n        return a = d.join(\"\"), ((((e == \"0\")) ? ((c(a, !0) + \"9\")) : (e -= 1, ((((((a == \"\")) && ((e == 0)))) ? ((b ? \"\" : \"0\")) : ((a + e)))))));\n    };\n;\n    function d(a) {\n        var b = a.charCodeAt(0);\n        return ((((((b >= 48)) && ((b <= 57)))) ? !0 : !1));\n    };\n;\n    function e(a, b) {\n        var c = 0, e = 0, f = 0, g, h;\n        for (; ; e++, f++) {\n            g = a.charAt(e), h = b.charAt(f);\n            if (((!d(g) && !d(h)))) {\n                return c;\n            }\n        ;\n        ;\n            if (!d(g)) {\n                return -1;\n            }\n        ;\n        ;\n            if (!d(h)) {\n                return 1;\n            }\n        ;\n        ;\n            ((((g < h)) ? ((((c === 0)) && (c = -1))) : ((((((g > h)) && ((c === 0)))) && (c = 1)))));\n        };\n    ;\n    };\n;\n    var f = {\n        compare: function(a, c) {\n            var f = 0, g = 0, h, i, j, k, l;\n            if (((a === c))) {\n                return 0;\n            }\n        ;\n        ;\n            ((((typeof a == \"number\")) && (a = a.toString()))), ((((typeof c == \"number\")) && (c = c.toString())));\n            for (; ; ) {\n                if (((f > 100))) {\n                    return;\n                }\n            ;\n            ;\n                h = i = 0, j = a.charAt(f), k = c.charAt(g);\n                while (((b(j) || ((j == \"0\"))))) {\n                    ((((j == \"0\")) ? h++ : h = 0)), j = a.charAt(++f);\n                ;\n                };\n            ;\n                while (((b(k) || ((k == \"0\"))))) {\n                    ((((k == \"0\")) ? i++ : i = 0)), k = c.charAt(++g);\n                ;\n                };\n            ;\n                if (((((d(j) && d(k))) && (((l = e(a.substring(f), c.substring(g))) != 0))))) {\n                    return l;\n                }\n            ;\n            ;\n                if (((((j == 0)) && ((k == 0))))) {\n                    return ((h - i));\n                }\n            ;\n            ;\n                if (((j < k))) {\n                    return -1;\n                }\n            ;\n            ;\n                if (((j > k))) {\n                    return 1;\n                }\n            ;\n            ;\n                ++f, ++g;\n            };\n        ;\n        },\n        wordAtPosition: function(a, b, c) {\n            c = ((c || /[^\\s]+/g));\n            var d = null;\n            return a.replace(c, function() {\n                var a = arguments[0], c = arguments[((arguments.length - 2))];\n                ((((((c <= b)) && ((((c + a.length)) >= b)))) && (d = a)));\n            }), d;\n        },\n        parseBigInt: function(a) {\n            return ((isNaN(Number(a)) ? NaN : a.toString()));\n        },\n        subtractOne: c\n    };\n    a(f);\n});\ndefine(\"app/ui/typeahead/typeahead_input\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/caret\",\"app/utils/event_support\",\"app/utils/string\",\"lib/twitter-text\",\"app/utils/rtl_text\",], function(module, require, exports) {\n    function typeaheadInput() {\n        this.realNameRegexp = /([A-Z][\\w]*\\s[A-Z][\\w]*)|([A-Z][\\w]{3,})/g, this.defaultAttrs({\n            inputSelector: \"#search-query\",\n            buttonSelector: \".nav-search\",\n            completeAllEntities: !1,\n            includeTweetContext: !1,\n            tweetContextEnabled: !1,\n            allowAccountsWithoutAtSign: !1\n        }), this.getDefaultKeycodes = function() {\n            var a = {\n                13: {\n                    JSBNG__name: \"ENTER\",\n                    JSBNG__event: \"uiTypeaheadInputSubmit\",\n                    JSBNG__on: \"keypress\",\n                    preventDefault: !0,\n                    enabled: !0\n                },\n                9: {\n                    JSBNG__name: \"TAB\",\n                    JSBNG__event: \"uiTypeaheadInputTab\",\n                    JSBNG__on: \"keydown\",\n                    preventDefault: !0,\n                    canCauseComplete: !0,\n                    enabled: !0\n                },\n                37: {\n                    JSBNG__name: \"LEFT\",\n                    JSBNG__event: \"uiTypeaheadInputLeft\",\n                    JSBNG__on: \"keydown\",\n                    canCauseComplete: !0,\n                    enabled: !0\n                },\n                39: {\n                    JSBNG__name: \"RIGHT\",\n                    JSBNG__event: \"uiTypeaheadInputRight\",\n                    JSBNG__on: \"keydown\",\n                    canCauseComplete: !0,\n                    enabled: !0\n                },\n                38: {\n                    JSBNG__name: \"UP\",\n                    JSBNG__event: \"uiTypeaheadInputMoveUp\",\n                    JSBNG__on: \"keydown\",\n                    preventDefault: !0,\n                    enabled: !0\n                },\n                40: {\n                    JSBNG__name: \"DOWN\",\n                    JSBNG__event: \"uiTypeaheadInputMoveDown\",\n                    JSBNG__on: \"keydown\",\n                    preventDefault: !0,\n                    enabled: !0\n                }\n            };\n            return a;\n        }, this.setPreventKeyDefault = function(a, b) {\n            this.KEY_CODE_MAP[b.key].preventDefault = b.preventDefault;\n        }, this.toggleTextareaActions = function(a) {\n            this.KEY_CODE_MAP[13].enabled = a, this.KEY_CODE_MAP[38].enabled = a, this.KEY_CODE_MAP[40].enabled = a;\n        }, this.enableTextareaActionWatching = function() {\n            this.toggleTextareaActions(!0);\n        }, this.disableTextareaActionWatching = function() {\n            this.toggleTextareaActions(!1);\n        }, this.clearCurrentQuery = function(a) {\n            this.currentQuery = null;\n        }, this.focusInput = function(a) {\n            this.$input.JSBNG__focus();\n        }, this.click = function(a) {\n            this.updateCaretPosition();\n        }, this.updateCaretPosition = function() {\n            ((this.richTextareaMode || this.trigger(this.$input, \"uiTextChanged\", {\n                text: this.$input.val(),\n                position: caret.getPosition(this.$input[0])\n            })));\n        }, this.modifierKeyPressed = function(a) {\n            var b = this.KEY_CODE_MAP[((a.which || a.keyCode))], c = ((((((a.type == \"keydown\")) && ((a.which == 16)))) || ((((a.type == \"keyup\")) && ((a.which == 16))))));\n            if (((b && b.enabled))) {\n                if (((a.type !== b.JSBNG__on))) {\n                    return;\n                }\n            ;\n            ;\n                if (((((b.JSBNG__name == \"TAB\")) && a.shiftKey))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.releaseTabKey && ((b.JSBNG__name == \"TAB\"))))) {\n                    return;\n                }\n            ;\n            ;\n                ((b.preventDefault && a.preventDefault())), this.trigger(this.$input, b.JSBNG__event), ((((b.canCauseComplete && this.isValidCompletionAction(b.JSBNG__event))) && (((this.textareaMode || (this.releaseTabKey = !0))), this.trigger(this.$input, \"uiTypeaheadInputAutocomplete\")))), this.updateCaretPosition();\n            }\n             else {\n                if (((a.keyCode == 27))) {\n                    return;\n                }\n            ;\n            ;\n                ((c || (this.releaseTabKey = !1))), ((this.supportsInputEvent || this.handleInputChange(a)));\n            }\n        ;\n        ;\n        }, this.handleInputChange = function(a) {\n            ((this.richTextareaMode || (RTLText.onTextChange(a), this.trigger(this.$input, \"uiTextChanged\", {\n                text: this.$input.val(),\n                position: caret.getPosition(this.$input[0])\n            }))));\n        }, this.getCurrentWord = function() {\n            var a;\n            if (this.textareaMode) {\n                var b = twitterText.extractEntitiesWithIndices(this.text);\n                b.forEach(function(b) {\n                    var c = ((b.screenName && !b.listSlug)), d = ((this.attr.completeAllEntities && ((b.cashtag || b.hashtag)))), e = ((((this.position > b.indices[0])) && ((this.position <= b.indices[1]))));\n                    ((((((c || d)) && e)) && (a = this.text.slice(b.indices[0], b.indices[1]))));\n                }, this), ((this.attr.allowAccountsWithoutAtSign && (a = ((a || stringUtils.wordAtPosition(this.text, this.position, this.realNameRegexp))))));\n            }\n             else a = ((((this.text.trim() == \"\")) ? \"\" : this.text));\n        ;\n        ;\n            return a;\n        }, this.completeInput = function(a, b) {\n            var c = ((b.value || b.query)), d = ((((c !== this.currentQuery)) && ((((b.source != \"account\")) || ((b.JSBNG__item.screen_name !== this.currentQuery))))));\n            if (!d) {\n                return;\n            }\n        ;\n        ;\n            var e = c;\n            ((((b.source == \"account\")) && (e = ((((this.textareaMode ? \"@\" : \"\")) + b.JSBNG__item.screen_name)), this.currentQuery = b.JSBNG__item.screen_name)));\n            if (this.textareaMode) {\n                var f = this.replaceWordAtPosition(this.text, this.position, b.input, ((e + \" \")));\n                ((((!this.richTextareaMode || ((a.type == \"uiTypeaheadItemSelected\")))) && this.$input.JSBNG__focus())), this.$input.trigger(\"uiChangeTextAndPosition\", f);\n            }\n             else this.$input.val(e), ((((a.type != \"uiTypeaheadItemSelected\")) && (this.$input.JSBNG__focus(), this.setQuery(e))));\n        ;\n        ;\n            b.fromSelectionEvent = ((a.type == \"uiTypeaheadItemSelected\")), this.trigger(this.$input, \"uiTypeaheadItemComplete\", b);\n        }, this.replaceWordAtPosition = function(a, b, c, d) {\n            var e = null;\n            c = c.replace(UNSAFE_REGEX_CHARS, function(a) {\n                return ((\"\\\\\" + a));\n            });\n            var a = a.replace(new RegExp(((c + \"\\\\s?\")), \"g\"), function() {\n                var a = arguments[0], c = arguments[((arguments.length - 2))];\n                return ((((((c <= b)) && ((((c + a.length)) >= b)))) ? (e = ((c + d.length)), d) : a));\n            });\n            return {\n                text: a,\n                position: e\n            };\n        }, this.isValidCompletionAction = function(a) {\n            var b = ((this.$input.attr(\"dir\") === \"rtl\"));\n            return ((((!this.textareaMode || ((((a !== \"uiTypeaheadInputRight\")) && ((a !== \"uiTypeaheadInputLeft\")))))) ? ((((b && ((a === \"uiTypeaheadInputRight\")))) ? !1 : ((((!b && ((a === \"uiTypeaheadInputLeft\")))) ? !1 : ((((!this.text || ((((this.position != this.text.length)) && ((((a === \"uiTypeaheadInputRight\")) || ((b && ((a === \"uiTypeaheadInputLeft\")))))))))) ? !1 : !0)))))) : !1));\n        }, this.setQuery = function(a) {\n            var b;\n            a = ((a ? RTLText.cleanText(a) : \"\"));\n            if (((((this.currentQuery == null)) || ((this.currentQuery !== a))))) {\n                this.currentQuery = a, b = ((((a.length > 0)) ? 0 : -1)), this.$button.attr(\"tabIndex\", b);\n                var c = ((((this.attr.tweetContextEnabled && this.attr.includeTweetContext)) ? this.text : undefined));\n                this.trigger(this.$input, \"uiTypeaheadInputChanged\", {\n                    value: this.currentQuery,\n                    tweetContext: c\n                });\n            }\n        ;\n        ;\n        }, this.setRTLMarkers = function() {\n            RTLText.setText(this.$input.get(0));\n        }, this.clearInput = function() {\n            this.$input.val(\"\").JSBNG__blur(), this.$button.attr(\"tabIndex\", -1), this.releaseTabKey = !1;\n        }, this.saveTextAndPosition = function(a, b) {\n            if (((b.position == Number.MAX_VALUE))) {\n                return;\n            }\n        ;\n        ;\n            this.text = b.text, this.position = b.position;\n            var c = this.getCurrentWord();\n            this.setQuery(c);\n        }, this.after(\"initialize\", function() {\n            this.$input = this.select(\"inputSelector\"), this.textareaMode = !this.$input.is(\"input\"), this.richTextareaMode = this.$input.is(\".rich-editor\"), this.$button = this.select(\"buttonSelector\"), this.KEY_CODE_MAP = this.getDefaultKeycodes(), ((this.richTextareaMode && this.disableTextareaActionWatching())), this.supportsInputEvent = eventSupport.browserSupports(\"input\", \"input\"), this.$button.attr(\"tabIndex\", -1), this.JSBNG__on(this.$input, \"keyup keydown keypress paste\", this.modifierKeyPressed), this.JSBNG__on(this.$input, \"input\", this.handleInputChange), this.JSBNG__on(\"uiTypeaheadDeleteRecentSearch\", this.focusInput), this.JSBNG__on(this.$input, \"JSBNG__focus\", this.updateCaretPosition), this.JSBNG__on(\"uiTypeaheadSelectionCleared\", this.updateCaretPosition), ((this.$input.is(\":focus\") && this.updateCaretPosition())), this.JSBNG__on(this.$input, \"JSBNG__blur\", this.clearCurrentQuery), ((this.textareaMode && (this.JSBNG__on(this.$input, \"click\", this.click), this.JSBNG__on(\"uiTypeaheadResultsShown\", this.enableTextareaActionWatching), this.JSBNG__on(\"uiTypeaheadResultsHidden\", this.disableTextareaActionWatching)))), this.JSBNG__on(\"uiTextChanged\", this.saveTextAndPosition), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.clearInput), this.JSBNG__on(\"uiTypeaheadSetPreventDefault\", this.setPreventKeyDefault), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.setRTLMarkers), this.JSBNG__on(\"uiTypeaheadItemPossiblyComplete uiTypeaheadItemSelected\", this.completeInput);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), caret = require(\"app/utils/caret\"), eventSupport = require(\"app/utils/event_support\"), stringUtils = require(\"app/utils/string\"), twitterText = require(\"lib/twitter-text\"), RTLText = require(\"app/utils/rtl_text\");\n    module.exports = defineComponent(typeaheadInput);\n    var UNSAFE_REGEX_CHARS = /[[\\]\\\\*?(){}.+$^]/g;\n});\ndefine(\"app/ui/with_click_outside\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withClickOutside() {\n        this.onClickOutside = function(a, b) {\n            b = b.bind(this), this.clickOutsideHandler = function(c, d) {\n                var e = !0;\n                a.each(function() {\n                    if ($(c.target).closest(this).length) {\n                        return e = !1, !1;\n                    }\n                ;\n                ;\n                }), ((e && b(c, d)));\n            }, $(JSBNG__document).JSBNG__on(\"click\", this.clickOutsideHandler);\n        }, this.offClickOutside = function() {\n            ((this.clickOutsideHandler && ($(JSBNG__document).off(\"click\", this.clickOutsideHandler), this.clickOutsideHandler = null)));\n        }, this.before(\"teardown\", function() {\n            this.offClickOutside();\n        });\n    };\n;\n    module.exports = withClickOutside;\n});\ndefine(\"app/ui/geo_picker\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_click_outside\",\"core/utils\",], function(module, require, exports) {\n    function geoPicker() {\n        this.defaultAttrs({\n            buttonSelector: \"button.geo-picker-btn\",\n            placeIdSelector: \"input[name=place_id]\",\n            statusSelector: \"span.geo-status\",\n            dropdownContainerSelector: \"span.dropdown-container\",\n            dropdownSelector: \"ul.dropdown-menu\",\n            dropdownDisabledSelector: \"#geo-disabled-dropdown\",\n            enableButtonSelector: \"button.geo-turn-on\",\n            notNowButtonSelector: \"button.geo-not-now\",\n            dropdownEnabledSelector: \"#geo-enabled-dropdown\",\n            querySelector: \"li.geo-query-location input\",\n            geoSearchSelector: \"li.geo-query-location i\",\n            dropdownStatusSelector: \"li.geo-dropdown-status\",\n            searchResultsSelector: \"li.geo-search-result\",\n            placeResultsSelector: \"li.geo-place-result\",\n            changePlaceSelector: \"li[data-place-id]\",\n            turnOffButtonSelector: \"li.geo-turn-off-item\",\n            focusableSelector: \"li.geo-focusable\",\n            firstFocusableSelector: \"li.geo-focusable:first\",\n            focusedSelector: \"li.geo-focused\"\n        }), this.selectGeoAction = function(a) {\n            if (this.dropdownIsOpen()) {\n                this.hideDropdownAndRestoreFocus();\n                return;\n            }\n        ;\n        ;\n            switch (this.geoState.state) {\n              case \"disabled\":\n            \n              case \"enableIsUnavailable\":\n                this.trigger(\"uiGeoPickerOffer\");\n                break;\n              case \"locateIsUnavailable\":\n            \n              case \"enabledTurnedOn\":\n                this.requestGeoState();\n                break;\n              case \"enabledTurnedOff\":\n                this.turnOn();\n                break;\n              case \"changing\":\n            \n              case \"locating\":\n            \n              case \"located\":\n            \n              case \"locationUnknown\":\n            \n              case \"locateIsUnavailable\":\n                this.trigger(\"uiGeoPickerOpen\");\n            };\n        ;\n        }, this.dropdownIsOpen = function() {\n            return this.select(\"dropdownSelector\").is(\":visible\");\n        }, this.hideDropdown = function() {\n            this.offClickOutside(), this.select(\"dropdownSelector\").hide(), this.select(\"buttonSelector\").removeClass(\"open\");\n        }, this.captureActiveEl = function() {\n            this.activeEl = JSBNG__document.activeElement;\n        }, this.hideDropdownAndRestoreFocus = function() {\n            this.hideDropdown(), ((this.activeEl && (this.activeEl.JSBNG__focus(), this.activeEl = null)));\n        }, this.openDropdown = function(a, b) {\n            var c, d;\n            ((((a.type == \"uiGeoPickerOpen\")) ? (c = this.attr.dropdownEnabledSelector, d = 1) : (c = this.attr.dropdownDisabledSelector, d = 0))), this.captureActiveEl(), ((((d != this.dropdownState)) && (this.select(\"dropdownContainerSelector\").html($(c).html()), this.dropdownState = d)));\n            var e = this.select(\"dropdownSelector\");\n            this.showGeoState(), this.onClickOutside(e.add(this.select(\"buttonSelector\")), this.hideDropdown), this.lastQuery = \"\", this.geoQueryFieldChanged = !1, e.show();\n            var f = this.select(\"enableButtonSelector\");\n            ((f.length || (f = this.select(\"querySelector\")))), this.select(\"buttonSelector\").addClass(\"open\"), f.JSBNG__focus();\n        }, this.enable = function() {\n            this.hideDropdownAndRestoreFocus(), this.trigger(\"uiGeoPickerEnable\");\n        }, this.setFocus = function(a) {\n            var b = $(a.target);\n            this.select(\"focusedSelector\").not(b).removeClass(\"geo-focused\"), b.addClass(\"geo-focused\");\n        }, this.clearFocus = function(a) {\n            $(a.target).removeClass(\"geo-focused\");\n        }, this.turnOn = function() {\n            this.trigger(\"uiGeoPickerTurnOn\");\n        }, this.turnOff = function() {\n            this.hideDropdownAndRestoreFocus(), this.trigger(\"uiGeoPickerTurnOff\");\n        }, this.changePlace = function(a) {\n            var b = $(a.target), c = b.attr(\"data-place-id\");\n            this.hideDropdownAndRestoreFocus();\n            if (((!c || ((c === this.lastPlaceId))))) {\n                return;\n            }\n        ;\n        ;\n            var d = {\n                placeId: c,\n                scribeData: {\n                    item_names: [c,]\n                }\n            };\n            ((this.lastPlaceId && d.scribeData.item_names.push(this.lastPlaceId))), ((((b.hasClass(\"geo-search-result\") && this.lastQueryData)) && (d.scribeData.query = this.lastQueryData.query))), this.trigger(\"uiGeoPickerChange\", d);\n        }, this.updateState = function(a, b) {\n            this.geoState = b, this.showGeoState();\n        }, this.showGeoState = function() {\n            var a = \"\", b = \"\", c = !1, d = \"\", e = this.geoState;\n            switch (e.state) {\n              case \"enabling\":\n            \n              case \"locating\":\n                a = _(\"Getting location...\");\n                break;\n              case \"enableIsUnavailable\":\n            \n              case \"locateIsUnavailable\":\n                a = _(\"Location service unavailable\");\n                break;\n              case \"changing\":\n                a = _(\"Changing location...\");\n                break;\n              case \"locationUnknown\":\n                a = _(\"Unknown location\");\n                break;\n              case \"located\":\n                a = e.place_name, b = e.place_id, d = e.places_html, c = !0;\n            };\n        ;\n            this.$node.toggleClass(\"active\", c), this.select(\"statusSelector\").text(a), this.select(\"buttonSelector\").attr(\"title\", ((a || _(\"Add location\")))), this.select(\"placeResultsSelector\").add(this.select(\"searchResultsSelector\")).remove(), this.select(\"dropdownStatusSelector\").text(a).toggle(!c).after(d), this.select(\"placeIdSelector\").val(b), this.lastPlaceId = b;\n        }, this.requestGeoState = function() {\n            this.trigger(\"uiRequestGeoState\");\n        }, this.queryKeyDown = function(a) {\n            switch (a.which) {\n              case 38:\n                a.preventDefault(), this.moveFocus(-1);\n                break;\n              case 40:\n                a.preventDefault(), this.moveFocus(1);\n                break;\n              case 13:\n                a.preventDefault();\n                var b = this.select(\"focusedSelector\");\n                if (b.length) {\n                    a.stopPropagation(), b.trigger(\"uiGeoPickerSelect\");\n                    return;\n                }\n            ;\n            ;\n                this.searchExactMatch();\n            };\n        ;\n            this.searchAutocomplete();\n        }, this.onEsc = function(a) {\n            if (!this.dropdownIsOpen()) {\n                return;\n            }\n        ;\n        ;\n            a.preventDefault(), a.stopPropagation(), this.hideDropdownAndRestoreFocus();\n        }, this.searchIfQueryChanged = function(a) {\n            var b = ((this.select(\"querySelector\").val() || \"\"));\n            if (((a && ((this.lastQuery === b))))) {\n                return;\n            }\n        ;\n        ;\n            this.lastIsPrefix = a, this.lastQuery = b, this.select(\"dropdownStatusSelector\").text(_(\"Searching places...\")).show(), ((this.geoQueryFieldChanged || (this.geoQueryFieldChanged = !0, this.trigger(\"uiGeoPickerInteraction\")))), this.trigger(\"uiGeoPickerSearch\", {\n                placeId: this.lastPlaceId,\n                query: b,\n                isPrefix: a\n            });\n        }, this.searchExactMatch = function() {\n            this.searchIfQueryChanged(!1);\n        }, this.searchAutocomplete = function() {\n            JSBNG__setTimeout(function() {\n                this.searchIfQueryChanged(!0);\n            }.bind(this), 0);\n        }, this.moveFocus = function(a) {\n            var b = this.select(\"focusedSelector\"), c = this.select(\"focusableSelector\"), d = ((c.index(b) + a)), e = ((c.length - 1));\n            ((((d < 0)) ? d = e : ((((d > e)) && (d = 0))))), b.removeClass(\"geo-focused\"), c.eq(d).addClass(\"geo-focused\");\n        }, this.searchResults = function(a, b) {\n            var c = b.sourceEventData;\n            if (((((((!c || ((c.placeId !== this.lastPlaceId)))) || ((c.query !== this.select(\"querySelector\").val())))) || ((c.isPrefix && !this.lastIsPrefix))))) {\n                return;\n            }\n        ;\n        ;\n            this.lastQueryData = c, this.select(\"searchResultsSelector\").remove(), this.select(\"dropdownStatusSelector\").hide().after(b.html);\n        }, this.searchUnavailable = function(a, b) {\n            this.select(\"dropdownStatusSelector\").text(_(\"Location service unavailable\")).show();\n        }, this.preventFocusLoss = function(a) {\n            var b;\n            (((($.browser.msie && ((parseInt($.browser.version, 10) < 9)))) ? (b = $(JSBNG__document.activeElement), ((b.is(this.select(\"buttonSelector\")) ? this.captureActiveEl() : b.one(\"beforedeactivate\", function(a) {\n                a.preventDefault();\n            })))) : a.preventDefault()));\n        }, this.after(\"initialize\", function() {\n            utils.push(this.attr, {\n                eventData: {\n                    scribeContext: {\n                        element: \"geo_picker\"\n                    }\n                }\n            }, !1), this.geoState = {\n            }, this.JSBNG__on(this.attr.parent, \"uiPrepareTweetBox\", this.requestGeoState), this.JSBNG__on(JSBNG__document, \"dataGeoState\", this.updateState), this.JSBNG__on(JSBNG__document, \"dataGeoSearchResults\", this.searchResults), this.JSBNG__on(JSBNG__document, \"dataGeoSearchResultsUnavailable\", this.searchUnavailable), this.JSBNG__on(\"mousedown\", {\n                buttonSelector: this.preventFocusLoss\n            }), this.JSBNG__on(\"click\", {\n                buttonSelector: this.selectGeoAction,\n                enableButtonSelector: this.enable,\n                notNowButtonSelector: this.hideDropdownAndRestoreFocus,\n                turnOffButtonSelector: this.turnOff,\n                geoSearchSelector: this.searchExactMatch,\n                changePlaceSelector: this.changePlace\n            }), this.JSBNG__on(\"uiGeoPickerSelect\", {\n                turnOffButtonSelector: this.turnOff,\n                changePlaceSelector: this.changePlace\n            }), this.JSBNG__on(\"mouseover\", {\n                focusableSelector: this.setFocus\n            }), this.JSBNG__on(\"mouseout\", {\n                focusableSelector: this.clearFocus\n            }), this.JSBNG__on(\"keydown\", {\n                querySelector: this.queryKeyDown\n            }), this.JSBNG__on(\"uiShortcutEsc\", this.onEsc), this.JSBNG__on(\"change paste\", {\n                querySelector: this.searchAutocomplete\n            }), this.JSBNG__on(\"uiGeoPickerOpen uiGeoPickerOffer\", this.openDropdown);\n        }), this.before(\"teardown\", function() {\n            this.hideDropdown();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withClickOutside = require(\"app/ui/with_click_outside\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(geoPicker, withClickOutside);\n});\ndefine(\"app/ui/tweet_box_manager\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/ui/tweet_box\",\"app/ui/tweet_box_thumbnails\",\"app/ui/image_selector\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",\"app/ui/geo_picker\",\"core/utils\",\"core/component\",], function(module, require, exports) {\n    function tweetBoxManager() {\n        this.createTweetBoxAtTarget = function(a, b) {\n            this.createTweetBox(a.target, b);\n        }, this.createTweetBox = function(a, b) {\n            var c = $(a);\n            if (!((((b.eventData || {\n            })).scribeContext || {\n            })).component) {\n                throw new Error(\"Please specify scribing component for tweet box.\");\n            }\n        ;\n        ;\n            ((((c.JSBNG__find(\".geo-picker\").length > 0)) && GeoPicker.attachTo(c.JSBNG__find(\".geo-picker\"), utils.merge(b, {\n                parent: c\n            }, !0)))), TweetBox.attachTo(c, utils.merge({\n                eventParams: {\n                    type: \"Tweet\"\n                }\n            }, b)), ((((c.JSBNG__find(\".photo-selector\").length > 0)) && (TweetBoxThumbnails.attachTo(c.JSBNG__find(\".thumbnail-container\"), utils.merge(b, !0)), ImageSelector.attachTo(c.JSBNG__find(\".photo-selector\"), utils.merge(b, !0))))), TypeaheadInput.attachTo(c, utils.merge(b, {\n                inputSelector: \"div.rich-editor, textarea.tweet-box\",\n                completeAllEntities: ((this.attr.typeaheadData.hashtags && this.attr.typeaheadData.hashtags.enabled)),\n                includeTweetContext: !0,\n                allowAccountsWithoutAtSign: this.attr.typeaheadData.fullNameMatchingInCompose\n            })), TypeaheadDropdown.attachTo(c, utils.merge(b, {\n                inputSelector: \"div.rich-editor, textarea.tweet-box\",\n                blockLinkActions: !0,\n                includeSearchGlass: !1,\n                parseHashtags: !0,\n                datasourceRenders: [[\"accounts\",[\"accounts\",],],[\"topics\",[\"hashtags\",],],],\n                datasourceOptions: {\n                    accountsWithoutAtSignLocalOnly: !0,\n                    accountsWithoutAtSignRequiresFollow: this.attr.typeaheadData.fullNameMatchingInComposeRequiresFollow,\n                    topicsMustStartWithHashtag: !0\n                },\n                deciders: this.attr.typeaheadData\n            }));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiInitTweetbox\", this.createTweetBoxAtTarget);\n        });\n    };\n;\n    var utils = require(\"core/utils\"), TweetBox = require(\"app/ui/tweet_box\"), TweetBoxThumbnails = require(\"app/ui/tweet_box_thumbnails\"), ImageSelector = require(\"app/ui/image_selector\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\"), GeoPicker = require(\"app/ui/geo_picker\"), utils = require(\"core/utils\"), defineComponent = require(\"core/component\"), TweetBoxManager = defineComponent(tweetBoxManager);\n    module.exports = TweetBoxManager;\n});\ndefine(\"app/boot/tweet_boxes\", [\"module\",\"require\",\"exports\",\"app/data/geo\",\"app/data/tweet\",\"app/ui/tweet_dialog\",\"app/ui/new_tweet_button\",\"app/data/tweet_box_scribe\",\"app/ui/tweet_box_manager\",], function(module, require, exports) {\n    function initialize(a) {\n        GeoData.attachTo(JSBNG__document, a), TweetData.attachTo(JSBNG__document, a), TweetDialog.attachTo(\"#global-tweet-dialog\"), NewTweetButton.attachTo(\"#global-new-tweet-button\", {\n            eventData: {\n                scribeContext: {\n                    component: \"top_bar\",\n                    element: \"tweet_button\"\n                }\n            }\n        }), TweetBoxScribe.attachTo(JSBNG__document, a), TweetBoxManager.attachTo(JSBNG__document, a);\n    };\n;\n    var GeoData = require(\"app/data/geo\"), TweetData = require(\"app/data/tweet\"), TweetDialog = require(\"app/ui/tweet_dialog\"), NewTweetButton = require(\"app/ui/new_tweet_button\"), TweetBoxScribe = require(\"app/data/tweet_box_scribe\"), TweetBoxManager = require(\"app/ui/tweet_box_manager\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/user_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function userDropdown() {\n        this.defaultAttrs({\n            feedbackLinkSelector: \".feedback-callout-link\"\n        }), this.signout = function() {\n            storage.clearAll(), this.$signoutForm.submit();\n        }, this.showKeyboardShortcutsDialog = function(a, b) {\n            this.trigger(JSBNG__document, \"uiOpenKeyboardShortcutsDialog\"), a.preventDefault();\n        }, this.showConversationNotification = function(a, b) {\n            this.unreadThreads = b.threads, this.$node.addClass(this.attr.glowClass), this.$dmCount.addClass(this.attr.glowClass).text(b.threads.length);\n        }, this.openFeedbackDialog = function(a, b) {\n            this.closeDropdown(), this.trigger(\"uiPrepareFeedbackDialog\", {\n            });\n        }, this.updateConversationNotication = function(a, b) {\n            var c = $.inArray(b.recipient, this.unreadThreads);\n            if (((c === -1))) {\n                return;\n            }\n        ;\n        ;\n            this.unreadThreads.splice(c, 1);\n            var d = ((parseInt(this.$dmCount.text(), 10) - 1));\n            ((d ? this.$dmCount.text(d) : (this.$node.removeClass(this.attr.glowClass), this.$dmCount.removeClass(this.attr.glowClass).text(\"\"))));\n        }, this.after(\"initialize\", function() {\n            this.unreadThreads = [], this.$signoutForm = this.select(\"signoutForm\"), this.JSBNG__on(this.attr.keyboardShortcuts, \"click\", this.showKeyboardShortcutsDialog), this.JSBNG__on(this.attr.feedbackLinkSelector, \"click\", this.openFeedbackDialog), this.$dmCount = this.select(\"dmCount\"), this.JSBNG__on(this.attr.signout, \"click\", this.signout), this.JSBNG__on(JSBNG__document, \"uiDMDialogOpenedConversation\", this.updateConversationNotication), this.JSBNG__on(JSBNG__document, \"uiDMDialogHasNewConversations\", this.showConversationNotification), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), storage = require(\"app/utils/storage/core\"), UserDropdown = defineComponent(userDropdown, withDropdown);\n    module.exports = UserDropdown;\n});\ndefine(\"app/ui/signin_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n    function signinDropdown() {\n        this.defaultAttrs({\n            toggler: \".js-session .dropdown-toggle\",\n            usernameSelector: \".email-input\"\n        }), this.focusUsername = function() {\n            this.select(\"usernameSelector\").JSBNG__focus();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDropdownOpened\", this.focusUsername);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), SigninDropdown = defineComponent(signinDropdown, withDropdown);\n    module.exports = SigninDropdown;\n});\ndefine(\"app/ui/search_input\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function searchInput() {\n        this.defaultAttrs({\n            magnifyingGlassSelector: \".js-search-action\",\n            inputFieldSelector: \"#search-query\",\n            hintFieldSelector: \"#search-query-hint\",\n            query: \"\",\n            searchPathWithQuery: \"/search?q=query&src=typd\",\n            focusClass: \"JSBNG__focus\"\n        }), this.addFocusStyles = function(a) {\n            this.$node.addClass(this.attr.focusClass), this.$input.addClass(this.attr.focusClass), this.$hint.addClass(this.attr.focusClass), this.trigger(\"uiSearchInputFocused\");\n        }, this.removeFocusStyles = function(a) {\n            this.$node.removeClass(this.attr.focusClass), this.$input.removeClass(this.attr.focusClass), this.$hint.removeClass(this.attr.focusClass);\n        }, this.executeTypeaheadSelection = function(a, b) {\n            this.$input.val(b.display);\n            if (b.isClick) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiNavigate\", {\n                href: b.href\n            });\n        }, this.submitQuery = function(a, b) {\n            this.trigger(\"uiSearchQuery\", {\n                query: b.query,\n                source: \"search\"\n            }), this.trigger(\"uiNavigate\", {\n                href: this.attr.searchPathWithQuery.replace(\"query\", encodeURIComponent(b.query))\n            });\n        }, this.searchFormSubmit = function(a, b) {\n            a.preventDefault(), this.trigger(this.$input, \"uiTypeaheadInputSubmit\");\n        }, this.after(\"initialize\", function() {\n            this.$input = this.select(\"inputFieldSelector\"), this.$hint = this.select(\"hintFieldSelector\"), this.$input.val(this.attr.query), this.JSBNG__on(\"uiTypeaheadItemSelected\", this.executeTypeaheadSelection), this.JSBNG__on(\"uiTypeaheadSubmitQuery\", this.submitQuery), this.JSBNG__on(this.$input, \"JSBNG__focus\", this.addFocusStyles), this.JSBNG__on(this.$input, \"JSBNG__blur\", this.removeFocusStyles), this.JSBNG__on(\"submit\", this.searchFormSubmit), this.JSBNG__on(this.select(\"magnifyingGlassSelector\"), \"click\", this.searchFormSubmit);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(searchInput);\n});\ndefine(\"app/utils/animate_window_scrolltop\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function getScrollEl() {\n        return ((scrollEl ? scrollEl : ([JSBNG__document.body,JSBNG__document.documentElement,].forEach(function(a) {\n            var b = a.scrollTop;\n            a.scrollTop = ((b + 1)), ((((a.scrollTop == ((b + 1)))) && (scrollEl = a.tagName.toLowerCase(), a.scrollTop = b)));\n        }), scrollEl)));\n    };\n;\n    var scrollEl;\n    module.exports = function(a, b) {\n        $(getScrollEl()).animate({\n            scrollTop: a\n        }, b);\n    };\n});\ndefine(\"app/ui/global_nav\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/full_path\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function globalNav() {\n        this.defaultAttrs({\n            activeClass: \"active\",\n            newClass: \"new\",\n            nav: \"li\",\n            meNav: \"li.profile\",\n            navLinkSelector: \"li \\u003E a\",\n            linkSelector: \"a\"\n        }), this.updateActive = function(a, b) {\n            ((b && (this.select(\"nav\").removeClass(this.attr.activeClass), this.select(\"nav\").filter(((((\"[data-global-action=\" + b.section)) + \"]\"))).addClass(this.attr.activeClass), this.removeGlowFromActive())));\n        }, this.addGlowToActive = function() {\n            this.$node.JSBNG__find(((\".\" + this.attr.activeClass))).addClass(this.attr.newClass);\n        }, this.addGlowToMe = function() {\n            this.select(\"meNav\").addClass(this.attr.newClass);\n        }, this.removeGlowFromActive = function() {\n            this.$node.JSBNG__find(((\".\" + this.attr.activeClass))).not(this.attr.meNav).removeClass(this.attr.newClass);\n        }, this.removeGlowFromMe = function() {\n            this.select(\"meNav\").removeClass(this.attr.newClass);\n        }, this.scrollToTopLink = function(a) {\n            var b = $(a.target).closest(this.attr.linkSelector);\n            ((((b.attr(\"href\") == fullPath())) && (a.preventDefault(), b.JSBNG__blur(), this.scrollToTop())));\n        }, this.scrollToTop = function() {\n            animateWinScrollTop(0, \"fast\"), this.trigger(JSBNG__document, \"uiGotoTopOfScreen\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiAddPageCount\", this.addGlowToActive), this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline\", this.removeGlowFromActive), this.JSBNG__on(JSBNG__document, \"dataPageRefresh\", this.updateActive), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMs dataUserHasUnreadDMsWithCount\", this.addGlowToMe), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMs dataUserHasNoUnreadDMsWithCount\", this.removeGlowFromMe), this.JSBNG__on(\".bird-topbar-etched\", \"click\", this.scrollToTop), this.JSBNG__on(\"click\", {\n                navLinkSelector: this.scrollToTopLink\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), fullPath = require(\"app/utils/full_path\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\"), GlobalNav = defineComponent(globalNav);\n    module.exports = GlobalNav;\n});\ndefine(\"app/ui/navigation_links\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function navigationLinks() {\n        this.defaultAttrs({\n            navSelector: \"a[data-nav]\"\n        }), this.navEvent = function(a) {\n            var b = $(a.target).closest(\"a[data-nav]\");\n            this.trigger(\"uiNavigationLinkClick\", {\n                scribeContext: {\n                    element: b.attr(\"data-nav\")\n                },\n                url: b.attr(\"href\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.select(\"navSelector\"), \"click\", this.navEvent);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(navigationLinks);\n});\ndefine(\"app/data/search_input_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",], function(module, require, exports) {\n    function searchInputScribe() {\n        var a = {\n            account: function(a) {\n                var b = {\n                    message: a.input,\n                    items: [{\n                        id: a.query,\n                        item_type: itemTypes.user,\n                        position: a.index\n                    },],\n                    format_version: 2,\n                    event_info: ((a.JSBNG__item ? a.JSBNG__item.origin : undefined))\n                };\n                this.scribe(\"profile_click\", a, b);\n            },\n            search: function(b) {\n                if (((this.lastCompletion && ((b.query === this.lastCompletion.query))))) a.topics.call(this, this.lastCompletion);\n                 else {\n                    var c = {\n                        items: [{\n                            item_query: b.query,\n                            item_type: itemTypes.search\n                        },],\n                        format_version: 2\n                    };\n                    this.scribe(\"search\", b, c);\n                }\n            ;\n            ;\n            },\n            topics: function(a) {\n                var b = {\n                    message: a.input,\n                    items: [{\n                        item_query: a.query,\n                        item_type: itemTypes.search,\n                        position: a.index\n                    },],\n                    format_version: 2\n                };\n                this.scribe(\"search\", a, b);\n            },\n            account_search: function(a) {\n                this.scribe(\"people_search\", a, {\n                    query: a.input\n                });\n            },\n            saved_search: function(a) {\n                var b = {\n                    message: a.input,\n                    items: [{\n                        item_query: a.query,\n                        item_type: itemTypes.savedSearch,\n                        position: a.index\n                    },],\n                    format_version: 2\n                };\n                this.scribe(\"search\", a, b);\n            },\n            recent_search: function(a) {\n                var b = {\n                    message: a.input,\n                    items: [{\n                        item_query: a.query,\n                        item_type: itemTypes.search,\n                        position: a.index\n                    },],\n                    format_version: 2\n                };\n                this.scribe(\"search\", a, b);\n            }\n        };\n        this.storeCompletionData = function(a, b) {\n            ((((((a.type == \"uiTypeaheadItemSelected\")) || ((a.type == \"uiSearchQuery\")))) ? this.scribeSelection(a, b) : ((b.fromSelectionEvent || (this.lastCompletion = b)))));\n        }, this.scribeSelection = function(b, c) {\n            ((a[c.source] && a[c.source].call(this, c)));\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiSearchInputFocused\", \"focus_field\"), this.JSBNG__on(\"uiTypeaheadItemComplete uiTypeaheadItemSelected uiSearchQuery\", this.storeCompletionData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\");\n    module.exports = defineComponent(searchInputScribe, withScribe);\n});\ndefine(\"app/boot/top_bar\", [\"module\",\"require\",\"exports\",\"app/boot/tweet_boxes\",\"app/ui/user_dropdown\",\"app/ui/signin_dropdown\",\"app/ui/search_input\",\"app/ui/global_nav\",\"app/ui/navigation_links\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",\"app/data/search_input_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        GlobalNav.attachTo(\"#global-actions\", {\n            noTeardown: !0\n        }), SearchInput.attachTo(\"#global-nav-search\", utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"top_bar_searchbox\",\n                    element: \"\"\n                }\n            }\n        })), SearchInputScribe.attachTo(\"#global-nav-search\", {\n            noTeardown: !0\n        });\n        var b = [[\"contextHelpers\",[\"contextHelpers\",],],[\"recentSearches\",[\"recentSearches\",],],[\"savedSearches\",[\"savedSearches\",],],[\"topics\",[\"topics\",],],[\"accounts\",[\"accounts\",],],];\n        ((a.typeaheadData.accountsOnTop && (b = [[\"contextHelpers\",[\"contextHelpers\",],],[\"recentSearches\",[\"recentSearches\",],],[\"savedSearches\",[\"savedSearches\",],],[\"accounts\",[\"accounts\",],],[\"topics\",[\"topics\",],],]))), TypeaheadInput.attachTo(\"#global-nav-search\"), TypeaheadDropdown.attachTo(\"#global-nav-search\", {\n            datasourceRenders: b,\n            accountsShortcutShow: !0,\n            autocompleteAccounts: !1,\n            deciders: utils.merge(a.typeaheadData, {\n                showSocialContext: a.typeaheadData.showSearchAccountSocialContext\n            }),\n            eventData: {\n                scribeContext: {\n                    component: \"top_bar_searchbox\",\n                    element: \"typeahead\"\n                }\n            }\n        }), ((a.loggedIn ? (tweetBoxes(a), UserDropdown.attachTo(\"#user-dropdown\", {\n            noTeardown: !0,\n            signout: \"#signout-button\",\n            signoutForm: \"#signout-form\",\n            toggler: \"#user-dropdown-toggle\",\n            keyboardShortcuts: \".js-keyboard-shortcut-trigger\",\n            dmCount: \".js-direct-message-count\",\n            glowClass: \"new\"\n        })) : SigninDropdown.attachTo(\".js-session\"))), NavigationLinks.attachTo(\".global-nav\", {\n            noTeardown: !0,\n            eventData: {\n                scribeContext: {\n                    component: \"top_bar\"\n                }\n            }\n        });\n    };\n;\n    var tweetBoxes = require(\"app/boot/tweet_boxes\"), UserDropdown = require(\"app/ui/user_dropdown\"), SigninDropdown = require(\"app/ui/signin_dropdown\"), SearchInput = require(\"app/ui/search_input\"), GlobalNav = require(\"app/ui/global_nav\"), NavigationLinks = require(\"app/ui/navigation_links\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\"), SearchInputScribe = require(\"app/data/search_input_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/keyboard_shortcuts\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function keyBoardShortcuts() {\n        this.shortcutEvents = {\n            f: \"uiShortcutFavorite\",\n            r: \"uiShortcutReply\",\n            t: \"uiShortcutRetweet\",\n            b: \"uiShortcutBlock\",\n            u: \"uiShortcutUnblock\",\n            j: \"uiShortcutSelectNext\",\n            k: \"uiShortcutSelectPrev\",\n            l: \"uiShortcutCloseAll\",\n            \".\": \"uiShortcutGotoTopOfScreen\",\n            \"/\": {\n                type: \"uiShortcutGotoSearch\",\n                defaultFn: \"focusSearch\"\n            },\n            X: {\n                type: \"uiShortcutEsc\",\n                defaultFn: \"blurTextField\"\n            },\n            E: \"uiShortcutEnter\",\n            \"\\u003C\": \"uiShortcutLeft\",\n            \"\\u003E\": \"uiShortcutRight\",\n            m: \"uiOpenNewDM\",\n            n: \"uiShortcutShowTweetbox\",\n            gu: \"uiShortcutShowGotoUser\",\n            gm: \"uiNeedsDMDialog\",\n            sp: \"uiShortcutShowSearchPhotos\",\n            sv: \"uiShortcutShowSearchVideos\",\n            \"?\": \"uiOpenKeyboardShortcutsDialog\"\n        }, this.routes = {\n            JSBNG__home: \"/\",\n            activity: \"/activity\",\n            connect: \"/i/connect\",\n            mentions: \"/mentions\",\n            discover: \"/i/discover\",\n            profile: \"/\",\n            favorites: \"/favorites\",\n            settings: \"/settings/account\",\n            lists: \"/lists\"\n        }, this.routeShortcuts = {\n            gh: \"JSBNG__home\",\n            ga: \"activity\",\n            gc: \"connect\",\n            gr: \"mentions\",\n            gd: \"discover\",\n            gp: \"profile\",\n            gf: \"favorites\",\n            gs: \"settings\",\n            gl: \"lists\"\n        }, this.lastKey = \"\", this.defaultAttrs({\n            globalSearchBoxSelector: \"#search-query\"\n        }), this.isModifier = function(a) {\n            return !!((((((a.shiftKey || a.metaKey)) || a.ctrlKey)) || a.altKey));\n        }, this.charFromKeyCode = function(a, b) {\n            return ((((b && shiftKeyMap[a])) ? shiftKeyMap[a] : ((keyMap[a] || String.fromCharCode(a).toLowerCase()))));\n        }, this.isTextField = function(a) {\n            if (((!a || !a.tagName))) {\n                return !1;\n            }\n        ;\n        ;\n            var b = a.tagName.toLowerCase();\n            if (((((b == \"textarea\")) || a.getAttribute(\"contenteditable\")))) {\n                return !0;\n            }\n        ;\n        ;\n            if (((b != \"input\"))) {\n                return !1;\n            }\n        ;\n        ;\n            var c = ((a.getAttribute(\"type\") || \"text\")).toLowerCase();\n            return textInputs[c];\n        }, this.isWhiteListedElement = function(a) {\n            var b = a.tagName.toLowerCase();\n            if (whiteListedElements[b]) {\n                return !0;\n            }\n        ;\n        ;\n            if (((b != \"input\"))) {\n                return !1;\n            }\n        ;\n        ;\n            var c = a.getAttribute(\"type\").toLowerCase();\n            return whiteListedInputs[c];\n        }, this.triggerShortcut = function(a) {\n            var b = this.charFromKeyCode(((a.keyCode || a.which)), a.shiftKey), c, d, e, f = ((this.shortcutEvents[((this.lastKey + b))] || this.shortcutEvents[b])), g = {\n                fromShortcut: !0\n            };\n            if (((f && ((b != this.lastKey))))) {\n                a.preventDefault(), ((((typeof f == \"string\")) ? c = f : (c = f.type, e = f.defaultFn, ((f.data && (g = utils.merge(g, f.data))))))), ((e && (d = {\n                    type: c,\n                    defaultBehavior: function() {\n                        this[e](a, g);\n                    }\n                }))), this.trigger(a.target, ((d || c)), g), this.lastKey = \"\";\n                return;\n            }\n        ;\n        ;\n            JSBNG__setTimeout(function() {\n                this.lastKey = \"\";\n            }.bind(this), 5000), this.lastKey = b;\n        }, this.onKeyDown = function(a) {\n            var b = a.keyCode, c = ((b == 13)), d = a.target;\n            if (((((((b != 27)) && this.isTextField(d))) || ((this.isModifier(a) && ((c || !shiftKeyMap[a.keyCode]))))))) {\n                return;\n            }\n        ;\n        ;\n            if (((c && this.isWhiteListedElement(d)))) {\n                return;\n            }\n        ;\n        ;\n            this.triggerShortcut(a);\n        }, this.blurTextField = function(a) {\n            var b = a.target;\n            ((this.isTextField(b) && b.JSBNG__blur()));\n        }, this.focusSearch = function(a) {\n            this.select(\"globalSearchBoxSelector\").JSBNG__focus();\n        }, this.navigateTo = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: b.href\n            });\n        }, this.createNavEventName = function(a) {\n            return ((((UI_SHORTCUT_NAVIGATE + a[0].toUpperCase())) + a.slice(1)));\n        }, this.createNavigationShortcuts = function() {\n            Object.keys(this.routeShortcuts).forEach(function(a) {\n                var b = this.routeShortcuts[a];\n                this.shortcutEvents[a] = {\n                    type: this.createNavEventName(b),\n                    data: {\n                        href: this.routes[b]\n                    },\n                    defaultFn: \"navigateTo\"\n                };\n            }, this);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"keydown\", this.onKeyDown), ((this.attr.routes && utils.push(this.routes, this.attr.routes))), this.createNavigationShortcuts();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), keyMap = {\n        13: \"E\",\n        27: \"X\",\n        191: \"/\",\n        190: \".\",\n        37: \"\\u003C\",\n        39: \"\\u003E\"\n    }, shiftKeyMap = {\n        191: \"?\"\n    }, whiteListedElements = {\n        button: !0,\n        a: !0\n    }, whiteListedInputs = {\n        button: !0,\n        submit: !0,\n        file: !0\n    }, textInputs = {\n        password: !0,\n        text: !0,\n        email: !0\n    }, UI_SHORTCUT_NAVIGATE = \"uiShortcutNavigate\", KeyBoardShortcuts = defineComponent(keyBoardShortcuts);\n    module.exports = KeyBoardShortcuts;\n});\nprovide(\"app/ui/dialogs/keyboard_shortcuts_dialog\", function(a) {\n    using(\"core/component\", \"app/ui/with_dialog\", \"app/ui/with_position\", function(b, c, d) {\n        function f() {\n            this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiOpenKeyboardShortcutsDialog\", this.open);\n            });\n        };\n    ;\n        var e = b(f, c, d);\n        a(e);\n    });\n});\ndefine(\"app/ui/dialogs/with_modal_tweet\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withModalTweet() {\n        this.defaultAttrs({\n            modalTweetSelector: \".modal-tweet\"\n        }), this.addTweet = function(a) {\n            this.select(\"modalTweetSelector\").show(), this.select(\"modalTweetSelector\").empty().append(a);\n        }, this.removeTweet = function() {\n            this.select(\"modalTweetSelector\").hide().empty();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiDialogClosed\", this.removeTweet);\n        });\n    };\n;\n    module.exports = withModalTweet;\n});\nprovide(\"app/ui/dialogs/retweet_dialog\", function(a) {\n    using(\"core/component\", \"app/ui/with_dialog\", \"app/ui/with_position\", \"app/ui/dialogs/with_modal_tweet\", function(b, c, d, e) {\n        function g() {\n            this.defaults = {\n                cancelSelector: \".cancel-action\",\n                retweetSelector: \".retweet-action\"\n            }, this.openRetweet = function(a, b) {\n                this.attr.sourceEventData = b, this.removeTweet(), this.addTweet($(a.target).clone()), this.open();\n            }, this.retweet = function() {\n                this.trigger(\"uiDidRetweet\", this.attr.sourceEventData);\n            }, this.retweetSuccess = function(a, b) {\n                this.trigger(\"uiDidRetweetSuccess\", this.attr.sourceEventData), this.close();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    cancelSelector: this.close,\n                    retweetSelector: this.retweet\n                }), this.JSBNG__on(JSBNG__document, \"uiOpenRetweetDialog\", this.openRetweet), this.JSBNG__on(JSBNG__document, \"dataDidRetweet\", this.retweetSuccess);\n            });\n        };\n    ;\n        var f = b(g, c, d, e);\n        a(f);\n    });\n});\nprovide(\"app/ui/dialogs/delete_tweet_dialog\", function(a) {\n    using(\"core/component\", \"app/ui/with_dialog\", \"app/ui/with_position\", \"app/ui/dialogs/with_modal_tweet\", function(b, c, d, e) {\n        function g() {\n            this.defaults = {\n                cancelSelector: \".cancel-action\",\n                deleteSelector: \".delete-action\"\n            }, this.openDeleteTweet = function(a, b) {\n                this.attr.sourceEventData = b, this.addTweet($(a.target).clone()), this.id = b.id, this.open();\n            }, this.deleteTweet = function() {\n                this.trigger(\"uiDidDeleteTweet\", {\n                    id: this.id,\n                    sourceEventData: this.attr.sourceEventData\n                });\n            }, this.deleteTweetSuccess = function(a, b) {\n                this.trigger(\"uiDidDeleteTweetSuccess\", this.attr.sourceEventData), this.close();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    cancelSelector: this.close,\n                    deleteSelector: this.deleteTweet\n                }), this.JSBNG__on(JSBNG__document, \"uiOpenDeleteDialog\", this.openDeleteTweet), this.JSBNG__on(JSBNG__document, \"dataDidDeleteTweet\", this.deleteTweetSuccess);\n            });\n        };\n    ;\n        var f = b(g, c, d, e);\n        a(f);\n    });\n});\nprovide(\"app/ui/dialogs/block_user_dialog\", function(a) {\n    using(\"core/component\", \"app/ui/with_dialog\", \"app/ui/with_position\", \"app/ui/dialogs/with_modal_tweet\", function(b, c, d, e) {\n        function g() {\n            this.defaults = {\n                cancelSelector: \".cancel-action\",\n                blockSelector: \".block-action\",\n                timeSelector: \".time\",\n                dogearSelector: \".dogear\",\n                tweetTextSelector: \".js-tweet-text\"\n            }, this.openBlockUser = function(a, b) {\n                this.attr.sourceEventData = b, this.addTweet($(a.target.children[0]).clone()), this.cleanUpTweet(), this.open();\n            }, this.cleanUpTweet = function() {\n                this.$node.JSBNG__find(this.attr.timeSelector).remove(), this.$node.JSBNG__find(this.attr.dogearSelector).remove(), this.$node.JSBNG__find(this.attr.tweetTextSelector).remove();\n            }, this.blockUser = function() {\n                this.trigger(\"uiDidBlockUser\", {\n                    sourceEventData: this.attr.sourceEventData\n                }), this.close();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    cancelSelector: this.close,\n                    blockSelector: this.blockUser\n                }), this.JSBNG__on(JSBNG__document, \"uiOpenBlockUserDialog\", this.openBlockUser);\n            });\n        };\n    ;\n        var f = b(g, c, d, e);\n        a(f);\n    });\n});\nprovide(\"app/ui/dialogs/confirm_dialog\", function(a) {\n    using(\"core/component\", \"app/ui/with_dialog\", \"app/ui/with_position\", \"app/utils/with_event_params\", function(b, c, d, e) {\n        function g() {\n            this.defaultAttrs({\n                titleSelector: \".modal-title\",\n                modalBodySelector: \".modal-body\",\n                bodySelector: \".modal-body-text\",\n                cancelSelector: \"#confirm_dialog_cancel_button\",\n                submitSelector: \"#confirm_dialog_submit_button\"\n            }), this.openWithOptions = function(a, b) {\n                this.attr.eventParams = {\n                    action: b.action\n                }, this.attr.JSBNG__top = b.JSBNG__top, this.select(\"titleSelector\").text(b.titleText), ((b.bodyText ? (this.select(\"bodySelector\").text(b.bodyText), this.select(\"modalBodySelector\").show()) : this.select(\"modalBodySelector\").hide())), this.select(\"cancelSelector\").text(b.cancelText), this.select(\"submitSelector\").text(b.submitText), this.open();\n            }, this.submit = function(a, b) {\n                this.trigger(\"ui{{action}}Confirm\");\n            }, this.cancel = function(a, b) {\n                this.trigger(\"ui{{action}}Cancel\");\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiOpenConfirmDialog\", this.openWithOptions), this.JSBNG__on(this.select(\"submitSelector\"), \"click\", this.submit), this.JSBNG__on(this.select(\"submitSelector\"), \"click\", this.close), this.JSBNG__on(this.select(\"cancelSelector\"), \"click\", this.cancel), this.JSBNG__on(this.select(\"cancelSelector\"), \"click\", this.close), this.JSBNG__on(\"uiDialogCloseRequested\", this.cancel);\n            });\n        };\n    ;\n        var f = b(g, c, d, e);\n        a(f);\n    });\n});\ndefine(\"app/ui/dialogs/confirm_email_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function confirmEmailDialog() {\n        this.defaultAttrs({\n            resendConfirmationEmailLinkSelector: \".resend-confirmation-email-link\"\n        }), this.resendConfirmationEmail = function() {\n            this.trigger(\"uiResendConfirmationEmail\"), this.close();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiOpenConfirmEmailDialog\", this.open), this.JSBNG__on(JSBNG__document, \"dataResendConfirmationEmailSuccess\", this.close), this.JSBNG__on(\"click\", {\n                resendConfirmationEmailLinkSelector: this.resendConfirmationEmail\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(confirmEmailDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/dialogs/list_membership_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function listMembershipDialog() {\n        this.defaultAttrs({\n            JSBNG__top: 90,\n            contentSelector: \".list-membership-content\",\n            createListSelector: \".create-a-list\",\n            membershipSelector: \".list-membership-container li\"\n        }), this.openListMembershipDialog = function(a, b) {\n            this.userId = b.userId, ((this.userId && this.trigger(\"uiNeedsListMembershipContent\", {\n                userId: this.userId\n            }))), this.$content.empty(), this.$node.removeClass(\"has-content\"), this.open();\n        }, this.addListMembershipContent = function(a, b) {\n            this.$node.addClass(\"has-content\"), this.$content.html(b.html);\n        }, this.handleNoListMembershipContent = function(a, b) {\n            this.close(), this.trigger(\"uiShowError\", b);\n        }, this.toggleListMembership = function(a, b) {\n            var c = $(a.target), d = {\n                userId: c.closest(\"[data-user-id]\").attr(\"data-user-id\"),\n                listId: c.closest(\"[data-list-id]\").attr(\"data-list-id\")\n            }, e = $(((\"#list_\" + d.listId)));\n            if (!e.is(\":visible\")) {\n                return;\n            }\n        ;\n        ;\n            e.closest(this.attr.membershipSelector).addClass(\"pending\"), ((e.data(\"is-checked\") ? this.trigger(\"uiRemoveUserFromList\", d) : this.trigger(\"uiAddUserToList\", d)));\n        }, this.updateMembershipState = function(a) {\n            return function(b, c) {\n                var d = $(((\"#list_\" + c.sourceEventData.listId)));\n                d.closest(this.attr.membershipSelector).removeClass(\"pending\"), d.attr(\"checked\", ((a ? \"checked\" : null))), d.data(\"is-checked\", a), d.attr(\"data-is-checked\", a);\n            }.bind(this);\n        }, this.openListCreateDialog = function() {\n            this.close(), this.trigger(\"uiOpenCreateListDialog\", {\n                userId: this.userId\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.$content = this.select(\"contentSelector\"), this.JSBNG__on(\"click\", {\n                createListSelector: this.openListCreateDialog,\n                membershipSelector: this.toggleListMembership\n            }), this.JSBNG__on(JSBNG__document, \"uiListAction uiOpenListMembershipDialog\", this.openListMembershipDialog), this.JSBNG__on(JSBNG__document, \"dataGotListMembershipContent\", this.addListMembershipContent), this.JSBNG__on(JSBNG__document, \"dataFailedToGetListMembershipContent\", this.handleNoListMembershipContent), this.JSBNG__on(JSBNG__document, \"dataDidAddUserToList dataFailedToRemoveUserFromList\", this.updateMembershipState(!0)), this.JSBNG__on(JSBNG__document, \"dataDidRemoveUserFromList dataFailedToAddUserToList\", this.updateMembershipState(!1));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), ListMembershipDialog = defineComponent(listMembershipDialog, withDialog, withPosition);\n    module.exports = ListMembershipDialog;\n});\ndefine(\"app/ui/dialogs/list_operations_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"core/i18n\",\"core/utils\",], function(module, require, exports) {\n    function listOperationsDialog() {\n        this.defaultAttrs({\n            JSBNG__top: 90,\n            win: window,\n            saveListSelector: \".update-list-button\",\n            editorSelector: \".list-editor\",\n            nameInputSelector: \".list-editor input[name='name']\",\n            descriptionSelector: \".list-editor textarea[name='description']\",\n            privacySelector: \".list-editor input[name='mode']\",\n            modalTitleSelector: \".modal-title\"\n        }), this.openListOperationsDialog = function(a, b) {\n            this.userId = b.userId, ((((a.type == \"uiOpenUpdateListDialog\")) && this.modifyDialog())), this.open(), this.$nameInput.JSBNG__focus();\n        }, this.modifyDialog = function() {\n            this.$modalTitle = this.select(\"modalTitleSelector\"), this.originalTitle = ((this.originalTitle || this.$modalTitle.text())), this.$modalTitle.text(_(\"Edit list details\")), this.$nameInput.val($(\".follow-card h1.js-list-name\").text()), this.$descriptionInput.val($(\".follow-card p.bio\").text()), ((this.isPublic || (this.$privacyInput[1].checked = !0))), this.$saveButton.attr(\"data-list-id\", this.listId).attr(\"data-operation\", \"update\"), this.toggleSaveButtonDisabled(), this.modified = !0, this.$descriptionInput.JSBNG__on(\"keyup\", this.toggleSaveButtonDisabled.bind(this)), this.$privacyInput.JSBNG__on(\"change\", this.toggleSaveButtonDisabled.bind(this));\n        }, this.revertModifications = function() {\n            ((this.modified && (this.revertDialog(), this.$editor.JSBNG__find(\"input,textarea\").val(\"\"), this.$descriptionInput.off(\"keyup\"), this.$privacyInput.off(\"change\"), this.modified = !1)));\n        }, this.revertDialog = function() {\n            this.$modalTitle.text(this.originalTitle), this.$saveButton.removeAttr(\"data-list-id\").removeAttr(\"data-operation\"), ((this.isPublic || (this.$privacyInput[0].checked = !0)));\n        }, this.saveList = function(a, b) {\n            if (this.requestInProgress) {\n                return;\n            }\n        ;\n        ;\n            this.requestInProgress = !0;\n            var c = $(b.el), d = ((((c.attr(\"data-operation\") == \"update\")) ? \"uiUpdateList\" : \"uiCreateList\")), e = {\n                JSBNG__name: this.formValue(\"JSBNG__name\"),\n                description: this.formValue(\"description\", {\n                    type: \"textarea\"\n                }),\n                mode: this.formValue(\"mode\", {\n                    conditions: \":checked\"\n                })\n            };\n            ((((c.attr(\"data-operation\") == \"update\")) && (e = utils.merge(e, {\n                list_id: c.attr(\"data-list-id\")\n            })))), this.trigger(d, e), this.$saveButton.attr(\"disabled\", !0);\n        }, this.saveListSuccess = function(a, b) {\n            this.close();\n            var c = _(\"List saved!\");\n            ((((a.type == \"dataDidCreateList\")) ? (c = _(\"List created!\"), ((this.userId ? this.trigger(\"uiOpenListMembershipDialog\", {\n                userId: this.userId\n            }) : ((((b && b.slug)) && (this.attr.win.JSBNG__location = ((((((\"/\" + this.attr.screenName)) + \"/\")) + b.slug)))))))) : this.revertDialog())), this.$editor.JSBNG__find(\"input,textarea\").val(\"\"), this.trigger(\"uiShowMessage\", {\n                message: c\n            });\n        }, this.saveListComplete = function(a, b) {\n            this.requestInProgress = !1, this.toggleSaveButtonDisabled();\n        }, this.toggleSaveButtonDisabled = function(a, b) {\n            this.$saveButton.attr(\"disabled\", ((this.$nameInput.val() == \"\")));\n        }, this.formValue = function(a, b) {\n            return b = ((b || {\n            })), b.type = ((b.type || \"input\")), b.conditions = ((b.conditions || \"\")), this.$editor.JSBNG__find(((((((((b.type + \"[name='\")) + a)) + \"']\")) + b.conditions))).val();\n        }, this.disableSaveButton = function() {\n            this.$saveButton.attr(\"disabled\", !0);\n        }, this.updateState = function(a, b) {\n            this.listId = b.init_data.list_id, this.isPublic = b.init_data.is_public;\n        }, this.after(\"initialize\", function(a) {\n            this.listId = a.list_id, this.isPublic = a.is_public, this.$editor = this.select(\"editorSelector\"), this.$nameInput = this.select(\"nameInputSelector\"), this.$descriptionInput = this.select(\"descriptionSelector\"), this.$privacyInput = this.select(\"privacySelector\"), this.$saveButton = this.select(\"saveListSelector\"), this.JSBNG__on(\"click\", {\n                saveListSelector: this.saveList\n            }), this.JSBNG__on(\"focus blur keyup\", {\n                nameInputSelector: this.toggleSaveButtonDisabled\n            }), this.JSBNG__on(\"uiDialogOpened\", this.disableSaveButton), this.JSBNG__on(\"uiDialogClosed\", this.revertModifications), this.JSBNG__on(JSBNG__document, \"uiOpenCreateListDialog uiOpenUpdateListDialog\", this.openListOperationsDialog), this.JSBNG__on(JSBNG__document, \"dataDidCreateList dataDidUpdateList\", this.saveListSuccess), this.JSBNG__on(JSBNG__document, \"dataDidCreateList dataDidUpdateList dataFailedToCreateList dataFailedToUpdateList\", this.saveListComplete), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.updateState);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), _ = require(\"core/i18n\"), utils = require(\"core/utils\"), ListOperationsDialog = defineComponent(listOperationsDialog, withDialog, withPosition);\n    module.exports = ListOperationsDialog;\n});\ndefine(\"app/data/direct_messages\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_auth_token\",\"app/utils/storage/core\",\"app/utils/string\",], function(module, require, exports) {\n    function directMessages() {\n        var a = 0;\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.pollConversationList = function(a, b) {\n            this.requestConversationList(null, {\n                since_id: this.lastMessageId\n            });\n        }, this.requestConversationList = function(a, b) {\n            this.get({\n                url: \"/messages\",\n                data: b,\n                eventData: b,\n                success: \"dataDMConversationListResult\",\n                error: \"dataDMError\"\n            });\n        }, this.requestConversation = function(a, b) {\n            this.get({\n                url: ((\"/messages/with/\" + b.screen_name)),\n                data: {\n                },\n                eventData: b,\n                success: \"dataDMConversationResult\",\n                error: \"dataDMError\"\n            });\n        }, this.sendMessage = function(a, b) {\n            var c = function(a) {\n                a.msgAction = \"send\", this.trigger(\"dataDMSuccess\", a);\n            };\n            this.post({\n                url: \"/direct_messages/new\",\n                data: b,\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataDMError\"\n            });\n        }, this.deleteMessage = function(a, b) {\n            var c = function(a) {\n                a.msgAction = \"delete\", this.trigger(\"dataDMSuccess\", a);\n            };\n            this.post({\n                url: \"/direct_messages/destroy\",\n                data: b,\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataDMError\"\n            });\n        }, this.triggerUnreadCount = function(b, c) {\n            a = c.msgCount, ((((a > 0)) ? this.trigger(\"dataUserHasUnreadDMsWithCount\", {\n                msgCount: a\n            }) : this.trigger(\"dataUserHasNoUnreadDMsWithCount\")));\n        }, this.dispatchUnreadNotification = function(a, b) {\n            if (((!b || !b.d))) {\n                return;\n            }\n        ;\n        ;\n            var c = b.d;\n            ((((((c.JSBNG__status === \"ok\")) && ((c.response != null)))) && this.triggerUnreadCount(null, {\n                msgCount: c.response\n            })));\n        }, this.markDMsAsRead = function(a, b) {\n            if (!b.last_message_id) {\n                throw new Error(\"Require last_message_id to mark a DM as read\");\n            }\n        ;\n        ;\n            var c = {\n                last_message_id: b.last_message_id\n            };\n            ((b.recipient_id && (c.recipient_id = b.recipient_id)));\n            var d = function(a) {\n                a.lastMessageId = b.last_message_id, this.trigger(\"dataDMReadSuccess\", a);\n            };\n            this.post({\n                url: \"/i/messages/mark_read\",\n                data: c,\n                eventData: b,\n                success: d.bind(this),\n                error: \"dataDMReadError\"\n            });\n        }, this.checkForEnvelope = function(b, c) {\n            ((((c && ((c.section == \"profile\")))) && this.triggerUnreadCount(null, {\n                msgCount: a\n            })));\n        }, this.possiblyOpenDMDialog = function(a, b) {\n            var c = this.attr.dm_options;\n            if (((c && c.show_dm_dialog))) {\n                var d = c.recipient;\n                $(JSBNG__document).trigger(\"uiNeedsDMDialog\", {\n                    screen_name: d,\n                    fromInitData: !0\n                });\n            }\n        ;\n        ;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsDMConversationList\", this.requestConversationList), this.JSBNG__on(\"uiNeedsDMConversation\", this.requestConversation), this.JSBNG__on(\"uiDMDialogSendMessage\", this.sendMessage), this.JSBNG__on(\"uiDMDialogDeleteMessage\", this.deleteMessage), this.JSBNG__on(\"dataRefreshDMs\", this.pollConversationList), this.JSBNG__on(\"dataMarkDMsAsRead\", this.markDMsAsRead), this.JSBNG__on(\"uiPageChanged\", this.checkForEnvelope), this.JSBNG__on(\"uiSwiftLoaded\", this.possiblyOpenDMDialog), this.JSBNG__on(\"dataNotificationsReceived\", this.dispatchUnreadNotification), this.JSBNG__on(\"uiReadStateChanged\", this.triggerUnreadCount), this.lastMessageId = (($(\"#dm_dialog_conversation_list li.dm-thread\").first().attr(\"data-last-message-id\") || 0)), this.storage = new JSBNG__Storage(\"DM\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withAuthToken = require(\"app/data/with_auth_token\"), JSBNG__Storage = require(\"app/utils/storage/core\"), StringUtils = require(\"app/utils/string\"), DirectMessages = defineComponent(directMessages, withData, withAuthToken);\n    module.exports = DirectMessages;\n});\ndefine(\"app/data/direct_messages_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function directMessagesScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiDMDialogOpenedNewConversation\", \"open\"), this.scribeOnEvent(\"uiDMDialogOpenedConversation\", \"open\"), this.scribeOnEvent(\"uiDMDialogOpenedConversationList\", \"open\"), this.scribeOnEvent(\"uiDMDialogSendMessage\", \"send_dm\"), this.scribeOnEvent(\"uiDMDialogDeleteMessage\", \"delete\"), this.scribeOnEvent(\"uiDMDialogMarkMessage\", {\n                element: \"mark_all_as_read\",\n                action: \"click\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), DirectMessagesScribe = defineComponent(directMessagesScribe, withScribe);\n    module.exports = DirectMessagesScribe;\n});\ndefine(\"app/ui/direct_message_link_handler\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function directMessageLinkHandler() {\n        this.defaultAttrs({\n            dmLinkSelector: \".js-dm-dialog, .dm-button\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            a.preventDefault();\n            var c = $(b.el);\n            b = {\n                screen_name: c.data(\"screen-name\"),\n                JSBNG__name: c.data(\"JSBNG__name\")\n            }, this.trigger(\"uiNeedsDMDialog\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"click\", {\n                dmLinkSelector: this.JSBNG__openDialog\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(directMessageLinkHandler);\n});\ndefine(\"app/ui/with_timestamp_updating\", [\"module\",\"require\",\"exports\",\"core/i18n\",], function(module, require, exports) {\n    function withTimestampUpdating() {\n        this.defaultAttrs({\n            timestampSelector: \".js-relative-timestamp\",\n            timestampClass: \"js-relative-timestamp\"\n        }), this.monthLabels = [_(\"Jan\"),_(\"Feb\"),_(\"Mar\"),_(\"Apr\"),_(\"May\"),_(\"Jun\"),_(\"Jul\"),_(\"Aug\"),_(\"Sep\"),_(\"Oct\"),_(\"Nov\"),_(\"Dec\"),], this.currentTimeSecs = function() {\n            return ((new JSBNG__Date / 1000));\n        }, this.timestampParts = function(a) {\n            return {\n                year4: a.getFullYear().toString(),\n                year: a.getFullYear().toString().slice(2),\n                month: this.monthLabels[a.getMonth()],\n                day: a.getDate(),\n                hours24: a.getHours(),\n                hours12: ((((a.getHours() % 12)) || 12)),\n                minutes: a.getMinutes().toString().replace(/^(\\d)$/, \"0$1\"),\n                amPm: ((((a.getHours() < 12)) ? _(\"AM\") : _(\"PM\"))),\n                date: a.getDate()\n            };\n        }, this.updateTimestamps = function() {\n            var a = this, b = a.currentTimeSecs();\n            this.select(\"timestampSelector\").each(function() {\n                var c = $(this), d = c.data(\"time\"), e = ((b - d)), f = \"\", g = !0;\n                if (((e <= 2))) {\n                    f = _(\"now\");\n                }\n                 else {\n                    if (((e < 60))) f = _(\"{{number}}s\", {\n                        number: parseInt(e)\n                    });\n                     else {\n                        var h = parseInt(((e / 60)), 10);\n                        if (((h < 60))) {\n                            f = _(\"{{number}}m\", {\n                                number: h\n                            });\n                        }\n                         else {\n                            if (((h < 1440))) f = _(\"{{number}}h\", {\n                                number: parseInt(((h / 60)), 10)\n                            });\n                             else {\n                                var i = a.timestampParts(new JSBNG__Date(((d * 1000))));\n                                g = !1, ((((h < 525600)) ? f = _(\"{{date}} {{month}}\", i) : f = _(\"{{date}} {{month}} {{year}}\", i)));\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                }\n            ;\n            ;\n                ((g || c.removeClass(a.attr.timestampClass))), c.text(f);\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsToRefreshTimestamps uiPageChanged\", this.updateTimestamps);\n        });\n    };\n;\n    var _ = require(\"core/i18n\");\n    module.exports = withTimestampUpdating;\n});\ndefine(\"app/ui/with_item_actions\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/compose\",\"app/data/user_info\",\"app/data/ddg\",\"app/ui/with_interaction_data\",\"app/data/with_card_metadata\",], function(module, require, exports) {\n    function withItemActions() {\n        compose.mixin(this, [withInteractionData,withCardMetadata,]), this.defaultAttrs({\n            pageContainer: \"#doc\",\n            nestedContainerSelector: \".js-stream-item .in-reply-to, .js-expansion-container\",\n            showWithScreenNameSelector: \".show-popup-with-screen-name, .twitter-atreply\",\n            showWithIdSelector: \".show-popup-with-id, .js-user-profile-link\",\n            searchtagSelector: \".twitter-hashtag, .twitter-cashtag\",\n            cashtagSelector: \".twitter-cashtag\",\n            itemLinkSelector: \".twitter-timeline-link\",\n            cardInteractionLinkSelector: \".js-card2-interaction-link\",\n            cardExternalLinkSelector: \".js-card2-external-link\",\n            viewMoreItemSelector: \".view-more-container\"\n        }), this.showProfilePopupWithScreenName = function(a, b) {\n            var c = $(a.target).closest(this.attr.showWithScreenNameSelector).text();\n            ((((c[0] === \"@\")) && (c = c.substring(1))));\n            var d = {\n                screenName: c\n            }, e = this.getCardDataFromTweet($(a.target));\n            b = utils.merge(this.interactionData(a, d), e), this.showProfile(a, b);\n        }, this.showProfilePopupWithId = function(a, b) {\n            var c = this.getCardDataFromTweet($(a.target));\n            b = utils.merge(this.interactionDataWithCard(a), c), this.showProfile(a, b);\n        }, this.showProfile = function(a, b) {\n            ((((this.skipProfilePopup() || this.modifierKey(a))) ? this.trigger(a.target, \"uiShowProfileNewWindow\", b) : (a.preventDefault(), this.trigger(\"uiShowProfilePopup\", b))));\n        }, this.searchtagClick = function(a, b) {\n            var c = $(a.target), d = c.closest(this.attr.searchtagSelector), e = ((d.is(this.attr.cashtagSelector) ? \"uiCashtagClick\" : \"uiHashtagClick\")), f = {\n                query: d.text()\n            };\n            this.trigger(e, this.interactionData(a, f));\n        }, this.itemLinkClick = function(a, b) {\n            var c = $(a.target).closest(this.attr.itemLinkSelector), d, e = {\n                url: ((c.attr(\"data-expanded-url\") || c.attr(\"href\"))),\n                tcoUrl: c.attr(\"href\"),\n                text: c.text()\n            };\n            e = utils.merge(e, this.getCardDataFromTweet($(a.target)));\n            if (((((e.cardName === \"promotion\")) || ((e.cardType === \"promotions\"))))) {\n                a.preventDefault(), d = c.parents(\".stream-item\"), this.trigger(d, \"uiPromotionCardUrlClick\");\n            }\n        ;\n        ;\n            this.trigger(\"uiItemLinkClick\", this.interactionData(a, e));\n        }, this.cardLinkClick = function(a, b, c) {\n            var d = $(b.target).closest(this.attr.cardLinkSelector), e = this.getCardDataFromTweet($(b.target));\n            this.trigger(a, this.interactionDataWithCard(b, e));\n        }, this.getUserIdFromElement = function(a) {\n            return ((a.length ? a.data(\"user-id\") : null));\n        }, this.itemSelected = function(a, b) {\n            var c = this.getCardDataFromTweet($(a.target));\n            ((b.organicExpansion && this.trigger(\"uiItemSelected\", utils.merge(this.interactionData(a), c))));\n        }, this.itemDeselected = function(a, b) {\n            var c = this.getCardDataFromTweet($(a.target));\n            this.trigger(\"uiItemDeselected\", utils.merge(this.interactionData(a), c));\n        }, this.isNested = function() {\n            return this.$node.closest(this.attr.nestedContainerSelector).length;\n        }, this.inDisabledPopupExperiment = function(a) {\n            var b = \"web_profile\", c = \"disable_profile_popup_848\", d = ((userInfo.getExperimentGroup(b) || userInfo.getExperimentGroup(c)));\n            return ((((d && ((d.experiment_key == c)))) && ((d.bucket == a))));\n        }, this.skipProfilePopup = function() {\n            var a = ((!!window.JSBNG__history && !!JSBNG__history.pushState)), b = ((a && userInfo.getDecider(\"pushState\"))), c = $(this.attr.pageContainer), d = c.hasClass(\"route-home\"), e = ((((c.hasClass(\"route-profile\") || c.hasClass(\"route-list\"))) || c.hasClass(\"route-permalink\"))), f = ((e && ((this.inDisabledPopupExperiment(\"disabled_on_prof_and_perma\") || this.inDisabledPopupExperiment(\"disabled_on_home_prof_and_perma\"))))), g = ((((d && b)) && this.inDisabledPopupExperiment(\"disabled_on_home_prof_and_perma\")));\n            return ((f || g));\n        }, this.modifierKey = function(a) {\n            if (((((((a.shiftKey || a.ctrlKey)) || a.metaKey)) || ((a.which > 1))))) {\n                return !0;\n            }\n        ;\n        ;\n        }, this.removeTweetsFromUser = function(a, b) {\n            var c = this.$node.JSBNG__find(((((\"[data-user-id=\" + b.userId)) + \"]\")));\n            c.parent().remove(), this.trigger(\"uiRemovedSomeTweets\");\n        }, this.navigateToViewMoreURL = function(a) {\n            var b = $(a.target), c;\n            ((b.JSBNG__find(this.attr.viewMoreItemSelector).length && (c = b.JSBNG__find(\".view-more-link\"), this.trigger(c, \"uiNavigate\", {\n                href: c.attr(\"href\")\n            }))));\n        }, this.after(\"initialize\", function() {\n            ((this.isNested() || (this.JSBNG__on(\"click\", {\n                showWithScreenNameSelector: this.showProfilePopupWithScreenName,\n                showWithIdSelector: this.showProfilePopupWithId,\n                searchtagSelector: this.searchtagClick,\n                itemLinkSelector: this.itemLinkClick,\n                cardExternalLinkSelector: this.cardLinkClick.bind(this, \"uiCardExternalLinkClick\"),\n                cardInteractionLinkSelector: this.cardLinkClick.bind(this, \"uiCardInteractionLinkClick\")\n            }), this.JSBNG__on(\"uiHasExpandedTweet\", this.itemSelected), this.JSBNG__on(\"uiHasCollapsedTweet\", this.itemDeselected), this.JSBNG__on(\"uiRemoveTweetsFromUser\", this.removeTweetsFromUser), this.JSBNG__on(\"uiShortcutEnter\", this.navigateToViewMoreURL))));\n        });\n    };\n;\n    var utils = require(\"core/utils\"), compose = require(\"core/compose\"), userInfo = require(\"app/data/user_info\"), ddg = require(\"app/data/ddg\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withCardMetadata = require(\"app/data/with_card_metadata\");\n    module.exports = withItemActions;\n});\ndefine(\"app/ui/direct_message_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/with_timestamp_updating\",\"app/utils/string\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function directMessageDialog() {\n        this.defaultAttrs({\n            itemType: \"user\",\n            dialogSelector: \"#dm_dialog\",\n            closeSelector: \".js-close\",\n            classConversationList: \"dm-conversation-list\",\n            classConversation: \"dm-conversation\",\n            classNew: \"dm-new\",\n            viewConversationList: \"#dm_dialog_conversation_list\",\n            viewConversation: \"#dm_dialog_conversation\",\n            viewNew: \"#dm_dialog_new\",\n            linksForConversationListView: \"#dm_dialog_new h3 a, #dm_dialog_conversation h3 a\",\n            linksForConversationView: \".dm-thread-item\",\n            linksForNewView: \".dm-new-button\",\n            contentSelector: \".twttr-dialog-content\",\n            tweetBoxSelector: \".dm-tweetbox\",\n            deleteSelector: \".dm-delete\",\n            deleteConfirmSelector: \".dm-deleting .js-prompt-ok\",\n            deleteCancelSelector: \".dm-deleting .js-prompt-cancel\",\n            autocompleteImage: \"img.selected-profile\",\n            autocompleteInput: \"input.twttr-directmessage-input\",\n            newConversationEditor: \"#tweet-box-dm-new-conversation\",\n            errorContainerSelector: \".js-dm-error\",\n            errorTextSelector: \".dm-error-text\",\n            errorCloseSelector: \".js-dismiss\",\n            markAllReadSelector: \".mark-all-read\",\n            markReadConfirmSelector: \".mark-read-confirm .js-prompt-ok\",\n            markReadCancelSelector: \".mark-read-confirm .js-prompt-cancel\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            ((((b && b.fromInitData)) && this.JSBNG__on(\"uiDialogClosed\", function() {\n                ((this.isDialogNavigation || this.trigger(\"uiNavigate\", {\n                    href: \"/\"\n                })));\n            }))), this.trigger(\"dataRefreshDMs\"), ((((b && b.screen_name)) ? this.renderConversationView(null, b) : this.renderConversationListView())), this.open();\n        }, this.renderConversationListView = function(a, b) {\n            ((a && a.preventDefault())), this.renderView(this.attr.classConversationList);\n            var c = this.select(\"viewConversationList\");\n            if (c.hasClass(\"needs-refresh\")) {\n                c.removeClass(\"needs-refresh\"), this.trigger(\"uiNeedsDMConversationList\", {\n                    since_id: 0\n                });\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiDMDialogOpenedConversationList\");\n        }, this.renderConversationView = function(a, b) {\n            if (((a && this.isProfileLink($(a.target))))) {\n                a.preventDefault(), this.isDialogNavigation = !0, this.closeImmediately();\n                return;\n            }\n        ;\n        ;\n            this.deleteCancel(), ((a && a.preventDefault()));\n            var b = ((b || {\n            })), c = ((b.screen_name || $(b.el).attr(\"data-thread-id\"))), d = ((b.JSBNG__name || $(b.el).JSBNG__find(\".fullname\").text()));\n            this.lastMessageIdInConversation = $(b.el).attr(\"data-last-message-id\"), this.isConversationUnread = !!$(b.el).JSBNG__find(\".unread\").length, this.$node.JSBNG__find(\".dm_dialog_real_name\").text(d), this.select(\"viewConversation\").JSBNG__find(this.attr.contentSelector).empty(), this.renderView(this.attr.classConversation);\n            var e = ((conversationCache[c] || {\n            })), f = ((e.data && ((e.lastMessageId == this.lastMessageIdInConversation))));\n            ((f ? this.updateConversation(null, e.data) : this.trigger(\"uiNeedsDMConversation\", {\n                screen_name: c\n            }))), this.resetDMBox();\n        }, this.renderNewView = function(a, b) {\n            ((a && a.preventDefault()));\n            var c = this.select(\"autocompleteImage\").attr(\"data-default-img\");\n            this.renderView(this.attr.classNew), this.trigger(\"uiDMDialogOpenedNewConversation\"), this.resetDMBox(), this.select(\"autocompleteImage\").attr(\"src\", c), this.select(\"autocompleteInput\").val(\"\").JSBNG__focus(), ((((b && b.recipient)) && (this.selectAutocompleteUser(null, b.recipient), this.select(\"newConversationEditor\").JSBNG__focus()))), ((this.isOpen() || (this.trigger(\"dataRefreshDMs\"), this.open())));\n        }, this.renderView = function(a) {\n            this.hideError(), this.markReadCancel(), this.$dialogContainer.removeClass(this.viewClasses).addClass(a), ((this.attr.eventData || (this.attr.eventData = {\n            })));\n            var b;\n            switch (a) {\n              case this.attr.classNew:\n                b = \"dm_new_conversation_dialog\";\n                break;\n              case this.attr.classConversation:\n                b = \"dm_existing_conversation_dialog\";\n                break;\n              case this.attr.classConversationList:\n                b = \"dm_conversation_list_dialog\";\n            };\n        ;\n            this.attr.eventData.scribeContext = {\n                component: b\n            };\n        }, this.updateConversationList = function(a, b) {\n            var c = this.select(\"viewConversationList\"), d = c.JSBNG__find(\"li\");\n            ((b.sourceEventData.since_id ? d.filter(function() {\n                return (($.inArray($(this).data(\"thread-id\"), b.threads) > -1));\n            }).remove() : d.remove()));\n            var e = ((b.html || \"\"));\n            c.JSBNG__find(((this.attr.contentSelector + \" ul\"))).prepend(e);\n            var f = c.JSBNG__find(\".dm-no-messages\");\n            ((((c.JSBNG__find(\"li\").length == 0)) ? (f.addClass(\"show\"), this.select(\"markAllReadSelector\").addClass(\"disabled\").attr(\"disabled\", !0)) : (f.removeClass(\"show\"), this.select(\"markAllReadSelector\").removeClass(\"disabled\").attr(\"disabled\", !1)))), this.trigger(\"uiResetDMPoll\"), this.latestMessageId = ((b.last_message_id || -1));\n        }, this.updateConversation = function(a, b) {\n            ((a && a.preventDefault()));\n            var c = ((a && a.type)), d = b.recipient.screen_name;\n            conversationCache[d] = {\n                data: b,\n                lastMessageId: -1\n            }, this.$node.JSBNG__find(\".dm_dialog_real_name\").text(((b.recipient && b.recipient.JSBNG__name))), ((this.$dialogContainer.hasClass(this.attr.classConversation) || this.renderConversationView(null, {\n                screen_name: d,\n                JSBNG__name: b.recipient.JSBNG__name\n            })));\n            var e = this.select(\"viewConversation\").JSBNG__find(this.attr.contentSelector);\n            e.html(b.html), this.trigger(\"uiResetDMPoll\");\n            if (!e.JSBNG__find(\".js-dm-item\").length) {\n                ((((((c === \"dataDMSuccess\")) && ((b.msgAction == \"delete\")))) ? (this.trigger(\"dataRefreshDMs\"), this.renderConversationListView()) : this.trigger(\"uiOpenNewDM\", {\n                    recipient: b.recipient\n                })));\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiDMDialogOpenedConversation\", {\n                recipient: d\n            });\n            var f = e.JSBNG__find(\".dm-convo\");\n            if (f.length) {\n                var g = f.JSBNG__find(\".dm\").last().attr(\"data-message-id\");\n                conversationCache[d].lastMessageId = g, ((((a && ((a.type == \"dataDMConversationResult\")))) && this.initMsgRead(g, b.recipient.id_str))), f.scrollTop(f[0].scrollHeight);\n            }\n        ;\n        ;\n        }, this.initMsgRead = function(a, b) {\n            var c = ((this.lastMessageIdInConversation && ((StringUtils.compare(this.lastMessageIdInConversation, a) == -1))));\n            if (((this.isConversationUnread || c))) {\n                this.markMessages(null, {\n                    messageId: a,\n                    recipientId: b\n                }), this.select(\"viewConversationList\").JSBNG__find(((((\".dm-thread-item[data-last-message-id=\" + a)) + \"] .dm-thread-status i\"))).removeClass(\"unread\"), this.unreadCount -= this.select(\"viewConversation\").JSBNG__find(\".js-dm-item[data-unread=true]\").length, this.trigger(\"uiReadStateChanged\", {\n                    msgCount: this.unreadCount\n                });\n            }\n        ;\n        ;\n        }, this.sendMessage = function(a, b) {\n            var c = this.$dialogContainer.hasClass(this.attr.classConversation), d = b.recipient;\n            ((((!d && c)) ? d = this.select(\"viewConversation\").JSBNG__find(\"div[data-thread-id]\").data(\"thread-id\") : ((d || (d = this.select(\"viewNew\").JSBNG__find(\"input[type=text]\").val().trim())))));\n            if (!d) {\n                JSBNG__setTimeout(function() {\n                    this.sendMessage(a, b);\n                }.bind(this), 100);\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiDMDialogSendMessage\", {\n                tweetboxId: b.tweetboxId,\n                screen_name: d.replace(/^@/, \"\"),\n                text: b.tweetData.JSBNG__status\n            }), this.resetDMBox(), this.select(\"viewConversationList\").addClass(\"needs-refresh\");\n        }, this.selectAutocompleteUser = function(a, b) {\n            var c = ((b.JSBNG__item ? b.JSBNG__item.screen_name : b.screen_name)), d = ((b.JSBNG__item ? b.JSBNG__item.JSBNG__name : b.JSBNG__name)), e = this.select(\"viewConversationList\").JSBNG__find(((((\"li[data-thread-id=\" + c)) + \"]\"))).length;\n            ((e ? this.renderConversationView(null, {\n                screen_name: c,\n                JSBNG__name: d\n            }) : (this.select(\"autocompleteInput\").val(c), this.select(\"autocompleteImage\").attr(\"src\", this.getUserAvatar(((b.JSBNG__item ? b.JSBNG__item : b)))))));\n        }, this.getUserAvatar = function(a) {\n            return ((a.profile_image_url_https ? a.profile_image_url_https.replace(/^https?:/, \"\").replace(/_normal(\\..*)?$/i, \"_mini$1\") : null));\n        }, this.deleteMessage = function(a, b) {\n            this.select(\"tweetBoxSelector\").addClass(\"dm-deleting\").JSBNG__find(\".dm-delete-confirm .js-prompt-ok\").JSBNG__focus(), this.select(\"viewConversation\").JSBNG__find(\".marked-for-deletion\").removeClass(\"marked-for-deletion\"), $(a.target).closest(\".dm\").addClass(\"marked-for-deletion\");\n        }, this.deleteConfirm = function(a, b) {\n            var c = this.select(\"viewConversation\").JSBNG__find(\".marked-for-deletion\");\n            this.trigger(\"uiDMDialogDeleteMessage\", {\n                id: c.attr(\"data-message-id\")\n            }), this.select(\"viewConversationList\").addClass(\"needs-refresh\"), this.select(\"tweetBoxSelector\").removeClass(\"dm-deleting\");\n        }, this.deleteCancel = function(a, b) {\n            this.select(\"tweetBoxSelector\").removeClass(\"dm-deleting\"), this.select(\"viewConversation\").JSBNG__find(\".marked-for-deletion\").removeClass(\"marked-for-deletion\");\n        }, this.markMessages = function(a, b) {\n            this.trigger(\"dataMarkDMsAsRead\", {\n                last_message_id: ((b.messageId || this.latestMessageId)),\n                recipient_id: b.recipientId\n            });\n        }, this.markAllMessages = function(a, b) {\n            this.markMessages(a, b), this.trigger(\"uiDMDialogMarkMessage\"), this.trigger(\"uiReadStateChanged\", {\n                msgCount: 0\n            });\n        }, this.updateReadState = function(a, b) {\n            this.select(\"viewConversationList\").addClass(\"needs-refresh\"), ((this.$dialogContainer.hasClass(this.attr.classConversationList) && this.JSBNG__openDialog()));\n        }, this.refreshDMList = function(a, b) {\n            ((((((((b && b.d)) && ((b.d.JSBNG__status === \"ok\")))) && ((b.d.response != null)))) && (((((((this.unreadCount != b.d.response)) && this.$dialogContainer.is(\":visible\"))) && ((this.$dialogContainer.hasClass(this.attr.classConversationList) ? this.trigger(\"dataRefreshDMs\") : ((this.$dialogContainer.hasClass(this.attr.classConversation) && (this.lastMessageIdInConversation = -1, this.renderConversationView(null, {\n                screen_name: this.$dialogContainer.JSBNG__find(\".dm-convo\").attr(\"data-thread-id\"),\n                JSBNG__name: this.$dialogContainer.JSBNG__find(\".dm_dialog_real_name\").text()\n            })))))))), this.unreadCount = b.d.response)));\n        }, this.showMarkReadConfirm = function(a, b) {\n            ((a && a.preventDefault()));\n            if (this.select(\"markAllReadSelector\").hasClass(\"disabled\")) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"viewConversationList\").addClass(\"show-mark-read\");\n        }, this.markReadCancel = function(a, b) {\n            this.select(\"viewConversationList\").removeClass(\"show-mark-read\");\n        }, this.showError = function(a, b) {\n            this.select(\"errorTextSelector\").html(((b.message || b.error))), this.select(\"errorContainerSelector\").show();\n        }, this.hideError = function(a, b) {\n            this.select(\"errorContainerSelector\").hide();\n        }, this.resetDMBox = function() {\n            this.select(\"tweetBoxSelector\").trigger(\"uiDMBoxReset\");\n        }, this.isProfileLink = function(a) {\n            return !!a.closest(\"a.js-user-profile-link\").length;\n        }, this.after(\"initialize\", function() {\n            this.$dialogContainer = this.select(\"dialogSelector\"), this.viewClasses = [this.attr.classConversationList,this.attr.classConversation,this.attr.classNew,].join(\" \"), this.JSBNG__on(JSBNG__document, \"uiNeedsDMDialog\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"uiOpenNewDM\", this.renderNewView), this.JSBNG__on(JSBNG__document, \"dataDMConversationListResult\", this.updateConversationList), this.JSBNG__on(JSBNG__document, \"dataDMSuccess dataDMConversationResult\", this.updateConversation), this.JSBNG__on(JSBNG__document, \"uiSendDM\", this.sendMessage), this.JSBNG__on(JSBNG__document, \"dataDMError\", this.showError), this.JSBNG__on(\"uiTypeaheadItemSelected uiTypeaheadItemComplete\", this.selectAutocompleteUser), this.JSBNG__on(JSBNG__document, \"dataDMReadSuccess\", this.updateReadState), this.JSBNG__on(JSBNG__document, \"dataNotificationsReceived\", this.refreshDMList), this.JSBNG__on(\"click\", {\n                linksForConversationListView: this.renderConversationListView,\n                linksForConversationView: this.renderConversationView,\n                linksForNewView: this.renderNewView,\n                deleteSelector: this.deleteMessage,\n                deleteConfirmSelector: this.deleteConfirm,\n                deleteCancelSelector: this.deleteCancel,\n                errorCloseSelector: this.hideError,\n                markAllReadSelector: this.showMarkReadConfirm,\n                markReadConfirmSelector: this.markAllMessages,\n                markReadCancelSelector: this.markReadCancel\n            }), this.unreadCount = 0;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), StringUtils = require(\"app/utils/string\"), withItemActions = require(\"app/ui/with_item_actions\"), DirectMessageDialog = defineComponent(directMessageDialog, withDialog, withPosition, withTimestampUpdating, withItemActions), conversationCache = {\n    };\n    module.exports = DirectMessageDialog;\n});\ndefine(\"app/boot/direct_messages\", [\"module\",\"require\",\"exports\",\"app/data/direct_messages\",\"app/data/direct_messages_scribe\",\"app/ui/direct_message_link_handler\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",\"app/ui/direct_message_dialog\",\"app/ui/tweet_box\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        DirectMessagesData.attachTo(JSBNG__document, a), DirectMessagesScribe.attachTo(JSBNG__document, a), DirectMessageLinkHandler.attachTo(JSBNG__document, a), DirectMessageDialog.attachTo(\"#dm_dialog\", a);\n        var b = {\n            scribeContext: {\n                component: \"tweet_box_dm\"\n            }\n        };\n        TweetBox.attachTo(\"#dm_dialog form.tweet-form\", {\n            eventParams: {\n                type: \"DM\"\n            },\n            suppressFlashMessage: !0,\n            eventData: b\n        }), TypeaheadInput.attachTo(\"#dm_dialog_new .dm-dialog-content\", {\n            inputSelector: \"input.twttr-directmessage-input\",\n            eventData: b\n        }), TypeaheadDropdown.attachTo(\"#dm_dialog_new .dm-dialog-content\", {\n            inputSelector: \"input.twttr-directmessage-input\",\n            datasourceRenders: [[\"accounts\",[\"dmAccounts\",],],],\n            blockLinkActions: !0,\n            deciders: a.typeaheadData,\n            eventData: b\n        });\n    };\n;\n    var DirectMessagesData = require(\"app/data/direct_messages\"), DirectMessagesScribe = require(\"app/data/direct_messages_scribe\"), DirectMessageLinkHandler = require(\"app/ui/direct_message_link_handler\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\"), DirectMessageDialog = require(\"app/ui/direct_message_dialog\"), TweetBox = require(\"app/ui/tweet_box\"), utils = require(\"core/utils\"), hasDialog = !!$(\"#dm_dialog\").length;\n    module.exports = ((hasDialog ? initialize : $.noop));\n});\ndefine(\"app/data/profile_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function profilePopupData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.userCache = {\n            screenNames: Object.create(null),\n            ids: Object.create(null)\n        }, this.socialProofCache = {\n            screenNames: Object.create(null),\n            ids: Object.create(null)\n        }, this.saveToCache = function(a, b) {\n            a.ids[b.user_id] = b, a.screenNames[b.screen_name] = b;\n        }, this.retrieveFromCache = function(a, b) {\n            var c;\n            return ((b.userId ? c = a.ids[b.userId] : ((b.user_id ? c = a.ids[b.user_id] : ((b.screenName ? c = a.screenNames[b.screenName] : ((b.screen_name && (c = a.screenNames[b.screen_name]))))))))), c;\n        }, this.invalidateCaches = function(a, b) {\n            var c, d, e;\n            ((b.userId ? (c = b.userId, e = this.userCache.ids[c], d = ((e && e.screen_name))) : (d = b.screenName, e = this.userCache.screenNames[d], c = ((e && e.user_id))))), ((c && delete this.userCache.ids[c])), ((c && delete this.socialProofCache.ids[c])), ((d && delete this.userCache.screenNames[d])), ((d && delete this.socialProofCache.screenNames[d]));\n        }, this.getSocialProof = function(a, b) {\n            if (((!this.attr.asyncSocialProof || !this.attr.loggedIn))) {\n                return;\n            }\n        ;\n        ;\n            var c = function(a) {\n                this.saveToCache(this.socialProofCache, a);\n                var b = this.retrieveFromCache(this.userCache, a);\n                ((b && this.trigger(\"dataSocialProofSuccess\", a)));\n            }.bind(this), d = function(a) {\n                this.trigger(\"dataSocialProofFailure\", a);\n            }.bind(this), e = this.retrieveFromCache(this.socialProofCache, a);\n            if (e) {\n                e.sourceEventData = a, c(e);\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: \"/i/profiles/social_proof\",\n                data: b,\n                eventData: a,\n                cache: !1,\n                success: c,\n                error: d\n            });\n        }, this.getProfilePopupMain = function(a, b) {\n            var c = function(a) {\n                this.saveToCache(this.userCache, a), this.trigger(\"dataProfilePopupSuccess\", a);\n                var b = this.retrieveFromCache(this.socialProofCache, a);\n                ((b && this.trigger(\"dataSocialProofSuccess\", b)));\n            }.bind(this), d = function(a) {\n                this.trigger(\"dataProfilePopupFailure\", a);\n            }.bind(this), e = this.retrieveFromCache(this.userCache, a);\n            if (e) {\n                e.sourceEventData = a, c(e);\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: \"/i/profiles/popup\",\n                data: b,\n                eventData: a,\n                cache: !1,\n                success: c,\n                error: d\n            });\n        }, this.getProfilePopup = function(a, b) {\n            var c = {\n            };\n            ((b.screenName ? c.screen_name = b.screenName : ((b.userId && (c.user_id = b.userId))))), ((this.attr.asyncSocialProof && (c.async_social_proof = !0))), this.getSocialProof(b, c), this.getProfilePopupMain(b, c);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiWantsProfilePopup\", this.getProfilePopup), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange dataUserActionSuccess\", this.invalidateCaches);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), ProfilePopupData = defineComponent(profilePopupData, withData);\n    module.exports = ProfilePopupData;\n});\ndefine(\"app/data/profile_popup_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_interaction_data_scribe\",\"app/data/client_event\",], function(module, require, exports) {\n    function profilePopupScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_dialog\"\n            }\n        }), this.scribeProfilePopupOpen = function(a, b) {\n            if (((((this.clientEvent.scribeContext.page != \"profile\")) || !this.clientEvent.scribeData.profile_id))) {\n                this.clientEvent.scribeData.profile_id = b.user_id;\n            }\n        ;\n        ;\n            var c = utils.merge(this.attr.scribeContext, {\n                action: \"open\"\n            });\n            this.scribe(c, b);\n        }, this.cleanupProfilePopupScribing = function(a, b) {\n            ((((this.clientEvent.scribeData.profile_id && ((this.clientEvent.scribeContext.page != \"profile\")))) && delete this.clientEvent.scribeData.profile_id));\n        }, this.scribePopupSocialProof = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                element: \"social_proof\",\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.clientEvent = clientEvent, this.JSBNG__on(JSBNG__document, \"dataProfilePopupSuccess\", this.scribeProfilePopupOpen), this.JSBNG__on(JSBNG__document, \"uiCloseProfilePopup\", this.cleanupProfilePopupScribing), this.JSBNG__on(JSBNG__document, \"uiHasPopupSocialProof\", this.scribePopupSocialProof);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), clientEvent = require(\"app/data/client_event\");\n    module.exports = defineComponent(profilePopupScribe, withInteractionDataScribe);\n});\ndefine(\"app/ui/user_actions_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n    function userActionsDropdown() {\n        this.defaultAttrs({\n            toggler: \".user-dropdown\",\n            dropdownThresholdSelector: \".dropdown-threshold\",\n            dropdownMenuSelector: \".dropdown-menu\"\n        }), this.scrollIntoView = function() {\n            ddg.impression(\"mobile_notifications_tweaks_608\");\n            var a = this.$node.closest(this.attr.dropdownThresholdSelector), b, c;\n            ((a.length && (b = this.$node.JSBNG__find(this.attr.dropdownMenuSelector), c = ((((b.offset().JSBNG__top + b.JSBNG__outerHeight())) - ((a.offset().JSBNG__top + a.height())))), ((((c > 0)) && a.animate({\n                scrollTop: ((a.scrollTop() + c))\n            }))))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDropdownOpened\", this.scrollIntoView), this.toggleDisplay();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), withDropdown = require(\"app/ui/with_dropdown\"), UserActionsDropdown = defineComponent(userActionsDropdown, withDropdown);\n    module.exports = UserActionsDropdown;\n});\ndefine(\"app/ui/with_user_actions\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/i18n\",\"core/utils\",\"app/ui/with_interaction_data\",\"app/ui/user_actions_dropdown\",\"app/utils/string\",], function(module, require, exports) {\n    function withUserActions() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            followButtonSelector: \".follow-button, .follow-link\",\n            emailFollowButtonSelector: \".email-follow-button\",\n            userInfoSelector: \".user-actions\",\n            dropdownSelector: \".user-actions .dropdown\",\n            dropdownItemSelector: \".user-actions .dropdown.open .dropdown-menu li\",\n            followStates: [\"not-following\",\"following\",\"blocked\",\"pending\",],\n            userActionClassesToEvents: {\n                \"mention-text\": [\"uiMentionAction\",\"mentionUser\",],\n                \"dm-text\": [\"uiDmAction\",\"dmUser\",],\n                \"list-text\": [\"uiListAction\",],\n                \"block-text\": [\"uiBlockAction\",],\n                \"unblock-text\": [\"uiUnblockAction\",],\n                \"report-spam-text\": [\"uiReportSpamAction\",],\n                \"hide-suggestion-text\": [\"uiHideSuggestionAction\",],\n                \"retweet-on-text\": [\"uiRetweetOnAction\",],\n                \"retweet-off-text\": [\"uiRetweetOffAction\",],\n                \"device-notifications-on-text\": [\"uiDeviceNotificationsOnAction\",\"deviceNotificationsOn\",],\n                \"device-notifications-off-text\": [\"uiDeviceNotificationsOffAction\",],\n                \"embed-profile\": [\"uiEmbedProfileAction\",\"redirectToEmbedProfile\",],\n                \"email-follow-text\": [\"uiEmailFollowAction\",],\n                \"email-unfollow-text\": [\"uiEmailUnfollowAction\",]\n            }\n        }), this.getClassNameFromList = function(a, b) {\n            var c = b.filter(function(b) {\n                return a.hasClass(b);\n            });\n            return ((((c.length > 1)) && JSBNG__console.log(\"Element has more than one mutually exclusive class.\", c))), c[0];\n        }, this.getUserActionEventNameAndMethod = function(a) {\n            var b = this.getClassNameFromList(a, Object.keys(this.attr.userActionClassesToEvents));\n            return this.attr.userActionClassesToEvents[b];\n        }, this.getFollowState = function(a) {\n            return this.getClassNameFromList(a, this.attr.followStates);\n        }, this.getInfoElementFromEvent = function(a) {\n            var b = $(a.target);\n            return b.closest(this.attr.userInfoSelector);\n        }, this.findInfoElementForUser = function(a) {\n            var b = ((((((this.attr.userInfoSelector + \"[data-user-id=\")) + StringUtils.parseBigInt(a))) + \"]\"));\n            return this.$node.JSBNG__find(b);\n        }, this.getEventName = function(a) {\n            var b = {\n                \"not-following\": \"uiFollowAction\",\n                following: \"uiUnfollowAction\",\n                blocked: \"uiUnblockAction\",\n                pending: \"uiCancelFollowRequestAction\"\n            };\n            return b[a];\n        }, this.addCancelHoverStyleClass = function(a) {\n            a.addClass(\"cancel-hover-style\"), a.one(\"mouseleave\", function() {\n                a.removeClass(\"cancel-hover-style\");\n            });\n        }, this.handleFollowButtonClick = function(a) {\n            a.stopPropagation(), this.trigger($(a.target), \"uiCloseDropdowns\");\n            var b = this.getInfoElementFromEvent(a), c = $(a.target).closest(this.attr.followButtonSelector);\n            this.addCancelHoverStyleClass(c);\n            var d = this.getFollowState(b);\n            ((((((d == \"not-following\")) && ((b.attr(\"data-protected\") == \"true\")))) && this.trigger(\"uiShowMessage\", {\n                message: _(\"A follow request has been sent to @{{screen_name}} and is pending their approval.\", {\n                    screen_name: b.attr(\"data-screen-name\")\n                })\n            })));\n            var e = this.getEventName(d), f = {\n                originalFollowState: d\n            };\n            this.trigger(e, this.interactionData(a, f));\n        }, this.handleEmailFollowButtonClick = function(a) {\n            var b = this.getInfoElementFromEvent(a), c = $(a.target).closest(this.attr.emailFollowButtonSelector);\n            this.addCancelHoverStyleClass(c), ((b.hasClass(\"email-following\") ? this.trigger(\"uiEmailUnfollowAction\", this.interactionData(a)) : this.trigger(\"uiEmailFollowAction\", this.interactionData(a))));\n        }, this.handleLoggedOutFollowButtonClick = function(a) {\n            a.stopPropagation(), this.trigger($(a.target), \"uiCloseDropdowns\"), this.trigger(\"uiOpenSigninOrSignupDialog\", {\n                signUpOnly: !0,\n                screenName: this.getInfoElementFromEvent(a).attr(\"data-screen-name\")\n            });\n        }, this.handleUserAction = function(a) {\n            a.stopPropagation();\n            var b = $(a.target), c = this.getInfoElementFromEvent(a), d = this.getUserActionEventNameAndMethod(b), e = d[0], f = d[1], g = this.getFollowState(c), h = {\n                originalFollowState: g\n            };\n            ((f && (h = this[f](c, e, h)))), ((h && this.trigger(e, this.interactionData(a, h)))), this.trigger(b, \"uiCloseDropdowns\");\n        }, this.deviceNotificationsOn = function(a, b, c) {\n            return ((this.attr.deviceEnabled ? c : (((((this.attr.smsDeviceVerified || this.attr.hasPushDevice)) ? this.trigger(\"uiOpenConfirmDialog\", {\n                titleText: _(\"Enable mobile notifications for Tweets\"),\n                bodyText: _(\"Before you can receive mobile notifications for @{{screenName}}'s Tweets, you need to enable the Tweet notification setting.\", {\n                    screenName: a.attr(\"data-screen-name\")\n                }),\n                cancelText: _(\"Close\"),\n                submitText: _(\"Enable Tweet notifications\"),\n                action: ((this.attr.hasPushDevice ? \"ShowPushTweetsNotifications\" : \"ShowMobileNotifications\")),\n                JSBNG__top: this.attr.JSBNG__top\n            }) : this.trigger(\"uiOpenConfirmDialog\", {\n                titleText: _(\"Setup mobile notifications\"),\n                bodyText: _(\"Before you can receive mobile notifications for @{{screenName}}'s Tweets, you need to set up your phone.\", {\n                    screenName: a.attr(\"data-screen-name\")\n                }),\n                cancelText: _(\"Cancel\"),\n                submitText: _(\"Set up phone\"),\n                action: \"ShowMobileNotifications\",\n                JSBNG__top: this.attr.JSBNG__top\n            }))), !1)));\n        }, this.redirectToMobileNotifications = function() {\n            window.JSBNG__location = \"/settings/devices\";\n        }, this.redirectToPushNotificationsHelp = function() {\n            window.JSBNG__location = \"//support.twitter.com/articles/20169887\";\n        }, this.redirectToEmbedProfile = function(a, b, c) {\n            return this.trigger(\"uiNavigate\", {\n                href: ((\"/settings/widgets/new/user?screen_name=\" + a.attr(\"data-screen-name\")))\n            }), !0;\n        }, this.mentionUser = function(a, b, c) {\n            this.trigger(\"uiOpenTweetDialog\", {\n                screenName: a.attr(\"data-screen-name\"),\n                title: _(\"Tweet to {{name}}\", {\n                    JSBNG__name: a.attr(\"data-name\")\n                })\n            });\n        }, this.dmUser = function(a, b, c) {\n            return this.trigger(\"uiNeedsDMDialog\", {\n                screen_name: a.attr(\"data-screen-name\"),\n                JSBNG__name: a.attr(\"data-name\")\n            }), c;\n        }, this.hideSuggestion = function(a, b, c) {\n            return utils.merge(c, {\n                feedbackToken: a.attr(\"data-feedback-token\")\n            });\n        }, this.followStateChange = function(a, b) {\n            this.updateFollowState(b.userId, b.newState), ((b.fromShortcut && ((((b.newState === \"not-following\")) ? this.trigger(\"uiShowMessage\", {\n                message: _(\"You have unblocked {{username}}\", {\n                    username: b.username\n                })\n            }) : ((((b.newState === \"blocked\")) && this.trigger(\"uiUpdateAfterBlock\", {\n                userId: b.userId\n            })))))));\n        }, this.updateFollowState = function(a, b) {\n            var c = this.findInfoElementForUser(a), d = this.getFollowState(c);\n            ((d && c.removeClass(d))), c.addClass(b);\n        }, this.follow = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId), d = ((c.data(\"protected\") ? \"pending\" : \"following\"));\n            this.updateFollowState(b.userId, d), c.addClass(\"including\");\n        }, this.unfollow = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            this.updateFollowState(b.userId, \"not-following\"), c.removeClass(\"including notifying email-following\");\n        }, this.cancel = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            this.updateFollowState(b.userId, \"not-following\");\n        }, this.block = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            this.updateFollowState(b.userId, \"blocked\"), c.removeClass(\"including notifying email-following\");\n        }, this.unblock = function(a, b) {\n            this.updateFollowState(b.userId, \"not-following\");\n        }, this.retweetsOn = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.addClass(\"including\");\n        }, this.retweetsOff = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.removeClass(\"including\");\n        }, this.notificationsOn = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.addClass(\"notifying\");\n        }, this.notificationsOff = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.removeClass(\"notifying\");\n        }, this.blockUserConfirmed = function(a, b) {\n            a.stopImmediatePropagation(), this.trigger(\"uiBlockAction\", b.sourceEventData);\n        }, this.emailFollow = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.addClass(\"email-following\");\n        }, this.emailUnfollow = function(a, b) {\n            var c = this.findInfoElementForUser(b.userId);\n            c.removeClass(\"email-following\");\n        }, this.initializeDropdown = function() {\n            ((this.dropdownInitialized || (UserActionsDropdown.attachTo(this.attr.dropdownSelector), this.dropdownInitialized = !0)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                dropdownSelector: this.initializeDropdown\n            });\n            if (!this.attr.loggedIn) {\n                this.JSBNG__on(\"click\", {\n                    followButtonSelector: this.handleLoggedOutFollowButtonClick\n                });\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(\"click\", {\n                followButtonSelector: this.handleFollowButtonClick,\n                emailFollowButtonSelector: this.handleEmailFollowButtonClick,\n                dropdownItemSelector: this.handleUserAction\n            }), this.JSBNG__on(JSBNG__document, \"uiFollowStateChange dataFollowStateChange dataBulkFollowStateChange\", this.followStateChange), this.JSBNG__on(JSBNG__document, \"uiFollowAction\", this.follow), this.JSBNG__on(JSBNG__document, \"uiUnfollowAction\", this.unfollow), this.JSBNG__on(JSBNG__document, \"uiCancelFollowRequestAction\", this.cancel), this.JSBNG__on(JSBNG__document, \"uiBlockAction uiReportSpamAction\", this.block), this.JSBNG__on(JSBNG__document, \"uiUnblockAction\", this.unblock), this.JSBNG__on(JSBNG__document, \"uiRetweetOnAction dataRetweetOnAction\", this.retweetsOn), this.JSBNG__on(JSBNG__document, \"uiRetweetOffAction dataRetweetOffAction\", this.retweetsOff), this.JSBNG__on(JSBNG__document, \"uiDeviceNotificationsOnAction dataDeviceNotificationsOnAction\", this.notificationsOn), this.JSBNG__on(JSBNG__document, \"uiDeviceNotificationsOffAction dataDeviceNotificationsOffAction\", this.notificationsOff), this.JSBNG__on(JSBNG__document, \"uiShowMobileNotificationsConfirm\", this.redirectToMobileNotifications), this.JSBNG__on(JSBNG__document, \"uiShowPushTweetsNotificationsConfirm\", this.redirectToPushNotificationsHelp), this.JSBNG__on(JSBNG__document, \"uiDidBlockUser\", this.blockUserConfirmed), this.JSBNG__on(JSBNG__document, \"uiEmailFollowAction dataEmailFollow\", this.emailFollow), this.JSBNG__on(JSBNG__document, \"uiEmailUnfollowAction dataEmailUnfollow\", this.emailUnfollow);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), _ = require(\"core/i18n\"), utils = require(\"core/utils\"), withInteractionData = require(\"app/ui/with_interaction_data\"), UserActionsDropdown = require(\"app/ui/user_actions_dropdown\"), StringUtils = require(\"app/utils/string\");\n    module.exports = withUserActions;\n});\ndefine(\"app/ui/with_profile_stats\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withProfileStats() {\n        this.defaultAttrs({\n        }), this.updateProfileStats = function(a, b) {\n            if (((!b.stats || !b.stats.length))) {\n                return;\n            }\n        ;\n        ;\n            $.each(b.stats, function(a, b) {\n                this.$node.JSBNG__find(this.statSelector(b.user_id, b.stat)).html(b.html);\n            }.bind(this));\n        }, this.statSelector = function(a, b) {\n            return ((((((((\".stats[data-user-id=\\\"\" + a)) + \"\\\"] a[data-element-term=\\\"\")) + b)) + \"_stats\\\"]\"));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataGotProfileStats\", this.updateProfileStats);\n        });\n    };\n;\n    module.exports = withProfileStats;\n});\ndefine(\"app/ui/with_handle_overflow\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withHandleOverflow() {\n        this.defaultAttrs({\n            heightOverflowClassName: \"height-overflow\"\n        }), this.checkForOverflow = function(a) {\n            a = ((a || this.$node));\n            if (((!a || !a.length))) {\n                return;\n            }\n        ;\n        ;\n            ((((a[0].scrollHeight > a.height())) ? a.addClass(this.attr.heightOverflowClassName) : a.removeClass(this.attr.heightOverflowClassName)));\n        };\n    };\n;\n    module.exports = withHandleOverflow;\n});\ndefine(\"app/ui/profile_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",], function(module, require, exports) {\n    function profilePopup() {\n        this.defaultAttrs({\n            modalSelector: \".modal\",\n            dialogContentSelector: \".profile-modal\",\n            profileHeaderInnerSelector: \".profile-header-inner\",\n            socialProofSelector: \".social-proof\",\n            tweetSelector: \".simple-tweet\",\n            slideDuration: 100,\n            JSBNG__top: 47,\n            bottom: 10,\n            tweetMinimum: 2,\n            itemType: \"user\"\n        }), this.slideInContent = function(a) {\n            var b = this.$dialog.height(), c = $(a);\n            this.addHeaderImage(c), this.$contentContainer.html(c), this.$node.addClass(\"has-content\"), this.removeTweets();\n            var d = this.$dialog.height();\n            this.$dialog.height(b), this.$dialog.animate({\n                height: d\n            }, this.attr.slideDuration, this.slideInComplete.bind(this));\n        }, this.removeTweets = function() {\n            var a = this.select(\"tweetSelector\");\n            for (var b = ((a.length - 1)); ((b > ((this.attr.tweetMinimum - 1)))); b--) {\n                if (!this.isTooTall()) {\n                    return;\n                }\n            ;\n            ;\n                a.eq(b).remove();\n            };\n        ;\n        }, this.getWindowHeight = function() {\n            return $(window).height();\n        }, this.isTooTall = function() {\n            return ((((((this.$dialog.height() + this.attr.JSBNG__top)) + this.attr.bottom)) > this.getWindowHeight()));\n        }, this.addHeaderImage = function(a) {\n            var b = a.JSBNG__find(this.attr.profileHeaderInnerSelector);\n            b.css(\"background-image\", b.attr(\"data-background-image\"));\n        }, this.slideInComplete = function() {\n            this.checkForOverflow(this.select(\"profileHeaderInnerSelector\"));\n        }, this.clearPopup = function() {\n            this.$dialog.height(\"auto\"), this.$contentContainer.empty();\n        }, this.openProfilePopup = function(a, b) {\n            ((b.screenName && delete b.userId));\n            if (((((b.userId && ((b.userId === this.currentUserId())))) || ((b.screenName && ((b.screenName === this.currentScreenName()))))))) {\n                return;\n            }\n        ;\n        ;\n            this.open(), this.clearPopup(), this.$node.removeClass(\"has-content\"), this.$node.attr(\"data-associated-tweet-id\", ((b.tweetId || null))), this.$node.attr(\"data-impression-id\", ((b.impressionId || null))), this.$node.attr(\"data-disclosure-type\", ((b.disclosureType || null))), this.$node.attr(\"data-impression-cookie\", ((b.impressionCookie || null))), this.trigger(\"uiWantsProfilePopup\", b);\n        }, this.closeProfilePopup = function(a) {\n            this.clearPopup(), this.trigger(\"uiCloseProfilePopup\", {\n                userId: this.currentUserId(),\n                screenName: this.currentScreenName()\n            });\n        }, this.fillProfile = function(a, b) {\n            this.$node.attr(\"data-screen-name\", ((b.screen_name || null))), this.$node.attr(\"data-user-id\", ((b.user_id || null))), this.slideInContent(b.html);\n        }, this.removeSocialProof = function(a, b) {\n            this.select(\"socialProofSelector\").remove();\n        }, this.addSocialProof = function(a, b) {\n            ((b.html ? (this.select(\"socialProofSelector\").html(b.html), this.trigger(\"uiHasPopupSocialProof\")) : this.removeSocialProof()));\n        }, this.showError = function(a, b) {\n            var c = [\"\\u003Cdiv class=\\\"profile-modal-header error\\\"\\u003E\\u003Cp\\u003E\",b.message,\"\\u003C/p\\u003E\\u003C/div\\u003E\",].join(\"\");\n            this.slideInContent(c);\n        }, this.getPopupData = function(a) {\n            return ((((!this.isOpen() || !this.$node.hasClass(\"has-content\"))) ? null : this.$node.attr(a)));\n        }, this.currentScreenName = function() {\n            return this.getPopupData(\"data-screen-name\");\n        }, this.currentUserId = function() {\n            return this.getPopupData(\"data-user-id\");\n        }, this.after(\"initialize\", function() {\n            this.$contentContainer = this.select(\"dialogContentSelector\"), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup\", this.openProfilePopup), this.JSBNG__on(JSBNG__document, \"dataProfilePopupSuccess\", this.fillProfile), this.JSBNG__on(JSBNG__document, \"dataProfilePopupFailure\", this.showError), this.JSBNG__on(JSBNG__document, \"dataSocialProofSuccess\", this.addSocialProof), this.JSBNG__on(JSBNG__document, \"dataSocialProofFailure\", this.removeSocialProof), this.JSBNG__on(JSBNG__document, \"uiOpenConfirmDialog uiOpenTweetDialog uiNeedsDMDialog uiListAction uiOpenSigninOrSignupDialog uiEmbedProfileAction\", this.close), this.JSBNG__on(\"uiDialogClosed\", this.closeProfilePopup);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withProfileStats = require(\"app/ui/with_profile_stats\"), withHandleOverflow = require(\"app/ui/with_handle_overflow\"), ProfilePopup = defineComponent(profilePopup, withDialog, withPosition, withUserActions, withItemActions, withProfileStats, withHandleOverflow);\n    module.exports = ProfilePopup;\n});\ndefine(\"app/data/profile_edit_btn_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileEditBtnScribe() {\n        this.defaultAttrs({\n            editButtonSelector: \".edit-profile-btn\",\n            scribeContext: {\n            }\n        }), this.scribeAction = function(a) {\n            var b = utils.merge(this.attr.scribeContext, {\n                action: a\n            });\n            return function(a, c) {\n                b.element = $(a.target).attr(\"data-scribe-element\"), this.scribe(b);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                editButtonSelector: this.scribeAction(\"click\")\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(profileEditBtnScribe, withScribe);\n});\ndefine(\"app/data/user\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_data\",], function(module, require, exports) {\n    function userData() {\n        this.updateFollowStatus = function(a, b) {\n            function c(c) {\n                this.trigger(\"dataFollowStateChange\", utils.merge(c, a, {\n                    userId: a.userId,\n                    newState: c.new_state,\n                    requestUrl: b,\n                    isFollowBack: c.is_follow_back\n                })), this.trigger(JSBNG__document, \"dataGotProfileStats\", {\n                    stats: c.profile_stats\n                });\n            };\n        ;\n            function d(b) {\n                var c = a.userId, d = a.originalFollowState;\n                ((b.new_state && (d = b.new_state))), this.trigger(\"dataFollowStateChange\", utils.merge(b, {\n                    userId: c,\n                    newState: d\n                }));\n            };\n        ;\n            var e = ((a.disclosureType ? ((a.disclosureType == \"earned\")) : undefined));\n            this.post({\n                url: b,\n                data: {\n                    user_id: a.userId,\n                    impression_id: a.impressionId,\n                    earned: e,\n                    fromShortcut: a.fromShortcut\n                },\n                eventData: a,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.reversibleAjaxCall = function(a, b, c) {\n            function d(c) {\n                this.trigger(\"dataUserActionSuccess\", $.extend({\n                }, c, {\n                    userId: a.userId,\n                    requestUrl: b\n                })), ((c.message && this.trigger(\"uiShowMessage\", c)));\n            };\n        ;\n            function e(b) {\n                this.trigger(c, a);\n            };\n        ;\n            this.post({\n                url: b,\n                data: {\n                    user_id: a.userId,\n                    impression_id: a.impressionId\n                },\n                eventData: a,\n                success: d.bind(this),\n                error: e.bind(this)\n            });\n        }, this.normalAjaxCall = function(a, b) {\n            function c(c) {\n                this.trigger(\"dataUserActionSuccess\", $.extend({\n                }, c, {\n                    userId: a.userId,\n                    requestUrl: b\n                })), ((c.message && this.trigger(\"uiShowMessage\", c)));\n            };\n        ;\n            this.post({\n                url: b,\n                data: {\n                    user_id: a.userId,\n                    token: a.feedbackToken,\n                    impression_id: a.impressionId\n                },\n                eventData: a,\n                success: c.bind(this),\n                error: \"dataUserActionError\"\n            });\n        }, this.followAction = function(a, b) {\n            var c = \"/i/user/follow\";\n            this.updateFollowStatus(b, c);\n        }, this.unfollowAction = function(a, b) {\n            var c = \"/i/user/unfollow\";\n            this.updateFollowStatus(b, c);\n        }, this.cancelAction = function(a, b) {\n            var c = \"/i/user/cancel\";\n            this.updateFollowStatus(b, c);\n        }, this.blockAction = function(a, b) {\n            var c = \"/i/user/block\";\n            this.updateFollowStatus(b, c);\n        }, this.unblockAction = function(a, b) {\n            var c = \"/i/user/unblock\";\n            this.updateFollowStatus(b, c);\n        }, this.reportSpamAction = function(a, b) {\n            this.normalAjaxCall(b, \"/i/user/report_spam\");\n        }, this.hideSuggestionAction = function(a, b) {\n            this.normalAjaxCall(b, \"/i/user/hide\");\n        }, this.retweetOnAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/user/retweets_on\", \"dataRetweetOffAction\");\n        }, this.retweetOffAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/user/retweets_off\", \"dataRetweetOnAction\");\n        }, this.deviceNotificationsOnAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/user/device_notifications_on\", \"dataDeviceNotificationsOffAction\");\n        }, this.deviceNotificationsOffAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/user/device_notifications_off\", \"dataDeviceNotificationsOnAction\");\n        }, this.emailFollowAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/email_follow/email_follow\", \"dataEmailUnfollow\");\n        }, this.emailUnfollowAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/email_follow/email_unfollow\", \"dataEmailFollow\");\n        }, this.enableEmailFollowAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/email_follow/enable\", \"dataDisableEmailFollow\");\n        }, this.disableEmailFollowAction = function(a, b) {\n            this.reversibleAjaxCall(b, \"/i/email_follow/disable\", \"dataEnableEmailFollow\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiFollowAction\", this.followAction), this.JSBNG__on(JSBNG__document, \"uiUnfollowAction\", this.unfollowAction), this.JSBNG__on(JSBNG__document, \"uiCancelFollowRequestAction\", this.cancelAction), this.JSBNG__on(JSBNG__document, \"uiBlockAction\", this.blockAction), this.JSBNG__on(JSBNG__document, \"uiUnblockAction\", this.unblockAction), this.JSBNG__on(JSBNG__document, \"uiReportSpamAction\", this.reportSpamAction), this.JSBNG__on(JSBNG__document, \"uiHideSuggestionAction\", this.hideSuggestionAction), this.JSBNG__on(JSBNG__document, \"uiRetweetOnAction\", this.retweetOnAction), this.JSBNG__on(JSBNG__document, \"uiRetweetOffAction\", this.retweetOffAction), this.JSBNG__on(JSBNG__document, \"uiDeviceNotificationsOnAction\", this.deviceNotificationsOnAction), this.JSBNG__on(JSBNG__document, \"uiDeviceNotificationsOffAction\", this.deviceNotificationsOffAction), this.JSBNG__on(JSBNG__document, \"uiEmailFollowAction\", this.emailFollowAction), this.JSBNG__on(JSBNG__document, \"uiEmailUnfollowAction\", this.emailUnfollowAction), this.JSBNG__on(JSBNG__document, \"uiEnableEmailFollowAction\", this.enableEmailFollowAction), this.JSBNG__on(JSBNG__document, \"uiDisableEmailFollowAction\", this.disableEmailFollowAction);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withData = require(\"app/data/with_data\"), UserData = defineComponent(userData, withData);\n    module.exports = UserData;\n});\ndefine(\"app/data/lists\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function listsData() {\n        this.listMembershipContent = function(a, b) {\n            this.get({\n                url: ((((\"/i/\" + b.userId)) + \"/lists\")),\n                dataType: \"json\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataGotListMembershipContent\",\n                error: \"dataFailedToGetListMembershipContent\"\n            });\n        }, this.addUserToList = function(a, b) {\n            this.post({\n                url: ((((((((\"/i/\" + b.userId)) + \"/lists/\")) + b.listId)) + \"/members\")),\n                dataType: \"json\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataDidAddUserToList\",\n                error: \"dataFailedToAddUserToList\"\n            });\n        }, this.removeUserFromList = function(a, b) {\n            this.destroy({\n                url: ((((((((\"/i/\" + b.userId)) + \"/lists/\")) + b.listId)) + \"/members\")),\n                dataType: \"json\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataDidRemoveUserFromList\",\n                error: \"dataFailedToRemoveUserFromList\"\n            });\n        }, this.createList = function(a, b) {\n            this.post({\n                url: \"/i/lists/create\",\n                dataType: \"json\",\n                data: b,\n                eventData: b,\n                success: \"dataDidCreateList\",\n                error: \"dataFailedToCreateList\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsListMembershipContent\", this.listMembershipContent), this.JSBNG__on(\"uiAddUserToList\", this.addUserToList), this.JSBNG__on(\"uiRemoveUserFromList\", this.removeUserFromList), this.JSBNG__on(\"uiCreateList\", this.createList);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(listsData, withData);\n});\ndefine(\"app/boot/profile_popup\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/data/profile_popup\",\"app/data/profile_popup_scribe\",\"app/ui/profile_popup\",\"app/data/profile_edit_btn_scribe\",\"app/data/user\",\"app/data/lists\",], function(module, require, exports) {\n    function initialize(a) {\n        ProfilePopupData.attachTo(JSBNG__document, utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"profile_dialog\"\n                }\n            }\n        })), UserData.attachTo(JSBNG__document, a), Lists.attachTo(JSBNG__document, a), ProfilePopup.attachTo(\"#profile_popup\", utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"profile_dialog\"\n                }\n            }\n        })), ProfileEditBtnScribe.attachTo(\"#profile_popup\", {\n            scribeContext: {\n                component: \"profile_dialog\"\n            }\n        }), ProfilePopupScribe.attachTo(JSBNG__document, a);\n    };\n;\n    var utils = require(\"core/utils\"), ProfilePopupData = require(\"app/data/profile_popup\"), ProfilePopupScribe = require(\"app/data/profile_popup_scribe\"), ProfilePopup = require(\"app/ui/profile_popup\"), ProfileEditBtnScribe = require(\"app/data/profile_edit_btn_scribe\"), UserData = require(\"app/data/user\"), Lists = require(\"app/data/lists\"), hasPopup = (($(\"#profile_popup\").length > 0));\n    module.exports = ((hasPopup ? initialize : $.noop));\n});\ndefine(\"app/data/typeahead/with_cache\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function WithCache() {\n        this.defaultAttrs({\n            cache_limit: 10\n        }), this.getCachedSuggestions = function(a) {\n            return ((this.cache[a] ? this.cache[a].value : null));\n        }, this.clearCache = function() {\n            this.cache = {\n                NEWEST: null,\n                OLDEST: null,\n                COUNT: 0,\n                LIMIT: this.attr.cache_limit\n            };\n        }, this.deleteCachedSuggestions = function(a) {\n            return ((this.cache[a] ? (((((this.cache.COUNT > 1)) && ((((a == this.cache.NEWEST.query)) ? (this.cache.NEWEST = this.cache.NEWEST.before, this.cache.NEWEST.after = null) : ((((a == this.cache.OLDEST.query)) ? (this.cache.OLDEST = this.cache.OLDEST.after, this.cache.OLDEST.before = null) : (this.cache[a].after.before = this.cache[a].before, this.cache[a].before.after = this.cache[a].after))))))), delete this.cache[a], this.cache.COUNT -= 1, !0) : !1));\n        }, this.setCachedSuggestions = function(a, b) {\n            if (((this.cache.LIMIT === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.deleteCachedSuggestions(a), ((((this.cache.COUNT >= this.cache.LIMIT)) && this.deleteCachedSuggestions(this.cache.OLDEST.query))), ((((this.cache.COUNT == 0)) ? (this.cache[a] = {\n                query: a,\n                value: b,\n                before: null,\n                after: null\n            }, this.cache.NEWEST = this.cache[a], this.cache.OLDEST = this.cache[a]) : (this.cache[a] = {\n                query: a,\n                value: b,\n                before: this.cache.NEWEST,\n                after: null\n            }, this.cache.NEWEST.after = this.cache[a], this.cache.NEWEST = this.cache[a]))), this.cache.COUNT += 1;\n        }, this.aroundGetSuggestions = function(a, b, c) {\n            var d = ((((c.id + \":\")) + c.query)), e = this.getCachedSuggestions(d);\n            if (e) {\n                this.triggerSuggestionsEvent(c.id, c.query, e);\n                return;\n            }\n        ;\n        ;\n            a(b, c);\n        }, this.afterTriggerSuggestionsEvent = function(a, b, c, d) {\n            if (d) {\n                return;\n            }\n        ;\n        ;\n            var e = ((((a + \":\")) + b));\n            this.setCachedSuggestions(e, c);\n        }, this.after(\"triggerSuggestionsEvent\", this.afterTriggerSuggestionsEvent), this.around(\"getSuggestions\", this.aroundGetSuggestions), this.after(\"initialize\", function(a) {\n            this.clearCache(), this.JSBNG__on(\"uiTypeaheadDeleteRecentSearch\", this.clearCache);\n        });\n    };\n;\n    module.exports = WithCache;\n});\ndefine(\"app/utils/typeahead_helpers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function tokenizeText(a) {\n        return a.trim().toLowerCase().split(/[\\s_,.-]+/);\n    };\n;\n    function getFirstChar(a) {\n        var b;\n        return ((multiByteRegex.test(a.substr(0, 1)) ? b = a.substr(0, 2) : b = a.charAt(0))), b;\n    };\n;\n    var multiByteRegex = /[\\uD800-\\uDFFF]/;\n    module.exports = {\n        tokenizeText: tokenizeText,\n        getFirstChar: getFirstChar\n    };\n});\ndefine(\"app/data/with_datasource_helpers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withDatasourceHelpers() {\n        this.prefetch = function(a, b) {\n            var c = {\n                prefetch: !0,\n                result_type: b,\n                count: this.getPrefetchCount()\n            };\n            c[((b + \"_cache_age\"))] = this.storage.getCacheAge(this.attr.storageHash, this.attr.ttl_ms), this.get({\n                url: a,\n                headers: {\n                    \"X-Phx\": !0\n                },\n                data: c,\n                eventData: {\n                },\n                success: this.processResults.bind(this),\n                error: this.useStaleData.bind(this)\n            });\n        }, this.useStaleData = function() {\n            this.extendTTL(), this.getDataFromLocalStorage();\n        }, this.extendTTL = function() {\n            var a = this.getStorageKeys();\n            for (var b = 0; ((b < a.length)); b++) {\n                this.storage.updateTTL(a[b], this.attr.ttl_ms);\n            ;\n            };\n        ;\n        }, this.loadData = function(a, b) {\n            var c = this.getStorageKeys().some(function(a) {\n                return this.storage.isExpired(a);\n            }, this);\n            ((((c || this.isMetadataExpired())) ? this.prefetch(a, b) : this.getDataFromLocalStorage()));\n        }, this.isIE8 = function() {\n            return (($.browser.msie && ((parseInt($.browser.version, 10) === 8))));\n        }, this.getProtocol = function() {\n            return window.JSBNG__location.protocol;\n        };\n    };\n;\n    module.exports = withDatasourceHelpers;\n});\ndefine(\"app/data/typeahead/accounts_datasource\", [\"module\",\"require\",\"exports\",\"app/utils/typeahead_helpers\",\"app/utils/storage/custom\",\"app/data/with_data\",\"core/compose\",\"core/utils\",\"app/data/with_datasource_helpers\",], function(module, require, exports) {\n    function accountsDatasource(a) {\n        this.attr = {\n            id: null,\n            ttl_ms: 259200000,\n            localStorageCount: 1200,\n            ie8LocalStorageCount: 1000,\n            limit: 6,\n            version: 4,\n            localQueriesEnabled: !1,\n            remoteQueriesEnabled: !1,\n            onlyDMable: !1,\n            storageAdjacencyList: \"userAdjacencyList\",\n            storageHash: \"userHash\",\n            storageProtocol: \"protocol\",\n            storageVersion: \"userVersion\",\n            remotePath: \"/i/search/typeahead.json\",\n            remoteType: \"users\",\n            prefetchPath: \"/i/search/typeahead.json\",\n            prefetchType: \"users\",\n            storageBlackList: \"userBlackList\",\n            maxLengthBlacklist: 100\n        }, this.attr = util.merge(this.attr, a), this.after = function() {\n        \n        }, compose.mixin(this, [withData,withDatasourceHelpers,]), this.getPrefetchCount = function() {\n            return ((((this.isIE8() && ((this.attr.localStorageCount > this.attr.ie8LocalStorageCount)))) ? this.attr.ie8LocalStorageCount : this.attr.localStorageCount));\n        }, this.isMetadataExpired = function() {\n            var a = this.storage.getItem(this.attr.storageVersion), b = this.storage.getItem(this.attr.storageProtocol);\n            return ((((((a == this.attr.version)) && ((b == this.getProtocol())))) ? !1 : !0));\n        }, this.getStorageKeys = function() {\n            return [this.attr.storageVersion,this.attr.storageHash,this.attr.storageAdjacencyList,this.attr.storageProtocol,];\n        }, this.getDataFromLocalStorage = function() {\n            this.userHash = ((this.storage.getItem(this.attr.storageHash) || this.userHash)), this.adjacencyList = ((this.storage.getItem(this.attr.storageAdjacencyList) || this.adjacencyList));\n        }, this.processResults = function(a) {\n            if (((!a || !a[this.attr.prefetchType]))) {\n                this.useStaleData();\n                return;\n            }\n        ;\n        ;\n            a[this.attr.prefetchType].forEach(function(a) {\n                a.tokens = a.tokens.map(function(a) {\n                    return ((((typeof a == \"string\")) ? a : a.token));\n                }), this.userHash[a.id] = a, a.tokens.forEach(function(b) {\n                    var c = helpers.getFirstChar(b);\n                    ((((this.adjacencyList[c] === undefined)) && (this.adjacencyList[c] = []))), ((((this.adjacencyList[c].indexOf(a.id) === -1)) && this.adjacencyList[c].push(a.id)));\n                }, this);\n            }, this), this.storage.setItem(this.attr.storageHash, this.userHash, this.attr.ttl_ms), this.storage.setItem(this.attr.storageAdjacencyList, this.adjacencyList, this.attr.ttl_ms), this.storage.setItem(this.attr.storageVersion, this.attr.version, this.attr.ttl_ms), this.storage.setItem(this.attr.storageProtocol, this.getProtocol(), this.attr.ttl_ms);\n        }, this.getLocalSuggestions = function(a) {\n            if (!this.attr.localQueriesEnabled) {\n                return [];\n            }\n        ;\n        ;\n            var b = helpers.tokenizeText(a.query.replace(\"@\", \"\")), c = this.getPotentiallyMatchingIds(b), d = this.getAccountsFromIds(c), e = d.filter(this.matcher(b));\n            return ((a.accountsWithoutAtSignRequiresFollow && (e = e.filter(function(a) {\n                return ((a.social_context && a.social_context.following));\n            })))), e.sort(this.sorter), e = e.slice(0, this.attr.limit), e;\n        }, this.getPotentiallyMatchingIds = function(a) {\n            var b = [];\n            return a.map(function(a) {\n                var c = this.adjacencyList[helpers.getFirstChar(a)];\n                ((c && (b = b.concat(c))));\n            }, this), b = util.uniqueArray(b), b;\n        }, this.getAccountsFromIds = function(a) {\n            var b = [];\n            return a.forEach(function(a) {\n                var c = this.userHash[a];\n                ((c && b.push(c)));\n            }, this), b;\n        }, this.matcher = function(a) {\n            return function(b) {\n                var c = b.tokens, d = [];\n                if (((this.attr.onlyDMable && !b.is_dm_able))) {\n                    return !1;\n                }\n            ;\n            ;\n                var e = a.every(function(a) {\n                    var b = c.filter(function(b) {\n                        return ((b.indexOf(a) === 0));\n                    });\n                    return b.length;\n                });\n                if (e) {\n                    return b;\n                }\n            ;\n            ;\n            }.bind(this);\n        }, this.sorter = function(a, b) {\n            function e(a, b, c) {\n                var d = ((a.score_boost ? a.score_boost : 0)), e = ((b.score_boost ? b.score_boost : 0)), f = ((a.rounded_score ? a.rounded_score : 0)), g = ((b.rounded_score ? b.rounded_score : 0));\n                return ((c ? ((((b.rounded_graph_weight + e)) - ((a.rounded_graph_weight + d)))) : ((((g + e)) - ((f + d))))));\n            };\n        ;\n            var c = ((a.rounded_graph_weight && ((a.rounded_graph_weight !== 0)))), d = ((b.rounded_graph_weight && ((b.rounded_graph_weight !== 0))));\n            return ((((c && !d)) ? -1 : ((((d && !c)) ? 1 : ((((c && d)) ? e(a, b, !0) : e(a, b, !1)))))));\n        }, this.processRemoteSuggestions = function(a, b, c) {\n            var d = ((c[this.attr.id] || [])), e = {\n            };\n            return d.forEach(function(a) {\n                e[a.id] = !0;\n            }, this), ((((this.requiresRemoteSuggestions(a.queryData) && b[this.attr.remoteType])) && b[this.attr.remoteType].forEach(function(a) {\n                ((((!e[a.id] && ((!this.attr.onlyDMable || a.is_dm_able)))) && d.push(a)));\n            }, this))), c[this.attr.id] = d.slice(0, this.attr.limit), c[this.attr.id].forEach(function(a) {\n                this.removeBlacklistSocialContext(a);\n            }, this), c;\n        }, this.removeBlacklistSocialContext = function(a) {\n            ((((a.first_connecting_user_id in this.socialContextBlackList)) && (a.first_connecting_user_name = undefined, a.first_connecting_user_id = undefined)));\n        }, this.requiresRemoteSuggestions = function(a) {\n            return ((((a && a.accountsWithoutAtSignLocalOnly)) ? ((this.attr.remoteQueriesEnabled && ((helpers.getFirstChar(a.query) == \"@\")))) : this.attr.remoteQueriesEnabled));\n        }, this.initialize = function() {\n            var a = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new a(\"typeahead\"), this.adjacencyList = {\n            }, this.userHash = {\n            }, this.loadData(this.attr.prefetchPath, this.attr.prefetchType), this.socialContextBlackList = ((this.storage.getItem(this.attr.storageBlackList) || {\n            }));\n        }, this.initialize();\n    };\n;\n    var helpers = require(\"app/utils/typeahead_helpers\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\"), compose = require(\"core/compose\"), util = require(\"core/utils\"), withDatasourceHelpers = require(\"app/data/with_datasource_helpers\");\n    module.exports = accountsDatasource;\n});\ndefine(\"app/data/typeahead/saved_searches_datasource\", [\"module\",\"require\",\"exports\",\"core/utils\",], function(module, require, exports) {\n    function savedSearchesDatasource(a) {\n        this.attr = {\n            id: null,\n            items: [],\n            limit: 0,\n            searchPathWithQuery: \"/search?src=savs&q=\",\n            querySource: \"saved_search_click\"\n        }, this.attr = util.merge(this.attr, a), this.getRemoteSuggestions = function(a, b, c) {\n            return c;\n        }, this.requiresRemoteSuggestions = function(a) {\n            return !1;\n        }, this.getLocalSuggestions = function(a) {\n            return ((((!a || !a.query)) ? this.attr.items : this.attr.items.filter(function(b) {\n                return ((b.JSBNG__name.indexOf(a.query) == 0));\n            }).slice(0, this.attr.limit)));\n        }, this.addSavedSearch = function(a) {\n            if (((!a || !a.query))) {\n                return;\n            }\n        ;\n        ;\n            this.attr.items.push({\n                id: a.id,\n                id_str: a.id_str,\n                JSBNG__name: a.JSBNG__name,\n                query: a.query,\n                saved_search_path: ((this.attr.searchPathWithQuery + encodeURIComponent(a.query))),\n                search_query_source: this.attr.querySource\n            });\n        }, this.removeSavedSearch = function(a) {\n            if (((!a || !a.query))) {\n                return;\n            }\n        ;\n        ;\n            var b = this.attr.items;\n            for (var c = 0; ((c < b.length)); c++) {\n                if (((((b[c].query === a.query)) || ((b[c].JSBNG__name === a.query))))) {\n                    b.splice(c, 1);\n                    return;\n                }\n            ;\n            ;\n            };\n        ;\n        };\n    };\n;\n    var util = require(\"core/utils\");\n    module.exports = savedSearchesDatasource;\n});\ndefine(\"app/data/typeahead/recent_searches_datasource\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/utils/storage/custom\",\"app/data/with_datasource_helpers\",], function(module, require, exports) {\n    function recentSearchesDatasource(a) {\n        this.attr = {\n            id: null,\n            limit: 4,\n            storageList: \"recentSearchesList\",\n            maxLength: 100,\n            ttl_ms: 1209600000,\n            searchPathWithQuery: \"/search?src=rec&q=\",\n            querySource: \"recent_search_click\"\n        }, this.attr = util.merge(this.attr, a), this.getRemoteSuggestions = function(a, b, c) {\n            return c;\n        }, this.requiresRemoteSuggestions = function() {\n            return !1;\n        }, this.removeAllRecentSearches = function() {\n            this.items = [], this.updateStorage();\n        }, this.getLocalSuggestions = function(a) {\n            return ((((!a || ((a.query === \"\")))) ? this.items.slice(0, this.attr.limit) : this.items.filter(function(b) {\n                return ((b.JSBNG__name.indexOf(a.query) == 0));\n            }).slice(0, this.attr.limit)));\n        }, this.updateStorage = function() {\n            this.storage.setItem(this.attr.storageList, this.items, this.attr.ttl_ms);\n        }, this.removeOneRecentSearch = function(a) {\n            this.removeRecentSearchFromList(a.query), this.updateStorage();\n        }, this.addRecentSearch = function(a) {\n            if (((!a || !a.query))) {\n                return;\n            }\n        ;\n        ;\n            a.query = a.query.trim(), this.updateRecentSearchList(a), this.updateStorage();\n        }, this.updateRecentSearchList = function(a) {\n            var b = this.items, c = {\n                normalized_name: a.query.toLowerCase(),\n                JSBNG__name: a.query,\n                recent_search_path: ((this.attr.searchPathWithQuery + encodeURIComponent(a.query))),\n                search_query_source: this.attr.querySource\n            };\n            this.removeRecentSearchFromList(a.query), b.unshift(c), ((((b.length > this.attr.maxLength)) && b.pop()));\n        }, this.removeRecentSearchFromList = function(a) {\n            var b = this.items, c = -1, d = a.toLowerCase();\n            for (var e = 0; ((e < b.length)); e++) {\n                if (((b[e].normalized_name === d))) {\n                    c = e;\n                    break;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((c !== -1)) && b.splice(c, 1)));\n        }, this.initialize = function() {\n            var a = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new a(\"typeahead\"), this.items = ((this.storage.getItem(this.attr.storageList) || []));\n        }, this.initialize();\n    };\n;\n    var util = require(\"core/utils\"), customStorage = require(\"app/utils/storage/custom\"), withDatasourceHelpers = require(\"app/data/with_datasource_helpers\");\n    module.exports = recentSearchesDatasource;\n});\ndefine(\"app/data/typeahead/with_external_event_listeners\", [\"module\",\"require\",\"exports\",\"app/utils/typeahead_helpers\",], function(module, require, exports) {\n    function WithExternalEventListeners() {\n        this.defaultAttrs({\n            weights: {\n                CACHED_PROFILE_VISIT: 10,\n                UNCACHED_PROFILE_VISIT: 75,\n                FOLLOW: 100\n            }\n        }), this.cleanupUserData = function(a) {\n            this.removeAccount(a), this.addToUserBlacklist(a);\n        }, this.onFollowStateChange = function(a, b) {\n            if (((!b.user || !b.userId))) {\n                return;\n            }\n        ;\n        ;\n            switch (b.newState) {\n              case \"blocked\":\n                this.cleanupUserData(b.userId);\n                break;\n              case \"not-following\":\n                this.cleanupUserData(b.userId);\n                break;\n              case \"following\":\n                this.adjustScoreBoost(b.user, this.attr.weights.FOLLOW), this.addAccount(b.user, \"following\"), this.removeUserFromBlacklist(b.userId);\n            };\n        ;\n            this.updateLocalStorage();\n        }, this.onProfileVisit = function(a, b) {\n            var c = this.datasources.accounts.userHash[b.id];\n            ((c ? this.adjustScoreBoost(c, this.attr.weights.CACHED_PROFILE_VISIT) : (this.adjustScoreBoost(b, this.attr.weights.UNCACHED_PROFILE_VISIT), this.addAccount(b, \"visit\")))), this.updateLocalStorage();\n        }, this.updateLocalStorage = function() {\n            this.datasources.accounts.storage.setItem(\"userHash\", this.datasources.accounts.userHash, this.datasources.accounts.attr.ttl), this.datasources.accounts.storage.setItem(\"adjacencyList\", this.datasources.accounts.adjacencyList, this.datasources.accounts.attr.ttl), this.datasources.accounts.storage.setItem(\"version\", this.datasources.accounts.attr.version, this.datasources.accounts.attr.ttl);\n        }, this.removeAccount = function(a) {\n            if (!this.datasources.accounts.userHash[a]) {\n                return;\n            }\n        ;\n        ;\n            var b = this.datasources.accounts.userHash[a].tokens;\n            b.forEach(function(b) {\n                var c = this.datasources.accounts.adjacencyList[b.charAt(0)];\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = c.indexOf(a);\n                if (((d === -1))) {\n                    return;\n                }\n            ;\n            ;\n                c.splice(d, 1);\n            }, this), delete this.datasources.accounts.userHash[a];\n        }, this.adjustScoreBoost = function(a, b) {\n            ((a.score_boost ? a.score_boost += b : a.score_boost = b));\n        }, this.addAccount = function(a, b) {\n            this.datasources.accounts.userHash[a.id] = a, a.tokens = [((\"@\" + a.screen_name)),a.screen_name,].concat(helpers.tokenizeText(a.JSBNG__name)), a.social_proof = ((((b === \"following\")) ? 1 : 0)), a.tokens.forEach(function(b) {\n                var c = b.charAt(0);\n                if (!this.datasources.accounts.adjacencyList[c]) {\n                    this.datasources.accounts.adjacencyList[c] = [a.id,];\n                    return;\n                }\n            ;\n            ;\n                ((((this.datasources.accounts.adjacencyList[c].indexOf(a.id) === -1)) && this.datasources.accounts.adjacencyList[c].push(a.id)));\n            }, this);\n        }, this.removeOldAccountsInBlackList = function() {\n            var a, b, c = 0, d = ((this.datasources.accounts.attr.maxLengthBlacklist || 100)), e = this.datasources.accounts.socialContextBlackList, f = (new JSBNG__Date).getTime(), g = this.datasources.accounts.attr.ttl_ms;\n            {\n                var fin67keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin67i = (0);\n                (0);\n                for (; (fin67i < fin67keys.length); (fin67i++)) {\n                    ((b) = (fin67keys[fin67i]));\n                    {\n                        var h = ((e[b] + g));\n                        ((((h < f)) ? delete e[b] : (a = ((a || b)), a = ((((e[a] > e[b])) ? b : a)), c += 1)));\n                    };\n                };\n            };\n        ;\n            ((((d < c)) && delete e[a]));\n        }, this.updateBlacklistLocalStorage = function(a) {\n            this.datasources.accounts.storage.setItem(\"userBlackList\", a, this.attr.ttl);\n        }, this.addToUserBlacklist = function(a) {\n            var b = this.datasources.accounts.socialContextBlackList;\n            b[a] = (new JSBNG__Date).getTime(), this.removeOldAccountsInBlackList(), this.updateBlacklistLocalStorage(b);\n        }, this.removeUserFromBlacklist = function(a) {\n            var b = this.datasources.accounts.socialContextBlackList;\n            this.removeOldAccountsInBlackList(), ((b[a] && (delete b[a], this.updateBlacklistLocalStorage(b))));\n        }, this.checkItemTypeForRecentSearch = function(a) {\n            return ((((((((a === \"saved_search\")) || ((a === \"topics\")))) || ((a === \"recent_search\")))) ? !0 : !1));\n        }, this.addSavedSearch = function(a, b) {\n            this.datasources.savedSearches.addSavedSearch(b);\n        }, this.removeSavedSearch = function(a, b) {\n            this.datasources.savedSearches.removeSavedSearch(b);\n        }, this.addRecentSearch = function(a, b) {\n            ((((b.source === \"search\")) ? this.datasources.recentSearches.addRecentSearch({\n                query: b.query\n            }) : ((((this.checkItemTypeForRecentSearch(b.source) && b.isSearchInput)) && this.datasources.recentSearches.addRecentSearch({\n                query: b.query\n            })))));\n        }, this.removeRecentSearch = function(a, b) {\n            ((b.deleteAll ? this.datasources.recentSearches.removeAllRecentSearches() : this.datasources.recentSearches.removeOneRecentSearch(b)));\n        }, this.setTrendLocations = function(a, b) {\n            this.datasources.trendLocations.setTrendLocations(b);\n        }, this.setPageContext = function(a, b) {\n            this.datasources.contextHelpers.updatePageContext(b.init_data.typeaheadData.contextHelpers);\n        }, this.setupEventListeners = function(a) {\n            switch (a) {\n              case \"accounts\":\n                this.JSBNG__on(\"dataFollowStateChange\", this.onFollowStateChange), this.JSBNG__on(\"profileVisit\", this.onProfileVisit);\n                break;\n              case \"savedSearches\":\n                this.JSBNG__on(JSBNG__document, \"dataAddedSavedSearch\", this.addSavedSearch), this.JSBNG__on(JSBNG__document, \"dataRemovedSavedSearch\", this.removeSavedSearch);\n                break;\n              case \"recentSearches\":\n                this.JSBNG__on(\"uiSearchQuery uiTypeaheadItemSelected\", this.addRecentSearch), this.JSBNG__on(\"uiTypeaheadDeleteRecentSearch\", this.removeRecentSearch);\n                break;\n              case \"contextHelpers\":\n                this.JSBNG__on(\"uiPageChanged\", this.setPageContext);\n                break;\n              case \"trendLocations\":\n                this.JSBNG__on(JSBNG__document, \"dataLoadedTrendLocations\", this.setTrendLocations);\n            };\n        ;\n        };\n    };\n;\n    var helpers = require(\"app/utils/typeahead_helpers\");\n    module.exports = WithExternalEventListeners;\n});\ndefine(\"app/data/typeahead/topics_datasource\", [\"module\",\"require\",\"exports\",\"app/utils/typeahead_helpers\",\"app/utils/storage/custom\",\"app/data/with_data\",\"core/compose\",\"core/utils\",\"app/data/with_datasource_helpers\",], function(module, require, exports) {\n    function topicsDatasource(a) {\n        this.attr = {\n            id: null,\n            ttl_ms: 21600000,\n            limit: 4,\n            version: 3,\n            storageAdjacencyList: \"topicsAdjacencyList\",\n            storageHash: \"topicsHash\",\n            storageVersion: \"topicsVersion\",\n            prefetchLimit: 500,\n            localQueriesEnabled: !1,\n            remoteQueriesEnabled: !1,\n            remoteQueriesOverrideLocal: !1,\n            remotePath: \"/i/search/typeahead.json\",\n            remoteType: \"topics\",\n            prefetchPath: \"/i/search/typeahead.json\",\n            prefetchType: \"topics\"\n        }, this.attr = util.merge(this.attr, a), this.after = function() {\n        \n        }, compose.mixin(this, [withData,withDatasourceHelpers,]), this.getStorageKeys = function() {\n            return [this.attr.storageVersion,this.attr.storageHash,this.attr.storageAdjacencyList,];\n        }, this.getPrefetchCount = function() {\n            return this.attr.prefetchLimit;\n        }, this.isMetadataExpired = function() {\n            var a = this.storage.getItem(this.attr.storageVersion);\n            return ((((a == this.attr.version)) ? !1 : !0));\n        }, this.getDataFromLocalStorage = function() {\n            this.topicsHash = ((this.storage.getItem(this.attr.storageHash) || this.topicsHash)), this.adjacencyList = ((this.storage.getItem(this.attr.storageAdjacencyList) || this.adjacencyList));\n        }, this.processResults = function(a) {\n            if (((!a || !a[this.attr.prefetchType]))) {\n                this.useStaleData();\n                return;\n            }\n        ;\n        ;\n            a[this.attr.prefetchType].forEach(function(a) {\n                var b = a.topic;\n                this.topicsHash[b] = a, a.tokens.forEach(function(a) {\n                    var c = helpers.getFirstChar(a.token);\n                    ((((this.adjacencyList[c] === undefined)) && (this.adjacencyList[c] = []))), ((((this.adjacencyList[c].indexOf(b) === -1)) && this.adjacencyList[c].push(b)));\n                }, this);\n            }, this), this.storage.setItem(this.attr.storageHash, this.topicsHash, this.attr.ttl_ms), this.storage.setItem(this.attr.storageAdjacencyList, this.adjacencyList, this.attr.ttl_ms), this.storage.setItem(this.attr.storageVersion, this.attr.version, this.attr.ttl_ms);\n        }, this.getLocalSuggestions = function(a) {\n            if (!this.attr.localQueriesEnabled) {\n                return [];\n            }\n        ;\n        ;\n            var b = a.query.toLowerCase(), c = helpers.getFirstChar(b);\n            if (((((this.attr.remoteType == \"hashtags\")) && (([\"$\",\"#\",].indexOf(c) === -1))))) {\n                return [];\n            }\n        ;\n        ;\n            var d = ((this.adjacencyList[c] || []));\n            d = this.getTopicObjectsFromStrings(d);\n            var e = d.filter(function(a) {\n                return ((a.topic.toLowerCase().indexOf(b) === 0));\n            }, this);\n            return e.sort(function(a, b) {\n                return ((b.rounded_score - a.rounded_score));\n            }.bind(this)), e = e.slice(0, this.attr.limit), e;\n        }, this.getTopicObjectsFromStrings = function(a) {\n            var b = [];\n            return a.forEach(function(a) {\n                var c = this.topicsHash[a];\n                ((c && b.push(c)));\n            }, this), b;\n        }, this.requiresRemoteSuggestions = function(a) {\n            var b = helpers.getFirstChar(a.query);\n            return ((((a.topicsMustStartWithHashtag && (([\"$\",\"#\",].indexOf(b) === -1)))) ? !1 : this.attr.remoteQueriesEnabled));\n        }, this.processRemoteSuggestions = function(a, b, c) {\n            var d = ((c[this.attr.id] || [])), e = {\n            };\n            return d.forEach(function(a) {\n                var b = ((a.topic || a.hashtag));\n                e[b.toLowerCase()] = !0;\n            }, this), ((((b[this.attr.remoteType] && this.attr.remoteQueriesOverrideLocal)) ? d = b[this.attr.remoteType] : ((b[this.attr.remoteType] && b[this.attr.remoteType].forEach(function(a) {\n                var b = ((a.topic || a.hashtag));\n                ((e[b.toLowerCase()] || d.push(a)));\n            }, this))))), c[this.attr.id] = d.slice(0, this.attr.limit), c;\n        }, this.initialize = function() {\n            var a = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new a(\"typeahead\"), this.topicsHash = {\n            }, this.adjacencyList = {\n            }, this.loadData(this.attr.prefetchPath, this.attr.prefetchType);\n        }, this.initialize();\n    };\n;\n    var helpers = require(\"app/utils/typeahead_helpers\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\"), compose = require(\"core/compose\"), util = require(\"core/utils\"), withDatasourceHelpers = require(\"app/data/with_datasource_helpers\");\n    module.exports = topicsDatasource;\n});\ndefine(\"app/data/typeahead/context_helper_datasource\", [\"module\",\"require\",\"exports\",\"app/utils/typeahead_helpers\",\"core/utils\",\"core/i18n\",], function(module, require, exports) {\n    function contextHelperDatasource(a) {\n        this.attr = {\n            id: null,\n            limit: 4,\n            version: 1\n        }, this.attr = util.merge(this.attr, a), this.processResults = function(a) {\n            return [];\n        }, this.getLocalSuggestions = function(a) {\n            if (((!a || ((a.query == \"\"))))) {\n                return [];\n            }\n        ;\n        ;\n            var b = a.query, c;\n            return ((((this.currentPage == \"JSBNG__home\")) ? c = {\n                text: _(\"Search for {{strong_query}} from people you follow\"),\n                query: b,\n                rewrittenQuery: b,\n                mode: \"timeline\"\n            } : ((((this.currentPage == \"profile\")) ? c = {\n                text: _(\"Search for {{strong_query}} in {{screen_name}}'s timeline\", {\n                    strong_query: \"{{strong_query}}\",\n                    screen_name: this.currentProfileUser\n                }),\n                query: b,\n                rewrittenQuery: ((((b + \" from:\")) + this.currentProfileUser))\n            } : ((((this.currentPage == \"me\")) && (c = {\n                text: _(\"Search for {{strong_query}} in your timeline\"),\n                query: b,\n                rewrittenQuery: ((((b + \" from:\")) + this.currentProfileUser))\n            }))))))), ((c ? [c,] : []));\n        }, this.requiresRemoteSuggestions = function() {\n            return !1;\n        }, this.processRemoteSuggestions = function(a, b, c) {\n            return c;\n        }, this.updatePageContext = function(a) {\n            this.currentPage = a.page_name, this.currentSection = a.section_name, this.currentProfileUser = ((((((this.currentPage == \"profile\")) || ((this.currentPage == \"me\")))) ? a.screen_name : null));\n        }, this.initialize = function() {\n            this.updatePageContext(a);\n        }, this.initialize();\n    };\n;\n    var helpers = require(\"app/utils/typeahead_helpers\"), util = require(\"core/utils\"), _ = require(\"core/i18n\");\n    module.exports = contextHelperDatasource;\n});\ndefine(\"app/data/typeahead/trend_locations_datasource\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/i18n\",], function(module, require, exports) {\n    function trendLocationsDatasource(a) {\n        var b = {\n            woeid: -1,\n            placeTypeCode: -1,\n            JSBNG__name: _(\"No results were found. Try selecting from a list.\")\n        };\n        this.attr = {\n            id: null,\n            items: [],\n            limit: 10\n        }, this.attr = util.merge(this.attr, a), this.getRemoteSuggestions = function(a, b, c) {\n            return c;\n        }, this.requiresRemoteSuggestions = function(a) {\n            return !1;\n        }, this.getLocalSuggestions = function(a) {\n            var c = this.attr.items, d = function(a) {\n                return a.replace(/\\s+/g, \"\").toLowerCase();\n            };\n            if (((a && a.query))) {\n                var e = d(a.query);\n                c = this.attr.items.filter(function(a) {\n                    return ((d(a.JSBNG__name).indexOf(e) == 0));\n                });\n            }\n        ;\n        ;\n            return ((c.length ? c.slice(0, this.attr.limit) : [b,]));\n        }, this.setTrendLocations = function(a) {\n            this.attr.items = a.trendLocations;\n        };\n    };\n;\n    var util = require(\"core/utils\"), _ = require(\"core/i18n\");\n    module.exports = trendLocationsDatasource;\n});\ndefine(\"app/data/typeahead/typeahead\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_data\",\"app/data/typeahead/with_cache\",\"app/data/typeahead/accounts_datasource\",\"app/data/typeahead/saved_searches_datasource\",\"app/data/typeahead/recent_searches_datasource\",\"app/data/typeahead/with_external_event_listeners\",\"app/data/typeahead/topics_datasource\",\"app/data/typeahead/context_helper_datasource\",\"app/data/typeahead/trend_locations_datasource\",], function(module, require, exports) {\n    function typeahead() {\n        this.defaultAttrs({\n            limit: 10,\n            remoteDebounceInterval: 300,\n            remoteThrottleInterval: 300,\n            outstandingRemoteRequestCount: 0,\n            queuedRequestData: !1,\n            outstandingRemoteRequestMax: 6,\n            useThrottle: !1,\n            tweetContextEnabled: !1\n        }), this.triggerSuggestionsEvent = function(a, b, c, d) {\n            this.trigger(\"dataTypeaheadSuggestionsResults\", {\n                suggestions: c,\n                queryData: b,\n                id: a\n            });\n        }, this.getLocalSuggestions = function(a, b) {\n            var c = {\n            };\n            return b.forEach(function(b) {\n                if (!this.datasources[b]) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.datasources[b].getLocalSuggestions(a);\n                ((d.length && (d.forEach(function(a) {\n                    a.origin = \"prefetched\";\n                }), c[b] = d)));\n            }, this), c;\n        }, this.processRemoteSuggestions = function(a) {\n            this.adjustRequestCount(-1);\n            var b = a.sourceEventData, c = ((b.suggestions || {\n            }));\n            b.datasources.forEach(function(d) {\n                var e = d.processRemoteSuggestions(b, a, c);\n                if (((e[d.attr.id] && e[d.attr.id].length))) {\n                    {\n                        var fin68keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin68i = (0);\n                        var f;\n                        for (; (fin68i < fin68keys.length); (fin68i++)) {\n                            ((f) = (fin68keys[fin68i]));\n                            {\n                                e[f].forEach(function(a) {\n                                    a.origin = ((a.origin || \"remote\"));\n                                });\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    b.suggestions[d.attr.id] = e[d.attr.id];\n                }\n            ;\n            ;\n            }, this), this.processSuggestionsByDataset(c), this.triggerSuggestionsEvent(b.id, b.queryData, c, !1), this.makeQueuedRemoteRequestIfPossible();\n        }, this.getRemoteSuggestions = function(a, b, c, d) {\n            var e = d.some(function(a) {\n                return ((((this.datasources[a] && this.datasources[a].requiresRemoteSuggestions)) && this.datasources[a].requiresRemoteSuggestions(b)));\n            }, this);\n            if (((((!e || !b)) || !b.query))) {\n                return;\n            }\n        ;\n        ;\n            ((this.request[a] || ((this.attr.useThrottle ? this.request[a] = utils.throttle(this.splitRemoteRequests.bind(this), this.attr.remoteThrottleInterval) : this.request[a] = utils.debounce(this.splitRemoteRequests.bind(this), this.attr.remoteDebounceInterval))))), this.request[a](a, b, c, d);\n        }, this.makeQueuedRemoteRequestIfPossible = function() {\n            if (((((this.attr.outstandingRemoteRequestCount === ((this.attr.outstandingRemoteRequestMax - 1)))) && this.attr.queuedRequestData))) {\n                var a = this.attr.queuedRequestData;\n                this.getRemoteSuggestions(a.id, a.queryData, a.suggestions, a.datasources), this.attr.queuedRequestData = !1;\n            }\n        ;\n        ;\n        }, this.adjustRequestCount = function(a) {\n            this.attr.outstandingRemoteRequestCount += a;\n        }, this.canMakeRemoteRequest = function(a) {\n            return ((((this.attr.outstandingRemoteRequestCount < this.attr.outstandingRemoteRequestMax)) ? !0 : (this.attr.queuedRequestData = a, !1)));\n        }, this.processRemoteRequestError = function() {\n            this.adjustRequestCount(-1), this.makeQueuedRemoteRequestIfPossible();\n        }, this.splitRemoteRequests = function(a, b, c, d) {\n            var e = {\n            };\n            d.forEach(function(a) {\n                if (((((this[a] && this[a].requiresRemoteSuggestions)) && this[a].requiresRemoteSuggestions(b)))) {\n                    var c = this[a];\n                    ((e[c.attr.remotePath] ? e[c.attr.remotePath].push(c) : e[c.attr.remotePath] = [c,]));\n                }\n            ;\n            ;\n            }, this.datasources);\n            {\n                var fin69keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin69i = (0);\n                var f;\n                for (; (fin69i < fin69keys.length); (fin69i++)) {\n                    ((f) = (fin69keys[fin69i]));\n                    {\n                        this.executeRemoteRequest(a, b, c, e[f]);\n                        break;\n                    };\n                };\n            };\n        ;\n        }, this.executeRemoteRequest = function(a, b, c, d) {\n            var e = {\n                id: a,\n                queryData: b,\n                suggestions: c,\n                datasources: d\n            };\n            if (!this.canMakeRemoteRequest(e)) {\n                return;\n            }\n        ;\n        ;\n            if (((!this.attr.tweetContextEnabled || ((b.tweetContext && ((b.tweetContext.length > 1000))))))) {\n                b.tweetContext = undefined;\n            }\n        ;\n        ;\n            this.adjustRequestCount(1), this.get({\n                url: d[0].attr.remotePath,\n                headers: {\n                    \"X-Phx\": !0\n                },\n                data: {\n                    q: b.query,\n                    tweet_context: b.tweetContext,\n                    count: this.attr.limit,\n                    result_type: d.map(function(a) {\n                        return a.attr.remoteType;\n                    }).join(\",\")\n                },\n                eventData: e,\n                success: this.processRemoteSuggestions.bind(this),\n                error: this.processRemoteRequestError.bind(this)\n            });\n        }, this.truncateTopicsWithRecentSearches = function(a) {\n            if (((!a.topics || !a.recentSearches))) {\n                return;\n            }\n        ;\n        ;\n            var b = a.recentSearches.length, c = ((4 - b));\n            a.topics = a.topics.slice(0, c);\n        }, this.dedupSuggestions = function(a, b, c) {\n            function e() {\n                return b.some(function(a) {\n                    return ((a in c));\n                });\n            };\n        ;\n            function f(a) {\n                var b = ((a.topic || a.JSBNG__name));\n                return !d[b.toLowerCase()];\n            };\n        ;\n            if (((!c[a] || !e()))) {\n                return;\n            }\n        ;\n        ;\n            var d = {\n            };\n            c[a].forEach(function(a) {\n                var b = ((a.JSBNG__name || a.topic));\n                d[b.toLowerCase()] = !0;\n            }), b.forEach(function(a) {\n                ((((a in c)) && (c[a] = c[a].filter(f))));\n            });\n        }, this.processSuggestionsByDataset = function(a) {\n            this.dedupSuggestions(\"recentSearches\", [\"topics\",], a), this.truncateTopicsWithRecentSearches(a);\n        }, this.getSuggestions = function(a, b) {\n            if (((typeof b == \"undefined\"))) {\n                throw \"No parameters specified\";\n            }\n        ;\n        ;\n            if (!b.datasources) {\n                throw \"No datasources specified\";\n            }\n        ;\n        ;\n            if (((typeof b.queryData == \"undefined\"))) {\n                throw \"No query data specified\";\n            }\n        ;\n        ;\n            if (((typeof b.queryData.query == \"undefined\"))) {\n                throw \"No query specified\";\n            }\n        ;\n        ;\n            if (!b.id) {\n                throw \"No id specified\";\n            }\n        ;\n        ;\n            var c = this.getLocalSuggestions(b.queryData, b.datasources);\n            this.processSuggestionsByDataset(c), this.triggerSuggestionsEvent(b.id, b.queryData, c, !0);\n            if (((((b.query === \"@\")) || ((b.localOnly === !0))))) {\n                return;\n            }\n        ;\n        ;\n            this.getRemoteSuggestions(b.id, b.queryData, c, b.datasources);\n        }, this.addDatasource = function(a, b, c) {\n            var d = ((c[b] || {\n            }));\n            if (!d.enabled) {\n                return;\n            }\n        ;\n        ;\n            ((globalDataSources.hasOwnProperty(b) ? this.datasources[b] = globalDataSources[b] : globalDataSources[b] = this.datasources[b] = new a(utils.merge(d, {\n                id: b\n            })))), this.setupEventListeners(b);\n        }, this.after(\"initialize\", function(a) {\n            this.datasources = {\n            }, this.request = {\n            }, this.addDatasource(accountsDatasource, \"accounts\", a), this.addDatasource(accountsDatasource, \"dmAccounts\", a), this.addDatasource(savedSearchesDatasource, \"savedSearches\", a), this.addDatasource(recentSearchesDatasource, \"recentSearches\", a), this.addDatasource(topicsDatasource, \"topics\", a), this.addDatasource(topicsDatasource, \"hashtags\", utils.merge(a, {\n                hashtags: {\n                    remoteType: \"hashtags\"\n                }\n            }, !0)), this.addDatasource(contextHelperDatasource, \"contextHelpers\", a), this.addDatasource(trendLocationsDatasource, \"trendLocations\", a), this.JSBNG__on(\"uiNeedsTypeaheadSuggestions\", this.getSuggestions);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withData = require(\"app/data/with_data\"), withCache = require(\"app/data/typeahead/with_cache\"), accountsDatasource = require(\"app/data/typeahead/accounts_datasource\"), savedSearchesDatasource = require(\"app/data/typeahead/saved_searches_datasource\"), recentSearchesDatasource = require(\"app/data/typeahead/recent_searches_datasource\"), withExternalEventListeners = require(\"app/data/typeahead/with_external_event_listeners\"), topicsDatasource = require(\"app/data/typeahead/topics_datasource\"), contextHelperDatasource = require(\"app/data/typeahead/context_helper_datasource\"), trendLocationsDatasource = require(\"app/data/typeahead/trend_locations_datasource\");\n    module.exports = defineComponent(typeahead, withData, withCache, withExternalEventListeners);\n    var globalDataSources = {\n    };\n});\ndefine(\"app/data/typeahead_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"lib/twitter-text\",\"app/utils/scribe_item_types\",], function(module, require, exports) {\n    function typeaheadScribe() {\n        this.defaultAttrs({\n            tweetboxSelector: \".tweet-box-shadow\"\n        }), this.storeCompletionData = function(a, b) {\n            if (((b.scribeContext && ((b.scribeContext.component == \"tweet_box\"))))) {\n                var c = ((((b.source == \"account\")) ? ((\"@\" + b.display)) : b.display));\n                this.completions.push(c);\n            }\n        ;\n        ;\n        }, this.handleTweetCompletion = function(a, b) {\n            if (((b.scribeContext.component != \"tweet_box\"))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(a.target).JSBNG__find(this.attr.tweetboxSelector).val(), d = twitterText.extractEntitiesWithIndices(c).filter(function(a) {\n                return ((((a.screenName || a.cashtag)) || a.hashtag));\n            });\n            d = d.map(function(a) {\n                return c.slice(a.indices[0], a.indices[1]);\n            });\n            var e = d.filter(function(a) {\n                return ((this.completions.indexOf(a) >= 0));\n            }, this);\n            this.completions = [];\n            if (((d.length == 0))) {\n                return;\n            }\n        ;\n        ;\n            var f = {\n                query: b.query,\n                message: d.length,\n                event_info: e.length,\n                format_version: 2\n            };\n            this.scribe(\"entities\", b, f);\n        }, this.scribeSelection = function(a, b) {\n            if (((b.fromSelectionEvent && ((a.type == \"uiTypeaheadItemComplete\"))))) {\n                return;\n            }\n        ;\n        ;\n            var c = {\n                element: ((\"typeahead_\" + b.source)),\n                action: \"select\"\n            }, d;\n            ((((a.type == \"uiTypeaheadItemComplete\")) ? d = \"autocomplete\" : ((b.isClick ? d = \"click\" : ((((a.type == \"uiTypeaheadItemSelected\")) && (d = \"key_select\")))))));\n            var e = {\n                position: b.index,\n                description: d\n            };\n            ((((b.source == \"account\")) ? (e.item_type = itemTypes.user, e.id = b.query) : ((((b.source == \"topics\")) ? (e.item_type = itemTypes.search, e.item_query = b.query) : ((((b.source == \"saved_search\")) ? (e.item_type = itemTypes.savedSearch, e.item_query = b.query) : ((((b.source == \"recent_search\")) ? (e.item_type = itemTypes.search, e.item_query = b.query) : ((((b.source == \"trend_location\")) && (e.item_type = itemTypes.trend, e.item_query = b.JSBNG__item.woeid, ((((b.JSBNG__item.woeid == -1)) && (c.action = \"no_results\"))))))))))))));\n            var f = {\n                message: b.input,\n                items: [e,],\n                format_version: 2,\n                event_info: b.JSBNG__item.origin\n            };\n            this.scribe(c, b, f);\n        }, this.after(\"initialize\", function() {\n            this.completions = [], this.JSBNG__on(\"uiTypeaheadItemComplete uiTypeaheadItemSelected\", this.storeCompletionData), this.JSBNG__on(\"uiTypeaheadItemComplete uiTypeaheadItemSelected\", this.scribeSelection), this.JSBNG__on(\"uiTweetboxTweetSuccess uiTweetboxReplySuccess\", this.handleTweetCompletion);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), twitterText = require(\"lib/twitter-text\"), itemTypes = require(\"app/utils/scribe_item_types\");\n    module.exports = defineComponent(typeaheadScribe, withScribe);\n});\ndefine(\"app/ui/dialogs/goto_user_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function gotoUserDialog() {\n        this.defaultAttrs({\n            dropdownId: \"swift_autocomplete_dropdown_goto_user\",\n            inputSelector: \"input.username-input\",\n            usernameFormSelector: \"form.goto-user-form\"\n        }), this.JSBNG__focus = function() {\n            this.select(\"inputSelector\").JSBNG__focus();\n        }, this.gotoUser = function(a, b) {\n            if (((((b && b.dropdownId)) && ((b.dropdownId != this.attr.dropdownId))))) {\n                return;\n            }\n        ;\n        ;\n            a.preventDefault();\n            if (((b && b.JSBNG__item))) {\n                this.select(\"inputSelector\").val(b.JSBNG__item.screen_name), this.trigger(\"uiNavigate\", {\n                    href: b.href\n                });\n                return;\n            }\n        ;\n        ;\n            var c = this.select(\"inputSelector\").val().trim();\n            ((((c.substr(0, 1) == \"@\")) && (c = c.substr(1)))), this.trigger(\"uiNavigate\", {\n                href: ((\"/\" + c))\n            });\n        }, this.reset = function() {\n            this.select(\"inputSelector\").val(\"\"), this.select(\"inputSelector\").JSBNG__blur(), this.trigger(this.select(\"inputSelector\"), \"uiHideAutocomplete\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiShortcutShowGotoUser\", this.open), this.JSBNG__on(\"uiDialogOpened\", this.JSBNG__focus), this.JSBNG__on(\"uiDialogClosed\", this.reset), this.JSBNG__on(this.select(\"usernameFormSelector\"), \"submit\", this.gotoUser), this.JSBNG__on(\"uiTypeaheadItemSelected uiTypeaheadSubmitQuery\", this.gotoUser), TypeaheadInput.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector\n            }), TypeaheadDropdown.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector,\n                autocompleteAccounts: !1,\n                datasourceRenders: [[\"accounts\",[\"accounts\",],],],\n                deciders: this.attr.typeaheadData,\n                eventData: {\n                    scribeContext: {\n                        component: \"goto_user_dialog\"\n                    }\n                }\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), GotoUserDialog = defineComponent(gotoUserDialog, withDialog, withPosition);\n    module.exports = GotoUserDialog;\n});\ndefine(\"app/utils/setup_polling_with_backoff\", [\"module\",\"require\",\"exports\",\"core/clock\",\"core/utils\",], function(module, require, exports) {\n    function setupPollingWithBackoff(a, b, c) {\n        var d = {\n            focusedInterval: 30000,\n            blurredInterval: 90000,\n            backoffFactor: 2\n        };\n        c = utils.merge(d, c);\n        var e = clock.setIntervalEvent(a, c.focusedInterval, c.eventData);\n        return b = ((b || $(window))), b.JSBNG__on(\"JSBNG__focus\", e.cancelBackoff.bind(e)).JSBNG__on(\"JSBNG__blur\", e.backoff.bind(e, c.blurredInterval, c.backoffFactor)), e;\n    };\n;\n    var clock = require(\"core/clock\"), utils = require(\"core/utils\");\n    module.exports = setupPollingWithBackoff;\n});\ndefine(\"app/ui/page_title\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function pageTitle() {\n        this.addCount = function(a, b) {\n            ((b.count && (JSBNG__document.title = ((((((\"(\" + b.count)) + \") \")) + this.title)))));\n        }, this.removeCount = function(a, b) {\n            JSBNG__document.title = this.title;\n        }, this.setTitle = function(a, b) {\n            var c = ((b || a.originalEvent.state));\n            ((c && (JSBNG__document.title = this.title = c.title)));\n        }, this.after(\"initialize\", function() {\n            this.title = JSBNG__document.title, this.JSBNG__on(\"uiAddPageCount\", this.addCount), this.JSBNG__on(\"uiHasInjectedNewTimeline\", this.removeCount), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.setTitle);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), PageTitle = defineComponent(pageTitle);\n    module.exports = PageTitle;\n});\ndefine(\"app/ui/feedback/with_feedback_tweet\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/dialogs/with_modal_tweet\",], function(module, require, exports) {\n    function withFeedbackTweet() {\n        compose.mixin(this, [withModalTweet,]), this.defaultAttrs({\n            tweetItemSelector: \"div.tweet\",\n            streamSelector: \"div.stream-container\"\n        }), this.insertTweetIntoDialog = function() {\n            if (((this.selectedKey.indexOf(\"stream_status_\") == -1))) {\n                return;\n            }\n        ;\n        ;\n            var a = this.attr.tweetItemSelector.split(\",\").map(function(a) {\n                return ((((((a + \"[data-feedback-key=\")) + this.selectedKey)) + \"]\"));\n            }.bind(this)).join(\",\"), b = $(this.attr.streamSelector).JSBNG__find(a);\n            this.addTweet(b.clone().removeClass(\"retweeted favorited\"));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiInsertElementIntoFeedbackDialog\", this.insertTweetIntoDialog);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withModalTweet = require(\"app/ui/dialogs/with_modal_tweet\");\n    module.exports = withFeedbackTweet;\n});\ndefine(\"app/ui/feedback/feedback_stories\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function feedbackStories() {\n        this.defaultAttrs({\n            debugStringToggle: \".toggle-debug\",\n            debugStringSelector: \".debug-string\",\n            storyDataSelector: \".story-data\"\n        }), this.toggleDebugData = function(a) {\n            this.select(\"storyDataSelector\").toggleClass(\"expanded\");\n        }, this.convertDebugToHTML = function() {\n            var a = this.select(\"debugStringSelector\").text(), b = a.replace(/\\n/g, \"\\u003Cbr\\u003E\");\n            this.select(\"debugStringSelector\").html(b);\n        }, this.after(\"initialize\", function() {\n            this.convertDebugToHTML(), this.JSBNG__on(\"click\", {\n                debugStringToggle: this.toggleDebugData\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(feedbackStories);\n});\ndefine(\"app/ui/feedback/with_feedback_discover\", [\"module\",\"require\",\"exports\",\"app/ui/feedback/feedback_stories\",], function(module, require, exports) {\n    function withFeedbackDiscover() {\n        this.defaultAttrs({\n            storyItemSelector: \"div.tweet\",\n            storyStreamSelector: \"div.stream-container\",\n            debugStorySelector: \".debug-story.expanded\",\n            inlinedStorySelector: \".debug-story.inlined\"\n        }), this.insertStoryIntoDialog = function() {\n            if (((this.selectedKey.indexOf(\"story_status_\") == -1))) {\n                return;\n            }\n        ;\n        ;\n            var a = ((((((this.attr.storyItemSelector + \"[data-feedback-key=\\\"\")) + this.selectedKey)) + \"\\\"]\")), b = $(this.attr.storyStreamSelector).JSBNG__find(a);\n            this.select(\"debugStorySelector\").append(b.clone().removeClass(\"retweeted favorited\"));\n        }, this.insertFeedbackStories = function() {\n            if (((this.selectedKey != \"discover_stories_debug\"))) {\n                return;\n            }\n        ;\n        ;\n            var a = $(this.attr.storyStreamSelector).JSBNG__find(this.attr.storyItemSelector), b = this.select(\"contentContainerSelector\");\n            b.empty(), a.each(function(a, c) {\n                var d = $(c).data(\"feedback-key\");\n                ((this.debugData[d] && this.debugData[d].forEach(function(a) {\n                    b.append(a.html);\n                })));\n            }.bind(this)), this.select(\"inlinedStorySelector\").show(), FeedbackStories.attachTo(this.attr.inlinedStorySelector);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiInsertElementIntoFeedbackDialog\", this.insertStoryIntoDialog), this.JSBNG__on(JSBNG__document, \"uiInsertElementIntoFeedbackDialog\", this.insertFeedbackStories);\n        });\n    };\n;\n    var FeedbackStories = require(\"app/ui/feedback/feedback_stories\");\n    module.exports = withFeedbackDiscover;\n});\ndefine(\"app/ui/feedback/feedback_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/feedback/with_feedback_tweet\",\"app/ui/feedback/with_feedback_discover\",\"core/i18n\",], function(module, require, exports) {\n    function feedbackDialog() {\n        this.defaultAttrs({\n            contentContainerSelector: \".sample-content\",\n            debugContainerSelector: \".modal-inner.debug\",\n            cancelSelector: \".cancel\",\n            reportLinkSelector: \".report-link\",\n            spinnerSelector: \".loading-spinner\",\n            pastedContentSelector: \".feedback-json-output\",\n            selectPasteSelector: \"#select-paste-text\",\n            formSelector: \"form\",\n            navBarSelector: \".nav-tabs\",\n            navBarTabSelector: \".nav-tabs li:not(.tab-disabled):not(.active)\",\n            debugKeySelectorSelector: \"select[name=debug-key]\",\n            summaryInputSelector: \"input[name=summary]\",\n            descriptionInputSelector: \"textarea[name=comments]\",\n            screenshotInputSelector: \"input[name=includeScreenshot]\",\n            screenshotPreviewLink: \"#feedback-preview-screenshot\",\n            summaryErrorSelector: \".summary-error\",\n            descriptionErrorSelector: \".description-error\",\n            lastTabCookie: \"last_feedback_tab\",\n            reportEmail: null,\n            reportScreenshotProxyUrl: null,\n            debugDataText: \"\",\n            debugDataKey: \"\",\n            feedbackSuccessText: \"\",\n            dialogToggleSelector: \".feedback-dialog .feedback-data-toggle\"\n        }), this.takeScreenshot = function() {\n            using(\"$lib/html2canvas.js\", function() {\n                var a = function(a) {\n                    ((this.imageCanvas || (this.imageCanvas = a, this.select(\"screenshotPreviewLink\").attr(\"href\", this.imageCanvas.toDataURL()), this.trigger(\"uiNeedsFeedbackData\"))));\n                };\n                html2canvas($(\"body\"), {\n                    proxy: null,\n                    onrendered: a.bind(this),\n                    timeout: 1000\n                });\n            }.bind(this));\n        }, this.setErrorState = function(a, b) {\n            ((b ? this.select(a).show() : this.select(a).hide()));\n        }, this.resetParams = function(a) {\n            this.selectedKey = this.debugKey, this.selectedProject = this.projectKey, this.debugKey = null, this.projectKey = null, this.debugData = a;\n        }, this.toggleDebugEnabled = function(a, b) {\n            this.trigger(\"uiToggleDebugFeedback\", {\n                enabled: $(b.el).is(\".off\")\n            });\n        }, this.prepareDialog = function(a, b) {\n            this.debugKey = b.debugKey, this.projectKey = b.projectKey, this.imageCanvas = null, this.takeScreenshot();\n        }, this.JSBNG__openDialog = function(a, b) {\n            this.showTabFromName(((cookie(this.attr.lastTabCookie) || \"report\")));\n            var c = \"\";\n            ((((((this.debugKey && b[this.debugKey])) && ((b[this.debugKey].length > 0)))) && b[this.debugKey].forEach(function(a) {\n                ((a.html && (c += a.html)));\n            }))), this.select(\"contentContainerSelector\").html(c), this.select(\"screenshotInputSelector\").attr(\"checked\", !0), this.select(\"reportLinkSelector\").JSBNG__find(\"button\").removeClass(\"disabled\"), this.select(\"spinnerSelector\").css(\"visibility\", \"hidden\"), this.trigger(\"uiCheckFeedbackBackendAvailable\"), this.resetParams(b), this.resetErrorStatus(), ((this.selectedKey && this.trigger(\"uiInsertElementIntoFeedbackDialog\"))), this.refreshAvailableDataKeys(), this.reportToConsole(b), this.open();\n        }, this.showTabFromName = function(a) {\n            this.select(\"navBarSelector\").JSBNG__find(\"li\").removeClass(\"active\"), this.select(\"navBarSelector\").JSBNG__find(((((\"li[data-tab-name=\" + a)) + \"]\"))).addClass(\"active\"), this.$node.JSBNG__find(\".modal-inner\").hide(), this.$node.JSBNG__find(((\".modal-inner.\" + a))).show(), cookie(this.attr.lastTabCookie, a);\n        }, this.refreshAvailableDataKeys = function() {\n            var a = this.select(\"debugKeySelectorSelector\");\n            a.empty();\n            var b = this.selectedKey;\n            Object.keys(this.debugData).forEach(function(c) {\n                var d = $(((((\"\\u003Coption\\u003E\" + c)) + \"\\u003C/option\\u003E\")));\n                ((((b == c)) && (d = $(((((((((\"\\u003Coption value=\" + c)) + \"\\u003E\")) + c)) + \" (selected)\\u003C/option\\u003E\")))))), a.append(d);\n            }), a.val(this.selectedKey), this.refreshDebugJSON();\n        }, this.refreshDebugJSON = function(a) {\n            var b = ((this.select(\"debugKeySelectorSelector\").val() || this.selectedKey));\n            if (((!b || !this.debugData[b]))) {\n                return;\n            }\n        ;\n        ;\n            var c = this.debugData[b].map(function(a) {\n                return a.data;\n            });\n            this.select(\"pastedContentSelector\").html(JSON.stringify(c, undefined, 2));\n        }, this.resetErrorStatus = function() {\n            this.setErrorState(\"summaryErrorSelector\", !1), this.setErrorState(\"descriptionErrorSelector\", !1);\n        }, this.reportToConsole = function(a) {\n            if (((!window.JSBNG__console || !Object.keys(a).length))) {\n                return;\n            }\n        ;\n        ;\n            ((JSBNG__console.log && JSBNG__console.log(this.attr.debugDataText))), ((JSBNG__console.dir && JSBNG__console.dir(this.debugData)));\n        }, this.reportFeedback = function(a, b) {\n            a.preventDefault(), this.resetErrorStatus();\n            var c = {\n            };\n            this.select(\"formSelector\").serializeArray().map(function(a) {\n                ((((c[a.JSBNG__name] && $.isArray(c[a.JSBNG__name]))) ? c[a.JSBNG__name].push(a.value) : ((c[a.JSBNG__name] ? c[a.JSBNG__name] = [c[a.JSBNG__name],a.value,] : c[a.JSBNG__name] = a.value))));\n            });\n            var d = this.select(\"summaryInputSelector\").val(), e = this.select(\"descriptionInputSelector\").val();\n            if (((!d || !e))) {\n                ((d || this.setErrorState(\"summaryErrorSelector\", !0))), ((e || this.setErrorState(\"descriptionErrorSelector\", !0)));\n                return;\n            }\n        ;\n        ;\n            ((((this.imageCanvas && c.includeScreenshot)) && (c.screenshotData = this.imageCanvas.toDataURL()))), ((this.selectedProject && (c.project = this.selectedProject))), ((this.selectedKey && (c.key = this.selectedKey))), (($.isEmptyObject(this.debugData) || (c.debug_text = JSON.stringify(this.debugData, undefined, 2), ((this.debugData.initial_pageload && (basicData = this.debugData.initial_pageload[0].data, c.basic_info = ((((((((((((((\"Screen Name: \" + basicData.screen_name)) + \"\\u000a\")) + \"URL: \")) + basicData.url)) + \"\\u000a\")) + \"User Agent: \")) + basicData.userAgent)))))))), this.select(\"reportLinkSelector\").JSBNG__find(\"button\").addClass(\"disabled\"), this.select(\"spinnerSelector\").css(\"visibility\", \"visible\"), this.trigger(\"uiFeedbackBackendPost\", c);\n        }, this.handleBackendSuccess = function(a, b) {\n            this.close(), this.select(\"formSelector\")[0].reset(), this.trigger(\"uiShowError\", {\n                message: _(\"Successfully created Jira ticket: {{ticketId}}\", {\n                    ticketId: ((((((((\"\\u003Ca target='_blank' href='\" + b.link)) + \"'\\u003E\")) + b.ticketId)) + \"\\u003C/a\\u003E\"))\n                })\n            });\n        }, this.triggerEmail = function(a, b) {\n            this.close(), this.select(\"formSelector\")[0].reset(), window.open(b.link, \"_blank\"), this.trigger(\"uiShowError\", {\n                message: _(\"Failed to create Jira ticket. Please see the popup to send an email instead.\")\n            });\n        }, this.switchTab = function(a, b) {\n            a.preventDefault(), this.showTabFromName($(a.target).closest(\"li\").data(\"tab-name\"));\n        }, this.selectText = function(a, b) {\n            this.select(\"debugContainerSelector\").JSBNG__find(\"textarea\")[0].select();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataFeedback\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"dataFeedbackBackendSuccess\", this.handleBackendSuccess), this.JSBNG__on(JSBNG__document, \"dataFeedbackBackendFailure\", this.triggerEmail), this.JSBNG__on(JSBNG__document, \"uiPrepareFeedbackDialog\", this.prepareDialog), this.JSBNG__on(\"change\", {\n                debugKeySelectorSelector: this.refreshDebugJSON\n            }), this.JSBNG__on(\"click\", {\n                dialogToggleSelector: this.toggleDebugEnabled,\n                navBarTabSelector: this.switchTab,\n                cancelSelector: this.close,\n                reportLinkSelector: this.reportFeedback,\n                selectPasteSelector: this.selectText\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withFeedbackTweet = require(\"app/ui/feedback/with_feedback_tweet\"), withFeedbackDiscover = require(\"app/ui/feedback/with_feedback_discover\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(feedbackDialog, withDialog, withPosition, withFeedbackTweet, withFeedbackDiscover);\n});\ndefine(\"app/ui/feedback/feedback_report_link_handler\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function feedbackReportLinkHandler() {\n        this.defaultAttrs({\n            reportElementLinkSelector: \".feedback-btn[data-feedback-key]\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            a.preventDefault();\n            var c = $(b.el);\n            b = {\n            }, b.debugKey = c.data(\"feedback-key\"), b.projectKey = c.data(\"team-key\"), this.trigger(\"uiPrepareFeedbackDialog\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"click\", {\n                reportElementLinkSelector: this.JSBNG__openDialog\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(feedbackReportLinkHandler);\n});\ndefine(\"app/data/feedback/feedback\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"app/data/with_data\",], function(module, require, exports) {\n    function feedbackData() {\n        var a = !0;\n        this.defaultAttrs({\n            feedbackCookie: \"debug_data\",\n            data: {\n            },\n            reportEmail: undefined,\n            reportBackendPingUrl: undefined,\n            reportBackendPostUrl: undefined,\n            reportBackendGetUrl: undefined\n        }), this.isBackendAvailable = function() {\n            return a;\n        }, this.getFeedbackData = function(a, b) {\n            this.trigger(\"dataFeedback\", this.attr.data);\n        }, this.toggleFeedbackCookie = function(a, b) {\n            var c = ((b.enabled ? !0 : null));\n            cookie(this.attr.feedbackCookie, c), this.refreshPage(), this.checkDebugEnabled();\n        }, this.refreshPage = function() {\n            JSBNG__document.JSBNG__location.reload(!0);\n        }, this.checkDebugEnabled = function() {\n            this.trigger(\"dataDebugFeedbackChanged\", {\n                enabled: !!cookie(this.attr.feedbackCookie)\n            });\n        }, this.addFeedbackData = function(a, b) {\n            var c = this.attr.data;\n            {\n                var fin70keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin70i = (0);\n                var d;\n                for (; (fin70i < fin70keys.length); (fin70i++)) {\n                    ((d) = (fin70keys[fin70i]));\n                    {\n                        ((c[d] ? c[d] = [].concat.apply(c[d], b[d]) : c[d] = b[d]));\n                    ;\n                    };\n                };\n            };\n        ;\n        }, this.pingBackend = function(b, c) {\n            if (((this.attr.reportBackendPingUrl == null))) {\n                a = !1;\n                return;\n            }\n        ;\n        ;\n            var d = function(b) {\n                a = !0;\n            }, e = function(b) {\n                a = !1;\n            };\n            this.get({\n                url: this.attr.reportBackendPingUrl,\n                success: d.bind(this),\n                error: e.bind(this)\n            });\n        }, this.backendPost = function(b, c) {\n            if (!this.isBackendAvailable()) {\n                this.fallbackToEmail(b, c);\n                return;\n            }\n        ;\n        ;\n            var d = function(a) {\n                var b = ((this.attr.reportBackendGetUrl + a.key));\n                this.trigger(\"dataFeedbackBackendSuccess\", {\n                    link: b,\n                    ticketId: a.key\n                });\n            }, e = function(d) {\n                a = !1, this.fallbackToEmail(b, c);\n            };\n            this.post({\n                url: this.attr.reportBackendPostUrl,\n                data: c,\n                isMutation: !1,\n                success: d.bind(this),\n                error: e.bind(this)\n            });\n        }, this.fallbackToEmail = function(a, b) {\n            var c = ((((((((\"mailto:\" + this.attr.reportEmail)) + \"?subject=\")) + b.summary)) + \"&body=\")), d = [\"summary\",\"debug_data\",\"debug_text\",\"screenshotData\",];\n            {\n                var fin71keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin71i = (0);\n                var e;\n                for (; (fin71i < fin71keys.length); (fin71i++)) {\n                    ((e) = (fin71keys[fin71i]));\n                    {\n                        ((((d.indexOf(e) < 0)) && (c += ((((((e.toString() + \": \")) + b[e].toString())) + \"%0D%0A\")))));\n                    ;\n                    };\n                };\n            };\n        ;\n            this.trigger(\"dataFeedbackBackendFailure\", {\n                link: c,\n                data: b\n            });\n        }, this.logNavigation = function(a, b) {\n            this.trigger(\"dataSetDebugData\", {\n                pushState: [{\n                    data: {\n                        href: b.href,\n                        \"module\": b.module,\n                        title: b.title\n                    }\n                },]\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.data = ((a.data || {\n            })), this.JSBNG__on(\"uiNeedsFeedbackData\", this.getFeedbackData), this.JSBNG__on(\"uiToggleDebugFeedback\", this.toggleFeedbackCookie), this.JSBNG__on(\"dataSetDebugData\", this.addFeedbackData), this.JSBNG__on(\"uiCheckFeedbackBackendAvailable\", this.pingBackend), this.JSBNG__on(\"uiFeedbackBackendPost\", this.backendPost), this.JSBNG__on(\"uiPageChanged\", this.logNavigation), this.checkDebugEnabled();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(feedbackData, withData);\n});\ndefine(\"app/ui/search_query_source\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",], function(module, require, exports) {\n    function searchQuerySource() {\n        this.defaultAttrs({\n            querySourceLinkSelector: \"a[data-query-source]\",\n            querySourceDataAttr: \"data-query-source\",\n            storageExpiration: 60000\n        }), this.saveQuerySource = function(a) {\n            this.storage.setItem(\"source\", {\n                source: {\n                    value: a,\n                    expire: ((JSBNG__Date.now() + this.attr.storageExpiration))\n                }\n            }, this.attr.storageExpiration);\n        }, this.catchLinkClick = function(a, b) {\n            var c = $(b.el).attr(this.attr.querySourceDataAttr);\n            ((c && this.saveQuerySource(c)));\n        }, this.saveTypedQuery = function(a, b) {\n            if (((b.source !== \"search\"))) {\n                return;\n            }\n        ;\n        ;\n            this.saveQuerySource(\"typed_query\");\n        }, this.after(\"initialize\", function() {\n            var a = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new a(\"searchQuerySource\"), this.JSBNG__on(\"click\", {\n                querySourceLinkSelector: this.catchLinkClick\n            }), this.JSBNG__on(\"uiSearchQuery\", this.saveTypedQuery);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\");\n    module.exports = defineComponent(searchQuerySource);\n});\ndefine(\"app/ui/banners/email_banner\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function emailBanner() {\n        this.defaultAttrs({\n            resendConfirmationEmailLinkSelector: \".resend-confirmation-email-link\",\n            resetBounceLinkSelector: \".reset-bounce-link\"\n        }), this.resendConfirmationEmail = function() {\n            this.trigger(\"uiResendConfirmationEmail\");\n        }, this.resetBounceLink = function() {\n            this.trigger(\"uiResetBounceLink\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                resendConfirmationEmailLinkSelector: this.resendConfirmationEmail,\n                resetBounceLinkSelector: this.resetBounceLink\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(emailBanner);\n});\ndefine(\"app/data/email_banner\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"core/i18n\",], function(module, require, exports) {\n    function emailBannerData() {\n        this.resendConfirmationEmail = function() {\n            var a = function(a) {\n                this.trigger(\"uiShowMessage\", {\n                    message: a.messageForFlash\n                });\n            }, b = function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Oops!  There was an error sending the confirmation email.\")\n                });\n            };\n            this.post({\n                url: \"/account/resend_confirmation_email\",\n                eventData: null,\n                data: null,\n                success: a.bind(this),\n                error: b.bind(this)\n            });\n        }, this.resetBounceScore = function() {\n            var a = function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Your email notifications should resume shortly.\")\n                });\n            }, b = function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Oops! There was an error sending email notifications.\")\n                });\n            };\n            this.post({\n                url: \"/bouncers/reset\",\n                eventData: null,\n                data: null,\n                success: a.bind(this),\n                error: b.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiResendConfirmationEmail\", this.resendConfirmationEmail), this.JSBNG__on(\"uiResetBounceLink\", this.resetBounceScore);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(emailBannerData, withData);\n});\nprovide(\"app/ui/media/phoenix_shim\", function(a) {\n    using(\"core/parameterize\", \"core/utils\", function(b, c) {\n        var d = {\n        }, e = {\n        }, f = [], g = {\n            send: function() {\n                throw Error(\"you have to define sandboxedAjax.send\");\n            }\n        }, h = function(a, b) {\n            return b = ((b || \"\")), ((((typeof a != \"string\")) && (((a.global && (b += \"g\"))), ((a.ignoreCase && (b += \"i\"))), ((a.multiline && (b += \"m\"))), a = a.source))), new RegExp(a.replace(/#\\{(\\w+)\\}/g, function(a, b) {\n                var c = ((e[b] || \"\"));\n                return ((((typeof c != \"string\")) && (c = c.source))), c;\n            }), b);\n        }, i = {\n            media: {\n                types: {\n                }\n            },\n            bind: function(a, b, c) {\n                return function() {\n                    return b.apply(a, ((c ? c.concat(Array.prototype.slice.apply(arguments)) : arguments)));\n                };\n            },\n            each: function(a, b, c) {\n                for (var d = 0, e = a.length; ((d < e)); ++d) {\n                    ((c ? b.call(c, a[d], d, a) : b(a[d], d, a)));\n                ;\n                };\n            ;\n            },\n            merge: function() {\n                var a = $.makeArray(arguments);\n                return ((((a.length === 1)) ? a[0] : (((((typeof a[((a.length - 1))] == \"boolean\")) && a.unshift(a.pop()))), $.extend.apply(null, a))));\n            },\n            proto: JSBNG__location.protocol.slice(0, -1),\n            provide: function(_, a) {\n                e = a;\n            },\n            isSSL: function() {\n            \n            },\n            mediaType: function(a, b) {\n                d[a] = b, ((b.title || (d[a].title = a)));\n                {\n                    var fin72keys = ((window.top.JSBNG_Replay.forInKeys)((b.matchers))), fin72i = (0);\n                    var e;\n                    for (; (fin72i < fin72keys.length); (fin72i++)) {\n                        ((e) = (fin72keys[fin72i]));\n                        {\n                            var g = h(b.matchers[e]);\n                            b.matchers[e] = g, b._name = a, f.push([g,a,e,]);\n                        };\n                    };\n                };\n            ;\n                return i.media.types[a] = {\n                    matchers: b.matchers\n                }, {\n                    statics: function(b) {\n                        return d[a].statics = b, d[a] = c.merge(d[a], b), i.media.types[a].templates = b.templates, this;\n                    },\n                    methods: function(b) {\n                        return d[a].methods = b, d[a] = c.merge(d[a], b), this;\n                    }\n                };\n            },\n            constants: {\n                imageSizes: {\n                    small: \"small\",\n                    medium: \"medium\",\n                    large: \"large\",\n                    original: \"original\"\n                }\n            },\n            helpers: {\n                truncate: function(a, b, c) {\n                    return ((a.slice(0, b) + c));\n                }\n            },\n            util: {\n                joinPath: function(a, b) {\n                    var c = ((((a.substr(-1) === \"/\")) ? \"\" : \"/\"));\n                    return ((((a + c)) + b));\n                },\n                supplant: function(a, c) {\n                    return b(a.replace(/\\{/g, \"{{\").replace(/\\}/g, \"}}\"), c);\n                },\n                paramsFromUrl: function(a) {\n                    if (((!a || ((a.indexOf(\"?\") < 0))))) {\n                        return null;\n                    }\n                ;\n                ;\n                    var b = {\n                    };\n                    return a.slice(1).split(\"&\").forEach(function(a) {\n                        var c = a.split(\"=\");\n                        b[c[0]] = c[1];\n                    }), b;\n                }\n            },\n            sandboxedAjax: g\n        };\n        a({\n            Mustache: {\n                to_html: b\n            },\n            twttr: i,\n            mediaTypes: d,\n            matchers: f,\n            sandboxedAjax: g\n        });\n    });\n});\nprovide(\"app/utils/twt\", function(a) {\n    using(\"//platform.twitter.com/js/vendor/twt/dist/twt.all.min.js\", \"css!//platform.twitter.com/twt/twt.css\", function() {\n        var b = window.twt;\n        try {\n            delete window.twt;\n        } catch (c) {\n            window.twt = undefined;\n        };\n    ;\n        a(b);\n    });\n});\nprovide(\"app/ui/media/types\", function(a) {\n    using(\"app/ui/media/phoenix_shim\", function(b) {\n        function e(a) {\n            return ((c.isSSL() ? a.replace(/^http:/, \"https:\") : a));\n        };\n    ;\n        var c = phx = b.twttr, d = b.Mustache;\n        c.provide(\"twttr.regexps\", {\n            protocol: /(?:https?\\:\\/\\/)/,\n            protocol_no_ssl: /(?:http\\:\\/\\/)/,\n            optional_protocol: /(?:(?:https?\\:\\/\\/)?(?:www\\.)?)/,\n            protocol_subdomain: /(?:(?:https?\\:\\/\\/)?(?:[\\w\\-]+\\.))/,\n            optional_protocol_subdomain: /(?:(?:https?\\:\\/\\/)?(?:[\\w\\-]+\\.)?)/,\n            wildcard: /[a-zA-Z0-9_#\\.\\-\\?\\&\\=\\/]+/,\n            itunes_protocol: /(?:https?\\:\\/\\/)?(?:[a-z]\\.)?itunes\\.apple\\.com(?:\\/[a-z][a-z])?/\n        }), c.mediaType(\"Twitter\", {\n            icon: \"tweet\",\n            domain: \"//twitter.com\",\n            ssl: !0,\n            skipAttributionInDiscovery: !0,\n            matchers: {\n                permalink: /^#{optional_protocol}?twitter\\.com\\/(?:#!?\\/)?\\w{1,20}\\/status\\/(\\d+)[\\/]?$/i\n            },\n            process: function(a) {\n                var b = this;\n                using(\"app/utils/twt\", function(d) {\n                    if (!d) {\n                        return;\n                    }\n                ;\n                ;\n                    d.settings.lang = $(\"html\").attr(\"lang\"), c.sandboxedAjax.send({\n                        url: \"//cdn.api.twitter.com/1/statuses/show.json\",\n                        dataType: \"jsonp\",\n                        data: {\n                            include_entities: !0,\n                            contributor_details: !0,\n                            id: b.slug\n                        },\n                        success: function(c) {\n                            b.tweetHtml = d.tweet(c).html(), a();\n                        }\n                    });\n                });\n            },\n            render: function(a) {\n                $(a).append(((((\"\\u003Cdiv class='tweet-embed'\\u003E\" + this.tweetHtml)) + \"\\u003C/div\\u003E\")));\n            }\n        }), c.mediaType(\"Apple\", {\n            icon: function() {\n                switch (this.label) {\n                  case \"song\":\n                    return \"song\";\n                  case \"album\":\n                    return \"album\";\n                  case \"music_video\":\n                \n                  case \"video\":\n                \n                  case \"movie\":\n                \n                  case \"tv\":\n                    return \"video\";\n                  case \"software\":\n                    return \"software\";\n                  case \"JSBNG__event\":\n                \n                  case \"preorder\":\n                \n                  case \"playlist\":\n                \n                  case \"ping_playlist\":\n                \n                  case \"podcast\":\n                \n                  case \"book\":\n                \n                  default:\n                    return \"generic\";\n                };\n            ;\n            },\n            domain: \"http://itunes.apple.com\",\n            deciderKey: \"phoenix_apple_itunes\",\n            matchers: {\n                song: /^#{itunes_protocol}(?:\\/album)\\/.*\\?i=/i,\n                album: /^#{itunes_protocol}(?:\\/album)\\//i,\n                JSBNG__event: /^#{itunes_protocol}\\/event\\//i,\n                music_video: /^#{itunes_protocol}(?:\\/music-video)\\//i,\n                video: /^#{itunes_protocol}(?:\\/video)\\//i,\n                software: /^#{itunes_protocol}(?:\\/app)\\//i,\n                playlist: /^#{itunes_protocol}(?:\\/imix)\\//i,\n                ping_playlist: /^#{itunes_protocol}(?:\\/imixes)\\?/i,\n                preorder: /^#{itunes_protocol}(?:\\/preorder)\\//i\n            },\n            ssl: !1,\n            getImageURL: function(a, b) {\n                var c = this;\n                this.process(function() {\n                    ((((c.data && c.data.src)) ? b(c.data.src) : b(null)));\n                });\n            },\n            enableAPI: !1,\n            validActions: {\n                resizeFrame: !0,\n                bind: !0,\n                unbind: !0\n            },\n            process: function(a, b) {\n                var d = this;\n                b = ((b || {\n                })), c.sandboxedAjax.send({\n                    url: \"http://itunes.apple.com/WebObjects/MZStore.woa/wa/remotePreview\",\n                    type: \"GET\",\n                    dataType: \"jsonp\",\n                    data: {\n                        url: this.url,\n                        maxwidth: b.maxwidth\n                    },\n                    success: function(b) {\n                        ((b.error || (d.data.src = b.src, d.data.attribution_icon = b.attribution_icon, d.data.attribution_url = b.attribution_url, d.data.attribution_title = \"iTunes\", ((b.favicon && (d.data.attribution_icon = b.favicon))), ((b.faviconLink && (d.data.attribution_url = b.faviconLink))), ((b.height && (d.data.height = b.height))), a())));\n                    }\n                });\n            },\n            render: function(a) {\n                this.renderEmbeddedApplication(a, this.data.src);\n            }\n        }), a(b);\n    });\n});\ndeferred(\"$lib/easyXDM.js\", function() {\n    (function(a, b, c, d, e, f) {\n        function s(a, b) {\n            var c = typeof a[b];\n            return ((((((c == \"function\")) || ((((c == \"object\")) && !!a[b])))) || ((c == \"unknown\"))));\n        };\n    ;\n        function t(a, b) {\n            return ((((typeof a[b] == \"object\")) && !!a[b]));\n        };\n    ;\n        function u(a) {\n            return ((Object.prototype.toString.call(a) === \"[object Array]\"));\n        };\n    ;\n        function v(a) {\n            try {\n                var b = new ActiveXObject(a);\n                return b = null, !0;\n            } catch (c) {\n                return !1;\n            };\n        ;\n        };\n    ;\n        function B() {\n            B = i, y = !0;\n            for (var a = 0; ((a < z.length)); a++) {\n                z[a]();\n            ;\n            };\n        ;\n            z.length = 0;\n        };\n    ;\n        function D(a, b) {\n            if (y) {\n                a.call(b);\n                return;\n            }\n        ;\n        ;\n            z.push(function() {\n                a.call(b);\n            });\n        };\n    ;\n        function E() {\n            var a = parent;\n            if (((m !== \"\"))) {\n                for (var b = 0, c = m.split(\".\"); ((b < c.length)); b++) {\n                    a = a[c[b]];\n                ;\n                };\n            }\n        ;\n        ;\n            return a.easyXDM;\n        };\n    ;\n        function F(b) {\n            return a.easyXDM = o, m = b, ((m && (p = ((((\"easyXDM_\" + m.replace(\".\", \"_\"))) + \"_\"))))), n;\n        };\n    ;\n        function G(a) {\n            return a.match(j)[3];\n        };\n    ;\n        function H(a) {\n            var b = a.match(j), c = b[2], d = b[3], e = ((b[4] || \"\"));\n            if (((((((c == \"http:\")) && ((e == \":80\")))) || ((((c == \"https:\")) && ((e == \":443\"))))))) {\n                e = \"\";\n            }\n        ;\n        ;\n            return ((((((c + \"//\")) + d)) + e));\n        };\n    ;\n        function I(a) {\n            a = a.replace(l, \"$1/\");\n            if (!a.match(/^(http||https):\\/\\//)) {\n                var b = ((((a.substring(0, 1) === \"/\")) ? \"\" : c.pathname));\n                ((((b.substring(((b.length - 1))) !== \"/\")) && (b = b.substring(0, ((b.lastIndexOf(\"/\") + 1)))))), a = ((((((((c.protocol + \"//\")) + c.host)) + b)) + a));\n            }\n        ;\n        ;\n            while (k.test(a)) {\n                a = a.replace(k, \"\");\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function J(a, b) {\n            var c = \"\", d = a.indexOf(\"#\");\n            ((((d !== -1)) && (c = a.substring(d), a = a.substring(0, d))));\n            var e = [];\n            {\n                var fin73keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin73i = (0);\n                var g;\n                for (; (fin73i < fin73keys.length); (fin73i++)) {\n                    ((g) = (fin73keys[fin73i]));\n                    {\n                        ((b.hasOwnProperty(g) && e.push(((((g + \"=\")) + f(b[g]))))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return ((((((a + ((r ? \"#\" : ((((a.indexOf(\"?\") == -1)) ? \"?\" : \"&\")))))) + e.join(\"&\"))) + c));\n        };\n    ;\n        function L(a) {\n            return ((typeof a == \"undefined\"));\n        };\n    ;\n        function M() {\n            var a = {\n            }, b = {\n                a: [1,2,3,]\n            }, c = \"{\\\"a\\\":[1,2,3]}\";\n            return ((((((((typeof JSON != \"undefined\")) && ((typeof JSON.stringify == \"function\")))) && ((JSON.stringify(b).replace(/\\s/g, \"\") === c)))) ? JSON : (((((Object.toJSON && ((Object.toJSON(b).replace(/\\s/g, \"\") === c)))) && (a.stringify = Object.toJSON))), ((((typeof String.prototype.evalJSON == \"function\")) && (b = c.evalJSON(), ((((((b.a && ((b.a.length === 3)))) && ((b.a[2] === 3)))) && (a.parse = function(a) {\n                return a.evalJSON();\n            })))))), ((((a.stringify && a.parse)) ? (M = function() {\n                return a;\n            }, a) : null)))));\n        };\n    ;\n        function N(a, b, c) {\n            var d;\n            {\n                var fin74keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin74i = (0);\n                var e;\n                for (; (fin74i < fin74keys.length); (fin74i++)) {\n                    ((e) = (fin74keys[fin74i]));\n                    {\n                        ((b.hasOwnProperty(e) && ((((e in a)) ? (d = b[e], ((((typeof d == \"object\")) ? N(a[e], d, c) : ((c || (a[e] = b[e])))))) : a[e] = b[e]))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return a;\n        };\n    ;\n        function O() {\n            var c = b.createElement(\"div\");\n            c.JSBNG__name = ((p + \"TEST\")), N(c.style, {\n                position: \"absolute\",\n                left: \"-2000px\",\n                JSBNG__top: \"0px\"\n            }), b.body.appendChild(c), q = ((c.contentWindow !== a.JSBNG__frames[c.JSBNG__name])), b.body.removeChild(c);\n        };\n    ;\n        function P(a) {\n            ((L(q) && O()));\n            var c;\n            ((q ? c = b.createElement(((((\"\\u003Ciframe name='\" + a.props.JSBNG__name)) + \"' frameborder='0' allowtransparency='false' tabindex='-1', role='presentation' scrolling='no' /\\u003E\"))) : (c = b.createElement(\"div\"), c.JSBNG__name = a.props.JSBNG__name, c.setAttribute(\"frameborder\", \"0\"), c.setAttribute(\"allowtransparency\", \"false\"), c.setAttribute(\"tabindex\", \"-1\"), c.setAttribute(\"role\", \"presentation\"), c.setAttribute(\"scrolling\", \"no\")))), c.id = c.JSBNG__name = a.props.JSBNG__name, delete a.props.JSBNG__name, ((a.onLoad && w(c, \"load\", a.onLoad))), ((((typeof a.container == \"string\")) && (a.container = b.getElementById(a.container)))), ((a.container || (c.style.position = \"absolute\", c.style.JSBNG__top = \"-2000px\", a.container = b.body)));\n            var d = a.props.src;\n            return delete a.props.src, N(c, a.props), c.border = c.frameBorder = 0, a.container.appendChild(c), c.src = d, a.props.src = d, c;\n        };\n    ;\n        function Q(a, b) {\n            ((((typeof a == \"string\")) && (a = [a,])));\n            var c, d = a.length;\n            while (d--) {\n                c = a[d], c = new RegExp(((((c.substr(0, 1) == \"^\")) ? c : ((((\"^\" + c.replace(/(\\*)/g, \".$1\").replace(/\\?/g, \".\"))) + \"$\")))));\n                if (c.test(b)) {\n                    return !0;\n                }\n            ;\n            ;\n            };\n        ;\n            return !1;\n        };\n    ;\n        function R(d) {\n            var e = d.protocol, f;\n            d.isHost = ((d.isHost || L(K.xdm_p))), r = ((d.hash || !1)), ((d.props || (d.props = {\n            })));\n            if (!d.isHost) {\n                d.channel = K.xdm_c, d.secret = K.xdm_s, d.remote = K.xdm_e, e = K.xdm_p;\n                if (((d.acl && !Q(d.acl, d.remote)))) {\n                    throw new Error(((\"Access denied for \" + d.remote)));\n                }\n            ;\n            ;\n            }\n             else d.remote = I(d.remote), d.channel = ((d.channel || ((\"default\" + h++)))), d.secret = Math.JSBNG__random().toString(16).substring(2), ((L(e) && ((((H(c.href) == H(d.remote))) ? e = \"4\" : ((((s(a, \"JSBNG__postMessage\") || s(b, \"JSBNG__postMessage\"))) ? e = \"1\" : ((((s(a, \"ActiveXObject\") && v(\"ShockwaveFlash.ShockwaveFlash\"))) ? e = \"6\" : ((((((((JSBNG__navigator.product === \"Gecko\")) && ((\"JSBNG__frameElement\" in a)))) && ((JSBNG__navigator.userAgent.indexOf(\"WebKit\") == -1)))) ? e = \"5\" : ((d.remoteHelper ? (d.remoteHelper = I(d.remoteHelper), e = \"2\") : e = \"0\"))))))))))));\n        ;\n        ;\n            switch (e) {\n              case \"0\":\n                N(d, {\n                    interval: 100,\n                    delay: 2000,\n                    useResize: !0,\n                    useParent: !1,\n                    usePolling: !1\n                }, !0);\n                if (d.isHost) {\n                    if (!d.local) {\n                        var g = ((((c.protocol + \"//\")) + c.host)), i = b.body.getElementsByTagName(\"img\"), j, k = i.length;\n                        while (k--) {\n                            j = i[k];\n                            if (((j.src.substring(0, g.length) === g))) {\n                                d.local = j.src;\n                                break;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        ((d.local || (d.local = a)));\n                    }\n                ;\n                ;\n                    var l = {\n                        xdm_c: d.channel,\n                        xdm_p: 0\n                    };\n                    ((((d.local === a)) ? (d.usePolling = !0, d.useParent = !0, d.local = ((((((((c.protocol + \"//\")) + c.host)) + c.pathname)) + c.search)), l.xdm_e = d.local, l.xdm_pa = 1) : l.xdm_e = I(d.local))), ((d.container && (d.useResize = !1, l.xdm_po = 1))), d.remote = J(d.remote, l);\n                }\n                 else N(d, {\n                    channel: K.xdm_c,\n                    remote: K.xdm_e,\n                    useParent: !L(K.xdm_pa),\n                    usePolling: !L(K.xdm_po),\n                    useResize: ((d.useParent ? !1 : d.useResize))\n                });\n            ;\n            ;\n                f = [new n.stack.HashTransport(d),new n.stack.ReliableBehavior({\n                }),new n.stack.QueueBehavior({\n                    encode: !0,\n                    maxLength: ((4000 - d.remote.length))\n                }),new n.stack.VerifyBehavior({\n                    initiate: d.isHost\n                }),];\n                break;\n              case \"1\":\n                f = [new n.stack.PostMessageTransport(d),];\n                break;\n              case \"2\":\n                f = [new n.stack.NameTransport(d),new n.stack.QueueBehavior,new n.stack.VerifyBehavior({\n                    initiate: d.isHost\n                }),];\n                break;\n              case \"3\":\n                f = [new n.stack.NixTransport(d),];\n                break;\n              case \"4\":\n                f = [new n.stack.SameOriginTransport(d),];\n                break;\n              case \"5\":\n                f = [new n.stack.FrameElementTransport(d),];\n                break;\n              case \"6\":\n                ((d.swf || (d.swf = \"../../tools/easyxdm.swf\"))), f = [new n.stack.FlashTransport(d),];\n            };\n        ;\n            return f.push(new n.stack.QueueBehavior({\n                lazy: d.lazy,\n                remove: !0\n            })), f;\n        };\n    ;\n        function S(a) {\n            var b, c = {\n                incoming: function(a, b) {\n                    this.up.incoming(a, b);\n                },\n                outgoing: function(a, b) {\n                    this.down.outgoing(a, b);\n                },\n                callback: function(a) {\n                    this.up.callback(a);\n                },\n                init: function() {\n                    this.down.init();\n                },\n                destroy: function() {\n                    this.down.destroy();\n                }\n            };\n            for (var d = 0, e = a.length; ((d < e)); d++) {\n                b = a[d], N(b, c, !0), ((((d !== 0)) && (b.down = a[((d - 1))]))), ((((d !== ((e - 1)))) && (b.up = a[((d + 1))])));\n            ;\n            };\n        ;\n            return b;\n        };\n    ;\n        function T(a) {\n            a.up.down = a.down, a.down.up = a.up, a.up = a.down = null;\n        };\n    ;\n        var g = this, h = Math.floor(((Math.JSBNG__random() * 10000))), i = Function.prototype, j = /^((http.?:)\\/\\/([^:\\/\\s]+)(:\\d+)*)/, k = /[\\-\\w]+\\/\\.\\.\\//, l = /([^:])\\/\\//g, m = \"\", n = {\n        }, o = a.easyXDM, p = \"easyXDM_\", q, r = !1, w, x;\n        if (s(a, \"JSBNG__addEventListener\")) w = function(a, b, c) {\n            a.JSBNG__addEventListener(b, c, !1);\n        }, x = function(a, b, c) {\n            a.JSBNG__removeEventListener(b, c, !1);\n        };\n         else {\n            if (!s(a, \"JSBNG__attachEvent\")) {\n                throw new Error(\"Browser not supported\");\n            }\n        ;\n        ;\n            w = function(a, b, c) {\n                a.JSBNG__attachEvent(((\"JSBNG__on\" + b)), c);\n            }, x = function(a, b, c) {\n                a.JSBNG__detachEvent(((\"JSBNG__on\" + b)), c);\n            };\n        }\n    ;\n    ;\n        var y = !1, z = [], A;\n        ((((\"readyState\" in b)) ? (A = b.readyState, y = ((((A == \"complete\")) || ((~JSBNG__navigator.userAgent.indexOf(\"AppleWebKit/\") && ((((A == \"loaded\")) || ((A == \"interactive\"))))))))) : y = !!b.body));\n        if (!y) {\n            if (s(a, \"JSBNG__addEventListener\")) w(b, \"DOMContentLoaded\", B);\n             else {\n                w(b, \"readystatechange\", function() {\n                    ((((b.readyState == \"complete\")) && B()));\n                });\n                if (((b.documentElement.doScroll && ((a === JSBNG__top))))) {\n                    var C = function() {\n                        if (y) {\n                            return;\n                        }\n                    ;\n                    ;\n                        try {\n                            b.documentElement.doScroll(\"left\");\n                        } catch (a) {\n                            d(C, 1);\n                            return;\n                        };\n                    ;\n                        B();\n                    };\n                    C();\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            w(a, \"load\", B);\n        }\n    ;\n    ;\n        var K = function(a) {\n            a = a.substring(1).split(\"&\");\n            var b = {\n            }, c, d = a.length;\n            while (d--) {\n                c = a[d].split(\"=\"), b[c[0]] = e(c[1]);\n            ;\n            };\n        ;\n            return b;\n        }(((/xdm_e=/.test(c.search) ? c.search : c.hash)));\n        N(n, {\n            version: \"2.4.12.108\",\n            query: K,\n            stack: {\n            },\n            apply: N,\n            getJSONObject: M,\n            whenReady: D,\n            noConflict: F\n        }), n.DomHelper = {\n            JSBNG__on: w,\n            un: x,\n            requiresJSON: function(c) {\n                ((t(a, \"JSON\") || b.write(((((((\"\\u003Cscript type=\\\"text/javascript\\\" src=\\\"\" + c)) + \"\\\"\\u003E\\u003C\")) + \"/script\\u003E\")))));\n            }\n        }, function() {\n            var a = {\n            };\n            n.Fn = {\n                set: function(b, c) {\n                    a[b] = c;\n                },\n                get: function(b, c) {\n                    var d = a[b];\n                    return ((c && delete a[b])), d;\n                }\n            };\n        }(), n.Socket = function(a) {\n            var b = S(R(a).concat([{\n                incoming: function(b, c) {\n                    a.onMessage(b, c);\n                },\n                callback: function(b) {\n                    ((a.onReady && a.onReady(b)));\n                }\n            },])), c = H(a.remote);\n            this.origin = H(a.remote), this.destroy = function() {\n                b.destroy();\n            }, this.JSBNG__postMessage = function(a) {\n                b.outgoing(a, c);\n            }, b.init();\n        }, n.Rpc = function(a, b) {\n            if (b.local) {\n                {\n                    var fin75keys = ((window.top.JSBNG_Replay.forInKeys)((b.local))), fin75i = (0);\n                    var c;\n                    for (; (fin75i < fin75keys.length); (fin75i++)) {\n                        ((c) = (fin75keys[fin75i]));\n                        {\n                            if (b.local.hasOwnProperty(c)) {\n                                var d = b.local[c];\n                                ((((typeof d == \"function\")) && (b.local[c] = {\n                                    method: d\n                                })));\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            var e = S(R(a).concat([new n.stack.RpcBehavior(this, b),{\n                callback: function(b) {\n                    ((a.onReady && a.onReady(b)));\n                }\n            },]));\n            this.origin = H(a.remote), this.destroy = function() {\n                e.destroy();\n            }, e.init();\n        }, n.stack.SameOriginTransport = function(a) {\n            var b, e, f, g;\n            return b = {\n                outgoing: function(a, b, c) {\n                    f(a), ((c && c()));\n                },\n                destroy: function() {\n                    ((e && (e.parentNode.removeChild(e), e = null)));\n                },\n                onDOMReady: function() {\n                    g = H(a.remote), ((a.isHost ? (N(a.props, {\n                        src: J(a.remote, {\n                            xdm_e: ((((((c.protocol + \"//\")) + c.host)) + c.pathname)),\n                            xdm_c: a.channel,\n                            xdm_p: 4\n                        }),\n                        JSBNG__name: ((((p + a.channel)) + \"_provider\"))\n                    }), e = P(a), n.Fn.set(a.channel, function(a) {\n                        return f = a, d(function() {\n                            b.up.callback(!0);\n                        }, 0), function(a) {\n                            b.up.incoming(a, g);\n                        };\n                    })) : (f = E().Fn.get(a.channel, !0)(function(a) {\n                        b.up.incoming(a, g);\n                    }), d(function() {\n                        b.up.callback(!0);\n                    }, 0))));\n                },\n                init: function() {\n                    D(b.onDOMReady, b);\n                }\n            };\n        }, n.stack.FlashTransport = function(a) {\n            function l(a) {\n                d(function() {\n                    e.up.incoming(a, h);\n                }, 0);\n            };\n        ;\n            function o(d) {\n                var e = a.swf, f = ((\"easyXDM_swf_\" + Math.floor(((Math.JSBNG__random() * 10000))))), g = ((((((k + \"easyXDM.Fn.get(\\\"flash_\")) + f)) + \"_init\\\")\"));\n                n.Fn.set(((((\"flash_\" + f)) + \"_init\")), function() {\n                    n.stack.FlashTransport.__swf = i = j.firstChild, d();\n                }), j = b.createElement(\"div\"), N(j.style, {\n                    height: \"1px\",\n                    width: \"1px\",\n                    postition: \"abosolute\",\n                    left: 0,\n                    JSBNG__top: 0\n                }), b.body.appendChild(j);\n                var h = ((((((((((\"proto=\" + c.protocol)) + \"&domain=\")) + G(c.href))) + \"&init=\")) + g));\n                j.innerHTML = ((((((((((((((((((((((((((((((((((((\"\\u003Cobject height='1' width='1' type='application/x-shockwave-flash' id='\" + f)) + \"' data='\")) + e)) + \"'\\u003E\")) + \"\\u003Cparam name='allowScriptAccess' value='always'\\u003E\\u003C/param\\u003E\")) + \"\\u003Cparam name='wmode' value='transparent'\\u003E\")) + \"\\u003Cparam name='movie' value='\")) + e)) + \"'\\u003E\\u003C/param\\u003E\")) + \"\\u003Cparam name='flashvars' value='\")) + h)) + \"'\\u003E\\u003C/param\\u003E\")) + \"\\u003Cembed type='application/x-shockwave-flash' FlashVars='\")) + h)) + \"' allowScriptAccess='always' wmode='transparent' src='\")) + e)) + \"' height='1' width='1'\\u003E\\u003C/embed\\u003E\")) + \"\\u003C/object\\u003E\"));\n            };\n        ;\n            var e, f, g, h, i, j, k = ((m ? ((m + \".\")) : \"\"));\n            return e = {\n                outgoing: function(b, c, d) {\n                    i.JSBNG__postMessage(a.channel, b), ((d && d()));\n                },\n                destroy: function() {\n                    try {\n                        i.destroyChannel(a.channel);\n                    } catch (b) {\n                    \n                    };\n                ;\n                    i = null, ((f && (f.parentNode.removeChild(f), f = null)));\n                },\n                onDOMReady: function() {\n                    h = H(a.remote), i = n.stack.FlashTransport.__swf;\n                    var b = function() {\n                        ((a.isHost ? n.Fn.set(((((\"flash_\" + a.channel)) + \"_onMessage\")), function(b) {\n                            ((((b == ((a.channel + \"-ready\")))) && (n.Fn.set(((((\"flash_\" + a.channel)) + \"_onMessage\")), l), d(function() {\n                                e.up.callback(!0);\n                            }, 0))));\n                        }) : n.Fn.set(((((\"flash_\" + a.channel)) + \"_onMessage\")), l))), i.createChannel(a.channel, a.remote, a.isHost, ((((((k + \"easyXDM.Fn.get(\\\"flash_\")) + a.channel)) + \"_onMessage\\\")\")), a.secret), ((a.isHost ? (N(a.props, {\n                            src: J(a.remote, {\n                                xdm_e: H(c.href),\n                                xdm_c: a.channel,\n                                xdm_s: a.secret,\n                                xdm_p: 6\n                            }),\n                            JSBNG__name: ((((p + a.channel)) + \"_provider\"))\n                        }), f = P(a)) : (i.JSBNG__postMessage(a.channel, ((a.channel + \"-ready\"))), d(function() {\n                            e.up.callback(!0);\n                        }, 0))));\n                    };\n                    ((i ? b() : o(b)));\n                },\n                init: function() {\n                    D(e.onDOMReady, e);\n                }\n            };\n        }, n.stack.PostMessageTransport = function(b) {\n            function i(a) {\n                if (a.origin) {\n                    return H(a.origin);\n                }\n            ;\n            ;\n                if (a.uri) {\n                    return H(a.uri);\n                }\n            ;\n            ;\n                if (a.domain) {\n                    return ((((c.protocol + \"//\")) + a.domain));\n                }\n            ;\n            ;\n                throw \"Unable to retrieve the origin of the event\";\n            };\n        ;\n            function j(a) {\n                var c = i(a);\n                ((((((c == h)) && ((a.data.substring(0, ((b.channel.length + 1))) == ((b.channel + \" \")))))) && e.up.incoming(a.data.substring(((b.channel.length + 1))), c)));\n            };\n        ;\n            var e, f, g, h;\n            return e = {\n                outgoing: function(a, c, d) {\n                    g.JSBNG__postMessage(((((b.channel + \" \")) + a)), ((c || h))), ((d && d()));\n                },\n                destroy: function() {\n                    x(a, \"message\", j), ((f && (g = null, f.parentNode.removeChild(f), f = null)));\n                },\n                onDOMReady: function() {\n                    h = H(b.remote), ((b.isHost ? (w(a, \"message\", function i(c) {\n                        ((((c.data == ((b.channel + \"-ready\")))) && (g = ((((\"JSBNG__postMessage\" in f.contentWindow)) ? f.contentWindow : f.contentWindow.JSBNG__document)), x(a, \"message\", i), w(a, \"message\", j), d(function() {\n                            e.up.callback(!0);\n                        }, 0))));\n                    }), N(b.props, {\n                        src: J(b.remote, {\n                            xdm_e: H(c.href),\n                            xdm_c: b.channel,\n                            xdm_p: 1\n                        }),\n                        JSBNG__name: ((((p + b.channel)) + \"_provider\"))\n                    }), f = P(b)) : (w(a, \"message\", j), g = ((((\"JSBNG__postMessage\" in a.parent)) ? a.parent : a.parent.JSBNG__document)), g.JSBNG__postMessage(((b.channel + \"-ready\")), h), d(function() {\n                        e.up.callback(!0);\n                    }, 0))));\n                },\n                init: function() {\n                    D(e.onDOMReady, e);\n                }\n            };\n        }, n.stack.FrameElementTransport = function(e) {\n            var f, g, h, i;\n            return f = {\n                outgoing: function(a, b, c) {\n                    h.call(this, a), ((c && c()));\n                },\n                destroy: function() {\n                    ((g && (g.parentNode.removeChild(g), g = null)));\n                },\n                onDOMReady: function() {\n                    i = H(e.remote), ((e.isHost ? (N(e.props, {\n                        src: J(e.remote, {\n                            xdm_e: H(c.href),\n                            xdm_c: e.channel,\n                            xdm_p: 5\n                        }),\n                        JSBNG__name: ((((p + e.channel)) + \"_provider\"))\n                    }), g = P(e), g.fn = function(a) {\n                        return delete g.fn, h = a, d(function() {\n                            f.up.callback(!0);\n                        }, 0), function(a) {\n                            f.up.incoming(a, i);\n                        };\n                    }) : (((((b.referrer && ((H(b.referrer) != K.xdm_e)))) && (a.JSBNG__top.JSBNG__location = K.xdm_e))), h = a.JSBNG__frameElement.fn(function(a) {\n                        f.up.incoming(a, i);\n                    }), f.up.callback(!0))));\n                },\n                init: function() {\n                    D(f.onDOMReady, f);\n                }\n            };\n        }, n.stack.NixTransport = function(e) {\n            var f, h, i, j, k;\n            return f = {\n                outgoing: function(a, b, c) {\n                    i(a), ((c && c()));\n                },\n                destroy: function() {\n                    k = null, ((h && (h.parentNode.removeChild(h), h = null)));\n                },\n                onDOMReady: function() {\n                    j = H(e.remote);\n                    if (e.isHost) {\n                        try {\n                            ((s(a, \"getNixProxy\") || a.JSBNG__execScript(\"Class NixProxy\\u000a    Private m_parent, m_child, m_Auth\\u000a\\u000a    Public Sub SetParent(obj, auth)\\u000a        If isEmpty(m_Auth) Then m_Auth = auth\\u000a        SET m_parent = obj\\u000a    End Sub\\u000a    Public Sub SetChild(obj)\\u000a        SET m_child = obj\\u000a        m_parent.ready()\\u000a    End Sub\\u000a\\u000a    Public Sub SendToParent(data, auth)\\u000a        If m_Auth = auth Then m_parent.send(CStr(data))\\u000a    End Sub\\u000a    Public Sub SendToChild(data, auth)\\u000a        If m_Auth = auth Then m_child.send(CStr(data))\\u000a    End Sub\\u000aEnd Class\\u000aFunction getNixProxy()\\u000a    Set GetNixProxy = New NixProxy\\u000aEnd Function\\u000a\", \"vbscript\"))), k = getNixProxy(), k.SetParent({\n                                send: function(a) {\n                                    f.up.incoming(a, j);\n                                },\n                                ready: function() {\n                                    d(function() {\n                                        f.up.callback(!0);\n                                    }, 0);\n                                }\n                            }, e.secret), i = function(a) {\n                                k.SendToChild(a, e.secret);\n                            };\n                        } catch (l) {\n                            throw new Error(((\"Could not set up VBScript NixProxy:\" + l.message)));\n                        };\n                    ;\n                        N(e.props, {\n                            src: J(e.remote, {\n                                xdm_e: H(c.href),\n                                xdm_c: e.channel,\n                                xdm_s: e.secret,\n                                xdm_p: 3\n                            }),\n                            JSBNG__name: ((((p + e.channel)) + \"_provider\"))\n                        }), h = P(e), h.contentWindow.JSBNG__opener = k;\n                    }\n                     else {\n                        ((((b.referrer && ((H(b.referrer) != K.xdm_e)))) && (a.JSBNG__top.JSBNG__location = K.xdm_e)));\n                        try {\n                            k = a.JSBNG__opener;\n                        } catch (m) {\n                            throw new Error(\"Cannot access window.JSBNG__opener\");\n                        };\n                    ;\n                        k.SetChild({\n                            send: function(a) {\n                                g.JSBNG__setTimeout(function() {\n                                    f.up.incoming(a, j);\n                                }, 0);\n                            }\n                        }), i = function(a) {\n                            k.SendToParent(a, e.secret);\n                        }, d(function() {\n                            f.up.callback(!0);\n                        }, 0);\n                    }\n                ;\n                ;\n                },\n                init: function() {\n                    D(f.onDOMReady, f);\n                }\n            };\n        }, n.stack.NameTransport = function(a) {\n            function k(b) {\n                var d = ((((a.remoteHelper + ((c ? \"#_3\" : \"#_2\")))) + a.channel));\n                e.contentWindow.sendMessage(b, d);\n            };\n        ;\n            function l() {\n                ((c ? ((((((++g === 2)) || !c)) && b.up.callback(!0))) : (k(\"ready\"), b.up.callback(!0))));\n            };\n        ;\n            function m(a) {\n                b.up.incoming(a, i);\n            };\n        ;\n            function o() {\n                ((h && d(function() {\n                    h(!0);\n                }, 0)));\n            };\n        ;\n            var b, c, e, f, g, h, i, j;\n            return b = {\n                outgoing: function(a, b, c) {\n                    h = c, k(a);\n                },\n                destroy: function() {\n                    e.parentNode.removeChild(e), e = null, ((c && (f.parentNode.removeChild(f), f = null)));\n                },\n                onDOMReady: function() {\n                    c = a.isHost, g = 0, i = H(a.remote), a.local = I(a.local), ((c ? (n.Fn.set(a.channel, function(b) {\n                        ((((c && ((b === \"ready\")))) && (n.Fn.set(a.channel, m), l())));\n                    }), j = J(a.remote, {\n                        xdm_e: a.local,\n                        xdm_c: a.channel,\n                        xdm_p: 2\n                    }), N(a.props, {\n                        src: ((((j + \"#\")) + a.channel)),\n                        JSBNG__name: ((((p + a.channel)) + \"_provider\"))\n                    }), f = P(a)) : (a.remoteHelper = a.remote, n.Fn.set(a.channel, m)))), e = P({\n                        props: {\n                            src: ((((a.local + \"#_4\")) + a.channel))\n                        },\n                        onLoad: function b() {\n                            var c = ((e || this));\n                            x(c, \"load\", b), n.Fn.set(((a.channel + \"_load\")), o), function f() {\n                                ((((typeof c.contentWindow.sendMessage == \"function\")) ? l() : d(f, 50)));\n                            }();\n                        }\n                    });\n                },\n                init: function() {\n                    D(b.onDOMReady, b);\n                }\n            };\n        }, n.stack.HashTransport = function(b) {\n            function o(a) {\n                if (!l) {\n                    return;\n                }\n            ;\n            ;\n                var c = ((((((((b.remote + \"#\")) + j++)) + \"_\")) + a));\n                ((((f || !m)) ? l.contentWindow : l)).JSBNG__location = c;\n            };\n        ;\n            function q(a) {\n                i = a, c.up.incoming(i.substring(((i.indexOf(\"_\") + 1))), n);\n            };\n        ;\n            function r() {\n                if (!k) {\n                    return;\n                }\n            ;\n            ;\n                var a = k.JSBNG__location.href, b = \"\", c = a.indexOf(\"#\");\n                ((((c != -1)) && (b = a.substring(c)))), ((((b && ((b != i)))) && q(b)));\n            };\n        ;\n            function s() {\n                g = JSBNG__setInterval(r, h);\n            };\n        ;\n            var c, e = this, f, g, h, i, j, k, l, m, n;\n            return c = {\n                outgoing: function(a, b) {\n                    o(a);\n                },\n                destroy: function() {\n                    a.JSBNG__clearInterval(g), ((((f || !m)) && l.parentNode.removeChild(l))), l = null;\n                },\n                onDOMReady: function() {\n                    f = b.isHost, h = b.interval, i = ((\"#\" + b.channel)), j = 0, m = b.useParent, n = H(b.remote);\n                    if (f) {\n                        b.props = {\n                            src: b.remote,\n                            JSBNG__name: ((((p + b.channel)) + \"_provider\"))\n                        };\n                        if (m) b.onLoad = function() {\n                            k = a, s(), c.up.callback(!0);\n                        };\n                         else {\n                            var e = 0, g = ((b.delay / 50));\n                            (function o() {\n                                if (((++e > g))) {\n                                    throw new Error(\"Unable to reference listenerwindow\");\n                                }\n                            ;\n                            ;\n                                try {\n                                    k = l.contentWindow.JSBNG__frames[((((p + b.channel)) + \"_consumer\"))];\n                                } catch (a) {\n                                \n                                };\n                            ;\n                                ((k ? (s(), c.up.callback(!0)) : d(o, 50)));\n                            })();\n                        }\n                    ;\n                    ;\n                        l = P(b);\n                    }\n                     else k = a, s(), ((m ? (l = parent, c.up.callback(!0)) : (N(b, {\n                        props: {\n                            src: ((((((b.remote + \"#\")) + b.channel)) + new JSBNG__Date)),\n                            JSBNG__name: ((((p + b.channel)) + \"_consumer\"))\n                        },\n                        onLoad: function() {\n                            c.up.callback(!0);\n                        }\n                    }), l = P(b))));\n                ;\n                ;\n                },\n                init: function() {\n                    D(c.onDOMReady, c);\n                }\n            };\n        }, n.stack.ReliableBehavior = function(a) {\n            var b, c, d = 0, e = 0, f = \"\";\n            return b = {\n                incoming: function(a, g) {\n                    var h = a.indexOf(\"_\"), i = a.substring(0, h).split(\",\");\n                    a = a.substring(((h + 1))), ((((i[0] == d)) && (f = \"\", ((c && c(!0)))))), ((((a.length > 0)) && (b.down.outgoing(((((((((i[1] + \",\")) + d)) + \"_\")) + f)), g), ((((e != i[1])) && (e = i[1], b.up.incoming(a, g)))))));\n                },\n                outgoing: function(a, g, h) {\n                    f = a, c = h, b.down.outgoing(((((((((e + \",\")) + ++d)) + \"_\")) + a)), g);\n                }\n            };\n        }, n.stack.QueueBehavior = function(a) {\n            function m() {\n                if (((a.remove && ((c.length === 0))))) {\n                    T(b);\n                    return;\n                }\n            ;\n            ;\n                if (((((g || ((c.length === 0)))) || i))) {\n                    return;\n                }\n            ;\n            ;\n                g = !0;\n                var e = c.shift();\n                b.down.outgoing(e.data, e.origin, function(a) {\n                    g = !1, ((e.callback && d(function() {\n                        e.callback(a);\n                    }, 0))), m();\n                });\n            };\n        ;\n            var b, c = [], g = !0, h = \"\", i, j = 0, k = !1, l = !1;\n            return b = {\n                init: function() {\n                    ((L(a) && (a = {\n                    }))), ((a.maxLength && (j = a.maxLength, l = !0))), ((a.lazy ? k = !0 : b.down.init()));\n                },\n                callback: function(a) {\n                    g = !1;\n                    var c = b.up;\n                    m(), c.callback(a);\n                },\n                incoming: function(c, d) {\n                    if (l) {\n                        var f = c.indexOf(\"_\"), g = parseInt(c.substring(0, f), 10);\n                        h += c.substring(((f + 1))), ((((g === 0)) && (((a.encode && (h = e(h)))), b.up.incoming(h, d), h = \"\")));\n                    }\n                     else b.up.incoming(c, d);\n                ;\n                ;\n                },\n                outgoing: function(d, e, g) {\n                    ((a.encode && (d = f(d))));\n                    var h = [], i;\n                    if (l) {\n                        while (((d.length !== 0))) {\n                            i = d.substring(0, j), d = d.substring(i.length), h.push(i);\n                        ;\n                        };\n                    ;\n                        while (i = h.shift()) {\n                            c.push({\n                                data: ((((h.length + \"_\")) + i)),\n                                origin: e,\n                                callback: ((((h.length === 0)) ? g : null))\n                            });\n                        ;\n                        };\n                    ;\n                    }\n                     else c.push({\n                        data: d,\n                        origin: e,\n                        callback: g\n                    });\n                ;\n                ;\n                    ((k ? b.down.init() : m()));\n                },\n                destroy: function() {\n                    i = !0, b.down.destroy();\n                }\n            };\n        }, n.stack.VerifyBehavior = function(a) {\n            function f() {\n                c = Math.JSBNG__random().toString(16).substring(2), b.down.outgoing(c);\n            };\n        ;\n            var b, c, d, e = !1;\n            return b = {\n                incoming: function(e, g) {\n                    var h = e.indexOf(\"_\");\n                    ((((h === -1)) ? ((((e === c)) ? b.up.callback(!0) : ((d || (d = e, ((a.initiate || f())), b.down.outgoing(e)))))) : ((((e.substring(0, h) === d)) && b.up.incoming(e.substring(((h + 1))), g)))));\n                },\n                outgoing: function(a, d, e) {\n                    b.down.outgoing(((((c + \"_\")) + a)), d, e);\n                },\n                callback: function(b) {\n                    ((a.initiate && f()));\n                }\n            };\n        }, n.stack.RpcBehavior = function(a, b) {\n            function g(a) {\n                a.jsonrpc = \"2.0\", c.down.outgoing(d.stringify(a));\n            };\n        ;\n            function h(a, b) {\n                var c = Array.prototype.slice;\n                return function() {\n                    var d = arguments.length, h, i = {\n                        method: b\n                    };\n                    ((((((d > 0)) && ((typeof arguments[((d - 1))] == \"function\")))) ? (((((((d > 1)) && ((typeof arguments[((d - 2))] == \"function\")))) ? (h = {\n                        success: arguments[((d - 2))],\n                        error: arguments[((d - 1))]\n                    }, i.params = c.call(arguments, 0, ((d - 2)))) : (h = {\n                        success: arguments[((d - 1))]\n                    }, i.params = c.call(arguments, 0, ((d - 1)))))), f[((\"\" + ++e))] = h, i.id = e) : i.params = c.call(arguments, 0))), ((((a.namedParams && ((i.params.length === 1)))) && (i.params = i.params[0]))), g(i);\n                };\n            };\n        ;\n            function j(a, b, c, d) {\n                if (!c) {\n                    ((b && g({\n                        id: b,\n                        error: {\n                            code: -32601,\n                            message: \"Procedure not found.\"\n                        }\n                    })));\n                    return;\n                }\n            ;\n            ;\n                var e, f;\n                ((b ? (e = function(a) {\n                    e = i, g({\n                        id: b,\n                        result: a\n                    });\n                }, f = function(a, c) {\n                    f = i;\n                    var d = {\n                        id: b,\n                        error: {\n                            code: -32099,\n                            message: a\n                        }\n                    };\n                    ((c && (d.error.data = c))), g(d);\n                }) : e = f = i)), ((u(d) || (d = [d,])));\n                try {\n                    var h = c.method.apply(c.scope, d.concat([e,f,]));\n                    ((L(h) || e(h)));\n                } catch (j) {\n                    f(j.message);\n                };\n            ;\n            };\n        ;\n            var c, d = ((b.serializer || M())), e = 0, f = {\n            };\n            return c = {\n                incoming: function(a, c) {\n                    var e = d.parse(a);\n                    if (e.method) ((b.handle ? b.handle(e, g) : j(e.method, e.id, b.local[e.method], e.params)));\n                     else {\n                        var h = f[e.id];\n                        ((e.error ? ((h.error && h.error(e.error))) : ((h.success && h.success(e.result))))), delete f[e.id];\n                    }\n                ;\n                ;\n                },\n                init: function() {\n                    if (b.remote) {\n                        {\n                            var fin76keys = ((window.top.JSBNG_Replay.forInKeys)((b.remote))), fin76i = (0);\n                            var d;\n                            for (; (fin76i < fin76keys.length); (fin76i++)) {\n                                ((d) = (fin76keys[fin76i]));\n                                {\n                                    ((b.remote.hasOwnProperty(d) && (a[d] = h(b.remote[d], d))));\n                                ;\n                                };\n                            };\n                        };\n                    }\n                ;\n                ;\n                    c.down.init();\n                },\n                destroy: function() {\n                    {\n                        var fin77keys = ((window.top.JSBNG_Replay.forInKeys)((b.remote))), fin77i = (0);\n                        var d;\n                        for (; (fin77i < fin77keys.length); (fin77i++)) {\n                            ((d) = (fin77keys[fin77i]));\n                            {\n                                ((((b.remote.hasOwnProperty(d) && a.hasOwnProperty(d))) && delete a[d]));\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    c.down.destroy();\n                }\n            };\n        }, g.easyXDM = n;\n    })(window, JSBNG__document, JSBNG__location, window.JSBNG__setTimeout, decodeURIComponent, encodeURIComponent);\n});\ndefine(\"app/utils/easy_xdm\", [\"module\",\"require\",\"exports\",\"$lib/easyXDM.js\",], function(module, require, exports) {\n    require(\"$lib/easyXDM.js\"), module.exports = window.easyXDM.noConflict();\n});\ndefine(\"app/utils/sandboxed_ajax\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/utils/easy_xdm\",], function(module, require, exports) {\n    function remoteUrl(a, b) {\n        var c = a.split(\"/\").slice(-1);\n        return ((/localhost/.test(window.JSBNG__location.hostname) ? ((((((\"http://localhost.twitter.com:\" + ((window.cdnGoosePort || \"1867\")))) + \"/\")) + c)) : ((b ? a : a.replace(\"https:\", \"http:\")))));\n    };\n;\n    function generateSocket(a) {\n        return new easyXDM.Socket({\n            remote: a,\n            onMessage: function(a, b) {\n                var c = JSON.parse(a), d = requests[c.id];\n                ((((d && d.callbacks[c.callbackName])) && d.callbacks[c.callbackName].apply(null, c.callbackArgs))), ((((c.callbackName === \"complete\")) && delete requests[c.id]));\n            }\n        });\n    };\n;\n    function generateSandboxRequest(a) {\n        var b = ++nextRequestId;\n        a = utils.merge({\n        }, a);\n        var c = {\n            id: b,\n            callbacks: {\n                success: a.success,\n                error: a.error,\n                before: a.before,\n                complete: a.complete\n            },\n            request: {\n                id: b,\n                data: a\n            }\n        };\n        return delete a.success, delete a.error, delete a.complete, delete a.before, requests[b] = c, c.request;\n    };\n;\n    var utils = require(\"core/utils\"), easyXDM = require(\"app/utils/easy_xdm\"), TIMEOUT = 5000, nextRequestId = 0, requests = {\n    }, sockets = [null,null,], sandbox = {\n        send: function(a, b) {\n            var c = ((!!/^https:|^\\/\\//.test(b.url) || !!$.browser.msie)), d = ((c ? 0 : 1));\n            ((sockets[d] || (sockets[d] = generateSocket(remoteUrl(a, c)))));\n            var e = generateSandboxRequest(b);\n            sockets[d].JSBNG__postMessage(JSON.stringify(e));\n        },\n        easyXDM: easyXDM\n    };\n    module.exports = sandbox;\n});\nprovide(\"app/ui/media/with_legacy_icons\", function(a) {\n    using(\"core/i18n\", function(_) {\n        function b() {\n            this.defaultAttrs({\n                iconClass: \"js-sm-icon\",\n                viewDetailsSelector: \"span.js-view-details\",\n                hideDetailsSelector: \"span.js-hide-details\",\n                iconContainerSelector: \"span.js-icon-container\"\n            }), this.iconMap = {\n                photo: [\"sm-image\",_(\"View photo\"),_(\"Hide photo\"),],\n                video: [\"sm-video\",_(\"View video\"),_(\"Hide video\"),],\n                song: [\"sm-audio\",_(\"View song\"),_(\"Hide song\"),],\n                album: [\"sm-audio\",_(\"View album\"),_(\"Hide album\"),],\n                tweet: [\"sm-embed\",_(\"View tweet\"),_(\"Hide tweet\"),],\n                generic: [\"sm-embed\",_(\"View media\"),_(\"Hide media\"),],\n                software: [\"sm-embed\",_(\"View app\"),_(\"Hide app\"),]\n            }, this.makeIcon = function(a, b) {\n                var c = b.type.icon;\n                ((((typeof c == \"function\")) && (c = c.call(b))));\n                var d = this.iconMap[c], e = a.JSBNG__find(this.attr.iconContainerSelector), f = $(\"\\u003Ci/\\u003E\", {\n                    class: ((((this.attr.iconClass + \" \")) + d[0]))\n                });\n                ((((e.JSBNG__find(((\".\" + d[0]))).length === 0)) && e.append(f))), a.JSBNG__find(this.attr.viewDetailsSelector).text(d[1]).end().JSBNG__find(this.attr.hideDetailsSelector).text(d[2]).end();\n            }, this.addMediaIconsAndText = function(a, b) {\n                b.forEach(this.makeIcon.bind(this, a));\n            };\n        };\n    ;\n        a(b);\n    });\n});\ndefine(\"app/utils/third_party_application\", [\"module\",\"require\",\"exports\",\"app/utils/easy_xdm\",], function(module, require, exports) {\n    function getUserLinkColor() {\n        if (!userLinkColor) {\n            var a = $(\"\\u003Ca\\u003Ex\\u003C/a\\u003E\").appendTo($(\"body\"));\n            userLinkColor = a.css(\"color\"), a.remove();\n        }\n    ;\n    ;\n        return userLinkColor;\n    };\n;\n    function socket(a, b, c) {\n        var d = new easyXDM.Rpc({\n            remote: b,\n            container: a,\n            props: {\n                width: ((c.width || \"100%\")),\n                height: ((c.height || 0))\n            },\n            onReady: function() {\n                d.initialize({\n                    htmlContent: ((((\"\\u003Cdiv class='tweet-media'\\u003E\" + c.htmlContent)) + \"\\u003C/div\\u003E\")),\n                    styles: [[\"a\",[\"color\",getUserLinkColor(),],],]\n                });\n            }\n        }, {\n            local: {\n                ui: function(b, c) {\n                    ((((b === \"resizeFrame\")) && $(a).JSBNG__find(\"div\").height(c)));\n                }\n            },\n            remote: {\n                trigger: {\n                },\n                initialize: {\n                }\n            }\n        });\n        return d;\n    };\n;\n    function embedded(a, b, c) {\n        return socket(a, b, c);\n    };\n;\n    function sandboxed(a, b, c) {\n        return ((/localhost/.test(b) && (b = b.replace(\"localhost.twitter.com\", \"localhost\")))), socket(a, b, c);\n    };\n;\n    var easyXDM = require(\"app/utils/easy_xdm\"), userLinkColor;\n    module.exports = {\n        embedded: embedded,\n        sandboxed: sandboxed,\n        easyXDM: easyXDM\n    };\n});\nprovide(\"app/ui/media/legacy_embed\", function(a) {\n    using(\"core/parameterize\", \"app/utils/third_party_application\", function(b, c) {\n        function d(a) {\n            this.data = {\n            }, this.url = a.url, this.slug = a.slug, this._name = a.type._name, this.constructor = a.type, this.process = this.constructor.process, this.getImageURL = this.constructor.getImageURL, this.metadata = this.constructor.metadata, this.icon = this.constructor.icon, this.calcHeight = function(a) {\n                return Math.round(((278692 * a)));\n            };\n            {\n                var fin78keys = ((window.top.JSBNG_Replay.forInKeys)((this.constructor.methods))), fin78i = (0);\n                var d;\n                for (; (fin78i < fin78keys.length); (fin78i++)) {\n                    ((d) = (fin78keys[fin78i]));\n                    {\n                        ((((typeof this.constructor.methods[d] == \"function\")) && (this[d] = this.constructor.methods[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            this.renderIframe = function(a, c) {\n                var d = ((((\"\\u003Ciframe src='\" + c)) + \"' width='{{width}}' height='{{height}}'\\u003E\\u003C/iframe\\u003E\"));\n                a.append(b(d, this.data));\n            }, this.renderEmbeddedApplication = function(a, b) {\n                c.embedded(a.get(0), b, {\n                    height: this.data.height,\n                    width: this.data.width\n                });\n            }, this.type = function() {\n                return ((((typeof this.icon == \"function\")) ? this.icon(this.url) : this.icon));\n            }, this.useOpaqueModeForFlash = function(a) {\n                return a.replace(/(<\\/object>)/, \"\\u003Cparam name=\\\"wmode\\\" value=\\\"opaque\\\"\\u003E$1\").replace(/(<embed .*?)(\\/?>)/, \"$1 wmode=\\\"opaque\\\"$2\");\n            }, this.resizeHtmlEmbed = function(a, b, c, d) {\n                if (((((((a && b)) && b.maxwidth)) && ((b.maxwidth < c))))) {\n                    var e = Math.round(((((b.maxwidth * d)) / c)));\n                    a = a.replace(new RegExp(((((\"width=(\\\"?)\" + c)) + \"(?=\\\\D|$)\")), \"g\"), ((\"width=$1\" + b.maxwidth))).replace(new RegExp(((((\"height=(\\\"?)\" + d)) + \"(?=\\\\D|$)\")), \"g\"), ((\"height=$1\" + e)));\n                }\n            ;\n            ;\n                return a;\n            };\n        };\n    ;\n        a(d);\n    });\n});\nprovide(\"app/ui/media/with_legacy_embeds\", function(a) {\n    using(\"core/i18n\", \"core/parameterize\", \"app/ui/media/legacy_embed\", \"app/utils/third_party_application\", function(_, b, c, d) {\n        function e() {\n            this.defaultAttrs({\n                tweetMedia: \".tweet-media\",\n                landingArea: \".js-landing-area\"\n            });\n            var a = {\n                attribution: \"          \\u003Cdiv class=\\\"media-attribution\\\"\\u003E            \\u003Cimg src=\\\"{{iconUrl}}\\\"\\u003E            \\u003Ca href=\\\"{{href}}\\\" class=\\\"media-attribution-link\\\" target=\\\"_blank\\\"\\u003E{{typeName}}\\u003C/a\\u003E          \\u003C/div\\u003E\",\n                embedWrapper: \"          \\u003Cdiv class=\\\"tweet-media\\\"\\u003E            \\u003Cdiv class=\\\"media-instance-container\\\"\\u003E              \\u003Cdiv class=\\\"js-landing-area\\\" style=\\\"min-height:{{minHeight}}px\\\"\\u003E\\u003C/div\\u003E              {{flagAction}}              {{attribution}}            \\u003C/div\\u003E          \\u003C/div\\u003E\",\n                flagAction: \"          \\u003Cspan class=\\\"flag-container\\\"\\u003E            \\u003Cbutton type=\\\"button\\\" class=\\\"flaggable btn-link\\\"\\u003E              {{flagThisMedia}}            \\u003C/button\\u003E            \\u003Cspan class=\\\"flagged hidden\\\"\\u003E              {{flagged}}              \\u003Cspan\\u003E                \\u003Ca target=\\\"_blank\\\" href=\\\"//support.twitter.com/articles/20069937\\\"\\u003E                  {{learnMore}}                \\u003C/a\\u003E              \\u003C/span\\u003E            \\u003C/span\\u003E          \\u003C/span\\u003E\"\n            };\n            this.assetPath = function(a) {\n                return ((this.attr.assetsBasePath ? (((((((a.charAt(0) == \"/\")) && ((this.attr.assetsBasePath.charAt(((this.attr.assetsBasePath.length - 1))) == \"/\")))) ? a = a.substring(1) : ((((((a.charAt(0) != \"/\")) && ((this.attr.assetsBasePath.charAt(((this.attr.assetsBasePath.length - 1))) != \"/\")))) && (a = ((\"/\" + a))))))), ((this.attr.assetsBasePath + a))) : a));\n            }, this.attributionIconUrl = function(a) {\n                return ((a.attribution_icon || this.assetPath(((((\"/images/partner-favicons/\" + a._name)) + \".png\")))));\n            }, this.isFlaggable = function(a) {\n                return ((this.attr.loggedIn && a.type.flaggable));\n            }, this.assembleEmbedContainerHtml = function(c, d) {\n                var e = ((this.isFlaggable(c) ? b(a.flagAction, {\n                    flagThisMedia: _(\"Flag this media\"),\n                    flagged: _(\"Flagged\"),\n                    learnMore: _(\"(learn more)\")\n                }) : \"\")), f = b(a.attribution, {\n                    iconUrl: this.attributionIconUrl(d),\n                    typeName: d._name,\n                    href: c.type.domain\n                });\n                return b(a.embedWrapper, {\n                    minHeight: ((c.type.height || 100)),\n                    attribution: f,\n                    flagAction: e,\n                    mediaClass: d._name.toLowerCase()\n                });\n            }, this.renderThirdPartyApplication = function(a, b) {\n                d.sandboxed(a.get(0), this.embedSandboxPath, {\n                    htmlContent: b\n                });\n            }, this.assembleEmbedInnerHtml = function(a, b, c) {\n                ((b.JSBNG__content ? this.renderThirdPartyApplication(a, b.JSBNG__content.call(c)) : b.render.call(c, a)));\n            }, this.renderMediaType = function(a, b) {\n                var d = new c(a), e = $(this.assembleEmbedContainerHtml(a, d)), f = function() {\n                    var b = $(\"\\u003Cdiv/\\u003E\");\n                    e.JSBNG__find(this.attr.landingArea).append(b), this.assembleEmbedInnerHtml(b, a.type, d), ((this.mediaTypeIsInteractive(a.type.icon) && e.data(\"interactive\", !0).data(\"completeRender\", f)));\n                }.bind(this);\n                return a.type.process.call(d, f, b), e;\n            }, this.buildEmbeddedMediaNodes = function(a, b) {\n                return a.map(function(a) {\n                    return this.renderMediaType(a, b);\n                }, this);\n            }, this.mediaTypeIsInteractive = function(a) {\n                return ((((a === \"video\")) || ((a === \"song\"))));\n            }, this.rerenderInteractiveEmbed = function(a) {\n                var b = $(a.target), c = b.JSBNG__find(this.attr.tweetMedia).data(\"completeRender\");\n                ((((c && b.JSBNG__find(this.attr.landingArea).is(\":empty\"))) && c()));\n            }, this.after(\"initialize\", function(a) {\n                this.embedSandboxPath = ((a.sandboxes && a.sandboxes.detailsPane));\n                if (!this.embedSandboxPath) {\n                    throw new Error(\"WithLegacyEmbeds requires options.sandboxes to be set\");\n                }\n            ;\n            ;\n                this.JSBNG__on(\"uiHasExpandedTweet\", this.rerenderInteractiveEmbed);\n            });\n        };\n    ;\n        a(e);\n    });\n});\ndefine(\"app/ui/media/with_flag_action\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            flagContainerSelector: \".flag-container\",\n            flaggableSelector: \".flaggable\",\n            flaggedSelector: \".flagged\",\n            tweetWithIdSelector: \".tweet[data-tweet-id]\"\n        }), this.flagMedia = function(a) {\n            var b = $(a.target).closest(this.attr.flagContainerSelector), c = b.JSBNG__find(this.attr.flaggableSelector);\n            if (!c.hasClass(\"hidden\")) {\n                var d = b.closest(this.attr.tweetWithIdSelector);\n                ((d.attr(\"data-possibly-sensitive\") ? this.trigger(\"uiFlagConfirmation\", {\n                    id: d.attr(\"data-tweet-id\")\n                }) : (this.trigger(\"uiFlagMedia\", {\n                    id: d.attr(\"data-tweet-id\")\n                }), b.JSBNG__find(this.attr.flaggableSelector).addClass(\"hidden\"), b.JSBNG__find(this.attr.flaggedSelector).removeClass(\"hidden\"))));\n            }\n        ;\n        ;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                flagContainerSelector: this.flagMedia\n            });\n        });\n    };\n});\ndefine(\"app/ui/media/with_hidden_display\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            mediaNotDisplayedSelector: \".media-not-displayed\",\n            displayMediaSelector: \".display-this-media\",\n            alwaysDisplaySelector: \".always-display-media\",\n            entitiesContainerSelector: \".entities-media-container\",\n            cardsContainerSelector: \".cards-media-container\",\n            cards2ContainerSelector: \".card2\",\n            detailsFixerSelector: \".js-tweet-details-fixer\"\n        }), this.showMedia = function(a) {\n            var b = $(a.target).closest(this.attr.detailsFixerSelector), c = [];\n            ((this.attr.mediaContainerSelector && c.push(this.attr.mediaContainerSelector))), ((this.attr.entitiesContainerSelector && c.push(this.attr.entitiesContainerSelector))), ((this.attr.cardsContainerSelector && c.push(this.attr.cardsContainerSelector))), ((this.attr.cards2ContainerSelector && c.push(this.attr.cards2ContainerSelector))), b.JSBNG__find(this.attr.mediaNotDisplayedSelector).hide(), b.JSBNG__find(c.join(\",\")).removeClass(\"hidden\");\n        }, this.updateMediaSettings = function(a) {\n            this.trigger(\"uiUpdateViewPossiblySensitive\", {\n                do_show: !0\n            }), this.showMedia(a);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                displayMediaSelector: this.showMedia,\n                alwaysDisplaySelector: this.updateMediaSettings\n            });\n        });\n    };\n});\nprovide(\"app/ui/media/with_legacy_media\", function(a) {\n    using(\"core/compose\", \"app/ui/media/types\", \"app/utils/sandboxed_ajax\", \"app/ui/media/with_legacy_icons\", \"app/ui/media/with_legacy_embeds\", \"app/ui/media/with_flag_action\", \"app/ui/media/with_hidden_display\", \"app/ui/media/legacy_embed\", function(b, c, d, e, f, g, h, i) {\n        function j() {\n            b.mixin(this, [e,f,g,h,]), this.defaultAttrs({\n                linkSelector: \"p.js-tweet-text a.twitter-timeline-link\",\n                generalTweetSelector: \".js-stream-tweet\",\n                insideProxyTweet: \".proxy-tweet-container *\",\n                wasAlreadyEmbedded: \"[data-pre-embedded=\\\"true\\\"]\",\n                mediaContainerSelector: \".js-tweet-media-container\"\n            }), this.matchLink = function(a, b, c) {\n                var d = $(b), e = ((d.data(\"expanded-url\") || b.href)), f = this.matchUrl(e, c);\n                if (f) {\n                    return f.a = b, f.embedIndex = d.index(), f;\n                }\n            ;\n            ;\n                ((c || this.trigger(b, \"uiWantsLinkResolution\", {\n                    url: e\n                })));\n            }, this.matchUrl = function(a, b) {\n                if (this.alreadyMatched[a]) {\n                    return this.alreadyMatched[a];\n                }\n            ;\n            ;\n                var d = c.matchers;\n                for (var e = 0, f = d.length; ((e < f)); e++) {\n                    var g = a.match(d[e][0]);\n                    if (((g && g.length))) {\n                        return this.alreadyMatched[a] = {\n                            url: a,\n                            slug: g[1],\n                            type: c.mediaTypes[d[e][1]],\n                            label: d[e][2]\n                        };\n                    }\n                ;\n                ;\n                };\n            ;\n            }, this.resolveMedia = function(a, b, c, d) {\n                if (!a.attr(\"data-url\")) {\n                    return b(!1, a);\n                }\n            ;\n            ;\n                if (a.attr(((\"data-resolved-url-\" + c)))) {\n                    return b(!0, a);\n                }\n            ;\n            ;\n                var e = this.matchUrl(a.attr(\"data-url\"));\n                if (e) {\n                    var f = new i(e);\n                    ((((!f.getImageURL || ((d && ((f.type() != d)))))) ? b(!1, a) : f.getImageURL(c, function(d) {\n                        ((d ? (a.attr(((\"data-resolved-url-\" + c)), d), b(!0, a)) : b(!1, a)));\n                    })));\n                }\n                 else b(!1, a);\n            ;\n            ;\n            }, this.addIconsAndSaveMediaType = function(a, b) {\n                var c = $(b.a).closest(this.attr.generalTweetSelector);\n                if (((c.hasClass(\"has-cards\") || c.hasClass(\"simple-tweet\")))) {\n                    return;\n                }\n            ;\n            ;\n                this.addMediaIconsAndText(c, [b,]), this.saveRecordWithIndex(b, b.index, c.data(\"embeddedMedia\"));\n            }, this.saveRecordWithIndex = function(a, b, c) {\n                for (var d = 0; ((d < c.length)); d++) {\n                    if (((b < c[d].index))) {\n                        c.splice(d, 0, a);\n                        return;\n                    }\n                ;\n                ;\n                };\n            ;\n                c.push(a);\n            }, this.getMediaTypesAndIconsForTweet = function(a, b) {\n                if ($(b).hasClass(\"has-cards\")) {\n                    return;\n                }\n            ;\n            ;\n                $(b).data(\"embeddedMedia\", []).JSBNG__find(this.attr.linkSelector).filter(function(a, b) {\n                    var c = $(b);\n                    return ((c.is(this.attr.insideProxyTweet) ? !1 : !c.is(this.attr.wasAlreadyEmbedded)));\n                }.bind(this)).map(this.matchLink.bind(this)).map(this.addIconsAndSaveMediaType.bind(this)), this.trigger($(b), \"uiHasAddedLegacyMediaIcon\");\n            }, this.handleResolvedUrl = function(a, b) {\n                $(a.target).data(\"expanded-url\", b.url);\n                var c = this.matchLink(null, a.target, !0);\n                ((c && (this.addIconsAndSaveMediaType(null, c), this.trigger(a.target, \"uiHasAddedLegacyMediaIcon\"))));\n            }, this.inlineLegacyMediaEmbedsForTweet = function(a) {\n                var b = $(a.target);\n                if (b.hasClass(\"has-cards\")) {\n                    return;\n                }\n            ;\n            ;\n                var c = b.JSBNG__find(this.attr.mediaContainerSelector), d = b.data(\"embeddedMedia\");\n                ((d && this.buildEmbeddedMediaNodes(d, {\n                    maxwidth: c.width()\n                }).forEach(function(a) {\n                    c.append(a);\n                })));\n            }, this.addMediaToTweetsInElement = function(a) {\n                $(a.target).JSBNG__find(this.attr.generalTweetSelector).each(this.getMediaTypesAndIconsForTweet.bind(this));\n            }, this.after(\"initialize\", function(a) {\n                c.sandboxedAjax.send = function(b) {\n                    d.send(a.sandboxes.jsonp, b);\n                }, this.alreadyMatched = {\n                }, this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.addMediaToTweetsInElement), this.JSBNG__on(\"uiWantsMediaForTweet\", this.inlineLegacyMediaEmbedsForTweet), this.JSBNG__on(\"dataDidResolveUrl\", this.handleResolvedUrl), this.addMediaToTweetsInElement({\n                    target: this.$node\n                });\n            });\n        };\n    ;\n        a(j);\n    });\n});\ndefine(\"app/utils/image/image_loader\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var imageLoader = {\n        load: function(a, b, c) {\n            var d = $(\"\\u003Cimg/\\u003E\");\n            d.JSBNG__on(\"load\", function(a) {\n                b(d);\n            }), d.JSBNG__on(\"error\", function(a) {\n                c();\n            }), d.attr(\"src\", a);\n        }\n    };\n    module.exports = imageLoader;\n});\ndefine(\"app/ui/with_tweet_actions\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_interaction_data\",\"app/utils/tweet_helper\",\"app/utils/cookie\",], function(module, require, exports) {\n    function withTweetActions() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            permalinkTweetClass: \"permalink-tweet\",\n            dismissedTweetClass: \"js-dismissed-promoted-tweet\",\n            streamTweetItemSelector: \"li.js-stream-item\",\n            tweetWithReplyDialog: \"div.simple-tweet,div.permalink-tweet,div.permalink-tweet div.proxy-tweet-container div.tweet,li.disco-stream-item div.tweet,div.slideshow-tweet div.proxy-tweet-container div.tweet,div.conversation-tweet\",\n            proxyTweetSelector: \"div.proxy-tweet-container div.tweet\",\n            tweetItemSelector: \"div.tweet\",\n            conversationTweetItemSelector: \".conversation-module .simple-tweet\",\n            tweetActionsSelector: \"div.tweet ul.js-actions\",\n            toggleContainerSelector: \".js-toggle-state\",\n            favoriteSelector: \"div.tweet ul.js-actions .js-toggle-fav a\",\n            retweetSelector: \"div.tweet ul.js-actions .js-toggle-rt a\",\n            replySelector: \"div.tweet ul.js-actions a.js-action-reply\",\n            deleteSelector: \"div.tweet ul.js-actions a.js-action-del\",\n            permalinkSelector: \"div.tweet .js-permalink\",\n            anyLoggedInActionSelector: \"div.tweet .js-actions a:not(.js-embed-tweet):not(.dropdown-toggle)\",\n            dismissTweetSelector: \"div.tweet .js-action-dismiss\",\n            dismissedTweetSelector: \".js-dismissed-promoted-tweet\",\n            promotedTweetStoreCookieName: \"h\",\n            moreOptionsSelector: \"div.tweet ul.js-actions .action-more-container div.dropdown\",\n            shareViaEmailSelector: \"div.tweet ul.js-actions ul.dropdown-menu a.js-share-via-email\",\n            embedTweetSelector: \"div.tweet ul.js-actions ul.dropdown-menu a.js-embed-tweet\"\n        }), this.toggleRetweet = function(a, b) {\n            var c = this.findTweet(b.tweet_id);\n            ((c.attr(\"data-my-retweet-id\") ? c.removeAttr(\"data-my-retweet-id\") : c.attr(\"data-my-retweet-id\", b.retweet_id))), a.preventDefault();\n        }, this.handleTransition = function(a, b) {\n            return function(c, d) {\n                var e = ((d.id || d.sourceEventData.id)), f = this.findTweet(e), g = f[0], h = JSBNG__document.activeElement, i, j;\n                ((((g && $.contains(g, h))) && (i = $(h).closest(this.attr.toggleContainerSelector)))), f[a](b), ((this.attr.proxyTweetSelector && (j = this.$node.JSBNG__find(((((((this.attr.proxyTweetSelector + \"[data-tweet-id=\")) + e)) + \"]\"))), j[a](b)))), ((i && i.JSBNG__find(\"a:visible\").JSBNG__focus())), c.preventDefault();\n            };\n        }, this.getTweetData = function(a, b) {\n            var c;\n            return ((b ? c = this.interactionDataWithCard(a) : c = this.interactionData(a))), c.id = c.tweetId, c.screenName = a.attr(\"data-screen-name\"), c.screenNames = tweetHelper.extractMentionsForReply(a, this.attr.screenName), c.isTweetProof = ((a.attr(\"data-is-tweet-proof\") === \"true\")), c;\n        }, this.handleReply = function(a, b, c) {\n            var d = this.$tweetForEvent(a, c), e = this.getTweetData(d, !0);\n            e.replyLinkClick = !0, ((((((d.is(this.attr.tweetWithReplyDialog) || ((d.attr(\"data-use-reply-dialog\") === \"true\")))) || ((d.attr(\"data-is-tweet-proof\") === \"true\")))) ? this.trigger(d, \"uiOpenReplyDialog\", e) : this.trigger(d, \"expandTweetByReply\", e))), a.preventDefault(), a.stopPropagation();\n        }, this.$tweetForEvent = function(a, b) {\n            var c = ((b ? \"JSBNG__find\" : \"closest\")), d = $(a.target)[c](this.attr.tweetItemSelector);\n            return ((((d.length === 0)) && (d = $(a.target)[c](this.attr.conversationTweetItemSelector)))), ((((d.JSBNG__find(this.attr.proxyTweetSelector).length == 1)) ? d.JSBNG__find(this.attr.proxyTweetSelector) : d));\n        }, this.$containerTweet = function(a) {\n            return $(a.target).closest(this.attr.tweetItemSelector);\n        }, this.handleAction = function(a, b, c, d) {\n            return function(e) {\n                var f = this.$tweetForEvent(e, d), g = this.getTweetData(f, !0);\n                ((((!a || f.hasClass(a))) ? this.trigger(f, b, g) : ((c && this.trigger(f, c, g))))), e.preventDefault(), e.stopPropagation();\n            };\n        }, this.handlePermalinkClick = function(a, b) {\n            var c = this.$tweetForEvent(a), d = this.getTweetData(c);\n            this.trigger(c, \"uiPermalinkClick\", d);\n        }, this.handleTweetDelete = function(a, b) {\n            var c = this.findTweet(b.sourceEventData.id);\n            c.each(function(a, c) {\n                var d = $(c);\n                ((d.hasClass(this.attr.permalinkTweetClass) ? window.JSBNG__location.replace(\"/\") : ((d.is(this.attr.tweetWithReplyDialog) ? (d.closest(\"li\").remove(), this.trigger(\"uiTweetRemoved\", b)) : (d.closest(this.attr.streamTweetItemSelector).remove(), this.trigger(\"uiTweetRemoved\", b))))));\n            }.bind(this)), ((this.select(\"tweetItemSelector\").length || ((this.$node.hasClass(\"replies-to\") ? this.$node.addClass(\"hidden\") : ((this.$node.hasClass(\"in-reply-to\") ? this.$node.remove() : this.select(\"timelineEndSelector\").removeClass(\"has-items\")))))));\n        }, this.findTweet = function(a) {\n            var b = this.attr.tweetItemSelector.split(\",\").map(function(b) {\n                return ((((((b + \"[data-tweet-id=\")) + a)) + \"]\"));\n            }).join(\",\");\n            return this.$node.JSBNG__find(b);\n        }, this.handleLoggedOutActionClick = function(a) {\n            a.preventDefault(), a.stopPropagation(), this.trigger(\"uiOpenSigninOrSignupDialog\", {\n                signUpOnly: !1,\n                screenName: this.$tweetForEvent(a).attr(\"data-screen-name\")\n            });\n        }, this.dismissTweet = function(a) {\n            var b = this.$tweetForEvent(a), c = b.closest(this.attr.streamTweetItemSelector), d = this.getTweetData(b);\n            c.addClass(this.attr.dismissedTweetClass).fadeOut(200, function() {\n                this.removeTweet(c);\n            }.bind(this)), c.prev().removeClass(\"before-expanded\"), c.next().removeClass(\"after-expanded\"), this.trigger(\"uiTweetDismissed\", d), cookie(this.attr.promotedTweetStoreCookieName, null);\n        }, this.removeTweet = function(a) {\n            a.remove();\n        }, this.removeAllDismissed = function() {\n            this.select(\"dismissedTweetSelector\").JSBNG__stop(), this.removeTweet(this.select(\"dismissedTweetSelector\"));\n        }, this.toggleDropdownDisplay = function(a) {\n            $(a.target).closest(this.attr.moreOptionsSelector).toggleClass(\"open\"), a.preventDefault(), a.stopPropagation();\n        }, this.closeAllDropdownSelectors = function(a) {\n            $(\"div.tweet div.dropdown.open\").removeClass(\"open\");\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                moreOptionsSelector: this.toggleDropdownDisplay,\n                embedTweetSelector: this.handleAction(\"\", \"uiNeedsEmbedTweetDialog\")\n            }), this.JSBNG__on(this.attr.tweetItemSelector, \"mouseleave\", this.closeAllDropdownSelectors);\n            if (!this.attr.loggedIn) {\n                this.JSBNG__on(\"click\", {\n                    anyLoggedInActionSelector: this.handleLoggedOutActionClick\n                });\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"dataDidDeleteTweet\", this.handleTweetDelete), this.JSBNG__on(JSBNG__document, \"dataDidRetweet dataDidUnretweet\", this.toggleRetweet), this.JSBNG__on(JSBNG__document, \"uiDidFavoriteTweet dataFailedToUnfavoriteTweet\", this.handleTransition(\"addClass\", \"favorited\")), this.JSBNG__on(JSBNG__document, \"uiDidUnfavoriteTweet dataFailedToFavoriteTweet\", this.handleTransition(\"removeClass\", \"favorited\")), this.JSBNG__on(JSBNG__document, \"uiDidRetweet dataFailedToUnretweet\", this.handleTransition(\"addClass\", \"retweeted\")), this.JSBNG__on(JSBNG__document, \"uiDidUnretweet dataFailedToRetweet\", this.handleTransition(\"removeClass\", \"retweeted\")), this.JSBNG__on(\"click\", {\n                favoriteSelector: this.handleAction(\"favorited\", \"uiDidUnfavoriteTweet\", \"uiDidFavoriteTweet\"),\n                retweetSelector: this.handleAction(\"retweeted\", \"uiDidUnretweet\", \"uiOpenRetweetDialog\"),\n                replySelector: this.handleReply,\n                deleteSelector: this.handleAction(\"\", \"uiOpenDeleteDialog\"),\n                permalinkSelector: this.handlePermalinkClick,\n                dismissTweetSelector: this.dismissTweet,\n                shareViaEmailSelector: this.handleAction(\"\", \"uiNeedsShareViaEmailDialog\")\n            }), this.JSBNG__on(JSBNG__document, \"uiDidFavoriteTweetToggle\", this.handleAction(\"favorited\", \"uiDidUnfavoriteTweet\", \"uiDidFavoriteTweet\", !0)), this.JSBNG__on(JSBNG__document, \"uiDidRetweetTweetToggle\", this.handleAction(\"retweeted\", \"uiDidUnretweet\", \"uiOpenRetweetDialog\", !0)), this.JSBNG__on(JSBNG__document, \"uiDidReplyTweetToggle\", this.handleReply), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.removeAllDismissed);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withInteractionData = require(\"app/ui/with_interaction_data\"), tweetHelper = require(\"app/utils/tweet_helper\"), cookie = require(\"app/utils/cookie\");\n    module.exports = withTweetActions;\n});\ndefine(\"app/ui/gallery/gallery\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/i18n\",\"app/ui/media/with_legacy_media\",\"app/utils/image/image_loader\",\"app/ui/with_scrollbar_width\",\"app/ui/with_item_actions\",\"app/ui/with_tweet_actions\",\"app/ui/media/with_flag_action\",], function(module, require, exports) {\n    function gallery() {\n        this.tweetHtml = {\n        }, this.defaultAttrs({\n            profileUser: !1,\n            defaultGalleryTitle: _(\"Media Gallery\"),\n            mediaSelector: \".media-thumbnail\",\n            galleryMediaSelector: \".gallery-media\",\n            galleryTweetSelector: \".gallery-tweet\",\n            closeSelector: \".js-close, .gallery-close-target\",\n            gridSelector: \".grid-action\",\n            gallerySelector: \".swift-media-gallery\",\n            galleryTitleSelector: \".modal-title\",\n            imageSelector: \".media-image\",\n            navSelector: \".gallery-nav\",\n            prevSelector: \".nav-prev\",\n            nextSelector: \".nav-next\",\n            itemType: \"tweet\"\n        }), this.resetMinSize = function() {\n            this.galW = MINWIDTH, this.galH = MINHEIGHT;\n            var a = this.select(\"gallerySelector\");\n            a.width(this.galW), a.height(this.galH);\n        }, this.isOpen = function() {\n            return this.$node.is(\":visible\");\n        }, this.open = function(a, b) {\n            this.calculateScrollbarWidth(), this.fromGrid = ((b && !!b.fromGrid)), this.title = ((((b && b.title)) ? b.title : this.attr.defaultGalleryTitle)), this.select(\"galleryTitleSelector\").text(this.title), ((((((b && b.showGrid)) && b.profileUser)) ? (this.select(\"gallerySelector\").removeClass(\"no-grid\"), this.select(\"gridSelector\").attr(\"href\", ((((\"/\" + b.profileUser.screen_name)) + \"/media/grid\"))), this.select(\"gridSelector\").JSBNG__find(\".visuallyhidden\").text(b.profileUser.JSBNG__name), this.select(\"gridSelector\").addClass(\"js-nav\")) : (this.select(\"gallerySelector\").addClass(\"no-grid\"), this.select(\"gridSelector\").removeClass(\"js-nav\"))));\n            var c = $(a.target).closest(this.attr.mediaSelector);\n            if (((this.isOpen() || ((c.length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            this.resetMinSize(), this.render(c), $(\"body\").addClass(\"gallery-enabled\"), this.select(\"gallerySelector\").addClass(\"show-controls\"), this.JSBNG__on(window, \"resize\", utils.debounce(this.resizeCurrent.bind(this), 50)), this.JSBNG__on(\"mousemove\", function() {\n                this.select(\"gallerySelector\").removeClass(\"show-controls\");\n            }.bind(this)), this.trigger(\"uiGalleryOpened\");\n        }, this.handleClose = function(a) {\n            if (!this.isOpen()) {\n                return;\n            }\n        ;\n        ;\n            ((this.fromGrid ? this.returnToGrid(!0) : this.closeGallery()));\n        }, this.returnToGrid = function(a) {\n            this.trigger(this.$current, \"uiOpenGrid\", {\n                title: this.title,\n                fromGallery: a\n            }), this.closeGallery();\n        }, this.closeGallery = function() {\n            $(\"body\").removeClass(\"gallery-enabled\"), this.select(\"galleryMediaSelector\").empty(), this.hideNav(), this.enableNav(!1, !1), this.off(window, \"resize\"), this.off(\"mousemove\"), this.trigger(\"uiGalleryClosed\");\n        }, this.render = function(a) {\n            this.clearTweet(), this.$current = a, this.renderNav(), this.trigger(a, \"uiGalleryMediaLoad\"), this.resolveMedia(a, this.renderMedia.bind(this), \"large\");\n        }, this.renderNav = function() {\n            if (!this.$current) {\n                return;\n            }\n        ;\n        ;\n            var a = this.$current.prevAll(this.attr.mediaSelector), b = this.$current.nextAll(this.attr.mediaSelector), c = ((b.length > 0)), d = ((a.length > 0));\n            this.enableNav(c, d), ((((c || d)) ? this.showNav() : this.hideNav()));\n        }, this.preloadNeighbors = function(a) {\n            this.preloadRecursive(a, \"next\", 2), this.preloadRecursive(a, \"prev\", 2);\n        }, this.clearTweet = function() {\n            this.select(\"galleryTweetSelector\").empty();\n        }, this.getTweet = function(a) {\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            ((this.tweetHtml[a] ? this.renderTweet(a, this.tweetHtml[a]) : this.trigger(\"uiGetTweet\", {\n                id: a\n            })));\n        }, this.gotTweet = function(a, b) {\n            ((((b.id && b.tweet_html)) && (this.tweetHtml[b.id] = b.tweet_html, this.renderTweet(b.id, b.tweet_html))));\n        }, this.renderTweet = function(a, b) {\n            ((((this.$current && ((this.getTweetId(this.$current) == a)))) && this.select(\"galleryTweetSelector\").empty().append(b)));\n        }, this.getTweetId = function(a) {\n            return ((a.attr(\"data-status-id\") ? a.attr(\"data-status-id\") : a.closest(\"[data-tweet-id]\").attr(\"data-tweet-id\")));\n        }, this.preloadRecursive = function(a, b, c) {\n            if (((c == 0))) {\n                return;\n            }\n        ;\n        ;\n            var d = a[b](this.attr.mediaSelector);\n            if (((!d || !d.length))) {\n                return;\n            }\n        ;\n        ;\n            d.attr(\"data-preloading\", !0), this.resolveMedia(d, function(a, d) {\n                if (!a) {\n                    d.remove(), this.preloadRecursive(d, b, c);\n                    return;\n                }\n            ;\n            ;\n                var a = function(a) {\n                    d.attr(\"data-preloaded\", !0), this.getTweet(this.getTweetId(d)), this.preloadRecursive(d, b, --c);\n                }.bind(this), e = function() {\n                    d.remove(), this.preloadRecursive(d, b, c);\n                }.bind(this);\n                imageLoader.load(d.attr(\"data-resolved-url-large\"), a, e);\n            }.bind(this), \"large\");\n        }, this.renderMedia = function(a, b) {\n            ((a ? (((b.attr(\"data-source-url\") ? this.loadVideo(b) : this.loadImage(b))), this.preloadNeighbors(b)) : (b.remove(), this.next())));\n        }, this.loadImage = function(a) {\n            var b = $(\"\\u003Cimg class=\\\"media-image\\\"/\\u003E\");\n            b.JSBNG__on(\"load\", function(c) {\n                a.attr(\"loaded\", !0), this.select(\"galleryMediaSelector\").empty().append(b), b.attr({\n                    \"data-height\": b[0].height,\n                    \"data-width\": b[0].width\n                }), this.resizeMedia(b), this.$current = a, this.getTweet(this.getTweetId(a)), this.trigger(\"uiGalleryMediaLoaded\", {\n                    url: b.attr(\"src\"),\n                    id: a.attr(\"data-status-id\")\n                });\n            }.bind(this)), b.JSBNG__on(\"error\", function(c) {\n                this.trigger(\"uiGalleryMediaFailed\", {\n                    url: b.attr(\"src\"),\n                    id: a.attr(\"data-status-id\")\n                }), a.remove(), this.next();\n            }.bind(this)), b.attr(\"src\", a.attr(\"data-resolved-url-large\")), this.select(\"gallerySelector\").removeClass(\"video\");\n        }, this.loadVideo = function(a) {\n            var b = $(\"\\u003Ciframe\\u003E\");\n            b.height(((a.attr(\"data-height\") * 2))).width(((a.attr(\"data-width\") * 2))).attr(\"data-height\", ((a.attr(\"data-height\") * 2))).attr(\"data-width\", ((a.attr(\"data-width\") * 2))).attr(\"src\", a.attr(\"data-source-url\")), a.attr(\"loaded\", !0), this.resizeMedia(b, !0), this.select(\"galleryMediaSelector\").empty().append(b), this.$current = a, this.getTweet(a.attr(\"data-status-id\")), this.select(\"gallerySelector\").addClass(\"video\");\n        }, this.resizeCurrent = function() {\n            var a = this.select(\"imageSelector\");\n            ((a.length && this.resizeMedia(a)));\n        }, this.resizeMedia = function(a, b) {\n            var c = (($(window).height() - ((2 * PADDING)))), d = (($(window).width() - ((2 * PADDING)))), e = this.galH, f = this.galW, g = ((c - HEADERHEIGHT)), h = d, i = parseInt(a.height()), j = parseInt(a.width()), k = this.select(\"gallerySelector\");\n            ((b && (j += 130, i += 100))), ((((i > g)) && (a.height(g), a.width(((j * ((g / i))))), j *= ((g / i)), i = g))), ((((j > h)) && (a.width(h), a.height(((i * ((h / j))))), i *= ((h / j)), j = h))), ((((j > this.galW)) && (this.galW = j, k.width(this.galW)))), ((((((i + HEADERHEIGHT)) > this.galH)) ? (this.galH = ((i + HEADERHEIGHT)), k.height(this.galH), a.css(\"margin-top\", 0), a.addClass(\"bottom-corners\")) : (a.css(\"margin-top\", ((((((this.galH - HEADERHEIGHT)) - i)) / 2))), a.removeClass(\"bottom-corners\"))));\n        }, this.prev = function() {\n            this.gotoMedia(\"prev\"), this.trigger(\"uiGalleryNavigatePrev\");\n        }, this.next = function() {\n            this.gotoMedia(\"next\"), this.trigger(\"uiGalleryNavigateNext\");\n        }, this.gotoMedia = function(a) {\n            var b = this.$current[a](this.attr.mediaSelector);\n            ((b.length && this.render(b)));\n        }, this.showNav = function() {\n            this.select(\"navSelector\").show();\n        }, this.hideNav = function() {\n            this.select(\"navSelector\").hide();\n        }, this.enableNav = function(a, b) {\n            ((a ? this.select(\"nextSelector\").addClass(\"enabled\") : this.select(\"nextSelector\").removeClass(\"enabled\"))), ((b ? this.select(\"prevSelector\").addClass(\"enabled\") : this.select(\"prevSelector\").removeClass(\"enabled\")));\n        }, this.throttle = function(a, b, c) {\n            var d = !1;\n            return function() {\n                ((d || (a.apply(c, arguments), d = !0, JSBNG__setTimeout(function() {\n                    d = !1;\n                }, b))));\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataGotMoreMediaTimelineItems\", this.renderNav), this.JSBNG__on(JSBNG__document, \"uiOpenGallery\", this.open), this.JSBNG__on(JSBNG__document, \"uiCloseGallery\", this.closeGallery), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.handleClose), this.JSBNG__on(window, \"popstate\", this.closeGallery), this.JSBNG__on(JSBNG__document, \"uiShortcutLeft\", this.throttle(this.prev, 200, this)), this.JSBNG__on(JSBNG__document, \"uiShortcutRight\", this.throttle(this.next, 200, this)), this.JSBNG__on(JSBNG__document, \"dataGotTweet\", this.gotTweet), this.JSBNG__on(\"click\", {\n                prevSelector: this.prev,\n                nextSelector: this.next,\n                closeSelector: this.handleClose,\n                gridSelector: this.closeGallery\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), withLegacyMedia = require(\"app/ui/media/with_legacy_media\"), imageLoader = require(\"app/utils/image/image_loader\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), withItemActions = require(\"app/ui/with_item_actions\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withFlagAction = require(\"app/ui/media/with_flag_action\"), Gallery = defineComponent(gallery, withLegacyMedia, withItemActions, withTweetActions, withFlagAction, withScrollbarWidth), MINHEIGHT = 300, MINWIDTH = 520, PADDING = 30, HEADERHEIGHT = 38;\n    module.exports = Gallery;\n});\ndefine(\"app/data/gallery_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function galleryScribe() {\n        this.scribeGalleryOpened = function(a, b) {\n            this.scribe({\n                element: \"gallery\",\n                action: \"open\"\n            }, b);\n        }, this.scribeGalleryClosed = function(a, b) {\n            this.scribe({\n                element: \"gallery\",\n                action: \"close\"\n            }, b);\n        }, this.scribeGalleryMediaLoaded = function(a, b) {\n            var c = {\n                url: b.url,\n                item_ids: [b.id,]\n            };\n            this.scribe({\n                element: \"photo\",\n                action: \"impression\"\n            }, b, c);\n        }, this.scribeGalleryMediaFailed = function(a, b) {\n            var c = {\n                url: b.url,\n                item_ids: [b.id,]\n            };\n            this.scribe({\n                element: \"photo\",\n                action: \"error\"\n            }, b, c);\n        }, this.scribeGalleryNavigateNext = function(a, b) {\n            this.scribe({\n                element: \"next\",\n                action: \"click\"\n            }, b);\n        }, this.scribeGalleryNavigatePrev = function(a, b) {\n            this.scribe({\n                element: \"prev\",\n                action: \"click\"\n            }, b);\n        }, this.scribeGridPaged = function(a, b) {\n            this.scribe({\n                element: \"grid\",\n                action: \"page\"\n            }, b);\n        }, this.scribeGridOpened = function(a, b) {\n            this.scribe({\n                element: \"grid\",\n                action: \"impression\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiGalleryOpened\", this.scribeGalleryOpened), this.JSBNG__on(JSBNG__document, \"uiGalleryClosed\", this.scribeGalleryClosed), this.JSBNG__on(JSBNG__document, \"uiGalleryMediaLoaded\", this.scribeGalleryMediaLoaded), this.JSBNG__on(JSBNG__document, \"uiGalleryMediaFailed\", this.scribeGalleryMediaFailed), this.JSBNG__on(JSBNG__document, \"uiGalleryNavigateNext\", this.scribeGalleryNavigateNext), this.JSBNG__on(JSBNG__document, \"uiGalleryNavigatePrev\", this.scribeGalleryNavigatePrev), this.JSBNG__on(JSBNG__document, \"uiGridPaged\", this.scribeGridPaged), this.JSBNG__on(JSBNG__document, \"uiGridOpened\", this.scribeGridOpened);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(galleryScribe, withScribe);\n});\ndefine(\"app/data/share_via_email_dialog_data\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function shareViaEmailDialogData() {\n        this.getDialogData = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataShareViaEmailDialogSuccess\", {\n                    tweets: a.items_html,\n                    JSBNG__name: b.JSBNG__name\n                });\n            }, d = function() {\n                this.trigger(\"dataShareViaEmailDialogError\");\n            }, e = b.screenName, f = b.tweetId;\n            this.get({\n                url: ((((((\"/i/\" + e)) + \"/conversation/\")) + f)),\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsShareViaDialogData\", this.getDialogData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), ShareViaEmailDialogData = defineComponent(shareViaEmailDialogData, withData);\n    module.exports = ShareViaEmailDialogData;\n});\ndefine(\"app/ui/dialogs/share_via_email_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/data/with_data\",\"app/ui/dialogs/with_modal_tweet\",\"app/ui/forms/input_with_placeholder\",\"app/data/share_via_email_dialog_data\",\"core/i18n\",\"core/utils\",], function(module, require, exports) {\n    function shareViaEmailDialog() {\n        this.defaultAttrs({\n            contentSelector: \".share-via-email-form .js-share-tweet-container\",\n            buttonSelector: \".share-via-email-form .primary-btn\",\n            emailSelector: \".share-via-email-form .js-share-tweet-emails\",\n            commentSelector: \".share-via-email-form .js-share-comment\",\n            replyToUserSelector: \".share-via-email-form .js-reply-to-user\",\n            tweetSelector: \".share-via-email-form .tweet\",\n            placeholdingInputSelector: \".share-via-email-form .share-tweet-to .placeholding-input\",\n            placeholdingTextareaSelector: \".share-via-email-form .comment-box .placeholding-input\",\n            placeholdingSelector: \".share-via-email-form .placeholding-input\",\n            socialProofSelector: \".share-via-email-form .comment-box .social-proof\",\n            modalTitleSelector: \".modal-title\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            this.attr.sourceEventData = b, this.addTweet($(a.target).clone().removeClass(\"retweeted favorited\")), this.select(\"emailSelector\").val(\"\"), this.select(\"commentSelector\").val(\"\"), this.select(\"socialProofSelector\").html(\"\"), this.select(\"placeholdingSelector\").removeClass(\"hasome\"), this.open();\n            var c = this.select(\"modalTitleSelector\").attr(\"data-experiment-bucket\");\n            ((((c == \"experiment\")) && this.trigger(\"uiNeedsShareViaDialogData\", {\n                tweetId: $(a.target).attr(\"data-tweet-id\"),\n                screenName: $(a.target).attr(\"data-screen-name\"),\n                JSBNG__name: $(a.target).attr(\"data-name\")\n            }))), this.trigger(\"uiShareViaEmailDialogOpened\", utils.merge(b, {\n                scribeContext: {\n                    component: \"share_via_email_dialog\"\n                }\n            }));\n        }, this.fillDialog = function(a, b) {\n            var c = $(b.tweets).JSBNG__find(\".tweet\"), d = b.JSBNG__name;\n            this.select(\"socialProofSelector\").html(\"\");\n            var e = [];\n            $.each(c, function(a, b) {\n                e.push($(b).attr(\"data-name\"));\n            }), e = jQuery.unique(e), e = jQuery.grep(e, function(a) {\n                return ((a != d));\n            });\n            var f = $(c[0]).attr(\"data-name\"), g = $(c[0]).attr(\"data-protected\"), h = $(c[((c.length - 1))]).attr(\"data-name\"), i = $(c[((c.length - 1))]).attr(\"data-protected\"), j = \"\", k = ((e.length - 2)), l = {\n                inReplyToTweetAuthor: h,\n                rootTweetAuthor: f,\n                othersLeft: k\n            };\n            ((((((f != d)) && !g)) ? ((((((f != h)) && !i)) ? ((((e.length > 3)) ? j = _(\"In reply to {{rootTweetAuthor}}, {{inReplyToTweetAuthor}} and {{othersLeft}} others\", l) : ((((e.length > 0)) && (j = _(\"In reply to {{rootTweetAuthor}} and {{inReplyToTweetAuthor}}\", l)))))) : ((i || ((((e.length > 3)) ? j = _(\"In reply to  {{rootTweetAuthor}} and {{othersLeft}} others)\", l) : ((((e.length > 0)) && (j = _(\"In reply to {{rootTweetAuthor}}\", l)))))))))) : ((((((h != d)) && !i)) && ((((e.length > 3)) ? j = _(\"In reply to {{inReplyToTweetAuthor}} and {{othersLeft}} others\", l) : ((((e.length > 0)) && (j = _(\"In reply to {{inReplyToTweetAuthor}}\", l)))))))))), this.select(\"socialProofSelector\").html(j);\n        }, this.submitForm = function(a) {\n            var b = {\n                id: this.select(\"tweetSelector\").attr(\"data-tweet-id\"),\n                emails: this.select(\"emailSelector\").val(),\n                comment: this.select(\"commentSelector\").val(),\n                reply_to_user: this.select(\"replyToUserSelector\").is(\":checked\")\n            };\n            this.post({\n                url: \"/i/tweet/share_via_email\",\n                data: b,\n                eventData: null,\n                success: \"dataShareViaEmailSuccess\",\n                error: \"dataShareViaEmailError\"\n            }), this.trigger(\"uiCloseDialog\"), a.preventDefault();\n        }, this.shareSuccess = function(a, b) {\n            this.trigger(\"uiShowMessage\", {\n                message: b.message\n            }), this.trigger(\"uiDidShareViaEmailSuccess\", this.attr.sourceEventData);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiNeedsShareViaEmailDialog\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"dataShareViaEmailDialogSuccess\", this.fillDialog), this.JSBNG__on(JSBNG__document, \"dataShareViaEmailSuccess\", this.shareSuccess), this.JSBNG__on(\"click\", {\n                buttonSelector: this.submitForm\n            }), InputWithPlaceholder.attachTo(this.attr.placeholdingInputSelector, {\n                hidePlaceholderClassName: \"hasome\",\n                placeholder: \".placeholder\",\n                elementType: \"input\",\n                noTeardown: !0\n            }), InputWithPlaceholder.attachTo(this.attr.placeholdingTextareaSelector, {\n                hidePlaceholderClassName: \"hasome\",\n                placeholder: \".placeholder\",\n                elementType: \"textarea\",\n                noTeardown: !0\n            }), DialogData.attachTo(this.$node, {\n                noTeardown: !0\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withData = require(\"app/data/with_data\"), withModalTweet = require(\"app/ui/dialogs/with_modal_tweet\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), DialogData = require(\"app/data/share_via_email_dialog_data\"), _ = require(\"core/i18n\"), utils = require(\"core/utils\"), ShareViaEmailDialog = defineComponent(shareViaEmailDialog, withDialog, withPosition, withData, withModalTweet);\n    module.exports = ShareViaEmailDialog;\n});\ndefine(\"app/data/with_widgets\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function withWidgets() {\n        this.widgetsAreLoaded = function() {\n            return ((!!this.widgets && !!this.widgets.init));\n        }, this.widgetsProvidesNewEmbed = function() {\n            return ((((!!this.widgetsAreLoaded() && !!this.widgets.widgets)) && ((typeof this.widgets.widgets.createTweetEmbed == \"function\"))));\n        }, this.getWidgets = function() {\n            ((window.twttr || this.asyncWidgetsLoader())), this.widgets = window.twttr, window.twttr.ready(this._widgetsReady.bind(this));\n        }, this._widgetsReady = function(_) {\n            ((this.widgetsReady && this.widgetsReady()));\n        }, this.asyncWidgetsLoader = function() {\n            window.twttr = function(a, b, c) {\n                var d, e, f = a.getElementsByTagName(b)[0];\n                if (a.getElementById(c)) {\n                    return;\n                }\n            ;\n            ;\n                return e = a.createElement(b), e.id = c, e.src = \"//platform.twitter.com/widgets.js\", f.parentNode.insertBefore(e, f), ((window.twttr || (d = {\n                    _e: [],\n                    ready: function(a) {\n                        d._e.push(a);\n                    }\n                })));\n            }(JSBNG__document, \"script\", \"twitter-wjs\");\n        };\n    };\n;\n    var defineComponent = require(\"core/component\"), WithWidgets = defineComponent(withWidgets);\n    module.exports = withWidgets;\n});\ndefine(\"app/ui/dialogs/embed_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/data/with_card_metadata\",\"app/data/with_widgets\",], function(module, require, exports) {\n    function embedTweetDialog() {\n        this.defaultAttrs({\n            dialogSelector: \"#embed-tweet-dialog\",\n            dialogContentSelector: \"#embed-tweet-dialog .modal-content\",\n            previewContainerSelector: \".embed-preview\",\n            embedFrameSelector: \".embed-preview iframe\",\n            visibleEmbedFrameSelector: \".embed-preview iframe:visible\",\n            embedCodeDestinationSelector: \".embed-destination\",\n            triggerSelector: \".js-embed-tweet\",\n            overlaySelector: \".embed-overlay\",\n            spinnerOverlaySelector: \".embed-overlay-spinner\",\n            errorOverlaySelector: \".embed-overlay-error\",\n            tryAgainSelector: \".embed-overlay-error a\",\n            includeParentTweetContainerSelector: \".embed-include-parent-tweet\",\n            includeParentTweetSelector: \".include-parent-tweet\",\n            includeCardContainerSelector: \".embed-include-card\",\n            includeCardSelector: \".include-card\",\n            embedWidth: \"469px\",\n            JSBNG__top: \"90px\"\n        }), this.cacheKeyForOptions = function(a) {\n            return ((JSON.stringify(a.data) + a.tweetId));\n        }, this.cacheKeyChanged = function(a) {\n            var b = this.cacheKeyForOptions(a);\n            return ((b != this.cacheKeyForOptions(this.getOptions())));\n        }, this.didReceiveEmbedCode = function(a, b) {\n            if (this.cacheKeyChanged(b.options)) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"overlaySelector\").hide(), this.$embedCodeDestination.val(b.data.html).JSBNG__focus(), this.selectEmbedCode();\n        }, this.retryEmbedCode = function(a, b) {\n            if (this.cacheKeyChanged(b)) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"overlaySelector\").hide(), this.select(\"spinnerOverlaySelector\").show(), this.trigger(\"uiOembedError\", this.tweetData);\n        }, this.failedToReceiveEmbedCode = function(a, b) {\n            if (this.cacheKeyChanged(b)) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"overlaySelector\").hide(), this.select(\"embedCodeDestinationSelector\").hide(), this.select(\"errorOverlaySelector\").show(), this.clearOembed();\n        }, this.updateEmbedCode = function() {\n            this.select(\"embedCodeDestinationSelector\").show(), this.select(\"overlaySelector\").hide(), this.trigger(\"uiNeedsOembed\", this.getOptions());\n        }, this.requestTweetEmbed = function() {\n            if (!this.widgetsProvidesNewEmbed()) {\n                return;\n            }\n        ;\n        ;\n            var a = this.getOptions(), b = this.cacheKeyForOptions(a);\n            if (this.cachedTweetEmbeds[b]) {\n                this.displayCachedTweetEmbed(b);\n                return;\n            }\n        ;\n        ;\n            this.clearTweetEmbed(), this.widgets.widgets.createTweet(this.tweetId(), this.select(\"previewContainerSelector\")[0], this.receivedTweetEmbed.bind(this, b), {\n                width: this.attr.embedWidth,\n                conversation: ((a.data.hide_thread ? \"none\" : \"all\")),\n                cards: ((a.data.hide_media ? \"hidden\" : \"shown\"))\n            });\n        }, this.clearTweetEmbed = function() {\n            var a = this.select(\"visibleEmbedFrameSelector\");\n            this.stopPlayer(), a.hide();\n        }, this.clearOembed = function() {\n            this.$embedCodeDestination.val(\"\");\n        }, this.tearDown = function() {\n            this.stopPlayer(), this.clearTweetEmbed(), this.clearOembed();\n        }, this.stopPlayer = function() {\n            var a = this.select(\"embedFrameSelector\");\n            a.each(function(a, b) {\n                var c = $(b.contentWindow.JSBNG__document), d = c.JSBNG__find(\"div.media iframe\")[0], e;\n                if (((((!d || !d.src)) || ((d.src == JSBNG__document.JSBNG__location.href))))) {\n                    return;\n                }\n            ;\n            ;\n                e = d.src, d.setAttribute(\"src\", \"\"), d.setAttribute(\"src\", e);\n            });\n        }, this.displayCachedTweetEmbed = function(a) {\n            this.clearTweetEmbed(), $(this.cachedTweetEmbeds[a]).show();\n        }, this.receivedTweetEmbed = function(a, b) {\n            ((b ? this.cachedTweetEmbeds[a] = b : this.trigger(\"uiEmbedRequestFailed\")));\n        }, this.embedCodeCopied = function(a) {\n            this.trigger(\"uiUserCopiedEmbedCode\");\n        }, this.includeParentTweet = function() {\n            return ((this.$includeParentTweet.attr(\"checked\") == \"checked\"));\n        }, this.showCard = function() {\n            return ((this.$includeCard.attr(\"checked\") == \"checked\"));\n        }, this.getOptions = function() {\n            return {\n                data: {\n                    lang: this.lang,\n                    hide_thread: !this.includeParentTweet(),\n                    hide_media: !this.showCard()\n                },\n                retry: !0,\n                tweetId: this.tweetId(),\n                screenName: this.screenName()\n            };\n        }, this.selectEmbedCode = function() {\n            this.$embedCode.select();\n        }, this.setUpDialog = function(a, b) {\n            this.position(), this.eventData = a, this.tweetData = b, this.toggleIncludeParent(), this.toggleShowCard(), this.resetIncludeParent(), this.resetShowCard(), this.updateEmbedCode(), this.requestTweetEmbed(), this.open(), this.fixPosition();\n        }, this.fixPosition = function() {\n            this.$dialog.css({\n                position: \"relative\",\n                JSBNG__top: this.attr.JSBNG__top\n            });\n        }, this.resetIncludeParent = function() {\n            var a = this.cacheKeyForOptions(this.getOptions());\n            if (this.cachedTweetEmbeds[a]) {\n                return;\n            }\n        ;\n        ;\n            this.$includeParentTweet.attr(\"checked\", \"CHECKED\");\n        }, this.resetShowCard = function() {\n            var a = this.cacheKeyForOptions(this.getOptions());\n            if (this.cachedTweetEmbeds[a]) {\n                return;\n            }\n        ;\n        ;\n            this.$includeCard.attr(\"checked\", \"CHECKED\");\n        }, this.toggleIncludeParent = function() {\n            ((this.tweetHasParent() ? this.$includeParentCheckboxContainer.show() : this.$includeParentCheckboxContainer.hide()));\n        }, this.toggleShowCard = function() {\n            ((this.tweetHasCard() ? this.$includeCardCheckboxContainer.show() : this.$includeCardCheckboxContainer.hide()));\n        }, this.tweetId = function() {\n            return this.tweetData.tweetId;\n        }, this.tweetHasParent = function() {\n            return this.tweetData.hasParentTweet;\n        }, this.tweetHasCard = function() {\n            return this.getCardDataFromTweet($(this.eventData.target)).tweetHasCard;\n        }, this.screenName = function() {\n            return this.tweetData.screenName;\n        }, this.widgetsReady = function() {\n            ((((this.$dialogContainer && this.isOpen())) && this.requestTweetEmbed()));\n        }, this.onOptionChange = function() {\n            this.trigger(\"uiNeedsOembed\", this.getOptions()), this.requestTweetEmbed();\n        }, this.after(\"initialize\", function() {\n            this.getWidgets(), this.$includeParentTweet = this.select(\"includeParentTweetSelector\"), this.$embedCodeDestination = this.select(\"embedCodeDestinationSelector\"), this.$includeParentCheckboxContainer = this.select(\"includeParentTweetContainerSelector\"), this.$includeCard = this.select(\"includeCardSelector\"), this.$includeCardCheckboxContainer = this.select(\"includeCardContainerSelector\"), this.$embedCode = this.select(\"embedCodeDestinationSelector\"), this.JSBNG__on(JSBNG__document, \"uiNeedsEmbedTweetDialog\", this.setUpDialog), this.JSBNG__on(\"uiDialogCloseRequested\", this.tearDown), this.JSBNG__on(JSBNG__document, \"dataOembedSuccess\", this.didReceiveEmbedCode), this.JSBNG__on(JSBNG__document, \"dataOembedError\", this.failedToReceiveEmbedCode), this.JSBNG__on(JSBNG__document, \"dataOembedRetry\", this.retryEmbedCode), this.JSBNG__on(this.$embedCodeDestination, \"copy cut\", this.embedCodeCopied), this.JSBNG__on(this.$embedCode, \"click\", this.selectEmbedCode), this.JSBNG__on(\"click\", {\n                tryAgainSelector: this.updateEmbedCode\n            }), this.JSBNG__on(\"change\", {\n                includeParentTweetSelector: this.onOptionChange,\n                includeCardSelector: this.onOptionChange\n            }), this.lang = JSBNG__document.documentElement.getAttribute(\"lang\"), this.cachedTweetEmbeds = {\n            };\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withCardMetadata = require(\"app/data/with_card_metadata\"), withWidgets = require(\"app/data/with_widgets\"), EmbedTweetDialog = defineComponent(embedTweetDialog, withDialog, withPosition, withCardMetadata, withWidgets);\n    module.exports = EmbedTweetDialog;\n});\ndefine(\"app/data/embed_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/data/with_interaction_data_scribe\",\"core/utils\",], function(module, require, exports) {\n    function embedScribe() {\n        this.scribeOpen = function(a, b) {\n            this.scribeEmbedAction(\"open\", b);\n        }, this.scribeOembedError = function(a, b) {\n            this.scribeEmbedAction(\"request_failed\", b);\n        }, this.scribeEmbedCopy = function(a, b) {\n            this.scribeEmbedAction(\"copy\", b);\n        }, this.scribeEmbedError = function(a, b) {\n            this.scribeEmbedAction(\"embed_request_failed\");\n        }, this.scribeEmbedAction = function(a, b) {\n            this.scribeInteraction(a, utils.merge(b, {\n                scribeContext: {\n                    component: \"embed_tweet_dialog\"\n                }\n            }));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiEmbedRequestFailed\", this.scribeEmbedError), this.JSBNG__on(\"uiNeedsEmbedTweetDialog\", this.scribeOpen), this.JSBNG__on(\"uiOembedError\", this.scribeOembedError), this.JSBNG__on(\"uiUserCopiedEmbedCode\", this.scribeEmbedCopy);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), withInteractionScribe = require(\"app/data/with_interaction_data_scribe\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(embedScribe, withScribe, withInteractionScribe);\n});\ndefine(\"app/data/oembed\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/user_info\",], function(module, require, exports) {\n    function OembedData() {\n        this.requestEmbedCode = function(a, b) {\n            var c = this.cacheKeyForOptions(b), d = this.cachedEmbedCodes[c], e = this.receivedEmbedCode.bind(this, b), f = this.failedToReceiveEmbedCode.bind(this, b);\n            if (d) {\n                this.receivedEmbedCode(b, d);\n                return;\n            }\n        ;\n        ;\n            if (this.useMacawSyndication()) {\n                this.get({\n                    dataType: \"jsonp\",\n                    url: this.embedCodeUrl(b.screenName, b.tweetId),\n                    data: {\n                        id: b.tweetId\n                    },\n                    eventData: {\n                    },\n                    success: e,\n                    error: f\n                });\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: this.embedCodeUrl(b.screenName, b.tweetId),\n                headers: {\n                    \"X-PHX\": 1\n                },\n                data: b.data,\n                eventData: {\n                },\n                success: e,\n                error: f\n            });\n        }, this.embedCodeUrl = function(a, b) {\n            return ((this.useMacawSyndication() ? \"//api.twitter.com/1/statuses/oembed.json\" : [\"/\",a,\"/oembed/\",b,\".json\",].join(\"\")));\n        }, this.receivedEmbedCode = function(a, b) {\n            var c = this.cacheKeyForOptions(a);\n            this.cachedEmbedCodes[c] = b, this.trigger(\"dataOembedSuccess\", {\n                options: a,\n                data: b\n            });\n        }, this.failedToReceiveEmbedCode = function(a) {\n            ((a.retry ? (a.retry = !1, this.trigger(\"dataOembedRetry\", a), this.requestEmbedCode({\n            }, a)) : this.trigger(\"dataOembedError\", a)));\n        }, this.cacheKeyForOptions = function(a) {\n            return ((JSON.stringify(a.data) + a.tweetId));\n        }, this.useMacawSyndication = function() {\n            return userInfo.getDecider(\"oembed_use_macaw_syndication\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsOembed\", this.requestEmbedCode), this.cachedEmbedCodes = {\n            };\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), userInfo = require(\"app/data/user_info\");\n    module.exports = defineComponent(OembedData, withData);\n});\ndefine(\"app/data/oembed_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function oembedScribe() {\n        this.scribeError = function(a, b) {\n            this.scribe({\n                component: \"oembed\",\n                action: \"request_failed\"\n            });\n        }, this.scribeRetry = function(a, b) {\n            this.scribe({\n                component: \"oembed\",\n                action: \"retry\"\n            });\n        }, this.scribeRequest = function(a, b) {\n            this.scribe({\n                component: \"oembed\",\n                action: \"request\"\n            }, b);\n        }, this.scribeSuccess = function(a, b) {\n            this.scribe({\n                component: \"oembed\",\n                action: \"success\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"dataOembedError\", this.scribeError), this.JSBNG__on(\"dataOembedRetry\", this.scribeRetry), this.JSBNG__on(\"dataOembedRequest\", this.scribeRequest), this.JSBNG__on(\"dataOembedSuccess\", this.scribeSuccess);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(oembedScribe, withScribe);\n});\ndefine(\"app/ui/with_drag_events\", [\"module\",\"require\",\"exports\",\"app/utils/drag_drop_helper\",], function(module, require, exports) {\n    function withDragEvents() {\n        this.childHover = function(a) {\n            (($.contains(this.$node.get(0), a.target) && (a.stopImmediatePropagation(), this.inChild = ((a.type === \"dragenter\")))));\n        }, this.hover = function(a) {\n            a.preventDefault();\n            if (this.inChild) {\n                return !1;\n            }\n        ;\n        ;\n            this.trigger(((((a.type === \"dragenter\")) ? \"uiDragEnter\" : \"uiDragLeave\")));\n        }, this.finish = function(a) {\n            a.stopImmediatePropagation(), this.inChild = !1, this.trigger(\"uiDragLeave\");\n        }, this.preventDefault = function(a) {\n            return a.preventDefault(), !1;\n        }, this.detectDragEnd = function(a) {\n            ((this.detectingEnd || (this.detectingEnd = !0, $(JSBNG__document.body).one(\"mousemove\", this.dragEnd.bind(this)))));\n        }, this.dragEnd = function() {\n            this.detectingEnd = !1, this.trigger(\"uiDragEnd\");\n        }, this.outOfBounds = function(a) {\n            var b = a.originalEvent.pageX, c = a.originalEvent.pageY, d = JSBNG__document.body.clientWidth, e = JSBNG__document.body.clientHeight;\n            ((((((((((b <= 0)) || ((c <= 0)))) || ((c >= e)))) || ((b >= d)))) && this.dragEnd()));\n        }, this.after(\"initialize\", function() {\n            this.inChild = !1, this.JSBNG__on(JSBNG__document.body, \"dragenter dragover\", this.detectDragEnd), this.JSBNG__on(JSBNG__document.body, \"dragleave\", this.outOfBounds), this.JSBNG__on(\"dragenter dragleave\", dragDropHelper.onlyHandleEventsWithFiles(this.hover)), this.JSBNG__on(\"dragover drop\", dragDropHelper.onlyHandleEventsWithFiles(this.preventDefault)), this.JSBNG__on(\"dragenter dragleave\", dragDropHelper.onlyHandleEventsWithFiles(this.childHover)), this.JSBNG__on(JSBNG__document, \"uiDragEnd drop\", this.finish);\n        });\n    };\n;\n    module.exports = withDragEvents;\n    var dragDropHelper = require(\"app/utils/drag_drop_helper\");\n});\ndefine(\"app/ui/drag_state\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_drag_events\",], function(module, require, exports) {\n    function dragState() {\n        this.defaultAttrs({\n            draggingClass: \"currently-dragging\",\n            supportsDraggingClass: \"supports-drag-and-drop\"\n        }), this.dragEnter = function() {\n            this.$node.addClass(this.attr.draggingClass);\n        }, this.dragLeave = function() {\n            this.$node.removeClass(this.attr.draggingClass);\n        }, this.addSupportsDraggingClass = function() {\n            this.$node.addClass(this.attr.supportsDraggingClass);\n        }, this.hasSupport = function() {\n            return ((((\"draggable\" in JSBNG__document.createElement(\"span\"))) && !$.browser.msie));\n        }, this.after(\"initialize\", function() {\n            ((this.hasSupport() && (this.addSupportsDraggingClass(), this.JSBNG__on(\"uiDragEnter\", this.dragEnter), this.JSBNG__on(\"uiDragLeave uiDrop\", this.dragLeave))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDragEvents = require(\"app/ui/with_drag_events\");\n    module.exports = defineComponent(dragState, withDragEvents);\n});\ndefine(\"app/data/notification_listener\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/setup_polling_with_backoff\",\"app/data/notifications\",], function(module, require, exports) {\n    function notificationListener() {\n        this.pollForNotifications = function(a, b) {\n            ((notifications.shouldPoll() && this.trigger(\"uiDMPoll\")));\n        }, this.resetDMs = function(a, b) {\n            notifications.resetDMState(a, b);\n        }, this.notifications = notifications, this.after(\"initialize\", function() {\n            notifications.init(this.attr), this.JSBNG__on(JSBNG__document, \"uiResetDMPoll\", this.resetDMs), this.JSBNG__on(JSBNG__document, \"uiPollForNotifications\", this.pollForNotifications), this.timer = setupPollingWithBackoff(\"uiPollForNotifications\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\"), notifications = require(\"app/data/notifications\"), NotificationListener = defineComponent(notificationListener);\n    module.exports = NotificationListener;\n});\ndefine(\"app/data/dm_poll\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_auth_token\",\"app/data/notifications\",], function(module, require, exports) {\n    function dmPoll() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.dispatch = function(a) {\n            ((a && (notifications.updateNotificationState(a.note), this.trigger(\"dataNotificationsReceived\", a.note))));\n        }, this.makeRequest = function(a, b, c) {\n            this.get({\n                url: \"/i/notifications\",\n                data: c,\n                eventData: b,\n                success: this.dispatch.bind(this),\n                error: \"dataDMError\"\n            });\n        }, this.requestConversationList = function(a, b) {\n            var c = {\n            };\n            notifications.addDMData(c), this.makeRequest(a, b, c);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDMPoll\", this.requestConversationList);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withAuthToken = require(\"app/data/with_auth_token\"), notifications = require(\"app/data/notifications\"), DMPoll = defineComponent(dmPoll, withData, withAuthToken);\n    module.exports = DMPoll;\n});\ndefine(\"app/boot/app\", [\"module\",\"require\",\"exports\",\"app/boot/common\",\"app/boot/top_bar\",\"app/ui/keyboard_shortcuts\",\"app/ui/dialogs/keyboard_shortcuts_dialog\",\"app/ui/dialogs/retweet_dialog\",\"app/ui/dialogs/delete_tweet_dialog\",\"app/ui/dialogs/block_user_dialog\",\"app/ui/dialogs/confirm_dialog\",\"app/ui/dialogs/confirm_email_dialog\",\"app/ui/dialogs/list_membership_dialog\",\"app/ui/dialogs/list_operations_dialog\",\"app/boot/direct_messages\",\"app/boot/profile_popup\",\"app/data/typeahead/typeahead\",\"app/data/typeahead_scribe\",\"app/ui/dialogs/goto_user_dialog\",\"app/utils/setup_polling_with_backoff\",\"app/ui/page_title\",\"app/ui/navigation_links\",\"app/ui/feedback/feedback_dialog\",\"app/ui/feedback/feedback_report_link_handler\",\"app/data/feedback/feedback\",\"app/ui/search_query_source\",\"app/ui/banners/email_banner\",\"app/data/email_banner\",\"app/ui/gallery/gallery\",\"app/data/gallery_scribe\",\"app/ui/dialogs/share_via_email_dialog\",\"app/ui/dialogs/embed_tweet\",\"app/data/embed_scribe\",\"app/data/oembed\",\"app/data/oembed_scribe\",\"app/ui/drag_state\",\"app/data/notification_listener\",\"app/data/dm_poll\",], function(module, require, exports) {\n    var bootCommon = require(\"app/boot/common\"), topBar = require(\"app/boot/top_bar\"), KeyboardShortcuts = require(\"app/ui/keyboard_shortcuts\"), KeyboardShortcutsDialog = require(\"app/ui/dialogs/keyboard_shortcuts_dialog\"), RetweetDialog = require(\"app/ui/dialogs/retweet_dialog\"), DeleteTweetDialog = require(\"app/ui/dialogs/delete_tweet_dialog\"), BlockUserDialog = require(\"app/ui/dialogs/block_user_dialog\"), ConfirmDialog = require(\"app/ui/dialogs/confirm_dialog\"), ConfirmEmailDialog = require(\"app/ui/dialogs/confirm_email_dialog\"), ListMembershipDialog = require(\"app/ui/dialogs/list_membership_dialog\"), ListOperationsDialog = require(\"app/ui/dialogs/list_operations_dialog\"), directMessages = require(\"app/boot/direct_messages\"), profilePopup = require(\"app/boot/profile_popup\"), TypeaheadData = require(\"app/data/typeahead/typeahead\"), TypeaheadScribe = require(\"app/data/typeahead_scribe\"), GotoUserDialog = require(\"app/ui/dialogs/goto_user_dialog\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\"), PageTitle = require(\"app/ui/page_title\"), NavigationLinks = require(\"app/ui/navigation_links\"), FeedbackDialog = require(\"app/ui/feedback/feedback_dialog\"), FeedbackReportLinkHandler = require(\"app/ui/feedback/feedback_report_link_handler\"), Feedback = require(\"app/data/feedback/feedback\"), SearchQuerySource = require(\"app/ui/search_query_source\"), EmailBanner = require(\"app/ui/banners/email_banner\"), EmailBannerData = require(\"app/data/email_banner\"), Gallery = require(\"app/ui/gallery/gallery\"), GalleryScribe = require(\"app/data/gallery_scribe\"), ShareViaEmailDialog = require(\"app/ui/dialogs/share_via_email_dialog\"), EmbedTweetDialog = require(\"app/ui/dialogs/embed_tweet\"), EmbedScribe = require(\"app/data/embed_scribe\"), OembedData = require(\"app/data/oembed\"), OembedScribe = require(\"app/data/oembed_scribe\"), DragState = require(\"app/ui/drag_state\"), NotificationListener = require(\"app/data/notification_listener\"), DMPoll = require(\"app/data/dm_poll\");\n    module.exports = function(b) {\n        bootCommon(b), topBar(b), PageTitle.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }), NotificationListener.attachTo(JSBNG__document, b, {\n            noTeardown: !0\n        }), DMPoll.attachTo(JSBNG__document, b, {\n            noTeardown: !0\n        }), ((b.dragAndDropPhotoUpload && DragState.attachTo(\"body\"))), SearchQuerySource.attachTo(\"body\", {\n            noTeardown: !0\n        }), ConfirmDialog.attachTo(\"#confirm_dialog\", {\n            noTeardown: !0\n        }), ((b.loggedIn && (ListMembershipDialog.attachTo(\"#list-membership-dialog\", b, {\n            noTeardown: !0\n        }), ListOperationsDialog.attachTo(\"#list-operations-dialog\", b, {\n            noTeardown: !0\n        }), directMessages(b), ((b.hasUserCompletionModule ? ConfirmEmailDialog.attachTo(\"#confirm-email-dialog\", {\n            noTeardown: !0\n        }) : EmailBanner.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }))), EmailBannerData.attachTo(JSBNG__document, {\n            noTeardown: !0\n        })))), TypeaheadScribe.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }), TypeaheadData.attachTo(JSBNG__document, b.typeaheadData, {\n            noTeardown: !0\n        }), GotoUserDialog.attachTo(\"#goto-user-dialog\", b), profilePopup({\n            deviceEnabled: b.deviceEnabled,\n            deviceVerified: b.deviceVerified,\n            formAuthenticityToken: b.formAuthenticityToken,\n            loggedIn: b.loggedIn,\n            asyncSocialProof: b.asyncSocialProof\n        }), GalleryScribe.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }), Gallery.attachTo(\".gallery-container\", b, {\n            noTeardown: !0,\n            sandboxes: b.sandboxes,\n            loggedIn: b.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"gallery\"\n                }\n            }\n        }), OembedScribe.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }), OembedData.attachTo(JSBNG__document, b), KeyboardShortcutsDialog.attachTo(\"#keyboard-shortcut-dialog\", b, {\n            noTeardown: !0\n        }), RetweetDialog.attachTo(\"#retweet-tweet-dialog\", b, {\n            noTeardown: !0\n        }), DeleteTweetDialog.attachTo(\"#delete-tweet-dialog\", b, {\n            noTeardown: !0\n        }), BlockUserDialog.attachTo(\"#block-user-dialog\", b, {\n            noTeardown: !0\n        }), KeyboardShortcuts.attachTo(JSBNG__document, {\n            routes: b.routes,\n            noTeardown: !0\n        }), ShareViaEmailDialog.attachTo(\"#share-via-email-dialog\", b, {\n            noTeardown: !0\n        }), EmbedScribe.attachTo(JSBNG__document, {\n            noTeardown: !0\n        }), EmbedTweetDialog.attachTo(\"#embed-tweet-dialog\", b, {\n            noTeardown: !0\n        }), setupPollingWithBackoff(\"uiWantsToRefreshTimestamps\"), NavigationLinks.attachTo(\".dashboard\", {\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_nav\"\n                }\n            }\n        }), FeedbackDialog.attachTo(\"#feedback_dialog\", b.debugData, {\n            noTeardown: !0\n        }), Feedback.attachTo(JSBNG__document, b.debugData, {\n            noTeardown: !0\n        }), FeedbackReportLinkHandler.attachTo(JSBNG__document, b.debugData, {\n            noTeardown: !0\n        });\n    };\n});\ndefine(\"lib/twitter_cldr\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    (function() {\n        var a, b, c, d;\n        a = {\n        }, a.is_rtl = !1, a.Utilities = function() {\n            function a() {\n            \n            };\n        ;\n            return a.from_char_code = function(a) {\n                return ((((a > 65535)) ? (a -= 65536, String.fromCharCode(((55296 + ((a >> 10)))), ((56320 + ((a & 1023)))))) : String.fromCharCode(a)));\n            }, a.char_code_at = function(a, b) {\n                var c, d, e, f, g, h;\n                a += \"\", d = a.length, h = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n                while (((h.exec(a) !== null))) {\n                    f = h.lastIndex;\n                    if (!((((f - 2)) < b))) {\n                        break;\n                    }\n                ;\n                ;\n                    b += 1;\n                };\n            ;\n                return ((((((b >= d)) || ((b < 0)))) ? NaN : (c = a.charCodeAt(b), ((((((55296 <= c)) && ((c <= 56319)))) ? (e = c, g = a.charCodeAt(((b + 1))), ((((((((e - 55296)) * 1024)) + ((g - 56320)))) + 65536))) : c)))));\n            }, a.unpack_string = function(a) {\n                var b, c, d, e, f;\n                d = [];\n                for (c = e = 0, f = a.length; ((((0 <= f)) ? ((e < f)) : ((e > f)))); c = ((((0 <= f)) ? ++e : --e))) {\n                    b = this.char_code_at(a, c);\n                    if (!b) {\n                        break;\n                    }\n                ;\n                ;\n                    d.push(b);\n                };\n            ;\n                return d;\n            }, a.pack_array = function(a) {\n                var b;\n                return function() {\n                    var c, d, e;\n                    e = [];\n                    for (c = 0, d = a.length; ((c < d)); c++) {\n                        b = a[c], e.push(this.from_char_code(b));\n                    ;\n                    };\n                ;\n                    return e;\n                }.call(this).join(\"\");\n            }, a.arraycopy = function(a, b, c, d, e) {\n                var f, g, h, i, j;\n                j = a.slice(b, ((b + e)));\n                for (f = h = 0, i = j.length; ((h < i)); f = ++h) {\n                    g = j[f], c[((d + f))] = g;\n                ;\n                };\n            ;\n            }, a.max = function(a) {\n                var b, c, d, e, f, g, h, i;\n                d = null;\n                for (e = f = 0, h = a.length; ((f < h)); e = ++f) {\n                    b = a[e];\n                    if (((b != null))) {\n                        d = b;\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                for (c = g = e, i = a.length; ((((e <= i)) ? ((g <= i)) : ((g >= i)))); c = ((((e <= i)) ? ++g : --g))) {\n                    ((((a[c] > d)) && (d = a[c])));\n                ;\n                };\n            ;\n                return d;\n            }, a.min = function(a) {\n                var b, c, d, e, f, g, h, i;\n                d = null;\n                for (e = f = 0, h = a.length; ((f < h)); e = ++f) {\n                    b = a[e];\n                    if (((b != null))) {\n                        d = b;\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                for (c = g = e, i = a.length; ((((e <= i)) ? ((g <= i)) : ((g >= i)))); c = ((((e <= i)) ? ++g : --g))) {\n                    ((((a[c] < d)) && (d = a[c])));\n                ;\n                };\n            ;\n                return d;\n            }, a.is_even = function(a) {\n                return ((((a % 2)) === 0));\n            }, a.is_odd = function(a) {\n                return ((((a % 2)) === 1));\n            }, a;\n        }(), a.PluralRules = function() {\n            function a() {\n            \n            };\n        ;\n            return a.rules = {\n                keys: [\"one\",\"other\",],\n                rule: function(a) {\n                    return function() {\n                        return ((((a == 1)) ? \"one\" : \"other\"));\n                    }();\n                }\n            }, a.all = function() {\n                return this.rules.keys;\n            }, a.rule_for = function(a) {\n                try {\n                    return this.rules.rule(a);\n                } catch (b) {\n                    return \"other\";\n                };\n            ;\n            }, a;\n        }(), a.TimespanFormatter = function() {\n            function b() {\n                this.approximate_multiplier = 333371, this.default_type = \"default\", this.tokens = {\n                    ago: {\n                        second: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" second ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" seconds ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        minute: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minute ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minutes ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        hour: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hour ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hours ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        day: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" day ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" days ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        week: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" week ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" weeks ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        month: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" month ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" months ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        year: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" year ago\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" years ago\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        }\n                    },\n                    until: {\n                        second: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" second\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" seconds\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        minute: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minute\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minutes\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        hour: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hour\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hours\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        day: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" day\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" days\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        week: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" week\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" weeks\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        month: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" month\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" months\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        year: {\n                            \"default\": {\n                                one: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" year\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"In \",\n                                    type: \"plaintext\"\n                                },{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" years\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        }\n                    },\n                    none: {\n                        second: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" second\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" seconds\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" sec\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" secs\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            abbreviated: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"s\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"s\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        minute: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minute\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" minutes\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" min\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" mins\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            abbreviated: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"m\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"m\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        hour: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hour\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hours\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hr\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" hrs\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            abbreviated: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"h\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"h\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        day: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" day\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" days\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" day\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" days\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            abbreviated: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"d\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \"d\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        week: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" week\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" weeks\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" wk\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" wks\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        month: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" month\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" months\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" mth\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" mths\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        },\n                        year: {\n                            \"default\": {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" year\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" years\",\n                                    type: \"plaintext\"\n                                },]\n                            },\n                            short: {\n                                one: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" yr\",\n                                    type: \"plaintext\"\n                                },],\n                                other: [{\n                                    value: \"{0}\",\n                                    type: \"placeholder\"\n                                },{\n                                    value: \" yrs\",\n                                    type: \"plaintext\"\n                                },]\n                            }\n                        }\n                    }\n                }, this.time_in_seconds = {\n                    second: 1,\n                    minute: 60,\n                    hour: 3600,\n                    day: 86400,\n                    week: 604800,\n                    month: 2629743.83,\n                    year: 31556926\n                };\n            };\n        ;\n            return b.prototype.format = function(b, c) {\n                var d, e, f, g, h, i;\n                ((((c == null)) && (c = {\n                }))), g = {\n                };\n                {\n                    var fin79keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin79i = (0);\n                    (0);\n                    for (; (fin79i < fin79keys.length); (fin79i++)) {\n                        ((d) = (fin79keys[fin79i]));\n                        {\n                            f = c[d], g[d] = f;\n                        ;\n                        };\n                    };\n                };\n            ;\n                ((g.direction || (g.direction = ((((b < 0)) ? \"ago\" : \"until\")))));\n                if (((((g.unit === null)) || ((g.unit === void 0))))) {\n                    g.unit = this.calculate_unit(Math.abs(b), g);\n                }\n            ;\n            ;\n                return ((g.type || (g.type = this.default_type))), g.number = this.calculate_time(Math.abs(b), g.unit), e = this.calculate_time(Math.abs(b), g.unit), g.rule = a.PluralRules.rule_for(e), h = function() {\n                    var a, b, c, d;\n                    c = this.tokens[g.direction][g.unit][g.type][g.rule], d = [];\n                    for (a = 0, b = c.length; ((a < b)); a++) {\n                        i = c[a], d.push(i.value);\n                    ;\n                    };\n                ;\n                    return d;\n                }.call(this), h.join(\"\").replace(/\\{[0-9]\\}/, e.toString());\n            }, b.prototype.calculate_unit = function(a, b) {\n                var c, d, e, f;\n                ((((b == null)) && (b = {\n                }))), f = {\n                };\n                {\n                    var fin80keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin80i = (0);\n                    (0);\n                    for (; (fin80i < fin80keys.length); (fin80i++)) {\n                        ((c) = (fin80keys[fin80i]));\n                        {\n                            e = b[c], f[c] = e;\n                        ;\n                        };\n                    };\n                };\n            ;\n                return ((((f.approximate == null)) && (f.approximate = !1))), d = ((f.approximate ? this.approximate_multiplier : 1)), ((((a < ((this.time_in_seconds.minute * d)))) ? \"second\" : ((((a < ((this.time_in_seconds.hour * d)))) ? \"minute\" : ((((a < ((this.time_in_seconds.day * d)))) ? \"hour\" : ((((a < ((this.time_in_seconds.week * d)))) ? \"day\" : ((((a < ((this.time_in_seconds.month * d)))) ? \"week\" : ((((a < ((this.time_in_seconds.year * d)))) ? \"month\" : \"year\"))))))))))));\n            }, b.prototype.calculate_time = function(a, b) {\n                return Math.round(((a / this.time_in_seconds[b])));\n            }, b;\n        }(), a.DateTimeFormatter = function() {\n            function b() {\n                this.tokens = {\n                    date_time: {\n                        \"default\": [{\n                            value: \"MMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },{\n                            value: \",\",\n                            type: \"plaintext\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        full: [{\n                            value: \"EEEE\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"MMMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"'\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"t\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"'\",\n                            type: \"plaintext\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"zzzz\",\n                            type: \"pattern\"\n                        },],\n                        long: [{\n                            value: \"MMMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"'\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"t\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"'\",\n                            type: \"plaintext\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"z\",\n                            type: \"pattern\"\n                        },],\n                        medium: [{\n                            value: \"MMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },{\n                            value: \",\",\n                            type: \"plaintext\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        short: [{\n                            value: \"M\",\n                            type: \"pattern\"\n                        },{\n                            value: \"/\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \"/\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"yy\",\n                            type: \"pattern\"\n                        },{\n                            value: \",\",\n                            type: \"plaintext\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        additional: {\n                            EHm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            EHms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            Ed: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },],\n                            Ehm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Ehms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Gy: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"G\",\n                                type: \"pattern\"\n                            },],\n                            H: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },],\n                            Hm: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            Hms: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            M: [{\n                                value: \"L\",\n                                type: \"pattern\"\n                            },],\n                            MEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMM: [{\n                                value: \"LLL\",\n                                type: \"pattern\"\n                            },],\n                            MMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            Md: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            d: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            h: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hm: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hms: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            ms: [{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            y: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yM: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMM: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMd: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQ: [{\n                                value: \"QQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQQ: [{\n                                value: \"QQQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },]\n                        }\n                    },\n                    time: {\n                        \"default\": [{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        full: [{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"zzzz\",\n                            type: \"pattern\"\n                        },],\n                        long: [{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"z\",\n                            type: \"pattern\"\n                        },],\n                        medium: [{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"ss\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        short: [{\n                            value: \"h\",\n                            type: \"pattern\"\n                        },{\n                            value: \":\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"mm\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"a\",\n                            type: \"pattern\"\n                        },],\n                        additional: {\n                            EHm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            EHms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            Ed: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },],\n                            Ehm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Ehms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Gy: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"G\",\n                                type: \"pattern\"\n                            },],\n                            H: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },],\n                            Hm: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            Hms: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            M: [{\n                                value: \"L\",\n                                type: \"pattern\"\n                            },],\n                            MEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMM: [{\n                                value: \"LLL\",\n                                type: \"pattern\"\n                            },],\n                            MMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            Md: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            d: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            h: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hm: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hms: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            ms: [{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            y: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yM: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMM: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMd: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQ: [{\n                                value: \"QQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQQ: [{\n                                value: \"QQQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },]\n                        }\n                    },\n                    date: {\n                        \"default\": [{\n                            value: \"MMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },],\n                        full: [{\n                            value: \"EEEE\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"MMMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },],\n                        long: [{\n                            value: \"MMMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },],\n                        medium: [{\n                            value: \"MMM\",\n                            type: \"pattern\"\n                        },{\n                            value: \" \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \", \",\n                            type: \"plaintext\"\n                        },{\n                            value: \"y\",\n                            type: \"pattern\"\n                        },],\n                        short: [{\n                            value: \"M\",\n                            type: \"pattern\"\n                        },{\n                            value: \"/\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"d\",\n                            type: \"pattern\"\n                        },{\n                            value: \"/\",\n                            type: \"plaintext\"\n                        },{\n                            value: \"yy\",\n                            type: \"pattern\"\n                        },],\n                        additional: {\n                            EHm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            EHms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            Ed: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },],\n                            Ehm: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Ehms: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            Gy: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"G\",\n                                type: \"pattern\"\n                            },],\n                            H: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },],\n                            Hm: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },],\n                            Hms: [{\n                                value: \"HH\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            M: [{\n                                value: \"L\",\n                                type: \"pattern\"\n                            },],\n                            MEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMM: [{\n                                value: \"LLL\",\n                                type: \"pattern\"\n                            },],\n                            MMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            MMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            Md: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            d: [{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },],\n                            h: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hm: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            hms: [{\n                                value: \"h\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"a\",\n                                type: \"pattern\"\n                            },],\n                            ms: [{\n                                value: \"mm\",\n                                type: \"pattern\"\n                            },{\n                                value: \":\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"ss\",\n                                type: \"pattern\"\n                            },],\n                            y: [{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yM: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMM: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMEd: [{\n                                value: \"E\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMMMd: [{\n                                value: \"MMM\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \", \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yMd: [{\n                                value: \"M\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"d\",\n                                type: \"pattern\"\n                            },{\n                                value: \"/\",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQ: [{\n                                value: \"QQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },],\n                            yQQQQ: [{\n                                value: \"QQQQ\",\n                                type: \"pattern\"\n                            },{\n                                value: \" \",\n                                type: \"plaintext\"\n                            },{\n                                value: \"y\",\n                                type: \"pattern\"\n                            },]\n                        }\n                    }\n                }, this.weekday_keys = [\"sun\",\"mon\",\"tue\",\"wed\",\"thu\",\"fri\",\"sat\",], this.methods = {\n                    G: \"era\",\n                    y: \"year\",\n                    Y: \"year_of_week_of_year\",\n                    Q: \"quarter\",\n                    q: \"quarter_stand_alone\",\n                    M: \"month\",\n                    L: \"month_stand_alone\",\n                    w: \"week_of_year\",\n                    W: \"week_of_month\",\n                    d: \"day\",\n                    D: \"day_of_month\",\n                    F: \"day_of_week_in_month\",\n                    E: \"weekday\",\n                    e: \"weekday_local\",\n                    c: \"weekday_local_stand_alone\",\n                    a: \"period\",\n                    h: \"hour\",\n                    H: \"hour\",\n                    K: \"hour\",\n                    k: \"hour\",\n                    m: \"minute\",\n                    s: \"second\",\n                    S: \"second_fraction\",\n                    z: \"timezone\",\n                    Z: \"timezone\",\n                    v: \"timezone_generic_non_location\",\n                    V: \"timezone_metazone\"\n                };\n            };\n        ;\n            return b.prototype.format = function(a, b) {\n                var c, d, e, f = this;\n                return c = function(b) {\n                    var c;\n                    c = \"\";\n                    switch (b.type) {\n                      case \"pattern\":\n                        return f.result_for_token(b, a);\n                      default:\n                        return ((((((((b.value.length > 0)) && ((b.value[0] === \"'\")))) && ((b.value[((b.value.length - 1))] === \"'\")))) ? b.value.substring(1, ((b.value.length - 1))) : b.value));\n                    };\n                ;\n                }, e = this.get_tokens(a, b), function() {\n                    var a, b, f;\n                    f = [];\n                    for (a = 0, b = e.length; ((a < b)); a++) {\n                        d = e[a], f.push(c(d));\n                    ;\n                    };\n                ;\n                    return f;\n                }().join(\"\");\n            }, b.prototype.get_tokens = function(a, b) {\n                var c, d;\n                return c = ((b.format || \"date_time\")), d = ((b.type || \"default\")), ((((c === \"additional\")) ? this.tokens.date_time[c][this.additional_format_selector().find_closest(b.type)] : this.tokens[c][d]));\n            }, b.prototype.result_for_token = function(a, b) {\n                return this[this.methods[a.value[0]]](b, a.value, a.value.length);\n            }, b.prototype.additional_format_selector = function() {\n                return new a.AdditionalDateFormatSelector(this.tokens.date_time.additional);\n            }, b.additional_formats = function() {\n                return (new a.DateTimeFormatter).additional_format_selector().patterns();\n            }, b.prototype.era = function(b, c, d) {\n                var e, f, g;\n                switch (d) {\n                  case 0:\n                    e = [\"\",\"\",];\n                    break;\n                  case 1:\n                \n                  case 2:\n                \n                  case 3:\n                    e = a.Calendar.calendar.eras.abbr;\n                    break;\n                  default:\n                    e = a.Calendar.calendar.eras.JSBNG__name;\n                };\n            ;\n                return f = ((((b.getFullYear() < 0)) ? 0 : 1)), g = e[f], ((((g != null)) ? g : this.era(b, c.slice(0, -1), ((d - 1)))));\n            }, b.prototype.year = function(a, b, c) {\n                var d;\n                return d = a.getFullYear().toString(), ((((((c === 2)) && ((d.length !== 1)))) && (d = d.slice(-2)))), ((((c > 1)) && (d = ((\"0000\" + d)).slice(-c)))), d;\n            }, b.prototype.year_of_week_of_year = function(a, b, c) {\n                throw \"not implemented\";\n            }, b.prototype.day_of_week_in_month = function(a, b, c) {\n                throw \"not implemented\";\n            }, b.prototype.quarter = function(b, c, d) {\n                var e;\n                e = ((((((b.getMonth() / 3)) | 0)) + 1));\n                switch (d) {\n                  case 1:\n                    return e.toString();\n                  case 2:\n                    return ((\"0000\" + e.toString())).slice(-d);\n                  case 3:\n                    return a.Calendar.calendar.quarters.format.abbreviated[e];\n                  case 4:\n                    return a.Calendar.calendar.quarters.format.wide[e];\n                };\n            ;\n            }, b.prototype.quarter_stand_alone = function(b, c, d) {\n                var e;\n                e = ((((((b.getMonth() - 1)) / 3)) + 1));\n                switch (d) {\n                  case 1:\n                    return e.toString();\n                  case 2:\n                    return ((\"0000\" + e.toString())).slice(-d);\n                  case 3:\n                    throw \"not yet implemented (requires cldr's \\\"multiple inheritance\\\")\";\n                  case 4:\n                    throw \"not yet implemented (requires cldr's \\\"multiple inheritance\\\")\";\n                  case 5:\n                    return a.Calendar.calendar.quarters[\"stand-alone\"].narrow[e];\n                };\n            ;\n            }, b.prototype.month = function(b, c, d) {\n                var e;\n                e = ((b.getMonth() + 1)).toString();\n                switch (d) {\n                  case 1:\n                    return e;\n                  case 2:\n                    return ((\"0000\" + e)).slice(-d);\n                  case 3:\n                    return a.Calendar.calendar.months.format.abbreviated[e];\n                  case 4:\n                    return a.Calendar.calendar.months.format.wide[e];\n                  case 5:\n                    throw \"not yet implemented (requires cldr's \\\"multiple inheritance\\\")\";\n                  default:\n                    throw \"Unknown date format\";\n                };\n            ;\n            }, b.prototype.month_stand_alone = function(b, c, d) {\n                var e;\n                e = ((b.getMonth() + 1)).toString();\n                switch (d) {\n                  case 1:\n                    return e;\n                  case 2:\n                    return ((\"0000\" + e)).slice(-d);\n                  case 3:\n                    return a.Calendar.calendar.months[\"stand-alone\"].abbreviated[e];\n                  case 4:\n                    return a.Calendar.calendar.months[\"stand-alone\"].wide[e];\n                  case 5:\n                    return a.Calendar.calendar.months[\"stand-alone\"].narrow[e];\n                  default:\n                    throw \"Unknown date format\";\n                };\n            ;\n            }, b.prototype.day = function(a, b, c) {\n                switch (c) {\n                  case 1:\n                    return a.getDate().toString();\n                  case 2:\n                    return ((\"0000\" + a.getDate().toString())).slice(-c);\n                };\n            ;\n            }, b.prototype.weekday = function(b, c, d) {\n                var e;\n                e = this.weekday_keys[b.getDay()];\n                switch (d) {\n                  case 1:\n                \n                  case 2:\n                \n                  case 3:\n                    return a.Calendar.calendar.days.format.abbreviated[e];\n                  case 4:\n                    return a.Calendar.calendar.days.format.wide[e];\n                  case 5:\n                    return a.Calendar.calendar.days[\"stand-alone\"].narrow[e];\n                };\n            ;\n            }, b.prototype.weekday_local = function(a, b, c) {\n                var d;\n                switch (c) {\n                  case 1:\n                \n                  case 2:\n                    return d = a.getDay(), ((((d === 0)) ? \"7\" : d.toString()));\n                  default:\n                    return this.weekday(a, b, c);\n                };\n            ;\n            }, b.prototype.weekday_local_stand_alone = function(a, b, c) {\n                switch (c) {\n                  case 1:\n                    return this.weekday_local(a, b, c);\n                  default:\n                    return this.weekday(a, b, c);\n                };\n            ;\n            }, b.prototype.period = function(b, c, d) {\n                return ((((b.getHours() > 11)) ? a.Calendar.calendar.periods.format.wide.pm : a.Calendar.calendar.periods.format.wide.am));\n            }, b.prototype.hour = function(a, b, c) {\n                var d;\n                d = a.getHours();\n                switch (b[0]) {\n                  case \"h\":\n                    ((((d > 12)) ? d -= 12 : ((((d === 0)) && (d = 12)))));\n                    break;\n                  case \"K\":\n                    ((((d > 11)) && (d -= 12)));\n                    break;\n                  case \"k\":\n                    ((((d === 0)) && (d = 24)));\n                };\n            ;\n                return ((((c === 1)) ? d.toString() : ((\"000000\" + d.toString())).slice(-c)));\n            }, b.prototype.minute = function(a, b, c) {\n                return ((((c === 1)) ? a.getMinutes().toString() : ((\"000000\" + a.getMinutes().toString())).slice(-c)));\n            }, b.prototype.second = function(a, b, c) {\n                return ((((c === 1)) ? a.getSeconds().toString() : ((\"000000\" + a.getSeconds().toString())).slice(-c)));\n            }, b.prototype.second_fraction = function(a, b, c) {\n                if (((c > 6))) {\n                    throw \"can not use the S format with more than 6 digits\";\n                }\n            ;\n            ;\n                return ((\"000000\" + Math.round(Math.pow(((a.getMilliseconds() * 100)), ((6 - c)))).toString())).slice(-c);\n            }, b.prototype.timezone = function(a, b, c) {\n                var d, e, f, g, h;\n                f = a.getTimezoneOffset(), d = ((\"00\" + ((Math.abs(f) / 60)).toString())).slice(-2), e = ((\"00\" + ((Math.abs(f) % 60)).toString())).slice(-2), h = ((((f > 0)) ? \"-\" : \"+\")), g = ((((((h + d)) + \":\")) + e));\n                switch (c) {\n                  case 1:\n                \n                  case 2:\n                \n                  case 3:\n                    return g;\n                  default:\n                    return ((\"UTC\" + g));\n                };\n            ;\n            }, b.prototype.timezone_generic_non_location = function(a, b, c) {\n                throw \"not yet implemented (requires timezone translation data\\\")\";\n            }, b;\n        }(), a.AdditionalDateFormatSelector = function() {\n            function a(a) {\n                this.pattern_hash = a;\n            };\n        ;\n            return a.prototype.find_closest = function(a) {\n                var b, c, d, e, f;\n                if (((((a == null)) || ((a.trim().length === 0))))) {\n                    return null;\n                }\n            ;\n            ;\n                f = this.rank(a), d = 100, c = null;\n                {\n                    var fin81keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin81i = (0);\n                    (0);\n                    for (; (fin81i < fin81keys.length); (fin81i++)) {\n                        ((b) = (fin81keys[fin81i]));\n                        {\n                            e = f[b], ((((e < d)) && (d = e, c = b)));\n                        ;\n                        };\n                    };\n                };\n            ;\n                return c;\n            }, a.prototype.patterns = function() {\n                var a, b;\n                b = [];\n                {\n                    var fin82keys = ((window.top.JSBNG_Replay.forInKeys)((this.pattern_hash))), fin82i = (0);\n                    (0);\n                    for (; (fin82i < fin82keys.length); (fin82i++)) {\n                        ((a) = (fin82keys[fin82i]));\n                        {\n                            b.push(a);\n                        ;\n                        };\n                    };\n                };\n            ;\n                return b;\n            }, a.prototype.separate = function(a) {\n                var b, c, d, e, f;\n                c = \"\", d = [];\n                for (e = 0, f = a.length; ((e < f)); e++) {\n                    b = a[e], ((((b === c)) ? d[((d.length - 1))] += b : d.push(b))), c = b;\n                ;\n                };\n            ;\n                return d;\n            }, a.prototype.all_separated_patterns = function() {\n                var a, b;\n                b = [];\n                {\n                    var fin83keys = ((window.top.JSBNG_Replay.forInKeys)((this.pattern_hash))), fin83i = (0);\n                    (0);\n                    for (; (fin83i < fin83keys.length); (fin83i++)) {\n                        ((a) = (fin83keys[fin83i]));\n                        {\n                            b.push(this.separate(a));\n                        ;\n                        };\n                    };\n                };\n            ;\n                return b;\n            }, a.prototype.score = function(a, b) {\n                var c;\n                return c = ((this.exist_score(a, b) * 2)), c += this.position_score(a, b), ((c + this.count_score(a, b)));\n            }, a.prototype.position_score = function(a, b) {\n                var c, d, e, f;\n                f = 0;\n                {\n                    var fin84keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin84i = (0);\n                    (0);\n                    for (; (fin84i < fin84keys.length); (fin84i++)) {\n                        ((e) = (fin84keys[fin84i]));\n                        {\n                            d = b[e], c = a.indexOf(d), ((((c > -1)) && (f += Math.abs(((c - e))))));\n                        ;\n                        };\n                    };\n                };\n            ;\n                return f;\n            }, a.prototype.exist_score = function(a, b) {\n                var c, d, e, f, g;\n                c = 0;\n                for (f = 0, g = b.length; ((f < g)); f++) {\n                    e = b[f], ((((function() {\n                        var b, c, f;\n                        f = [];\n                        for (b = 0, c = a.length; ((b < c)); b++) {\n                            d = a[b], ((((d[0] === e[0])) && f.push(d)));\n                        ;\n                        };\n                    ;\n                        return f;\n                    }().length > 0)) || (c += 1)));\n                ;\n                };\n            ;\n                return c;\n            }, a.prototype.count_score = function(a, b) {\n                var c, d, e, f, g, h;\n                f = 0;\n                for (g = 0, h = b.length; ((g < h)); g++) {\n                    e = b[g], d = function() {\n                        var b, d, f;\n                        f = [];\n                        for (b = 0, d = a.length; ((b < d)); b++) {\n                            c = a[b], ((((c[0] === e[0])) && f.push(c)));\n                        ;\n                        };\n                    ;\n                        return f;\n                    }()[0], ((((d != null)) && (f += Math.abs(((d.length - e.length))))));\n                ;\n                };\n            ;\n                return f;\n            }, a.prototype.rank = function(a) {\n                var b, c, d, e, f, g;\n                c = this.separate(a), b = {\n                }, g = this.all_separated_patterns();\n                for (e = 0, f = g.length; ((e < f)); e++) {\n                    d = g[e], b[d.join(\"\")] = this.score(d, c);\n                ;\n                };\n            ;\n                return b;\n            }, a;\n        }(), a.Calendar = function() {\n            function a() {\n            \n            };\n        ;\n            return a.calendar = {\n                additional_formats: {\n                    EHm: \"E HH:mm\",\n                    EHms: \"E HH:mm:ss\",\n                    Ed: \"d E\",\n                    Ehm: \"E h:mm a\",\n                    Ehms: \"E h:mm:ss a\",\n                    Gy: \"y G\",\n                    H: \"HH\",\n                    Hm: \"HH:mm\",\n                    Hms: \"HH:mm:ss\",\n                    M: \"L\",\n                    MEd: \"E, M/d\",\n                    MMM: \"LLL\",\n                    MMMEd: \"E, MMM d\",\n                    MMMd: \"MMM d\",\n                    Md: \"M/d\",\n                    d: \"d\",\n                    h: \"h a\",\n                    hm: \"h:mm a\",\n                    hms: \"h:mm:ss a\",\n                    ms: \"mm:ss\",\n                    y: \"y\",\n                    yM: \"M/y\",\n                    yMEd: \"E, M/d/y\",\n                    yMMM: \"MMM y\",\n                    yMMMEd: \"E, MMM d, y\",\n                    yMMMd: \"MMM d, y\",\n                    yMd: \"M/d/y\",\n                    yQQQ: \"QQQ y\",\n                    yQQQQ: \"QQQQ y\"\n                },\n                days: {\n                    format: {\n                        abbreviated: {\n                            fri: \"Fri\",\n                            mon: \"Mon\",\n                            sat: \"Sat\",\n                            sun: \"Sun\",\n                            thu: \"Thu\",\n                            tue: \"Tue\",\n                            wed: \"Wed\"\n                        },\n                        narrow: {\n                            fri: \"F\",\n                            mon: \"M\",\n                            sat: \"S\",\n                            sun: \"S\",\n                            thu: \"T\",\n                            tue: \"T\",\n                            wed: \"W\"\n                        },\n                        short: {\n                            fri: \"Fr\",\n                            mon: \"Mo\",\n                            sat: \"Sa\",\n                            sun: \"Su\",\n                            thu: \"Th\",\n                            tue: \"Tu\",\n                            wed: \"We\"\n                        },\n                        wide: {\n                            fri: \"Friday\",\n                            mon: \"Monday\",\n                            sat: \"Saturday\",\n                            sun: \"Sunday\",\n                            thu: \"Thursday\",\n                            tue: \"Tuesday\",\n                            wed: \"Wednesday\"\n                        }\n                    },\n                    \"stand-alone\": {\n                        abbreviated: {\n                            fri: \"Fri\",\n                            mon: \"Mon\",\n                            sat: \"Sat\",\n                            sun: \"Sun\",\n                            thu: \"Thu\",\n                            tue: \"Tue\",\n                            wed: \"Wed\"\n                        },\n                        narrow: {\n                            fri: \"F\",\n                            mon: \"M\",\n                            sat: \"S\",\n                            sun: \"S\",\n                            thu: \"T\",\n                            tue: \"T\",\n                            wed: \"W\"\n                        },\n                        short: {\n                            fri: \"Fr\",\n                            mon: \"Mo\",\n                            sat: \"Sa\",\n                            sun: \"Su\",\n                            thu: \"Th\",\n                            tue: \"Tu\",\n                            wed: \"We\"\n                        },\n                        wide: {\n                            fri: \"Friday\",\n                            mon: \"Monday\",\n                            sat: \"Saturday\",\n                            sun: \"Sunday\",\n                            thu: \"Thursday\",\n                            tue: \"Tuesday\",\n                            wed: \"Wednesday\"\n                        }\n                    }\n                },\n                eras: {\n                    abbr: {\n                        0: \"BC\",\n                        1: \"AD\"\n                    },\n                    JSBNG__name: {\n                        0: \"Before Christ\",\n                        1: \"Anno Domini\"\n                    },\n                    narrow: {\n                        0: \"B\",\n                        1: \"A\"\n                    }\n                },\n                fields: {\n                    day: \"Day\",\n                    dayperiod: \"AM/PM\",\n                    era: \"Era\",\n                    hour: \"Hour\",\n                    minute: \"Minute\",\n                    month: \"Month\",\n                    second: \"Second\",\n                    week: \"Week\",\n                    weekday: \"Day of the Week\",\n                    year: \"Year\",\n                    zone: \"Time Zone\"\n                },\n                formats: {\n                    date: {\n                        \"default\": {\n                            pattern: \"MMM d, y\"\n                        },\n                        full: {\n                            pattern: \"EEEE, MMMM d, y\"\n                        },\n                        long: {\n                            pattern: \"MMMM d, y\"\n                        },\n                        medium: {\n                            pattern: \"MMM d, y\"\n                        },\n                        short: {\n                            pattern: \"M/d/yy\"\n                        }\n                    },\n                    datetime: {\n                        \"default\": {\n                            pattern: \"{{date}}, {{time}}\"\n                        },\n                        full: {\n                            pattern: \"{{date}} 'at' {{time}}\"\n                        },\n                        long: {\n                            pattern: \"{{date}} 'at' {{time}}\"\n                        },\n                        medium: {\n                            pattern: \"{{date}}, {{time}}\"\n                        },\n                        short: {\n                            pattern: \"{{date}}, {{time}}\"\n                        }\n                    },\n                    time: {\n                        \"default\": {\n                            pattern: \"h:mm:ss a\"\n                        },\n                        full: {\n                            pattern: \"h:mm:ss a zzzz\"\n                        },\n                        long: {\n                            pattern: \"h:mm:ss a z\"\n                        },\n                        medium: {\n                            pattern: \"h:mm:ss a\"\n                        },\n                        short: {\n                            pattern: \"h:mm a\"\n                        }\n                    }\n                },\n                months: {\n                    format: {\n                        abbreviated: {\n                            1: \"Jan\",\n                            10: \"Oct\",\n                            11: \"Nov\",\n                            12: \"Dec\",\n                            2: \"Feb\",\n                            3: \"Mar\",\n                            4: \"Apr\",\n                            5: \"May\",\n                            6: \"Jun\",\n                            7: \"Jul\",\n                            8: \"Aug\",\n                            9: \"Sep\"\n                        },\n                        narrow: {\n                            1: \"J\",\n                            10: \"O\",\n                            11: \"N\",\n                            12: \"D\",\n                            2: \"F\",\n                            3: \"M\",\n                            4: \"A\",\n                            5: \"M\",\n                            6: \"J\",\n                            7: \"J\",\n                            8: \"A\",\n                            9: \"S\"\n                        },\n                        wide: {\n                            1: \"January\",\n                            10: \"October\",\n                            11: \"November\",\n                            12: \"December\",\n                            2: \"February\",\n                            3: \"March\",\n                            4: \"April\",\n                            5: \"May\",\n                            6: \"June\",\n                            7: \"July\",\n                            8: \"August\",\n                            9: \"September\"\n                        }\n                    },\n                    \"stand-alone\": {\n                        abbreviated: {\n                            1: \"Jan\",\n                            10: \"Oct\",\n                            11: \"Nov\",\n                            12: \"Dec\",\n                            2: \"Feb\",\n                            3: \"Mar\",\n                            4: \"Apr\",\n                            5: \"May\",\n                            6: \"Jun\",\n                            7: \"Jul\",\n                            8: \"Aug\",\n                            9: \"Sep\"\n                        },\n                        narrow: {\n                            1: \"J\",\n                            10: \"O\",\n                            11: \"N\",\n                            12: \"D\",\n                            2: \"F\",\n                            3: \"M\",\n                            4: \"A\",\n                            5: \"M\",\n                            6: \"J\",\n                            7: \"J\",\n                            8: \"A\",\n                            9: \"S\"\n                        },\n                        wide: {\n                            1: \"January\",\n                            10: \"October\",\n                            11: \"November\",\n                            12: \"December\",\n                            2: \"February\",\n                            3: \"March\",\n                            4: \"April\",\n                            5: \"May\",\n                            6: \"June\",\n                            7: \"July\",\n                            8: \"August\",\n                            9: \"September\"\n                        }\n                    }\n                },\n                periods: {\n                    format: {\n                        abbreviated: null,\n                        narrow: {\n                            am: \"a\",\n                            noon: \"n\",\n                            pm: \"p\"\n                        },\n                        wide: {\n                            am: \"a.m.\",\n                            noon: \"noon\",\n                            pm: \"p.m.\"\n                        }\n                    },\n                    \"stand-alone\": {\n                    }\n                },\n                quarters: {\n                    format: {\n                        abbreviated: {\n                            1: \"Q1\",\n                            2: \"Q2\",\n                            3: \"Q3\",\n                            4: \"Q4\"\n                        },\n                        narrow: {\n                            1: 1,\n                            2: 2,\n                            3: 3,\n                            4: 4\n                        },\n                        wide: {\n                            1: \"1st quarter\",\n                            2: \"2nd quarter\",\n                            3: \"3rd quarter\",\n                            4: \"4th quarter\"\n                        }\n                    },\n                    \"stand-alone\": {\n                        abbreviated: {\n                            1: \"Q1\",\n                            2: \"Q2\",\n                            3: \"Q3\",\n                            4: \"Q4\"\n                        },\n                        narrow: {\n                            1: 1,\n                            2: 2,\n                            3: 3,\n                            4: 4\n                        },\n                        wide: {\n                            1: \"1st quarter\",\n                            2: \"2nd quarter\",\n                            3: \"3rd quarter\",\n                            4: \"4th quarter\"\n                        }\n                    }\n                }\n            }, a.months = function(a) {\n                var b, c, d, e;\n                ((((a == null)) && (a = {\n                }))), d = this.get_root(\"months\", a), c = [];\n                {\n                    var fin85keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin85i = (0);\n                    (0);\n                    for (; (fin85i < fin85keys.length); (fin85i++)) {\n                        ((b) = (fin85keys[fin85i]));\n                        {\n                            e = d[b], c[((parseInt(b) - 1))] = e;\n                        ;\n                        };\n                    };\n                };\n            ;\n                return c;\n            }, a.weekdays = function(a) {\n                return ((((a == null)) && (a = {\n                }))), this.get_root(\"days\", a);\n            }, a.get_root = function(a, b) {\n                var c, d, e, f;\n                return ((((b == null)) && (b = {\n                }))), e = this.calendar[a], d = ((b.names_form || \"wide\")), c = ((b.format || ((((((((e != null)) ? (((((f = e[\"stand-alone\"]) != null)) ? f[d] : void 0)) : void 0)) != null)) ? \"stand-alone\" : \"format\")))), e[c][d];\n            }, a;\n        }(), d = ((((((typeof exports != \"undefined\")) && ((exports !== null)))) ? exports : (this.TwitterCldr = {\n        }, this.TwitterCldr)));\n        {\n            var fin86keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin86i = (0);\n            (0);\n            for (; (fin86i < fin86keys.length); (fin86i++)) {\n                ((b) = (fin86keys[fin86i]));\n                {\n                    c = a[b], d[b] = c;\n                ;\n                };\n            };\n        };\n    ;\n    }).call(this);\n});");
+// 11423
+cb(); return null; }
+finalize(); })();