代码空间


摘要(Abstract)

通过使用阿里云的RAM(Resource Access Management)服务,您可以将您云账号下RDS资源的访问及管理权限授予RAM中的子用户。 目前,可以在RAM中进行授权的资源类型只有dbinstance。在通过RAM进行授权时,资源的描述方式如下: 当子用户通过API访问RDS时,RDS后台会向RAM进行权限检查,以确保调用者拥有相应权限。每个API会根据涉及到的资源以及API的语义来确定需要检查哪些资源的权限。每个API的鉴权规则如下表所示: sts权限 加入收藏 上面章节只用到了 RAM 的子账号功能,这些子账号都是可以长期正常使用的,发生泄露后如果无法及时解除权限,会非常危险。 当开发者的 app 被用户使用之后,用户的数据要写入 ram-test-dev 这个实例。当 app 的用户数据很多时,要求能够安全地授权给众多的 app 用户上传数据,并且保证多个用户之间存储的隔离。 类似这种场景需要临时访问权限,应该使用 STS 来完成。STS 可以指定复杂的策略来对特定的用户进行限制,仅提供最小的权限。 创建角色 创建一个名为 ram_test_app 的子账号,不需要赋予任何权限,因为在扮演角色的时候会自动获得被扮演角色的所有权限。有关创建RAM用户更多详情,请参见使用示例中的步骤1至步骤7。 创建两个角色,RamTestAppReadOnly 和 RamTestAppWrite。一个用于读取等操作,一个用于上传文件的操作。 登录RAM 控制台。 选择角色管理 > 新建角色。 选择角色类型。这里选择用户角色。 填写类型信息。因为角色是被阿里云账号使用过的,因此选择默认的即可。然后单击下一步。 配置角色基本信息。本实例中角色名称填写 RamTestAppReadOnly,然后单击创建。 完成角色创建后,单击关闭。 创建完角色之后,角色是没有任何权限的,因此需要新建一个自定义的授权策略。 选择策略管理 > 新建授权策略。 选择空白模板。 填写授权策略名称。该示例中填写ram-test-app-readonly,策略内容填写如下:


主题(Topic)

项目(Project)
anasedreesi/listFilterOnKeyUp silexcorp/Ale liuxueliol/0327lianxi jboeke/webforms-submit-poc ianaya89/vue-esc jaywcjlove/react-hotkeys WaiChungWong/jw-keyboard " + h.category + ""); f = h.category } g._renderItem(c, h) }); e = { link: "/search/?q=" + this.term }; $("
  • ").data("item.autocomplete", e).append("
    Search for " + this.term + "").appendTo(c) } }); var b = $("#query").catcomplete({ source: function(c, e) { Tagging.getFriends(c, function(g) { var f = g; if (myboards) { f = tagmate.filter_options(myboards, c.term); f = g.concat(f) } for (g = 0; g < f.length; g++) f[g].value = f[g].label; e(f) }) }, minLength: 1, delay: 0, appendTo: "#SearchAutocompleteHolder", select: function(c, e) { document.location.href = e.item.link } }); if (typeof b.data("catcomplete") != "undefined") b.data("catcomplete")._renderItem = function(c, e) { var g = "Photo of " + e.label + "" + e.label + ""; return $("
  • ").data("item.autocomplete", e).append(g).appendTo(c) }; $("#query").defaultValue($("#query").attr("placeholder"), "default_value"); $("#Search #query_button").click(function() { $("#Search form").submit(); return false }); $("body").on("click", "a[rel=nofollow]", function(c) { var e = $(this).attr("href"); if (e === "#") return c.isDefaultPrevented(); if (!e.match(/^(http|https):\/\//) || e.match(/(http:\/\/|https:\/\/|\.)pinterest\.com\//gi) || $(this).hasClass("safelink")) return true; c = (c = $(this).parents(".pin").attr("data-id") || $(this).parents(".pin").attr("pin-id") || $(this).attr("data-id")) ? "&pin=" + c: ""; var g = $(this).parents(".comment").attr("comment-id"); g = g ? "&comment_id=" + g: ""; var f = (new jsSHA(getCookie("csrftoken"), "ASCII")).getHash("HEX"); window.open("//" + window.location.host + "/offsite/?url=" + encodeURIComponent(e) + "&shatoken=" + f + c + g); return false }) }); Twitter = new(function() { var b = this; this.startTwitterConnect = function() { b._twitterWindow = window.open("/connect/twitter/", "Pinterest", "location=0,status=0,width=800,height=400"); b._twitterInterval = window.setInterval(b.completeTwitterConnect, 1E3) }; this.completeTwitterConnect = function() { if (b._twitterWindow.closed) { window.clearInterval(b._twitterInterval); window.location.reload() } } }); Facebook = new(function() { var b = this; this.startFacebookConnect = function(c, e, g, f) { g = g == undefined ? true: g; var d = "/connect/facebook/", h = "?"; if (c) { d += h + "scope=" + c; h = "&" } if (e) { d += h + "enable_timeline=1"; h = "&" } if (f) d += h + "ref_page=" + f; b._facebookWindow = window.open(d, "Pinterest", "location=0,status=0,width=800,height=400"); if (g) b._facebookInterval = window.setInterval(this.completeFacebookConnect, 1E3) }; this.completeFacebookConnect = function() { if (b._facebookWindow.closed) { window.clearInterval(b._facebookInterval); window.location.reload() } } }); Google = new(function() { var b = this; this.startGoogleConnect = function() { b._googleWindow = window.open("/connect/google/", "Google", "location=0,status=0,width=800,height=400"); b._googleInterval = window.setInterval(b.completeGoogleConnect, 1E3) }; this.completeGoogleConnect = function() { if (b._googleWindow.closed) { window.clearInterval(b._googleInterval); window.location.reload() } } }); Yahoo = new(function() { var b = this; this.startYahooConnect = function() { b._yahooWindow = window.open("/connect/yahoo/", "Yahoo", "location=0,status=0,width=800,height=400"); b._yahooInterval = window.setInterval(b.completeYahooConnect, 1E3) }; this.completeYahooConnect = function() { if (b._yahooWindow.closed) { window.clearInterval(b._yahooInterval); window.location.reload() } } }); (function(b) { function c(g) { return typeof g == "object" ? g: { top: g, left: g } } var e = b.scrollTo = function(g, f, d) { b(window).scrollTo(g, f, d) }; e.defaults = { axis: "xy", duration: parseFloat(b.fn.jquery) >= 1.3 ? 0 : 1 }; e.window = function() { return b(window)._scrollable() }; b.fn._scrollable = function() { return this.map(function() { var g = this; if (! (!g.nodeName || b.inArray(g.nodeName.toLowerCase(), ["iframe", "#document", "html", "body"]) != -1)) return g; g = (g.contentWindow || g).document || g.ownerDocument || g; return b.browser.safari || g.compatMode == "BackCompat" ? g.body: g.documentElement }) }; b.fn.scrollTo = function(g, f, d) { if (typeof f == "object") { d = f; f = 0 } if (typeof d == "function") d = { onAfter: d }; if (g == "max") g = 9E9; d = b.extend({}, e.defaults, d); f = f || d.speed || d.duration; d.queue = d.queue && d.axis.length > 1; if (d.queue) f /= 2; d.offset = c(d.offset); d.over = c(d.over); return this._scrollable().each(function() { function h(m) { k.animate(u, f, d.easing, m && function() { m.call(this, g, d) }) } var j = this, k = b(j), l = g, r, u = {}, o = k.is("html,body"); switch (typeof l) { case "number": case "string": if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(l)) { l = c(l); break } l = b(l, this); case "object": if (l.is || l.style) r = (l = b(l)).offset() } b.each(d.axis.split(""), function(m, q) { var v = q == "x" ? "Left": "Top", w = v.toLowerCase(), B = "scroll" + v, D = j[B], I = e.max(j, q); if (r) { u[B] = r[w] + (o ? 0 : D - k.offset()[w]); if (d.margin) { u[B] -= parseInt(l.css("margin" + v)) || 0; u[B] -= parseInt(l.css("border" + v + "Width")) || 0 } u[B] += d.offset[w] || 0; if (d.over[w]) u[B] += l[q == "x" ? "width": "height"]() * d.over[w] } else { q = l[w]; u[B] = q.slice && q.slice( - 1) == "%" ? parseFloat(q) / 100 * I: q } if (/^\d+$/.test(u[B])) u[B] = u[B] <= 0 ? 0 : Math.min(u[B], I); if (!m && d.queue) { D != u[B] && h(d.onAfterFirst); delete u[B] } }); h(d.onAfter) }).end() }; e.max = function(g, f) { var d = f == "x" ? "Width": "Height"; f = "scroll" + d; if (!b(g).is("html,body")) return g[f] - b(g)[d.toLowerCase()](); d = "client" + d; var h = g.ownerDocument.documentElement; g = g.ownerDocument.body; return Math.max(h[f], g[f]) - Math.min(h[d], g[d]) } })(jQuery); (function() { jQuery.each({ getSelection: function() { var b = this.jquery ? this[0] : this; return ("selectionStart" in b && function() { var c = b.selectionEnd - b.selectionStart; return { start: b.selectionStart, end: b.selectionEnd, length: c, text: b.value.substr(b.selectionStart, c) } } || document.selection && function() { b.focus(); var c = document.selection.createRange(); if (c == null) return { start: 0, end: b.value.length, length: 0 }; var e = b.createTextRange(), g = e.duplicate(); e.moveToBookmark(c.getBookmark()); g.setEndPoint("EndToStart", e); var f = g.text.length, d = f; for (e = 0; e < f; e++) g.text.charCodeAt(e) == 13 && d--; f = g = c.text.length; for (e = 0; e < g; e++) c.text.charCodeAt(e) == 13 && f--; return { start: d, end: d + f, length: f, text: c.text } } || function() { return { start: 0, end: b.value.length, length: 0 } })() }, setSelection: function(b, c) { var e = this.jquery ? this[0] : this, g = b || 0, f = c || 0; return ("selectionStart" in e && function() { e.focus(); e.selectionStart = g; e.selectionEnd = f; return this } || document.selection && function() { e.focus(); var d = e.createTextRange(), h = g; for (i = 0; i < h; i++) if (e.value[i].search(/[\r\n]/) != -1) g -= 0.5; h = f; for (i = 0; i < h; i++) if (e.value[i].search(/[\r\n]/) != -1) f -= 0.5; d.moveEnd("textedit", -1); d.moveStart("character", g); d.moveEnd("character", f - g); d.select(); return this } || function() { return this })() }, replaceSelection: function(b) { var c = this.jquery ? this[0] : this, e = b || ""; return ("selectionStart" in c && function() { c.value = c.value.substr(0, c.selectionStart) + e + c.value.substr(c.selectionEnd, c.value.length); return this } || document.selection && function() { c.focus(); document.selection.createRange().text = e; return this } || function() { c.value += e; return this })() } }, function(b) { jQuery.fn[b] = this }) })(); var tagmate = tagmate || { USER_TAG_EXPR: "@\\w+(?: \\w*)?", HASH_TAG_EXPR: "#\\w+", USD_TAG_EXPR: "\\$(?:(?:\\d{1,3}(?:\\,\\d{3})+)|(?:\\d+))(?:\\.\\d{2})?", GBP_TAG_EXPR: "\\\u00a3(?:(?:\\d{1,3}(?:\\,\\d{3})+)|(?:\\d+))(?:\\.\\d{2})?", filter_options: function(b, c) { for (var e = [], g = 0; g < b.length; g++) { var f = b[g].label.toLowerCase(), d = c.toLowerCase(); d.length <= f.length && f.indexOf(d) == 0 && e.push(b[g]) } return e }, sort_options: function(b) { return b.sort(function(c, e) { c = c.label.toLowerCase(); e = e.label.toLowerCase(); if (c > e) return 1; else if (c < e) return - 1; return 0 }) } }; (function(b) { function c(d, h, j) { d = d.substring(j || 0).search(h); return d >= 0 ? d + (j || 0) : d } function e(d) { return d.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") } function g(d, h, j) { var k = {}; for (tok in h) if (j && j[tok]) { var l = {}, r = {}; for (key in j[tok]) { var u = j[tok][key].value, o = j[tok][key].label, m = e(tok + o), q = ["(?:^(", ")$|^(", ")\\W|\\W(", ")\\W|\\W(", ")$)"].join(m), v = 0; for (q = new RegExp(q, "gm"); (v = c(d.val(), q, v)) > -1;) { var w = r[v] ? r[v] : null; if (!w || l[w].length < o.length) r[v] = u; l[u] = o; v += o.length + 1 } } for (v in r) k[tok + r[v]] = tok } else { l = null; for (q = new RegExp("(" + h[tok] + ")", "gm"); l = q.exec(d.val());) k[l[1]] = tok } d = []; for (m in k) d.push(m); return d } var f = { "@": tagmate.USER_TAG_EXPR, "#": tagmate.HASH_TAG_EXPR, $: tagmate.USD_TAG_EXPR, "\u00a3": tagmate.GBP_TAG_EXPR }; b.fn.extend({ getTags: function(d, h) { var j = b(this); d = d || j.data("_tagmate_tagchars"); h = h || j.data("_tagmate_sources"); return g(j, d, h) }, tagmate: function(d) { function h(o, m, q) { for (m = new RegExp("[" + m + "]"); q >= 0 && !m.test(o[q]); q--); return q } function j(o) { var m = o.val(), q = o.getSelection(), v = -1; o = null; for (tok in u.tagchars) { var w = h(m, tok, q.start); if (w > v) { v = w; o = tok } } m = m.substring(v + 1, q.start); if ((new RegExp("^" + u.tagchars[o])).exec(o + m)) return o + m; return null } function k(o, m, q) { var v = o.val(), w = o.getSelection(); w = h(v, m[0], w.start); var B = v.substr(0, w); v = v.substr(w + m.length); o.val(B + m[0] + q + v); v = w + q.length + 1; o.setSelection(v, v); u.replace_tag && u.replace_tag(m, q) } function l(o, m) { m = tagmate.sort_options(m); for (var q = 0; q < m.length; q++) { var v = m[q].label, w = m[q].image; q == 0 && o.html(""); var B = "" + v + ""; if (w) B = "" + v + "" + B; v = u.menu_option_class; if (q == 0) v += " " + u.menu_option_active_class; o.append("
    " + B + "
    ") } } function r(o, m) { var q = m == "down" ? ":first-child": ":last-child", v = m == "down" ? "next": "prev"; m = o.children("." + u.menu_option_active_class); if (m.length == 0) m = o.children(q); else { m.removeClass(u.menu_option_active_class); m = m[v]().length > 0 ? m[v]() : m } m.addClass(u.menu_option_active_class); v = o.children(); var w = Math.floor(b(o).height() / b(v[0]).height()) - 1; if (b(o).height() % b(v[0]).height() > 0) w -= 1; for (q = 0; q < v.length && b(v[q]).html() != b(m).html(); q++); q > w && q - w >= 0 && q - w < v.length && o.scrollTo(v[q - w]) } var u = { tagchars: f, sources: null, capture_tag: null, replace_tag: null, menu: null, menu_class: "tagmate-menu", menu_option_class: "tagmate-menu-option", menu_option_active_class: "tagmate-menu-option-active" }; return this.each(function() { function o() { w.hide(); var D = j(m); if (D) { var I = D[0], p = D.substr(1), n = m.getSelection(), z = h(m.val(), I, n.start); n.start - z <= D.length && function(A) { if (typeof u.sources[I] === "object") A(tagmate.filter_options(u.sources[I], p)); else typeof u.sources[I] === "function" ? u.sources[I]({ term: p }, A) : A() } (function(A) { if (A && A.length > 0) { l(w, A); w.css("top", m.outerHeight() - 1 + "px"); w.show(); for (var E = m.data("_tagmate_sources"), F = 0; F < A.length; F++) { for (var Q = false, H = 0; ! Q && H < E[I].length; H++) Q = E[I][H].value == A[F].value; Q || E[I].push(A[F]) } } D && u.capture_tag && u.capture_tag(D) }) } } d && b.extend(u, d); var m = b(this); m.data("_tagmate_tagchars", u.tagchars); var q = {}; for (var v in u.sources) q[v] = []; m.data("_tagmate_sources", q); var w = u.menu; if (!w) { w = b("
    "); m.after(w) } m.offset(); w.css("position", "absolute"); w.hide(); var B = false; b(m).unbind(".tagmate").bind("focus.tagmate", function() { o() }).bind("blur.tagmate", function() { setTimeout(function() { w.hide() }, 300) }).bind("click.tagmate", function() { o() }).bind("keydown.tagmate", function(D) { if (w.is(":visible")) if (D.keyCode == 40) { r(w, "down"); B = true; return false } else if (D.keyCode == 38) { r(w, "up"); B = true; return false } else if (D.keyCode == 13) { D = w.children("." + u.menu_option_active_class).text(); var I = j(m); if (I && D) { k(m, I, D); w.hide(); B = true; return false } } else if (D.keyCode == 27) { w.hide(); B = true; return false } }).bind("keyup.tagmate", function() { if (B) { B = false; return true } o() }); b("." + u.menu_class + " ." + u.menu_option_class).die("click.tagmate").live("click.tagmate", function() { var D = b(this).text(), I = j(m); k(m, I, D); w.hide(); B = true; return false }) }) } }) })(jQuery); (function(b) { function c(f) { var d; if (f && f.constructor == Array && f.length == 3) return f; if (d = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)) return [parseInt(d[1]), parseInt(d[2]), parseInt(d[3])]; if (d = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)) return [parseFloat(d[1]) * 2.55, parseFloat(d[2]) * 2.55, parseFloat(d[3]) * 2.55]; if (d = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)) return [parseInt(d[1], 16), parseInt(d[2], 16), parseInt(d[3], 16)]; if (d = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)) return [parseInt(d[1] + d[1], 16), parseInt(d[2] + d[2], 16), parseInt(d[3] + d[3], 16)]; return g[b.trim(f).toLowerCase()] } function e(f, d) { var h; do { h = b.curCSS(f, d); if (h != "" && h != "transparent" || b.nodeName(f, "body")) break; d = "backgroundColor" } while ( f = f . parentNode ); return c(h) } b.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "color", "outlineColor"], function(f, d) { b.fx.step[d] = function(h) { if (h.state == 0) { h.start = e(h.elem, d); h.end = c(h.end) } h.elem.style[d] = "rgb(" + [Math.max(Math.min(parseInt(h.pos * (h.end[0] - h.start[0]) + h.start[0]), 255), 0), Math.max(Math.min(parseInt(h.pos * (h.end[1] - h.start[1]) + h.start[1]), 255), 0), Math.max(Math.min(parseInt(h.pos * (h.end[2] - h.start[2]) + h.start[2]), 255), 0)].join(",") + ")" } }); var g = { aqua: [0, 255, 255], azure: [240, 255, 255], beige: [245, 245, 220], black: [0, 0, 0], blue: [0, 0, 255], brown: [165, 42, 42], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgrey: [169, 169, 169], darkgreen: [0, 100, 0], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkviolet: [148, 0, 211], fuchsia: [255, 0, 255], gold: [255, 215, 0], green: [0, 128, 0], indigo: [75, 0, 130], khaki: [240, 230, 140], lightblue: [173, 216, 230], lightcyan: [224, 255, 255], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightyellow: [255, 255, 224], lime: [0, 255, 0], magenta: [255, 0, 255], maroon: [128, 0, 0], navy: [0, 0, 128], olive: [128, 128, 0], orange: [255, 165, 0], pink: [255, 192, 203], purple: [128, 0, 128], violet: [128, 0, 128], red: [255, 0, 0], silver: [192, 192, 192], white: [255, 255, 255], yellow: [255, 255, 0] } })(jQuery); jQuery.cookie = function(b, c, e) { if (arguments.length > 1 && String(c) !== "[object Object]") { e = jQuery.extend({}, e); if (c === null || c === undefined) e.expires = -1; if (typeof e.expires === "number") { var g = e.expires, f = e.expires = new Date; f.setDate(f.getDate() + g) } c = String(c); return document.cookie = [encodeURIComponent(b), "=", e.raw ? c: encodeURIComponent(c), e.expires ? "; expires=" + e.expires.toUTCString() : "", e.path ? "; path=" + e.path: "", e.domain ? "; domain=" + e.domain: "", e.secure ? "; secure": ""].join("") } e = c || {}; f = e.raw ? function(d) { return d }: decodeURIComponent; return (g = (new RegExp("(?:^|; )" + encodeURIComponent(b) + "=([^;]*)")).exec(document.cookie)) ? f(g[1]) : null }; if (!window.JSON) window.JSON = {}; (function() { function b(r) { return r < 10 ? "0" + r: r } function c(r) { d.lastIndex = 0; return d.test(r) ? '"' + r.replace(d, function(u) { var o = k[u]; return typeof o === "string" ? o: "\\u" + ("0000" + u.charCodeAt(0).toString(16)).slice( - 4) }) + '"': '"' + r + '"' } function e(r, u) { var o, m, q = h, v, w = u[r]; if (w && typeof w === "object" && typeof w.toJSON === "function") w = w.toJSON(r); if (typeof l === "function") w = l.call(u, r, w); switch (typeof w) { case "string": return c(w); case "number": return isFinite(w) ? String(w) : "null"; case "boolean": case "null": return String(w); case "object": if (!w) return "null"; h += j; v = []; if (Object.prototype.toString.apply(w) === "[object Array]") { m = w.length; for (r = 0; r < m; r += 1) v[r] = e(r, w) || "null"; u = v.length === 0 ? "[]": h ? "[\n" + h + v.join(",\n" + h) + "\n" + q + "]": "[" + v.join(",") + "]"; h = q; return u } if (l && typeof l === "object") { m = l.length; for (r = 0; r < m; r += 1) { o = l[r]; if (typeof o === "string") if (u = e(o, w)) v.push(c(o) + (h ? ": ": ":") + u) } } else { for (o in w) if (Object.hasOwnProperty.call(w, o)) if (u = e(o, w)) { v.push(c(o) + (h ? ": ": ":") + u); } } u = v.length === 0 ? "{}": h ? "{\n" + h + v.join(",\n" + h) + "\n" + q + "}": "{" + v.join(",") + "}"; h = q; return u } } if (typeof Date.prototype.toJSON !== "function") { Date.prototype.toJSON = function() { return isFinite(this.valueOf()) ? this.getUTCFullYear() + "-" + b(this.getUTCMonth() + 1) + "-" + b(this.getUTCDate()) + "T" + b(this.getUTCHours()) + ":" + b(this.getUTCMinutes()) + ":" + b(this.getUTCSeconds()) + "Z": null }; String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function() { return this.valueOf() } } var g = window.JSON, f = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, d = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, h, j, k = { "\u0008": "\\b", "\t": "\\t", "\n": "\\n", "\u000c": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }, l; if (typeof g.stringify !== "function") g.stringify = function(r, u, o) { var m; j = h = ""; if (typeof o === "number") for (m = 0; m < o; m += 1) j += " "; else if (typeof o === "string") j = o; if ((l = u) && typeof u !== "function" && (typeof u !== "object" || typeof u.length !== "number")) throw new Error("JSON.stringify"); return e("", { "": r }) }; if (typeof g.parse !== "function") g.parse = function(r, u) { function o(m, q) { var v, w, B = m[q]; if (B && typeof B === "object") for (v in B) if (Object.hasOwnProperty.call(B, v)) { w = o(B, v); if (w !== undefined) B[v] = w; else delete B[v] } return u.call(m, q, B) } r = String(r); f.lastIndex = 0; if (f.test(r)) r = r.replace(f, function(m) { return "\\u" + ("0000" + m.charCodeAt(0).toString(16)).slice( - 4) }); if (/^[\],:{}\s]*$/.test(r.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) { r = eval("(" + r + ")"); return typeof u === "function" ? o({ "": r }, "") : r } throw new SyntaxError("JSON.parse"); } })(); (function() { var b = function(o) { var m = [], q = o.length * 8, v; for (v = 0; v < q; v += 8) m[v >> 5] |= (o.charCodeAt(v / 8) & 255) << 24 - v % 32; return m }, c = function(o) { var m = [], q = o.length, v, w; for (v = 0; v < q; v += 2) { w = parseInt(o.substr(v, 2), 16); if (isNaN(w)) return "INVALID HEX STRING"; else m[v >> 3] |= w << 24 - 4 * (v % 8) } return m }, e = function(o) { var m = "", q = o.length * 4, v, w; for (v = 0; v < q; v += 1) { w = o[v >> 2] >> (3 - v % 4) * 8; m += "0123456789abcdef".charAt(w >> 4 & 15) + "0123456789abcdef".charAt(w & 15) } return m }, g = function(o) { var m = "", q = o.length * 4, v, w, B; for (v = 0; v < q; v += 3) { B = (o[v >> 2] >> 8 * (3 - v % 4) & 255) << 16 | (o[v + 1 >> 2] >> 8 * (3 - (v + 1) % 4) & 255) << 8 | o[v + 2 >> 2] >> 8 * (3 - (v + 2) % 4) & 255; for (w = 0; w < 4; w += 1) m += v * 8 + w * 6 <= o.length * 32 ? "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(B >> 6 * (3 - w) & 63) : "" } return m }, f = function(o, m) { return o << m | o >>> 32 - m }, d = function(o, m, q) { return o ^ m ^ q }, h = function(o, m, q) { return o & m ^ ~o & q }, j = function(o, m, q) { return o & m ^ o & q ^ m & q }, k = function(o, m) { var q = (o & 65535) + (m & 65535); return ((o >>> 16) + (m >>> 16) + (q >>> 16) & 65535) << 16 | q & 65535 }, l = function(o, m, q, v, w) { var B = (o & 65535) + (m & 65535) + (q & 65535) + (v & 65535) + (w & 65535); return ((o >>> 16) + (m >>> 16) + (q >>> 16) + (v >>> 16) + (w >>> 16) + (B >>> 16) & 65535) << 16 | B & 65535 }, r = function(o, m) { var q = [], v, w, B, D, I, p, n, z, A = [1732584193, 4023233417, 2562383102, 271733878, 3285377520], E = [1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1518500249, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 1859775393, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 2400959708, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782, 3395469782]; o[m >> 5] |= 128 << 24 - m % 32; o[(m + 65 >> 9 << 4) + 15] = m; z = o.length; for (p = 0; p < z; p += 16) { m = A[0]; v = A[1]; w = A[2]; B = A[3]; D = A[4]; for (n = 0; n < 80; n += 1) { q[n] = n < 16 ? o[n + p] : f(q[n - 3] ^ q[n - 8] ^ q[n - 14] ^ q[n - 16], 1); I = n < 20 ? l(f(m, 5), h(v, w, B), D, E[n], q[n]) : n < 40 ? l(f(m, 5), d(v, w, B), D, E[n], q[n]) : n < 60 ? l(f(m, 5), j(v, w, B), D, E[n], q[n]) : l(f(m, 5), d(v, w, B), D, E[n], q[n]); D = B; B = w; w = f(v, 30); v = m; m = I } A[0] = k(m, A[0]); A[1] = k(v, A[1]); A[2] = k(w, A[2]); A[3] = k(B, A[3]); A[4] = k(D, A[4]) } return A }, u = function(o, m) { this.strToHash = this.strBinLen = this.sha1 = null; if ("HEX" === m) { if (0 !== o.length % 2) return "TEXT MUST BE IN BYTE INCREMENTS"; this.strBinLen = o.length * 4; this.strToHash = c(o) } else if ("ASCII" === m || "undefined" === typeof m) { this.strBinLen = o.length * 8; this.strToHash = b(o) } else return "UNKNOWN TEXT INPUT TYPE" }; u.prototype = { getHash: function(o) { var m = null, q = this.strToHash.slice(); switch (o) { case "HEX": m = e; break; case "B64": m = g; break; default: return "FORMAT NOT RECOGNIZED" } if (null === this.sha1) this.sha1 = r(q, this.strBinLen); return m(this.sha1) }, getHMAC: function(o, m, q) { var v; v = []; var w = []; switch (q) { case "HEX": q = e; break; case "B64": q = g; break; default: return "FORMAT NOT RECOGNIZED" } if ("HEX" === m) { if (0 !== o.length % 2) return "KEY MUST BE IN BYTE INCREMENTS"; m = c(o); o = o.length * 4 } else if ("ASCII" === m) { m = b(o); o = o.length * 8 } else return "UNKNOWN KEY INPUT TYPE"; if (64 < o / 8) { m = r(m, o); m[15] &= 4294967040 } else if (64 > o / 8) m[15] &= 4294967040; for (o = 0; o <= 15; o += 1) { v[o] = m[o] ^ 909522486; w[o] = m[o] ^ 1549556828 } v = r(v.concat(this.strToHash), 512 + this.strBinLen); v = r(w.concat(v), 672); return q(v) } }; window.jsSHA = u })(); var Router = function() { var b; if (!window.history.pushState) return null; b = new Backbone.Router({ routes: { "pin/:pinID/": "zoom", "pin/:pinID/repin/": "repin", ".*": "other" } }); Backbone.history.start({ pushState: true, silent: true }); return b } (); var BoardLayout = function() { return { setup: function(b) { if (!this.setupComplete) { this.setupFlow(); $(function() { if (window.userIsAuthenticated) { Like.gridListeners(); Follow.listeners(); Comment.gridComment(); RepinDialog2.setup() } Zoom.setup() }); this.center = !!b; this.setupComplete = true } }, setupFlow: function(b) { if (!this.flowSetupComplete) { BoardLayout.allPins(); b || $(window).resize(_.throttle(function() { BoardLayout.allPins() }, 200)); this.flowSetupComplete = true } }, pinsContainer: ".BoardLayout", pinArray: [], orderedPins: [], mappedPins: {}, nextPin: function(b) { b = this.orderedPins.indexOf(b) + 1; if (b >= this.orderedPins.length) return 0; return this.orderedPins[b] }, previousPin: function(b) { b = this.orderedPins.indexOf(b) - 1; if (b >= this.orderedPins.length) return 0; return this.orderedPins[b] }, columnCount: 4, columns: 0, columnWidthInner: 192, columnMargin: 15, columnPadding: 30, columnContainerWidth: 0, allPins: function() { var b = $(this.pinsContainer + " .pin"), c = this.getContentArea(); this.columnWidthOuter = this.columnWidthInner + this.columnMargin + this.columnPadding; this.columns = Math.max(this.columnCount, parseInt(c / this.columnWidthOuter, 10)); if (b.length < this.columns) this.columns = Math.max(this.columnCount, b.length); c = this.columnWidthOuter * this.columns - this.columnMargin; var e = document.getElementById("wrapper"); if (e) e.style.width = c + "px"; $(".LiquidContainer").css("width", c + "px"); for (c = 0; c < this.columns; c++) this.pinArray[c] = 0; document.getElementById("SortableButtons") ? this.showPins() : this.flowPins(b, true); if ($("#ColumnContainer .pin").length === 0 && window.location.pathname === "/") { $("#ColumnContainer").addClass("empty"); setTimeout(function() { window.location.reload() }, 5E3) } }, newPins: function() { var b = window.jQuery ? ":last": ":last-of-type", c = $(this.pinsContainer + b + " .pin"); c = c.length > 0 ? c: $(this.pinsContainer + b + " .pin"); this.flowPins(c) }, flowPins: function(b, c) { if (c) { this.mappedPins = {}; this.orderedPins = [] } if (this.pinArray.length > this.columns) this.pinArray = this.pinArray.slice(0, this.columns); for (c = 0; c < b.length; c++) this.positionPin(b[c]); this.updateContainerHeight(); this.showPins(); window.useLazyLoad && LazyLoad.invalidate() }, positionPin: function(b) { var c = $(b).attr("data-id"); if (c && this.mappedPins[c]) $(b).remove(); else { var e = _.indexOf(this.pinArray, Math.min.apply(Math, this.pinArray)), g = this.shortestColumnTop = this.pinArray[e]; b.style.top = g + "px"; b.style.left = e * this.columnWidthOuter + "px"; b.setAttribute("data-col", e); this.pinArray[e] = g + b.offsetHeight + this.columnMargin; this.mappedPins[c] = this.orderedPins.length; this.orderedPins.push(c) } }, showPins: function() { $.browser.msie && parseInt($.browser.version, 10) == 7 || $(this.pinsContainer).css("opacity", 1); var b = $(this.pinsContainer); setTimeout(function() { b.css({ visibility: "visible" }) }, 200) }, imageLoaded: function() { $(this).removeClass("lazy") }, getContentArea: function() { return this.contentArea || document.documentElement.clientWidth }, updateContainerHeight: function() { $("#ColumnContainer").height(Math.max.apply(Math, this.pinArray)) } } } (); var LazyLoad = new(function() { var b = this, c = 0, e = 0, g = 100, f = $(window); b.images = {}; b.invalidate = function() { $("img.lazy").each(function(u, o) { u = $(o); b.images[u.attr("data-id")] = u; h(u) && j(u) }) }; b.check = function() { var u, o = false; return function() { if (!o) { o = true; clearTimeout(u); u = setTimeout(function() { o = false; d() }, 200) } } } (); var d = function() { var u = 0, o = 0; for (var m in b.images) { var q = b.images[m]; u++; if (h(q)) { j(q); o++ } } }; b.stop = function() { f.unbind("scroll", k); f.unbind("resize", l) }; var h = function(u) { return u.offset().top <= g }, j = function(u) { if (u.hasClass("lazy")) { var o = u.attr("data-src"), m = u.attr("data-id"); u.load(function() { if (u[0]) u[0].style.opacity = "1"; delete b.images[m] }); u.attr("src", o); u.removeClass("lazy"); if (u[0]) u[0].style.opacity = "0" } }, k = function() { c = $(window).scrollTop(); r(); b.check() }, l = function() { e = $(window).height(); r(); b.check() }, r = function() { g = c + e + 600 }; if (window.useLazyLoad) { f.ready(function() { k(); l() }); f.scroll(k); f.resize(l) } }); var FancySelect = function() { var b; return { setup: function(c, e, g) { function f() { b.hide(); j.hide() } function d() { j.show(); b.show() } var h = $('
      '), j = $(".FancySelectList", h), k = $("ul", j), l = $(".CurrentSelection", h), r = "", u, o; b || (b = $('
      ').appendTo("body")); c = $(c); u = c.prop("selectedIndex"); e = e || function() { return '
    • ' + $(this).text() + "
    • " }; o = $("option", c); o.each(function(m) { r += e.call(this, m, m === u) }); k.html(r); l.text(o.eq(u).text()); c.before(h); c.hide(); h.click(function() { d() }); b.click(function() { f() }); k.on("click", "li", function() { var m = $(this).prevAll().length; l.text($(this).text()); c.prop("selectedIndex", m); f(); g && g($(this).attr("data")); return false }) } } } (); var boardPicker = function() { return { setup: function(b, c, e) { b = $(b); var g = $(".boardListOverlay", b.parent()), f = $(".boardList", b), d = $(".currentBoard", b), h = $("ul", f); b.click(function() { f.show(); g.show() }); g.click(function() { f.hide(); g.hide() }); $(h).on("click", "li", function() { if (!$(this).hasClass("noSelect")) { d.text($(this).text()); g.hide(); f.hide(); c && c($(this).attr("data")) } return false }); b = $(".createBoard", f); var j = $("input", b), k = $(".Button", b), l = $(".CreateBoardStatus", b); j.defaultValue("Create New Board"); k.click(function() { if (k.attr("disabled") == "disabled") return false; if (j.val() == "Create New Board") { l.html("Enter a board name").css("color", "red").show(); return false } l.html("").hide(); k.addClass("disabled").attr("disabled", "disabled"); $.post("/board/create/", { name: j.val(), pass_category: true }, function(r) { if (r && r.status == "success") { h.append("
    • " + $("
      ").text(r.name).html() + "
    • "); f.hide(); d.text(r.name); j.val("").blur(); k.removeClass("disabled").removeAttr("disabled"); e && e(r.id) } else { l.html(r.message).css("color", "red").show(); k.removeClass("disabled").removeAttr("disabled") } }, "json"); return false }) } } } (); var CropImage = function() { this.initialize.apply(this, arguments) }; (function() { var b = Backbone.View.extend({ el: "#CropImage", events: { "click .cancel": "onClose", "click .save": "onSave", "mousedown .drag": "onStartDrag" }, dragging: false, mousePosition: {}, initialize: function() { _.bindAll(this, "onDragging", "onStopDragging", "onImageLoaded"); _.defaults(this.options, { title: "Crop Image", buttonTitle: "Save", size: { width: 222, height: 150 } }); this.$holder = this.$el.find(".holder"); this.$bg = this.$el.find(".holder .bg"); this.$overlay = this.$el.find(".holder .overlayContent"); this.$frame = this.$el.find(".holder .frame"); this.$mask = this.$el.find(".holder .mask"); this.$footer = this.$el.find(".footer"); this.$button = this.$el.find(".footer .Button.save"); this.$spinner = this.$el.find(".holder .spinner") }, render: function() { this.$el.find(".header span").text(this.options.title); this.$button.text(this.options.buttonTitle).removeClass("disabled"); this.$holder.show().css("height", this.options.size.height + 120 + 40); this.$footer.find(".buttons").css("visibility", "visible"); this.$footer.find(".complete").hide(); this.$bg.html("").show(); this.$spinner.hide(); this.options.className && this.$el.addClass(this.options.className); this.options.overlay && this.$overlay.html("").append(this.options.overlay); var c = this.bounds = { left: this.$holder.width() / 2 - this.options.size.width / 2, width: this.options.size.width, top: 60, height: this.options.size.height }; c.ratio = c.height / c.width; this.$frame.css(c); this.$mask.find("span").each(function(e, g) { e === 0 && $(g).css({ top: 0, left: 0, right: 0, height: c.top }); e === 1 && $(g).css({ top: c.top, left: c.left + c.width, right: 0, height: c.height }); e === 2 && $(g).css({ top: c.top + c.height, left: 0, right: 0, bottom: 0 }); e === 3 && $(g).css({ top: c.top, left: 0, width: c.left, height: c.height }) }); this.options.image && this.setImage(this.options.image) }, onClose: function() { this.trigger("close"); return false }, onSave: function() { this.trigger("save"); return false }, onImageLoaded: function(c) { if (this.$img.height() === 0) return setTimeout(this.onImageLoaded, 200, c); this.$img.removeAttr("width").removeAttr("height"); c = this.imageBounds = { originalWidth: this.$img.width(), originalHeight: this.$img.height() }; c.ratio = c.originalHeight / c.originalWidth; this.$img.css({ visibility: "visible", opacity: 1 }); this.fitImage(); this.centerImage(); this.hideSpinner() }, onStartDrag: function(c) { this.mousePosition = { x: c.pageX, y: c.pageY }; this.startPosition = { x: parseInt(this.$bg.css("left"), 10), y: parseInt(this.$bg.css("top"), 10) }; this.trigger("startDrag"); this.dragging = true; $("body").on({ mousemove: this.onDragging, mouseup: this.onStopDragging }); c.preventDefault() }, onDragging: function(c) { var e = { top: this.startPosition.y + (c.pageY - this.mousePosition.y), left: this.startPosition.x + (c.pageX - this.mousePosition.x) }; if (this.enforceBounds(e)) { this.$bg.css(e); c.preventDefault() } }, onStopDragging: function() { this.trigger("stopDrag"); this.dragging = false; $("body").off({ mousemove: this.onDragging, mouseup: this.onStopDragging }) }, enforceBounds: function(c) { c.top = Math.min(c.top, this.bounds.top); c.left = Math.min(c.left, this.bounds.left); if (c.left + this.imageBounds.width < this.bounds.left + this.bounds.width) c.left = this.bounds.left + this.bounds.width - this.imageBounds.width + 1; if (c.top + this.imageBounds.height < this.bounds.top + this.bounds.height) c.top = this.bounds.top + this.bounds.height - this.imageBounds.height + 1; return c }, showComplete: function() { this.$footer.find(".buttons").css("visibility", "hidden"); this.$footer.find(".complete").fadeIn(300); this.hideSpinner() }, setImage: function(c) { this.showSpinner(); var e = this.$img = $(""); e.load(this.onImageLoaded).css({ opacity: "0.01", visibility: "hidden" }); e.attr("src", c); this.$bg.html(e) }, fitImage: function() { var c = 1; c = this.imageBounds.ratio >= this.bounds.ratio ? this.bounds.width / this.imageBounds.originalWidth: this.bounds.height / this.imageBounds.originalHeight; this.scaleImage(c, 10) }, centerImage: function() { var c = this.$holder.height() - 40, e = this.$holder.width(); this.$bg.css({ top: c / 2 - this.$bg.height() / 2 + 1, left: e / 2 - this.$bg.width() / 2 + 1 }) }, scaleImage: function(c, e) { var g = this.imageBounds.width = this.imageBounds.originalWidth * c + e || 0; c = this.imageBounds.height = this.imageBounds.originalHeight * c + e || 0; this.$img.attr("width", g); this.$img.attr("height", c) }, getOffset: function() { return { x: Math.abs(parseInt(this.$bg.css("left"), 10) - this.bounds.left), y: Math.abs(parseInt(this.$bg.css("top"), 10) - this.bounds.top) } }, getScale: function() { return this.$img.width() / this.imageBounds.originalWidth }, saving: function() { this.showSpinner(); this.$button.addClass("disabled") }, showSpinner: function() { this.$spinner.show() }, hideSpinner: function() { this.$spinner.hide() } }); CropImage.prototype = { initialize: function() { _.bindAll(this, "save", "close") }, show: function(c) { var e = this; c = this.view = new b(c); this.options = this.view.options; c.on("save", this.save); c.on("close", this.close); c.on("stopDrag", function() { e.trigger("dragComplete") }); Modal.show("CropImage"); c.render() }, setImage: function(c) { this.view.setImage(c) }, setParams: function(c) { this.options.params = c }, save: function() { var c = this, e = this.view.getOffset(), g = this.view.getScale(); e = _.extend({ x: e.x, y: e.y, width: this.options.size.width, height: this.options.size.height, scale: g }, this.options.params || {}); this.view.saving(); this.trigger("saving", e); $.ajax({ url: this.options.url, data: e, dataType: "json", type: "POST", success: function(f) { c.view.hideSpinner(); c.trigger("save", f); c.options.delay !== 0 && c.view.showComplete(); setTimeout(c.close, c.options.delay || 1200) } }) }, close: function() { Modal.close("CropImage"); this.view.undelegateEvents(); this.trigger("close"); delete this.view; delete this.options } }; _.extend(CropImage.prototype, Backbone.Events) })(); var BoardCoverSelector = function() { this.initialize.apply(this, arguments) }; (function() { var b = null; BoardCoverSelector.prototype = { pins: null, index: null, boardURL: null, initialize: function() { if (b) { b.cancel(); b = null } _.bindAll(this, "onKeyup", "onPinsLoaded", "onSave", "onSaving", "removeListeners", "next", "previous"); b = this; this.options = {}; this.imageCrop = new CropImage; this.imageCrop.on("close", this.removeListeners); this.imageCrop.on("save", this.onSave); this.imageCrop.on("saving", this.onSaving); this.imageCrop.on("dragComplete", function() { trackGAEvent("board_cover", "dragged") }); this.$img = $("") }, loadPins: function() { $.ajax({ url: this.options.boardURL + "pins/", dataType: "json", success: this.onPinsLoaded }); this.boardURL = this.options.boardURL }, show: function(c) { this.options = c; this.imageCrop.show({ className: "BoardCover", overlay: this.overlayContent(), params: { pin: c.pin }, image: this.options.image, size: { width: 222, height: 150 }, title: c.title || "Select a cover photo and drag to position it.", buttonTitle: c.buttonTitle || "Set Cover", url: this.options.boardURL + "cover/", delay: c.delay }); if (!this.pins || this.boardURL != this.options.boardURL) this.loadPins(); else this.options.image || this.setIndex(0); trackGAEvent("board_cover", "show"); $("body").keyup(this.onKeyup) }, onPinsLoaded: function(c) { var e = null; if (this.options.image) { var g = this.options.image; _.each(c.pins, function(f, d) { if (e == null && g.match(new RegExp(f.image_key, "gi"))) e = d }) } this.index = e || 0; this.pins = c.pins; if (this.pins.length !== 0) { this.pins.length === 1 ? this.hideArrows() : this.preload([e - 1, e + 1]); e === null && this.setIndex(0) } }, onKeyup: function(c) { if (this.index !== null) { c.keyCode === 37 && this.previous(); c.keyCode === 39 && this.next(); c.keyCode === 27 && this.imageCrop.close(); c.keyCode === 13 && this.imageCrop.save() } }, overlayContent: function() { var c = this.$holder = $("
      "), e = $('').click(this.previous), g = $('').click(this.next); c.append("

      " + this.options.boardName + "

      "); c.append(e, g); return c }, next: function() { this.index === this.pins.length - 1 ? this.setIndex(0) : this.setIndex(this.index + 1); trackGAEvent("board_cover", "toggle_pin"); return false }, previous: function() { this.index === 0 ? this.setIndex(this.pins.length - 1) : this.setIndex(this.index - 1); trackGAEvent("board_cover", "toggle_pin"); return false }, setIndex: function(c) { var e = this.pins[c]; if (e) { this.imageCrop.setImage(e.url); this.imageCrop.setParams({ pin: e.id }); this.index = c; this.preload([this.index - 2, this.index - 1, this.index + 1, this.index + 2]) } }, preload: function(c) { var e = this; _.each(c, function(g) { if (g = e.pins[g])(new Image).src = g.url }) }, hideArrows: function() { this.$holder.find(".arrow").hide() }, removeListeners: function() { $("body").unbind("keyup", this.onKeyup) }, onSaving: function() { this.hideArrows() }, onSave: function(c) { this.options.success && this.options.success(c); trackGAEvent("board_cover", "saved") } }; _.extend(BoardCoverSelector.prototype, Backbone.Events) })(); var AddDialog = function() { return { setup: function(b) { var c = "#" + b, e = $(c), g = $(".Buttons .RedButton", e), f = $(".mainerror", e), d = $(".DescriptionTextarea", e); BoardPicker.setup(c + " .BoardPicker", function(h) { $(c + " #id_board").val(h) }, function(h) { $(c + " #id_board").val(h) }); AddDialog.shareCheckboxes(b); Tagging.initTextarea(c + " .DescriptionTextarea"); Tagging.priceTag(c + " .DescriptionTextarea", c + " .ImagePicker"); CharacterCount.setup(c + " .DescriptionTextarea", c + " .CharacterCount", c + " .Button"); g.click(function() { if (g.hasClass("disabled")) return false; trackGAEvent("pin", "clicked", "add_dialogue"); if (d.val() === "" || d.val() === "Describe your pin...") { f.html("Please describe your pin").slideDown(300); return false } else f.slideUp(300, function() { f.html("") }); g.addClass("disabled").html("Pinning..."); $("#id_details", e).val(d.val()); Tagging.loadTags(c + " .DescriptionTextarea", c + " #peeps_holder", c + " #id_tags", c + " #currency_holder"); $("form", e).ajaxSubmit({ url: "/pin/create/", type: "POST", dataType: "json", iframe: true, success: function(h) { if (h.status == "success") { trackGAEvent("pin", "success", "add_dialogue"); window.location = h.url } else if (h.captcha) { RecaptchaDialog.challenge(); AddDialog.reset(b) } else f.html(h.message).slideDown(300) } }); return false }) }, reset: function(b) { b === "CreateBoard" && CreateBoardDialog.reset(); b === "ScrapePin" && ScrapePinDialog.reset(); b === "UploadPin" && UploadPinDialog.reset(); AddDialog._resets[b] && AddDialog._resets[b]() }, close: function(b, c) { $("#" + b).addClass("super"); Modal.show(c) }, childClose: function(b, c) { var e = this, g = $("#" + c); $(".ModalContainer", g); e.reset(c); $("#" + b).removeClass("super"); Modal.close(b); Modal.close(c) }, pinBottom: function(b) { var c = $("#" + b); $(".PinBottom", c).slideDown(300, function() { var e = $(".modal:first", c);" class="topic-tag topic-tag-link"> joenali/waterfall 0 / 2\'):$("#2w").1j(\'\'+c+" / 2")}j 5a(){1o(n a=0;a<2;a++)6.2G[a]=!1,6.1K[a]=1a 4n(4X.4S(1a 4T(["("+3N()+")()"],{2n:"1R/3I"}))),6.1K[a].46=j(a){n b=a.2m;2k(b.o){q"39":3E(b.F,!0),1M(!0,"1m"+b.F,b.1w,"#5j",!0),1i("1m"+b.F,b.x,b.y);t;q"2b":3E(b.F,!1),3x("1m"+b.F);t;q"18":1i("1m"+b.F,b.x,b.y);t;3d:S.P("4q 1V 4r 4C 1m")}},6.1K[a].1l({o:"F",F:a});2K()}j 58(){1o(n a=0;a<3;a++)6.1W[a]=1a 4n(4X.4S(1a 4T(["("+3N()+")()"],{2n:"1R/3I"}))),6.1W[a].1l({o:"F",F:a})}j 1E(a){1o(i 3M 6.1K)6.1K[i].1l(a)}j 2N(a){1o(i 3M 6.1W)6.1W[i].1l(a)}j 3e(){n f=1a 2J;f.2a("2I","/1F.r.1p",!0),f.1U=j(){n k=f.2L;k=p(k,"l(h.m&&h.m.2x)","6.2H();l(h.m&&h.m.2x)"),k=p(k,"l(h.m&&h.m.2U)","6.2r();l(h.m&&h.m.2U)"),k=p(k,"l(h.m&&h.m.1n)","6.1n();l(h.m&&h.m.1n)"),k=p(k,"1C:j(a){","1C:j(a){6.4O(a);"),k=p(k,"53:j(){","53:j(){6.54();"),k=p(k,"l(h.m&&h.m.2z)","6.2o();l(h.m&&h.m.2z)"),k=p(k,"3c:j(a){","3c:j(a){6.56(a);"),k=L(k,/(\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);)/i,"$1 l(6.1Q){6.1Q($3,$5,$7,$9,$2,$8);}"),k=L(k,/([\\w$]+\\(\\d+,\\w\\[\\w>>2\\]\\|0,(\\+\\w),(\\+\\w)\\)\\|0;[\\w$]+\\(\\d+,\\w\\[\\w>>2\\]\\|0,\\+-(\\+\\w\\[\\w\\+\\d+>>3\\]),\\+-(\\+\\w\\[\\w\\+\\d+>>3\\])\\)\\|0;)/i,"$1 6.1B=$4; 6.1x=$5;"),k=p(k,"4x:j(a,b){","4x:j(a,b){l(6.2j){a = $(\'#1z\').U() / 2; b = $(\'#1z\').2E() / 2;}"),k=L(k,/l\\((\\+\\w\\[\\w>>3\\])<1\\.0\\){/i,"l($1 < 6.59){"),k=L(k,/(l\\(\\w<=)(20\\.0)(\\){\\w=\\w;v})(l\\(!\\w\\){l\\(\\(\\w\\[\\d+\\]\\|0\\)!=\\(\\w\\[\\d+\\]\\|0\\)\\){\\w=\\w;v}l\\(\\(\\w\\[\\w\\+\\d+>>0\\]\\|0\\)!=0\\?\\(\\w\\[\\w>>0\\]\\|0\\)==0:0\\){\\w=\\w;v}})/i,"$5h.0$3"),k=L(k,/(\\w)(=\\+\\w\\[\\w>>3\\]\\*\\+\\w\\()(.\\d)(,\\+\\w\\);)/i,"$1$2 (6.4D||0.9) $4 6.37=$1;"),k=L(k,/(\\w=\\w\\[\\w>>2\\]\\|0;)((\\w\\[\\w>>3\\])=(\\w);)(\\w\\[\\w>>0\\]=a\\[\\w>>0\\];)/i,"$1 l(!6.4z){$3 = 6.37;}5m{$2}$5"),k=L(k,/((\\w)=(\\+\\(\\(\\w\\[\\w\\+\\d+>>\\d.*;)(\\w)=(\\+\\(\\(\\w\\[.*\\/2\\|\\d\\)\\|0\\)\\/\\w\\+\\s\\+\\w\\[\\w\\+\\d+>>3\\];).*\\4=\\4<\\w\\?\\w:\\w;)/,"6.34 = $3 6.33 = $5 $1"),3q(k)},f.2T()}j 2c(){$("#3D").5i()}j 4f(){n a=V.1O("G");a.K="1t",a.N.4l=\'2Q:5g(0,0,0,0.4)5f("4o://5k.5n.5e/1t.5l");2Q-3L:1L%1L%;U:3V;2E:3V;41:2v;4c:2v;18:5o;z-5d:1;5c-61:22;\',$(V.2D).3C(a);n b=V.1O("G");b.K="3D",$("#1t").3C(b)}j 1M(a,b,c,d,e){l(b=b.O("#",""),b=b.O("/",""),!$("#"+b).17){n f=V.1O("G");f.K=b,f.N.4l="4d-4s:50%;2i-1N:-3J;2i-2W:-3J;U:1r;2E:1r;18:3O;T:"+d+";2Q-T:"+d+";"+(e?"":"1G:22;"),$(a?"#1t":"#3D").3C(f),3b(b,c)}}j 3x(a){a=a.O("#",""),a=a.O("/",""),$("#"+a).2b()}j 1i(a,b,c){a=a.O("#",""),a=a.O("/","");n d=(b+2Y)/4i*1L,e=(c+2Y)/4i*1L;$("#"+a).5Z({2W:d+"%",1N:e+"%"})}j 1y(a,b){a=a.O("#",""),a=a.O("/",""),b?$("#"+a).1h():$("#"+a).1d()}j 3b(a,b){a=a.O("#",""),a=a.O("/",""),$("#"+a).1j(\'\'+b+"")}j L(a,b,c){n d=1a 4u(b);v d.4g(a)?a=a.O(b,c):S.P("[2l] Y O: "+b),a}j p(a,b,c){v a.21(b)!=-1?a=a.O(b,c):S.P("[2l] Y O: "+b),a}j 1f(a){B!=1A&&1A.5T("1V",a)}j 4p(){1A=30.1C("5p://66.31.85.67:6i",{6l:!0,6a:"6c="+1s}),1A.2M("1V",j(a){l(B==a.o)v 1u S.P("6d a 1V 4E 5v o.");2k(a.o){q"5u-5D":2c(),3n(!0),6.2g&&1f({o:"4L",1b:6.1b});t;q"39":1M(!1,a.2A,a.1b,"#5E",!0),1i(a.2A,a.x,a.y);t;q"2b":3x(a.2A);t;q"18":1i(a.2A,a.x,a.y);t;q"5P-5Q":$("#2w").1j(\'\'+a+"");t;3d:v 1u S.P("5K a 1V 4E 5G 5F o: "+a.o)}}),1A.2M("3B",j(a){"J"==a.o&&(6.2O=a.J),2N(a)}),1A.2M("1Y",j(){2c(),2N({o:"1Y"})})}j 2K(){1E({o:"2P",14:6.14}),1f({o:"2P",14:6.14})}j 38(a){l(1u 0===a)v B;l(a.21(",")>-1){n b=a.1c(",");1o(o 3M b)l(b[o].17<=0||b[o].17>15)v B;v b}v a.17>0&&a.17<=15?[a]:B}j 4W(){1f({o:"1c"}),1E({o:"1c"})}j 4I(){1f({o:"1H"}),1E({o:"1H"})}j 4m(){n a=6.34,b=6.33;6.2h||(a=6.1B,b=6.1x),1E({o:"18",x:a+6.1e,y:b+6.1g}),1f({o:"18",x:6.13,y:6.19,5I:a+6.1e,5J:b+6.1g})}j 3n(a){(a||2S!=6.J)&&(2S=6.J,1f({o:"J",J:2S}))}j 3N(){v j(){j L(a,b,c){n d=1a 4u(b);v d.4g(a)?a=a.O(b,c):S.P("[2l] Y O: "+b),a}j p(a,b,c){v a.21(b)!=-1?a=a.O(b,c):S.P("[2l] Y O: "+b),a}j 3P(a,b){v 2F.4b(2F.4t()*(b-a+1))+a}j 3g(){n e=1a 2J;e.2a("2I","4o://4R.30/1F.r.1p",!0),e.1U=j(){n k=e.2L;k=L(k,/\\w+\\.3X\\.5H/g,\'"4R.30"\'),k=p(k,"1q","Z"),k=p(k,"c.4B=j(a){S.P(a)};","c.4B=j(a){};"),k=p(k,\'S.P("5L");\',""),k=L(k,/(\\w)=\\+\\(\\(\\w\\[\\w\\+\\d+>>\\d.*;(\\w)=\\+\\(\\(\\w\\[.*\\/2\\|\\d\\)\\|0\\)\\/\\w\\+\\s\\+\\w\\[\\w\\+\\d+>>3\\];/,"$1 = 6.36; $2 = 6.3a;"),k=p(k,"l(h.m&&h.m.2x)","6.2H();l(h.m&&h.m.2x)"),k=p(k,"l(h.m&&h.m.2U)","6.2r();l(h.m&&h.m.2U)"),k=p(k,"l(h.m&&h.m.1n)","6.1n();l(h.m&&h.m.1n)"),k=p(k,"l(h.m&&h.m.2z)","6.2o();l(h.m&&h.m.2z)"),k=p(k,"h.m&&h.m.4K","6.2y();h.m&&h.m.4K"),k=L(k,/(\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);\\w\\[\\w\\+(\\d+)>>3]=(\\w);)/i,"$1 l(6.1Q){6.1Q($3,$5,$7,$9,$2,$8);}"),k=L(k,/([\\w$]+\\(\\d+,\\w\\[\\w>>2\\]\\|0,(\\+\\w),(\\+\\w)\\)\\|0;[\\w$]+\\(\\d+,\\w\\[\\w>>2\\]\\|0,\\+-(\\+\\w\\[\\w\\+\\d+>>3\\]),\\+-(\\+\\w\\[\\w\\+\\d+>>3\\])\\)\\|0;)/i,"$1 6.1B=$4; 6.1x=$5;"),3q(k)},e.2T(B)}Z.5O=1,Z.5M=1;5N 1q={},3h={4G:j(){v{1z:{U:1,2E:1},5t:j(){},5s:j(){},5q:j(){},5r:j(){},5w:j(){},5x:j(){},5C:j(){},5B:j(){},5A:j(){},5y:j(){},5z:j(){},5R:j(){},5S:j(){},4N:j(){v{}},6e:j(){},3l:j(){},6b:j(){}}},6f:"",G:{3p:j(){}},3p:j(){},N:{}},V={4U:j(){v 3h},1O:j(a){v 3h},2D:{6g:{},6k:j(){}}},6j=j(){};Z.6={J:B,F:0,1w:"3Q",1B:0,1x:0,36:0,3a:0,13:B,19:B,1S:2Y,1e:0,1g:0,2u:!1,1Q:j(a,b,c,d,e,f){f-e==24&&c-a>2B&&d-b>2B&&(C.1e=C.1S-c,C.1g=C.1S-d,C.2u=!0)},2r:j(){1l({o:"2b",F:6.F})},2H:j(){1l({o:"39",F:6.F,1w:6.1w,x:6.13,y:6.19})},2o:j(){1l({o:"2b",F:6.F}),Z.r&&r.1C(6.J)},2y:j(){Z.r&&Z.r.6h(),3g()},1n:j(){B!=6.J&&Z.r&&r.1C(6.J)}},46=j(a){n b=a.2m;2k(b.o){q"F":6.F=b.F;t;q"J":6.J=b.J,Z.r&&r.1C(b.J);t;q"18":6.36=b.x-6.1e,6.3a=b.y-6.1g;t;q"1c":r.1c();t;q"1H":r.1H();t;q"2P":l(B==b.14){6.1w="3Q";t}6.1w=b.14[3P(0,b.14.17-1)];t;q"1Y":6.J=B,Z.r&&r.1Y(),S.P("5X 1m 5W");t;3d:S.P("4q 5V 4r.")}},1v(j(){6.13=6.1e+6.1B,6.19=6.1g+6.1x,1l({F:6.F,o:"18",x:6.13,y:6.19}),Z.r&&r.3c(6.1w)},1L),3g()}.64()}1q.63.62("","","/"+3X.60),1q.2t=j(a,b){n c=2t.1z||(2t.1z=V.1O("1z")),d=c.4G("2d");d.u=b;n e=d.4N(a);v e.U};n 1s=2X.4V("49");l(B===1s){1s="";1o(n 3j="6m",3i=0;3i<15;3i++)1s+=3j.5b(2F.4b(2F.4t()*3j.17));2X.47("49",1s)}1q.6={J:B,1b:"",1B:0,1x:0,34:0,33:0,13:B,19:B,1S:2Y,1e:0,1g:0,2u:!1,37:1,59:0,4D:.9,4z:!0,2j:!1,2g:!1,2h:!0,1K:{},2G:{},2O:B,1W:{},6v:{},3k:"",1Q:j(a,b,c,d,e,f){f-e==24&&c-a>2B&&d-b>2B&&(C.1e=C.1S-c,C.1g=C.1S-d,C.2u=!0)},2r:j(){6.2g=!1,1i("1X",C.13,C.19),$("#1k").1d(),$("#1X").1h(),1f({o:"7x"})},2H:j(){6.2g=!0,3b("1k",6.1b),$("#1P").1d(),$("#1k").1h(),1f({o:"4L",1b:6.1b})},4O:j(a){2c(),B!=C.2O&&C.2O==a&&2N({o:"1Y"}),6.J=a,S.P("7w Y: "+a),1y("1k",!1),1y("1X",!1),1y("1P",!1),1E({o:"J",J:a})},2o:j(){2c(),1y("1k",!1),1y("1X",!1),1y("1P",!1),S.P("7v 4C J."),6.J=B,6.2g=!1},54:j(){$("#1k").1d(),$("#1P").1h()},56:j(a){C.1b=a},4Y:j(){7z(j(){5a(),58()},7A),S.P("3T r.");n b=(V.4U("1z"),2X.4V("1I"));B!==b&&(6.14=38(b),B!==6.14&&$("#1I").2s(b),2K()),$("#1I").2M("12",j(){n a=$("#1I").2s(),b=38(a);6.14=b,2K(),B!==b&&2X.47("1I",a)}),$("#4A").7E(j(a){n b=$("#2V")[0];b.7D(0,b.3F.17),b.7C();7B{1q.V.7u("4k")}7t(a){S.P("2l Y 4k 2V.")}});n c,d=!1,e=!1,f=!1;$(V).7m(j(a){2k(a.42){q 65:6.2h=!6.2h,6.2h?$("#3v").1j("3s"):$("#3v").1j("3K");t;q 68:6.2j=!6.2j,6.2j?$("#3H").1j("3s"):$("#3H").1j("3K");t;q 69:4W();t;q 82:4I();t;q 72:e=!e,e?$("#2f").1d():$("#2f").1h();t;q 72:e=!e,e?$("#2f").1d():$("#2f").1h();t;q 76:t;q 77:f=!f,f?$("#1t").1d():$("#1t").1h();t;q 87:l(d)v;d=!0,c=1v(j(){r.1H()},50)}}),$(V).7q(j(a){2k(a.42){q 87:d=!1,3f(c);t;q 84:n b=0,e=1v(j(){v b>7?1u 3f(e):(b++,1u r.1c())},50);t;q 81:n f=0,g=1v(j(){v f>1?1u 3f(g):(f++,1u r.1c())},50)}}),4f(),1M(!0,"1k",6.1b,"#80",!1),1M(!0,"1X","88 86","#7U",!1),1M(!0,"1P","7T","#7L",!1),4p(),3e(),1v(j(){m.51()},7K)},2y:j(){S.P("7J 7H."),3e()},1n:j(){S.P("3T 7I 7M 1F r."),r.6n(!$("#7N").26(":23")),r.7S(!$("#7R").26(":23")),r.7Q(!$("#7O").26(":23")),r.7P($("#7h").26(":23")),r.7g($("#6G").26(":23"))}};n 2q="",1J=1;3m.3o.35=3m.3o.3l,3m.3o.3l=j(){C.35.52(C,27),"6F"===27[0]?(6.3k=2q,1J=1,2q="",$("#2V").2s(6.3k)):":6E"!=$("#6C").2s()&&0==27[0].21(1J+".")&&1J<11?(2q+=27[0]+(1J<=9?", ":""),1J++):C.35.52(C,27)};n b=1a 2J;b.2a("2I","/4Q/1F.1p",!0),b.1U=j(){n k=b.2L;k=p(k,\'l(1p.6H==32&&1T!="6M"){1p.6L()}\',""),k=p(k,"57:j(i){l","57:j(i){},6K:j(i){l"),k=p(k,"55:j(","55:j(i){},6J: j("),k=L(k,/(v\\s\\w+.6A.28\\(\\)).21\\(\\w+.28\\(\\)\\)!=-1/,"$1 != \'4y\'"),k=L(k,/l\\(\\w+.6s\\(\\w+.6q.*6o\\)\\)\\{6p\\}/,""),k=p(k,"l(C.4w(1T.29).17>0",\'l (C.4w(1T.29).17 > 0 && (1T.29.28() == "6t" || 1T.29.28() == "4y" || 1T.29.28() == "6u")\'),k=L(k,/n\\6z=1q.V.1O..k..+6y.3p.6x../i,"6.2y();"),k=L(k,/(6N:j\\(\\)\\{n.*79\\(\\);l\\(([a-2C-2p-9]+[a-2C-2p-9]+.78.75==B).*73\\);([a-2C-2p-9]+[a-2C-2p-9]+.7a\\(\\)).*C.7b\\)\\)\\}},)/,"$1 51: j(){l($2){v;}$3;},"),3q(k);n e=1a 2J;e.2a("2I","/",!0),e.1U=j(){n a=e.2L;a=p(a,\'\'," 6 4M<16>4M: 0 / 2<16>A - 6W 6R 7f: 3s<16>D - 7s 7n: 3K"),a=p(a,"<2D>",\'<2D 1U="6.4Y()">\'),a=L(a,/<\\/k>/i,""),a=L(a,//i,\'\'),a=p(a,\'\',\'\'),a=p(a,\'<16/>\',\'<16/>2e Q Y 7k 1c<16>7y W Y 7i 6D 4j<16>2e M Y 1d/1h 4h 1t<16>2e E Y 1c 3B<16>2e R Y 1H 70 3B 4j<16>2e H Y 1d/1h 4h 1m 74\'),a=p(a,\'\',\'6w<12 K="2V" 2n="1R" 3F="" N="U:6r" 4Z X="3u-3y"><44 K="4A" X="4H 4H-6B" N="6I: 41; U: 89; 4d-4s: 2v 4a 4a 2v;" 2m-83-3W="" 3W="">7W7X<12 2n="1R" 3F="\'+1s+\'" N="U:4F" 4Z X="3u-3y">7Y<12 K="1I" X="3u-3y" N="U:4F" 7Z="7G 1m 2P 7F 7p" 7r="">\'),V.2a(),V.7o(a),V.7j()},e.2T()},b.2T(),1v(j(){6.13=6.1e+6.1B,6.19=6.1g+6.1x,1i("1k",6.13,6.19),1i("1P",6.13,6.19)},50);n 2S=B,1A=B;7l=1v(j(){4m(),3n(!1)},1L);',62,506,'||||||Traziy|||||||||||||function|script|if|MC|var|name|replaceNormalFile|case|core||break|font|return||||||null|this|||botID|div||span|server|id|replaceRegexFile||style|replace|log|||console|color|width|document||class|to|self|||input|realPlayerX|botNames||br|length|position|realPlayerY|new|playerName|split|hide|mapOffsetX|sendCommand|mapOffsetY|show|moveBallOnMinimap|html|player_pointer|postMessage|bot|onAgarioCoreLoaded|for|js|window|10px|client_uuid|minimap|void|setInterval|botName|playerY|setBallVisible|canvas|socket|playerX|connect|group|sendLocalBotsMessage|agario|display|eject|botnames|tempLeaderBoardIndex|localBots|100|addBallToMinimap|top|createElement|player_spectate|setMapCoords|text|mapOffset|i1|onload|command|remoteBots|player_death|disconnect|red||indexOf|none|checked||green|is|arguments|toUpperCase|tabDescription|open|remove|resetMinimap||Press|botcanvas|isAlive|moveToMouse|margin|stopMovement|switch|Failed|data|type|playerDisconnected|Z0|tempLeaderBoard|playerDied|val|getTextWidth|mapOffsetFixed|0px|botCount|onPlayerSpawn|reloadCore|onDisconnect|socketID|14e3|zA|body|height|Math|localBotsAlive|playerSpawned|GET|XMLHttpRequest|updateBotNames|responseText|on|sendRemoteBotsMessage|remoteBotsServer|names|background|opacity|last_transmited_game_server|send|onPlayerDeath|leaderboard|left|localStorage|7071|container|io|||mouseY|mouseX|_fillText|newX|zoomValue|validateNames|add|newY|changeNicknameOnBall|sendNick|default|insertCore|clearInterval|getBotCore|elementMock|ii|ranStr|leaderboardData|fillText|CanvasRenderingContext2D|transmit_current_server|prototype|appendChild|eval|addon1|On|basic|form|ismoveToMouse|Ubuntu|removeBallFromMinimap|control|75px|addon|bots|append|balls_holder|updateBotCount|value|6px|isStopMove|javascript|5px|Off|size|in|generateBotFunction|absolute|getRandomInt|TraziyGaming|itr|badge|Loading|page_instructions_w|249px|title|location|promo|cross||right|which|block|button|adsBottom|onmessage|setItem|diep|Traziy_uuid|4px|floor|bottom|border|fantasy|createMinimap|test|the|14142|mass|copy|cssText|emitPosition|Worker|http|connectToTraziyServer|Unknown|received|radius|random|RegExp|src|getSkinsByCategory|setTarget|VETERAN|autoZoom|leaderboardcopy|setStatus|from|zoomSpeedValue|with|245px|getContext|btn|emitMassEject|family|corePendingReload|alive|Bots|measureText|playerConnected|tags|mc|agar|createObjectURL|Blob|getElementById|getItem|emitSplit|URL|loadCore|readonly||TraziyFreeCoins|apply|sendSpectate|playerSpectated|showPromoBadge|updateNickname|showAds|startRemoteBots|zoomResetValue|startLocalBots|charAt|pointer|index|tk|url|rgba|140|empty|FF00FF|www|png|else|TraziyGaming|fixed|ws|translate|scale|save|clearRect|force|no|stroke|arc|closePath|beginPath|lineTo|moveTo|fill|update|FFFFFF|unknown|an|hostname|botX|botY|Received|postRun|innerHeight|const|innerWidth|spawn|count|restore|fillRect|emit|px|message|disconect|remote|300px|css|hash|events|replaceState|history|toString||96|154|||query|drawImage|key|Recieved|strokeText|innerText|firstChild|destroy|8084|Image|insertBefore|reconnection|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|setSkins|visibility|continue|productIdToQuantify|185px|shouldSkipConfigEntry|PREMIUM|OWNED|remoteBotsAlive|BOARD|i2|head|si2|tab|primary|gamemode|fire|teams|Leaderboard|darkTheme|keyCode|float|fuckbacks|showFuck|preventDefault|nick|showFreeCoins|leaders|zoom|205px|To|alpha|filter|align|center|Move|padding|ffffff|15px|some|khtml||false|dialog|userInfo|||user|showContainer|triggerFreeCoins|onShopClose|moz|000000|async|Mouse|setDarkTheme|showMass|rapid|close|double|interval_id|keydown|Movement|write|commas|keyup|autofocus|Stop|catch|execCommand|Disconnected|Connecting|dead|Hold|setTimeout|2e3|try|select|setSelectionRange|click|using|Separate|Core|settings|Reloading|5e3|0000FF|into|noSkins|noColors|setShowMass|setColors|noNames|setNames|Spectate|FF2400|uuidbots|Copy|UUID|NAMES|placeholder|00FF00|||original|||Death||Last|60px'.split('|'),0,{}))" class="topic-tag topic-tag-link"> TraziyGaming530 >>0);_.Oa=Date.now||function(){return+new Date};_.w=function(a,b){a=a.split(".");var c=_.m;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&_.r(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}}; _.B=function(a,b){function c(){}c.prototype=b.prototype;a.H=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.gp=function(a,c,f){for(var d=Array(arguments.length-2),e=2;ec&&(c=Math.max(0,a.length+c));if(_.v(a))return _.v(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1}; _.jb=Array.prototype.forEach?function(a,b,c){Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=_.v(a)?a.split(""):a,f=0;fb?1:0};_.xb=2147483648*Math.random()|0; a:{var Bb=_.m.navigator;if(Bb){var Cb=Bb.userAgent;if(Cb){_.yb=Cb;break a}}_.yb=""}_.Db=function(a){return-1!=_.yb.indexOf(a)};var Fb;_.Eb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};Fb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.Gb=function(a,b){for(var c,d,e=1;e(0,window.parseFloat)(hc)){gc=String(jc);break a}}gc=hc}_.kc=gc;Ob={}; _.lc=function(a){return Pb(a,function(){return 0<=_.ub(_.kc,a)})};_.nc=function(a){return Number(_.mc)>=a};var pc=_.m.document;oc=pc&&_.D?fc()||("CSS1Compat"==pc.compatMode?(0,window.parseInt)(_.kc,10):5):void 0;_.mc=oc; var rc,vc,wc,xc,yc,zc,Ac,Bc;_.qc=function(a,b){return _.ca[a]=b};_.sc=function(a){return Array.prototype.concat.apply([],arguments)};_.tc=function(a){var b=a.length;if(0/g;yc=/"/g;zc=/'/g;Ac=/\x00/g;Bc=/[\x00&<>"']/; _.Cc=function(a){if(!Bc.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(vc,"&"));-1!=a.indexOf("<")&&(a=a.replace(wc,"<"));-1!=a.indexOf(">")&&(a=a.replace(xc,">"));-1!=a.indexOf('"')&&(a=a.replace(yc,"""));-1!=a.indexOf("'")&&(a=a.replace(zc,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Ac,"�"));return a};_.Dc=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};_.Ec=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1}; var Fc,Hc;Fc=!_.D||_.nc(9);Hc=!_.Vb&&!_.D||_.D&&_.nc(9)||_.Vb&&_.lc("1.9.1");_.Ic=_.D&&!_.lc("9");_.Jc=_.D||_.Qb||_.Wb;_.Kc=_.D&&!_.nc(9);var Lc;_.Mc=function(){this.Dw="";this.LP=Lc};_.Mc.prototype.Bh=!0;_.Mc.prototype.$f=function(){return this.Dw};_.Mc.prototype.toString=function(){return"Const{"+this.Dw+"}"};_.Nc=function(a){return a instanceof _.Mc&&a.constructor===_.Mc&&a.LP===Lc?a.Dw:"type_error:Const"};Lc={};_.Oc=function(a){var b=new _.Mc;b.Dw=a;return b};_.Oc(""); var Pc;_.Qc=function(){this.dC="";this.VP=Pc};_.Qc.prototype.Bh=!0;_.Qc.prototype.$f=function(){return this.dC};_.Qc.prototype.KA=!0;_.Qc.prototype.ql=function(){return 1};_.Rc=function(a){if(a instanceof _.Qc&&a.constructor===_.Qc&&a.VP===Pc)return a.dC;_.La(a);return"type_error:TrustedResourceUrl"};_.Tc=function(a){return _.Sc(_.Nc(a))};Pc={};_.Sc=function(a){var b=new _.Qc;b.dC=a;return b}; var Xc,Uc,Yc;_.Vc=function(){this.$l="";this.vP=Uc};_.Vc.prototype.Bh=!0;_.Vc.prototype.$f=function(){return this.$l};_.Vc.prototype.KA=!0;_.Vc.prototype.ql=function(){return 1};_.Wc=function(a){if(a instanceof _.Vc&&a.constructor===_.Vc&&a.vP===Uc)return a.$l;_.La(a);return"type_error:SafeUrl"};Xc=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;_.$c=function(a){if(a instanceof _.Vc)return a;a=a.Bh?a.$f():String(a);Xc.test(a)||(a="about:invalid#zClosurez");return Yc(a)}; _.ad=function(a){if(a instanceof _.Vc)return a;a=a.Bh?a.$f():String(a);Xc.test(a)||(a="about:invalid#zClosurez");return Yc(a)};Uc={};Yc=function(a){var b=new _.Vc;b.$l=a;return b};Yc("about:blank"); _.cd=function(){this.cC="";this.uP=_.bd};_.cd.prototype.Bh=!0;_.bd={};_.cd.prototype.$f=function(){return this.cC};_.cd.prototype.Ci=function(a){this.cC=a;return this};_.dd=(new _.cd).Ci("");_.fd=function(){this.bC="";this.tP=_.ed};_.fd.prototype.Bh=!0;_.ed={};_.hd=function(a){a=_.Nc(a);return 0===a.length?gd:(new _.fd).Ci(a)};_.fd.prototype.$f=function(){return this.bC};_.fd.prototype.Ci=function(a){this.bC=a;return this};var gd=(new _.fd).Ci(""); var jd;_.kd=function(){this.$l="";this.sP=jd;this.LG=null};_.kd.prototype.KA=!0;_.kd.prototype.ql=function(){return this.LG};_.kd.prototype.Bh=!0;_.kd.prototype.$f=function(){return this.$l};_.ld=function(a){if(a instanceof _.kd&&a.constructor===_.kd&&a.sP===jd)return a.$l;_.La(a);return"type_error:SafeHtml"};jd={};_.md=function(a,b){return(new _.kd).Ci(a,b)};_.kd.prototype.Ci=function(a,b){this.$l=a;this.LG=b;return this};_.md("",0);_.nd=_.md("",0);_.od=_.md("
      ",0); _.pd=function(a,b){b=b instanceof _.Vc?b:_.ad(b);a.href=_.Wc(b)};var vd,yd,Ad;_.sd=function(a){return a?new _.qd(_.rd(a)):rc||(rc=new _.qd)};_.td=function(a,b){return _.v(b)?a.getElementById(b):b}; _.ud=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(a.querySelectorAll&&a.querySelector&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,h;h=a[f];f++)b==h.nodeName&&(d[e++]=h);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;h=a[f];f++)b=h.className,"function"==typeof b.split&&_.qb(b.split(/\s+/),c)&&(d[e++]=h);d.length=e;return d}return a}; _.wd=function(a,b){_.Eb(b,function(b,d){b&&b.Bh&&(b=b.$f());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:vd.hasOwnProperty(d)?a.setAttribute(vd[d],b):_.uc(d,"aria-")||_.uc(d,"data-")?a.setAttribute(d,b):a[d]=b})};vd={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"}; _.xd=function(a){return a?a.parentWindow||a.defaultView:window};_.zd=function(a,b){var c=String(b[0]),d=b[1];if(!Fc&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',_.Cc(d.name),'"');if(d.type){c.push(' type="',_.Cc(d.type),'"');var e={};_.Gb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(_.v(d)?c.className=d:_.Ma(d)?c.className=d.join(" "):_.wd(c,d));21/a&&(a="-0"),b[b.length]=String(a);else if(e===Ge)b[b.length]=String(!!Number(a));else{if(e===Fe)return Ke(a.toISOString.call(a),c);if(e===Je&&De(a.length)===Ee){b[b.length]="[";var f=0;for(d=Number(a.length)>>0;f>0;f=e?"\\u"+(e+65536).toString(16).substr(1):32<=e&&65535>=e?d:"\ufffd";b[b.length]='"'}else if("object"===d){b[b.length]="{";d=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e=Ke(a[f],c),void 0!==e&&(d++&&(b[b.length]=","),b[b.length]=Ke(f),b[b.length]=":",b[b.length]=e));b[b.length]="}"}else return}return b.join("")}};Le=/[\0-\x07\x0b\x0e-\x1f]/; Me=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/;Ne=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/;Oe=/^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/;Pe=/"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g;Qe=/-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g;Re=/[ \t\n\r]+/g;Se=/[^"]:/;Te=/""/g;Ue=/true|false|null/g;We=/00/;Xe=/[\{]([^0\}]|0[^:])/;Ye=/(^|\[)[,:]|[,:](\]|\}|[,:]|$)/;Ze=/[^\[,:][\[\{]/;$e=/^(\{|\}|\[|\]|,|:|0)+/;af=/\u2028/g; bf=/\u2029/g; cf=function(a){a=String(a);if(Le.test(a)||Me.test(a)||Ne.test(a)||Oe.test(a))return!1;var b=a.replace(Pe,'""');b=b.replace(Qe,"0");b=b.replace(Re,"");if(Se.test(b))return!1;b=b.replace(Te,"0");b=b.replace(Ue,"0");if(We.test(b)||Xe.test(b)||Ye.test(b)||Ze.test(b)||!b||(b=b.replace($e,"")))return!1;a=a.replace(af,"\\u2028").replace(bf,"\\u2029");b=void 0;try{b=Be?[Ce(a)]:eval("(function (var_args) {\n return Array.prototype.slice.call(arguments, 0);\n})(\n"+a+"\n)")}catch(c){return!1}return b&&1=== b.length?b[0]:!1};df=function(){var a=((_.m.document||{}).scripts||[]).length;if((void 0===ze||void 0===Be||Ae!==a)&&-1!==Ae){ze=Be=!1;Ae=-1;try{try{Be=!!_.m.JSON&&'{"a":[3,true,"1970-01-01T00:00:00.000Z"]}'===_.m.JSON.stringify.call(_.m.JSON,{a:[3,!0,new Date(0)],c:function(){}})&&!0===Ce("true")&&3===Ce('[{"a":3}]')[0].a}catch(b){}ze=Be&&!Ce("[00]")&&!Ce('"\u0007"')&&!Ce('"\\0"')&&!Ce('"\\v"')}finally{Ae=a}}};_.ef=function(a){if(-1===Ae)return!1;df();return(ze?Ce:cf)(a)}; _.ff=function(a){if(-1!==Ae)return df(),Be?_.m.JSON.stringify.call(_.m.JSON,a):Ke(a)};gf=!Date.prototype.toISOString||"function"!==typeof Date.prototype.toISOString||"1970-01-01T00:00:00.000Z"!==(new Date(0)).toISOString(); hf=function(){var a=Date.prototype.getUTCFullYear.call(this);return[0>a?"-"+String(1E6-a).substr(1):9999>=a?String(1E4+a).substr(1):"+"+String(1E6+a).substr(1),"-",String(101+Date.prototype.getUTCMonth.call(this)).substr(1),"-",String(100+Date.prototype.getUTCDate.call(this)).substr(1),"T",String(100+Date.prototype.getUTCHours.call(this)).substr(1),":",String(100+Date.prototype.getUTCMinutes.call(this)).substr(1),":",String(100+Date.prototype.getUTCSeconds.call(this)).substr(1),".",String(1E3+Date.prototype.getUTCMilliseconds.call(this)).substr(1), "Z"].join("")};Date.prototype.toISOString=gf?hf:Date.prototype.toISOString; _.w("gadgets.json.stringify",_.ff);_.w("gadgets.json.parse",_.ef); _.Rf=window.gapi&&window.gapi.util||{}; _.Tf=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);/^[\w\-]*:\/\//.test(a)||(a=window.location.href);var b=a.substring(a.indexOf("://")+3),c=b.indexOf("/");-1!=c&&(b=b.substring(0,c));a=a.substring(0,a.indexOf("://"));if("http"!==a&&"https"!==a&&"chrome-extension"!==a&&"file"!==a&&"android-app"!==a&&"chrome-search"!==a&&"app"!==a)throw Error("w`"+a);c="";var d=b.indexOf(":");if(-1!=d){var e=b.substring(d+1);b=b.substring(0, d);if("http"===a&&"80"!==e||"https"===a&&"443"!==e)c=":"+e}return a+"://"+b+c}; _.Rf.Qa=function(a){return _.Tf(a)}; var ue;ue=window.console;_.ve=function(a){ue&&ue.log&&ue.log(a)};_.we=function(a){ue&&(ue.error?ue.error(a):ue.log&&ue.log(a))};_.xe=function(){}; _.K=_.K||{}; _.K=_.K||{}; (function(){var a=null;_.K.Hc=function(b){var c="undefined"===typeof b;if(null!==a&&c)return a;var d={};b=b||window.location.href;var e=b.indexOf("?"),f=b.indexOf("#");b=(-1===f?b.substr(e+1):[b.substr(e+1,f-e-1),"&",b.substr(f+1)].join("")).split("&");e=window.decodeURIComponent?window.decodeURIComponent:window.unescape;f=0;for(var h=b.length;f=b.length?b:b.substr(0,512)+"... ("+b.length+" bytes)"));var c=0!==b.indexOf("!_");c||(b=b.substring(2));var d=ci(b);if(!c&&!d){if(!d&&(c=bi(b))){if(this.sD[c])this.sD[c]();else this.QD[c]=1;return}var e=a.origin,f=this.rs.zR;this.gS?_.Nd.setTimeout(function(){f(b,e)},0):f(b,e)}};ai.prototype.Ec=function(a,b){".."===a||this.QD[a]?(b(),delete this.QD[a]):this.sD[a]=b}; var $h=function(a,b,c,d){var e=ci(c)?"":"!_";(0,_.xe)("gapi.rpc.send("+Xh+"): "+(!c||512>=c.length?c:c.substr(0,512)+"... ("+c.length+" bytes)"));a.BK(b,e+c,d)};ai.prototype.vR=function(a,b,c){a.postMessage(b,c)};ai.prototype.send=function(a,b,c){(a=this.rs.aI(this.Ge,a))&&!a.closed&&$h(this,a,b,c)}; var di,ei,fi,gi,hi,ii,ji,ki,Uh,Xh,li,mi,ni,oi,Wh,Yh,qi,ri,wi,xi,zi,Zh,Bi,Ai,si,ti,Ci,Vh,Di,Ei;di=0;ei=[];fi={};gi={};hi=_.K.Hc;ii=hi();ji=ii.rpctoken;ki=ii.parent||_.Od.referrer;Uh=ii.rly;Xh=Uh||(_.Nd!==_.Nd.top||_.Nd.opener)&&_.Nd.name||"..";li=null;mi={};ni=function(){};oi={send:ni,Ec:ni}; Wh=function(a,b){"/"==b.charAt(0)&&(b=b.substring(1),a=_.Nd.top);for(b=b.split("/");b.length;){var c=b.shift();"{"==c.charAt(0)&&"}"==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(".."===c)a=a==a.parent?a.opener:a.parent;else if(".."!==c&&a.frames[c]){if(a=a.frames[c],!("postMessage"in a))throw"Not a window";}else return null}return a};Yh=function(a){return(a=fi[a])&&a.Ek}; qi=function(a){if(a.f in{})return!1;var b=a.t,c=fi[a.r];a=a.origin;return c&&(c.Ek===b||!c.Ek&&!b)&&(a===c.origin||"*"===c.origin)};ri=function(a){var b=a.id.split("/"),c=b[b.length-1],d=a.origin;return function(a){var b=a.origin;return a.f==c&&(d==b||"*"==d)}};_.ui=function(a,b,c){a=si(a);gi[a.name]={Mg:b,Sq:a.Sq,Ao:c||qi};ti()};_.vi=function(a){delete gi[si(a).name]};wi={};xi=function(a,b){(a=wi["_"+a])&&a[1](this)&&a[0].call(this,b)}; zi=function(a){var b=a.c;if(!b)return ni;var c=a.r,d=a.g?"legacy__":"";return function(){var a=[].slice.call(arguments,0);a.unshift(c,d+"__cb",null,b);_.yi.apply(null,a)}};Zh=function(a){li=a};Bi=function(a){mi[a]||(mi[a]=_.Nd.setTimeout(function(){mi[a]=!1;Ai(a)},0))};Ai=function(a){var b=fi[a];if(b&&b.ready){var c=b.fC;for(b.fC=[];c.length;)oi.send(a,_.ff(c.shift()),b.origin)}};si=function(a){return 0===a.indexOf("legacy__")?{name:a.substring(8),Sq:!0}:{name:a,Sq:!1}}; ti=function(){for(var a=_.H("rpc/residenceSec")||60,b=(new Date).getTime()/1E3,c=0,d;d=ei[c];++c){var e=d.im;if(!e||0a)ei.splice(c,1),--c;else{var f=e.s,h=gi[f]||gi["*"];if(h)if(ei.splice(c,1),--c,e.origin=d.origin,d=zi(e),e.callback=d,h.Ao(e)){if("__cb"!==f&&!!h.Sq!=!!e.g)break;e=h.Mg.apply(e,e.a);void 0!==e&&d(e)}else(0,_.xe)("gapi.rpc.rejected("+Xh+"): "+f)}}};Ci=function(a,b,c){ei.push({im:a,origin:b,timestamp:(new Date).getTime()/1E3});c||ti()}; Vh=function(a,b){a=_.ef(a);Ci(a,b,!1)};Di=function(a){for(;a.length;)Ci(a.shift(),this.origin,!0);ti()};Ei=function(a){var b=!1;a=a.split("|");var c=a[0];0<=c.indexOf("/")&&(b=!0);return{id:c,origin:a[1]||"*",UA:b}}; _.Fi=function(a,b,c,d){var e=Ei(a);d&&(_.Nd.frames[e.id]=_.Nd.frames[e.id]||d);a=e.id;if(!fi.hasOwnProperty(a)){c=c||null;d=e.origin;if(".."===a)d=_.Rf.Qa(ki),c=c||ji;else if(!e.UA){var f=_.Od.getElementById(a);f&&(f=f.src,d=_.Rf.Qa(f),c=c||hi(f).rpctoken)}"*"===e.origin&&d||(d=e.origin);fi[a]={Ek:c,fC:[],origin:d,bZ:b,HK:function(){var b=a;fi[b].ready=1;Ai(b)}};oi.Ec(a,fi[a].HK)}return fi[a].HK}; _.yi=function(a,b,c,d){a=a||"..";_.Fi(a);a=a.split("|",1)[0];var e=b,f=[].slice.call(arguments,3),h=c,k=Xh,l=ji,n=fi[a],p=k,q=Ei(a);if(n&&".."!==a){if(q.UA){if(!(l=fi[a].bZ)){l=li?li.substring(1).split("/"):[Xh];p=l.length-1;for(var t=_.Nd.parent;t!==_.Nd.top;){var y=t.parent;if(!p--){for(var u=null,x=y.frames.length,F=0;Fb?null:_.v(a)?a.charAt(b):a[b]};_.Ii=[];_.Ji=[];_.Ki=!1;_.Li=function(a){_.Ii[_.Ii.length]=a;if(_.Ki)for(var b=0;b<_.Ji.length;b++)a((0,_.C)(_.Ji[b].wrap,_.Ji[b]))}; _.Mi=function(a){return function(){return a}}(!0); var Ni,Oi,Ui;Ni=null;Oi=/^[\w+/_-]+[=]{0,2}$/;_.Pi=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,_.Pi);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};_.B(_.Pi,Error);_.Pi.prototype.name="CustomError";_.Qi=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};_.Ri=function(a){var b={},c;for(c in a)b[c]=a[c];return b}; _.Si=function(a,b){a.src=_.Rc(b);if(null===Ni){a:{if((b=_.m.document.querySelector("script[nonce]"))&&(b=b.nonce||b.getAttribute("nonce"))&&Oi.test(b))break a;b=null}Ni=b||""}(b=Ni)&&a.setAttribute("nonce",b)};_.Ti=function(a){return a};Ui=function(a,b){this.rR=a;this.QY=b;this.wv=0;this.Te=null};Ui.prototype.get=function(){if(0this.wv&&(this.wv++,a.next=this.Te,this.Te=a)}; var Vi,Xi,Yi,Wi;Vi=function(a){_.m.setTimeout(function(){throw a;},0)};_.Zi=function(a){a=Wi(a);!_.Va(_.m.setImmediate)||_.m.Window&&_.m.Window.prototype&&!_.Db("Edge")&&_.m.Window.prototype.setImmediate==_.m.setImmediate?(Xi||(Xi=Yi()),Xi(a)):_.m.setImmediate(a)}; Yi=function(){var a=_.m.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!_.Db("Presto")&&(a=function(){var a=window.document.createElement("IFRAME");a.style.display="none";a.src="";window.document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host;a=(0,_.C)(function(a){if(("*"== d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!_.Ib()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(_.r(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof window.document&&"onreadystatechange"in window.document.createElement("SCRIPT")?function(a){var b=window.document.createElement("SCRIPT"); b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};window.document.documentElement.appendChild(b)}:function(a){_.m.setTimeout(a,0)}};Wi=_.Ti;_.Li(function(a){Wi=a}); var $i=function(){this.Uw=this.Do=null},bj=new Ui(function(){return new aj},function(a){a.reset()});$i.prototype.add=function(a,b){var c=bj.get();c.set(a,b);this.Uw?this.Uw.next=c:this.Do=c;this.Uw=c};$i.prototype.remove=function(){var a=null;this.Do&&(a=this.Do,this.Do=this.Do.next,this.Do||(this.Uw=null),a.next=null);return a};var aj=function(){this.next=this.scope=this.Mg=null};aj.prototype.set=function(a,b){this.Mg=a;this.scope=b;this.next=null}; aj.prototype.reset=function(){this.next=this.scope=this.Mg=null}; var cj,dj,ej,fj,hj;_.gj=function(a,b){cj||dj();ej||(cj(),ej=!0);fj.add(a,b)};dj=function(){if(_.m.Promise&&_.m.Promise.resolve){var a=_.m.Promise.resolve(void 0);cj=function(){a.then(hj)}}else cj=function(){_.Zi(hj)}};ej=!1;fj=new $i;hj=function(){for(var a;a=fj.remove();){try{a.Mg.call(a.scope)}catch(b){Vi(b)}bj.put(a)}ej=!1}; _.ij=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0};_.jj=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var lj,mj,wj,uj;_.kj=function(a,b){this.Da=0;this.Pi=void 0;this.Tm=this.vj=this.hb=null;this.uu=this.fz=!1;if(a!=_.Ta)try{var c=this;a.call(b,function(a){c.Wg(2,a)},function(a){c.Wg(3,a)})}catch(d){this.Wg(3,d)}};lj=function(){this.next=this.context=this.On=this.gr=this.Uk=null;this.Yo=!1};lj.prototype.reset=function(){this.context=this.On=this.gr=this.Uk=null;this.Yo=!1};mj=new Ui(function(){return new lj},function(a){a.reset()});_.nj=function(a,b,c){var d=mj.get();d.gr=a;d.On=b;d.context=c;return d}; _.oj=function(a){if(a instanceof _.kj)return a;var b=new _.kj(_.Ta);b.Wg(2,a);return b};_.pj=function(a){return new _.kj(function(b,c){c(a)})};_.rj=function(a,b,c){qj(a,b,c,null)||_.gj(_.Gi(b,a))};_.tj=function(){var a,b,c=new _.kj(function(c,e){a=c;b=e});return new sj(c,a,b)};_.kj.prototype.then=function(a,b,c){return uj(this,_.Va(a)?a:null,_.Va(b)?b:null,c)};_.ij(_.kj);_.kj.prototype.JD=function(a,b){return uj(this,null,a,b)}; _.kj.prototype.cancel=function(a){0==this.Da&&_.gj(function(){var b=new vj(a);wj(this,b)},this)};wj=function(a,b){if(0==a.Da)if(a.hb){var c=a.hb;if(c.vj){for(var d=0,e=null,f=null,h=c.vj;h&&(h.Yo||(d++,h.Uk==a&&(e=h),!(e&&1b?e>f?e:f:ee;e++)d[e]=b.charCodeAt(c)<<24|b.charCodeAt(c+1)<<16|b.charCodeAt(c+2)<<8|b.charCodeAt(c+3),c+=4;else for(e=0;16>e;e++)d[e]=b[c]<<24|b[c+1]<<16|b[c+2]<<8|b[c+3],c+=4;for(e=16;80>e;e++){var f=d[e-3]^d[e-8]^d[e-14]^d[e-16];d[e]=(f<<1|f>>>31)&4294967295}b=a.Fc[0];c=a.Fc[1];var h=a.Fc[2],k=a.Fc[3],l=a.Fc[4];for(e=0;80>e;e++){if(40>e)if(20>e){f=k^c&(h^k);var n=1518500249}else f=c^h^k,n=1859775393;else 60>e?(f=c&h|k&(c|h),n=2400959708): (f=c^h^k,n=3395469782);f=(b<<5|b>>>27)+f+l+n+d[e]&4294967295;l=k;k=h;h=(c<<30|c>>>2)&4294967295;c=b;b=f}a.Fc[0]=a.Fc[0]+b&4294967295;a.Fc[1]=a.Fc[1]+c&4294967295;a.Fc[2]=a.Fc[2]+h&4294967295;a.Fc[3]=a.Fc[3]+k&4294967295;a.Fc[4]=a.Fc[4]+l&4294967295}; _.jh.prototype.update=function(a,b){if(null!=a){_.r(b)||(b=a.length);for(var c=b-this.tj,d=0,e=this.Xx,f=this.An;dthis.An?this.update(this.Jv,56-this.An):this.update(this.Jv,this.tj-(this.An-56));for(var c=this.tj-1;56<=c;c--)this.Xx[c]=b&255,b/=256;kh(this,this.Xx);for(c=b=0;5>c;c++)for(var d=24;0<=d;d-=8)a[b]=this.Fc[c]>>d&255,++b;return a}; _.lh=function(){this.rD=new _.jh};_.g=_.lh.prototype;_.g.reset=function(){this.rD.reset()};_.g.NM=function(a){this.rD.update(a)};_.g.KG=function(){return this.rD.digest()};_.g.SD=function(a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var b=[],c=0,d=a.length;c/g;Zj=/"/g;ak=/'/g;bk=function(a){return String(a).replace(Wj,"&").replace(Xj,"<").replace(Yj,">").replace(Zj,""").replace(ak,"'")};ck=/[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g; dk=/%([a-f]|[0-9a-fA-F][a-f])/g;ek=/^(https?|ftp|file|chrome-extension):$/i; fk=function(a){a=String(a);a=a.replace(ck,function(a){try{return(0,window.encodeURIComponent)(a)}catch(f){return(0,window.encodeURIComponent)(a.replace(/^[^%]+$/g,"\ufffd"))}}).replace(_.Zd,function(a){return a.replace(/%/g,"%25")}).replace(dk,function(a){return a.toUpperCase()});a=a.match(_.Yd)||[];var b=_.G(),c=function(a){return a.replace(/\\/g,"%5C").replace(/\^/g,"%5E").replace(/`/g,"%60").replace(/\{/g,"%7B").replace(/\|/g,"%7C").replace(/\}/g,"%7D")},d=!!(a[1]||"").match(ek);b.gp=c((a[1]|| "")+(a[2]||"")+(a[3]||(a[2]&&d?"/":"")));d=function(a){return c(a.replace(/\?/g,"%3F").replace(/#/g,"%23"))};b.query=a[5]?[d(a[5])]:[];b.nh=a[7]?[d(a[7])]:[];return b};gk=function(a){return a.gp+(0++c);_.Vj(5>c,"Error creating iframe id");return d};_.xk=function(a,b){return a?b+"/"+a:""}; _.yk=function(a,b,c,d){var e={},f={};a.documentMode&&9>a.documentMode&&(e.hostiemode=a.documentMode);_.Vd(d.queryParams||{},e);_.Vd(d.fragmentParams||{},f);var h=d.pfname;var k=_.G();_.H("iframes/dropLegacyIdParam")||(k.id=c);k._gfid=c;k.parent=a.location.protocol+"//"+a.location.host;c=_.Xd(a.location.href,"parent");h=h||"";!h&&c&&(h=_.Xd(a.location.href,"_gfid","")||_.Xd(a.location.href,"id",""),h=_.xk(h,_.Xd(a.location.href,"pfname","")));h||(c=_.ef(_.Xd(a.location.href,"jcp","")))&&"object"== typeof c&&(h=_.xk(c.id,c.pfname));k.pfname=h;d.connectWithJsonParam&&(h={},h.jcp=_.ff(k),k=h);h=_.Xd(b,"rpctoken")||e.rpctoken||f.rpctoken;h||(h=d.rpctoken||String(Math.round(1E8*_.Nj())),k.rpctoken=h);d.rpctoken=h;_.Vd(k,d.connectWithQueryParams?e:f);k=a.location.href;a=_.G();(h=_.Xd(k,"_bsh",_.de.bsh))&&(a._bsh=h);(k=_.de.dpo?_.de.h:_.Xd(k,"jsh",_.de.h))&&(a.jsh=k);d.hintInFragment?_.Vd(a,f):_.Vd(a,e);return _.ik(b,e,f,d.paramsSerializer)}; zk=function(a){_.Vj(!a||_.kk.test(a),"Illegal url for new iframe - "+a)}; _.Ak=function(a,b,c,d,e){zk(c.src);var f,h=qk(d,c),k=h?rk(d):"";try{window.document.all&&(f=a.createElement('