Created
June 8, 2019 18:51
-
-
Save extensionsapp/f9d1061cc13ea9408ecf790d0ccb24f1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 'use strict'; | |
| window.jstiming.load.tick("jbl"); | |
| /** @type {string} */ | |
| var aa = "%1$s"; | |
| /** @type {string} */ | |
| var ba = "-caption"; | |
| /** @type {string} */ | |
| var ca = "-content"; | |
| /** @type {string} */ | |
| var da = "-disabled"; | |
| /** @type {string} */ | |
| var ea = "-dropdown"; | |
| /** @type {string} */ | |
| var fa = "//translate.google.com/toolkit/upload?"; | |
| /** @type {string} */ | |
| var ga = "/gen204?"; | |
| /** @type {string} */ | |
| var ha = "/translate/uc?ua=dcp&uav="; | |
| /** @type {string} */ | |
| var ia = "/translate_a/sg?client=t&"; | |
| /** @type {string} */ | |
| var ka = "/translate_a/single"; | |
| /** @type {string} */ | |
| var la = "</div>"; | |
| /** @type {string} */ | |
| var ma = '<div class="gt-pb-lbl">'; | |
| /** @type {string} */ | |
| var na = "Android"; | |
| /** @type {string} */ | |
| var oa = "BUTTON"; | |
| /** @type {string} */ | |
| var pa = "Component already rendered"; | |
| /** @type {string} */ | |
| var qa = "Cyrl"; | |
| /** @type {string} */ | |
| var k = "DIV"; | |
| /** @type {string} */ | |
| var ra = "Edge"; | |
| /** @type {string} */ | |
| var sa = "IMG"; | |
| /** @type {string} */ | |
| var ta = "INPUT"; | |
| /** @type {string} */ | |
| var ua = "Noto Naskh Arabic"; | |
| /** @type {string} */ | |
| var va = "Opera"; | |
| /** @type {string} */ | |
| var wa = "POST"; | |
| /** @type {string} */ | |
| var xa = "SCRIPT"; | |
| /** @type {string} */ | |
| var ya = "SELECT"; | |
| /** @type {string} */ | |
| var za = "SPAN"; | |
| /** @type {string} */ | |
| var Ca = "StartToEnd"; | |
| /** @type {string} */ | |
| var Da = "TEXTAREA"; | |
| /** @type {string} */ | |
| var Ea = "Unable to set parent component"; | |
| /** @type {string} */ | |
| var Fa = "Uneven number of arguments"; | |
| /** @type {string} */ | |
| var Ga = "absolute"; | |
| /** @type {string} */ | |
| var Ha = "accumulate"; | |
| /** @type {string} */ | |
| var p = "action"; | |
| /** @type {string} */ | |
| var Ia = "activedescendant"; | |
| /** @type {string} */ | |
| var Ja = "all"; | |
| /** @type {string} */ | |
| var Ka = "all|all"; | |
| /** @type {string} */ | |
| var La = "alt-edited"; | |
| /** @type {string} */ | |
| var Ma = "application/x-www-form-urlencoded"; | |
| /** @type {string} */ | |
| var Na = "aria-activedescendant"; | |
| /** @type {string} */ | |
| var Oa = "array"; | |
| /** @type {string} */ | |
| var Pa = "authuser"; | |
| /** @type {string} */ | |
| var Qa = "auto"; | |
| /** @type {string} */ | |
| var Ra = "beforedragstart"; | |
| /** @type {string} */ | |
| var Sa = "beforehide"; | |
| /** @type {string} */ | |
| var Ta = "beforeshow"; | |
| /** @type {string} */ | |
| var Ua = "beforeunload"; | |
| /** @type {string} */ | |
| var Va = "blur"; | |
| /** @type {string} */ | |
| var Wa = "border-box"; | |
| /** @type {string} */ | |
| var Xa = "button"; | |
| /** @type {string} */ | |
| var Ya = "change"; | |
| /** @type {string} */ | |
| var Za = "character"; | |
| /** @type {string} */ | |
| var $a = "checked"; | |
| /** @type {string} */ | |
| var r = "click"; | |
| /** @type {string} */ | |
| var ab = "client"; | |
| /** @type {string} */ | |
| var bb = "collapse"; | |
| /** @type {string} */ | |
| var cb = "community-promo"; | |
| /** @type {string} */ | |
| var db = "complete"; | |
| /** @type {string} */ | |
| var eb = "contextmenu"; | |
| /** @type {string} */ | |
| var fb = "data-tooltip"; | |
| /** @type {string} */ | |
| var hb = "data-tooltip-align"; | |
| /** @type {string} */ | |
| var ib = "data-tooltip-contained"; | |
| /** @type {string} */ | |
| var jb = "data-tooltip-suspended"; | |
| /** @type {string} */ | |
| var kb = "default"; | |
| /** @type {string} */ | |
| var lb = "detectSrcUpdated"; | |
| /** @type {string} */ | |
| var nb = "direction"; | |
| /** @type {string} */ | |
| var ob = "direction: %s"; | |
| /** @type {string} */ | |
| var pb = "display:none"; | |
| /** @type {string} */ | |
| var qb = "div"; | |
| /** @type {string} */ | |
| var rb = "dragstart"; | |
| /** @type {string} */ | |
| var sb = "earlycancel"; | |
| /** @type {string} */ | |
| var t = "en"; | |
| /** @type {string} */ | |
| var tb = "en-us-t-k0-intl"; | |
| /** @type {string} */ | |
| var ub = "end"; | |
| /** @type {string} */ | |
| var vb = "finish"; | |
| /** @type {string} */ | |
| var wb = "focus"; | |
| /** @type {string} */ | |
| var xb = "focusin"; | |
| /** @type {string} */ | |
| var yb = "focusout"; | |
| /** @type {string} */ | |
| var zb = "formality"; | |
| /** @type {string} */ | |
| var Ab = "fr-t-k0-und"; | |
| /** @type {string} */ | |
| var Bb = "function"; | |
| /** @type {string} */ | |
| var Cb = "goog-buttonset-default"; | |
| /** @type {string} */ | |
| var Db = "goog-flat-button"; | |
| /** @type {string} */ | |
| var Eb = "goog-flat-menu-button"; | |
| /** @type {string} */ | |
| var Fb = "goog-groupmenu-separator"; | |
| /** @type {string} */ | |
| var Gb = "goog-inline-block"; | |
| /** @type {string} */ | |
| var Hb = "goog-inline-block "; | |
| /** @type {string} */ | |
| var Ib = "goog-menu"; | |
| /** @type {string} */ | |
| var Jb = "goog-menu-button"; | |
| /** @type {string} */ | |
| var Kb = "goog-menuheader"; | |
| /** @type {string} */ | |
| var Lb = "goog-menuitem-emphasize-highlight"; | |
| /** @type {string} */ | |
| var Mb = "goog-menuitem-group"; | |
| /** @type {string} */ | |
| var Nb = "goog-menuseparator"; | |
| /** @type {string} */ | |
| var Ob = "goog-option"; | |
| /** @type {string} */ | |
| var Pb = "goog-option-selected"; | |
| /** @type {string} */ | |
| var Qb = "gt-baf-back"; | |
| /** @type {string} */ | |
| var Rb = "gt-baf-cell"; | |
| /** @type {string} */ | |
| var Sb = "gt-baf-entry-clickable"; | |
| /** @type {string} */ | |
| var Tb = "gt-baf-hl"; | |
| /** @type {string} */ | |
| var Ub = "gt-baf-word-clickable"; | |
| /** @type {string} */ | |
| var Vb = "gt-card-expand-wrapper"; | |
| /** @type {string} */ | |
| var Wb = "gt-card-fadein-wrapper"; | |
| /** @type {string} */ | |
| var Xb = "gt-card-widen-wrapper"; | |
| /** @type {string} */ | |
| var Yb = "gt-cd-cl"; | |
| /** @type {string} */ | |
| var Zb = "gt-cd-pos"; | |
| /** @type {string} */ | |
| var $b = "gt-input-tool"; | |
| /** @type {string} */ | |
| var ac = "gt-related-suggest-message"; | |
| /** @type {string} */ | |
| var bc = "gt-res-copy"; | |
| /** @type {string} */ | |
| var cc = "gt-res-edit"; | |
| /** @type {string} */ | |
| var dc = "gt-res-formality"; | |
| /** @type {string} */ | |
| var ec = "gt-res-tools-r"; | |
| /** @type {string} */ | |
| var fc = "gt-res-undo"; | |
| /** @type {string} */ | |
| var gc = "gt-spell-correct-message"; | |
| /** @type {string} */ | |
| var ic = "gt-src-tools"; | |
| /** @type {string} */ | |
| var jc = "gt-src-tools-l"; | |
| /** @type {string} */ | |
| var kc = "gt-syn-row"; | |
| /** @type {string} */ | |
| var lc = "gt-syn-summary-row"; | |
| /** @type {string} */ | |
| var mc = "haspopup"; | |
| /** @type {string} */ | |
| var nc = "hi-t-k0-qwerty"; | |
| /** @type {string} */ | |
| var oc = "hidden"; | |
| /** @type {string} */ | |
| var pc = "hide"; | |
| /** @type {string} */ | |
| var qc = "highlight"; | |
| /** @type {string} */ | |
| var rc = "horizontal"; | |
| /** @type {string} */ | |
| var sc = "https://chekhov.withgoogle.com/?utm_source=other&utm_medium=gtranslate&utm_campaign="; | |
| /** @type {string} */ | |
| var tc = "iPad"; | |
| /** @type {string} */ | |
| var uc = "iPod"; | |
| /** @type {string} */ | |
| var vc = "init"; | |
| /** @type {string} */ | |
| var wc = "input"; | |
| /** @type {string} */ | |
| var xc = "inputm"; | |
| /** @type {string} */ | |
| var yc = "javascript:void(0)"; | |
| /** @type {string} */ | |
| var zc = "jfk-butterBar-shown"; | |
| /** @type {string} */ | |
| var Ac = "jfk-button-action"; | |
| /** @type {string} */ | |
| var Bc = "jfk-button-img"; | |
| /** @type {string} */ | |
| var Cc = "jfk-button-label"; | |
| /** @type {string} */ | |
| var Dc = "jfk-button-narrow"; | |
| /** @type {string} */ | |
| var Ec = "jfk-button-standard"; | |
| /** @type {string} */ | |
| var Fc = "jfk-checkbox-checkmark"; | |
| /** @type {string} */ | |
| var Gc = "jfk-tooltip-hide"; | |
| /** @type {string} */ | |
| var Hc = "key"; | |
| /** @type {string} */ | |
| var Ic = "keydown"; | |
| /** @type {string} */ | |
| var Jc = "keypress"; | |
| /** @type {string} */ | |
| var Kc = "keyup"; | |
| /** @type {string} */ | |
| var Lc = "label"; | |
| /** @type {string} */ | |
| var Mc = "labelledby"; | |
| /** @type {string} */ | |
| var Nc = "languageSelected"; | |
| /** @type {string} */ | |
| var Oc = "latn-002-t-k0-und"; | |
| /** @type {string} */ | |
| var Pc = "left"; | |
| /** @type {string} */ | |
| var Qc = "ltr"; | |
| /** @type {string} */ | |
| var Rc = "margin"; | |
| /** @type {string} */ | |
| var Sc = "margin-right"; | |
| /** @type {string} */ | |
| var Tc = "margin-top"; | |
| /** @type {string} */ | |
| var Uc = "max-width"; | |
| /** @type {string} */ | |
| var Vc = "mousedown"; | |
| /** @type {string} */ | |
| var Wc = "mousemove"; | |
| /** @type {string} */ | |
| var Xc = "mouseout"; | |
| /** @type {string} */ | |
| var Yc = "mouseover"; | |
| /** @type {string} */ | |
| var Zc = "mouseup"; | |
| /** @type {string} */ | |
| var $c = "move_offscreen"; | |
| /** @type {string} */ | |
| var ad = "none"; | |
| /** @type {string} */ | |
| var bd = "number"; | |
| /** @type {string} */ | |
| var cd = "object"; | |
| /** @type {string} */ | |
| var dd = "opacity 1s linear"; | |
| /** @type {string} */ | |
| var ed = "overflow"; | |
| /** @type {string} */ | |
| var fd = "paddingLeft"; | |
| /** @type {string} */ | |
| var gd = "paddingRight"; | |
| /** @type {string} */ | |
| var hd = "paste"; | |
| /** @type {string} */ | |
| var id = "pbmUpdated"; | |
| /** @type {string} */ | |
| var kd = "play"; | |
| /** @type {string} */ | |
| var ld = "position"; | |
| /** @type {string} */ | |
| var md = "px"; | |
| /** @type {string} */ | |
| var nd = "res-translit"; | |
| /** @type {string} */ | |
| var od = "resize"; | |
| /** @type {string} */ | |
| var pd = "result_box"; | |
| /** @type {string} */ | |
| var qd = "right"; | |
| /** @type {string} */ | |
| var rd = "role"; | |
| /** @type {string} */ | |
| var sd = "rtl"; | |
| /** @type {string} */ | |
| var v = "ru"; | |
| /** @type {string} */ | |
| var td = "scroll"; | |
| /** @type {string} */ | |
| var ud = "select"; | |
| /** @type {string} */ | |
| var vd = "select_document"; | |
| /** @type {string} */ | |
| var wd = "selected"; | |
| /** @type {string} */ | |
| var xd = "separator"; | |
| /** @type {string} */ | |
| var yd = "short_text"; | |
| /** @type {string} */ | |
| var zd = "shortcut"; | |
| /** @type {string} */ | |
| var Ad = "show"; | |
| /** @type {string} */ | |
| var Bd = "sound_error"; | |
| /** @type {string} */ | |
| var Cd = "sound_finished"; | |
| /** @type {string} */ | |
| var Dd = "sound_interrupted"; | |
| /** @type {string} */ | |
| var Ed = "sound_play_start"; | |
| /** @type {string} */ | |
| var Fd = "source"; | |
| /** @type {string} */ | |
| var Gd = "source_changed"; | |
| /** @type {string} */ | |
| var Hd = "span"; | |
| /** @type {string} */ | |
| var Id = "spelling-correction"; | |
| /** @type {string} */ | |
| var Jd = "src-translit"; | |
| /** @type {string} */ | |
| var Kd = "srcEmphasizeUpdated"; | |
| /** @type {string} */ | |
| var Ld = "srcLanguageUpdated"; | |
| /** @type {string} */ | |
| var Md = "srcSuggestionUpdated"; | |
| /** @type {string} */ | |
| var Nd = "start"; | |
| /** @type {string} */ | |
| var Od = "staticSrcSuggestionUpdated"; | |
| /** @type {string} */ | |
| var Pd = "staticTgtSuggestionUpdated"; | |
| /** @type {string} */ | |
| var Qd = "stop_playlist"; | |
| /** @type {string} */ | |
| var Rd = "string"; | |
| /** @type {string} */ | |
| var Sd = "text/javascript"; | |
| /** @type {string} */ | |
| var Td = "textarea"; | |
| /** @type {string} */ | |
| var Ud = "textarea-placeholder-input"; | |
| /** @type {string} */ | |
| var Vd = "tgtEmphasizeUpdated"; | |
| /** @type {string} */ | |
| var Wd = "tgtLanguageUpdated"; | |
| /** @type {string} */ | |
| var Xd = "title"; | |
| /** @type {string} */ | |
| var Yd = "toggle_display"; | |
| /** @type {string} */ | |
| var Zd = "touchend"; | |
| /** @type {string} */ | |
| var $d = "touchmove"; | |
| /** @type {string} */ | |
| var ae = "touchstart"; | |
| /** @type {string} */ | |
| var be = "trans-listen-button"; | |
| /** @type {string} */ | |
| var ce = "trans-pb-button-saved"; | |
| /** @type {string} */ | |
| var de = "trans-target-empty"; | |
| /** @type {string} */ | |
| var ee = "trans-target-highlight"; | |
| /** @type {string} */ | |
| var fe = "transition"; | |
| /** @type {string} */ | |
| var ge = "translate"; | |
| /** @type {string} */ | |
| var he = "translation_changed"; | |
| /** @type {string} */ | |
| var ie = "true"; | |
| /** @type {string} */ | |
| var je = "unhighlight"; | |
| /** @type {string} */ | |
| var ke = "vertical"; | |
| /** @type {string} */ | |
| var le = "visibility"; | |
| /** @type {string} */ | |
| var me = "visible"; | |
| /** @type {string} */ | |
| var ne = "webkitvisibilitychange"; | |
| /** @type {string} */ | |
| var oe = "yue-hant-t-i0-und"; | |
| /** @type {string} */ | |
| var pe = "zh-CN"; | |
| /** @type {string} */ | |
| var qe = "zh-TW"; | |
| /** @type {string} */ | |
| var re = "zh-hant-t-i0-cangjie-1982"; | |
| /** @type {string} */ | |
| var se = "zh-hant-t-i0-pinyin"; | |
| /** @type {string} */ | |
| var te = "zh-hant-t-i0-und"; | |
| /** | |
| * @return {?} | |
| */ | |
| function ue() { | |
| return function() { | |
| }; | |
| } | |
| /** | |
| * @param {string} key | |
| * @return {?} | |
| */ | |
| function ve(key) { | |
| return function(knownModel) { | |
| this[key] = knownModel; | |
| }; | |
| } | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| function w(name) { | |
| return function() { | |
| return this[name]; | |
| }; | |
| } | |
| /** | |
| * @param {string} obj | |
| * @return {?} | |
| */ | |
| function x(obj) { | |
| return function() { | |
| return obj; | |
| }; | |
| } | |
| var y; | |
| var we = we || {}; | |
| /** @type {!global this} */ | |
| var z = this; | |
| /** | |
| * @param {?} num | |
| * @return {?} | |
| */ | |
| var xe = function(num) { | |
| return void 0 !== num; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {(!Function|string)} val | |
| * @return {undefined} | |
| */ | |
| var ye = function(name, val) { | |
| var parts = name.split("."); | |
| var cur = z; | |
| if (!(parts[0] in cur || !cur.execScript)) { | |
| cur.execScript("var " + parts[0]); | |
| } | |
| var part; | |
| for (; parts.length && (part = parts.shift());) { | |
| if (!parts.length && xe(val)) { | |
| /** @type {(!Function|string)} */ | |
| cur[part] = val; | |
| } else { | |
| if (cur[part]) { | |
| cur = cur[part]; | |
| } else { | |
| cur = cur[part] = {}; | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} dimension | |
| * @param {string} axis | |
| * @return {?} | |
| */ | |
| var ze = function(dimension, axis) { | |
| var _sizeAnimateTimeStamps = dimension.split("."); | |
| var at = axis || z; | |
| var part; | |
| for (; part = _sizeAnimateTimeStamps.shift();) { | |
| if (null != at[part]) { | |
| at = at[part]; | |
| } else { | |
| return null; | |
| } | |
| } | |
| return at; | |
| }; | |
| var Ae = ue(); | |
| /** | |
| * @param {!Function} x | |
| * @return {undefined} | |
| */ | |
| var Be = function(x) { | |
| /** | |
| * @return {?} | |
| */ | |
| x.M = function() { | |
| return x.Og ? x.Og : x.Og = new x; | |
| }; | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var Ce = function(value) { | |
| /** @type {string} */ | |
| var t = typeof value; | |
| if (t == cd) { | |
| if (value) { | |
| if (value instanceof Array) { | |
| return Oa; | |
| } | |
| if (value instanceof Object) { | |
| return t; | |
| } | |
| /** @type {string} */ | |
| var oldCondition = Object.prototype.toString.call(value); | |
| if ("[object Window]" == oldCondition) { | |
| return cd; | |
| } | |
| if ("[object Array]" == oldCondition || typeof value.length == bd && "undefined" != typeof value.splice && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("splice")) { | |
| return Oa; | |
| } | |
| if ("[object Function]" == oldCondition || "undefined" != typeof value.call && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("call")) { | |
| return Bb; | |
| } | |
| } else { | |
| return "null"; | |
| } | |
| } else { | |
| if (t == Bb && "undefined" == typeof value.call) { | |
| return cd; | |
| } | |
| } | |
| return t; | |
| }; | |
| /** | |
| * @param {string} obj | |
| * @return {?} | |
| */ | |
| var De = function(obj) { | |
| return Ce(obj) == Oa; | |
| }; | |
| /** | |
| * @param {!Object} task | |
| * @return {?} | |
| */ | |
| var Ee = function(task) { | |
| var cmd = Ce(task); | |
| return cmd == Oa || cmd == cd && typeof task.length == bd; | |
| }; | |
| /** | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| var Fe = function(val) { | |
| return typeof val == Rd; | |
| }; | |
| /** | |
| * @param {?} num | |
| * @return {?} | |
| */ | |
| var Ge = function(num) { | |
| return typeof num == bd; | |
| }; | |
| /** | |
| * @param {string} e | |
| * @return {?} | |
| */ | |
| var He = function(e) { | |
| return Ce(e) == Bb; | |
| }; | |
| /** | |
| * @param {!Object} type | |
| * @return {?} | |
| */ | |
| var Ie = function(type) { | |
| /** @type {string} */ | |
| var typeOfType = typeof type; | |
| return typeOfType == cd && null != type || typeOfType == Bb; | |
| }; | |
| /** | |
| * @param {!Function} val | |
| * @return {?} | |
| */ | |
| var Le = function(val) { | |
| return val[Je] || (val[Je] = ++Ke); | |
| }; | |
| /** @type {string} */ | |
| var Je = "closure_uid_" + (1E9 * Math.random() >>> 0); | |
| /** @type {number} */ | |
| var Ke = 0; | |
| /** | |
| * @param {!Function} a | |
| * @param {!Function} item | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| var Me = function(a, item, name) { | |
| return a.call.apply(a.bind, arguments); | |
| }; | |
| /** | |
| * @param {!Function} b | |
| * @param {!Function} a | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| var Ne = function(b, a, name) { | |
| if (!b) { | |
| throw Error(); | |
| } | |
| if (2 < arguments.length) { | |
| /** @type {!Array<?>} */ | |
| var cmd_args = Array.prototype.slice.call(arguments, 2); | |
| return function() { | |
| /** @type {!Array<?>} */ | |
| var c = Array.prototype.slice.call(arguments); | |
| Array.prototype.unshift.apply(c, cmd_args); | |
| return b.apply(a, c); | |
| }; | |
| } | |
| return function() { | |
| return b.apply(a, arguments); | |
| }; | |
| }; | |
| /** | |
| * @param {!Function} a | |
| * @param {!Function} b | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| var A = function(a, b, name) { | |
| /** @type {function(!Function, !Function, string): ?} */ | |
| A = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? Me : Ne; | |
| return A.apply(null, arguments); | |
| }; | |
| /** | |
| * @param {!Function} q | |
| * @param {?} expected | |
| * @return {?} | |
| */ | |
| var Oe = function(q, expected) { | |
| /** @type {!Array<?>} */ | |
| var c = Array.prototype.slice.call(arguments, 1); | |
| return function() { | |
| /** @type {!Array<?>} */ | |
| var all = c.slice(); | |
| all.push.apply(all, arguments); | |
| return q.apply(this, all); | |
| }; | |
| }; | |
| /** @type {function(): number} */ | |
| var Pe = Date.now || function() { | |
| return +new Date; | |
| }; | |
| /** | |
| * @param {!Object} x | |
| * @param {!Function} str | |
| * @return {undefined} | |
| */ | |
| var C = function(x, str) { | |
| /** | |
| * @return {undefined} | |
| */ | |
| function B() { | |
| } | |
| B.prototype = str.prototype; | |
| x.v = str.prototype; | |
| x.prototype = new B; | |
| /** @type {!Object} */ | |
| x.prototype.constructor = x; | |
| /** | |
| * @param {?} clss | |
| * @param {?} item | |
| * @param {?} changeMeta | |
| * @return {?} | |
| */ | |
| x.gk = function(clss, item, changeMeta) { | |
| /** @type {!Array} */ | |
| var args = Array(arguments.length - 2); | |
| /** @type {number} */ | |
| var i = 2; | |
| for (; i < arguments.length; i++) { | |
| args[i - 2] = arguments[i]; | |
| } | |
| return str.prototype[item].apply(clss, args); | |
| }; | |
| }; | |
| /** | |
| * @param {?} opt_msg | |
| * @return {undefined} | |
| */ | |
| var Qe = function(opt_msg) { | |
| if (Error.captureStackTrace) { | |
| Error.captureStackTrace(this, Qe); | |
| } else { | |
| /** @type {string} */ | |
| var stack = Error().stack; | |
| if (stack) { | |
| /** @type {string} */ | |
| this.stack = stack; | |
| } | |
| } | |
| if (opt_msg) { | |
| /** @type {string} */ | |
| this.message = String(opt_msg); | |
| } | |
| }; | |
| C(Qe, Error); | |
| /** @type {string} */ | |
| Qe.prototype.name = "CustomError"; | |
| var Re; | |
| /** | |
| * @param {!Object} attr | |
| * @param {string} val | |
| * @return {?} | |
| */ | |
| var Se = function(attr, val) { | |
| /** @type {number} */ | |
| var key = attr.length - val.length; | |
| return 0 <= key && attr.indexOf(val, key) == key; | |
| }; | |
| /** | |
| * @param {string} obj | |
| * @return {?} | |
| */ | |
| var Te = function(obj) { | |
| return /^[\s\xa0]*$/.test(obj); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var Ue = function(a) { | |
| return a.replace(/(\r\n|\r|\n)/g, "\n"); | |
| }; | |
| /** | |
| * @param {string} value1 | |
| * @return {?} | |
| */ | |
| var Ve = function(value1) { | |
| return value1.replace(/[\t\r\n ]+/g, " ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g, ""); | |
| }; | |
| /** @type {function(string): ?} */ | |
| var We = String.prototype.trim ? function(a) { | |
| return a.trim(); | |
| } : function(a) { | |
| return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g, ""); | |
| }; | |
| /** | |
| * @param {string} obj | |
| * @return {?} | |
| */ | |
| var Xe = function(obj) { | |
| return encodeURIComponent(String(obj)); | |
| }; | |
| /** | |
| * @param {string} replacement | |
| * @return {?} | |
| */ | |
| var Ye = function(replacement) { | |
| return decodeURIComponent(replacement.replace(/\+/g, " ")); | |
| }; | |
| /** | |
| * @param {string} commaParam | |
| * @return {?} | |
| */ | |
| var Ze = function(commaParam) { | |
| return commaParam.replace(/(\r\n|\r|\n)/g, "<br>"); | |
| }; | |
| /** | |
| * @param {string} type | |
| * @return {?} | |
| */ | |
| var hf = function(type) { | |
| if (!$e.test(type)) { | |
| return type; | |
| } | |
| if (-1 != type.indexOf("&")) { | |
| type = type.replace(af, "&"); | |
| } | |
| if (-1 != type.indexOf("<")) { | |
| type = type.replace(bf, "<"); | |
| } | |
| if (-1 != type.indexOf(">")) { | |
| type = type.replace(cf, ">"); | |
| } | |
| if (-1 != type.indexOf('"')) { | |
| type = type.replace(df, """); | |
| } | |
| if (-1 != type.indexOf("'")) { | |
| type = type.replace(ef, "'"); | |
| } | |
| if (-1 != type.indexOf("\x00")) { | |
| type = type.replace(ff, "�"); | |
| } | |
| return type; | |
| }; | |
| /** @type {!RegExp} */ | |
| var af = /&/g; | |
| /** @type {!RegExp} */ | |
| var bf = /</g; | |
| /** @type {!RegExp} */ | |
| var cf = />/g; | |
| /** @type {!RegExp} */ | |
| var df = /"/g; | |
| /** @type {!RegExp} */ | |
| var ef = /'/g; | |
| /** @type {!RegExp} */ | |
| var ff = /\x00/g; | |
| /** @type {!RegExp} */ | |
| var $e = /[\x00&<>"']/; | |
| /** | |
| * @param {string} key | |
| * @return {?} | |
| */ | |
| var lf = function(key) { | |
| return -1 != key.indexOf("&") ? "document" in z ? jf(key) : kf(key) : key; | |
| }; | |
| /** | |
| * @param {string} path | |
| * @return {?} | |
| */ | |
| var jf = function(path) { | |
| var props = { | |
| "&" : "&", | |
| "<" : "<", | |
| ">" : ">", | |
| """ : '"' | |
| }; | |
| var div; | |
| div = z.document.createElement(qb); | |
| return path.replace(mf, function(i, CardNo18) { | |
| var prop = props[i]; | |
| if (prop) { | |
| return prop; | |
| } | |
| if ("#" == CardNo18.charAt(0)) { | |
| /** @type {number} */ | |
| var n = Number("0" + CardNo18.substr(1)); | |
| if (!isNaN(n)) { | |
| /** @type {string} */ | |
| prop = String.fromCharCode(n); | |
| } | |
| } | |
| if (!prop) { | |
| /** @type {string} */ | |
| div.innerHTML = i + " "; | |
| prop = div.firstChild.nodeValue.slice(0, -1); | |
| } | |
| return props[i] = prop; | |
| }); | |
| }; | |
| /** | |
| * @param {string} arg | |
| * @return {?} | |
| */ | |
| var kf = function(arg) { | |
| return arg.replace(/&([^;]+);/g, function(a, entity) { | |
| switch(entity) { | |
| case "amp": | |
| return "&"; | |
| case "lt": | |
| return "<"; | |
| case "gt": | |
| return ">"; | |
| case "quot": | |
| return '"'; | |
| default: | |
| if ("#" == entity.charAt(0)) { | |
| /** @type {number} */ | |
| var numeric = Number("0" + entity.substr(1)); | |
| if (!isNaN(numeric)) { | |
| return String.fromCharCode(numeric); | |
| } | |
| } | |
| return a; | |
| } | |
| }); | |
| }; | |
| /** @type {!RegExp} */ | |
| var mf = /&([^;\s<&]+);?/g; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var nf = function(value) { | |
| return String(value).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08"); | |
| }; | |
| /** @type {function(string, number): ?} */ | |
| var of = String.prototype.repeat ? function(indentPerLevel, level) { | |
| return indentPerLevel.repeat(level); | |
| } : function(inputHrStr, startIndex) { | |
| return Array(startIndex + 1).join(inputHrStr); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var pf = function(value) { | |
| return null == value ? "" : String(value); | |
| }; | |
| /** | |
| * @param {!Object} string | |
| * @return {?} | |
| */ | |
| var qf = function(string) { | |
| return Array.prototype.join.call(arguments, ""); | |
| }; | |
| /** | |
| * @param {?} t | |
| * @param {!Object} x | |
| * @return {?} | |
| */ | |
| var sf = function(t, x) { | |
| /** @type {number} */ | |
| var center = 0; | |
| var xN = We(String(t)).split("."); | |
| var yN = We(String(x)).split("."); | |
| /** @type {number} */ | |
| var numlabels = Math.max(xN.length, yN.length); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; 0 == center && i < numlabels; i++) { | |
| var v2Sub = xN[i] || ""; | |
| var v1Sub = yN[i] || ""; | |
| /** @type {!RegExp} */ | |
| var reg_exp = RegExp("(\\d*)(\\D*)", "g"); | |
| /** @type {!RegExp} */ | |
| var matcher = RegExp("(\\d*)(\\D*)", "g"); | |
| do { | |
| /** @type {!Array} */ | |
| var combatant = reg_exp.exec(v2Sub) || ["", "", ""]; | |
| /** @type {!Array} */ | |
| var regex_splitter = matcher.exec(v1Sub) || ["", "", ""]; | |
| if (0 == combatant[0].length && 0 == regex_splitter[0].length) { | |
| break; | |
| } | |
| center = rf(0 == combatant[1].length ? 0 : parseInt(combatant[1], 10), 0 == regex_splitter[1].length ? 0 : parseInt(regex_splitter[1], 10)) || rf(0 == combatant[2].length, 0 == regex_splitter[2].length) || rf(combatant[2], regex_splitter[2]); | |
| } while (0 == center); | |
| } | |
| return center; | |
| }; | |
| /** | |
| * @param {number} min | |
| * @param {number} max | |
| * @return {?} | |
| */ | |
| var rf = function(min, max) { | |
| return min < max ? -1 : min > max ? 1 : 0; | |
| }; | |
| /** | |
| * @param {string} text | |
| * @return {?} | |
| */ | |
| var tf = function(text) { | |
| return String(text).replace(/\-([a-z])/g, function(a, shortMonthName) { | |
| return shortMonthName.toUpperCase(); | |
| }); | |
| }; | |
| /** | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var uf = function(b) { | |
| var enable_keys = Fe(void 0) ? nf(void 0) : "\\s"; | |
| return b.replace(new RegExp("(^" + (enable_keys ? "|[" + enable_keys + "]+" : "") + ")([a-z])", "g"), function(a, b, shortMonthName) { | |
| return b + shortMonthName.toUpperCase(); | |
| }); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var vf = function(value) { | |
| return value[value.length - 1]; | |
| }; | |
| /** @type {function(!Object, !Object, ?): ?} */ | |
| var wf = Array.prototype.indexOf ? function(obj, b, refC) { | |
| return Array.prototype.indexOf.call(obj, b, refC); | |
| } : function(array, value, i) { | |
| i = null == i ? 0 : 0 > i ? Math.max(0, array.length + i) : i; | |
| if (Fe(array)) { | |
| return Fe(value) && 1 == value.length ? array.indexOf(value, i) : -1; | |
| } | |
| for (; i < array.length; i++) { | |
| if (i in array && array[i] === value) { | |
| return i; | |
| } | |
| } | |
| return -1; | |
| }; | |
| /** @type {function(!Object, !Function, !Object): undefined} */ | |
| var xf = Array.prototype.forEach ? function(data, head, b) { | |
| Array.prototype.forEach.call(data, head, b); | |
| } : function(data, t, b) { | |
| var nbElts = data.length; | |
| var results = Fe(data) ? data.split("") : data; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < nbElts; i++) { | |
| if (i in results) { | |
| t.call(b, results[i], i, data); | |
| } | |
| } | |
| }; | |
| /** @type {function(string, !Function, ?): ?} */ | |
| var yf = Array.prototype.filter ? function(obj, p1__3354_SHARP_, refC) { | |
| return Array.prototype.filter.call(obj, p1__3354_SHARP_, refC); | |
| } : function(path, util, repo) { | |
| var length = path.length; | |
| /** @type {!Array} */ | |
| var resp = []; | |
| /** @type {number} */ | |
| var offset = 0; | |
| var value = Fe(path) ? path.split("") : path; | |
| /** @type {number} */ | |
| var key = 0; | |
| for (; key < length; key++) { | |
| if (key in value) { | |
| var val = value[key]; | |
| if (util.call(repo, val, key, path)) { | |
| resp[offset++] = val; | |
| } | |
| } | |
| } | |
| return resp; | |
| }; | |
| /** @type {function(string, !Function, ?): ?} */ | |
| var zf = Array.prototype.map ? function(a, p1__3354_SHARP_, c) { | |
| return Array.prototype.map.call(a, p1__3354_SHARP_, c); | |
| } : function(obj, fn, array) { | |
| var length = obj.length; | |
| /** @type {!Array} */ | |
| var result = Array(length); | |
| var a = Fe(obj) ? obj.split("") : obj; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < length; i++) { | |
| if (i in a) { | |
| result[i] = fn.call(array, a[i], i, obj); | |
| } | |
| } | |
| return result; | |
| }; | |
| /** @type {function(?, !Function, ?): ?} */ | |
| var Af = Array.prototype.some ? function(gen34_options, p1__3354_SHARP_, refC) { | |
| return Array.prototype.some.call(gen34_options, p1__3354_SHARP_, refC); | |
| } : function(arr, f, opt_obj) { | |
| var arrSize = arr.length; | |
| var arr2 = Fe(arr) ? arr.split("") : arr; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < arrSize; i++) { | |
| if (i in arr2 && f.call(opt_obj, arr2[i], i, arr)) { | |
| return true; | |
| } | |
| } | |
| return false; | |
| }; | |
| /** @type {function(!Array, ?, ?): ?} */ | |
| var Bf = Array.prototype.every ? function(result, p1__3354_SHARP_, refC) { | |
| return Array.prototype.every.call(result, p1__3354_SHARP_, refC); | |
| } : function(path, util, c) { | |
| var length = path.length; | |
| var keys = Fe(path) ? path.split("") : path; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < length; i++) { | |
| if (i in keys && !util.call(c, keys[i], i, path)) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} code | |
| * @param {!Function} content | |
| * @return {?} | |
| */ | |
| var Cf = function(code, content) { | |
| /** @type {number} */ | |
| var c = 0; | |
| xf(code, function(newContent, linear, f) { | |
| if (content.call(void 0, newContent, linear, f)) { | |
| ++c; | |
| } | |
| }, void 0); | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} arr | |
| * @param {!Function} f | |
| * @return {?} | |
| */ | |
| var Df = function(arr, f) { | |
| var index; | |
| a: { | |
| index = arr.length; | |
| var arr2 = Fe(arr) ? arr.split("") : arr; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < index; i++) { | |
| if (i in arr2 && f.call(void 0, arr2[i], i, arr)) { | |
| /** @type {number} */ | |
| index = i; | |
| break a; | |
| } | |
| } | |
| /** @type {number} */ | |
| index = -1; | |
| } | |
| return 0 > index ? null : Fe(arr) ? arr.charAt(index) : arr[index]; | |
| }; | |
| /** | |
| * @param {!Array} arr | |
| * @param {!Object} msg | |
| * @return {?} | |
| */ | |
| var Ef = function(arr, msg) { | |
| return 0 <= wf(arr, msg); | |
| }; | |
| /** | |
| * @param {!Array} a | |
| * @param {string} b | |
| * @return {undefined} | |
| */ | |
| var Gf = function(a, b) { | |
| if (!Ef(a, b)) { | |
| a.push(b); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} fn | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var Hf = function(fn, a) { | |
| var time = wf(fn, a); | |
| var dateOpen; | |
| if (dateOpen = 0 <= time) { | |
| Array.prototype.splice.call(fn, time, 1); | |
| } | |
| return dateOpen; | |
| }; | |
| /** | |
| * @param {!Array} _ref | |
| * @return {?} | |
| */ | |
| var If = function(_ref) { | |
| return Array.prototype.concat.apply(Array.prototype, arguments); | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| var Jf = function(obj) { | |
| var length = obj.length; | |
| if (0 < length) { | |
| /** @type {!Array} */ | |
| var values = Array(length); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < length; i++) { | |
| values[i] = obj[i]; | |
| } | |
| return values; | |
| } | |
| return []; | |
| }; | |
| /** | |
| * @param {!Array} data | |
| * @param {!Object} fn | |
| * @return {undefined} | |
| */ | |
| var Kf = function(data, fn) { | |
| /** @type {number} */ | |
| var i = 1; | |
| for (; i < arguments.length; i++) { | |
| var model = arguments[i]; | |
| if (Ee(model)) { | |
| var i = data.length || 0; | |
| var n = model.length || 0; | |
| data.length = i + n; | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < n; j++) { | |
| data[i + j] = model[j]; | |
| } | |
| } else { | |
| data.push(model); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {number} b | |
| * @param {number} status | |
| * @param {!Function} f | |
| * @return {undefined} | |
| */ | |
| var Mf = function(a, b, status, f) { | |
| Array.prototype.splice.apply(a, Lf(arguments, 1)); | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @param {number} indent | |
| * @param {?} settings | |
| * @return {?} | |
| */ | |
| var Lf = function(obj, indent, settings) { | |
| return 2 >= arguments.length ? Array.prototype.slice.call(obj, indent) : Array.prototype.slice.call(obj, indent, settings); | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @param {!Function} b | |
| * @param {!Object} input | |
| * @return {undefined} | |
| */ | |
| var Nf = function(c, b, input) { | |
| var id; | |
| for (id in c) { | |
| b.call(input, c[id], id, c); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {?} | |
| */ | |
| var Of = function(item) { | |
| /** @type {!Array} */ | |
| var result = []; | |
| /** @type {number} */ | |
| var j = 0; | |
| var i; | |
| for (i in item) { | |
| result[j++] = item[i]; | |
| } | |
| return result; | |
| }; | |
| /** | |
| * @param {!Object} pool | |
| * @return {?} | |
| */ | |
| var Pf = function(pool) { | |
| /** @type {!Array} */ | |
| var bBag = []; | |
| /** @type {number} */ | |
| var callbackCount = 0; | |
| var i; | |
| for (i in pool) { | |
| /** @type {string} */ | |
| bBag[callbackCount++] = i; | |
| } | |
| return bBag; | |
| }; | |
| /** | |
| * @param {!Object} menu | |
| * @param {string} items | |
| * @return {?} | |
| */ | |
| var Qf = function(menu, items) { | |
| return null !== menu && items in menu; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var Sf = function() { | |
| var a = Rf; | |
| var j; | |
| for (j in a) { | |
| return false; | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} tags | |
| * @param {string} name | |
| * @param {!Object} ctor | |
| * @return {undefined} | |
| */ | |
| var Tf = function(tags, name, ctor) { | |
| if (null !== tags && name in tags) { | |
| throw Error('The object already contains the key "' + name + '"'); | |
| } | |
| /** @type {!Object} */ | |
| tags[name] = ctor; | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @return {?} | |
| */ | |
| var Uf = function(options) { | |
| var processedOptions = {}; | |
| var name; | |
| for (name in options) { | |
| processedOptions[name] = options[name]; | |
| } | |
| return processedOptions; | |
| }; | |
| /** @type {!Array<string>} */ | |
| var Vf = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); | |
| /** | |
| * @param {string} obj | |
| * @param {string} source | |
| * @return {undefined} | |
| */ | |
| var Wf = function(obj, source) { | |
| var j; | |
| var a; | |
| /** @type {number} */ | |
| var i = 1; | |
| for (; i < arguments.length; i++) { | |
| a = arguments[i]; | |
| for (j in a) { | |
| obj[j] = a[j]; | |
| } | |
| /** @type {number} */ | |
| var jX = 0; | |
| for (; jX < Vf.length; jX++) { | |
| j = Vf[jX]; | |
| if (Object.prototype.hasOwnProperty.call(a, j)) { | |
| obj[j] = a[j]; | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} init | |
| * @return {?} | |
| */ | |
| var Xf = function(init) { | |
| /** @type {number} */ | |
| var argl = arguments.length; | |
| if (1 == argl && De(arguments[0])) { | |
| return Xf.apply(null, arguments[0]); | |
| } | |
| if (argl % 2) { | |
| throw Error(Fa); | |
| } | |
| var rv = {}; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < argl; i = i + 2) { | |
| rv[arguments[i]] = arguments[i + 1]; | |
| } | |
| return rv; | |
| }; | |
| /** | |
| * @param {!Array} i | |
| * @return {?} | |
| */ | |
| var Yf = function(i) { | |
| /** @type {number} */ | |
| var argl = arguments.length; | |
| if (1 == argl && De(arguments[0])) { | |
| return Yf.apply(null, arguments[0]); | |
| } | |
| var LANGUAGES = {}; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < argl; i++) { | |
| /** @type {boolean} */ | |
| LANGUAGES[arguments[i]] = true; | |
| } | |
| return LANGUAGES; | |
| }; | |
| var Zf = { | |
| area : true, | |
| base : true, | |
| br : true, | |
| col : true, | |
| command : true, | |
| embed : true, | |
| hr : true, | |
| img : true, | |
| input : true, | |
| keygen : true, | |
| link : true, | |
| meta : true, | |
| param : true, | |
| source : true, | |
| track : true, | |
| wbr : true | |
| }; | |
| /** @type {!RegExp} */ | |
| var $f = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i; | |
| /** | |
| * @param {number} id | |
| * @return {?} | |
| */ | |
| var ag = function(id) { | |
| return $f.test(id); | |
| }; | |
| var bg; | |
| a: { | |
| /** @type {!Navigator} */ | |
| var cg = z.navigator; | |
| if (cg) { | |
| /** @type {string} */ | |
| var dg = cg.userAgent; | |
| if (dg) { | |
| /** @type {string} */ | |
| bg = dg; | |
| break a; | |
| } | |
| } | |
| /** @type {string} */ | |
| bg = ""; | |
| } | |
| /** | |
| * @param {string} str | |
| * @return {?} | |
| */ | |
| var D = function(str) { | |
| return -1 != bg.indexOf(str); | |
| }; | |
| /** | |
| * @param {?} a | |
| * @return {?} | |
| */ | |
| var eg = function(a) { | |
| /** @type {!RegExp} */ | |
| var matcher = RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g"); | |
| /** @type {!Array} */ | |
| var newNodeLists = []; | |
| var dayEle; | |
| for (; dayEle = matcher.exec(a);) { | |
| newNodeLists.push([dayEle[1], dayEle[2], dayEle[3] || void 0]); | |
| } | |
| return newNodeLists; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var fg = function() { | |
| return D("Trident") || D("MSIE"); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var gg = function() { | |
| return (D("Chrome") || D("CriOS")) && !D(ra); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var ig = function() { | |
| /** | |
| * @param {!Array} code | |
| * @return {?} | |
| */ | |
| function lookUpValueWithKeys(code) { | |
| code = Df(code, m); | |
| return params[code] || ""; | |
| } | |
| var type = bg; | |
| if (fg()) { | |
| return hg(type); | |
| } | |
| type = eg(type); | |
| var params = {}; | |
| xf(type, function(data) { | |
| params[data[0]] = data[1]; | |
| }); | |
| var m = Oe(Qf, params); | |
| return D(va) ? lookUpValueWithKeys(["Version", va]) : D(ra) ? lookUpValueWithKeys([ra]) : gg() ? lookUpValueWithKeys(["Chrome", "CriOS"]) : (type = type[2]) && type[1] || ""; | |
| }; | |
| /** | |
| * @param {string} c | |
| * @return {?} | |
| */ | |
| var hg = function(c) { | |
| /** @type {(Array<string>|null)} */ | |
| var s = /rv: *([\d\.]*)/.exec(c); | |
| if (s && s[1]) { | |
| return s[1]; | |
| } | |
| /** @type {string} */ | |
| s = ""; | |
| /** @type {(Array<string>|null)} */ | |
| var a = /MSIE +([\d\.]+)/.exec(c); | |
| if (a && a[1]) { | |
| if (c = /Trident\/(\d.\d)/.exec(c), "7.0" == a[1]) { | |
| if (c && c[1]) { | |
| switch(c[1]) { | |
| case "4.0": | |
| /** @type {string} */ | |
| s = "8.0"; | |
| break; | |
| case "5.0": | |
| /** @type {string} */ | |
| s = "9.0"; | |
| break; | |
| case "6.0": | |
| /** @type {string} */ | |
| s = "10.0"; | |
| break; | |
| case "7.0": | |
| /** @type {string} */ | |
| s = "11.0"; | |
| } | |
| } else { | |
| /** @type {string} */ | |
| s = "7.0"; | |
| } | |
| } else { | |
| /** @type {string} */ | |
| s = a[1]; | |
| } | |
| } | |
| return s; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var kg = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.b = jg; | |
| }; | |
| /** @type {boolean} */ | |
| kg.prototype.dc = true; | |
| kg.prototype.Lb = w("a"); | |
| /** | |
| * @return {?} | |
| */ | |
| kg.prototype.toString = function() { | |
| return "Const{" + this.a + "}"; | |
| }; | |
| /** | |
| * @param {!Object} x | |
| * @return {?} | |
| */ | |
| var lg = function(x) { | |
| return x instanceof kg && x.constructor === kg && x.b === jg ? x.a : "type_error:Const"; | |
| }; | |
| var jg = {}; | |
| /** | |
| * @param {string} v | |
| * @return {?} | |
| */ | |
| var mg = function(v) { | |
| var value = new kg; | |
| /** @type {string} */ | |
| value.a = v; | |
| return value; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var og = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.b = ng; | |
| }; | |
| /** @type {boolean} */ | |
| og.prototype.dc = true; | |
| var ng = {}; | |
| og.prototype.Lb = w("a"); | |
| /** | |
| * @param {string} i | |
| * @return {?} | |
| */ | |
| var pg = function(i) { | |
| var b = new og; | |
| /** @type {string} */ | |
| b.a = i; | |
| return b; | |
| }; | |
| var qg = pg(""); | |
| /** @type {!RegExp} */ | |
| var rg = /^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var tg = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.b = sg; | |
| }; | |
| /** @type {boolean} */ | |
| tg.prototype.dc = true; | |
| var sg = {}; | |
| tg.prototype.Lb = w("a"); | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var ug = function(a) { | |
| var exportsB = new tg; | |
| /** @type {string} */ | |
| exportsB.a = a; | |
| return exportsB; | |
| }; | |
| ug(""); | |
| /** | |
| * @return {undefined} | |
| */ | |
| var wg = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.b = vg; | |
| }; | |
| /** @type {boolean} */ | |
| wg.prototype.dc = true; | |
| wg.prototype.Lb = w("a"); | |
| /** @type {boolean} */ | |
| wg.prototype.uf = true; | |
| wg.prototype.oc = x(1); | |
| /** @type {!RegExp} */ | |
| var xg = /^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i; | |
| var vg = {}; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var yg = function(a) { | |
| var exportsB = new wg; | |
| /** @type {string} */ | |
| exportsB.a = a; | |
| return exportsB; | |
| }; | |
| yg("about:blank"); | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Ag = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.b = zg; | |
| }; | |
| /** @type {boolean} */ | |
| Ag.prototype.dc = true; | |
| Ag.prototype.Lb = w("a"); | |
| /** @type {boolean} */ | |
| Ag.prototype.uf = true; | |
| Ag.prototype.oc = x(1); | |
| /** | |
| * @param {!Object} x | |
| * @return {?} | |
| */ | |
| var Bg = function(x) { | |
| if (x instanceof Ag && x.constructor === Ag && x.b === zg) { | |
| return x.a; | |
| } | |
| Ce(x); | |
| return "type_error:TrustedResourceUrl"; | |
| }; | |
| var zg = {}; | |
| /** | |
| * @param {number} a | |
| * @return {?} | |
| */ | |
| var Dg = function(a) { | |
| var exportsB = new Ag; | |
| /** @type {number} */ | |
| exportsB.a = a; | |
| return exportsB; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Fg = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| this.c = Eg; | |
| /** @type {null} */ | |
| this.b = null; | |
| }; | |
| /** @type {boolean} */ | |
| Fg.prototype.uf = true; | |
| Fg.prototype.oc = w("b"); | |
| /** @type {boolean} */ | |
| Fg.prototype.dc = true; | |
| Fg.prototype.Lb = w("a"); | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var Gg = function(a) { | |
| if (a instanceof Fg && a.constructor === Fg && a.c === Eg) { | |
| return a.a; | |
| } | |
| Ce(a); | |
| return "type_error:SafeHtml"; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| var Ig = function(obj) { | |
| if (obj instanceof Fg) { | |
| return obj; | |
| } | |
| /** @type {null} */ | |
| var bCreateNode = null; | |
| if (obj.uf) { | |
| bCreateNode = obj.oc(); | |
| } | |
| obj = hf(obj.dc ? obj.Lb() : String(obj)); | |
| return Hg(obj, bCreateNode); | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {?} | |
| */ | |
| var Jg = function(item) { | |
| if (item instanceof Fg) { | |
| return item; | |
| } | |
| item = Ig(item); | |
| var valueProgess = Ze(Gg(item)); | |
| return Hg(valueProgess, item.oc()); | |
| }; | |
| /** @type {!RegExp} */ | |
| var Kg = /^[a-zA-Z0-9-]+$/; | |
| var Lg = { | |
| action : true, | |
| cite : true, | |
| data : true, | |
| formaction : true, | |
| href : true, | |
| manifest : true, | |
| poster : true, | |
| src : true | |
| }; | |
| var Mg = { | |
| APPLET : true, | |
| BASE : true, | |
| EMBED : true, | |
| IFRAME : true, | |
| LINK : true, | |
| MATH : true, | |
| META : true, | |
| OBJECT : true, | |
| SCRIPT : true, | |
| STYLE : true, | |
| SVG : true, | |
| TEMPLATE : true | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {!Object} n | |
| * @param {string} c | |
| * @return {?} | |
| */ | |
| var Og = function(key, n, c) { | |
| if (!Kg.test(key)) { | |
| throw Error("Invalid tag name <" + key + ">."); | |
| } | |
| if (key.toUpperCase() in Mg) { | |
| throw Error("Tag name <" + key + "> is not allowed for SafeHtml."); | |
| } | |
| return Ng(key, n, c); | |
| }; | |
| /** | |
| * @param {!Object} var_args | |
| * @return {?} | |
| */ | |
| var Pg = function(var_args) { | |
| /** @type {number} */ | |
| var object = 0; | |
| /** @type {string} */ | |
| var is = ""; | |
| /** | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| var i = function(type) { | |
| if (De(type)) { | |
| xf(type, i); | |
| } else { | |
| type = Ig(type); | |
| is = is + Gg(type); | |
| type = type.oc(); | |
| if (0 == object) { | |
| /** @type {string} */ | |
| object = type; | |
| } else { | |
| if (0 != type && object != type) { | |
| /** @type {null} */ | |
| object = null; | |
| } | |
| } | |
| } | |
| }; | |
| xf(arguments, i); | |
| return Hg(is, object); | |
| }; | |
| var Eg = {}; | |
| /** | |
| * @param {string} a | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var Hg = function(a, b) { | |
| var xform = new Fg; | |
| /** @type {string} */ | |
| xform.a = a; | |
| /** @type {number} */ | |
| xform.b = b; | |
| return xform; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {!Object} options | |
| * @param {string} config | |
| * @return {?} | |
| */ | |
| var Ng = function(name, options, config) { | |
| /** @type {null} */ | |
| var item = null; | |
| var o; | |
| /** @type {string} */ | |
| var s = ""; | |
| if (options) { | |
| for (o in options) { | |
| if (!Kg.test(o)) { | |
| throw Error('Invalid attribute name "' + o + '".'); | |
| } | |
| var obj = options[o]; | |
| if (null != obj) { | |
| var val; | |
| /** @type {string} */ | |
| var str = name; | |
| /** @type {string} */ | |
| val = o; | |
| if (obj instanceof kg) { | |
| obj = lg(obj); | |
| } else { | |
| if ("style" == val.toLowerCase()) { | |
| if (!Ie(obj)) { | |
| throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, ' + typeof obj + " given: " + obj); | |
| } | |
| if (!(obj instanceof og)) { | |
| /** @type {string} */ | |
| str = ""; | |
| var name = void 0; | |
| for (name in obj) { | |
| if (!/^[-_a-zA-Z0-9]+$/.test(name)) { | |
| throw Error("Name allows only [-_a-zA-Z0-9], got: " + name); | |
| } | |
| var i = obj[name]; | |
| if (null != i) { | |
| if (i instanceof kg) { | |
| i = lg(i); | |
| } else { | |
| if (rg.test(i)) { | |
| /** @type {boolean} */ | |
| var add = true; | |
| /** @type {boolean} */ | |
| var test = true; | |
| /** @type {number} */ | |
| var level = 0; | |
| for (; level < i.length; level++) { | |
| var adjustedLevel = i.charAt(level); | |
| if ("'" == adjustedLevel && test) { | |
| /** @type {boolean} */ | |
| add = !add; | |
| } else { | |
| if ('"' == adjustedLevel && add) { | |
| /** @type {boolean} */ | |
| test = !test; | |
| } | |
| } | |
| } | |
| if (!(add && test)) { | |
| /** @type {string} */ | |
| i = "zClosurez"; | |
| } | |
| } else { | |
| /** @type {string} */ | |
| i = "zClosurez"; | |
| } | |
| } | |
| /** @type {string} */ | |
| str = str + (name + ":" + i + ";"); | |
| } | |
| } | |
| obj = str ? pg(str) : qg; | |
| } | |
| if (obj instanceof og && obj.constructor === og && obj.b === ng) { | |
| obj = obj.a; | |
| } else { | |
| Ce(obj); | |
| /** @type {string} */ | |
| obj = "type_error:SafeStyle"; | |
| } | |
| } else { | |
| if (/^on/i.test(val)) { | |
| throw Error('Attribute "' + val + '" requires goog.string.Const value, "' + obj + '" given.'); | |
| } | |
| if (val.toLowerCase() in Lg) { | |
| if (obj instanceof Ag) { | |
| obj = Bg(obj); | |
| } else { | |
| if (obj instanceof wg) { | |
| if (obj instanceof wg && obj.constructor === wg && obj.b === vg) { | |
| obj = obj.a; | |
| } else { | |
| Ce(obj); | |
| /** @type {string} */ | |
| obj = "type_error:SafeUrl"; | |
| } | |
| } else { | |
| if (Fe(obj)) { | |
| if (!(obj instanceof wg)) { | |
| obj = obj.dc ? obj.Lb() : String(obj); | |
| if (!xg.test(obj)) { | |
| /** @type {string} */ | |
| obj = "about:invalid#zClosurez"; | |
| } | |
| obj = yg(obj); | |
| } | |
| obj = obj.Lb(); | |
| } else { | |
| throw Error('Attribute "' + val + '" on tag "' + str + '" requires goog.html.SafeUrl, goog.string.Const, or string, value "' + obj + '" given.'); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| if (obj.dc) { | |
| obj = obj.Lb(); | |
| } | |
| /** @type {string} */ | |
| val = val + '="' + hf(String(obj)) + '"'; | |
| /** @type {string} */ | |
| s = s + (" " + val); | |
| } | |
| } | |
| } | |
| /** @type {string} */ | |
| o = "<" + name + s; | |
| if (null != config) { | |
| if (!De(config)) { | |
| /** @type {!Array} */ | |
| config = [config]; | |
| } | |
| } else { | |
| /** @type {!Array} */ | |
| config = []; | |
| } | |
| if (true === Zf[name.toLowerCase()]) { | |
| /** @type {string} */ | |
| o = o + ">"; | |
| } else { | |
| item = Pg(config); | |
| /** @type {string} */ | |
| o = o + (">" + Gg(item) + "</" + name + ">"); | |
| item = item.oc(); | |
| } | |
| if (name = options && options.dir) { | |
| if (/^(ltr|rtl|auto)$/i.test(name)) { | |
| /** @type {number} */ | |
| item = 0; | |
| } else { | |
| /** @type {null} */ | |
| item = null; | |
| } | |
| } | |
| return Hg(o, item); | |
| }; | |
| Hg("<!DOCTYPE html>", 0); | |
| var Qg = Hg("", 0); | |
| var Rg = Hg("<br>", 0); | |
| var Sg = "StopIteration" in z ? z.StopIteration : { | |
| message : "StopIteration", | |
| stack : "" | |
| }; | |
| var Tg = ue(); | |
| /** | |
| * @return {?} | |
| */ | |
| Tg.prototype.next = function() { | |
| throw Sg; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Tg.prototype.mb = function() { | |
| return this; | |
| }; | |
| /** | |
| * @param {!Object} model | |
| * @return {?} | |
| */ | |
| var Ug = function(model) { | |
| if (model instanceof Tg) { | |
| return model; | |
| } | |
| if (typeof model.mb == Bb) { | |
| return model.mb(false); | |
| } | |
| if (Ee(model)) { | |
| /** @type {number} */ | |
| var x0 = 0; | |
| var deletedChar = new Tg; | |
| /** | |
| * @return {?} | |
| */ | |
| deletedChar.next = function() { | |
| for (;;) { | |
| if (x0 >= model.length) { | |
| throw Sg; | |
| } | |
| if (x0 in model) { | |
| return model[x0++]; | |
| } | |
| x0++; | |
| } | |
| }; | |
| return deletedChar; | |
| } | |
| throw Error("Not implemented"); | |
| }; | |
| /** | |
| * @param {!Object} m | |
| * @param {!Function} f | |
| * @param {!Object} data | |
| * @return {undefined} | |
| */ | |
| var Vg = function(m, f, data) { | |
| m = Ug(m); | |
| try { | |
| for (; f.call(data, m.next(), void 0, m);) { | |
| } | |
| } catch (d) { | |
| if (d !== Sg) { | |
| throw d; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @param {?} ncls | |
| * @return {undefined} | |
| */ | |
| var Wg = function(self, ncls) { | |
| this.b = {}; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| /** @type {number} */ | |
| this.g = this.c = 0; | |
| /** @type {number} */ | |
| var m = arguments.length; | |
| if (1 < m) { | |
| if (m % 2) { | |
| throw Error(Fa); | |
| } | |
| /** @type {number} */ | |
| var k = 0; | |
| for (; k < m; k = k + 2) { | |
| this.set(arguments[k], arguments[k + 1]); | |
| } | |
| } else { | |
| if (self) { | |
| if (self instanceof Wg) { | |
| m = self.tb(); | |
| k = self.Va(); | |
| } else { | |
| m = Pf(self); | |
| k = Of(self); | |
| } | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < m.length; i++) { | |
| this.set(m[i], k[i]); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Wg.prototype.Va = function() { | |
| Xg(this); | |
| /** @type {!Array} */ | |
| var newNodeLists = []; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < this.a.length; i++) { | |
| newNodeLists.push(this.b[this.a[i]]); | |
| } | |
| return newNodeLists; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Wg.prototype.tb = function() { | |
| Xg(this); | |
| return this.a.concat(); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var Zg = function(a, b) { | |
| return Yg(a.b, b); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Wg.prototype.clear = function() { | |
| this.b = {}; | |
| /** @type {number} */ | |
| this.g = this.c = this.a.length = 0; | |
| }; | |
| /** | |
| * @param {!Object} m | |
| * @param {!Object} b | |
| * @return {undefined} | |
| */ | |
| var $g = function(m, b) { | |
| if (Yg(m.b, b)) { | |
| delete m.b[b]; | |
| m.c--; | |
| m.g++; | |
| if (m.a.length > 2 * m.c) { | |
| Xg(m); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} arr | |
| * @return {undefined} | |
| */ | |
| var Xg = function(arr) { | |
| if (arr.c != arr.a.length) { | |
| /** @type {number} */ | |
| var i = 0; | |
| /** @type {number} */ | |
| var offset = 0; | |
| for (; i < arr.a.length;) { | |
| var key = arr.a[i]; | |
| if (Yg(arr.b, key)) { | |
| arr.a[offset++] = key; | |
| } | |
| i++; | |
| } | |
| /** @type {number} */ | |
| arr.a.length = offset; | |
| } | |
| if (arr.c != arr.a.length) { | |
| var vertexSet = {}; | |
| /** @type {number} */ | |
| offset = i = 0; | |
| for (; i < arr.a.length;) { | |
| key = arr.a[i]; | |
| if (!Yg(vertexSet, key)) { | |
| arr.a[offset++] = key; | |
| /** @type {number} */ | |
| vertexSet[key] = 1; | |
| } | |
| i++; | |
| } | |
| /** @type {number} */ | |
| arr.a.length = offset; | |
| } | |
| }; | |
| y = Wg.prototype; | |
| /** | |
| * @param {string} prop | |
| * @param {?} dft | |
| * @return {?} | |
| */ | |
| y.get = function(prop, dft) { | |
| return Yg(this.b, prop) ? this.b[prop] : dft; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| y.set = function(name, obj) { | |
| if (!Yg(this.b, name)) { | |
| this.c++; | |
| this.a.push(name); | |
| this.g++; | |
| } | |
| /** @type {!Object} */ | |
| this.b[name] = obj; | |
| }; | |
| /** | |
| * @param {!Function} g | |
| * @param {!Object} f | |
| * @return {undefined} | |
| */ | |
| y.forEach = function(g, f) { | |
| var colorChunks = this.tb(); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < colorChunks.length; i++) { | |
| var c = colorChunks[i]; | |
| var m = this.get(c); | |
| g.call(f, m, c, this); | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.clone = function() { | |
| return new Wg(this); | |
| }; | |
| /** | |
| * @param {boolean} bool | |
| * @return {?} | |
| */ | |
| y.mb = function(bool) { | |
| Xg(this); | |
| /** @type {number} */ | |
| var offset = 0; | |
| var g = this.g; | |
| var res = this; | |
| var deletedChar = new Tg; | |
| /** | |
| * @return {?} | |
| */ | |
| deletedChar.next = function() { | |
| if (g != res.g) { | |
| throw Error("The map has changed since the iterator was created"); | |
| } | |
| if (offset >= res.a.length) { | |
| throw Sg; | |
| } | |
| var i = res.a[offset++]; | |
| return bool ? i : res.b[i]; | |
| }; | |
| return deletedChar; | |
| }; | |
| /** | |
| * @param {?} vertexSet | |
| * @param {!Object} args | |
| * @return {?} | |
| */ | |
| var Yg = function(vertexSet, args) { | |
| return Object.prototype.hasOwnProperty.call(vertexSet, args); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var ah = function(a) { | |
| if (a.Va && typeof a.Va == Bb) { | |
| return a.Va(); | |
| } | |
| if (Fe(a)) { | |
| return a.split(""); | |
| } | |
| if (Ee(a)) { | |
| /** @type {!Array} */ | |
| var reorderMap = []; | |
| var startLen = a.length; | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < startLen; j++) { | |
| reorderMap.push(a[j]); | |
| } | |
| return reorderMap; | |
| } | |
| return Of(a); | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @param {!Function} i | |
| * @param {!Object} c | |
| * @return {undefined} | |
| */ | |
| var bh = function(self, i, c) { | |
| if (self.forEach && typeof self.forEach == Bb) { | |
| self.forEach(i, c); | |
| } else { | |
| if (Ee(self) || Fe(self)) { | |
| xf(self, i, c); | |
| } else { | |
| var data; | |
| if (self.tb && typeof self.tb == Bb) { | |
| data = self.tb(); | |
| } else { | |
| if (self.Va && typeof self.Va == Bb) { | |
| data = void 0; | |
| } else { | |
| if (Ee(self) || Fe(self)) { | |
| /** @type {!Array} */ | |
| data = []; | |
| var item = self.length; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < item; i++) { | |
| data.push(i); | |
| } | |
| } else { | |
| data = Pf(self); | |
| } | |
| } | |
| } | |
| item = ah(self); | |
| i = item.length; | |
| /** @type {number} */ | |
| var g = 0; | |
| for (; g < i; g++) { | |
| i.call(c, item[g], data && data[g], self); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Array} n | |
| * @return {undefined} | |
| */ | |
| var dh = function(n) { | |
| this.a = new Wg; | |
| if (n) { | |
| n = ah(n); | |
| var argl = n.length; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < argl; i++) { | |
| var b = n[i]; | |
| this.a.set(ch(b), b); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var ch = function(value) { | |
| /** @type {string} */ | |
| var key = typeof value; | |
| return key == cd && value || key == Bb ? "o" + Le(value) : key.substr(0, 1) + value; | |
| }; | |
| y = dh.prototype; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.clear = function() { | |
| this.a.clear(); | |
| }; | |
| /** | |
| * @param {!Object} parent | |
| * @return {?} | |
| */ | |
| y.contains = function(parent) { | |
| return Zg(this.a, ch(parent)); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.Va = function() { | |
| return this.a.Va(); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.clone = function() { | |
| return new dh(this); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.mb = function() { | |
| return this.a.mb(false); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var eh = function() { | |
| return D("iPhone") && !D(uc) && !D(tc); | |
| }; | |
| var fh = D(va); | |
| var E = fg(); | |
| var gh = D(ra); | |
| var hh = gh || E; | |
| var ih = D("Gecko") && !(-1 != bg.toLowerCase().indexOf("webkit") && !D(ra)) && !(D("Trident") || D("MSIE")) && !D(ra); | |
| /** @type {boolean} */ | |
| var G = -1 != bg.toLowerCase().indexOf("webkit") && !D(ra); | |
| var jh = G && D("Mobile"); | |
| var kh = D("Macintosh"); | |
| var lh = D("Windows"); | |
| var mh = D(na); | |
| var nh = eh(); | |
| var oh = D(tc); | |
| var ph = D(uc); | |
| /** | |
| * @return {?} | |
| */ | |
| var qh = function() { | |
| var document = z.document; | |
| return document ? document.documentMode : void 0; | |
| }; | |
| var rh; | |
| a: { | |
| /** @type {string} */ | |
| var sh = ""; | |
| var th = function() { | |
| var colour = bg; | |
| if (ih) { | |
| return /rv:([^\);]+)(\)|;)/.exec(colour); | |
| } | |
| if (gh) { | |
| return /Edge\/([\d\.]+)/.exec(colour); | |
| } | |
| if (E) { | |
| return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(colour); | |
| } | |
| if (G) { | |
| return /WebKit\/(\S+)/.exec(colour); | |
| } | |
| if (fh) { | |
| return /(?:Version)[ \/]?(\S+)/.exec(colour); | |
| } | |
| }(); | |
| if (th) { | |
| sh = th ? th[1] : ""; | |
| } | |
| if (E) { | |
| var uh = qh(); | |
| if (null != uh && uh > parseFloat(sh)) { | |
| /** @type {string} */ | |
| rh = String(uh); | |
| break a; | |
| } | |
| } | |
| rh = sh; | |
| } | |
| var vh = rh; | |
| var wh = {}; | |
| /** | |
| * @param {!Object} i | |
| * @return {?} | |
| */ | |
| var I = function(i) { | |
| return wh[i] || (wh[i] = 0 <= sf(vh, i)); | |
| }; | |
| /** | |
| * @param {number} documentMode | |
| * @return {?} | |
| */ | |
| var yh = function(documentMode) { | |
| return Number(xh) >= documentMode; | |
| }; | |
| /** @type {!HTMLDocument} */ | |
| var zh = z.document; | |
| var xh = zh && E ? qh() || ("CSS1Compat" == zh.compatMode ? parseInt(vh, 10) : 5) : void 0; | |
| /** | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| var Ah = function(val) { | |
| if (val.classList) { | |
| return val.classList; | |
| } | |
| val = val.className; | |
| return Fe(val) && val.match(/\S+/g) || []; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} c | |
| * @return {?} | |
| */ | |
| var Bh = function(a, c) { | |
| return a.classList ? a.classList.contains(c) : Ef(Ah(a), c); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} x | |
| * @return {undefined} | |
| */ | |
| var J = function(a, x) { | |
| if (a.classList) { | |
| a.classList.add(x); | |
| } else { | |
| if (!Bh(a, x)) { | |
| a.className += 0 < a.className.length ? " " + x : x; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} t | |
| * @param {!Array} code | |
| * @return {undefined} | |
| */ | |
| var Ch = function(t, code) { | |
| if (t.classList) { | |
| xf(code, function(b) { | |
| J(t, b); | |
| }); | |
| } else { | |
| var aggregates = {}; | |
| xf(Ah(t), function(summaryIndex) { | |
| /** @type {boolean} */ | |
| aggregates[summaryIndex] = true; | |
| }); | |
| xf(code, function(summaryIndex) { | |
| /** @type {boolean} */ | |
| aggregates[summaryIndex] = true; | |
| }); | |
| /** @type {string} */ | |
| t.className = ""; | |
| var className; | |
| for (className in aggregates) { | |
| t.className += 0 < t.className.length ? " " + className : className; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} x | |
| * @return {undefined} | |
| */ | |
| var K = function(a, x) { | |
| if (a.classList) { | |
| a.classList.remove(x); | |
| } else { | |
| if (Bh(a, x)) { | |
| a.className = yf(Ah(a), function(z) { | |
| return z != x; | |
| }).join(" "); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Array} v | |
| * @return {undefined} | |
| */ | |
| var Dh = function(a, v) { | |
| if (a.classList) { | |
| xf(v, function(h) { | |
| K(a, h); | |
| }); | |
| } else { | |
| a.className = yf(Ah(a), function(Ignored) { | |
| return !Ef(v, Ignored); | |
| }).join(" "); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @param {boolean} num | |
| * @return {undefined} | |
| */ | |
| var Eh = function(a, b, num) { | |
| if (num) { | |
| J(a, b); | |
| } else { | |
| K(a, b); | |
| } | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {number} b | |
| * @return {undefined} | |
| */ | |
| var L = function(a, b) { | |
| this.x = xe(a) ? a : 0; | |
| this.y = xe(b) ? b : 0; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| L.prototype.clone = function() { | |
| return new L(this.x, this.y); | |
| }; | |
| /** | |
| * @param {number} c | |
| * @param {number} a | |
| * @return {?} | |
| */ | |
| var Fh = function(c, a) { | |
| return new L(c.x - a.x, c.y - a.y); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| L.prototype.ceil = function() { | |
| /** @type {number} */ | |
| this.x = Math.ceil(this.x); | |
| /** @type {number} */ | |
| this.y = Math.ceil(this.y); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| L.prototype.floor = function() { | |
| /** @type {number} */ | |
| this.x = Math.floor(this.x); | |
| /** @type {number} */ | |
| this.y = Math.floor(this.y); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| L.prototype.round = function() { | |
| /** @type {number} */ | |
| this.x = Math.round(this.x); | |
| /** @type {number} */ | |
| this.y = Math.round(this.y); | |
| return this; | |
| }; | |
| /** | |
| * @param {number} width | |
| * @param {number} height | |
| * @return {undefined} | |
| */ | |
| var Gh = function(width, height) { | |
| /** @type {number} */ | |
| this.width = width; | |
| /** @type {number} */ | |
| this.height = height; | |
| }; | |
| /** | |
| * @param {!Object} src | |
| * @param {!Object} dst | |
| * @return {?} | |
| */ | |
| var Hh = function(src, dst) { | |
| return src == dst ? true : src && dst ? src.width == dst.width && src.height == dst.height : false; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Gh.prototype.clone = function() { | |
| return new Gh(this.width, this.height); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Gh.prototype.ceil = function() { | |
| /** @type {number} */ | |
| this.width = Math.ceil(this.width); | |
| /** @type {number} */ | |
| this.height = Math.ceil(this.height); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Gh.prototype.floor = function() { | |
| /** @type {number} */ | |
| this.width = Math.floor(this.width); | |
| /** @type {number} */ | |
| this.height = Math.floor(this.height); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Gh.prototype.round = function() { | |
| /** @type {number} */ | |
| this.width = Math.round(this.width); | |
| /** @type {number} */ | |
| this.height = Math.round(this.height); | |
| return this; | |
| }; | |
| var Ih = !E || yh(9); | |
| var Jh = !ih && !E || E && yh(9) || ih && I("1.9.1"); | |
| var Kh = E && !I("9"); | |
| var Lh = E || fh || G; | |
| var Mh = E && !yh(9); | |
| /** | |
| * @param {!Element} obj | |
| * @param {!Object} v | |
| * @return {undefined} | |
| */ | |
| var Nh = function(obj, v) { | |
| obj.innerHTML = Gg(v); | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| var Qh = function(obj) { | |
| return obj ? new Oh(Ph(obj)) : Re || (Re = new Oh); | |
| }; | |
| /** | |
| * @param {string} node | |
| * @return {?} | |
| */ | |
| var M = function(node) { | |
| return Fe(node) ? document.getElementById(node) : node; | |
| }; | |
| /** | |
| * @param {string} type | |
| * @param {string} value | |
| * @param {!Object} name | |
| * @return {?} | |
| */ | |
| var Sh = function(type, value, name) { | |
| return Rh(document, type, value, name); | |
| }; | |
| /** | |
| * @param {string} id | |
| * @param {!Object} text | |
| * @return {?} | |
| */ | |
| var Th = function(id, text) { | |
| var parent = text || document; | |
| return parent.querySelectorAll && parent.querySelector ? parent.querySelectorAll("." + id) : Rh(document, "*", id, text); | |
| }; | |
| /** | |
| * @param {string} s | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var O = function(s, a) { | |
| var parent = a || document; | |
| /** @type {null} */ | |
| var d = null; | |
| if (parent.getElementsByClassName) { | |
| d = parent.getElementsByClassName(s)[0]; | |
| } else { | |
| if (parent.querySelectorAll && parent.querySelector) { | |
| d = parent.querySelector("." + s); | |
| } else { | |
| d = Rh(document, "*", s, a)[0]; | |
| } | |
| } | |
| return d || null; | |
| }; | |
| /** | |
| * @param {!Object} element | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Object} target | |
| * @return {?} | |
| */ | |
| var Rh = function(element, name, type, target) { | |
| element = target || element; | |
| name = name && "*" != name ? name.toUpperCase() : ""; | |
| if (element.querySelectorAll && element.querySelector && (name || type)) { | |
| return element.querySelectorAll(name + (type ? "." + type : "")); | |
| } | |
| if (type && element.getElementsByClassName) { | |
| element = element.getElementsByClassName(type); | |
| if (name) { | |
| target = {}; | |
| /** @type {number} */ | |
| var l = 0; | |
| /** @type {number} */ | |
| var j = 0; | |
| var data; | |
| for (; data = element[j]; j++) { | |
| if (name == data.nodeName) { | |
| target[l++] = data; | |
| } | |
| } | |
| /** @type {number} */ | |
| target.length = l; | |
| return target; | |
| } | |
| return element; | |
| } | |
| element = element.getElementsByTagName(name || "*"); | |
| if (type) { | |
| target = {}; | |
| /** @type {number} */ | |
| j = l = 0; | |
| for (; data = element[j]; j++) { | |
| name = data.className; | |
| if (typeof name.split == Bb && Ef(name.split(/\s+/), type)) { | |
| target[l++] = data; | |
| } | |
| } | |
| /** @type {number} */ | |
| target.length = l; | |
| return target; | |
| } | |
| return element; | |
| }; | |
| /** | |
| * @param {!Element} a | |
| * @param {!Object} b | |
| * @return {undefined} | |
| */ | |
| var Vh = function(a, b) { | |
| Nf(b, function(value, key) { | |
| if ("style" == key) { | |
| /** @type {string} */ | |
| a.style.cssText = value; | |
| } else { | |
| if ("class" == key) { | |
| /** @type {string} */ | |
| a.className = value; | |
| } else { | |
| if ("for" == key) { | |
| /** @type {string} */ | |
| a.htmlFor = value; | |
| } else { | |
| if (Uh.hasOwnProperty(key)) { | |
| a.setAttribute(Uh[key], value); | |
| } else { | |
| if (0 == key.lastIndexOf("aria-", 0) || 0 == key.lastIndexOf("data-", 0)) { | |
| a.setAttribute(key, value); | |
| } else { | |
| /** @type {string} */ | |
| a[key] = value; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }); | |
| }; | |
| var Uh = { | |
| cellpadding : "cellPadding", | |
| cellspacing : "cellSpacing", | |
| colspan : "colSpan", | |
| frameborder : "frameBorder", | |
| height : "height", | |
| maxlength : "maxLength", | |
| nonce : "nonce", | |
| role : rd, | |
| rowspan : "rowSpan", | |
| type : "type", | |
| usemap : "useMap", | |
| valign : "vAlign", | |
| width : "width" | |
| }; | |
| /** | |
| * @param {!Object} doc | |
| * @return {?} | |
| */ | |
| var Xh = function(doc) { | |
| doc = doc.document; | |
| doc = Wh(doc) ? doc.documentElement : doc.body; | |
| return new Gh(doc.clientWidth, doc.clientHeight); | |
| }; | |
| /** | |
| * @param {!Document} doc | |
| * @return {?} | |
| */ | |
| var Zh = function(doc) { | |
| var a = Yh(doc); | |
| doc = doc.parentWindow || doc.defaultView; | |
| return E && I("10") && doc.pageYOffset != a.scrollTop ? new L(a.scrollLeft, a.scrollTop) : new L(doc.pageXOffset || a.scrollLeft, doc.pageYOffset || a.scrollTop); | |
| }; | |
| /** | |
| * @param {!Document} doc | |
| * @return {?} | |
| */ | |
| var Yh = function(doc) { | |
| return doc.scrollingElement ? doc.scrollingElement : !G && Wh(doc) ? doc.documentElement : doc.body || doc.documentElement; | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {?} | |
| */ | |
| var $h = function(node) { | |
| return node ? node.parentWindow || node.defaultView : window; | |
| }; | |
| /** | |
| * @param {string} tag | |
| * @param {string} pos | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var P = function(tag, pos, value) { | |
| return ai(document, arguments); | |
| }; | |
| /** | |
| * @param {!HTMLDocument} d | |
| * @param {!Object} args | |
| * @return {?} | |
| */ | |
| var ai = function(d, args) { | |
| /** @type {string} */ | |
| var result = String(args[0]); | |
| var t = args[1]; | |
| if (!Ih && t && (t.name || t.type)) { | |
| /** @type {!Array} */ | |
| result = ["<", result]; | |
| if (t.name) { | |
| result.push(' name="', hf(t.name), '"'); | |
| } | |
| if (t.type) { | |
| result.push(' type="', hf(t.type), '"'); | |
| var e = {}; | |
| Wf(e, t); | |
| delete e.type; | |
| t = e; | |
| } | |
| result.push(">"); | |
| /** @type {string} */ | |
| result = result.join(""); | |
| } | |
| result = d.createElement(result); | |
| if (t) { | |
| if (Fe(t)) { | |
| result.className = t; | |
| } else { | |
| if (De(t)) { | |
| result.className = t.join(" "); | |
| } else { | |
| Vh(result, t); | |
| } | |
| } | |
| } | |
| if (2 < args.length) { | |
| bi(d, result, args, 2); | |
| } | |
| return result; | |
| }; | |
| /** | |
| * @param {!Document} d | |
| * @param {!Object} a | |
| * @param {!Object} item | |
| * @param {number} i | |
| * @return {undefined} | |
| */ | |
| var bi = function(d, a, item, i) { | |
| /** | |
| * @param {!Object} b | |
| * @return {undefined} | |
| */ | |
| function e(b) { | |
| if (b) { | |
| a.appendChild(Fe(b) ? d.createTextNode(b) : b); | |
| } | |
| } | |
| for (; i < item.length; i++) { | |
| var value = item[i]; | |
| if (!Ee(value) || Ie(value) && 0 < value.nodeType) { | |
| e(value); | |
| } else { | |
| xf(ci(value) ? Jf(value) : value, e); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| var di = function(name) { | |
| return document.createElement(String(name)); | |
| }; | |
| /** | |
| * @param {string} text | |
| * @return {?} | |
| */ | |
| var ei = function(text) { | |
| return document.createTextNode(String(text)); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var gi = function() { | |
| var wbr = Og("WBR"); | |
| return fi(document, wbr); | |
| }; | |
| /** | |
| * @param {!Document} document | |
| * @param {!Object} name | |
| * @return {?} | |
| */ | |
| var fi = function(document, name) { | |
| var node = document.createElement(k); | |
| if (E) { | |
| Nh(node, Pg(Rg, name)); | |
| node.removeChild(node.firstChild); | |
| } else { | |
| Nh(node, name); | |
| } | |
| if (1 == node.childNodes.length) { | |
| node = node.removeChild(node.firstChild); | |
| } else { | |
| var parent = document.createDocumentFragment(); | |
| for (; node.firstChild;) { | |
| parent.appendChild(node.firstChild); | |
| } | |
| node = parent; | |
| } | |
| return node; | |
| }; | |
| /** | |
| * @param {!Document} doc | |
| * @return {?} | |
| */ | |
| var Wh = function(doc) { | |
| return "CSS1Compat" == doc.compatMode; | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var hi = function(value) { | |
| if (1 != value.nodeType) { | |
| return false; | |
| } | |
| switch(value.tagName) { | |
| case "APPLET": | |
| case "AREA": | |
| case "BASE": | |
| case "BR": | |
| case "COL": | |
| case "COMMAND": | |
| case "EMBED": | |
| case "FRAME": | |
| case "HR": | |
| case sa: | |
| case ta: | |
| case "IFRAME": | |
| case "ISINDEX": | |
| case "KEYGEN": | |
| case "LINK": | |
| case "NOFRAMES": | |
| case "NOSCRIPT": | |
| case "META": | |
| case "OBJECT": | |
| case "PARAM": | |
| case xa: | |
| case "SOURCE": | |
| case "STYLE": | |
| case "TRACK": | |
| case "WBR": | |
| return false; | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @param {string} v | |
| * @return {undefined} | |
| */ | |
| var ii = function(key, v) { | |
| bi(Ph(key), key, arguments, 1); | |
| }; | |
| /** | |
| * @param {!Object} d | |
| * @return {undefined} | |
| */ | |
| var ji = function(d) { | |
| var b; | |
| for (; b = d.firstChild;) { | |
| d.removeChild(b); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {!Node} a | |
| * @return {undefined} | |
| */ | |
| var ki = function(b, a) { | |
| if (a.parentNode) { | |
| a.parentNode.insertBefore(b, a); | |
| } | |
| }; | |
| /** | |
| * @param {?} tag | |
| * @param {!Node} node | |
| * @return {undefined} | |
| */ | |
| var li = function(tag, node) { | |
| if (node.parentNode) { | |
| node.parentNode.insertBefore(tag, node.nextSibling); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var mi = function(value) { | |
| return value && value.parentNode ? value.parentNode.removeChild(value) : null; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var ni = function(a) { | |
| return Jh && void 0 != a.children ? a.children : yf(a.childNodes, function(nodeToInspect) { | |
| return 1 == nodeToInspect.nodeType; | |
| }); | |
| }; | |
| /** | |
| * @param {!HTMLElement} a | |
| * @return {?} | |
| */ | |
| var pi = function(a) { | |
| return xe(a.firstElementChild) ? a.firstElementChild : oi(a.firstChild, true); | |
| }; | |
| /** | |
| * @param {!Node} a | |
| * @return {?} | |
| */ | |
| var qi = function(a) { | |
| return xe(a.nextElementSibling) ? a.nextElementSibling : oi(a.nextSibling, true); | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @param {boolean} dir | |
| * @return {?} | |
| */ | |
| var oi = function(c, dir) { | |
| for (; c && 1 != c.nodeType;) { | |
| c = dir ? c.nextSibling : c.previousSibling; | |
| } | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} context | |
| * @return {?} | |
| */ | |
| var ri = function(context) { | |
| return Ie(context) && 1 == context.nodeType; | |
| }; | |
| /** | |
| * @param {!Object} el | |
| * @return {?} | |
| */ | |
| var si = function(el) { | |
| var parent; | |
| if (Lh && !(E && I("9") && !I("10") && z.SVGElement && el instanceof z.SVGElement) && (parent = el.parentElement)) { | |
| return parent; | |
| } | |
| parent = el.parentNode; | |
| return ri(parent) ? parent : null; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var ti = function(a, b) { | |
| if (!a || !b) { | |
| return false; | |
| } | |
| if (a.contains && 1 == b.nodeType) { | |
| return a == b || a.contains(b); | |
| } | |
| if ("undefined" != typeof a.compareDocumentPosition) { | |
| return a == b || !!(a.compareDocumentPosition(b) & 16); | |
| } | |
| for (; b && a != b;) { | |
| b = b.parentNode; | |
| } | |
| return b == a; | |
| }; | |
| /** | |
| * @param {!Node} node1 | |
| * @param {!HTMLElement} node2 | |
| * @return {?} | |
| */ | |
| var wi = function(node1, node2) { | |
| if (node1 == node2) { | |
| return 0; | |
| } | |
| if (node1.compareDocumentPosition) { | |
| return node1.compareDocumentPosition(node2) & 2 ? 1 : -1; | |
| } | |
| if (E && !yh(9)) { | |
| if (9 == node1.nodeType) { | |
| return -1; | |
| } | |
| if (9 == node2.nodeType) { | |
| return 1; | |
| } | |
| } | |
| if ("sourceIndex" in node1 || node1.parentNode && "sourceIndex" in node1.parentNode) { | |
| /** @type {boolean} */ | |
| var isElement1 = 1 == node1.nodeType; | |
| /** @type {boolean} */ | |
| var isElement2 = 1 == node2.nodeType; | |
| if (isElement1 && isElement2) { | |
| return node1.sourceIndex - node2.sourceIndex; | |
| } | |
| var parent1 = node1.parentNode; | |
| var parent2 = node2.parentNode; | |
| return parent1 == parent2 ? ui(node1, node2) : !isElement1 && ti(parent1, node2) ? -1 * vi(node1, node2) : !isElement2 && ti(parent2, node1) ? vi(node2, node1) : (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex); | |
| } | |
| isElement2 = Ph(node1); | |
| isElement1 = isElement2.createRange(); | |
| isElement1.selectNode(node1); | |
| isElement1.collapse(true); | |
| isElement2 = isElement2.createRange(); | |
| isElement2.selectNode(node2); | |
| isElement2.collapse(true); | |
| return isElement1.compareBoundaryPoints(z.Range.START_TO_END, isElement2); | |
| }; | |
| /** | |
| * @param {!HTMLElement} result | |
| * @param {!HTMLElement} id | |
| * @return {?} | |
| */ | |
| var vi = function(result, id) { | |
| var body = result.parentNode; | |
| if (body == id) { | |
| return -1; | |
| } | |
| /** @type {!HTMLElement} */ | |
| var container = id; | |
| for (; container.parentNode != body;) { | |
| container = container.parentNode; | |
| } | |
| return ui(container, result); | |
| }; | |
| /** | |
| * @param {!Node} node | |
| * @param {!HTMLElement} target | |
| * @return {?} | |
| */ | |
| var ui = function(node, target) { | |
| /** @type {!HTMLElement} */ | |
| var currentNode = target; | |
| for (; currentNode = currentNode.previousSibling;) { | |
| if (currentNode == node) { | |
| return -1; | |
| } | |
| } | |
| return 1; | |
| }; | |
| /** | |
| * @param {?} row | |
| * @return {?} | |
| */ | |
| var xi = function(row) { | |
| var i; | |
| /** @type {number} */ | |
| var length = arguments.length; | |
| if (!length) { | |
| return null; | |
| } | |
| if (1 == length) { | |
| return arguments[0]; | |
| } | |
| /** @type {!Array} */ | |
| var d = []; | |
| /** @type {number} */ | |
| var minlen = Infinity; | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < length; i++) { | |
| /** @type {!Array} */ | |
| var value = []; | |
| var n = arguments[i]; | |
| for (; n;) { | |
| value.unshift(n); | |
| n = n.parentNode; | |
| } | |
| d.push(value); | |
| /** @type {number} */ | |
| minlen = Math.min(minlen, value.length); | |
| } | |
| /** @type {null} */ | |
| value = null; | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < minlen; i++) { | |
| n = d[0][i]; | |
| /** @type {number} */ | |
| var s = 1; | |
| for (; s < length; s++) { | |
| if (n != d[s][i]) { | |
| return value; | |
| } | |
| } | |
| value = n; | |
| } | |
| return value; | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {?} | |
| */ | |
| var Ph = function(node) { | |
| return 9 == node.nodeType ? node : node.ownerDocument || node.document; | |
| }; | |
| /** | |
| * @param {!Element} d | |
| * @return {?} | |
| */ | |
| var yi = function(d) { | |
| return d.contentDocument || d.contentWindow.document; | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {string} value | |
| * @return {undefined} | |
| */ | |
| var Q = function(node, value) { | |
| if ("textContent" in node) { | |
| /** @type {string} */ | |
| node.textContent = value; | |
| } else { | |
| if (3 == node.nodeType) { | |
| /** @type {string} */ | |
| node.data = value; | |
| } else { | |
| if (node.firstChild && 3 == node.firstChild.nodeType) { | |
| for (; node.lastChild != node.firstChild;) { | |
| node.removeChild(node.lastChild); | |
| } | |
| /** @type {string} */ | |
| node.firstChild.data = value; | |
| } else { | |
| ji(node); | |
| var document = Ph(node); | |
| node.appendChild(document.createTextNode(String(value))); | |
| } | |
| } | |
| } | |
| }; | |
| var zi = { | |
| SCRIPT : 1, | |
| STYLE : 1, | |
| HEAD : 1, | |
| IFRAME : 1, | |
| OBJECT : 1 | |
| }; | |
| var Ai = { | |
| IMG : " ", | |
| BR : "\n" | |
| }; | |
| /** | |
| * @param {!Element} elem | |
| * @param {string} types | |
| * @return {undefined} | |
| */ | |
| var Bi = function(elem, types) { | |
| if (types) { | |
| /** @type {number} */ | |
| elem.tabIndex = 0; | |
| } else { | |
| /** @type {number} */ | |
| elem.tabIndex = -1; | |
| elem.removeAttribute("tabIndex"); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} target | |
| * @return {?} | |
| */ | |
| var Ci = function(target) { | |
| target = target.getAttributeNode("tabindex"); | |
| return null != target && target.specified; | |
| }; | |
| /** | |
| * @param {number} name | |
| * @return {?} | |
| */ | |
| var Di = function(name) { | |
| name = name.tabIndex; | |
| return Ge(name) && 0 <= name && 32768 > name; | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {?} | |
| */ | |
| var Fi = function(item) { | |
| if (Kh && null !== item && "innerText" in item) { | |
| item = Ue(item.innerText); | |
| } else { | |
| /** @type {!Array} */ | |
| var out = []; | |
| Ei(item, out, true); | |
| /** @type {string} */ | |
| item = out.join(""); | |
| } | |
| item = item.replace(/ \xAD /g, " ").replace(/\xAD/g, ""); | |
| item = item.replace(/\u200B/g, ""); | |
| if (!Kh) { | |
| item = item.replace(/ +/g, " "); | |
| } | |
| if (" " != item) { | |
| item = item.replace(/^\s*/, ""); | |
| } | |
| return item; | |
| }; | |
| /** | |
| * @param {!Object} ast | |
| * @return {?} | |
| */ | |
| var Gi = function(ast) { | |
| /** @type {!Array} */ | |
| var out = []; | |
| Ei(ast, out, false); | |
| return out.join(""); | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {!Array} buf | |
| * @param {string} normalizeWhitespace | |
| * @return {undefined} | |
| */ | |
| var Ei = function(node, buf, normalizeWhitespace) { | |
| if (!(node.nodeName in zi)) { | |
| if (3 == node.nodeType) { | |
| if (normalizeWhitespace) { | |
| buf.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, "")); | |
| } else { | |
| buf.push(node.nodeValue); | |
| } | |
| } else { | |
| if (node.nodeName in Ai) { | |
| buf.push(Ai[node.nodeName]); | |
| } else { | |
| node = node.firstChild; | |
| for (; node;) { | |
| Ei(node, buf, normalizeWhitespace); | |
| node = node.nextSibling; | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} s | |
| * @return {?} | |
| */ | |
| var ci = function(s) { | |
| if (s && typeof s.length == bd) { | |
| if (Ie(s)) { | |
| return typeof s.item == Bb || typeof s.item == Rd; | |
| } | |
| if (He(s)) { | |
| return typeof s.item == Bb; | |
| } | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @param {!Object} cX1 | |
| * @return {?} | |
| */ | |
| var Ii = function(cX1) { | |
| return Hi(cX1, function(a) { | |
| return Fe(a.className) && Ef(a.className.split(/\s+/), Sb); | |
| }, void 0); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Function} item | |
| * @param {number} scrollLeft | |
| * @return {?} | |
| */ | |
| var Hi = function(a, item, scrollLeft) { | |
| /** @type {number} */ | |
| var firstColLeft = 0; | |
| for (; a && (null == scrollLeft || firstColLeft <= scrollLeft);) { | |
| if (item(a)) { | |
| return a; | |
| } | |
| a = a.parentNode; | |
| firstColLeft++; | |
| } | |
| return null; | |
| }; | |
| /** | |
| * @param {string} opt_document | |
| * @return {undefined} | |
| */ | |
| var Oh = function(opt_document) { | |
| this.a = opt_document || z.document || document; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| Oh.prototype.l = function(obj) { | |
| return Fe(obj) ? this.a.getElementById(obj) : obj; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Function} str | |
| * @return {?} | |
| */ | |
| Oh.prototype.b = function(name, type, str) { | |
| return ai(this.a, arguments); | |
| }; | |
| /** | |
| * @param {(number|string)} elem | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| var Ji = function(elem, name) { | |
| return elem.a.createElement(String(name)); | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {?} | |
| */ | |
| var Ki = function(node) { | |
| node = node.a; | |
| return node.parentWindow || node.defaultView; | |
| }; | |
| y = Oh.prototype; | |
| /** | |
| * @param {!Object} obj | |
| * @param {!Object} val | |
| * @return {undefined} | |
| */ | |
| y.appendChild = function(obj, val) { | |
| obj.appendChild(val); | |
| }; | |
| /** @type {function(!Object, string): undefined} */ | |
| y.rg = ii; | |
| /** @type {function(!Object): undefined} */ | |
| y.Rd = ji; | |
| /** @type {function(!Object): ?} */ | |
| y.wg = mi; | |
| /** @type {function(!Object): ?} */ | |
| y.sg = ni; | |
| /** @type {function(!HTMLElement): ?} */ | |
| y.pg = pi; | |
| /** @type {function(!Object): ?} */ | |
| y.Ji = ri; | |
| /** @type {function(string, string): ?} */ | |
| y.contains = ti; | |
| /** @type {function(!Object, string): undefined} */ | |
| y.Sd = Q; | |
| /** @type {function(!Object): ?} */ | |
| y.vg = Fi; | |
| /** | |
| * @param {string} elements | |
| * @return {?} | |
| */ | |
| var Mi = function(elements) { | |
| Li(); | |
| return ug(elements); | |
| }; | |
| var Li = Ae; | |
| /** | |
| * @param {number} left1 | |
| * @param {number} right1 | |
| * @param {number} b | |
| * @param {number} margin | |
| * @return {undefined} | |
| */ | |
| var Ni = function(left1, right1, b, margin) { | |
| /** @type {number} */ | |
| this.top = left1; | |
| /** @type {number} */ | |
| this.right = right1; | |
| /** @type {number} */ | |
| this.bottom = b; | |
| /** @type {number} */ | |
| this.left = margin; | |
| }; | |
| y = Ni.prototype; | |
| /** | |
| * @return {?} | |
| */ | |
| y.clone = function() { | |
| return new Ni(this.top, this.right, this.bottom, this.left); | |
| }; | |
| /** | |
| * @param {!Object} other | |
| * @return {?} | |
| */ | |
| y.contains = function(other) { | |
| return this && other ? other instanceof Ni ? other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom : other.x >= this.left && other.x <= this.right && other.y >= this.top && other.y <= this.bottom : false; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.ceil = function() { | |
| /** @type {number} */ | |
| this.top = Math.ceil(this.top); | |
| /** @type {number} */ | |
| this.right = Math.ceil(this.right); | |
| /** @type {number} */ | |
| this.bottom = Math.ceil(this.bottom); | |
| /** @type {number} */ | |
| this.left = Math.ceil(this.left); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.floor = function() { | |
| /** @type {number} */ | |
| this.top = Math.floor(this.top); | |
| /** @type {number} */ | |
| this.right = Math.floor(this.right); | |
| /** @type {number} */ | |
| this.bottom = Math.floor(this.bottom); | |
| /** @type {number} */ | |
| this.left = Math.floor(this.left); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.round = function() { | |
| /** @type {number} */ | |
| this.top = Math.round(this.top); | |
| /** @type {number} */ | |
| this.right = Math.round(this.right); | |
| /** @type {number} */ | |
| this.bottom = Math.round(this.bottom); | |
| /** @type {number} */ | |
| this.left = Math.round(this.left); | |
| return this; | |
| }; | |
| /** | |
| * @param {number} left | |
| * @param {number} top | |
| * @param {number} width | |
| * @param {number} height | |
| * @return {undefined} | |
| */ | |
| var Oi = function(left, top, width, height) { | |
| /** @type {number} */ | |
| this.left = left; | |
| /** @type {number} */ | |
| this.top = top; | |
| /** @type {number} */ | |
| this.width = width; | |
| /** @type {number} */ | |
| this.height = height; | |
| }; | |
| y = Oi.prototype; | |
| /** | |
| * @return {?} | |
| */ | |
| y.clone = function() { | |
| return new Oi(this.left, this.top, this.width, this.height); | |
| }; | |
| /** | |
| * @param {!Object} rect | |
| * @return {?} | |
| */ | |
| y.contains = function(rect) { | |
| return rect instanceof L ? rect.x >= this.left && rect.x <= this.left + this.width && rect.y >= this.top && rect.y <= this.top + this.height : this.left <= rect.left && this.left + this.width >= rect.left + rect.width && this.top <= rect.top && this.top + this.height >= rect.top + rect.height; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.ceil = function() { | |
| /** @type {number} */ | |
| this.left = Math.ceil(this.left); | |
| /** @type {number} */ | |
| this.top = Math.ceil(this.top); | |
| /** @type {number} */ | |
| this.width = Math.ceil(this.width); | |
| /** @type {number} */ | |
| this.height = Math.ceil(this.height); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.floor = function() { | |
| /** @type {number} */ | |
| this.left = Math.floor(this.left); | |
| /** @type {number} */ | |
| this.top = Math.floor(this.top); | |
| /** @type {number} */ | |
| this.width = Math.floor(this.width); | |
| /** @type {number} */ | |
| this.height = Math.floor(this.height); | |
| return this; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.round = function() { | |
| /** @type {number} */ | |
| this.left = Math.round(this.left); | |
| /** @type {number} */ | |
| this.top = Math.round(this.top); | |
| /** @type {number} */ | |
| this.width = Math.round(this.width); | |
| /** @type {number} */ | |
| this.height = Math.round(this.height); | |
| return this; | |
| }; | |
| /** | |
| * @param {?} low | |
| * @return {?} | |
| */ | |
| var Pi = function(low) { | |
| Pi[" "](low); | |
| return low; | |
| }; | |
| Pi[" "] = Ae; | |
| /** | |
| * @param {!Object} morph | |
| * @param {string} key | |
| * @return {?} | |
| */ | |
| var Qi = function(morph, key) { | |
| try { | |
| return Pi(morph[key]), true; | |
| } catch (c) { | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @param {!Object} x | |
| * @param {string} key | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| var R = function(x, key, obj) { | |
| if (Fe(key)) { | |
| if (key = Ri(x, key)) { | |
| /** @type {!Object} */ | |
| x.style[key] = obj; | |
| } | |
| } else { | |
| var t; | |
| for (t in key) { | |
| /** @type {!Object} */ | |
| obj = x; | |
| var color = key[t]; | |
| var i = Ri(obj, t); | |
| if (i) { | |
| obj.style[i] = color; | |
| } | |
| } | |
| } | |
| }; | |
| var Si = {}; | |
| /** | |
| * @param {!Object} data | |
| * @param {string} tag | |
| * @return {?} | |
| */ | |
| var Ri = function(data, tag) { | |
| var version = Si[tag]; | |
| if (!version) { | |
| var v2 = tf(tag); | |
| version = v2; | |
| if (void 0 === data.style[v2]) { | |
| v2 = (G ? "Webkit" : ih ? "Moz" : E ? "ms" : fh ? "O" : null) + uf(v2); | |
| if (void 0 !== data.style[v2]) { | |
| version = v2; | |
| } | |
| } | |
| Si[tag] = version; | |
| } | |
| return version; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} p | |
| * @return {?} | |
| */ | |
| var Ti = function(a, p) { | |
| var d = Ph(a); | |
| return d.defaultView && d.defaultView.getComputedStyle && (d = d.defaultView.getComputedStyle(a, null)) ? d[p] || d.getPropertyValue(p) || "" : ""; | |
| }; | |
| /** | |
| * @param {!Object} element | |
| * @param {string} style | |
| * @return {?} | |
| */ | |
| var Ui = function(element, style) { | |
| return Ti(element, style) || (element.currentStyle ? element.currentStyle[style] : null) || element.style && element.style[style]; | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @param {!Object} t | |
| * @param {number} i | |
| * @return {undefined} | |
| */ | |
| var Wi = function(c, t, i) { | |
| var left; | |
| if (t instanceof L) { | |
| left = t.x; | |
| t = t.y; | |
| } else { | |
| /** @type {!Object} */ | |
| left = t; | |
| /** @type {number} */ | |
| t = i; | |
| } | |
| c.style.left = Vi(left, false); | |
| c.style.top = Vi(t, false); | |
| }; | |
| /** | |
| * @param {!Object} parent | |
| * @return {?} | |
| */ | |
| var Xi = function(parent) { | |
| parent = parent ? Ph(parent) : document; | |
| return !E || yh(9) || Wh(Qh(parent).a) ? parent.documentElement : parent.body; | |
| }; | |
| /** | |
| * @param {!Object} element | |
| * @return {?} | |
| */ | |
| var Yi = function(element) { | |
| var anchorBoundingBoxViewport; | |
| try { | |
| anchorBoundingBoxViewport = element.getBoundingClientRect(); | |
| } catch (c) { | |
| return { | |
| left : 0, | |
| top : 0, | |
| right : 0, | |
| bottom : 0 | |
| }; | |
| } | |
| if (E && element.ownerDocument.body) { | |
| element = element.ownerDocument; | |
| anchorBoundingBoxViewport.left -= element.documentElement.clientLeft + element.body.clientLeft; | |
| anchorBoundingBoxViewport.top -= element.documentElement.clientTop + element.body.clientTop; | |
| } | |
| return anchorBoundingBoxViewport; | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {?} | |
| */ | |
| var Zi = function(node) { | |
| if (E && !yh(8)) { | |
| return node.offsetParent; | |
| } | |
| var document = Ph(node); | |
| var target = Ui(node, ld); | |
| /** @type {boolean} */ | |
| var _cur_ctx = "fixed" == target || target == Ga; | |
| node = node.parentNode; | |
| for (; node && node != document; node = node.parentNode) { | |
| if (11 == node.nodeType && node.host && (node = node.host), target = Ui(node, ld), _cur_ctx = _cur_ctx && "static" == target && node != document.documentElement && node != document.body, !_cur_ctx && (node.scrollWidth > node.clientWidth || node.scrollHeight > node.clientHeight || "fixed" == target || target == Ga || "relative" == target)) { | |
| return node; | |
| } | |
| } | |
| return null; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var aj = function(a) { | |
| var visibleRect = new Ni(0, Infinity, Infinity, 0); | |
| var data = Qh(a); | |
| var x = data.a.body; | |
| var b = data.a.documentElement; | |
| var offset = Yh(data.a); | |
| for (; a = Zi(a);) { | |
| if (!(E && 0 == a.clientWidth || G && 0 == a.clientHeight && a == x) && a != x && a != b && Ui(a, ed) != me) { | |
| var offset = $i(a); | |
| var options = new L(a.clientLeft, a.clientTop); | |
| offset.x += options.x; | |
| offset.y += options.y; | |
| /** @type {number} */ | |
| visibleRect.top = Math.max(visibleRect.top, offset.y); | |
| /** @type {number} */ | |
| visibleRect.right = Math.min(visibleRect.right, offset.x + a.clientWidth); | |
| /** @type {number} */ | |
| visibleRect.bottom = Math.min(visibleRect.bottom, offset.y + a.clientHeight); | |
| /** @type {number} */ | |
| visibleRect.left = Math.max(visibleRect.left, offset.x); | |
| } | |
| } | |
| x = offset.scrollLeft; | |
| offset = offset.scrollTop; | |
| /** @type {number} */ | |
| visibleRect.left = Math.max(visibleRect.left, x); | |
| /** @type {number} */ | |
| visibleRect.top = Math.max(visibleRect.top, offset); | |
| data = Xh(Ki(data) || window); | |
| /** @type {number} */ | |
| visibleRect.right = Math.min(visibleRect.right, x + data.width); | |
| /** @type {number} */ | |
| visibleRect.bottom = Math.min(visibleRect.bottom, offset + data.height); | |
| return 0 <= visibleRect.top && 0 <= visibleRect.left && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null; | |
| }; | |
| /** | |
| * @param {!Object} el | |
| * @return {?} | |
| */ | |
| var $i = function(el) { | |
| var options = Ph(el); | |
| var xhair = new L(0, 0); | |
| var win = Xi(options); | |
| if (el == win) { | |
| return xhair; | |
| } | |
| el = Yi(el); | |
| options = Zh(Qh(options).a); | |
| xhair.x = el.left + options.x; | |
| xhair.y = el.top + options.y; | |
| return xhair; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Object} b | |
| * @return {?} | |
| */ | |
| var cj = function(a, b) { | |
| var dialogGeometry = bj(a); | |
| var containerGeometry = bj(b); | |
| return new L(dialogGeometry.x - containerGeometry.x, dialogGeometry.y - containerGeometry.y); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var dj = function(a) { | |
| a = Yi(a); | |
| return new L(a.left, a.top); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var bj = function(a) { | |
| if (1 == a.nodeType) { | |
| return dj(a); | |
| } | |
| a = a.changedTouches ? a.changedTouches[0] : a; | |
| return new L(a.clientX, a.clientY); | |
| }; | |
| /** | |
| * @param {!Object} d | |
| * @param {number} s | |
| * @param {!Audio} v | |
| * @return {undefined} | |
| */ | |
| var ej = function(d, s, v) { | |
| var pt = $i(d); | |
| if (s instanceof L) { | |
| v = s.y; | |
| s = s.x; | |
| } | |
| Wi(d, d.offsetLeft + (s - pt.x), d.offsetTop + (Number(v) - pt.y)); | |
| }; | |
| /** | |
| * @param {!Element} text | |
| * @param {!Object} a | |
| * @param {number} value | |
| * @return {undefined} | |
| */ | |
| var fj = function(text, a, value) { | |
| if (a instanceof Gh) { | |
| value = a.height; | |
| a = a.width; | |
| } else { | |
| if (void 0 == value) { | |
| throw Error("missing height argument"); | |
| } | |
| } | |
| text.style.width = Vi(a, true); | |
| text.style.height = Vi(value, true); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var Vi = function(a, b) { | |
| if (typeof a == bd) { | |
| a = (b ? Math.round(a) : a) + md; | |
| } | |
| return a; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var hj = function(a) { | |
| /** @type {function(!Object): ?} */ | |
| var multInv = gj; | |
| if (Ui(a, "display") != ad) { | |
| return multInv(a); | |
| } | |
| var style = a.style; | |
| var oldDisplay = style.display; | |
| var oldVis = style.visibility; | |
| var oPos = style.position; | |
| style.visibility = oc; | |
| style.position = Ga; | |
| /** @type {string} */ | |
| style.display = "inline"; | |
| a = multInv(a); | |
| style.display = oldDisplay; | |
| style.position = oPos; | |
| style.visibility = oldVis; | |
| return a; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var gj = function(a) { | |
| var b = a.offsetWidth; | |
| var liHeight = a.offsetHeight; | |
| var matched = G && !b && !liHeight; | |
| return xe(b) && !matched || !a.getBoundingClientRect ? new Gh(b, liHeight) : (a = Yi(a), new Gh(a.right - a.left, a.bottom - a.top)); | |
| }; | |
| /** | |
| * @param {?} b | |
| * @return {?} | |
| */ | |
| var ij = function(b) { | |
| var a = $i(b); | |
| b = hj(b); | |
| return new Oi(a.x, a.y, b.width, b.height); | |
| }; | |
| /** | |
| * @param {!Element} a | |
| * @param {(number|string)} c | |
| * @return {undefined} | |
| */ | |
| var jj = function(a, c) { | |
| var style = a.style; | |
| if ("opacity" in style) { | |
| /** @type {(number|string)} */ | |
| style.opacity = c; | |
| } else { | |
| if ("MozOpacity" in style) { | |
| /** @type {(number|string)} */ | |
| style.MozOpacity = c; | |
| } else { | |
| if ("filter" in style) { | |
| /** @type {string} */ | |
| style.filter = "" === c ? "" : "alpha(opacity=" + 100 * Number(c) + ")"; | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {boolean} b | |
| * @return {undefined} | |
| */ | |
| var S = function(a, b) { | |
| a.style.display = b ? "" : ad; | |
| }; | |
| /** | |
| * @param {!Element} a | |
| * @return {?} | |
| */ | |
| var kj = function(a) { | |
| return a.style.display != ad; | |
| }; | |
| /** | |
| * @param {string} args | |
| * @return {?} | |
| */ | |
| var mj = function(args) { | |
| args = Mi(args); | |
| var d = Qh(void 0); | |
| var c; | |
| var node = d.a; | |
| if (E && node.createStyleSheet) { | |
| c = node.createStyleSheet(); | |
| lj(c, args); | |
| } else { | |
| node = Rh(d.a, "HEAD", void 0, void 0)[0]; | |
| if (!node) { | |
| c = Rh(d.a, "BODY", void 0, void 0)[0]; | |
| node = d.b("HEAD"); | |
| c.parentNode.insertBefore(node, c); | |
| } | |
| c = d.b("STYLE"); | |
| lj(c, args); | |
| d.appendChild(node, c); | |
| } | |
| return c; | |
| }; | |
| /** | |
| * @param {!Node} d | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| var lj = function(d, obj) { | |
| var a; | |
| if (obj instanceof tg && obj.constructor === tg && obj.b === sg) { | |
| a = obj.a; | |
| } else { | |
| Ce(obj); | |
| /** @type {string} */ | |
| a = "type_error:SafeStyleSheet"; | |
| } | |
| if (E && xe(d.cssText)) { | |
| d.cssText = a; | |
| } else { | |
| d.innerHTML = a; | |
| } | |
| }; | |
| /** | |
| * @param {!Object} cell | |
| * @return {?} | |
| */ | |
| var nj = function(cell) { | |
| return sd == Ui(cell, nb); | |
| }; | |
| /** @type {(null|string)} */ | |
| var oj = ih ? "MozUserSelect" : G || gh ? "WebkitUserSelect" : null; | |
| /** | |
| * @param {!Object} i | |
| * @param {string} value | |
| * @param {!Function} x | |
| * @return {undefined} | |
| */ | |
| var pj = function(i, value, x) { | |
| x = x ? null : i.getElementsByTagName("*"); | |
| if (oj) { | |
| if (value = value ? ad : "", i.style && (i.style[oj] = value), x) { | |
| /** @type {number} */ | |
| i = 0; | |
| var descendant; | |
| for (; descendant = x[i]; i++) { | |
| if (descendant.style) { | |
| /** @type {string} */ | |
| descendant.style[oj] = value; | |
| } | |
| } | |
| } | |
| } else { | |
| if (E || fh) { | |
| if (value = value ? "on" : "", i.setAttribute("unselectable", value), x) { | |
| /** @type {number} */ | |
| i = 0; | |
| for (; descendant = x[i]; i++) { | |
| descendant.setAttribute("unselectable", value); | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} style | |
| * @param {!Object} size | |
| * @param {string} boxSizing | |
| * @return {undefined} | |
| */ | |
| var qj = function(style, size, boxSizing) { | |
| style = style.style; | |
| if (ih) { | |
| /** @type {string} */ | |
| style.MozBoxSizing = boxSizing; | |
| } else { | |
| if (G) { | |
| /** @type {string} */ | |
| style.WebkitBoxSizing = boxSizing; | |
| } else { | |
| /** @type {string} */ | |
| style.boxSizing = boxSizing; | |
| } | |
| } | |
| style.width = Math.max(size.width, 0) + md; | |
| style.height = Math.max(size.height, 0) + md; | |
| }; | |
| /** | |
| * @param {!HTMLElement} element | |
| * @param {string} value | |
| * @param {string} propertyName | |
| * @param {string} prop | |
| * @return {?} | |
| */ | |
| var rj = function(element, value, propertyName, prop) { | |
| if (/^\d+px?$/.test(value)) { | |
| return parseInt(value, 10); | |
| } | |
| var propertyMethodPostfix = element.style[propertyName]; | |
| var componentPropertyValue = element.runtimeStyle[propertyName]; | |
| element.runtimeStyle[propertyName] = element.currentStyle[propertyName]; | |
| /** @type {string} */ | |
| element.style[propertyName] = value; | |
| value = element.style[prop]; | |
| element.style[propertyName] = propertyMethodPostfix; | |
| element.runtimeStyle[propertyName] = componentPropertyValue; | |
| return value; | |
| }; | |
| /** | |
| * @param {!HTMLElement} el | |
| * @param {string} property | |
| * @return {?} | |
| */ | |
| var sj = function(el, property) { | |
| var value = el.currentStyle ? el.currentStyle[property] : null; | |
| return value ? rj(el, value, Pc, "pixelLeft") : 0; | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @param {string} property | |
| * @return {?} | |
| */ | |
| var tj = function(name, property) { | |
| if (E) { | |
| var c = sj(name, property + "Left"); | |
| var d = sj(name, property + "Right"); | |
| var e = sj(name, property + "Top"); | |
| var f = sj(name, property + "Bottom"); | |
| return new Ni(e, d, f, c); | |
| } | |
| c = Ti(name, property + "Left"); | |
| d = Ti(name, property + "Right"); | |
| e = Ti(name, property + "Top"); | |
| f = Ti(name, property + "Bottom"); | |
| return new Ni(parseFloat(e), parseFloat(d), parseFloat(f), parseFloat(c)); | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @return {?} | |
| */ | |
| var uj = function(name) { | |
| return tj(name, "padding"); | |
| }; | |
| var vj = { | |
| thin : 2, | |
| medium : 4, | |
| thick : 6 | |
| }; | |
| /** | |
| * @param {!HTMLElement} elem | |
| * @param {string} prop | |
| * @return {?} | |
| */ | |
| var wj = function(elem, prop) { | |
| if ((elem.currentStyle ? elem.currentStyle[prop + "Style"] : null) == ad) { | |
| return 0; | |
| } | |
| var type = elem.currentStyle ? elem.currentStyle[prop + "Width"] : null; | |
| return type in vj ? vj[type] : rj(elem, type, Pc, "pixelLeft"); | |
| }; | |
| /** | |
| * @param {string} element | |
| * @return {?} | |
| */ | |
| var xj = function(element) { | |
| if (E && !yh(9)) { | |
| var left = wj(element, "borderLeft"); | |
| var right = wj(element, "borderRight"); | |
| var top = wj(element, "borderTop"); | |
| element = wj(element, "borderBottom"); | |
| return new Ni(top, right, element, left); | |
| } | |
| left = Ti(element, "borderLeftWidth"); | |
| right = Ti(element, "borderRightWidth"); | |
| top = Ti(element, "borderTopWidth"); | |
| element = Ti(element, "borderBottomWidth"); | |
| return new Ni(parseFloat(top), parseFloat(right), parseFloat(element), parseFloat(left)); | |
| }; | |
| var yj = ue(); | |
| /** | |
| * @param {!Object} name | |
| * @return {undefined} | |
| */ | |
| yj.prototype.a = function(name) { | |
| /** @type {!HTMLBodyElement} */ | |
| var body = document.body; | |
| switch(name.mo) { | |
| case "sm": | |
| J(body, "e_sm"); | |
| K(body, "e_md"); | |
| K(body, "e_lg"); | |
| break; | |
| case "lg": | |
| J(body, "e_lg"); | |
| K(body, "e_sm"); | |
| K(body, "e_md"); | |
| break; | |
| default: | |
| J(body, "e_md"); | |
| K(body, "e_sm"); | |
| K(body, "e_lg"); | |
| } | |
| if (body = document.getElementById("contentframe")) { | |
| /** @type {number} */ | |
| var fullName = 0; | |
| /** @type {(Element|null)} */ | |
| var d = document.getElementById("wtgbr"); | |
| var fhTop = tj(d, Rc).top; | |
| name = name.es.h; | |
| var e = M("gt-logo"); | |
| if (null != e) { | |
| name = name + hj(e).height; | |
| } | |
| if (0 == fhTop) { | |
| fullName = fullName + name; | |
| } else { | |
| if (name != -fhTop) { | |
| R(d, Tc, -name + md); | |
| } | |
| } | |
| if (d = document.getElementById("gt-appbar")) { | |
| fullName = fullName + hj(d).height; | |
| } | |
| Wi(body, 0, fullName); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var zj = function() { | |
| /** @type {null} */ | |
| this.j = null; | |
| /** @type {string} */ | |
| this.w = this.C = this.g = this.c = this.H = this.W = this.Ca = this.U = this.Ra = this.K = ""; | |
| /** @type {null} */ | |
| this.b = this.A = this.a = this.O = this.wa = this.P = this.L = this.I = this.N = null; | |
| /** @type {number} */ | |
| this.G = 0; | |
| /** @type {boolean} */ | |
| this.m = false; | |
| /** @type {number} */ | |
| this.F = -1; | |
| /** @type {boolean} */ | |
| this.B = false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Aj = function() { | |
| this.Ca = this.Ca; | |
| this.Ra = this.Ra; | |
| }; | |
| /** @type {boolean} */ | |
| Aj.prototype.Ca = false; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aj.prototype.za = function() { | |
| if (!this.Ca) { | |
| /** @type {boolean} */ | |
| this.Ca = true; | |
| this.J(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @param {?} min | |
| * @return {undefined} | |
| */ | |
| var Cj = function(item, min) { | |
| var v = Oe(Bj, min); | |
| if (item.Ca) { | |
| v.call(void 0); | |
| } else { | |
| if (!item.Ra) { | |
| /** @type {!Array} */ | |
| item.Ra = []; | |
| } | |
| item.Ra.push(xe(void 0) ? A(v, void 0) : v); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aj.prototype.J = function() { | |
| if (this.Ra) { | |
| for (; this.Ra.length;) { | |
| this.Ra.shift()(); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {boolean} a | |
| * @return {undefined} | |
| */ | |
| var Bj = function(a) { | |
| if (a && typeof a.za == Bb) { | |
| a.za(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} type | |
| * @param {string} path | |
| * @return {undefined} | |
| */ | |
| var T = function(type, path) { | |
| /** @type {!Object} */ | |
| this.type = type; | |
| this.a = this.target = path; | |
| /** @type {boolean} */ | |
| this.g = false; | |
| /** @type {boolean} */ | |
| this.ah = true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| T.prototype.stopPropagation = function() { | |
| /** @type {boolean} */ | |
| this.g = true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| T.prototype.preventDefault = function() { | |
| /** @type {boolean} */ | |
| this.ah = false; | |
| }; | |
| var Dj = !E || yh(9); | |
| var Ej = !E || yh(9); | |
| var Fj = E && !I("9"); | |
| if (!!G) { | |
| I("528"); | |
| } | |
| if (!(ih && I("1.9b") || E && I("8") || fh && I("9.5"))) { | |
| if (G) { | |
| I("528"); | |
| } | |
| } | |
| if (!(ih && !I("8"))) { | |
| if (E) { | |
| I("9"); | |
| } | |
| } | |
| /** @type {string} */ | |
| var Gj = E ? xb : "DOMFocusIn"; | |
| /** @type {string} */ | |
| var Hj = E ? yb : "DOMFocusOut"; | |
| /** | |
| * @param {!Object} event | |
| * @param {number} prop | |
| * @return {undefined} | |
| */ | |
| var Ij = function(event, prop) { | |
| T.call(this, event ? event.type : ""); | |
| /** @type {null} */ | |
| this.c = this.a = this.target = null; | |
| /** @type {number} */ | |
| this.keyCode = this.screenY = this.screenX = this.clientY = this.clientX = 0; | |
| /** @type {boolean} */ | |
| this.m = this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = false; | |
| /** @type {null} */ | |
| this.b = null; | |
| if (event) { | |
| var type = this.type = event.type; | |
| var relevantTouch = event.changedTouches ? event.changedTouches[0] : null; | |
| this.target = event.target || event.srcElement; | |
| /** @type {number} */ | |
| this.a = prop; | |
| var node = event.relatedTarget; | |
| if (node) { | |
| if (ih) { | |
| if (!Qi(node, "nodeName")) { | |
| /** @type {null} */ | |
| node = null; | |
| } | |
| } | |
| } else { | |
| if (type == Yc) { | |
| node = event.fromElement; | |
| } else { | |
| if (type == Xc) { | |
| node = event.toElement; | |
| } | |
| } | |
| } | |
| this.c = node; | |
| if (null === relevantTouch) { | |
| this.clientX = void 0 !== event.clientX ? event.clientX : event.pageX; | |
| this.clientY = void 0 !== event.clientY ? event.clientY : event.pageY; | |
| this.screenX = event.screenX || 0; | |
| this.screenY = event.screenY || 0; | |
| } else { | |
| this.clientX = void 0 !== relevantTouch.clientX ? relevantTouch.clientX : relevantTouch.pageX; | |
| this.clientY = void 0 !== relevantTouch.clientY ? relevantTouch.clientY : relevantTouch.pageY; | |
| this.screenX = relevantTouch.screenX || 0; | |
| this.screenY = relevantTouch.screenY || 0; | |
| } | |
| this.keyCode = event.keyCode || 0; | |
| this.ctrlKey = event.ctrlKey; | |
| this.altKey = event.altKey; | |
| this.shiftKey = event.shiftKey; | |
| this.metaKey = event.metaKey; | |
| this.m = kh ? event.metaKey : event.ctrlKey; | |
| /** @type {!Object} */ | |
| this.b = event; | |
| if (event.defaultPrevented) { | |
| this.preventDefault(); | |
| } | |
| } | |
| }; | |
| C(Ij, T); | |
| /** @type {!Array} */ | |
| var Jj = [1, 4, 2]; | |
| /** | |
| * @param {!Object} item | |
| * @return {?} | |
| */ | |
| var Kj = function(item) { | |
| return (Dj ? 0 == item.b.button : item.type == r ? true : !!(item.b.button & Jj[0])) && !(G && kh && item.ctrlKey); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ij.prototype.stopPropagation = function() { | |
| Ij.v.stopPropagation.call(this); | |
| if (this.b.stopPropagation) { | |
| this.b.stopPropagation(); | |
| } else { | |
| /** @type {boolean} */ | |
| this.b.cancelBubble = true; | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ij.prototype.preventDefault = function() { | |
| Ij.v.preventDefault.call(this); | |
| var e = this.b; | |
| if (e.preventDefault) { | |
| e.preventDefault(); | |
| } else { | |
| if (e.returnValue = false, Fj) { | |
| try { | |
| if (e.ctrlKey || 112 <= e.keyCode && 123 >= e.keyCode) { | |
| /** @type {number} */ | |
| e.keyCode = -1; | |
| } | |
| } catch (b) { | |
| } | |
| } | |
| } | |
| }; | |
| /** @type {string} */ | |
| var Lj = "closure_listenable_" + (1E6 * Math.random() | 0); | |
| /** | |
| * @param {!Object} object | |
| * @return {?} | |
| */ | |
| var Mj = function(object) { | |
| return !(!object || !object[Lj]); | |
| }; | |
| /** @type {number} */ | |
| var Nj = 0; | |
| /** | |
| * @param {!Object} callback | |
| * @param {string} link | |
| * @param {!Object} src | |
| * @param {?} bandages | |
| * @param {?} REPLACED | |
| * @return {undefined} | |
| */ | |
| var Oj = function(callback, link, src, bandages, REPLACED) { | |
| /** @type {!Object} */ | |
| this.listener = callback; | |
| /** @type {null} */ | |
| this.a = null; | |
| /** @type {string} */ | |
| this.src = link; | |
| /** @type {!Object} */ | |
| this.type = src; | |
| /** @type {boolean} */ | |
| this.Gd = !!bandages; | |
| this.ke = REPLACED; | |
| /** @type {number} */ | |
| this.key = ++Nj; | |
| /** @type {boolean} */ | |
| this.Sc = this.Fd = false; | |
| }; | |
| /** | |
| * @param {!Object} d | |
| * @return {undefined} | |
| */ | |
| var Pj = function(d) { | |
| /** @type {boolean} */ | |
| d.Sc = true; | |
| /** @type {null} */ | |
| d.listener = null; | |
| /** @type {null} */ | |
| d.a = null; | |
| /** @type {null} */ | |
| d.src = null; | |
| /** @type {null} */ | |
| d.ke = null; | |
| }; | |
| /** | |
| * @param {string} src | |
| * @return {undefined} | |
| */ | |
| var Qj = function(src) { | |
| /** @type {string} */ | |
| this.src = src; | |
| this.a = {}; | |
| /** @type {number} */ | |
| this.b = 0; | |
| }; | |
| /** | |
| * @param {string} obj | |
| * @param {string} array | |
| * @param {!Function} d | |
| * @param {boolean} h | |
| * @param {string} e | |
| * @param {!Object} key | |
| * @return {?} | |
| */ | |
| var Sj = function(obj, array, d, h, e, key) { | |
| var type = array.toString(); | |
| array = obj.a[type]; | |
| if (!array) { | |
| /** @type {!Array} */ | |
| array = obj.a[type] = []; | |
| obj.b++; | |
| } | |
| var t = Rj(array, d, e, key); | |
| if (-1 < t) { | |
| obj = array[t]; | |
| if (!h) { | |
| /** @type {boolean} */ | |
| obj.Fd = false; | |
| } | |
| } else { | |
| obj = new Oj(d, obj.src, type, !!e, key); | |
| /** @type {boolean} */ | |
| obj.Fd = h; | |
| array.push(obj); | |
| } | |
| return obj; | |
| }; | |
| /** | |
| * @param {!Object} event | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var Tj = function(event, data) { | |
| var type = data.type; | |
| if (!(type in event.a)) { | |
| return false; | |
| } | |
| var renderedHtml = Hf(event.a[type], data); | |
| if (renderedHtml) { | |
| Pj(data); | |
| if (0 == event.a[type].length) { | |
| delete event.a[type]; | |
| event.b--; | |
| } | |
| } | |
| return renderedHtml; | |
| }; | |
| /** | |
| * @param {!Object} m | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var Uj = function(m, b) { | |
| var cur = b && b.toString(); | |
| /** @type {number} */ | |
| var d = 0; | |
| var i; | |
| for (i in m.a) { | |
| if (!cur || i == cur) { | |
| var month_name = m.a[i]; | |
| /** @type {number} */ | |
| var month_full_i = 0; | |
| for (; month_full_i < month_name.length; month_full_i++) { | |
| ++d; | |
| Pj(month_name[month_full_i]); | |
| } | |
| delete m.a[i]; | |
| m.b--; | |
| } | |
| } | |
| return d; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {number} b | |
| * @param {!Function} prop | |
| * @param {string} d | |
| * @param {!Object} e | |
| * @return {?} | |
| */ | |
| var Vj = function(a, b, prop, d, e) { | |
| a = a.a[b.toString()]; | |
| /** @type {number} */ | |
| b = -1; | |
| if (a) { | |
| b = Rj(a, prop, d, e); | |
| } | |
| return -1 < b ? a[b] : null; | |
| }; | |
| /** | |
| * @param {!Object} input | |
| * @param {!Function} name | |
| * @param {string} reason | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var Rj = function(input, name, reason, a) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < input.length; ++i) { | |
| var d = input[i]; | |
| if (!d.Sc && d.listener == name && d.Gd == !!reason && d.ke == a) { | |
| return i; | |
| } | |
| } | |
| return -1; | |
| }; | |
| /** @type {string} */ | |
| var Wj = "closure_lm_" + (1E6 * Math.random() | 0); | |
| var Xj = {}; | |
| /** @type {number} */ | |
| var Yj = 0; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} name | |
| * @param {!Function} b | |
| * @param {string} c | |
| * @param {!Object} d | |
| * @return {?} | |
| */ | |
| var U = function(a, name, b, c, d) { | |
| if (De(name)) { | |
| /** @type {number} */ | |
| var curPos = 0; | |
| for (; curPos < name.length; curPos++) { | |
| U(a, name[curPos], b, c, d); | |
| } | |
| return null; | |
| } | |
| b = Zj(b); | |
| return Mj(a) ? Sj(a.eb, String(name), b, false, c, d) : ak(a, name, b, false, c, d); | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {string} input | |
| * @param {!Object} e | |
| * @param {!Object} d | |
| * @param {string} t | |
| * @param {!Object} f | |
| * @return {?} | |
| */ | |
| var ak = function(b, input, e, d, t, f) { | |
| if (!input) { | |
| throw Error("Invalid event type"); | |
| } | |
| /** @type {boolean} */ | |
| var cb = !!t; | |
| var c = bk(b); | |
| if (!c) { | |
| b[Wj] = c = new Qj(b); | |
| } | |
| e = Sj(c, input, e, d, t, f); | |
| if (e.a) { | |
| return e; | |
| } | |
| d = ck(); | |
| /** @type {!Object} */ | |
| e.a = d; | |
| /** @type {!Object} */ | |
| d.src = b; | |
| /** @type {!Object} */ | |
| d.listener = e; | |
| if (b.addEventListener) { | |
| b.addEventListener(input.toString(), d, cb); | |
| } else { | |
| if (b.attachEvent) { | |
| b.attachEvent(dk(input.toString()), d); | |
| } else { | |
| throw Error("addEventListener and attachEvent are unavailable."); | |
| } | |
| } | |
| Yj++; | |
| return e; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var ck = function() { | |
| /** @type {function(!Object, string): ?} */ | |
| var proxyCallbackFunction = ek; | |
| /** @type {function(?): ?} */ | |
| var f = Ej ? function(eventObject) { | |
| return proxyCallbackFunction.call(f.src, f.listener, eventObject); | |
| } : function(ch) { | |
| ch = proxyCallbackFunction.call(f.src, f.listener, ch); | |
| if (!ch) { | |
| return ch; | |
| } | |
| }; | |
| return f; | |
| }; | |
| /** | |
| * @param {!Object} model | |
| * @param {string} value | |
| * @param {!Object} status | |
| * @param {string} files | |
| * @param {!Object} folder | |
| * @return {undefined} | |
| */ | |
| var gk = function(model, value, status, files, folder) { | |
| if (De(value)) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < value.length; i++) { | |
| gk(model, value[i], status, files, folder); | |
| } | |
| } else { | |
| status = Zj(status); | |
| if (Mj(model)) { | |
| Sj(model.eb, String(value), status, true, files, folder); | |
| } else { | |
| ak(model, value, status, true, files, folder); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @param {string} name | |
| * @param {number} p | |
| * @param {boolean} v | |
| * @param {!Object} j | |
| * @return {undefined} | |
| */ | |
| var hk = function(value, name, p, v, j) { | |
| if (De(name)) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < name.length; i++) { | |
| hk(value, name[i], p, v, j); | |
| } | |
| } else { | |
| p = Zj(p); | |
| if (Mj(value)) { | |
| value = value.eb; | |
| /** @type {string} */ | |
| name = String(name).toString(); | |
| if (name in value.a) { | |
| i = value.a[name]; | |
| p = Rj(i, p, v, j); | |
| if (-1 < p) { | |
| Pj(i[p]); | |
| Array.prototype.splice.call(i, p, 1); | |
| if (0 == i.length) { | |
| delete value.a[name]; | |
| value.b--; | |
| } | |
| } | |
| } | |
| } else { | |
| if (value && (value = bk(value)) && (p = Vj(value, name, p, !!v, j))) { | |
| ik(p); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var ik = function(data) { | |
| if (Ge(data) || !data || data.Sc) { | |
| return false; | |
| } | |
| var node = data.src; | |
| if (Mj(node)) { | |
| return Tj(node.eb, data); | |
| } | |
| var type = data.type; | |
| var action = data.a; | |
| if (node.removeEventListener) { | |
| node.removeEventListener(type, action, data.Gd); | |
| } else { | |
| if (node.detachEvent) { | |
| node.detachEvent(dk(type), action); | |
| } | |
| } | |
| Yj--; | |
| if (type = bk(node)) { | |
| Tj(type, data); | |
| if (0 == type.b) { | |
| /** @type {null} */ | |
| type.src = null; | |
| /** @type {null} */ | |
| node[Wj] = null; | |
| } | |
| } else { | |
| Pj(data); | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} width | |
| * @param {string} frame | |
| * @return {?} | |
| */ | |
| var jk = function(width, frame) { | |
| if (!width) { | |
| return 0; | |
| } | |
| if (Mj(width)) { | |
| return width.eb ? Uj(width.eb, frame) : 0; | |
| } | |
| var c = bk(width); | |
| if (!c) { | |
| return 0; | |
| } | |
| /** @type {number} */ | |
| var d = 0; | |
| var name = frame && frame.toString(); | |
| var i; | |
| for (i in c.a) { | |
| if (!name || i == name) { | |
| var crossfilterable_layers = c.a[i].concat(); | |
| /** @type {number} */ | |
| var layer_i = 0; | |
| for (; layer_i < crossfilterable_layers.length; ++layer_i) { | |
| if (ik(crossfilterable_layers[layer_i])) { | |
| ++d; | |
| } | |
| } | |
| } | |
| } | |
| return d; | |
| }; | |
| /** | |
| * @param {string} k | |
| * @return {?} | |
| */ | |
| var dk = function(k) { | |
| return k in Xj ? Xj[k] : Xj[k] = "on" + k; | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {string} b | |
| * @param {boolean} directory | |
| * @param {?} value | |
| * @return {?} | |
| */ | |
| var lk = function(a, b, directory, value) { | |
| /** @type {boolean} */ | |
| var params = true; | |
| if (a = bk(a)) { | |
| if (b = a.a[b.toString()]) { | |
| b = b.concat(); | |
| /** @type {number} */ | |
| a = 0; | |
| for (; a < b.length; a++) { | |
| var f = b[a]; | |
| if (f && f.Gd == directory && !f.Sc) { | |
| f = kk(f, value); | |
| /** @type {boolean} */ | |
| params = params && false !== f; | |
| } | |
| } | |
| } | |
| } | |
| return params; | |
| }; | |
| /** | |
| * @param {!Object} listener | |
| * @param {?} e | |
| * @return {?} | |
| */ | |
| var kk = function(listener, e) { | |
| var listenerFn = listener.listener; | |
| var listenerHandler = listener.ke || listener.src; | |
| if (listener.Fd) { | |
| ik(listener); | |
| } | |
| return listenerFn.call(listenerHandler, e); | |
| }; | |
| /** | |
| * @param {!Object} e | |
| * @param {string} comments | |
| * @return {?} | |
| */ | |
| var ek = function(e, comments) { | |
| if (e.Sc) { | |
| return true; | |
| } | |
| if (!Ej) { | |
| var data = comments || ze("window.event"); | |
| var d = new Ij(data, this); | |
| /** @type {boolean} */ | |
| var result = true; | |
| if (!(0 > data.keyCode || void 0 != data.returnValue)) { | |
| a: { | |
| /** @type {boolean} */ | |
| var a = false; | |
| if (0 == data.keyCode) { | |
| try { | |
| /** @type {number} */ | |
| data.keyCode = -1; | |
| break a; | |
| } catch (m) { | |
| /** @type {boolean} */ | |
| a = true; | |
| } | |
| } | |
| if (a || void 0 == data.returnValue) { | |
| /** @type {boolean} */ | |
| data.returnValue = true; | |
| } | |
| } | |
| /** @type {!Array} */ | |
| data = []; | |
| a = d.a; | |
| for (; a; a = a.parentNode) { | |
| data.push(a); | |
| } | |
| a = e.type; | |
| /** @type {number} */ | |
| var i = data.length - 1; | |
| for (; !d.g && 0 <= i; i--) { | |
| d.a = data[i]; | |
| var r = lk(data[i], a, true, d); | |
| result = result && r; | |
| } | |
| /** @type {number} */ | |
| i = 0; | |
| for (; !d.g && i < data.length; i++) { | |
| d.a = data[i]; | |
| r = lk(data[i], a, false, d); | |
| result = result && r; | |
| } | |
| } | |
| return result; | |
| } | |
| return kk(e, new Ij(comments, this)); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| var bk = function(value) { | |
| value = value[Wj]; | |
| return value instanceof Qj ? value : null; | |
| }; | |
| /** @type {string} */ | |
| var mk = "__closure_events_fn_" + (1E9 * Math.random() >>> 0); | |
| /** | |
| * @param {!Function} result | |
| * @return {?} | |
| */ | |
| var Zj = function(result) { | |
| if (He(result)) { | |
| return result; | |
| } | |
| if (!result[mk]) { | |
| /** | |
| * @param {!Object} event | |
| * @return {?} | |
| */ | |
| result[mk] = function(event) { | |
| return result.handleEvent(event); | |
| }; | |
| } | |
| return result[mk]; | |
| }; | |
| /** | |
| * @param {string} i_f | |
| * @return {undefined} | |
| */ | |
| var nk = function(i_f) { | |
| Aj.call(this); | |
| /** @type {string} */ | |
| this.F = i_f; | |
| this.o = {}; | |
| }; | |
| C(nk, Aj); | |
| /** @type {!Array} */ | |
| var ok = []; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Object} data | |
| * @param {string} input | |
| * @return {?} | |
| */ | |
| nk.prototype.a = function(name, type, data, input) { | |
| if (!De(type)) { | |
| if (type) { | |
| ok[0] = type.toString(); | |
| } | |
| type = ok; | |
| } | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < type.length; j++) { | |
| var val = U(name, type[j], data || this.handleEvent, input || false, this.F || this); | |
| if (!val) { | |
| break; | |
| } | |
| this.o[val.key] = val; | |
| } | |
| return this; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Object} data | |
| * @param {string} e | |
| * @param {number} x | |
| * @return {?} | |
| */ | |
| nk.prototype.b = function(name, type, data, e, x) { | |
| if (De(type)) { | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < type.length; j++) { | |
| this.b(name, type[j], data, e, x); | |
| } | |
| } else { | |
| data = data || this.handleEvent; | |
| x = x || this.F || this; | |
| data = Zj(data); | |
| /** @type {boolean} */ | |
| e = !!e; | |
| type = Mj(name) ? Vj(name.eb, String(type), data, e, x) : name ? (name = bk(name)) ? Vj(name, type, data, e, x) : null : null; | |
| if (type) { | |
| ik(type); | |
| delete this.o[type.key]; | |
| } | |
| } | |
| return this; | |
| }; | |
| /** | |
| * @param {!Object} selector | |
| * @return {undefined} | |
| */ | |
| var pk = function(selector) { | |
| Nf(selector.o, function(testItemData, e) { | |
| if (this.o.hasOwnProperty(e)) { | |
| ik(testItemData); | |
| } | |
| }, selector); | |
| selector.o = {}; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| nk.prototype.J = function() { | |
| nk.v.J.call(this); | |
| pk(this); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| nk.prototype.handleEvent = function() { | |
| throw Error("EventHandler.handleEvent not implemented"); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var V = function() { | |
| Aj.call(this); | |
| this.eb = new Qj(this); | |
| this.Ni = this; | |
| /** @type {null} */ | |
| this.Ce = null; | |
| }; | |
| C(V, Aj); | |
| /** @type {boolean} */ | |
| V.prototype[Lj] = true; | |
| y = V.prototype; | |
| y.Md = w("Ce"); | |
| y.Uc = ve("Ce"); | |
| /** | |
| * @param {string} type | |
| * @param {!Array} action | |
| * @param {boolean} el | |
| * @param {!Object} callback | |
| * @return {undefined} | |
| */ | |
| y.removeEventListener = function(type, action, el, callback) { | |
| hk(this, type, action, el, callback); | |
| }; | |
| /** | |
| * @param {string} value | |
| * @return {?} | |
| */ | |
| y.dispatchEvent = function(value) { | |
| var obj; | |
| var key = this.Md(); | |
| if (key) { | |
| /** @type {!Array} */ | |
| obj = []; | |
| /** @type {number} */ | |
| var data = 1; | |
| for (; key; key = key.Md()) { | |
| obj.push(key); | |
| ++data; | |
| } | |
| } | |
| key = this.Ni; | |
| data = value.type || value; | |
| if (Fe(value)) { | |
| value = new T(value, key); | |
| } else { | |
| if (value instanceof T) { | |
| value.target = value.target || key; | |
| } else { | |
| /** @type {string} */ | |
| var result = value; | |
| value = new T(data, key); | |
| Wf(value, result); | |
| } | |
| } | |
| /** @type {boolean} */ | |
| result = true; | |
| var time; | |
| if (obj) { | |
| /** @type {number} */ | |
| var i = obj.length - 1; | |
| for (; !value.g && 0 <= i; i--) { | |
| time = value.a = obj[i]; | |
| result = qk(time, data, true, value) && result; | |
| } | |
| } | |
| if (!value.g) { | |
| time = value.a = key; | |
| result = qk(time, data, true, value) && result; | |
| if (!value.g) { | |
| result = qk(time, data, false, value) && result; | |
| } | |
| } | |
| if (obj) { | |
| /** @type {number} */ | |
| i = 0; | |
| for (; !value.g && i < obj.length; i++) { | |
| time = value.a = obj[i]; | |
| result = qk(time, data, false, value) && result; | |
| } | |
| } | |
| return result; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.J = function() { | |
| V.v.J.call(this); | |
| if (this.eb) { | |
| Uj(this.eb, void 0); | |
| } | |
| /** @type {null} */ | |
| this.Ce = null; | |
| }; | |
| /** | |
| * @param {!Object} model | |
| * @param {string} event | |
| * @param {boolean} capture | |
| * @param {string} char | |
| * @return {?} | |
| */ | |
| var qk = function(model, event, capture, char) { | |
| event = model.eb.a[String(event)]; | |
| if (!event) { | |
| return true; | |
| } | |
| event = event.concat(); | |
| /** @type {boolean} */ | |
| var b = true; | |
| /** @type {number} */ | |
| var k = 0; | |
| for (; k < event.length; ++k) { | |
| var listener = event[k]; | |
| if (listener && !listener.Sc && listener.Gd == capture) { | |
| var listenerFn = listener.listener; | |
| var listenerHandler = listener.ke || listener.src; | |
| if (listener.Fd) { | |
| Tj(model.eb, listener); | |
| } | |
| /** @type {boolean} */ | |
| b = false !== listenerFn.call(listenerHandler, char) && b; | |
| } | |
| } | |
| return b && 0 != char.ah; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| var rk = function() { | |
| return !(D(tc) || D(na) && !D("Mobile") || D("Silk")) && (D(uc) || D("iPhone") || D(na) || D("IEMobile")); | |
| }; | |
| /** | |
| * @param {?} handler | |
| * @param {!Array} value | |
| * @return {?} | |
| */ | |
| var sk = function(handler, value) { | |
| /** @type {!Array} */ | |
| var section = [handler]; | |
| /** @type {number} */ | |
| var i = value.length - 1; | |
| for (; 0 <= i; --i) { | |
| section.push(typeof value[i], value[i]); | |
| } | |
| return section.join("\x0B"); | |
| }; | |
| /** | |
| * @param {number} compiler | |
| * @param {string} reflectorHost | |
| * @param {number} metadataResolver | |
| * @return {undefined} | |
| */ | |
| var tk = function(compiler, reflectorHost, metadataResolver) { | |
| /** @type {number} */ | |
| this.j = metadataResolver; | |
| /** @type {number} */ | |
| this.c = compiler; | |
| /** @type {string} */ | |
| this.g = reflectorHost; | |
| /** @type {number} */ | |
| this.b = 0; | |
| /** @type {null} */ | |
| this.a = null; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| tk.prototype.get = function() { | |
| var a; | |
| if (0 < this.b) { | |
| this.b--; | |
| a = this.a; | |
| this.a = a.next; | |
| /** @type {null} */ | |
| a.next = null; | |
| } else { | |
| a = this.c(); | |
| } | |
| return a; | |
| }; | |
| /** | |
| * @param {!Object} t | |
| * @param {!Object} n | |
| * @return {undefined} | |
| */ | |
| var uk = function(t, n) { | |
| t.g(n); | |
| if (t.b < t.j) { | |
| t.b++; | |
| n.next = t.a; | |
| /** @type {!Object} */ | |
| t.a = n; | |
| } | |
| }; | |
| /** | |
| * @param {?} callback | |
| * @return {undefined} | |
| */ | |
| var vk = function(callback) { | |
| z.setTimeout(function() { | |
| throw callback; | |
| }, 0); | |
| }; | |
| var wk; | |
| /** | |
| * @return {?} | |
| */ | |
| var xk = function() { | |
| var Channel = z.MessageChannel; | |
| if ("undefined" === typeof Channel && "undefined" !== typeof window && window.postMessage && window.addEventListener && !D("Presto")) { | |
| /** | |
| * @return {undefined} | |
| */ | |
| Channel = function() { | |
| /** @type {!Element} */ | |
| var a = document.createElement("IFRAME"); | |
| a.style.display = ad; | |
| /** @type {string} */ | |
| a.src = ""; | |
| document.documentElement.appendChild(a); | |
| var window = a.contentWindow; | |
| a = window.document; | |
| a.open(); | |
| a.write(""); | |
| a.close(); | |
| /** @type {string} */ | |
| var asyncMsg = "callImmediate" + Math.random(); | |
| /** @type {string} */ | |
| var origin = "file:" == window.location.protocol ? "*" : window.location.protocol + "//" + window.location.host; | |
| a = A(function(event) { | |
| if (("*" == origin || event.origin == origin) && event.data == asyncMsg) { | |
| this.port1.onmessage(); | |
| } | |
| }, this); | |
| window.addEventListener("message", a, false); | |
| this.port1 = {}; | |
| this.port2 = { | |
| postMessage : function() { | |
| window.postMessage(asyncMsg, origin); | |
| } | |
| }; | |
| }; | |
| } | |
| if ("undefined" !== typeof Channel && !fg()) { | |
| var channel = new Channel; | |
| var stack = {}; | |
| var previous = stack; | |
| /** | |
| * @return {undefined} | |
| */ | |
| channel.port1.onmessage = function() { | |
| if (xe(stack.next)) { | |
| stack = stack.next; | |
| var length = stack.cg; | |
| /** @type {null} */ | |
| stack.cg = null; | |
| length(); | |
| } | |
| }; | |
| return function(changes) { | |
| previous.next = { | |
| cg : changes | |
| }; | |
| previous = previous.next; | |
| channel.port2.postMessage(0); | |
| }; | |
| } | |
| return "undefined" !== typeof document && "onreadystatechange" in document.createElement(xa) ? function(notify_success) { | |
| /** @type {!Element} */ | |
| var v = document.createElement(xa); | |
| /** | |
| * @return {undefined} | |
| */ | |
| v.onreadystatechange = function() { | |
| /** @type {null} */ | |
| v.onreadystatechange = null; | |
| v.parentNode.removeChild(v); | |
| /** @type {null} */ | |
| v = null; | |
| notify_success(); | |
| /** @type {null} */ | |
| notify_success = null; | |
| }; | |
| document.documentElement.appendChild(v); | |
| } : function(name) { | |
| z.setTimeout(name, 0); | |
| }; | |
| }; | |
| var zk = new tk(function() { | |
| return new yk; | |
| }, function(applyViewModelsSpy) { | |
| applyViewModelsSpy.reset(); | |
| }, 100); | |
| /** | |
| * @return {?} | |
| */ | |
| var Bk = function() { | |
| var face = Ak; | |
| /** @type {null} */ | |
| var a = null; | |
| if (face.a) { | |
| a = face.a; | |
| face.a = face.a.next; | |
| if (!face.a) { | |
| /** @type {null} */ | |
| face.b = null; | |
| } | |
| /** @type {null} */ | |
| a.next = null; | |
| } | |
| return a; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var yk = function() { | |
| /** @type {null} */ | |
| this.next = this.b = this.a = null; | |
| }; | |
| /** | |
| * @param {string} value | |
| * @param {string} obj | |
| * @return {undefined} | |
| */ | |
| yk.prototype.set = function(value, obj) { | |
| /** @type {string} */ | |
| this.a = value; | |
| /** @type {string} */ | |
| this.b = obj; | |
| /** @type {null} */ | |
| this.next = null; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| yk.prototype.reset = function() { | |
| /** @type {null} */ | |
| this.next = this.b = this.a = null; | |
| }; | |
| /** | |
| * @param {boolean} m | |
| * @param {!Object} b | |
| * @return {undefined} | |
| */ | |
| var Fk = function(m, b) { | |
| if (!Ck) { | |
| Dk(); | |
| } | |
| if (!Ek) { | |
| Ck(); | |
| /** @type {boolean} */ | |
| Ek = true; | |
| } | |
| var _ = Ak; | |
| var a = zk.get(); | |
| a.set(m, b); | |
| if (_.b) { | |
| _.b.next = a; | |
| } else { | |
| _.a = a; | |
| } | |
| _.b = a; | |
| }; | |
| var Ck; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Dk = function() { | |
| if (z.Promise && z.Promise.resolve) { | |
| var loadPropPromise = z.Promise.resolve(void 0); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ck = function() { | |
| loadPropPromise.then(Gk); | |
| }; | |
| } else { | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ck = function() { | |
| /** @type {function(): undefined} */ | |
| var f = Gk; | |
| if (!He(z.setImmediate) || z.Window && z.Window.prototype && !D(ra) && z.Window.prototype.setImmediate == z.setImmediate) { | |
| if (!wk) { | |
| wk = xk(); | |
| } | |
| wk(f); | |
| } else { | |
| z.setImmediate(f); | |
| } | |
| }; | |
| } | |
| }; | |
| /** @type {boolean} */ | |
| var Ek = false; | |
| var Ak = new function() { | |
| /** @type {null} */ | |
| this.b = this.a = null; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Gk = function() { | |
| var a; | |
| for (; a = Bk();) { | |
| try { | |
| a.a.call(a.b); | |
| } catch (setTrailViewOffset) { | |
| vk(setTrailViewOffset); | |
| } | |
| uk(zk, a); | |
| } | |
| /** @type {boolean} */ | |
| Ek = false; | |
| }; | |
| /** | |
| * @param {!Function} ctor | |
| * @return {undefined} | |
| */ | |
| var Hk = function(ctor) { | |
| ctor.prototype.then = ctor.prototype.then; | |
| /** @type {boolean} */ | |
| ctor.prototype.$goog_Thenable = true; | |
| }; | |
| /** | |
| * @param {?} object | |
| * @return {?} | |
| */ | |
| var Ik = function(object) { | |
| if (!object) { | |
| return false; | |
| } | |
| try { | |
| return !!object.$goog_Thenable; | |
| } catch (b) { | |
| return false; | |
| } | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {?} b | |
| * @return {undefined} | |
| */ | |
| var Kk = function(a, b) { | |
| /** @type {number} */ | |
| this.a = 0; | |
| this.o = void 0; | |
| /** @type {null} */ | |
| this.g = this.b = this.c = null; | |
| /** @type {boolean} */ | |
| this.j = this.m = false; | |
| if (a != Ae) { | |
| try { | |
| var valueProgess = this; | |
| a.call(b, function(mercatorX) { | |
| Jk(valueProgess, 2, mercatorX); | |
| }, function(mercatorX) { | |
| Jk(valueProgess, 3, mercatorX); | |
| }); | |
| } catch (isCreditCard_1) { | |
| Jk(this, 3, isCreditCard_1); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Lk = function() { | |
| /** @type {null} */ | |
| this.next = this.c = this.b = this.g = this.a = null; | |
| /** @type {boolean} */ | |
| this.j = false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Lk.prototype.reset = function() { | |
| /** @type {null} */ | |
| this.c = this.b = this.g = this.a = null; | |
| /** @type {boolean} */ | |
| this.j = false; | |
| }; | |
| var Mk = new tk(function() { | |
| return new Lk; | |
| }, function(applyViewModelsSpy) { | |
| applyViewModelsSpy.reset(); | |
| }, 100); | |
| /** | |
| * @param {string} g | |
| * @param {string} b | |
| * @param {string} c | |
| * @return {?} | |
| */ | |
| var Nk = function(g, b, c) { | |
| var state = Mk.get(); | |
| /** @type {string} */ | |
| state.g = g; | |
| /** @type {string} */ | |
| state.b = b; | |
| /** @type {string} */ | |
| state.c = c; | |
| return state; | |
| }; | |
| /** | |
| * @param {string} f | |
| * @param {boolean} a | |
| * @param {!Object} func | |
| * @return {?} | |
| */ | |
| Kk.prototype.then = function(f, a, func) { | |
| return Ok(this, He(f) ? f : null, He(a) ? a : null, func); | |
| }; | |
| Hk(Kk); | |
| /** | |
| * @param {string} el | |
| * @return {undefined} | |
| */ | |
| Kk.prototype.cancel = function(el) { | |
| if (0 == this.a) { | |
| Fk(function() { | |
| var childIterator = new Pk(el); | |
| Qk(this, childIterator); | |
| }, this); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Object} tension | |
| * @return {undefined} | |
| */ | |
| var Qk = function(a, tension) { | |
| if (0 == a.a) { | |
| if (a.c) { | |
| var c = a.c; | |
| if (c.b) { | |
| /** @type {number} */ | |
| var p = 0; | |
| /** @type {null} */ | |
| var value = null; | |
| /** @type {null} */ | |
| var paths = null; | |
| var b = c.b; | |
| for (; b && (b.j || (p++, b.a == a && (value = b), !(value && 1 < p))); b = b.next) { | |
| if (!value) { | |
| paths = b; | |
| } | |
| } | |
| if (value) { | |
| if (0 == c.a && 1 == p) { | |
| Qk(c, tension); | |
| } else { | |
| if (paths) { | |
| p = paths; | |
| if (p.next == c.g) { | |
| c.g = p; | |
| } | |
| p.next = p.next.next; | |
| } else { | |
| Rk(c); | |
| } | |
| Sk(c, value, 3, tension); | |
| } | |
| } | |
| } | |
| /** @type {null} */ | |
| a.c = null; | |
| } else { | |
| Jk(a, 3, tension); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {undefined} | |
| */ | |
| var Uk = function(a, b) { | |
| if (!(a.b || 2 != a.a && 3 != a.a)) { | |
| Tk(a); | |
| } | |
| if (a.g) { | |
| /** @type {string} */ | |
| a.g.next = b; | |
| } else { | |
| /** @type {string} */ | |
| a.b = b; | |
| } | |
| /** @type {string} */ | |
| a.g = b; | |
| }; | |
| /** | |
| * @param {string} f | |
| * @param {!Function} p | |
| * @param {!Function} i | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| var Ok = function(f, p, i, v) { | |
| var e = Nk(null, null, null); | |
| e.a = new Kk(function(f, block) { | |
| e.g = p ? function(name) { | |
| try { | |
| var foo = p.call(v, name); | |
| f(foo); | |
| } catch (n) { | |
| block(n); | |
| } | |
| } : f; | |
| e.b = i ? function(name) { | |
| try { | |
| var foo = i.call(v, name); | |
| if (!xe(foo) && name instanceof Pk) { | |
| block(name); | |
| } else { | |
| f(foo); | |
| } | |
| } catch (n) { | |
| block(n); | |
| } | |
| } : block; | |
| }); | |
| /** @type {string} */ | |
| e.a.c = f; | |
| Uk(f, e); | |
| return e.a; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Kk.prototype.C = function(name) { | |
| /** @type {number} */ | |
| this.a = 0; | |
| Jk(this, 2, name); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Kk.prototype.w = function(name) { | |
| /** @type {number} */ | |
| this.a = 0; | |
| Jk(this, 3, name); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {number} action | |
| * @param {!Object} x | |
| * @return {undefined} | |
| */ | |
| var Jk = function(a, action, x) { | |
| if (0 == a.a) { | |
| if (a === x) { | |
| /** @type {number} */ | |
| action = 3; | |
| /** @type {!TypeError} */ | |
| x = new TypeError("Promise cannot resolve to itself"); | |
| } | |
| /** @type {number} */ | |
| a.a = 1; | |
| var d; | |
| a: { | |
| /** @type {!Object} */ | |
| var e = x; | |
| var f = a.C; | |
| var c = a.w; | |
| if (e instanceof Kk) { | |
| Uk(e, Nk(f || Ae, c || null, a)); | |
| /** @type {boolean} */ | |
| d = true; | |
| } else { | |
| if (Ik(e)) { | |
| e.then(f, c, a); | |
| /** @type {boolean} */ | |
| d = true; | |
| } else { | |
| if (Ie(e)) { | |
| try { | |
| var h = e.then; | |
| if (He(h)) { | |
| Vk(e, h, f, c, a); | |
| /** @type {boolean} */ | |
| d = true; | |
| break a; | |
| } | |
| } catch (gotMessage) { | |
| c.call(a, gotMessage); | |
| /** @type {boolean} */ | |
| d = true; | |
| break a; | |
| } | |
| } | |
| /** @type {boolean} */ | |
| d = false; | |
| } | |
| } | |
| } | |
| if (!d) { | |
| /** @type {!Object} */ | |
| a.o = x; | |
| /** @type {number} */ | |
| a.a = action; | |
| /** @type {null} */ | |
| a.c = null; | |
| Tk(a); | |
| if (!(3 != action || x instanceof Pk)) { | |
| Wk(a, x); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} obj | |
| * @param {!Function} h | |
| * @param {!Function} f | |
| * @param {!Function} c | |
| * @param {!Object} t | |
| * @return {undefined} | |
| */ | |
| var Vk = function(obj, h, f, c, t) { | |
| /** @type {boolean} */ | |
| var d = false; | |
| /** | |
| * @param {?} name | |
| * @return {undefined} | |
| */ | |
| var opcode = function(name) { | |
| if (!d) { | |
| /** @type {boolean} */ | |
| d = true; | |
| f.call(t, name); | |
| } | |
| }; | |
| /** | |
| * @param {?} cb | |
| * @return {undefined} | |
| */ | |
| var local = function(cb) { | |
| if (!d) { | |
| /** @type {boolean} */ | |
| d = true; | |
| c.call(t, cb); | |
| } | |
| }; | |
| try { | |
| h.call(obj, opcode, local); | |
| } catch (done) { | |
| local(done); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {undefined} | |
| */ | |
| var Tk = function(a) { | |
| if (!a.m) { | |
| /** @type {boolean} */ | |
| a.m = true; | |
| Fk(a.B, a); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @return {?} | |
| */ | |
| var Rk = function(b) { | |
| /** @type {null} */ | |
| var a = null; | |
| if (b.b) { | |
| a = b.b; | |
| b.b = a.next; | |
| /** @type {null} */ | |
| a.next = null; | |
| } | |
| if (!b.b) { | |
| /** @type {null} */ | |
| b.g = null; | |
| } | |
| return a; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Kk.prototype.B = function() { | |
| var QueryLanguageComponent; | |
| for (; QueryLanguageComponent = Rk(this);) { | |
| Sk(this, QueryLanguageComponent, this.a, this.o); | |
| } | |
| /** @type {boolean} */ | |
| this.m = false; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Object} b | |
| * @param {number} c | |
| * @param {!Object} t | |
| * @return {undefined} | |
| */ | |
| var Sk = function(a, b, c, t) { | |
| if (3 == c && b.b && !b.j) { | |
| for (; a && a.j; a = a.c) { | |
| /** @type {boolean} */ | |
| a.j = false; | |
| } | |
| } | |
| if (b.a) { | |
| /** @type {null} */ | |
| b.a.c = null; | |
| Xk(b, c, t); | |
| } else { | |
| try { | |
| if (b.j) { | |
| b.g.call(b.c); | |
| } else { | |
| Xk(b, c, t); | |
| } | |
| } catch (bubbled_sets__3355) { | |
| Yk.call(null, bubbled_sets__3355); | |
| } | |
| } | |
| uk(Mk, b); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {number} result | |
| * @param {!Object} b | |
| * @return {undefined} | |
| */ | |
| var Xk = function(a, result, b) { | |
| if (2 == result) { | |
| a.g.call(a.c, b); | |
| } else { | |
| if (a.b) { | |
| a.b.call(a.c, b); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} val | |
| * @param {!Object} dim | |
| * @return {undefined} | |
| */ | |
| var Wk = function(val, dim) { | |
| /** @type {boolean} */ | |
| val.j = true; | |
| Fk(function() { | |
| if (val.j) { | |
| Yk.call(null, dim); | |
| } | |
| }); | |
| }; | |
| /** @type {function(?): undefined} */ | |
| var Yk = vk; | |
| /** | |
| * @param {?} p1__3354_SHARP_ | |
| * @return {undefined} | |
| */ | |
| var Pk = function(p1__3354_SHARP_) { | |
| Qe.call(this, p1__3354_SHARP_); | |
| }; | |
| C(Pk, Qe); | |
| /** @type {string} */ | |
| Pk.prototype.name = "cancel"; | |
| /** | |
| * @param {number} s | |
| * @param {string} axe | |
| * @return {undefined} | |
| */ | |
| var Zk = function(s, axe) { | |
| V.call(this); | |
| this.g = s || 1; | |
| this.c = axe || z; | |
| this.j = A(this.o, this); | |
| this.m = Pe(); | |
| }; | |
| C(Zk, V); | |
| /** @type {boolean} */ | |
| Zk.prototype.b = false; | |
| /** @type {null} */ | |
| Zk.prototype.a = null; | |
| /** | |
| * @param {!Object} o | |
| * @param {number} c | |
| * @return {undefined} | |
| */ | |
| var bl = function(o, c) { | |
| /** @type {number} */ | |
| o.g = c; | |
| if (o.a && o.b) { | |
| $k(o); | |
| al(o); | |
| } else { | |
| if (o.a) { | |
| $k(o); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Zk.prototype.o = function() { | |
| if (this.b) { | |
| /** @type {number} */ | |
| var now = Pe() - this.m; | |
| if (0 < now && now < .8 * this.g) { | |
| this.a = this.c.setTimeout(this.j, this.g - now); | |
| } else { | |
| if (this.a) { | |
| this.c.clearTimeout(this.a); | |
| /** @type {null} */ | |
| this.a = null; | |
| } | |
| this.dispatchEvent("tick"); | |
| if (this.b) { | |
| this.a = this.c.setTimeout(this.j, this.g); | |
| this.m = Pe(); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @return {undefined} | |
| */ | |
| var al = function(self) { | |
| /** @type {boolean} */ | |
| self.b = true; | |
| if (!self.a) { | |
| self.a = self.c.setTimeout(self.j, self.g); | |
| self.m = Pe(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @return {undefined} | |
| */ | |
| var $k = function(self) { | |
| /** @type {boolean} */ | |
| self.b = false; | |
| if (self.a) { | |
| self.c.clearTimeout(self.a); | |
| /** @type {null} */ | |
| self.a = null; | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Zk.prototype.J = function() { | |
| Zk.v.J.call(this); | |
| $k(this); | |
| delete this.c; | |
| }; | |
| /** | |
| * @param {!Function} f | |
| * @param {number} val | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var cl = function(f, val, data) { | |
| if (He(f)) { | |
| if (data) { | |
| f = A(f, data); | |
| } | |
| } else { | |
| if (f && typeof f.handleEvent == Bb) { | |
| f = A(f.handleEvent, f); | |
| } else { | |
| throw Error("Invalid listener argument"); | |
| } | |
| } | |
| return 2147483647 < Number(val) ? -1 : z.setTimeout(f, val || 0); | |
| }; | |
| /** | |
| * @param {?} name | |
| * @return {undefined} | |
| */ | |
| var dl = function(name) { | |
| z.clearTimeout(name); | |
| }; | |
| /** | |
| * @param {?} fn | |
| * @param {?} selector | |
| * @return {undefined} | |
| */ | |
| var el = function(fn, selector) { | |
| T.call(this, "navigate"); | |
| this.F = fn; | |
| this.C = selector; | |
| }; | |
| C(el, T); | |
| /** | |
| * @param {string} id | |
| * @param {!Object} options | |
| * @param {!Object} e | |
| * @param {!Object} d | |
| * @return {undefined} | |
| */ | |
| var kl = function(id, options, e, d) { | |
| V.call(this); | |
| if (id && !options) { | |
| throw Error("Can't use invisible history without providing a blank page."); | |
| } | |
| var x; | |
| if (e) { | |
| /** @type {!Object} */ | |
| x = e; | |
| } else { | |
| x = "history_state" + fl; | |
| var n = Og(wc, { | |
| type : "text", | |
| name : x, | |
| id : x, | |
| style : mg(pb) | |
| }); | |
| document.write(Gg(n)); | |
| x = M(x); | |
| } | |
| this.o = x; | |
| this.b = e ? $h(Ph(e)) : window; | |
| /** @type {!Object} */ | |
| this.F = options; | |
| if (E && !options) { | |
| this.F = "https" == window.location.protocol ? Dg(lg(mg("https:///"))) : Dg(lg(mg('javascript:""'))); | |
| } | |
| this.c = new Zk(150); | |
| Cj(this, this.c); | |
| /** @type {boolean} */ | |
| this.g = !id; | |
| this.a = new nk(this); | |
| if (id || gl) { | |
| var i; | |
| if (d) { | |
| /** @type {!Object} */ | |
| i = d; | |
| } else { | |
| id = "history_iframe" + fl; | |
| d = this.F; | |
| options = { | |
| id : id, | |
| style : mg(pb), | |
| sandbox : void 0 | |
| }; | |
| if (d) { | |
| Bg(d); | |
| } | |
| e = {}; | |
| e.src = d || null; | |
| /** @type {null} */ | |
| e.srcdoc = null; | |
| d = { | |
| sandbox : "" | |
| }; | |
| x = {}; | |
| for (i in e) { | |
| x[i] = e[i]; | |
| } | |
| for (i in d) { | |
| x[i] = d[i]; | |
| } | |
| for (i in options) { | |
| /** @type {string} */ | |
| n = i.toLowerCase(); | |
| if (n in e) { | |
| throw Error('Cannot override "' + n + '" attribute, got "' + i + '" with value "' + options[i] + '"'); | |
| } | |
| if (n in d) { | |
| delete x[n]; | |
| } | |
| x[i] = options[i]; | |
| } | |
| i = Ng("iframe", x, void 0); | |
| document.write(Gg(i)); | |
| i = M(id); | |
| } | |
| this.C = i; | |
| /** @type {boolean} */ | |
| this.K = true; | |
| } | |
| if (gl) { | |
| this.a.a(this.b, "load", this.Vi); | |
| /** @type {boolean} */ | |
| this.A = this.w = false; | |
| } | |
| if (this.g) { | |
| hl(this, il(this), true); | |
| } else { | |
| jl(this, this.o.value); | |
| } | |
| fl++; | |
| }; | |
| C(kl, V); | |
| /** @type {boolean} */ | |
| kl.prototype.B = false; | |
| /** @type {boolean} */ | |
| kl.prototype.m = false; | |
| /** @type {null} */ | |
| kl.prototype.j = null; | |
| var ll = function(f, boardManager) { | |
| var print = boardManager || sk; | |
| return function() { | |
| var freq = this || z; | |
| freq = freq.closure_memoize_cache_ || (freq.closure_memoize_cache_ = {}); | |
| var id = print(Le(f), arguments); | |
| return freq.hasOwnProperty(id) ? freq[id] : freq[id] = f.apply(this, arguments); | |
| }; | |
| }(function() { | |
| return E ? yh(8) : "onhashchange" in z; | |
| }); | |
| var gl = E && !yh(8); | |
| y = kl.prototype; | |
| /** @type {null} */ | |
| y.Qc = null; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.J = function() { | |
| kl.v.J.call(this); | |
| this.a.za(); | |
| this.ba(false); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| y.ba = function(a) { | |
| if (a != this.B) { | |
| if (gl && !this.w) { | |
| /** @type {string} */ | |
| this.A = a; | |
| } else { | |
| if (a) { | |
| if (fh ? this.a.a(this.b.document, ml, this.O) : ih && this.a.a(this.b, "pageshow", this.Zi), ll() && this.g) { | |
| this.a.a(this.b, "hashchange", this.Xi); | |
| /** @type {boolean} */ | |
| this.B = true; | |
| this.dispatchEvent(new el(il(this), false)); | |
| } else { | |
| if (!E || rk() || this.w) { | |
| this.a.a(this.c, "tick", A(this.G, this, true)); | |
| /** @type {boolean} */ | |
| this.B = true; | |
| if (!gl) { | |
| this.j = il(this); | |
| this.dispatchEvent(new el(il(this), false)); | |
| } | |
| al(this.c); | |
| } | |
| } | |
| } else { | |
| /** @type {boolean} */ | |
| this.B = false; | |
| pk(this.a); | |
| $k(this.c); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Vi = function() { | |
| /** @type {boolean} */ | |
| this.w = true; | |
| if (this.o.value) { | |
| jl(this, this.o.value, true); | |
| } | |
| this.ba(this.A); | |
| }; | |
| /** | |
| * @param {!Object} settings | |
| * @return {undefined} | |
| */ | |
| y.Zi = function(settings) { | |
| if (settings.b.persisted) { | |
| this.ba(false); | |
| this.ba(true); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Xi = function() { | |
| var b = nl(this.b); | |
| if (b != this.j) { | |
| ol(this, b, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| var il = function(val) { | |
| return null != val.Qc ? val.Qc : val.g ? nl(val.b) : pl(val) || ""; | |
| }; | |
| /** | |
| * @param {string} value | |
| * @return {?} | |
| */ | |
| var nl = function(value) { | |
| value = value.location.href; | |
| var end = value.indexOf("#"); | |
| return 0 > end ? "" : value.substring(end + 1); | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {string} name | |
| * @param {string} values | |
| * @return {undefined} | |
| */ | |
| var ql = function(node, name, values) { | |
| if (il(node) != name) { | |
| if (node.g) { | |
| hl(node, name, values); | |
| if (!ll()) { | |
| if (E && !rk()) { | |
| jl(node, name, values, void 0); | |
| } | |
| } | |
| if (node.B) { | |
| node.G(false); | |
| } | |
| } else { | |
| jl(node, name, values); | |
| node.Qc = node.j = node.o.value = name; | |
| node.dispatchEvent(new el(name, false)); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} loc | |
| * @param {string} id | |
| * @param {string} options | |
| * @return {undefined} | |
| */ | |
| var hl = function(loc, id, options) { | |
| loc = loc.b.location; | |
| var url = loc.href.split("#")[0]; | |
| /** @type {boolean} */ | |
| var dependencies = -1 != loc.href.indexOf("#"); | |
| if (gl || dependencies || id) { | |
| /** @type {string} */ | |
| url = url + ("#" + id); | |
| } | |
| if (url != loc.href) { | |
| if (options) { | |
| loc.replace(url); | |
| } else { | |
| loc.href = url; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} t | |
| * @param {string} c | |
| * @param {string} data | |
| * @param {string} ttl | |
| * @return {undefined} | |
| */ | |
| var jl = function(t, c, data, ttl) { | |
| if (t.K || c != pl(t)) { | |
| if (t.K = false, c = Xe(c), E) { | |
| var x = yi(t.C); | |
| x.open("text/html", data ? "replace" : void 0); | |
| data = Pg(Og(Xd, {}, ttl || t.b.document.title), Og("body", {}, c)); | |
| x.write(Gg(data)); | |
| x.close(); | |
| } else { | |
| if (x = Bg(t.F) + "#" + c, t = t.C.contentWindow) { | |
| if (data) { | |
| t.location.replace(x); | |
| } else { | |
| /** @type {string} */ | |
| t.location.href = x; | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @return {?} | |
| */ | |
| var pl = function(options) { | |
| if (E) { | |
| return options = yi(options.C), options.body ? Ye(options.body.innerHTML) : null; | |
| } | |
| var context = options.C.contentWindow; | |
| if (context) { | |
| var n; | |
| try { | |
| n = Ye(nl(context)); | |
| } catch (d) { | |
| return options.m || (1 != options.m && bl(options.c, 1E4), options.m = true), null; | |
| } | |
| if (options.m) { | |
| if (0 != options.m) { | |
| bl(options.c, 150); | |
| } | |
| /** @type {boolean} */ | |
| options.m = false; | |
| } | |
| return n || null; | |
| } | |
| return null; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| kl.prototype.G = function(name) { | |
| if (this.g) { | |
| var v2 = nl(this.b); | |
| if (v2 != this.j) { | |
| ol(this, v2, name); | |
| } | |
| } | |
| if (!this.g || gl) { | |
| if (v2 = pl(this) || "", null == this.Qc || v2 == this.Qc) { | |
| /** @type {null} */ | |
| this.Qc = null; | |
| if (v2 != this.j) { | |
| ol(this, v2, name); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} p | |
| * @param {string} d | |
| * @param {string} e | |
| * @return {undefined} | |
| */ | |
| var ol = function(p, d, e) { | |
| p.j = p.o.value = d; | |
| if (p.g) { | |
| if (gl) { | |
| jl(p, d); | |
| } | |
| hl(p, d); | |
| } else { | |
| jl(p, d); | |
| } | |
| p.dispatchEvent(new el(il(p), e)); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| kl.prototype.O = function() { | |
| $k(this.c); | |
| al(this.c); | |
| }; | |
| /** @type {!Array} */ | |
| var ml = [Vc, Ic, Wc]; | |
| /** @type {number} */ | |
| var fl = 0; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var rl = function() { | |
| this.me = new kl; | |
| /** @type {null} */ | |
| this.Rf = null; | |
| /** @type {number} */ | |
| this.a = 0; | |
| U(this.me, "navigate", this.b, false, this); | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| rl.prototype.b = function(key) { | |
| if (key.C) { | |
| sl(this, key.F); | |
| } | |
| }; | |
| /** | |
| * @param {?} g | |
| * @param {string} f | |
| * @return {undefined} | |
| */ | |
| var sl = function(g, f) { | |
| var str = Ye(f); | |
| var cur_geocells = str.split(/[|\/]/, 2); | |
| if (2 == cur_geocells.length && (cur_geocells.push(str.substring(cur_geocells[0].length + cur_geocells[1].length + 2)), !Te(pf(cur_geocells[0])) && !Te(pf(cur_geocells[1])))) { | |
| tl(g.Rf, cur_geocells[0], cur_geocells[1], cur_geocells[2], "bh"); | |
| return; | |
| } | |
| tl(g.Rf, "", "", "", "bh"); | |
| }; | |
| /** | |
| * @param {!Object} context | |
| * @param {string} tagName | |
| * @param {number} status | |
| * @param {string} e | |
| * @param {string} options | |
| * @return {undefined} | |
| */ | |
| var ul = function(context, tagName, status, e, options) { | |
| /** @type {string} */ | |
| e = (null != tagName ? tagName : Qa) + "/" + (null != status ? status : t) + "/" + Xe(e); | |
| /** @type {number} */ | |
| status = (new Date).getTime(); | |
| if (2E3 < status - context.a) { | |
| ql(context.me, e, false); | |
| } else { | |
| ql(context.me, e, true); | |
| } | |
| /** @type {number} */ | |
| context.a = options ? status : 0; | |
| }; | |
| var vl = D("Firefox"); | |
| var wl = eh() || D(uc); | |
| var xl = D(tc); | |
| var yl = D(na) && !(gg() || D("Firefox") || D(va) || D("Silk")); | |
| var zl = gg(); | |
| var Al = D("Safari") && !(gg() || D("Coast") || D(va) || D(ra) || D("Silk") || D(na)) && !(eh() || D(tc) || D(uc)); | |
| /** | |
| * @param {string} a | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var Cl = function(a, b) { | |
| /** @type {!Array<?>} */ | |
| var keysToSend = Array.prototype.slice.call(arguments); | |
| var module = keysToSend.shift(); | |
| if ("undefined" == typeof module) { | |
| throw Error("[goog.string.format] Template required"); | |
| } | |
| return module.replace(/%([0\- \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g, function(a, b, canCreateDiscussions, isSlidingUp, dontForceConstraints, modelFunctionName, forceExecution, mmCoreSecondsYear) { | |
| if ("%" == modelFunctionName) { | |
| return "%"; | |
| } | |
| var s = keysToSend.shift(); | |
| if ("undefined" == typeof s) { | |
| throw Error("[goog.string.format] Not enough arguments"); | |
| } | |
| arguments[0] = s; | |
| return Bl[modelFunctionName].apply(null, arguments); | |
| }); | |
| }; | |
| var Bl = { | |
| s : function(replacement, str, width) { | |
| return isNaN(width) || "" == width || replacement.length >= Number(width) ? replacement : replacement = -1 < str.indexOf("-", 0) ? replacement + of(" ", Number(width) - replacement.length) : of(" ", Number(width) - replacement.length) + replacement; | |
| }, | |
| f : function(i, name, min, val, c) { | |
| val = i.toString(); | |
| if (!(isNaN(c) || "" == c)) { | |
| /** @type {string} */ | |
| val = parseFloat(i).toFixed(c); | |
| } | |
| var value; | |
| /** @type {string} */ | |
| value = 0 > Number(i) ? "-" : 0 <= name.indexOf("+") ? "+" : 0 <= name.indexOf(" ") ? " " : ""; | |
| if (0 <= Number(i)) { | |
| /** @type {string} */ | |
| val = value + val; | |
| } | |
| if (isNaN(min) || val.length >= Number(min)) { | |
| return val; | |
| } | |
| /** @type {string} */ | |
| val = isNaN(c) ? Math.abs(Number(i)).toString() : Math.abs(Number(i)).toFixed(c); | |
| /** @type {number} */ | |
| i = Number(min) - val.length - value.length; | |
| return val = 0 <= name.indexOf("-", 0) ? value + val + of(" ", i) : value + of(0 <= name.indexOf("0", 0) ? "0" : " ", i) + val; | |
| }, | |
| d : function(item, key, opts, d, cb, n, v, s) { | |
| return Bl.f(parseInt(item, 10), key, opts, d, 0, n, v, s); | |
| } | |
| }; | |
| /** @type {function(?, string, ?, string, ?, ?, ?, ?): ?} */ | |
| Bl.i = Bl.d; | |
| /** @type {function(?, string, ?, string, ?, ?, ?, ?): ?} */ | |
| Bl.u = Bl.d; | |
| var Dl = ue(); | |
| Be(Dl); | |
| /** @type {number} */ | |
| Dl.prototype.a = 0; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var W = function(a) { | |
| V.call(this); | |
| this.a = a || Qh(); | |
| this.Ma = El; | |
| /** @type {null} */ | |
| this.Ga = null; | |
| /** @type {boolean} */ | |
| this.sa = false; | |
| /** @type {null} */ | |
| this.D = null; | |
| this.O = void 0; | |
| /** @type {null} */ | |
| this.G = this.B = this.C = this.wa = null; | |
| /** @type {boolean} */ | |
| this.Gb = false; | |
| }; | |
| C(W, V); | |
| W.prototype.Yc = Dl.M(); | |
| /** @type {null} */ | |
| var El = null; | |
| /** | |
| * @param {number} name | |
| * @param {boolean} value | |
| * @return {?} | |
| */ | |
| var Fl = function(name, value) { | |
| switch(name) { | |
| case 1: | |
| return value ? "disable" : "enable"; | |
| case 2: | |
| return value ? qc : je; | |
| case 4: | |
| return value ? "activate" : "deactivate"; | |
| case 8: | |
| return value ? ud : "unselect"; | |
| case 16: | |
| return value ? "check" : "uncheck"; | |
| case 32: | |
| return value ? wb : Va; | |
| case 64: | |
| return value ? "open" : "close"; | |
| } | |
| throw Error("Invalid component state"); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| W.prototype.F = function() { | |
| return this.Ga || (this.Ga = ":" + (this.Yc.a++).toString(36)); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {undefined} | |
| */ | |
| var Gl = function(a, b) { | |
| if (a.C && a.C.G) { | |
| var mkDirCache = a.C.G; | |
| var d = a.Ga; | |
| if (d in mkDirCache) { | |
| delete mkDirCache[d]; | |
| } | |
| Tf(a.C.G, b, a); | |
| } | |
| /** @type {string} */ | |
| a.Ga = b; | |
| }; | |
| W.prototype.l = w("D"); | |
| /** | |
| * @param {(number|string)} args | |
| * @param {string} array | |
| * @return {?} | |
| */ | |
| var Hl = function(args, array) { | |
| return args.D ? O(array, args.D || args.a.a) : null; | |
| }; | |
| /** | |
| * @param {!Object} elem | |
| * @return {?} | |
| */ | |
| var X = function(elem) { | |
| if (!elem.O) { | |
| elem.O = new nk(elem); | |
| } | |
| return elem.O; | |
| }; | |
| /** | |
| * @param {string} node | |
| * @param {string} parent | |
| * @return {undefined} | |
| */ | |
| var Jl = function(node, parent) { | |
| if (node == parent) { | |
| throw Error(Ea); | |
| } | |
| if (parent && node.C && node.Ga && Il(node.C, node.Ga) && node.C != parent) { | |
| throw Error(Ea); | |
| } | |
| /** @type {string} */ | |
| node.C = parent; | |
| W.v.Uc.call(node, parent); | |
| }; | |
| W.prototype.K = w("C"); | |
| /** | |
| * @param {?} selector | |
| * @return {undefined} | |
| */ | |
| W.prototype.Uc = function(selector) { | |
| if (this.C && this.C != selector) { | |
| throw Error("Method not supported"); | |
| } | |
| W.v.Uc.call(this, selector); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| W.prototype.ra = function() { | |
| this.D = Ji(this.a, k); | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @return {undefined} | |
| */ | |
| W.prototype.aa = function(key) { | |
| Kl(this, key); | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {!Object} input | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| var Kl = function(options, input, type) { | |
| if (options.sa) { | |
| throw Error(pa); | |
| } | |
| if (!options.D) { | |
| options.ra(); | |
| } | |
| if (input) { | |
| input.insertBefore(options.D, type || null); | |
| } else { | |
| options.a.a.body.appendChild(options.D); | |
| } | |
| if (!(options.C && !options.C.sa)) { | |
| options.V(); | |
| } | |
| }; | |
| y = W.prototype; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| y.R = function(a) { | |
| if (this.sa) { | |
| throw Error(pa); | |
| } | |
| if (a && this.Wd(a)) { | |
| /** @type {boolean} */ | |
| this.Gb = true; | |
| var i = Ph(a); | |
| if (!(this.a && this.a.a == i)) { | |
| this.a = Qh(a); | |
| } | |
| this.Y(a); | |
| this.V(); | |
| } else { | |
| throw Error("Invalid element to decorate"); | |
| } | |
| }; | |
| y.Wd = x(true); | |
| y.Y = ve("D"); | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.V = function() { | |
| /** @type {boolean} */ | |
| this.sa = true; | |
| Ll(this, function(options) { | |
| if (!options.sa && options.l()) { | |
| options.V(); | |
| } | |
| }); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Ya = function() { | |
| Ll(this, function(v) { | |
| if (v.sa) { | |
| v.Ya(); | |
| } | |
| }); | |
| if (this.O) { | |
| pk(this.O); | |
| } | |
| /** @type {boolean} */ | |
| this.sa = false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.J = function() { | |
| if (this.sa) { | |
| this.Ya(); | |
| } | |
| if (this.O) { | |
| this.O.za(); | |
| delete this.O; | |
| } | |
| Ll(this, function(a) { | |
| a.za(); | |
| }); | |
| if (!this.Gb && this.D) { | |
| mi(this.D); | |
| } | |
| /** @type {null} */ | |
| this.C = this.wa = this.D = this.G = this.B = null; | |
| W.v.J.call(this); | |
| }; | |
| /** | |
| * @param {number} val | |
| * @param {boolean} r | |
| * @return {undefined} | |
| */ | |
| y.Ia = function(val, r) { | |
| this.Zc(val, Ml(this), r); | |
| }; | |
| /** | |
| * @param {!Object} o | |
| * @param {number} c | |
| * @param {!Object} g | |
| * @return {undefined} | |
| */ | |
| y.Zc = function(o, c, g) { | |
| if (o.sa && (g || !this.sa)) { | |
| throw Error(pa); | |
| } | |
| if (0 > c || c > Ml(this)) { | |
| throw Error("Child component index out of bounds"); | |
| } | |
| if (!(this.G && this.B)) { | |
| this.G = {}; | |
| /** @type {!Array} */ | |
| this.B = []; | |
| } | |
| if (o.K() == this) { | |
| var i = o.F(); | |
| /** @type {!Object} */ | |
| this.G[i] = o; | |
| Hf(this.B, o); | |
| } else { | |
| Tf(this.G, o.F(), o); | |
| } | |
| Jl(o, this); | |
| Mf(this.B, c, 0, o); | |
| if (o.sa && this.sa && o.K() == this) { | |
| g = this.yb(); | |
| c = g.childNodes[c] || null; | |
| if (c != o.l()) { | |
| g.insertBefore(o.l(), c); | |
| } | |
| } else { | |
| if (g) { | |
| if (!this.D) { | |
| this.ra(); | |
| } | |
| c = Nl(this, c + 1); | |
| Kl(o, this.yb(), c ? c.D : null); | |
| } else { | |
| if (this.sa && !o.sa && o.D && o.D.parentNode && 1 == o.D.parentNode.nodeType) { | |
| o.V(); | |
| } | |
| } | |
| } | |
| }; | |
| y.yb = w("D"); | |
| /** | |
| * @param {!Object} options | |
| * @return {?} | |
| */ | |
| var Ol = function(options) { | |
| if (null == options.Ma) { | |
| options.Ma = nj(options.sa ? options.D : options.a.a.body); | |
| } | |
| return options.Ma; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| var Ml = function(obj) { | |
| return obj.B ? obj.B.length : 0; | |
| }; | |
| /** | |
| * @param {!Window} color | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var Il = function(color, b) { | |
| var x; | |
| if (color.G && b) { | |
| x = color.G; | |
| x = (null !== x && b in x ? x[b] : void 0) || null; | |
| } else { | |
| /** @type {null} */ | |
| x = null; | |
| } | |
| return x; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @param {number} i | |
| * @return {?} | |
| */ | |
| var Nl = function(obj, i) { | |
| return obj.B ? obj.B[i] || null : null; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {!Function} i | |
| * @param {!Object} tensor2 | |
| * @return {undefined} | |
| */ | |
| var Ll = function(a, i, tensor2) { | |
| if (a.B) { | |
| xf(a.B, i, tensor2); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} s | |
| * @return {?} | |
| */ | |
| var Pl = function(a, s) { | |
| return a.B && s ? wf(a.B, s) : -1; | |
| }; | |
| /** | |
| * @param {!Object} element | |
| * @param {boolean} options | |
| * @return {?} | |
| */ | |
| W.prototype.removeChild = function(element, options) { | |
| if (element) { | |
| var target = Fe(element) ? element : element.F(); | |
| element = Il(this, target); | |
| if (target && element) { | |
| var translation = this.G; | |
| if (target in translation) { | |
| delete translation[target]; | |
| } | |
| Hf(this.B, element); | |
| if (options) { | |
| element.Ya(); | |
| if (element.D) { | |
| mi(element.D); | |
| } | |
| } | |
| Jl(element, null); | |
| } | |
| } | |
| if (!element) { | |
| throw Error("Child is not in parent component"); | |
| } | |
| return element; | |
| }; | |
| /** | |
| * @param {!Object} m | |
| * @return {undefined} | |
| */ | |
| var Ql = function(m) { | |
| /** @type {!Array} */ | |
| var newNodeLists = []; | |
| for (; m.B && 0 != m.B.length;) { | |
| newNodeLists.push(m.removeChild(Nl(m, 0), true)); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var Sl = function(data) { | |
| /** @type {!Object} */ | |
| var files = data; | |
| if (data instanceof Array) { | |
| /** @type {!Array} */ | |
| files = Array(data.length); | |
| Rl(files, data); | |
| } else { | |
| if (data instanceof Object) { | |
| var nonDuplicateIds = files = {}; | |
| var j; | |
| for (j in data) { | |
| if (data.hasOwnProperty(j)) { | |
| nonDuplicateIds[j] = Sl(data[j]); | |
| } | |
| } | |
| } | |
| } | |
| return files; | |
| }; | |
| /** | |
| * @param {!NodeList} set | |
| * @param {!Object} array | |
| * @return {undefined} | |
| */ | |
| var Rl = function(set, array) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < array.length; ++i) { | |
| if (array.hasOwnProperty(i)) { | |
| set[i] = Sl(array[i]); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!NodeList} rawPads | |
| * @param {number} i | |
| * @return {?} | |
| */ | |
| var Tl = function(rawPads, i) { | |
| if (!rawPads[i]) { | |
| /** @type {!Array} */ | |
| rawPads[i] = []; | |
| } | |
| return rawPads[i]; | |
| }; | |
| /** | |
| * @param {!NodeList} v | |
| * @param {number} i | |
| * @return {?} | |
| */ | |
| var Y = function(v, i) { | |
| return v[i] ? v[i].length : 0; | |
| }; | |
| /** | |
| * @param {!Object} actual | |
| * @param {!Object} expected | |
| * @return {?} | |
| */ | |
| var Vl = function(actual, expected) { | |
| if (null == actual || null == expected) { | |
| return null == actual == (null == expected); | |
| } | |
| if (actual.constructor != Array && actual.constructor != Object) { | |
| throw Error("Invalid object type passed into JsProto.areObjectsEqual()"); | |
| } | |
| if (actual === expected) { | |
| return true; | |
| } | |
| if (actual.constructor != expected.constructor) { | |
| return false; | |
| } | |
| var p; | |
| for (p in actual) { | |
| if (!(p in expected && Ul(actual[p], expected[p]))) { | |
| return false; | |
| } | |
| } | |
| var x; | |
| for (x in expected) { | |
| if (!(x in actual)) { | |
| return false; | |
| } | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var Ul = function(a, b) { | |
| if (a === b || !(true !== a && 1 !== a || true !== b && 1 !== b) || !(false !== a && 0 !== a || false !== b && 0 !== b)) { | |
| return true; | |
| } | |
| if (a instanceof Object && b instanceof Object) { | |
| if (!Vl(a, b)) { | |
| return false; | |
| } | |
| } else { | |
| return false; | |
| } | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} tokType | |
| * @param {string} v | |
| * @return {undefined} | |
| */ | |
| var Wl = function(tokType, v) { | |
| /** @type {!Object} */ | |
| this.type = tokType; | |
| /** @type {string} */ | |
| this.label = v; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| var Xl = function(key) { | |
| new Wl(key, 1); | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| var Yl = function(key) { | |
| new Wl(key, 2); | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| var Zl = function(key) { | |
| new Wl(key, 3); | |
| }; | |
| Xl("d"); | |
| Yl("d"); | |
| Zl("d"); | |
| Xl("f"); | |
| Yl("f"); | |
| Zl("f"); | |
| Xl("i"); | |
| Yl("i"); | |
| Zl("i"); | |
| Xl("j"); | |
| Yl("j"); | |
| Zl("j"); | |
| Xl("u"); | |
| Yl("u"); | |
| Zl("u"); | |
| Xl("v"); | |
| Yl("v"); | |
| Zl("v"); | |
| Xl("b"); | |
| Yl("b"); | |
| Zl("b"); | |
| Xl("e"); | |
| Yl("e"); | |
| Zl("e"); | |
| Xl("s"); | |
| Yl("s"); | |
| Zl("s"); | |
| Xl("B"); | |
| Yl("B"); | |
| Zl("B"); | |
| Xl("x"); | |
| Yl("x"); | |
| Zl("x"); | |
| Xl("y"); | |
| Yl("y"); | |
| Zl("y"); | |
| Xl("g"); | |
| Yl("g"); | |
| Zl("g"); | |
| Xl("h"); | |
| Yl("h"); | |
| Zl("h"); | |
| Xl("n"); | |
| Yl("n"); | |
| Zl("n"); | |
| Xl("o"); | |
| Yl("o"); | |
| Zl("o"); | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var $l = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var am = function(a) { | |
| this.a = a || []; | |
| }; | |
| $l.prototype.b = w("a"); | |
| am.prototype.b = w("a"); | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var bm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var cm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var dm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {!Array} text | |
| * @return {undefined} | |
| */ | |
| var em = function(text) { | |
| this.kb = text || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var fm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} height | |
| * @return {undefined} | |
| */ | |
| var gm = function(height) { | |
| this.g = height || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var hm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} callback | |
| * @return {undefined} | |
| */ | |
| var im = function(callback) { | |
| this.g = callback || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var jm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} g | |
| * @return {undefined} | |
| */ | |
| var km = function(g) { | |
| this.g = g || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var lm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var mm = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {number} ast | |
| * @return {undefined} | |
| */ | |
| var nm = function(ast) { | |
| this.Sf = ast || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var om = function(a) { | |
| this.a = a || []; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var pm = function(a) { | |
| this.a = a || []; | |
| }; | |
| bm.prototype.b = w("a"); | |
| /** | |
| * @param {string} v | |
| * @return {?} | |
| */ | |
| var qm = function(v) { | |
| v = v.a[0]; | |
| return null != v ? v : ""; | |
| }; | |
| /** | |
| * @param {string} e | |
| * @return {?} | |
| */ | |
| var rm = function(e) { | |
| e = e.a[4]; | |
| return null != e ? e : ""; | |
| }; | |
| /** | |
| * @param {number} e | |
| * @return {?} | |
| */ | |
| var sm = function(e) { | |
| e = e.a[5]; | |
| return null != e ? e : 0; | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| var tm = function(v) { | |
| return Y(v.a, 2); | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @param {number} direction | |
| * @return {?} | |
| */ | |
| var um = function(v, direction) { | |
| return new cm(Tl(v.a, 2)[direction]); | |
| }; | |
| /** | |
| * @param {(number|string)} obj | |
| * @param {number} name | |
| * @return {?} | |
| */ | |
| var vm = function(obj, name) { | |
| return new dm(Tl(obj.a, 3)[name]); | |
| }; | |
| cm.prototype.b = w("a"); | |
| /** | |
| * @param {string} v | |
| * @return {?} | |
| */ | |
| var wm = function(v) { | |
| v = v.a[0]; | |
| return null != v ? v : ""; | |
| }; | |
| /** | |
| * @param {number} val | |
| * @return {?} | |
| */ | |
| var xm = function(val) { | |
| val = val.a[1]; | |
| return null != val ? val : 0; | |
| }; | |
| /** | |
| * @param {string} defaultTagAttributes | |
| * @return {?} | |
| */ | |
| var ym = function(defaultTagAttributes) { | |
| defaultTagAttributes = defaultTagAttributes.a[2]; | |
| return null != defaultTagAttributes ? defaultTagAttributes : false; | |
| }; | |
| dm.prototype.b = w("a"); | |
| /** | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var zm = function(b) { | |
| b = b.a[0]; | |
| return null != b ? b : 0; | |
| }; | |
| /** | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var Am = function(b) { | |
| b = b.a[1]; | |
| return null != b ? b : 0; | |
| }; | |
| em.prototype.b = w("kb"); | |
| /** | |
| * @return {?} | |
| */ | |
| em.prototype.Ta = function() { | |
| var city = this.kb[0]; | |
| return null != city ? city : ""; | |
| }; | |
| /** | |
| * @param {string} descr | |
| * @return {?} | |
| */ | |
| var Bm = function(descr) { | |
| descr = descr.kb[1]; | |
| return null != descr ? descr : ""; | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| var Cm = function(v) { | |
| v = v.kb[3]; | |
| return null != v ? v : ""; | |
| }; | |
| /** | |
| * @param {number} c | |
| * @return {?} | |
| */ | |
| var Dm = function(c) { | |
| c = c.kb[4]; | |
| return null != c ? c : 0; | |
| }; | |
| fm.prototype.b = w("a"); | |
| /** | |
| * @param {(number|string)} m | |
| * @param {number} x | |
| * @return {?} | |
| */ | |
| var Em = function(m, x) { | |
| return Tl(m.a, 1)[x]; | |
| }; | |
| gm.prototype.b = w("g"); | |
| /** | |
| * @return {?} | |
| */ | |
| gm.prototype.a = function() { | |
| return Y(this.g, 2); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| gm.prototype.c = function(name) { | |
| return new fm(Tl(this.g, 2)[name]); | |
| }; | |
| hm.prototype.b = w("a"); | |
| im.prototype.b = w("g"); | |
| /** | |
| * @return {?} | |
| */ | |
| im.prototype.a = function() { | |
| return Y(this.g, 1); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| im.prototype.c = function(name) { | |
| return new hm(Tl(this.g, 1)[name]); | |
| }; | |
| jm.prototype.b = w("a"); | |
| /** | |
| * @param {(number|string)} dir | |
| * @param {number} origin | |
| * @return {?} | |
| */ | |
| var Fm = function(dir, origin) { | |
| return Tl(dir.a, 0)[origin]; | |
| }; | |
| km.prototype.b = w("g"); | |
| /** | |
| * @return {?} | |
| */ | |
| km.prototype.a = function() { | |
| return Y(this.g, 1); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| km.prototype.c = function(name) { | |
| return new jm(Tl(this.g, 1)[name]); | |
| }; | |
| lm.prototype.b = w("a"); | |
| mm.prototype.b = w("a"); | |
| nm.prototype.b = w("Sf"); | |
| om.prototype.b = w("a"); | |
| pm.prototype.b = w("a"); | |
| /** | |
| * @param {string} v | |
| * @return {?} | |
| */ | |
| var Gm = function(v) { | |
| v = v.a[2]; | |
| return null != v ? v : ""; | |
| }; | |
| var Hm = new mm; | |
| /** | |
| * @param {number} a | |
| * @return {?} | |
| */ | |
| var Im = function(a) { | |
| return (a = a.a[7]) ? new mm(a) : Hm; | |
| }; | |
| var Jm = new nm; | |
| var Km = new am; | |
| var Lm = new lm; | |
| /** | |
| * @param {number} key | |
| * @return {?} | |
| */ | |
| var Mm = function(key) { | |
| return (key = key.a[14]) ? new lm(key) : Lm; | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| var Nm = function(v) { | |
| return Y(v.a, 0); | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @param {?} str | |
| * @return {?} | |
| */ | |
| var Om = function(v, str) { | |
| return new em(Tl(v.a, 0)[str]); | |
| }; | |
| /** | |
| * @param {(number|string)} to | |
| * @param {number} text | |
| * @return {?} | |
| */ | |
| var Pm = function(to, text) { | |
| return new gm(Tl(to.a, 1)[text]); | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| var Qm = function(v) { | |
| return Y(v.a, 5); | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @param {number} name | |
| * @return {?} | |
| */ | |
| var Rm = function(v, name) { | |
| return new bm(Tl(v.a, 5)[name]); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {?} b | |
| * @return {?} | |
| */ | |
| var Sm = function(a, b) { | |
| return new km(Tl(a.a, 11)[b]); | |
| }; | |
| /** | |
| * @param {!Object} p | |
| * @param {number} area | |
| * @return {?} | |
| */ | |
| var Tm = function(p, area) { | |
| return new im(Tl(p.a, 12)[area]); | |
| }; | |
| /** | |
| * @param {(number|string)} key | |
| * @return {undefined} | |
| */ | |
| var Xm = function(key) { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| this.c = {}; | |
| /** @type {number} */ | |
| var obj = 0; | |
| for (; obj < Y(key.a, 1); obj++) { | |
| var v = Pm(key, obj); | |
| var name; | |
| name = v.g[0]; | |
| name = null != name ? name : ""; | |
| /** @type {string} */ | |
| var i = ""; | |
| if (null != v.g[3]) { | |
| v = v.g[3]; | |
| i = null != v ? v : ""; | |
| } | |
| if (name in this.c) { | |
| name = this.c[name]; | |
| } else { | |
| v = new Um(name, i); | |
| this.c[name] = v; | |
| this.a.push(v); | |
| name = v; | |
| } | |
| /** @type {number} */ | |
| v = 0; | |
| for (; v < Pm(key, obj).a(); v++) { | |
| var result = Pm(key, obj).c(v); | |
| i = result; | |
| i = 0 == Y(i.a, 2) ? -Le(i) : Tl(i.a, 2)[0]; | |
| var value = name; | |
| if (i in value.b) { | |
| i = value.b[i]; | |
| } else { | |
| var data = new Vm; | |
| value.b[i] = data; | |
| value.a.push(data); | |
| i = data; | |
| } | |
| value = result.a[0]; | |
| value = null != value ? value : ""; | |
| data = result.a[4]; | |
| data = null != data ? data : ""; | |
| var length; | |
| if (null != result.a[3]) { | |
| length = result.a[3]; | |
| length = null != length ? length : 0; | |
| } else { | |
| /** @type {number} */ | |
| length = -1; | |
| } | |
| var res; | |
| /** @type {!Array} */ | |
| res = []; | |
| /** @type {number} */ | |
| var s2 = 0; | |
| for (; s2 < Y(result.a, 1); s2++) { | |
| res.push(Em(result, s2)); | |
| } | |
| result = i; | |
| if (!(value in result.b)) { | |
| data = new Wm(value, data, length, res); | |
| result.b[value] = data; | |
| result.a.push(data); | |
| } | |
| this.b |= 1 < i.a.length; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {(number|string)} a | |
| * @return {?} | |
| */ | |
| var Ym = function(a) { | |
| /** @type {number} */ | |
| var b = 0; | |
| /** @type {number} */ | |
| var x = 0; | |
| for (; x < a.a.length; x++) { | |
| var i = a.a[x]; | |
| /** @type {number} */ | |
| var data = 0; | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < i.a.length; j++) { | |
| data = data + i.a[j].a.length; | |
| } | |
| b = b + data; | |
| } | |
| /** @type {number} */ | |
| i = x = 0; | |
| for (; i < a.a.length; i++) { | |
| data = a.a[i]; | |
| /** @type {number} */ | |
| var f = j = 0; | |
| for (; f < data.a.length; f++) { | |
| var face = data.a[f]; | |
| /** @type {number} */ | |
| var dups = 0; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < face.a.length; i++) { | |
| /** @type {number} */ | |
| dups = dups + (face.a[i].visible ? 1 : 0); | |
| } | |
| /** @type {number} */ | |
| j = j + dups; | |
| } | |
| /** @type {number} */ | |
| x = x + j; | |
| } | |
| return b - x; | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {?} | |
| */ | |
| var Zm = function(item) { | |
| /** @type {!Array} */ | |
| var _whitespaceCharClass = []; | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < item.a.length; j++) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < item.a[j].a.length; i++) { | |
| Array.prototype.push.apply(_whitespaceCharClass, item.a[j].a[i].a); | |
| } | |
| } | |
| return _whitespaceCharClass; | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {undefined} | |
| */ | |
| var $m = function(item) { | |
| /** @type {number} */ | |
| var j = 0; | |
| for (; j < item.a.length; j++) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < item.a[j].a.length; i++) { | |
| item.a[j].a[i].a.sort(function(a, b) { | |
| return b.a - a.a; | |
| }); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} q | |
| * @param {number} value | |
| * @return {undefined} | |
| */ | |
| var Um = function(q, value) { | |
| /** @type {string} */ | |
| this.g = q; | |
| /** @type {number} */ | |
| this.c = value; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| this.b = {}; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Um.prototype.visible = function() { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < this.a.length; i++) { | |
| if (this.a[i].visible()) { | |
| return true; | |
| } | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Vm = function() { | |
| /** @type {!Array} */ | |
| this.a = []; | |
| this.b = {}; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Vm.prototype.visible = function() { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < this.a.length; i++) { | |
| if (this.a[i].visible) { | |
| return true; | |
| } | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @param {string} t | |
| * @param {number} c | |
| * @param {number} a | |
| * @param {string} scalar | |
| * @return {undefined} | |
| */ | |
| var Wm = function(t, c, a, scalar) { | |
| /** @type {string} */ | |
| this.text = t; | |
| /** @type {number} */ | |
| this.c = c; | |
| /** @type {number} */ | |
| this.a = a; | |
| /** @type {string} */ | |
| this.g = scalar; | |
| /** @type {boolean} */ | |
| this.visible = false; | |
| /** @type {number} */ | |
| this.b = 0; | |
| }; | |
| var an; | |
| /** @type {!Array<string>} */ | |
| var bn = "combobox grid group listbox menu menubar radiogroup row rowgroup tablist textbox toolbar tree treegrid".split(" "); | |
| /** | |
| * @param {!Object} path | |
| * @param {string} node | |
| * @return {undefined} | |
| */ | |
| var cn = function(path, node) { | |
| if (node) { | |
| path.setAttribute(rd, node); | |
| } else { | |
| path.removeAttribute(rd); | |
| } | |
| }; | |
| /** | |
| * @param {?} _ | |
| * @param {string} name | |
| * @param {string} value | |
| * @return {undefined} | |
| */ | |
| var dn = function(_, name, value) { | |
| if (De(value)) { | |
| value = value.join(" "); | |
| } | |
| /** @type {string} */ | |
| var attributeName = "aria-" + name; | |
| if ("" === value || void 0 == value) { | |
| if (!an) { | |
| an = { | |
| atomic : false, | |
| autocomplete : ad, | |
| dropeffect : ad, | |
| haspopup : false, | |
| live : "off", | |
| multiline : false, | |
| multiselectable : false, | |
| orientation : ke, | |
| readonly : false, | |
| relevant : "additions text", | |
| required : false, | |
| sort : ad, | |
| busy : false, | |
| disabled : false, | |
| hidden : false, | |
| invalid : "false" | |
| }; | |
| } | |
| value = an; | |
| if (name in value) { | |
| _.setAttribute(attributeName, value[name]); | |
| } else { | |
| _.removeAttribute(attributeName); | |
| } | |
| } else { | |
| _.setAttribute(attributeName, value); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} element | |
| * @param {string} state | |
| * @return {?} | |
| */ | |
| var en = function(element, state) { | |
| var c = element.getAttribute("aria-" + state); | |
| return null == c || void 0 == c ? "" : String(c); | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {?} | |
| */ | |
| var fn = function(node) { | |
| var mainDivID = en(node, Ia); | |
| return Ph(node).getElementById(mainDivID); | |
| }; | |
| /** | |
| * @param {?} name | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var gn = function(name, a) { | |
| /** @type {string} */ | |
| var result = ""; | |
| if (a) { | |
| result = a.id; | |
| } | |
| dn(name, Ia, result); | |
| }; | |
| var hn = ue(); | |
| var jn; | |
| Be(hn); | |
| /** | |
| * @return {?} | |
| */ | |
| var ln = function() { | |
| var CSS = new kn; | |
| CSS.S = x("jfk-checkbox"); | |
| return CSS; | |
| }; | |
| var mn = { | |
| button : "pressed", | |
| checkbox : $a, | |
| menuitem : wd, | |
| menuitemcheckbox : $a, | |
| menuitemradio : $a, | |
| radio : $a, | |
| tab : wd, | |
| treeitem : wd | |
| }; | |
| hn.prototype.Rb = ue(); | |
| /** | |
| * @param {!Object} x | |
| * @return {?} | |
| */ | |
| hn.prototype.Pa = function(x) { | |
| return x.a.b(k, nn(this, x).join(" "), x.Aa()); | |
| }; | |
| /** | |
| * @param {!Object} callback | |
| * @return {?} | |
| */ | |
| hn.prototype.hb = function(callback) { | |
| return callback; | |
| }; | |
| /** | |
| * @param {!Object} arg | |
| * @param {string} name | |
| * @param {string} alt | |
| * @return {undefined} | |
| */ | |
| var pn = function(arg, name, alt) { | |
| if (arg = arg.l ? arg.l() : arg) { | |
| /** @type {!Array} */ | |
| var h = [name]; | |
| if (E && !I("7")) { | |
| h = on(Ah(arg), name); | |
| h.push(name); | |
| } | |
| (alt ? Ch : Dh)(arg, h); | |
| } | |
| }; | |
| hn.prototype.Kc = x(true); | |
| /** | |
| * @param {!Object} f | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| hn.prototype.R = function(f, val) { | |
| if (val.id) { | |
| Gl(f, val.id); | |
| } | |
| var xml = this.hb(val); | |
| if (xml && xml.firstChild) { | |
| qn(f, xml.firstChild.nextSibling ? Jf(xml.childNodes) : xml.firstChild); | |
| } else { | |
| /** @type {null} */ | |
| f.sc = null; | |
| } | |
| /** @type {number} */ | |
| var notified = 0; | |
| var name = this.S(); | |
| var target = this.S(); | |
| /** @type {boolean} */ | |
| var isCopyAction = false; | |
| /** @type {boolean} */ | |
| var doAll = false; | |
| /** @type {boolean} */ | |
| var imgCenterW = false; | |
| var v = Jf(Ah(val)); | |
| xf(v, function(key) { | |
| if (isCopyAction || key != name) { | |
| if (doAll || key != target) { | |
| /** @type {number} */ | |
| notified = notified | this.c(key); | |
| } else { | |
| /** @type {boolean} */ | |
| doAll = true; | |
| } | |
| } else { | |
| /** @type {boolean} */ | |
| isCopyAction = true; | |
| if (target == name) { | |
| /** @type {boolean} */ | |
| doAll = true; | |
| } | |
| } | |
| if (1 == this.c(key) && Ci(xml) && Di(xml)) { | |
| Bi(xml, false); | |
| } | |
| }, this); | |
| f.bc = notified; | |
| if (!isCopyAction) { | |
| v.push(name); | |
| if (target == name) { | |
| /** @type {boolean} */ | |
| doAll = true; | |
| } | |
| } | |
| if (!doAll) { | |
| v.push(target); | |
| } | |
| var salt = f.sb; | |
| if (salt) { | |
| v.push.apply(v, salt); | |
| } | |
| if (E && !I("7")) { | |
| var handle = on(v); | |
| if (0 < handle.length) { | |
| v.push.apply(v, handle); | |
| /** @type {boolean} */ | |
| imgCenterW = true; | |
| } | |
| } | |
| if (!isCopyAction || !doAll || salt || imgCenterW) { | |
| val.className = v.join(" "); | |
| } | |
| return val; | |
| }; | |
| /** | |
| * @param {!Object} module | |
| * @return {undefined} | |
| */ | |
| hn.prototype.Ag = function(module) { | |
| if (Ol(module)) { | |
| this.jf(module.l(), true); | |
| } | |
| if (module.isEnabled()) { | |
| this.Lc(module, module.isVisible()); | |
| } | |
| }; | |
| /** | |
| * @param {string} el | |
| * @param {!Object} value | |
| * @param {string} elem | |
| * @return {undefined} | |
| */ | |
| var rn = function(el, value, elem) { | |
| if (el = elem || el.Rb()) { | |
| elem = value.getAttribute(rd) || null; | |
| if (el != elem) { | |
| cn(value, el); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {boolean} callback | |
| * @param {!Object} obj | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| var un = function(callback, obj, type) { | |
| if (!obj.isVisible()) { | |
| dn(type, oc, !obj.isVisible()); | |
| } | |
| if (!obj.isEnabled()) { | |
| callback.Cb(type, 1, !obj.isEnabled()); | |
| } | |
| if (sn(obj, 8)) { | |
| callback.Cb(type, 8, tn(obj, 8)); | |
| } | |
| if (sn(obj, 16)) { | |
| callback.Cb(type, 16, obj.Ea()); | |
| } | |
| if (sn(obj, 64)) { | |
| callback.Cb(type, 64, tn(obj, 64)); | |
| } | |
| }; | |
| y = hn.prototype; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| y.Yd = function(name, type) { | |
| pj(name, !type, !E && !fh); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| y.jf = function(name, type) { | |
| pn(name, this.S() + "-rtl", type); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {?} | |
| */ | |
| y.hf = function(value) { | |
| var m; | |
| return sn(value, 32) && (m = value.l()) ? Ci(m) && Di(m) : false; | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| y.Lc = function(name, type) { | |
| var a; | |
| if (sn(name, 32) && (a = name.l())) { | |
| if (!type && tn(name, 32)) { | |
| try { | |
| a.blur(); | |
| } catch (d) { | |
| } | |
| if (tn(name, 32)) { | |
| name.Zd(null); | |
| } | |
| } | |
| if ((Ci(a) && Di(a)) != type) { | |
| Bi(a, type); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {boolean} v | |
| * @param {boolean} id | |
| * @return {undefined} | |
| */ | |
| y.setVisible = function(v, id) { | |
| S(v, id); | |
| if (v) { | |
| dn(v, oc, !id); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @param {string} args | |
| * @param {!Object} n | |
| * @return {undefined} | |
| */ | |
| y.rc = function(name, args, n) { | |
| var d = name.l(); | |
| if (d) { | |
| var a = this.a(args); | |
| if (a) { | |
| pn(name, a, n); | |
| } | |
| this.Cb(d, args, n); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @param {string} name | |
| * @param {!Function} str | |
| * @return {undefined} | |
| */ | |
| y.Cb = function(key, name, str) { | |
| if (!jn) { | |
| jn = { | |
| 1 : "disabled", | |
| 8 : wd, | |
| 16 : $a, | |
| 64 : "expanded" | |
| }; | |
| } | |
| name = jn[name]; | |
| var type = key.getAttribute(rd) || null; | |
| if (type) { | |
| type = mn[type] || name; | |
| name = name == $a || name == wd ? type : name; | |
| } | |
| if (name) { | |
| dn(key, name, str); | |
| } | |
| }; | |
| /** | |
| * @param {!Element} property | |
| * @param {!Object} value | |
| * @return {undefined} | |
| */ | |
| y.zb = function(property, value) { | |
| var obj = this.hb(property); | |
| if (obj && (ji(obj), value)) { | |
| if (Fe(value)) { | |
| Q(obj, value); | |
| } else { | |
| /** | |
| * @param {!Object} val | |
| * @return {undefined} | |
| */ | |
| var e = function(val) { | |
| if (val) { | |
| var s = Ph(obj); | |
| obj.appendChild(Fe(val) ? s.createTextNode(val) : val); | |
| } | |
| }; | |
| if (De(value)) { | |
| xf(value, e); | |
| } else { | |
| if (!Ee(value) || "nodeType" in value) { | |
| e(value); | |
| } else { | |
| xf(Jf(value), e); | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| y.S = x("goog-control"); | |
| /** | |
| * @param {(number|string)} point | |
| * @param {!Object} x | |
| * @return {?} | |
| */ | |
| var nn = function(point, x) { | |
| var n = point.S(); | |
| /** @type {!Array} */ | |
| var result = [n]; | |
| var target = point.S(); | |
| if (target != n) { | |
| result.push(target); | |
| } | |
| n = x.bc; | |
| /** @type {!Array} */ | |
| target = []; | |
| for (; n;) { | |
| /** @type {number} */ | |
| var type = n & -n; | |
| target.push(point.a(type)); | |
| /** @type {number} */ | |
| n = n & ~type; | |
| } | |
| result.push.apply(result, target); | |
| if (n = x.sb) { | |
| result.push.apply(result, n); | |
| } | |
| if (E && !I("7")) { | |
| result.push.apply(result, on(result)); | |
| } | |
| return result; | |
| }; | |
| /** | |
| * @param {!Array} test | |
| * @param {string} one | |
| * @return {?} | |
| */ | |
| var on = function(test, one) { | |
| /** @type {!Array} */ | |
| var exports = []; | |
| if (one) { | |
| test = If(test, [one]); | |
| } | |
| xf([], function(res) { | |
| if (!(!Bf(res, Oe(Ef, test)) || one && !Ef(res, one))) { | |
| exports.push(res.join("_")); | |
| } | |
| }); | |
| return exports; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| hn.prototype.a = function(name) { | |
| if (!this.b) { | |
| vn(this); | |
| } | |
| return this.b[name]; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {?} | |
| */ | |
| hn.prototype.c = function(key) { | |
| if (!this.A) { | |
| if (!this.b) { | |
| vn(this); | |
| } | |
| var b = this.b; | |
| var a = {}; | |
| var i; | |
| for (i in b) { | |
| /** @type {string} */ | |
| a[b[i]] = i; | |
| } | |
| this.A = a; | |
| } | |
| /** @type {number} */ | |
| key = parseInt(this.A[key], 10); | |
| return isNaN(key) ? 0 : key; | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {undefined} | |
| */ | |
| var vn = function(value) { | |
| var cls = value.S(); | |
| cls.replace(/\xa0|\s/g, " "); | |
| value.b = { | |
| 1 : cls + da, | |
| 2 : cls + "-hover", | |
| 4 : cls + "-active", | |
| 8 : cls + "-selected", | |
| 16 : cls + "-checked", | |
| 32 : cls + "-focused", | |
| 64 : cls + "-open" | |
| }; | |
| }; | |
| var wn = ue(); | |
| C(wn, hn); | |
| Be(wn); | |
| y = wn.prototype; | |
| y.Rb = x(Xa); | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Function} str | |
| * @return {undefined} | |
| */ | |
| y.Cb = function(name, type, str) { | |
| switch(type) { | |
| case 8: | |
| case 16: | |
| dn(name, "pressed", str); | |
| break; | |
| default: | |
| case 64: | |
| case 1: | |
| wn.v.Cb.call(this, name, type, str); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| y.Pa = function(obj) { | |
| var info = wn.v.Pa.call(this, obj); | |
| xn(info, obj.w); | |
| var c = obj.T(); | |
| if (c) { | |
| this.Ud(info, c); | |
| } | |
| if (sn(obj, 16)) { | |
| this.Cb(info, 16, obj.Ea()); | |
| } | |
| return info; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| y.R = function(a, b) { | |
| b = wn.v.R.call(this, a, b); | |
| var bIdx = this.T(b); | |
| a.Wa = bIdx; | |
| a.w = b.title; | |
| if (sn(a, 16)) { | |
| this.Cb(b, 16, a.Ea()); | |
| } | |
| return b; | |
| }; | |
| y.T = Ae; | |
| y.Ud = Ae; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @return {undefined} | |
| */ | |
| var xn = function(a, b) { | |
| if (a) { | |
| if (b) { | |
| /** @type {string} */ | |
| a.title = b; | |
| } else { | |
| a.removeAttribute(Xd); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} t | |
| * @param {!Object} b | |
| * @param {number} prune | |
| * @return {undefined} | |
| */ | |
| var zn = function(t, b, prune) { | |
| var val = Ol(b); | |
| var e = t.S() + "-collapse-left"; | |
| t = t.S() + "-collapse-right"; | |
| yn(b, val ? t : e, !!(prune & 1)); | |
| yn(b, val ? e : t, !!(prune & 2)); | |
| }; | |
| wn.prototype.S = x("goog-button"); | |
| /** | |
| * @param {!Event} event | |
| * @return {?} | |
| */ | |
| var An = function(event) { | |
| if (event.altKey && !event.ctrlKey || event.metaKey || 112 <= event.keyCode && 123 >= event.keyCode) { | |
| return false; | |
| } | |
| switch(event.keyCode) { | |
| case 18: | |
| case 20: | |
| case 93: | |
| case 17: | |
| case 40: | |
| case 35: | |
| case 27: | |
| case 36: | |
| case 45: | |
| case 37: | |
| case 224: | |
| case 91: | |
| case 144: | |
| case 12: | |
| case 34: | |
| case 33: | |
| case 19: | |
| case 255: | |
| case 44: | |
| case 39: | |
| case 145: | |
| case 16: | |
| case 38: | |
| case 252: | |
| case 224: | |
| case 92: | |
| return false; | |
| case 0: | |
| return !ih; | |
| default: | |
| return 166 > event.keyCode || 183 < event.keyCode; | |
| } | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {number} c | |
| * @param {?} compartmentIndex | |
| * @param {?} $native | |
| * @param {boolean} $primitive | |
| * @return {?} | |
| */ | |
| var Dn = function(a, c, compartmentIndex, $native, $primitive) { | |
| if (!(E || gh || G && I("525"))) { | |
| return true; | |
| } | |
| if (kh && $primitive) { | |
| return Bn(a); | |
| } | |
| if ($primitive && !$native) { | |
| return false; | |
| } | |
| if (Ge(c)) { | |
| c = Cn(c); | |
| } | |
| if (!compartmentIndex && (17 == c || 18 == c || kh && 91 == c)) { | |
| return false; | |
| } | |
| if ((G || gh) && $native && compartmentIndex) { | |
| switch(a) { | |
| case 220: | |
| case 219: | |
| case 221: | |
| case 192: | |
| case 186: | |
| case 189: | |
| case 187: | |
| case 188: | |
| case 190: | |
| case 191: | |
| case 192: | |
| case 222: | |
| return false; | |
| } | |
| } | |
| if (E && $native && c == a) { | |
| return false; | |
| } | |
| switch(a) { | |
| case 13: | |
| return true; | |
| case 27: | |
| return !(G || gh); | |
| } | |
| return Bn(a); | |
| }; | |
| /** | |
| * @param {number} a255 | |
| * @return {?} | |
| */ | |
| var Bn = function(a255) { | |
| if (48 <= a255 && 57 >= a255 || 96 <= a255 && 106 >= a255 || 65 <= a255 && 90 >= a255 || (G || gh) && 0 == a255) { | |
| return true; | |
| } | |
| switch(a255) { | |
| case 32: | |
| case 43: | |
| case 63: | |
| case 64: | |
| case 107: | |
| case 109: | |
| case 110: | |
| case 111: | |
| case 186: | |
| case 59: | |
| case 189: | |
| case 187: | |
| case 61: | |
| case 188: | |
| case 190: | |
| case 191: | |
| case 192: | |
| case 222: | |
| case 219: | |
| case 220: | |
| case 221: | |
| return true; | |
| default: | |
| return false; | |
| } | |
| }; | |
| /** | |
| * @param {number} a | |
| * @return {?} | |
| */ | |
| var Cn = function(a) { | |
| if (ih) { | |
| a = En(a); | |
| } else { | |
| if (kh && G) { | |
| a: { | |
| switch(a) { | |
| case 93: | |
| /** @type {number} */ | |
| a = 91; | |
| break a; | |
| } | |
| } | |
| } | |
| } | |
| return a; | |
| }; | |
| /** | |
| * @param {number} strip1 | |
| * @return {?} | |
| */ | |
| var En = function(strip1) { | |
| switch(strip1) { | |
| case 61: | |
| return 187; | |
| case 59: | |
| return 186; | |
| case 173: | |
| return 189; | |
| case 224: | |
| return 91; | |
| case 0: | |
| return 224; | |
| default: | |
| return strip1; | |
| } | |
| }; | |
| /** | |
| * @param {?} blobs | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| var Gn = function(blobs, type) { | |
| V.call(this); | |
| if (blobs) { | |
| Fn(this, blobs, type); | |
| } | |
| }; | |
| C(Gn, V); | |
| y = Gn.prototype; | |
| /** @type {null} */ | |
| y.D = null; | |
| /** @type {null} */ | |
| y.qe = null; | |
| /** @type {null} */ | |
| y.vf = null; | |
| /** @type {null} */ | |
| y.re = null; | |
| /** @type {number} */ | |
| y.qb = -1; | |
| /** @type {number} */ | |
| y.ec = -1; | |
| /** @type {boolean} */ | |
| y.Pe = false; | |
| var Hn = { | |
| 3 : 13, | |
| 12 : 144, | |
| 63232 : 38, | |
| 63233 : 40, | |
| 63234 : 37, | |
| 63235 : 39, | |
| 63236 : 112, | |
| 63237 : 113, | |
| 63238 : 114, | |
| 63239 : 115, | |
| 63240 : 116, | |
| 63241 : 117, | |
| 63242 : 118, | |
| 63243 : 119, | |
| 63244 : 120, | |
| 63245 : 121, | |
| 63246 : 122, | |
| 63247 : 123, | |
| 63248 : 44, | |
| 63272 : 46, | |
| 63273 : 36, | |
| 63275 : 35, | |
| 63276 : 33, | |
| 63277 : 34, | |
| 63289 : 144, | |
| 63302 : 45 | |
| }; | |
| var In = { | |
| Up : 38, | |
| Down : 40, | |
| Left : 37, | |
| Right : 39, | |
| Enter : 13, | |
| F1 : 112, | |
| F2 : 113, | |
| F3 : 114, | |
| F4 : 115, | |
| F5 : 116, | |
| F6 : 117, | |
| F7 : 118, | |
| F8 : 119, | |
| F9 : 120, | |
| F10 : 121, | |
| F11 : 122, | |
| F12 : 123, | |
| "U+007F" : 46, | |
| Home : 36, | |
| End : 35, | |
| PageUp : 33, | |
| PageDown : 34, | |
| Insert : 45 | |
| }; | |
| var Jn = E || gh || G && I("525"); | |
| var Kn = kh && ih; | |
| /** | |
| * @param {!Object} key | |
| * @return {undefined} | |
| */ | |
| Gn.prototype.a = function(key) { | |
| if (G || gh) { | |
| if (17 == this.qb && !key.ctrlKey || 18 == this.qb && !key.altKey || kh && 91 == this.qb && !key.metaKey) { | |
| /** @type {number} */ | |
| this.ec = this.qb = -1; | |
| } | |
| } | |
| if (-1 == this.qb) { | |
| if (key.ctrlKey && 17 != key.keyCode) { | |
| /** @type {number} */ | |
| this.qb = 17; | |
| } else { | |
| if (key.altKey && 18 != key.keyCode) { | |
| /** @type {number} */ | |
| this.qb = 18; | |
| } else { | |
| if (key.metaKey && 91 != key.keyCode) { | |
| /** @type {number} */ | |
| this.qb = 91; | |
| } | |
| } | |
| } | |
| } | |
| if (Jn && !Dn(key.keyCode, this.qb, key.shiftKey, key.ctrlKey, key.altKey)) { | |
| this.handleEvent(key); | |
| } else { | |
| this.ec = Cn(key.keyCode); | |
| if (Kn) { | |
| this.Pe = key.altKey; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @return {undefined} | |
| */ | |
| Gn.prototype.b = function(key) { | |
| /** @type {number} */ | |
| this.ec = this.qb = -1; | |
| this.Pe = key.altKey; | |
| }; | |
| /** | |
| * @param {!Object} e | |
| * @return {undefined} | |
| */ | |
| Gn.prototype.handleEvent = function(e) { | |
| var event = e.b; | |
| var u; | |
| var a; | |
| var alt = event.altKey; | |
| if (E && e.type == Jc) { | |
| u = this.ec; | |
| } else { | |
| if ((G || gh) && e.type == Jc) { | |
| u = this.ec; | |
| } else { | |
| if (fh && !G) { | |
| u = this.ec; | |
| } else { | |
| u = event.keyCode || this.ec; | |
| a = event.charCode || 0; | |
| if (Kn) { | |
| alt = this.Pe; | |
| } | |
| if (kh && 63 == a && 224 == u) { | |
| /** @type {number} */ | |
| u = 191; | |
| } | |
| } | |
| } | |
| } | |
| a = u = Cn(u); | |
| var id = event.keyIdentifier; | |
| if (u) { | |
| if (63232 <= u && u in Hn) { | |
| a = Hn[u]; | |
| } else { | |
| if (25 == u && e.shiftKey) { | |
| /** @type {number} */ | |
| a = 9; | |
| } | |
| } | |
| } else { | |
| if (id && id in In) { | |
| a = In[id]; | |
| } | |
| } | |
| this.qb = a; | |
| e = new Ln(a, 0, 0, event); | |
| e.altKey = alt; | |
| this.dispatchEvent(e); | |
| }; | |
| Gn.prototype.l = w("D"); | |
| /** | |
| * @param {!Object} self | |
| * @param {?} options | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| var Fn = function(self, options, name) { | |
| if (self.re) { | |
| Mn(self); | |
| } | |
| self.D = options; | |
| self.qe = U(self.D, Jc, self, name); | |
| self.vf = U(self.D, Ic, self.a, name, self); | |
| self.re = U(self.D, Kc, self.b, name, self); | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @return {undefined} | |
| */ | |
| var Mn = function(self) { | |
| if (self.qe) { | |
| ik(self.qe); | |
| ik(self.vf); | |
| ik(self.re); | |
| /** @type {null} */ | |
| self.qe = null; | |
| /** @type {null} */ | |
| self.vf = null; | |
| /** @type {null} */ | |
| self.re = null; | |
| } | |
| /** @type {null} */ | |
| self.D = null; | |
| /** @type {number} */ | |
| self.qb = -1; | |
| /** @type {number} */ | |
| self.ec = -1; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Gn.prototype.J = function() { | |
| Gn.v.J.call(this); | |
| Mn(this); | |
| }; | |
| /** | |
| * @param {string} keyCode | |
| * @param {?} event | |
| * @param {?} characterId | |
| * @param {?} mode | |
| * @return {undefined} | |
| */ | |
| var Ln = function(keyCode, event, characterId, mode) { | |
| Ij.call(this, mode); | |
| this.type = Hc; | |
| /** @type {string} */ | |
| this.keyCode = keyCode; | |
| }; | |
| C(Ln, Ij); | |
| /** | |
| * @param {string} obj | |
| * @param {!Function} n | |
| * @return {undefined} | |
| */ | |
| var On = function(obj, n) { | |
| if (!obj) { | |
| throw Error("Invalid class name " + obj); | |
| } | |
| if (!He(n)) { | |
| throw Error("Invalid decorator function " + n); | |
| } | |
| /** @type {!Function} */ | |
| Nn[obj] = n; | |
| }; | |
| var Pn = {}; | |
| var Nn = {}; | |
| /** | |
| * @param {!Object} y | |
| * @param {!Object} value | |
| * @param {?} input | |
| * @return {undefined} | |
| */ | |
| var Qn = function(y, value, input) { | |
| W.call(this, input); | |
| if (!value) { | |
| value = this.constructor; | |
| var time; | |
| for (; value;) { | |
| time = Le(value); | |
| if (time = Pn[time]) { | |
| break; | |
| } | |
| value = value.v ? value.v.constructor : null; | |
| } | |
| value = time ? He(time.M) ? time.M() : new time : null; | |
| } | |
| /** @type {!Object} */ | |
| this.c = value; | |
| this.sc = xe(y) ? y : null; | |
| }; | |
| C(Qn, W); | |
| y = Qn.prototype; | |
| /** @type {null} */ | |
| y.sc = null; | |
| /** @type {number} */ | |
| y.bc = 0; | |
| /** @type {number} */ | |
| y.vd = 39; | |
| /** @type {number} */ | |
| y.Ib = 255; | |
| /** @type {number} */ | |
| y.ud = 0; | |
| /** @type {boolean} */ | |
| y.$d = true; | |
| /** @type {null} */ | |
| y.sb = null; | |
| /** @type {boolean} */ | |
| y.ie = true; | |
| /** @type {boolean} */ | |
| y.Bd = false; | |
| /** @type {null} */ | |
| y.lf = null; | |
| /** | |
| * @param {!Object} data | |
| * @param {string} hash | |
| * @return {undefined} | |
| */ | |
| var Sn = function(data, hash) { | |
| if (data.sa && hash != data.ie) { | |
| Rn(data, hash); | |
| } | |
| /** @type {string} */ | |
| data.ie = hash; | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {string} list | |
| * @return {undefined} | |
| */ | |
| var Tn = function(options, list) { | |
| if (list) { | |
| if (options.sb) { | |
| if (!Ef(options.sb, list)) { | |
| options.sb.push(list); | |
| } | |
| } else { | |
| /** @type {!Array} */ | |
| options.sb = [list]; | |
| } | |
| pn(options, list, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} e | |
| * @param {string} o | |
| * @param {boolean} dizhi | |
| * @return {undefined} | |
| */ | |
| var yn = function(e, o, dizhi) { | |
| if (dizhi) { | |
| Tn(e, o); | |
| } else { | |
| if (o && e.sb && Hf(e.sb, o)) { | |
| if (0 == e.sb.length) { | |
| /** @type {null} */ | |
| e.sb = null; | |
| } | |
| pn(e, o, false); | |
| } | |
| } | |
| }; | |
| y = Qn.prototype; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.ra = function() { | |
| var foo = this.c.Pa(this); | |
| this.D = foo; | |
| rn(this.c, foo, this.kd()); | |
| if (!this.Bd) { | |
| this.c.Yd(foo, false); | |
| } | |
| if (!this.isVisible()) { | |
| this.c.setVisible(foo, false); | |
| } | |
| }; | |
| y.kd = w("lf"); | |
| /** | |
| * @return {?} | |
| */ | |
| y.yb = function() { | |
| return this.c.hb(this.l()); | |
| }; | |
| /** | |
| * @param {!Object} result | |
| * @return {?} | |
| */ | |
| y.Wd = function(result) { | |
| return this.c.Kc(result); | |
| }; | |
| /** | |
| * @param {!Object} y | |
| * @return {undefined} | |
| */ | |
| y.Y = function(y) { | |
| this.D = y = this.c.R(this, y); | |
| rn(this.c, y, this.kd()); | |
| if (!this.Bd) { | |
| this.c.Yd(y, false); | |
| } | |
| /** @type {boolean} */ | |
| this.$d = y.style.display != ad; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.V = function() { | |
| Qn.v.V.call(this); | |
| un(this.c, this, this.D); | |
| this.c.Ag(this); | |
| if (this.vd & -2 && (this.ie && Rn(this, true), sn(this, 32))) { | |
| var a = this.l(); | |
| if (a) { | |
| var target = this.H || (this.H = new Gn); | |
| Fn(target, a); | |
| X(this).a(target, Hc, this.Ka).a(a, wb, this.Xh).a(a, Va, this.Zd); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {string} ring | |
| * @return {undefined} | |
| */ | |
| var Rn = function(node, ring) { | |
| var t = X(node); | |
| var a = node.l(); | |
| if (ring) { | |
| t.a(a, Yc, node.kf).a(a, Vc, node.Za).a(a, Zc, node.ib).a(a, Xc, node.sf); | |
| if (node.md != Ae) { | |
| t.a(a, eb, node.md); | |
| } | |
| if (E) { | |
| if (!I(9)) { | |
| t.a(a, "dblclick", node.Gg); | |
| } | |
| if (!node.L) { | |
| node.L = new Un(node); | |
| Cj(node, node.L); | |
| } | |
| } | |
| } else { | |
| t.b(a, Yc, node.kf).b(a, Vc, node.Za).b(a, Zc, node.ib).b(a, Xc, node.sf); | |
| if (node.md != Ae) { | |
| t.b(a, eb, node.md); | |
| } | |
| if (E) { | |
| if (!I(9)) { | |
| t.b(a, "dblclick", node.Gg); | |
| } | |
| Bj(node.L); | |
| /** @type {null} */ | |
| node.L = null; | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Qn.prototype.Ya = function() { | |
| Qn.v.Ya.call(this); | |
| if (this.H) { | |
| Mn(this.H); | |
| } | |
| if (this.isVisible() && this.isEnabled()) { | |
| this.c.Lc(this, false); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Qn.prototype.J = function() { | |
| Qn.v.J.call(this); | |
| if (this.H) { | |
| this.H.za(); | |
| delete this.H; | |
| } | |
| delete this.c; | |
| /** @type {null} */ | |
| this.L = this.sb = this.sc = null; | |
| }; | |
| Qn.prototype.Aa = w("sc"); | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Qn.prototype.g = function(name) { | |
| this.c.zb(this.l(), name); | |
| /** @type {string} */ | |
| this.sc = name; | |
| }; | |
| /** | |
| * @param {!Object} link | |
| * @param {!Node} label | |
| * @return {undefined} | |
| */ | |
| var qn = function(link, label) { | |
| /** @type {!Node} */ | |
| link.sc = label; | |
| }; | |
| y = Qn.prototype; | |
| /** | |
| * @return {?} | |
| */ | |
| y.Na = function() { | |
| var item = this.Aa(); | |
| if (!item) { | |
| return ""; | |
| } | |
| item = Fe(item) ? item : De(item) ? zf(item, Gi).join("") : Fi(item); | |
| return Ve(item); | |
| }; | |
| y.isVisible = w("$d"); | |
| /** | |
| * @param {boolean} value | |
| * @param {string} bool | |
| * @return {?} | |
| */ | |
| y.setVisible = function(value, bool) { | |
| if (bool || this.$d != value && this.dispatchEvent(value ? Ad : pc)) { | |
| var x = this.l(); | |
| if (x) { | |
| this.c.setVisible(x, value); | |
| } | |
| if (this.isEnabled()) { | |
| this.c.Lc(this, value); | |
| } | |
| /** @type {boolean} */ | |
| this.$d = value; | |
| return true; | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.isEnabled = function() { | |
| return !tn(this, 1); | |
| }; | |
| /** | |
| * @param {boolean} y | |
| * @return {undefined} | |
| */ | |
| y.ba = function(y) { | |
| var BrowserCache = this.K(); | |
| if (!(BrowserCache && typeof BrowserCache.isEnabled == Bb && !BrowserCache.isEnabled() || !Vn(this, 1, !y))) { | |
| if (!y) { | |
| Wn(this, false); | |
| Xn(this, false); | |
| } | |
| if (this.isVisible()) { | |
| this.c.Lc(this, y); | |
| } | |
| Yn(this, 1, !y, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @param {boolean} index | |
| * @return {undefined} | |
| */ | |
| var Xn = function(name, index) { | |
| if (Vn(name, 2, index)) { | |
| Yn(name, 2, index); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @param {boolean} index | |
| * @return {undefined} | |
| */ | |
| var Wn = function(name, index) { | |
| if (Vn(name, 4, index)) { | |
| Yn(name, 4, index); | |
| } | |
| }; | |
| y = Qn.prototype; | |
| /** | |
| * @param {boolean} V | |
| * @return {undefined} | |
| */ | |
| y.Kf = function(V) { | |
| if (Vn(this, 8, V)) { | |
| Yn(this, 8, V); | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.Ea = function() { | |
| return tn(this, 16); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| y.ma = function(a) { | |
| if (Vn(this, 16, a)) { | |
| Yn(this, 16, a); | |
| } | |
| }; | |
| /** | |
| * @param {boolean} c | |
| * @return {undefined} | |
| */ | |
| y.hc = function(c) { | |
| if (Vn(this, 32, c)) { | |
| Yn(this, 32, c); | |
| } | |
| }; | |
| /** | |
| * @param {boolean} a | |
| * @return {undefined} | |
| */ | |
| y.Ja = function(a) { | |
| if (Vn(this, 64, a)) { | |
| Yn(this, 64, a); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {number} count | |
| * @return {?} | |
| */ | |
| var tn = function(node, count) { | |
| return !!(node.bc & count); | |
| }; | |
| /** | |
| * @param {!Object} arg | |
| * @param {number} type | |
| * @param {boolean} index | |
| * @param {string} enableTimer | |
| * @return {undefined} | |
| */ | |
| var Yn = function(arg, type, index, enableTimer) { | |
| if (enableTimer || 1 != type) { | |
| if (sn(arg, type) && index != tn(arg, type)) { | |
| arg.c.rc(arg, type, index); | |
| /** @type {number} */ | |
| arg.bc = index ? arg.bc | type : arg.bc & ~type; | |
| } | |
| } else { | |
| arg.ba(!index); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} tagName | |
| * @param {number} data | |
| * @return {?} | |
| */ | |
| var sn = function(tagName, data) { | |
| return !!(tagName.vd & data); | |
| }; | |
| /** | |
| * @param {number} n | |
| * @param {boolean} b | |
| * @return {undefined} | |
| */ | |
| Qn.prototype.Ba = function(n, b) { | |
| if (this.sa && tn(this, n) && !b) { | |
| throw Error(pa); | |
| } | |
| if (!b && tn(this, n)) { | |
| Yn(this, n, false); | |
| } | |
| /** @type {number} */ | |
| this.vd = b ? this.vd | n : this.vd & ~n; | |
| }; | |
| /** | |
| * @param {!Object} span | |
| * @param {number} code | |
| * @return {?} | |
| */ | |
| var Zn = function(span, code) { | |
| return !!(span.Ib & code) && sn(span, code); | |
| }; | |
| /** | |
| * @param {!Object} target | |
| * @param {number} type | |
| * @param {?} e | |
| * @return {?} | |
| */ | |
| var Vn = function(target, type, e) { | |
| return sn(target, type) && tn(target, type) != e && (!(target.ud & type) || target.dispatchEvent(Fl(type, e))) && !target.Ca; | |
| }; | |
| y = Qn.prototype; | |
| /** | |
| * @param {!Object} arg | |
| * @return {undefined} | |
| */ | |
| y.kf = function(arg) { | |
| if ((!arg.c || !ti(this.l(), arg.c)) && this.dispatchEvent("enter") && this.isEnabled() && Zn(this, 2)) { | |
| Xn(this, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} x | |
| * @return {undefined} | |
| */ | |
| y.sf = function(x) { | |
| if (!(x.c && ti(this.l(), x.c) || !this.dispatchEvent("leave"))) { | |
| if (Zn(this, 4)) { | |
| Wn(this, false); | |
| } | |
| if (Zn(this, 2)) { | |
| Xn(this, false); | |
| } | |
| } | |
| }; | |
| y.md = Ae; | |
| /** | |
| * @param {!Object} key | |
| * @return {undefined} | |
| */ | |
| y.Za = function(key) { | |
| if (this.isEnabled()) { | |
| if (Zn(this, 2)) { | |
| Xn(this, true); | |
| } | |
| if (Kj(key)) { | |
| if (Zn(this, 4)) { | |
| Wn(this, true); | |
| } | |
| if (this.c && this.c.hf(this)) { | |
| this.l().focus(); | |
| } | |
| } | |
| } | |
| if (!this.Bd && Kj(key)) { | |
| key.preventDefault(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {undefined} | |
| */ | |
| y.ib = function(node) { | |
| if (this.isEnabled()) { | |
| if (Zn(this, 2)) { | |
| Xn(this, true); | |
| } | |
| if (tn(this, 4) && this.Wb(node) && Zn(this, 4)) { | |
| Wn(this, false); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} webcal | |
| * @return {undefined} | |
| */ | |
| y.Gg = function(webcal) { | |
| if (this.isEnabled()) { | |
| this.Wb(webcal); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} event | |
| * @return {?} | |
| */ | |
| y.Wb = function(event) { | |
| if (Zn(this, 16)) { | |
| this.ma(!this.Ea()); | |
| } | |
| if (Zn(this, 8)) { | |
| this.Kf(true); | |
| } | |
| if (Zn(this, 64)) { | |
| this.Ja(!tn(this, 64)); | |
| } | |
| var e = new T(p, this); | |
| if (event) { | |
| e.altKey = event.altKey; | |
| e.ctrlKey = event.ctrlKey; | |
| e.metaKey = event.metaKey; | |
| e.shiftKey = event.shiftKey; | |
| e.m = event.m; | |
| } | |
| return this.dispatchEvent(e); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Xh = function() { | |
| if (Zn(this, 32)) { | |
| this.hc(true); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Zd = function() { | |
| if (Zn(this, 4)) { | |
| Wn(this, false); | |
| } | |
| if (Zn(this, 32)) { | |
| this.hc(false); | |
| } | |
| }; | |
| /** | |
| * @param {!Event} key | |
| * @return {?} | |
| */ | |
| y.Ka = function(key) { | |
| return this.isVisible() && this.isEnabled() && this.tc(key) ? (key.preventDefault(), key.stopPropagation(), true) : false; | |
| }; | |
| /** | |
| * @param {!Event} key | |
| * @return {?} | |
| */ | |
| y.tc = function(key) { | |
| return 13 == key.keyCode && this.Wb(key); | |
| }; | |
| if (!He(Qn)) { | |
| throw Error("Invalid component class " + Qn); | |
| } | |
| if (!He(hn)) { | |
| throw Error("Invalid renderer class " + hn); | |
| } | |
| var $n = Le(Qn); | |
| Pn[$n] = hn; | |
| On("goog-control", function() { | |
| return new Qn(null); | |
| }); | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var Un = function(a) { | |
| Aj.call(this); | |
| /** @type {string} */ | |
| this.b = a; | |
| /** @type {boolean} */ | |
| this.a = false; | |
| this.c = new nk(this); | |
| Cj(this, this.c); | |
| a = this.b.D; | |
| this.c.a(a, Vc, this.j).a(a, Zc, this.m).a(a, r, this.g); | |
| }; | |
| C(Un, Aj); | |
| var ao = !E || yh(9); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Un.prototype.j = function() { | |
| /** @type {boolean} */ | |
| this.a = false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Un.prototype.m = function() { | |
| /** @type {boolean} */ | |
| this.a = true; | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {string} type | |
| * @return {?} | |
| */ | |
| var bo = function(options, type) { | |
| if (!ao) { | |
| return options.button = 0, options.type = type, options; | |
| } | |
| /** @type {(Event|null)} */ | |
| var event = document.createEvent("MouseEvents"); | |
| event.initMouseEvent(type, options.bubbles, options.cancelable, options.view || null, options.detail, options.screenX, options.screenY, options.clientX, options.clientY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, 0, options.relatedTarget || null); | |
| return event; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| Un.prototype.g = function(key) { | |
| if (this.a) { | |
| /** @type {boolean} */ | |
| this.a = false; | |
| } else { | |
| var event = key.b; | |
| var button = event.button; | |
| var explicitType = event.type; | |
| var detailsText = bo(event, Vc); | |
| this.b.Za(new Ij(detailsText, key.a)); | |
| detailsText = bo(event, Zc); | |
| this.b.ib(new Ij(detailsText, key.a)); | |
| if (!ao) { | |
| event.button = button; | |
| event.type = explicitType; | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Un.prototype.J = function() { | |
| /** @type {null} */ | |
| this.b = null; | |
| Un.v.J.call(this); | |
| }; | |
| var co = ue(); | |
| C(co, wn); | |
| Be(co); | |
| y = co.prototype; | |
| y.Rb = ue(); | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| y.Pa = function(obj) { | |
| Sn(obj, false); | |
| obj.Ib &= -256; | |
| obj.Ba(32, false); | |
| return obj.a.b(oa, { | |
| "class" : nn(this, obj).join(" "), | |
| disabled : !obj.isEnabled(), | |
| title : obj.w || "", | |
| value : obj.T() || "" | |
| }, obj.Na() || ""); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| y.Kc = function(a) { | |
| return a.tagName == oa || a.tagName == ta && (a.type == Xa || "submit" == a.type || "reset" == a.type); | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {!Object} n | |
| * @return {?} | |
| */ | |
| y.R = function(b, n) { | |
| Sn(b, false); | |
| b.Ib &= -256; | |
| b.Ba(32, false); | |
| if (n.disabled) { | |
| var a = this.a(1); | |
| J(n, a); | |
| } | |
| return co.v.R.call(this, b, n); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {undefined} | |
| */ | |
| y.Ag = function(value) { | |
| X(value).a(value.l(), r, value.Wb); | |
| }; | |
| y.Yd = Ae; | |
| y.jf = Ae; | |
| /** | |
| * @param {?} b | |
| * @return {?} | |
| */ | |
| y.hf = function(b) { | |
| return b.isEnabled(); | |
| }; | |
| y.Lc = Ae; | |
| /** | |
| * @param {!Object} args | |
| * @param {number} typeName | |
| * @param {boolean} name | |
| * @return {undefined} | |
| */ | |
| y.rc = function(args, typeName, name) { | |
| co.v.rc.call(this, args, typeName, name); | |
| if ((args = args.l()) && 1 == typeName) { | |
| /** @type {boolean} */ | |
| args.disabled = name; | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {?} | |
| */ | |
| y.T = function(name) { | |
| return name.value; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| y.Ud = function(key, name) { | |
| if (key) { | |
| /** @type {string} */ | |
| key.value = name; | |
| } | |
| }; | |
| y.Cb = Ae; | |
| /** | |
| * @param {?} activityId | |
| * @param {?} name | |
| * @param {?} entry__3995__auto__ | |
| * @return {undefined} | |
| */ | |
| var eo = function(activityId, name, entry__3995__auto__) { | |
| Qn.call(this, activityId, name || co.M(), entry__3995__auto__); | |
| }; | |
| C(eo, Qn); | |
| y = eo.prototype; | |
| y.T = w("Wa"); | |
| /** | |
| * @param {boolean} factor | |
| * @return {undefined} | |
| */ | |
| y.Vd = function(factor) { | |
| /** @type {boolean} */ | |
| this.Wa = factor; | |
| this.c.Ud(this.l(), factor); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.J = function() { | |
| eo.v.J.call(this); | |
| delete this.Wa; | |
| delete this.w; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.V = function() { | |
| eo.v.V.call(this); | |
| if (sn(this, 32)) { | |
| var type = this.l(); | |
| if (type) { | |
| X(this).a(type, Kc, this.tc); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @return {?} | |
| */ | |
| y.tc = function(key) { | |
| return 13 == key.keyCode && key.type == Hc || 32 == key.keyCode && key.type == Kc ? this.Wb(key) : 32 == key.keyCode; | |
| }; | |
| On("goog-button", function() { | |
| return new eo(null); | |
| }); | |
| var fo = ue(); | |
| C(fo, wn); | |
| Be(fo); | |
| y = fo.prototype; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| y.Pa = function(a) { | |
| var b = nn(this, a); | |
| b = a.a.b(k, { | |
| "class" : Hb + b.join(" ") | |
| }, this.Id(a.Aa(), a.a)); | |
| xn(b, a.w); | |
| return b; | |
| }; | |
| y.Rb = x(Xa); | |
| /** | |
| * @param {!Object} element | |
| * @return {?} | |
| */ | |
| y.hb = function(element) { | |
| return element && element.firstChild && element.firstChild.firstChild; | |
| }; | |
| /** | |
| * @param {undefined} id | |
| * @param {!Object} n | |
| * @return {?} | |
| */ | |
| y.Id = function(id, n) { | |
| return n.b(k, Hb + (this.S() + "-outer-box"), n.b(k, Hb + (this.S() + "-inner-box"), id)); | |
| }; | |
| /** | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| y.Kc = function(data) { | |
| return data.tagName == k; | |
| }; | |
| /** | |
| * @param {!Object} args | |
| * @param {!Object} n | |
| * @return {?} | |
| */ | |
| y.R = function(args, n) { | |
| go(n, true); | |
| go(n, false); | |
| var target; | |
| a: { | |
| target = args.a.pg(n); | |
| var d = this.S() + "-outer-box"; | |
| if (target && Bh(target, d) && (target = args.a.pg(target), d = this.S() + "-inner-box", target && Bh(target, d))) { | |
| /** @type {boolean} */ | |
| target = true; | |
| break a; | |
| } | |
| /** @type {boolean} */ | |
| target = false; | |
| } | |
| if (!target) { | |
| n.appendChild(this.Id(n.childNodes, args.a)); | |
| } | |
| Ch(n, [Gb, this.S()]); | |
| return fo.v.R.call(this, args, n); | |
| }; | |
| y.S = x("goog-custom-button"); | |
| /** | |
| * @param {!HTMLElement} element | |
| * @param {boolean} fromStart | |
| * @return {undefined} | |
| */ | |
| var go = function(element, fromStart) { | |
| if (element) { | |
| var node = fromStart ? element.firstChild : element.lastChild; | |
| var next; | |
| for (; node && node.parentNode == element;) { | |
| next = fromStart ? node.nextSibling : node.previousSibling; | |
| if (3 == node.nodeType) { | |
| var path = node.nodeValue; | |
| if ("" == We(path)) { | |
| element.removeChild(node); | |
| } else { | |
| node.nodeValue = fromStart ? path.replace(/^[\s\xa0]+/, "") : path.replace(/[\s\xa0]+$/, ""); | |
| break; | |
| } | |
| } else { | |
| break; | |
| } | |
| node = next; | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} val | |
| * @param {?} cx | |
| * @param {?} text | |
| * @return {undefined} | |
| */ | |
| var ho = function(val, cx, text) { | |
| eo.call(this, val, cx || fo.M(), text); | |
| this.Ba(16, true); | |
| }; | |
| C(ho, eo); | |
| On("goog-toggle-button", function() { | |
| return new ho(null); | |
| }); | |
| /** | |
| * @param {string} req | |
| * @param {string} res | |
| * @param {number} socket | |
| * @return {undefined} | |
| */ | |
| var io = function(req, res, socket) { | |
| Aj.call(this); | |
| /** @type {string} */ | |
| this.a = req; | |
| this.j = res || 0; | |
| /** @type {number} */ | |
| this.c = socket; | |
| this.g = A(this.b, this); | |
| }; | |
| C(io, Aj); | |
| /** @type {number} */ | |
| io.prototype.Ga = 0; | |
| /** | |
| * @return {undefined} | |
| */ | |
| io.prototype.J = function() { | |
| io.v.J.call(this); | |
| jo(this); | |
| delete this.a; | |
| delete this.c; | |
| }; | |
| /** | |
| * @param {!Object} e | |
| * @param {number} n | |
| * @return {undefined} | |
| */ | |
| var ko = function(e, n) { | |
| jo(e); | |
| e.Ga = cl(e.g, xe(n) ? n : e.j); | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {undefined} | |
| */ | |
| var jo = function(value) { | |
| if (0 != value.Ga) { | |
| dl(value.Ga); | |
| } | |
| /** @type {number} */ | |
| value.Ga = 0; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| io.prototype.b = function() { | |
| /** @type {number} */ | |
| this.Ga = 0; | |
| if (this.a) { | |
| this.a.call(this.c); | |
| } | |
| }; | |
| /** | |
| * @param {string} str | |
| * @return {?} | |
| */ | |
| var no = function(str) { | |
| return lf(We(str.replace(lo, function(a, text) { | |
| return mo.test(text) ? "" : " "; | |
| }).replace(/[\t\n ]+/g, " "))); | |
| }; | |
| /** @type {!RegExp} */ | |
| var mo = /^(?:abbr|acronym|address|b|em|i|small|strong|su[bp]|u)$/i; | |
| /** @type {!RegExp} */ | |
| var lo = /<[!\/]?([a-z0-9]+)([\/ ][^>]*)?>/gi; | |
| /** | |
| * @param {number} m | |
| * @param {number} l | |
| * @param {string} target | |
| * @param {!Object} type | |
| * @param {!Object} c | |
| * @param {string} t | |
| * @param {number} seed | |
| * @param {string} index | |
| * @param {!Object} n | |
| * @return {?} | |
| */ | |
| var ro = function(m, l, target, type, c, t, seed, index, n) { | |
| var rect = oo(target); | |
| var r = ij(m); | |
| var a = aj(m); | |
| if (a) { | |
| var p = new Oi(a.left, a.top, a.right - a.left, a.bottom - a.top); | |
| /** @type {number} */ | |
| a = Math.max(r.left, p.left); | |
| /** @type {number} */ | |
| var elem = Math.min(r.left + r.width, p.left + p.width); | |
| if (a <= elem) { | |
| /** @type {number} */ | |
| var h = Math.max(r.top, p.top); | |
| /** @type {number} */ | |
| p = Math.min(r.top + r.height, p.top + p.height); | |
| if (h <= p) { | |
| /** @type {number} */ | |
| r.left = a; | |
| /** @type {number} */ | |
| r.top = h; | |
| /** @type {number} */ | |
| r.width = elem - a; | |
| /** @type {number} */ | |
| r.height = p - h; | |
| } | |
| } | |
| } | |
| a = Qh(m); | |
| h = Qh(target); | |
| if (a.a != h.a) { | |
| elem = a.a.body; | |
| h = Ki(h); | |
| p = new L(0, 0); | |
| var currentWin = $h(Ph(elem)); | |
| if (Qi(currentWin, "parent")) { | |
| var currentEl = elem; | |
| do { | |
| var pc = currentWin == h ? $i(currentEl) : dj(currentEl); | |
| p.x += pc.x; | |
| p.y += pc.y; | |
| } while (currentWin && currentWin != h && currentWin != currentWin.parent && (currentEl = currentWin.frameElement) && (currentWin = currentWin.parent)); | |
| } | |
| elem = Fh(p, $i(elem)); | |
| if (!(!E || yh(9) || Wh(a.a))) { | |
| elem = Fh(elem, Zh(a.a)); | |
| } | |
| r.left += elem.x; | |
| r.top += elem.y; | |
| } | |
| m = po(m, l); | |
| l = r.left; | |
| if (m & 4) { | |
| l = l + r.width; | |
| } else { | |
| if (m & 2) { | |
| l = l + r.width / 2; | |
| } | |
| } | |
| r = new L(l, r.top + (m & 1 ? r.height : 0)); | |
| r = Fh(r, rect); | |
| if (c) { | |
| r.x += (m & 4 ? -1 : 1) * c.x; | |
| r.y += (m & 1 ? -1 : 1) * c.y; | |
| } | |
| var position; | |
| if (seed) { | |
| if (n) { | |
| /** @type {!Object} */ | |
| position = n; | |
| } else { | |
| if (position = aj(target)) { | |
| position.top -= rect.y; | |
| position.right -= rect.x; | |
| position.bottom -= rect.y; | |
| position.left -= rect.x; | |
| } | |
| } | |
| } | |
| return qo(r, target, type, t, position, seed, index); | |
| }; | |
| /** | |
| * @param {!Object} target | |
| * @return {?} | |
| */ | |
| var oo = function(target) { | |
| var finalConf; | |
| if (target = target.offsetParent) { | |
| /** @type {boolean} */ | |
| var id = "HTML" == target.tagName || "BODY" == target.tagName; | |
| if (!(id && "static" == Ui(target, ld))) { | |
| finalConf = $i(target); | |
| if (!id) { | |
| id = (id = nj(target)) && ih ? -target.scrollLeft : !id || hh && I("8") || Ui(target, "overflowX") == me ? target.scrollLeft : target.scrollWidth - target.clientWidth - target.scrollLeft; | |
| finalConf = Fh(finalConf, new L(id, target.scrollTop)); | |
| } | |
| } | |
| } | |
| return finalConf || new L; | |
| }; | |
| /** | |
| * @param {!Object} el | |
| * @param {!Object} p | |
| * @param {?} size | |
| * @param {!Object} e | |
| * @param {!Object} pos | |
| * @param {number} a | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var qo = function(el, p, size, e, pos, a, data) { | |
| el = el.clone(); | |
| var view = po(p, size); | |
| size = hj(p); | |
| data = data ? data.clone() : size.clone(); | |
| el = el.clone(); | |
| data = data.clone(); | |
| /** @type {number} */ | |
| var end = 0; | |
| if (e || 0 != view) { | |
| if (view & 4) { | |
| el.x -= data.width + (e ? e.right : 0); | |
| } else { | |
| if (view & 2) { | |
| el.x -= data.width / 2; | |
| } else { | |
| if (e) { | |
| el.x += e.left; | |
| } | |
| } | |
| } | |
| if (view & 1) { | |
| el.y -= data.height + (e ? e.bottom : 0); | |
| } else { | |
| if (e) { | |
| el.y += e.top; | |
| } | |
| } | |
| } | |
| if (a) { | |
| if (pos) { | |
| /** @type {!Object} */ | |
| e = el; | |
| /** @type {!Object} */ | |
| view = data; | |
| /** @type {number} */ | |
| end = 0; | |
| if (65 == (a & 65) && (e.x < pos.left || e.x >= pos.right)) { | |
| /** @type {number} */ | |
| a = a & -2; | |
| } | |
| if (132 == (a & 132) && (e.y < pos.top || e.y >= pos.bottom)) { | |
| /** @type {number} */ | |
| a = a & -5; | |
| } | |
| if (e.x < pos.left && a & 1) { | |
| e.x = pos.left; | |
| /** @type {number} */ | |
| end = end | 1; | |
| } | |
| if (a & 16) { | |
| var x = e.x; | |
| if (e.x < pos.left) { | |
| e.x = pos.left; | |
| /** @type {number} */ | |
| end = end | 4; | |
| } | |
| if (e.x + view.width > pos.right) { | |
| /** @type {number} */ | |
| view.width = Math.min(pos.right - e.x, x + view.width - pos.left); | |
| /** @type {number} */ | |
| view.width = Math.max(view.width, 0); | |
| /** @type {number} */ | |
| end = end | 4; | |
| } | |
| } | |
| if (e.x + view.width > pos.right && a & 1) { | |
| /** @type {number} */ | |
| e.x = Math.max(pos.right - view.width, pos.left); | |
| /** @type {number} */ | |
| end = end | 1; | |
| } | |
| if (a & 2) { | |
| /** @type {number} */ | |
| end = end | ((e.x < pos.left ? 16 : 0) | (e.x + view.width > pos.right ? 32 : 0)); | |
| } | |
| if (e.y < pos.top && a & 4) { | |
| e.y = pos.top; | |
| /** @type {number} */ | |
| end = end | 2; | |
| } | |
| if (a & 32) { | |
| x = e.y; | |
| if (e.y < pos.top) { | |
| e.y = pos.top; | |
| /** @type {number} */ | |
| end = end | 8; | |
| } | |
| if (e.y + view.height > pos.bottom) { | |
| /** @type {number} */ | |
| view.height = Math.min(pos.bottom - e.y, x + view.height - pos.top); | |
| /** @type {number} */ | |
| view.height = Math.max(view.height, 0); | |
| /** @type {number} */ | |
| end = end | 8; | |
| } | |
| } | |
| if (e.y + view.height > pos.bottom && a & 4) { | |
| /** @type {number} */ | |
| e.y = Math.max(pos.bottom - view.height, pos.top); | |
| /** @type {number} */ | |
| end = end | 2; | |
| } | |
| if (a & 8) { | |
| /** @type {number} */ | |
| end = end | ((e.y < pos.top ? 64 : 0) | (e.y + view.height > pos.bottom ? 128 : 0)); | |
| } | |
| /** @type {number} */ | |
| pos = end; | |
| } else { | |
| /** @type {number} */ | |
| pos = 256; | |
| } | |
| /** @type {!Object} */ | |
| end = pos; | |
| } | |
| a = new Oi(0, 0, 0, 0); | |
| a.left = el.x; | |
| a.top = el.y; | |
| a.width = data.width; | |
| a.height = data.height; | |
| /** @type {number} */ | |
| pos = end; | |
| if (pos & 496) { | |
| return pos; | |
| } | |
| Wi(p, new L(a.left, a.top)); | |
| data = new Gh(a.width, a.height); | |
| if (!Hh(size, data)) { | |
| /** @type {!Object} */ | |
| size = data; | |
| data = Ph(p); | |
| el = Wh(Qh(data).a); | |
| if (!E || I("10") || el && I("8")) { | |
| qj(p, size, Wa); | |
| } else { | |
| data = p.style; | |
| if (el) { | |
| el = uj(p); | |
| p = xj(p); | |
| /** @type {number} */ | |
| data.pixelWidth = size.width - p.left - el.left - el.right - p.right; | |
| /** @type {number} */ | |
| data.pixelHeight = size.height - p.top - el.top - el.bottom - p.bottom; | |
| } else { | |
| data.pixelWidth = size.width; | |
| data.pixelHeight = size.height; | |
| } | |
| } | |
| } | |
| return pos; | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @param {number} type | |
| * @return {?} | |
| */ | |
| var po = function(v, type) { | |
| return (type & 8 && nj(v) ? type ^ 4 : type) & -9; | |
| }; | |
| var so = ue(); | |
| so.prototype.a = ue(); | |
| /** | |
| * @param {string} c | |
| * @param {?} kind | |
| * @return {undefined} | |
| */ | |
| var to = function(c, kind) { | |
| /** @type {string} */ | |
| this.g = c; | |
| /** @type {boolean} */ | |
| this.o = !!kind; | |
| this.m = { | |
| 0 : this.g + "-arrowright", | |
| 1 : this.g + "-arrowup", | |
| 2 : this.g + "-arrowdown", | |
| 3 : this.g + "-arrowleft" | |
| }; | |
| }; | |
| C(to, so); | |
| y = to.prototype; | |
| /** @type {boolean} */ | |
| y.oe = false; | |
| /** @type {number} */ | |
| y.Re = 2; | |
| /** @type {number} */ | |
| y.Wf = 20; | |
| /** @type {number} */ | |
| y.Te = 3; | |
| /** @type {number} */ | |
| y.Af = -5; | |
| /** @type {boolean} */ | |
| y.Ne = false; | |
| /** | |
| * @param {?} context | |
| * @param {number} firstTime | |
| * @param {number} result | |
| * @param {string} data | |
| * @return {undefined} | |
| */ | |
| var uo = function(context, firstTime, result, data) { | |
| if (null != firstTime) { | |
| /** @type {number} */ | |
| context.Te = firstTime; | |
| } | |
| if (null != result) { | |
| /** @type {number} */ | |
| context.Re = result; | |
| } | |
| if (Ge(void 0)) { | |
| /** @type {number} */ | |
| context.Wf = Math.max(void 0, 15); | |
| } | |
| if (Ge(data)) { | |
| /** @type {string} */ | |
| context.Af = data; | |
| } | |
| }; | |
| /** | |
| * @param {number} name | |
| * @param {string} type | |
| * @param {!Function} str | |
| * @return {undefined} | |
| */ | |
| to.prototype.a = function(name, type, str) { | |
| name = this.Re; | |
| if (2 == name) { | |
| /** @type {number} */ | |
| name = 0; | |
| } | |
| vo(this, this.Te, name, 2 == this.Re ? wo(this.Te) ? this.c.offsetHeight / 2 : this.c.offsetWidth / 2 : this.Wf, 0, str); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {number} m | |
| * @param {number} e | |
| * @param {number} buffer | |
| * @param {number} number | |
| * @param {string} i | |
| * @return {undefined} | |
| */ | |
| var vo = function(a, m, e, buffer, number, i) { | |
| if (a.b) { | |
| var x = xo(m, e); | |
| var t; | |
| var n = a.b; | |
| t = hj(n); | |
| /** @type {number} */ | |
| t = (wo(m) ? t.height / 2 : t.width / 2) - buffer; | |
| var b = po(n, x); | |
| var o; | |
| if (o = aj(n)) { | |
| n = ij(n); | |
| n = new Ni(n.top, n.left + n.width, n.top + n.height, n.left); | |
| if (wo(m)) { | |
| if (n.top < o.top && !(b & 1)) { | |
| /** @type {number} */ | |
| t = t - (o.top - n.top); | |
| } else { | |
| if (n.bottom > o.bottom && b & 1) { | |
| /** @type {number} */ | |
| t = t - (n.bottom - o.bottom); | |
| } | |
| } | |
| } else { | |
| if (n.left < o.left && !(b & 4)) { | |
| /** @type {number} */ | |
| t = t - (o.left - n.left); | |
| } else { | |
| if (n.right > o.right && b & 4) { | |
| /** @type {number} */ | |
| t = t - (n.right - o.right); | |
| } | |
| } | |
| } | |
| } | |
| t = wo(m) ? new L(a.Af, t) : new L(t, a.Af); | |
| /** @type {number} */ | |
| b = wo(m) ? 6 : 9; | |
| if (a.Ne && 2 == number) { | |
| /** @type {number} */ | |
| b = wo(m) ? 4 : 1; | |
| } | |
| /** @type {number} */ | |
| o = m ^ 3; | |
| if (wo(m) && a.b.dir == sd) { | |
| /** @type {number} */ | |
| o = m; | |
| } | |
| x = ro(a.b, xo(o, e), a.c, x, t, i, a.oe ? b : 0, void 0, null); | |
| if (2 != number && x & 496) { | |
| vo(a, m ^ 3, e, buffer, a.Ne && 0 == number ? 1 : 2, i); | |
| return; | |
| } | |
| if (!(!a.o || x & 496)) { | |
| /** @type {number} */ | |
| number = parseFloat(a.c.style.left); | |
| /** @type {number} */ | |
| i = parseFloat(a.c.style.top); | |
| if (!(isFinite(number) && 0 == number % 1 && isFinite(i) && 0 == i % 1)) { | |
| Wi(a.c, Math.round(number), Math.round(i)); | |
| } | |
| } | |
| } | |
| yo(a, m, e, buffer); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {number} i | |
| * @param {number} n | |
| * @param {number} d | |
| * @return {undefined} | |
| */ | |
| var yo = function(a, i, n, d) { | |
| var c = a.j; | |
| Nf(a.m, function(a) { | |
| Eh(c, a, false); | |
| }, a); | |
| J(c, a.m[i]); | |
| /** @type {string} */ | |
| c.style.top = c.style.left = c.style.right = c.style.bottom = ""; | |
| if (a.b) { | |
| n = cj(a.b, a.c); | |
| d = zo(a.b, i); | |
| if (wo(i)) { | |
| c.style.top = Ao(n.y + d.y, a.c.offsetHeight - 15) + md; | |
| } else { | |
| c.style.left = Ao(n.x + d.x, a.c.offsetWidth - 15) + md; | |
| } | |
| } else { | |
| c.style[0 == n ? wo(i) ? "top" : Pc : wo(i) ? "bottom" : qd] = d + md; | |
| } | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {number} opt_max | |
| * @return {?} | |
| */ | |
| var Ao = function(a, opt_max) { | |
| return 15 > opt_max ? 15 : Math.min(Math.max(a, 15), opt_max); | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {number} b | |
| * @return {?} | |
| */ | |
| var xo = function(a, b) { | |
| switch(a) { | |
| case 2: | |
| return 0 == b ? 1 : 5; | |
| case 1: | |
| return 0 == b ? 0 : 4; | |
| case 0: | |
| return 0 == b ? 12 : 13; | |
| default: | |
| return 0 == b ? 8 : 9; | |
| } | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {number} bidx | |
| * @return {?} | |
| */ | |
| var zo = function(b, bidx) { | |
| /** @type {number} */ | |
| var width = 0; | |
| /** @type {number} */ | |
| var height = 0; | |
| var reply = hj(b); | |
| switch(bidx) { | |
| case 2: | |
| /** @type {number} */ | |
| width = reply.width / 2; | |
| break; | |
| case 1: | |
| /** @type {number} */ | |
| width = reply.width / 2; | |
| height = reply.height; | |
| break; | |
| case 0: | |
| /** @type {number} */ | |
| height = reply.height / 2; | |
| break; | |
| case 3: | |
| width = reply.width; | |
| /** @type {number} */ | |
| height = reply.height / 2; | |
| } | |
| return new L(width, height); | |
| }; | |
| /** | |
| * @param {number} method | |
| * @return {?} | |
| */ | |
| var wo = function(method) { | |
| return 0 == method || 3 == method; | |
| }; | |
| /** | |
| * @param {string} b | |
| * @return {undefined} | |
| */ | |
| var Bo = function(b) { | |
| Aj.call(this); | |
| this.b = b || Qh(); | |
| }; | |
| C(Bo, Aj); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Bo.prototype.j = function() { | |
| cn(this.l(), "tooltip"); | |
| dn(this.l(), "live", "polite"); | |
| }; | |
| /** | |
| * @param {?} value | |
| * @return {undefined} | |
| */ | |
| var Do = function(value) { | |
| Bo.call(this, value); | |
| this.a = this.b.b(qb, Co() + "-contentId"); | |
| this.c = this.b.b(qb, Co() + "-arrow", this.b.b(qb, Co() + "-arrowimplbefore"), this.b.b(qb, Co() + "-arrowimplafter")); | |
| this.g = this.b.b(qb, { | |
| "class" : Co(), | |
| role : "tooltip" | |
| }, this.a, this.c); | |
| this.j(); | |
| }; | |
| C(Do, Bo); | |
| var Co = x("jfk-tooltip"); | |
| Do.prototype.l = w("g"); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Do.prototype.J = function() { | |
| if (this.g) { | |
| mi(this.g); | |
| } | |
| }; | |
| /** | |
| * @param {?} p1__3354_SHARP_ | |
| * @return {undefined} | |
| */ | |
| var Eo = function(p1__3354_SHARP_) { | |
| Do.call(this, p1__3354_SHARP_); | |
| }; | |
| C(Eo, Do); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Eo.prototype.j = function() { | |
| cn(this.l(), "tooltip"); | |
| }; | |
| /** | |
| * @param {!Object} callback | |
| * @param {string} path | |
| * @return {undefined} | |
| */ | |
| var Go = function(callback, path) { | |
| Fo(callback, path, void 0); | |
| }; | |
| /** | |
| * @param {!Object} n | |
| * @return {undefined} | |
| */ | |
| var Ho = function(n) { | |
| var QueryLanguageComponent = n.getAttribute(Xd); | |
| if (QueryLanguageComponent) { | |
| Fo(n, QueryLanguageComponent); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @param {!Object} r | |
| * @return {undefined} | |
| */ | |
| var Fo = function(a, b, r) { | |
| if (!r) { | |
| r = b instanceof Fg ? no(Gg(b)) : b; | |
| } | |
| a.removeAttribute(Xd); | |
| a.removeAttribute(ib); | |
| a.removeAttribute(fb); | |
| if (b) { | |
| if (b instanceof Fg) { | |
| /** @type {string} */ | |
| a.b = b; | |
| } else { | |
| a.setAttribute(fb, b); | |
| /** @type {null} */ | |
| a.b = null; | |
| } | |
| a.setAttribute("aria-label", r); | |
| } else { | |
| /** @type {null} */ | |
| a.b = null; | |
| a.removeAttribute("aria-label"); | |
| } | |
| a = Qh(a) || Qh(); | |
| b = Le(a.a); | |
| if (!Io[b]) { | |
| Io[b] = new Jo(a); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} ctx | |
| * @return {undefined} | |
| */ | |
| var Ko = function(ctx) { | |
| ctx.setAttribute(hb, "t,c"); | |
| }; | |
| /** | |
| * @param {boolean} isIron | |
| * @return {undefined} | |
| */ | |
| var Lo = function(isIron) { | |
| var s = M(bc); | |
| if (isIron) { | |
| s.setAttribute(jb, ie); | |
| } else { | |
| s.removeAttribute(jb); | |
| } | |
| }; | |
| var Io = {}; | |
| /** | |
| * @param {string} z | |
| * @return {undefined} | |
| */ | |
| var Jo = function(z) { | |
| nk.call(this); | |
| /** @type {string} */ | |
| this.G = z; | |
| this.K = new io(this.P, 0, this); | |
| Cj(this, this.K); | |
| var attr = $h(); | |
| this.B = He(attr.MutationObserver) ? new attr.MutationObserver(A(this.I, this)) : null; | |
| z = z.a; | |
| this.a(z, [Xc, Vc, r, Va, Hj, Ic], this.H, true); | |
| this.a(z, [Yc, wb, Gj], this.N, true); | |
| }; | |
| C(Jo, nk); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.J = function() { | |
| Mo(this); | |
| Jo.v.J.call(this); | |
| }; | |
| /** | |
| * @param {?} query | |
| * @param {string} fn | |
| * @return {undefined} | |
| */ | |
| var No = function(query, fn) { | |
| switch(fn.type) { | |
| case Vc: | |
| case Yc: | |
| case Xc: | |
| case r: | |
| /** @type {boolean} */ | |
| query.A = false; | |
| break; | |
| case Ic: | |
| /** @type {boolean} */ | |
| query.A = true; | |
| } | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.N = function(key) { | |
| if (this.B) { | |
| this.B.disconnect(); | |
| } | |
| No(this, key); | |
| var node = key.target; | |
| /** @type {boolean} */ | |
| key = key.type == wb || key.type == Gj; | |
| var c = this.c && ti(this.c.a, node); | |
| if (this.A || !key || c) { | |
| /** @type {string} */ | |
| this.L = key; | |
| if (key = node && node.getAttribute && this.B) { | |
| key = node.getAttribute(rd) || null; | |
| key = Ef(bn, key); | |
| } | |
| if (key) { | |
| this.B.observe(node, { | |
| attributes : true | |
| }); | |
| if (key = fn(node)) { | |
| /** @type {string} */ | |
| node = key; | |
| } | |
| } | |
| this.j = node; | |
| } else { | |
| /** @type {null} */ | |
| this.j = null; | |
| } | |
| Oo(this); | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.H = function(key) { | |
| No(this, key); | |
| var id = key.target; | |
| /** @type {boolean} */ | |
| key = key.type == Vc || key.type == r; | |
| id = this.c && ti(this.c.a, id); | |
| if (!(key && id)) { | |
| /** @type {null} */ | |
| this.j = null; | |
| Oo(this); | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.I = function(name) { | |
| xf(name, A(function(event) { | |
| var b = fn(event.target); | |
| if (b && event.attributeName == Na) { | |
| this.j = b; | |
| Oo(this); | |
| } | |
| }, this)); | |
| }; | |
| /** | |
| * @param {!Object} global | |
| * @return {undefined} | |
| */ | |
| var Oo = function(global) { | |
| Mo(global); | |
| ko(global.K, global.g ? 50 : 300); | |
| }; | |
| /** | |
| * @param {!Object} global | |
| * @return {undefined} | |
| */ | |
| var Mo = function(global) { | |
| if (global.C) { | |
| dl(global.C); | |
| /** @type {number} */ | |
| global.C = 0; | |
| /** @type {null} */ | |
| global.g = null; | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.P = function() { | |
| if (!this.j) { | |
| Po(this); | |
| /** @type {null} */ | |
| this.g = null; | |
| } else { | |
| if (!(this.g && this.c && ti(this.c.l(), this.j)) || this.g.getAttribute("data-tooltip-unhoverable")) { | |
| var t = Hi(this.j, function(b) { | |
| return b.getAttribute && (b.getAttribute(ib) || b.getAttribute(fb) || b.b) && !b.getAttribute(jb); | |
| }); | |
| /** @type {boolean} */ | |
| var g = false; | |
| if (this.g && this.g != t) { | |
| Po(this); | |
| /** @type {null} */ | |
| this.g = null; | |
| /** @type {boolean} */ | |
| g = true; | |
| } | |
| if (!this.g && t && (this.g = t, Qo(this, t))) { | |
| var j = Qg; | |
| if (t.getAttribute(ib)) { | |
| var c = Th("jfk-tooltip-data", t); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < c.length; i++) { | |
| if (c[i].parentNode == t) { | |
| j = c[i].cloneNode(true); | |
| break; | |
| } | |
| } | |
| } else { | |
| j = t.b ? t.b : Jg(t.getAttribute(fb)); | |
| } | |
| c = t.getAttribute(hb); | |
| i = t.getAttribute("data-tooltip-class"); | |
| var key = t.getAttribute("data-tooltip-offset"); | |
| /** @type {number} */ | |
| key = Te(pf(key)) ? -1 : Number(key); | |
| if (!g && (t = t.getAttribute("data-tooltip-delay"), t = Math.max(0, t - 300))) { | |
| this.C = cl(Oe(this.O, this.g, j, c, key, i), t, this); | |
| return; | |
| } | |
| this.O(this.g, j, c, key, i); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} value | |
| * @param {!Element} elem | |
| * @return {?} | |
| */ | |
| var Qo = function(value, elem) { | |
| return elem.getAttribute("data-tooltip-only-on-overflow") && elem.offsetWidth >= elem.scrollWidth && elem.offsetHeight >= elem.scrollHeight || value.L && "mouse" == elem.getAttribute("data-tooltip-trigger") ? false : true; | |
| }; | |
| /** | |
| * @param {string} bstr | |
| * @return {?} | |
| */ | |
| var Ro = function(bstr) { | |
| if (bstr) { | |
| switch(bstr.toLowerCase().split(",")[0]) { | |
| case "l": | |
| return 0; | |
| case "t": | |
| return 2; | |
| case "r": | |
| return 3; | |
| } | |
| } | |
| return 1; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {!Object} name | |
| * @param {string} b | |
| * @param {string} input | |
| * @param {number} x | |
| * @return {undefined} | |
| */ | |
| Jo.prototype.O = function(key, name, b, input, x) { | |
| /** @type {number} */ | |
| this.C = 0; | |
| if (!this.c) { | |
| this.c = new Eo(this.G); | |
| Po(this); | |
| this.G.a.body.appendChild(this.c.l()); | |
| Cj(this, this.c); | |
| this.m = new to(Co(), true); | |
| /** @type {boolean} */ | |
| this.m.oe = true; | |
| /** @type {boolean} */ | |
| this.m.Ne = true; | |
| var c = this.m; | |
| var j = this.c.c; | |
| c.c = this.c.l(); | |
| c.j = j; | |
| } | |
| a: { | |
| if (b) { | |
| switch(b.toLowerCase().split(",")[1]) { | |
| case "l": | |
| /** @type {number} */ | |
| c = 0; | |
| break a; | |
| case "r": | |
| /** @type {number} */ | |
| c = 1; | |
| break a; | |
| } | |
| } | |
| /** @type {number} */ | |
| c = 2; | |
| } | |
| uo(this.m, Ro(b), c, input); | |
| K(this.c.l(), Gc); | |
| if (this.w != x) { | |
| if (this.w && !Te(pf(this.w))) { | |
| K(this.c.l(), this.w); | |
| } | |
| if (!Te(pf(x))) { | |
| J(this.c.l(), x); | |
| } | |
| /** @type {number} */ | |
| this.w = x; | |
| } | |
| Wi(this.c.l(), 0, 0); | |
| if (name instanceof Fg) { | |
| Nh(this.c.a, name); | |
| } else { | |
| ji(this.c.a); | |
| for (; b = name.firstChild;) { | |
| this.c.a.appendChild(b); | |
| } | |
| } | |
| /** @type {string} */ | |
| this.m.b = key; | |
| this.m.a(null, 0); | |
| }; | |
| /** | |
| * @param {!Object} color | |
| * @return {undefined} | |
| */ | |
| var Po = function(color) { | |
| if (color.c) { | |
| J(color.c.l(), Gc); | |
| } | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {string} b | |
| * @param {?} result | |
| * @param {?} entry__3995__auto__ | |
| * @return {undefined} | |
| */ | |
| var So = function(a, b, result, entry__3995__auto__) { | |
| ho.call(this, a, result || wn.M(), entry__3995__auto__); | |
| this.A = a; | |
| this.b = b || null; | |
| }; | |
| C(So, ho); | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| So.prototype.ma = function(a) { | |
| So.v.ma.call(this, a); | |
| if (null != this.b) { | |
| this.g(this.Ea() ? this.b : this.A); | |
| } | |
| }; | |
| /** | |
| * @param {?} time | |
| * @param {?} el | |
| * @param {?} property | |
| * @param {?} opt | |
| * @param {?} value | |
| * @return {undefined} | |
| */ | |
| var To = function(time, el, property, opt, value) { | |
| So.call(this, time, property, opt, value); | |
| this.I = el; | |
| }; | |
| C(To, So); | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| To.prototype.ma = function(a) { | |
| To.v.ma.call(this, a); | |
| S(this.I, this.Ea()); | |
| }; | |
| var Uo = ve("g"); | |
| C(Uo, wn); | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| Uo.prototype.Pa = function(a) { | |
| var document = a.a.b(qb, nn(this, a).join(" ")); | |
| var version = a.a.b(Hd); | |
| var d = a.a.b(Hd); | |
| if (this.g) { | |
| J(document, this.g); | |
| } | |
| J(document, Ec); | |
| d.className = Cc; | |
| version.className = Bc; | |
| document.appendChild(version); | |
| if (a.Aa()) { | |
| document.appendChild(d); | |
| this.zb(document, a.Aa()); | |
| } else { | |
| J(document, Dc); | |
| } | |
| return document; | |
| }; | |
| /** | |
| * @param {!Node} node | |
| * @param {string} selector | |
| * @return {undefined} | |
| */ | |
| Uo.prototype.zb = function(node, selector) { | |
| if (node) { | |
| var element = xe(node.lastElementChild) ? node.lastElementChild : oi(node.lastChild, false); | |
| if (element) { | |
| Q(element, selector); | |
| } | |
| } | |
| }; | |
| Uo.prototype.S = x("jfk-button"); | |
| /** | |
| * @param {!Object} a | |
| * @param {!HTMLElement} b | |
| * @return {?} | |
| */ | |
| Uo.prototype.R = function(a, b) { | |
| var c = a.a.b(Hd); | |
| var d = a.a.b(Hd); | |
| if (this.g) { | |
| J(b, this.g); | |
| } | |
| J(b, Ec); | |
| d.className = Cc; | |
| c.className = Bc; | |
| ji(b); | |
| b.appendChild(c); | |
| if (a.Aa()) { | |
| b.appendChild(d); | |
| this.zb(b, a.Aa()); | |
| } else { | |
| J(b, Dc); | |
| } | |
| return b = Uo.v.R.call(this, a, b); | |
| }; | |
| /** | |
| * @param {string} g | |
| * @param {string} margin | |
| * @return {undefined} | |
| */ | |
| var Vo = function(g, margin) { | |
| /** @type {string} */ | |
| this.g = g; | |
| this.j = margin || false; | |
| }; | |
| C(Vo, wn); | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| Vo.prototype.Pa = function(a) { | |
| var document = a.a.b(qb, nn(this, a).join(" ") + " goog-inline-block"); | |
| var version = a.a.b(Hd); | |
| if (this.g) { | |
| J(document, this.g); | |
| } | |
| version.className = Bc; | |
| document.appendChild(version); | |
| if (a.Aa()) { | |
| this.zb(document, a.Aa()); | |
| } | |
| return document; | |
| }; | |
| /** | |
| * @param {!Element} a | |
| * @param {string} fn | |
| * @return {undefined} | |
| */ | |
| Vo.prototype.zb = function(a, fn) { | |
| if (a && !this.j) { | |
| Go(a, fn); | |
| Ko(a); | |
| } | |
| }; | |
| Vo.prototype.S = x("goog-toolbar-button"); | |
| /** | |
| * @param {!Object} a | |
| * @param {!HTMLElement} b | |
| * @return {?} | |
| */ | |
| Vo.prototype.R = function(a, b) { | |
| var c = a.a.b(Hd); | |
| if (this.g) { | |
| J(b, this.g); | |
| } | |
| c.className = Bc; | |
| ji(b); | |
| b.appendChild(c); | |
| if (a.Aa()) { | |
| this.zb(b, a.Aa()); | |
| } | |
| return b = Vo.v.R.call(this, a, b); | |
| }; | |
| /** | |
| * @param {number} startIndex | |
| * @return {?} | |
| */ | |
| var Wo = function(startIndex) { | |
| return 32 >= startIndex || 4096 <= startIndex && (8192 <= startIndex && 8198 >= startIndex || 8200 <= startIndex && 8203 >= startIndex || 5760 == startIndex || 6158 == startIndex || 8232 == startIndex || 8233 == startIndex || 8287 == startIndex || 12288 == startIndex); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var Zo = function(a) { | |
| /** @type {function(?, number): ?} */ | |
| var linkSourceIsNode = Xo; | |
| if (15 > a.length) { | |
| return a; | |
| } | |
| /** @type {!Array} */ | |
| var gallerysb = []; | |
| /** @type {number} */ | |
| var d = 0; | |
| /** @type {number} */ | |
| var b = 0; | |
| /** @type {number} */ | |
| var f = 0; | |
| /** @type {number} */ | |
| var g = 0; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < a.length; i++) { | |
| var m = g; | |
| g = a.charCodeAt(i); | |
| /** @type {boolean} */ | |
| m = 768 <= g && !linkSourceIsNode(m, g, true); | |
| if (15 <= d && !Wo(g) && !m) { | |
| gallerysb.push(a.substring(f, i), Yo); | |
| /** @type {number} */ | |
| f = i; | |
| /** @type {number} */ | |
| d = 0; | |
| } | |
| if (b) { | |
| if (62 == g && 60 == b) { | |
| /** @type {number} */ | |
| b = 0; | |
| } else { | |
| if (59 == g && 38 == b) { | |
| /** @type {number} */ | |
| b = 0; | |
| d++; | |
| } | |
| } | |
| } else { | |
| if (60 == g || 38 == g) { | |
| b = g; | |
| } else { | |
| if (Wo(g)) { | |
| /** @type {number} */ | |
| d = 0; | |
| } else { | |
| if (!(8204 <= g && 8207 >= g || 8234 <= g && 8238 >= g)) { | |
| d++; | |
| } | |
| } | |
| } | |
| } | |
| } | |
| gallerysb.push(a.substr(f)); | |
| return gallerysb.join(""); | |
| }; | |
| /** | |
| * @param {?} prop | |
| * @param {number} val | |
| * @return {?} | |
| */ | |
| var Xo = function(prop, val) { | |
| return 1024 <= val && 1315 > val; | |
| }; | |
| var $o = E && I(8); | |
| /** @type {string} */ | |
| var Yo = G ? "<wbr></wbr>" : fh ? "­" : $o ? "​" : "<wbr>"; | |
| var ap = {}; | |
| var bp = {}; | |
| var cp = {}; | |
| /** | |
| * @return {?} | |
| */ | |
| var dp = function() { | |
| throw Error("Do not instantiate directly"); | |
| }; | |
| /** @type {null} */ | |
| dp.prototype.ad = null; | |
| dp.prototype.Aa = w("content"); | |
| dp.prototype.toString = w("content"); | |
| /** | |
| * @param {string} data | |
| * @return {?} | |
| */ | |
| var ep = function(data) { | |
| if (data.Kb === cp) { | |
| return Ig(data.toString()); | |
| } | |
| if (data.Kb !== ap) { | |
| throw Error("Sanitized content was not of kind TEXT or HTML."); | |
| } | |
| var i = mg("Soy SanitizedContent of kind HTML produces SafeHtml-contract-compliant value."); | |
| var valueProgess = data.toString(); | |
| data = data.ad; | |
| lg(i); | |
| lg(i); | |
| return Hg(valueProgess, data || null); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var fp = function() { | |
| dp.call(this); | |
| }; | |
| C(fp, dp); | |
| /** | |
| * @param {!Function} Constructor | |
| * @param {?} object | |
| * @return {?} | |
| */ | |
| var ip = function(Constructor, object) { | |
| var clonedI = Qh(); | |
| var args = Constructor(object || gp, void 0, void 0); | |
| var margs = hp(args); | |
| if (args instanceof dp) { | |
| args = ep(args); | |
| } else { | |
| Li(); | |
| args = Hg(margs, null); | |
| } | |
| return fi(clonedI.a, args); | |
| }; | |
| /** | |
| * @param {string} p | |
| * @param {?} value | |
| * @param {!Object} d | |
| * @param {!Object} c | |
| * @return {?} | |
| */ | |
| var jp = function(p, value, d, c) { | |
| a: { | |
| if (p = p(value || gp, void 0, d), c = Ji(c || Qh(), k), p = hp(p), c.innerHTML = p, 1 == c.childNodes.length && (p = c.firstChild, 1 == p.nodeType)) { | |
| /** @type {string} */ | |
| c = p; | |
| break a; | |
| } | |
| } | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| var hp = function(val) { | |
| if (!Ie(val)) { | |
| return String(val); | |
| } | |
| if (val instanceof dp) { | |
| if (val.Kb === ap) { | |
| return val.Aa(); | |
| } | |
| if (val.Kb === cp) { | |
| return hf(val.Aa()); | |
| } | |
| } | |
| return "zSoyz"; | |
| }; | |
| var gp = {}; | |
| /** | |
| * @param {string} result | |
| * @return {?} | |
| */ | |
| var kp = function(result) { | |
| if (null != result) { | |
| switch(result.ad) { | |
| case 1: | |
| return 1; | |
| case -1: | |
| return -1; | |
| case 0: | |
| return 0; | |
| } | |
| } | |
| return null; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var lp = function() { | |
| dp.call(this); | |
| }; | |
| C(lp, dp); | |
| lp.prototype.Kb = ap; | |
| /** | |
| * @param {string} obj | |
| * @return {?} | |
| */ | |
| var Z = function(obj) { | |
| return null != obj && obj.Kb === ap ? obj : obj instanceof Fg ? mp(Gg(obj), obj.oc()) : mp(hf(String(String(obj))), kp(obj)); | |
| }; | |
| /** | |
| * @param {?} template | |
| * @param {string} isBounding | |
| * @return {undefined} | |
| */ | |
| var np = function(template, isBounding) { | |
| /** @type {string} */ | |
| this.content = String(template); | |
| this.ad = null != isBounding ? isBounding : null; | |
| }; | |
| C(np, fp); | |
| np.prototype.Kb = cp; | |
| var mp = function(WebSocket) { | |
| /** | |
| * @param {string} text | |
| * @return {undefined} | |
| */ | |
| function ws(text) { | |
| /** @type {string} */ | |
| this.content = text; | |
| } | |
| ws.prototype = WebSocket.prototype; | |
| return function(slackName, context) { | |
| var callback = new ws(String(slackName)); | |
| if (void 0 !== context) { | |
| /** @type {string} */ | |
| callback.ad = context; | |
| } | |
| return callback; | |
| }; | |
| }(lp); | |
| /** | |
| * @param {!Function} op | |
| * @param {?} callback | |
| * @return {?} | |
| */ | |
| var op = function(op, callback) { | |
| return jp(op, callback, void 0, new Oh(void 0)); | |
| }; | |
| (function(WebSocket) { | |
| /** | |
| * @param {string} text | |
| * @return {undefined} | |
| */ | |
| function ws(text) { | |
| /** @type {string} */ | |
| this.content = text; | |
| } | |
| ws.prototype = WebSocket.prototype; | |
| return function(a, val) { | |
| /** @type {string} */ | |
| var url = String(a); | |
| if (!url) { | |
| return ""; | |
| } | |
| url = new ws(url); | |
| if (void 0 !== val) { | |
| /** @type {string} */ | |
| url.ad = val; | |
| } | |
| return url; | |
| }; | |
| })(lp); | |
| /** | |
| * @param {?} msg | |
| * @return {?} | |
| */ | |
| var tp = function(msg) { | |
| return null != msg && msg.Kb === ap ? String(String(msg.Aa()).replace(pp, "").replace(qp, "<")).replace(rp, sp) : hf(String(msg)); | |
| }; | |
| /** | |
| * @param {string} value | |
| * @return {?} | |
| */ | |
| var xp = function(value) { | |
| if (null != value && value.Kb === bp) { | |
| return value.Aa().replace(/([^"'\s])$/, "$1 "); | |
| } | |
| /** @type {string} */ | |
| value = String(value); | |
| /** @type {string} */ | |
| value = up.test(value) ? value : "zSoyz"; | |
| return value; | |
| }; | |
| /** | |
| * @param {?} data | |
| * @return {?} | |
| */ | |
| var yp = function(data) { | |
| return null != data && data.Kb === cp ? (data.Aa(), "zSoyz") : data; | |
| }; | |
| var zp = { | |
| "\x00" : "�", | |
| "\t" : "	", | |
| "\n" : " ", | |
| "\x0B" : "", | |
| "\f" : "", | |
| "\r" : " ", | |
| " " : " ", | |
| '"' : """, | |
| "&" : "&", | |
| "'" : "'", | |
| "-" : "-", | |
| "/" : "/", | |
| "<" : "<", | |
| "=" : "=", | |
| ">" : ">", | |
| "`" : "`", | |
| "\u0085" : "…", | |
| "\u00a0" : " ", | |
| "\u2028" : "
", | |
| "\u2029" : "
" | |
| }; | |
| /** | |
| * @param {?} s | |
| * @return {?} | |
| */ | |
| var sp = function(s) { | |
| return zp[s]; | |
| }; | |
| /** @type {!RegExp} */ | |
| var rp = /[\x00\x22\x27\x3c\x3e]/g; | |
| /** @type {!RegExp} */ | |
| var up = /^(?!on|src|(?:style|action|archive|background|cite|classid|codebase|data|dsync|href|longdesc|usemap)\s*$)(?:[a-z0-9_$:-]*)$/i; | |
| /** @type {!RegExp} */ | |
| var pp = /<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g; | |
| /** @type {!RegExp} */ | |
| var qp = /</g; | |
| /** | |
| * @param {?} sf | |
| * @return {?} | |
| */ | |
| var Ap = function(sf) { | |
| return '<div id="gt-apb-pb" style="display:none"><div id="gt-pb-tt">' + Z(sf.Df) + '</div><div id="gt-apb-pb-r"><input id="gt-pb-sb" type="text"><div id="pb-back-c" class="goog-inline-block"></div><button id="gt-pb-sbt" class="jfk-button jfk-button-action"><span class="jfk-button-img"></span></button><div id="gt-pb-sw2" class="goog-inline-block"></div></div></div>'; | |
| }; | |
| /** | |
| * @param {?} a | |
| * @return {?} | |
| */ | |
| var Bp = function(a) { | |
| return '<div id="gt-pb-c" style="display:none"><div id="gt-pb"><div id="gt-pb-pt">' + Z(a.Df) + '</div><div id="pb-tool" class="goog-toolbar"><div id="pb-cb-a" class="goog-inline-block"></div><div id="pb-dd" class="goog-inline-block"><div id="pb-ls"></div><div class="goog-toolbar-separator goog-inline-block"></div><div id="pb-st"></div></div><div id="pb-sh" class="goog-inline-block" style="display:none"></div><div class="goog-toolbar-separator goog-inline-block" id="pb-sp-del" style="display:none"></div><div id="pb-del-c" class="goog-inline-block"></div><div id="pb-tool-r" class="goog-inline-block"></div></div><div id="pb-tb-c" class="jfk-scrollbar-borderless"><div id="gt-pb-spin" style="display:none"></div><div id="pb-empty"></div><table id="gt-pb-tb"><colgroup><col><col><col width="50%"><col><col width="50%"></colgroup><table></div></div></div>'; | |
| }; | |
| /** | |
| * @param {?} a | |
| * @return {?} | |
| */ | |
| var Cp = function(a) { | |
| return '<div class="st-stp1"><div class="st-stp1-text"><div>' + Z(a.Si) + '</div></div><div id="st-buttons"></div></div>'; | |
| }; | |
| /** | |
| * @param {?} loc | |
| * @return {?} | |
| */ | |
| var Dp = function(loc) { | |
| return '<div class="pt-icon goog-inline-block"></div><div class="pt-text goog-inline-block"><div class="pt-act">' + Z(loc.Dh) + '</div><div class="pt-desc">' + Z(loc.$e) + "</div></div>"; | |
| }; | |
| var Ep = x('<div class="gt-hats-t"><div class="gt-hats-x clear-button"><div class="jfk-button-img"></div></div><div class="gt-hats-tt"></div></div><div class="gt-hats-c"></div>'); | |
| /** | |
| * @param {?} h | |
| * @return {?} | |
| */ | |
| var Fp = function(h) { | |
| return '<div class="gt-hats-af">' + Z(h.Eh) + '</div><a href="javascript:void(0);" class="gt-hats-link">' + Z(h.qd) + "</a>"; | |
| }; | |
| var Gp = x('<div class="gt-cc-t"><span class="gt-cc-tc"></span><span class="gt-cc-bc"></span></div><div class="gt-cc"><div class="gt-cc-l"><div class="gt-cc-l-i"></div><div class="gt-cc-exp" style="display:none"><div class="cd-exp-ar"></div></div></div><div class="gt-cc-r"><div class="gt-cc-r-i"></div></div></div>'); | |
| var Hp = x('<div class="gt-cd-t"><div class="gt-cd-tl"></div><div class="gt-cd-tr"></div></div><div class="gt-cd-c"></div><div class="cd-expand-button"><span class="jfk-button-img"></span><span class="cd-expand-label"></span></div>'); | |
| var Ip = x('<span class="gt-ct-text"></span><span class="gt-ct-translit" style="display:none"></span><div class="gt-ct-tts goog-inline-block"></div>'); | |
| /** | |
| * @param {?} n | |
| * @return {?} | |
| */ | |
| var Jp = function(n) { | |
| return '<div class="gt-ex-info"><div class="gt-ex-top"><div class="gt-ex-text" dir="' + Z(n.uj) + '">' + yp(n.fh) + '</div></div><div class="gt-ex-mt" style="display:none"><span class="gt-cd-mt" dir="' + Z(n.Tf) + '"></span><br><span class="gt-cd-mt-label">' + Z(n.Mj) + '</span><span class="gt-ex-credit"><a class="gt-ex-link" target="_blank" href="' + Z(n.yf) + '">' + Z(n.Li) + "</a></span></div></div>"; | |
| }; | |
| /** | |
| * @param {?} info | |
| * @return {?} | |
| */ | |
| var Kp = function(info) { | |
| /** @type {string} */ | |
| var val = '<div class="gt-def-info"><div class="gt-def-row">' + Z(info.Oh) + '<div class="gt-mt-md" style="display:none"><span class="gt-cd-mt"></span></div></div>' + (info.kg ? '<div class="gt-def-example"><q>' + Z(info.kg) + '</q><div class="gt-mt-ex" style="display:none"><q class="gt-cd-mt" dir="' + Z(info.Tf) + '"></q></div></div>' : ""); | |
| if (0 < info.ih.length) { | |
| /** @type {string} */ | |
| val = val + ('<div class="gt-def-synonym"><span class="gt-def-synonym-title">' + Z(info.xj) + ': </span><span class="gt-def-synonyms-group"></span><span class="gt-def-synonyms-group"></span>'); | |
| var files = info.ih; | |
| var count = files.length; | |
| /** @type {number} */ | |
| var index = 0; | |
| for (; index < count; index++) { | |
| var array = files[index]; | |
| var length = array.length; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < length; i++) { | |
| var first = array[i]; | |
| /** @type {string} */ | |
| val = val + ((info.Mh ? '<span class="gt-cd-cl">' + Z(first) + "</span>" : "<span>" + Z(first) + "</span>") + (i != length - 1 ? ", " : index != count - 1 ? "; " : "")); | |
| } | |
| } | |
| val = val + la; | |
| } | |
| return val + la; | |
| }; | |
| /** | |
| * @param {!Object} pSample | |
| * @return {?} | |
| */ | |
| var Lp = function(pSample) { | |
| return '<div><div class="speech-mic"><div class="gt-speech-l1"></div><div class="gt-speech-l2"></div><div class="gt-speech-l3"></div><div class="gt-speech-l4"></div></div><div class="speech-mic-label">' + Z(pSample.label) + "</div></div>"; | |
| }; | |
| var Mp = x('<div class="gt-ee-container"></div>'); | |
| /** | |
| * @param {?} n | |
| * @return {?} | |
| */ | |
| var Np = function(n) { | |
| return '<a href="' + Z(n.yf) + '"></a>'; | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @return {?} | |
| */ | |
| var Op = function(c) { | |
| return '<div class="share-panel goog-menu-nocheckbox"><h3>' + Z(c.sj) + '</h3><ul><li><a href="mailto:?body=' + Z(c.ph) + '" target="_top" class="email"><span class="share-link-icon"></span><span> ' + Z(c.rj) + ' </span></a></li><li><a href="https://twitter.com/intent/tweet?text=' + Z(c.ph) + '" target="_blank" class="twitter"><span class="share-link-icon"></span><span> Twitter </span></a></li><li><a href="https://plus.google.com/share?url=' + Z(c.url) + '" target="_blank" class="gplus"><span class="share-link-icon"></span><span> Google+ </span></a></li></ul></div>'; | |
| }; | |
| /** | |
| * @param {!Object} result | |
| * @return {?} | |
| */ | |
| var Pp = function(result) { | |
| var records; | |
| result = result || {}; | |
| var toString = mp; | |
| /** @type {string} */ | |
| var d = '<div role="button"' + (result.id ? ' id="' + tp(result.id) + '"' : "") + ' class="'; | |
| var current; | |
| var _ref; | |
| current = result || {}; | |
| /** @type {string} */ | |
| var g0 = "goog-inline-block jfk-button "; | |
| switch(Ie(_ref = current.style) ? _ref.toString() : _ref) { | |
| case 0: | |
| g0 = g0 + Ec; | |
| break; | |
| case 2: | |
| g0 = g0 + Ac; | |
| break; | |
| case 3: | |
| /** @type {string} */ | |
| g0 = g0 + "jfk-button-primary"; | |
| break; | |
| case 1: | |
| /** @type {string} */ | |
| g0 = g0 + "jfk-button-default"; | |
| break; | |
| case 4: | |
| /** @type {string} */ | |
| g0 = g0 + "jfk-button-flat"; | |
| break; | |
| case 5: | |
| /** @type {string} */ | |
| g0 = g0 + "jfk-button-mini"; | |
| break; | |
| case 6: | |
| /** @type {string} */ | |
| g0 = g0 + "jfk-button-contrast"; | |
| break; | |
| default: | |
| g0 = g0 + Ec; | |
| } | |
| /** @type {string} */ | |
| g0 = g0 + ((1 == current.width ? " jfk-button-narrow" : "") + (current.checked ? " jfk-button-checked" : "") + (current.Ue ? " " + current.Ue : "") + (current.disabled ? " jfk-button-disabled" : "")); | |
| return toString(d + tp(new np(g0, void 0)) + '"' + (result.disabled ? ' aria-disabled="true"' : ' tabindex="' + (result.Of ? tp(result.Of) : "0") + '"') + (result.title ? " " + (result.Oj ? fb : Xd) + '="' + tp(result.title) + '"' : "") + (result.value ? ' value="' + tp(result.value) + '"' : "") + (result.attributes ? " " + xp(result.attributes) : "") + ">" + Z(null == (records = result.content) ? "" : records) + la); | |
| }; | |
| /** | |
| * @param {?} event | |
| * @param {?} a | |
| * @param {string} b | |
| * @param {string} variableNames | |
| * @return {undefined} | |
| */ | |
| var Rp = function(event, a, b, variableNames) { | |
| eo.call(this, event, Qp.M(), a); | |
| this.b = b || 0; | |
| this.A = variableNames || 0; | |
| /** @type {boolean} */ | |
| this.pb = false; | |
| }; | |
| C(Rp, eo); | |
| /** | |
| * @param {!Object} a | |
| * @param {number} b | |
| * @return {undefined} | |
| */ | |
| var Tp = function(a, b) { | |
| if (a.b != b) { | |
| /** @type {number} */ | |
| a.b = b; | |
| Sp(a); | |
| } | |
| }; | |
| /** | |
| * @param {boolean} fn | |
| * @return {undefined} | |
| */ | |
| Rp.prototype.ba = function(fn) { | |
| if (this.isEnabled() != fn) { | |
| Rp.v.ba.call(this, fn); | |
| Sp(this); | |
| } | |
| }; | |
| /** | |
| * @param {boolean} c | |
| * @return {undefined} | |
| */ | |
| Rp.prototype.hc = function(c) { | |
| Rp.v.hc.call(this, c); | |
| Up(this, false); | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @return {undefined} | |
| */ | |
| Rp.prototype.Za = function(name) { | |
| Rp.v.Za.call(this, name); | |
| if (this.isEnabled()) { | |
| Up(this, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @return {undefined} | |
| */ | |
| Rp.prototype.ib = function(node) { | |
| Rp.v.ib.call(this, node); | |
| if (this.isEnabled()) { | |
| Up(this, true); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @param {boolean} handle | |
| * @return {undefined} | |
| */ | |
| var Up = function(item, handle) { | |
| if (item.l()) { | |
| Eh(item.l(), "jfk-button-clear-outline", handle); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} name | |
| * @return {undefined} | |
| */ | |
| var Sp = function(name) { | |
| if (name.l()) { | |
| Vp(name.c, name); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Qp = function() { | |
| this.G = this.S() + "-standard"; | |
| this.g = this.S() + "-action"; | |
| this.F = this.S() + "-primary"; | |
| this.o = this.S() + "-default"; | |
| this.B = this.S() + "-flat"; | |
| this.w = this.S() + "-narrow"; | |
| this.C = this.S() + "-mini"; | |
| this.m = this.S() + "-contrast"; | |
| }; | |
| C(Qp, wn); | |
| Be(Qp); | |
| y = Qp.prototype; | |
| /** | |
| * @param {undefined} lines | |
| * @param {boolean} value | |
| * @param {!Object} input | |
| * @return {undefined} | |
| */ | |
| y.jc = function(lines, value, input) { | |
| if (lines) { | |
| Tp(input, lines); | |
| } | |
| if (value && input.A != value) { | |
| /** @type {boolean} */ | |
| input.A = value; | |
| Sp(input); | |
| } | |
| }; | |
| y.S = x("jfk-button"); | |
| /** | |
| * @param {!Object} self | |
| * @return {?} | |
| */ | |
| y.Pa = function(self) { | |
| var m = self.a; | |
| var c = jp(Pp, { | |
| disabled : !self.isEnabled(), | |
| checked : self.Ea(), | |
| style : self.b, | |
| title : self.w, | |
| Oj : self.pb, | |
| value : self.T(), | |
| width : self.A | |
| }, void 0, m); | |
| m.rg(c, self.Aa()); | |
| this.R(self, c); | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} state | |
| * @param {!Object} val | |
| * @return {?} | |
| */ | |
| y.R = function(state, val) { | |
| Qp.v.R.call(this, state, val); | |
| if (!this.j) { | |
| this.j = Xf(this.G, Oe(this.jc, 0, null), this.g, Oe(this.jc, 2, null), this.F, Oe(this.jc, 3, null), this.o, Oe(this.jc, 1, null), this.B, Oe(this.jc, 4, null), this.C, Oe(this.jc, 5, null), this.m, Oe(this.jc, 6, null), this.w, Oe(this.jc, null, 1)); | |
| } | |
| var s = Ah(val); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < s.length; ++i) { | |
| var set = this.j[s[i]]; | |
| if (set) { | |
| set(state); | |
| } | |
| } | |
| if (s = val.getAttribute(fb)) { | |
| state.w = s; | |
| /** @type {boolean} */ | |
| state.pb = true; | |
| } | |
| return val; | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @return {?} | |
| */ | |
| y.T = function(key) { | |
| return key.getAttribute("value") || ""; | |
| }; | |
| /** | |
| * @param {!Object} key | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| y.Ud = function(key, name) { | |
| if (key) { | |
| key.setAttribute("value", name); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} exports | |
| * @param {!Object} module | |
| * @return {undefined} | |
| */ | |
| var Vp = function(exports, module) { | |
| /** | |
| * @param {boolean} a | |
| * @param {string} fn | |
| * @return {undefined} | |
| */ | |
| function map(a, fn) { | |
| (a ? f : i).push(fn); | |
| } | |
| /** @type {!Array} */ | |
| var f = []; | |
| /** @type {!Array} */ | |
| var i = []; | |
| var cb = module.b; | |
| map(0 == cb, exports.G); | |
| map(2 == cb, exports.g); | |
| map(3 == cb, exports.F); | |
| map(4 == cb, exports.B); | |
| map(5 == cb, exports.C); | |
| map(1 == cb, exports.o); | |
| map(6 == cb, exports.m); | |
| map(1 == module.A, exports.w); | |
| map(!module.isEnabled(), exports.S() + da); | |
| Dh(module.l(), i); | |
| Ch(module.l(), f); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Wp = function() { | |
| /** @type {!Array} */ | |
| this.g = []; | |
| this.b = {}; | |
| this.a = {}; | |
| /** @type {boolean} */ | |
| this.m = false; | |
| /** @type {number} */ | |
| this.Ef = 1; | |
| this.$c = {}; | |
| /** @type {string} */ | |
| this.j = ""; | |
| U(window, Ua, this.C, false, this); | |
| }; | |
| Be(Wp); | |
| /** | |
| * @param {string} a | |
| * @param {string} val | |
| * @param {string} list | |
| * @return {?} | |
| */ | |
| var Xp = function(a, val, list) { | |
| if (null == val) { | |
| return "1"; | |
| } | |
| switch(Ce(val)) { | |
| case Rd: | |
| return a = val, !(64 < a.length) || null != list && list || (a = a.substr(0, 64)), Xe(a); | |
| case bd: | |
| return "" + val; | |
| case "boolean": | |
| return val ? "1" : "0"; | |
| case Oa: | |
| /** @type {!Array} */ | |
| var results = []; | |
| var i; | |
| for (i in val) { | |
| results.push(Xp(a, val[i], list)); | |
| } | |
| return results.join(","); | |
| case cd: | |
| /** @type {!Array} */ | |
| results = []; | |
| for (i in val) { | |
| results.push(Yp(a, i, val[i], list)); | |
| } | |
| return results.join(","); | |
| default: | |
| return ""; | |
| } | |
| }; | |
| /** | |
| * @param {string} b | |
| * @param {string} a | |
| * @param {string} func | |
| * @param {string} element | |
| * @return {?} | |
| */ | |
| var Yp = function(b, a, func, element) { | |
| return [Xe(a), Xp(b, func, element || "smtalt" == a)].join("="); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} value | |
| * @return {undefined} | |
| */ | |
| Wp.prototype.log = function(name, value) { | |
| this.g.push([name, value]); | |
| if (!this.m) { | |
| /** @type {boolean} */ | |
| this.m = true; | |
| cl(this.o, 0, this); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @param {string} type | |
| * @param {string} name | |
| * @param {string} arr | |
| * @return {undefined} | |
| */ | |
| var aq = function(a, b, type, name, arr) { | |
| /** @type {string} */ | |
| b = a.j + ga + Yp(a, type, name) + "&" + Yp(a, ab, b, true); | |
| if (arr) { | |
| /** @type {string} */ | |
| b = b + Zp(a, arr); | |
| } | |
| $p(a, b); | |
| }; | |
| /** | |
| * @param {!Object} hex | |
| * @param {?} a | |
| * @return {?} | |
| */ | |
| var Zp = function(hex, a) { | |
| /** @type {string} */ | |
| var pix_color = ""; | |
| if (xe(a)) { | |
| Nf(a, function(a, cX1) { | |
| if (a instanceof Array) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < a.length; i++) { | |
| /** @type {string} */ | |
| pix_color = pix_color + ("&" + Yp(this, cX1, a[i])); | |
| } | |
| } else { | |
| pix_color = pix_color + ("&" + Yp(this, cX1, a)); | |
| } | |
| }, hex); | |
| } | |
| return pix_color; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Wp.prototype.o = function() { | |
| /** @type {number} */ | |
| var key = 0; | |
| for (; key < this.g.length; key++) { | |
| var keySave = this.g[key]; | |
| $p(this, this.j + ga + Yp(this, keySave[0], keySave[1])); | |
| } | |
| /** @type {!Array} */ | |
| this.g = []; | |
| /** @type {boolean} */ | |
| this.m = false; | |
| }; | |
| /** | |
| * @param {!Object} component | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| var $p = function(component, key) { | |
| /** @type {!Image} */ | |
| var i = new Image; | |
| /** @type {number} */ | |
| var j = component.Ef++; | |
| /** @type {!Image} */ | |
| component.$c[j] = i; | |
| /** @type {function(): undefined} */ | |
| i.onload = i.onerror = function() { | |
| delete Wp.M().$c[j]; | |
| }; | |
| /** @type {string} */ | |
| i.src = key; | |
| /** @type {null} */ | |
| i = null; | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {string} x | |
| * @param {?} context | |
| * @param {string} path | |
| * @return {undefined} | |
| */ | |
| var cq = function(options, x, context, path) { | |
| /** @type {null} */ | |
| var t = null; | |
| if (x in options.b) { | |
| t = options.b[x]; | |
| } | |
| options.b[x] = bq(t, context, path); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Function} x | |
| * @param {string} data | |
| * @return {undefined} | |
| */ | |
| Wp.prototype.c = function(name, type, x, data) { | |
| dq(this, name, x, data); | |
| dl(this.a[name][0]); | |
| type = cl(A(this.B, this, name), type); | |
| /** @type {string} */ | |
| this.a[name][0] = type; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Wp.prototype.B = function(name) { | |
| $p(this, this.j + ga + Yp(this, name, this.a[name][1])); | |
| eq(this, name); | |
| }; | |
| /** | |
| * @param {(number|string)} cls | |
| * @param {string} name | |
| * @param {!Function} n | |
| * @param {string} context | |
| * @return {undefined} | |
| */ | |
| var dq = function(cls, name, n, context) { | |
| /** @type {number} */ | |
| var attr = 0; | |
| /** @type {null} */ | |
| var value = null; | |
| if (name in cls.a) { | |
| value = cls.a[name]; | |
| attr = value[0]; | |
| value = value[1]; | |
| } | |
| value = bq(value, n, context); | |
| /** @type {!Array} */ | |
| cls.a[name] = [attr, value]; | |
| }; | |
| /** | |
| * @param {number} b | |
| * @param {number} i | |
| * @param {string} value | |
| * @return {?} | |
| */ | |
| var fq = function(b, i, value) { | |
| if (!(null != i)) { | |
| /** @type {number} */ | |
| i = 1; | |
| } | |
| if (value == Ha) { | |
| if (isNaN(b)) { | |
| /** @type {number} */ | |
| b = parseInt(b, 10); | |
| } | |
| if (isNaN(i)) { | |
| /** @type {number} */ | |
| i = parseInt(i, 10); | |
| } | |
| b = b + i; | |
| } else { | |
| /** @type {number} */ | |
| b = i; | |
| } | |
| return b; | |
| }; | |
| /** | |
| * @param {!Array} args | |
| * @param {!Array} i | |
| * @param {string} options | |
| * @return {?} | |
| */ | |
| var bq = function(args, i, options) { | |
| if (Ce(i) == cd) { | |
| if (Ce(args) != cd) { | |
| args = {}; | |
| } | |
| var k; | |
| for (k in i) { | |
| args[k] = fq(k in args ? args[k] : null, i[k], options); | |
| } | |
| } else { | |
| args = fq(args, i, options); | |
| } | |
| return args; | |
| }; | |
| /** | |
| * @param {(number|string)} elem | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| var eq = function(elem, name) { | |
| if (name in elem.a) { | |
| dl(elem.a[name][0]); | |
| delete elem.a[name]; | |
| } | |
| }; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var gq = function(a) { | |
| /** @type {!Array} */ | |
| var ret = []; | |
| var f; | |
| for (f in a.b) { | |
| ret.push(Yp(a, f, a.b[f])); | |
| } | |
| a.b = {}; | |
| return ret.join("&"); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Wp.prototype.C = function() { | |
| this.o(); | |
| var b; | |
| for (b in this.a) { | |
| if (0 != this.a[b]) { | |
| this.B(b); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} a$jscomp$655 | |
| * @return {?} | |
| */ | |
| var hq = function(a$jscomp$655) { | |
| /** @type {string} */ | |
| a$jscomp$655 = String(a$jscomp$655); | |
| if (/^\s*$/.test(a$jscomp$655) ? 0 : /^[\],:{}\s\u2028\u2029]*$/.test(a$jscomp$655.replace(/\\["\\\/bfnrtu]/g, "@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""))) { | |
| try { | |
| return eval("(" + a$jscomp$655 + ")"); | |
| } catch (b) { | |
| } | |
| } | |
| throw Error("Invalid JSON string: " + a$jscomp$655); | |
| }; | |
| /** | |
| * @param {string} a$jscomp$656 | |
| * @return {?} | |
| */ | |
| var iq = function(a$jscomp$656) { | |
| return eval("(" + a$jscomp$656 + ")"); | |
| }; | |
| /** | |
| * @param {boolean} target | |
| * @return {?} | |
| */ | |
| var lq = function(target) { | |
| /** @type {!Array} */ | |
| var row2 = []; | |
| jq(new kq, target, row2); | |
| return row2.join(""); | |
| }; | |
| var kq = ue(); | |
| /** | |
| * @param {?} el | |
| * @param {string} value | |
| * @param {!Array} out | |
| * @return {undefined} | |
| */ | |
| var jq = function(el, value, out) { | |
| if (null == value) { | |
| out.push("null"); | |
| } else { | |
| if (typeof value == cd) { | |
| if (De(value)) { | |
| /** @type {string} */ | |
| var name = value; | |
| value = name.length; | |
| out.push("["); | |
| /** @type {string} */ | |
| var e = ""; | |
| /** @type {number} */ | |
| var item = 0; | |
| for (; item < value; item++) { | |
| out.push(e); | |
| jq(el, name[item], out); | |
| /** @type {string} */ | |
| e = ","; | |
| } | |
| out.push("]"); | |
| return; | |
| } | |
| if (value instanceof String || value instanceof Number || value instanceof Boolean) { | |
| /** @type {*} */ | |
| value = value.valueOf(); | |
| } else { | |
| out.push("{"); | |
| /** @type {string} */ | |
| e = ""; | |
| for (name in value) { | |
| if (Object.prototype.hasOwnProperty.call(value, name)) { | |
| item = value[name]; | |
| if (typeof item != Bb) { | |
| out.push(e); | |
| mq(name, out); | |
| out.push(":"); | |
| jq(el, item, out); | |
| /** @type {string} */ | |
| e = ","; | |
| } | |
| } | |
| } | |
| out.push("}"); | |
| return; | |
| } | |
| } | |
| switch(typeof value) { | |
| case Rd: | |
| mq(value, out); | |
| break; | |
| case bd: | |
| out.push(isFinite(value) && !isNaN(value) ? String(value) : "null"); | |
| break; | |
| case "boolean": | |
| out.push(String(value)); | |
| break; | |
| case Bb: | |
| out.push("null"); | |
| break; | |
| default: | |
| throw Error("Unknown type: " + typeof value); | |
| } | |
| } | |
| }; | |
| var nq = { | |
| '"' : '\\"', | |
| "\\" : "\\\\", | |
| "/" : "\\/", | |
| "\b" : "\\b", | |
| "\f" : "\\f", | |
| "\n" : "\\n", | |
| "\r" : "\\r", | |
| "\t" : "\\t", | |
| "\x0B" : "\\u000b" | |
| }; | |
| /** @type {!RegExp} */ | |
| var oq = /\uffff/.test("\uffff") ? /[\\"\x00-\x1f\x7f-\uffff]/g : /[\\"\x00-\x1f\x7f-\xff]/g; | |
| /** | |
| * @param {string} query | |
| * @param {!Array} source | |
| * @return {undefined} | |
| */ | |
| var mq = function(query, source) { | |
| source.push('"', query.replace(oq, function(c) { | |
| var fbo = nq[c]; | |
| if (!fbo) { | |
| /** @type {string} */ | |
| fbo = "\\u" + (c.charCodeAt(0) | 65536).toString(16).substr(1); | |
| /** @type {string} */ | |
| nq[c] = fbo; | |
| } | |
| return fbo; | |
| }), '"'); | |
| }; | |
| /** @type {!RegExp} */ | |
| var pq = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/; | |
| /** | |
| * @param {string} url | |
| * @param {!Function} callback | |
| * @return {undefined} | |
| */ | |
| var qq = function(url, callback) { | |
| if (url) { | |
| var items = url.split("&"); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < items.length; i++) { | |
| var m = items[i].indexOf("="); | |
| var out; | |
| /** @type {null} */ | |
| var err = null; | |
| if (0 <= m) { | |
| out = items[i].substring(0, m); | |
| err = items[i].substring(m + 1); | |
| } else { | |
| out = items[i]; | |
| } | |
| callback(out, err ? Ye(err) : ""); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} opts | |
| * @param {string} data | |
| * @param {!Array} el | |
| * @return {undefined} | |
| */ | |
| var rq = function(opts, data, el) { | |
| if (De(data)) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < data.length; i++) { | |
| rq(opts, String(data[i]), el); | |
| } | |
| } else { | |
| if (null != data) { | |
| el.push("&", opts, "" === data ? "" : "=", Xe(data)); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Array} a | |
| * @return {?} | |
| */ | |
| var sq = function(a) { | |
| /** @type {!Array} */ | |
| var b = []; | |
| var c; | |
| for (c in a) { | |
| rq(c, a[c], b); | |
| } | |
| /** @type {string} */ | |
| b[0] = ""; | |
| return b.join(""); | |
| }; | |
| /** | |
| * @param {!Object} event | |
| * @param {string} url | |
| * @return {?} | |
| */ | |
| var tq = function(event, url) { | |
| if (Se(event, "/")) { | |
| event = event.substr(0, event.length - 1); | |
| } | |
| if (0 == url.lastIndexOf("/", 0)) { | |
| url = url.substr(1); | |
| } | |
| return qf(event, "/", url); | |
| }; | |
| var uq = ue(); | |
| /** @type {null} */ | |
| uq.prototype.a = null; | |
| /** | |
| * @param {!Object} data | |
| * @return {?} | |
| */ | |
| var wq = function(data) { | |
| var a; | |
| if (!(a = data.a)) { | |
| a = {}; | |
| if (vq(data)) { | |
| /** @type {boolean} */ | |
| a[0] = true; | |
| /** @type {boolean} */ | |
| a[1] = true; | |
| } | |
| a = data.a = a; | |
| } | |
| return a; | |
| }; | |
| var xq; | |
| var yq = ue(); | |
| C(yq, uq); | |
| /** | |
| * @param {!Object} name | |
| * @return {?} | |
| */ | |
| var zq = function(name) { | |
| return (name = vq(name)) ? new ActiveXObject(name) : new XMLHttpRequest; | |
| }; | |
| /** | |
| * @param {!Object} property | |
| * @return {?} | |
| */ | |
| var vq = function(property) { | |
| if (!property.b && "undefined" == typeof XMLHttpRequest && "undefined" != typeof ActiveXObject) { | |
| /** @type {!Array} */ | |
| var returnedData = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < returnedData.length; i++) { | |
| var p = returnedData[i]; | |
| try { | |
| return new ActiveXObject(p), property.b = p; | |
| } catch (e) { | |
| } | |
| } | |
| throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed"); | |
| } | |
| return property.b; | |
| }; | |
| xq = new yq; | |
| /** | |
| * @param {string} width | |
| * @return {undefined} | |
| */ | |
| var Aq = function(width) { | |
| V.call(this); | |
| this.L = new Wg; | |
| this.w = width || null; | |
| /** @type {boolean} */ | |
| this.b = false; | |
| /** @type {null} */ | |
| this.C = this.a = null; | |
| /** @type {string} */ | |
| this.o = this.N = this.g = ""; | |
| /** @type {boolean} */ | |
| this.c = this.G = this.m = this.F = false; | |
| /** @type {number} */ | |
| this.j = 0; | |
| /** @type {null} */ | |
| this.B = null; | |
| /** @type {string} */ | |
| this.O = ""; | |
| /** @type {boolean} */ | |
| this.A = this.H = false; | |
| }; | |
| C(Aq, V); | |
| /** @type {!RegExp} */ | |
| var Bq = /^https?$/i; | |
| /** @type {!Array} */ | |
| var Cq = [wa, "PUT"]; | |
| /** @type {!Array} */ | |
| var Dq = []; | |
| /** | |
| * @param {string} n | |
| * @param {!Function} d | |
| * @param {string} key | |
| * @param {!Function} val | |
| * @param {!Object} expr | |
| * @param {number} ms | |
| * @return {undefined} | |
| */ | |
| var Fq = function(n, d, key, val, expr, ms) { | |
| var $ = new Aq; | |
| Dq.push($); | |
| if (d) { | |
| Sj($.eb, db, d, false, void 0, void 0); | |
| } | |
| Sj($.eb, "ready", $.I, true, void 0, void 0); | |
| if (ms) { | |
| /** @type {number} */ | |
| $.j = Math.max(0, ms); | |
| } | |
| Eq($, n, key, val, expr); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aq.prototype.I = function() { | |
| this.za(); | |
| Hf(Dq, this); | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {!Object} data | |
| * @param {string} type | |
| * @param {string} left | |
| * @param {!Object} right | |
| * @return {undefined} | |
| */ | |
| var Eq = function(options, data, type, left, right) { | |
| if (options.a) { | |
| throw Error("[goog.net.XhrIo] Object is active with another request=" + options.g + "; newUri=" + data); | |
| } | |
| type = type ? type.toUpperCase() : "GET"; | |
| /** @type {!Object} */ | |
| options.g = data; | |
| /** @type {string} */ | |
| options.o = ""; | |
| /** @type {string} */ | |
| options.N = type; | |
| /** @type {boolean} */ | |
| options.F = false; | |
| /** @type {boolean} */ | |
| options.b = true; | |
| options.a = options.w ? zq(options.w) : zq(xq); | |
| options.C = options.w ? wq(options.w) : wq(xq); | |
| options.a.onreadystatechange = A(options.K, options); | |
| try { | |
| /** @type {boolean} */ | |
| options.G = true; | |
| options.a.open(type, String(data), true); | |
| /** @type {boolean} */ | |
| options.G = false; | |
| } catch (QueryLanguageComponent) { | |
| Gq(options, QueryLanguageComponent); | |
| return; | |
| } | |
| data = left || ""; | |
| var x = options.L.clone(); | |
| if (right) { | |
| bh(right, function(a, b) { | |
| x.set(b, a); | |
| }); | |
| } | |
| right = Df(x.tb(), Hq); | |
| left = z.FormData && data instanceof z.FormData; | |
| if (!(!Ef(Cq, type) || right || left)) { | |
| x.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); | |
| } | |
| x.forEach(function(b, n) { | |
| this.a.setRequestHeader(n, b); | |
| }, options); | |
| if (options.O) { | |
| options.a.responseType = options.O; | |
| } | |
| if ("withCredentials" in options.a && options.a.withCredentials !== options.H) { | |
| options.a.withCredentials = options.H; | |
| } | |
| try { | |
| Iq(options); | |
| if (0 < options.j) { | |
| options.A = Jq(options.a); | |
| if (options.A) { | |
| options.a.timeout = options.j; | |
| options.a.ontimeout = A(options.ic, options); | |
| } else { | |
| options.B = cl(options.ic, options.j, options); | |
| } | |
| } | |
| /** @type {boolean} */ | |
| options.m = true; | |
| options.a.send(data); | |
| /** @type {boolean} */ | |
| options.m = false; | |
| } catch (QueryLanguageComponent) { | |
| Gq(options, QueryLanguageComponent); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} sweep | |
| * @return {?} | |
| */ | |
| var Jq = function(sweep) { | |
| return E && I(9) && Ge(sweep.timeout) && xe(sweep.ontimeout); | |
| }; | |
| /** | |
| * @param {string} p_Interval | |
| * @return {?} | |
| */ | |
| var Hq = function(p_Interval) { | |
| return "content-type" == p_Interval.toLowerCase(); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aq.prototype.ic = function() { | |
| if ("undefined" != typeof we && this.a) { | |
| /** @type {string} */ | |
| this.o = "Timed out after " + this.j + "ms, aborting"; | |
| this.dispatchEvent("timeout"); | |
| if (this.a && this.b) { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| /** @type {boolean} */ | |
| this.c = true; | |
| this.a.abort(); | |
| /** @type {boolean} */ | |
| this.c = false; | |
| this.dispatchEvent(db); | |
| this.dispatchEvent("abort"); | |
| Kq(this); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {(Object|string)} b | |
| * @return {undefined} | |
| */ | |
| var Gq = function(a, b) { | |
| /** @type {boolean} */ | |
| a.b = false; | |
| if (a.a) { | |
| /** @type {boolean} */ | |
| a.c = true; | |
| a.a.abort(); | |
| /** @type {boolean} */ | |
| a.c = false; | |
| } | |
| /** @type {(Object|string)} */ | |
| a.o = b; | |
| Lq(a); | |
| Kq(a); | |
| }; | |
| /** | |
| * @param {!Object} exports | |
| * @return {undefined} | |
| */ | |
| var Lq = function(exports) { | |
| if (!exports.F) { | |
| /** @type {boolean} */ | |
| exports.F = true; | |
| exports.dispatchEvent(db); | |
| exports.dispatchEvent("error"); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aq.prototype.J = function() { | |
| if (this.a) { | |
| if (this.b) { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| /** @type {boolean} */ | |
| this.c = true; | |
| this.a.abort(); | |
| /** @type {boolean} */ | |
| this.c = false; | |
| } | |
| Kq(this, true); | |
| } | |
| Aq.v.J.call(this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aq.prototype.K = function() { | |
| if (!this.Ca) { | |
| if (this.G || this.m || this.c) { | |
| Mq(this); | |
| } else { | |
| this.P(); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Aq.prototype.P = function() { | |
| Mq(this); | |
| }; | |
| /** | |
| * @param {!Object} self | |
| * @return {undefined} | |
| */ | |
| var Mq = function(self) { | |
| if (self.b && "undefined" != typeof we && (!self.C[1] || 4 != Nq(self) || 2 != Oq(self))) { | |
| if (self.m && 4 == Nq(self)) { | |
| cl(self.K, 0, self); | |
| } else { | |
| if (self.dispatchEvent("readystatechange"), 4 == Nq(self)) { | |
| /** @type {boolean} */ | |
| self.b = false; | |
| try { | |
| if (Pq(self)) { | |
| self.dispatchEvent(db); | |
| self.dispatchEvent("success"); | |
| } else { | |
| var subTemplate; | |
| try { | |
| subTemplate = 2 < Nq(self) ? self.a.statusText : ""; | |
| } catch (c) { | |
| /** @type {string} */ | |
| subTemplate = ""; | |
| } | |
| /** @type {string} */ | |
| self.o = subTemplate + " [" + Oq(self) + "]"; | |
| Lq(self); | |
| } | |
| } finally { | |
| Kq(self); | |
| } | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @param {boolean} isTangent | |
| * @return {undefined} | |
| */ | |
| var Kq = function(c, isTangent) { | |
| if (c.a) { | |
| Iq(c); | |
| var t = c.a; | |
| var result = c.C[0] ? Ae : null; | |
| /** @type {null} */ | |
| c.a = null; | |
| /** @type {null} */ | |
| c.C = null; | |
| if (!isTangent) { | |
| c.dispatchEvent("ready"); | |
| } | |
| try { | |
| t.onreadystatechange = result; | |
| } catch (e) { | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} o | |
| * @return {undefined} | |
| */ | |
| var Iq = function(o) { | |
| if (o.a && o.A) { | |
| /** @type {null} */ | |
| o.a.ontimeout = null; | |
| } | |
| if (Ge(o.B)) { | |
| dl(o.B); | |
| /** @type {null} */ | |
| o.B = null; | |
| } | |
| }; | |
| /** | |
| * @param {string} p | |
| * @return {?} | |
| */ | |
| var Pq = function(p) { | |
| var v = Oq(p); | |
| var validationVM; | |
| a: { | |
| switch(v) { | |
| case 200: | |
| case 201: | |
| case 202: | |
| case 204: | |
| case 206: | |
| case 304: | |
| case 1223: | |
| /** @type {boolean} */ | |
| validationVM = true; | |
| break a; | |
| default: | |
| /** @type {boolean} */ | |
| validationVM = false; | |
| } | |
| } | |
| if (!validationVM) { | |
| if (v = 0 === v) { | |
| /** @type {(null|string)} */ | |
| p = String(p.g).match(pq)[1] || null; | |
| if (!p && z.self && z.self.location) { | |
| p = z.self.location.protocol; | |
| p = p.substr(0, p.length - 1); | |
| } | |
| /** @type {boolean} */ | |
| v = !Bq.test(p ? p.toLowerCase() : ""); | |
| } | |
| /** @type {boolean} */ | |
| validationVM = v; | |
| } | |
| return validationVM; | |
| }; | |
| /** | |
| * @param {!Object} link | |
| * @return {?} | |
| */ | |
| var Nq = function(link) { | |
| return link.a ? link.a.readyState : 0; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var Oq = function(a) { | |
| try { | |
| return 2 < Nq(a) ? a.a.status : -1; | |
| } catch (b) { | |
| return -1; | |
| } | |
| }; | |
| /** | |
| * @param {string} response | |
| * @return {?} | |
| */ | |
| var Qq = function(response) { | |
| try { | |
| return response.a ? response.a.responseText : ""; | |
| } catch (b) { | |
| return ""; | |
| } | |
| }; | |
| /** | |
| * @param {!Object} handler | |
| * @return {?} | |
| */ | |
| var Rq = function(handler) { | |
| if (handler.a) { | |
| return hq(handler.a.responseText); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {undefined} c | |
| * @return {undefined} | |
| */ | |
| var Sq = function(a, c) { | |
| /** @type {string} */ | |
| this.c = this.B = this.b = ""; | |
| /** @type {null} */ | |
| this.o = null; | |
| /** @type {string} */ | |
| this.m = this.j = ""; | |
| /** @type {boolean} */ | |
| this.g = false; | |
| var BROWSER_ENGINES; | |
| if (a instanceof Sq) { | |
| this.g = xe(c) ? c : a.g; | |
| Tq(this, a.b); | |
| this.B = a.B; | |
| this.c = a.c; | |
| Uq(this, a.o); | |
| this.j = a.j; | |
| Vq(this, a.a.clone()); | |
| this.m = a.m; | |
| } else { | |
| if (a && (BROWSER_ENGINES = String(a).match(pq))) { | |
| /** @type {boolean} */ | |
| this.g = !!c; | |
| Tq(this, BROWSER_ENGINES[1] || "", true); | |
| this.B = Wq(BROWSER_ENGINES[2] || ""); | |
| this.c = Wq(BROWSER_ENGINES[3] || "", true); | |
| Uq(this, BROWSER_ENGINES[4]); | |
| this.j = Wq(BROWSER_ENGINES[5] || "", true); | |
| Vq(this, BROWSER_ENGINES[6] || "", true); | |
| this.m = Wq(BROWSER_ENGINES[7] || ""); | |
| } else { | |
| /** @type {boolean} */ | |
| this.g = !!c; | |
| this.a = new Xq(null, 0, this.g); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Sq.prototype.toString = function() { | |
| /** @type {!Array} */ | |
| var t = []; | |
| var pattern = this.b; | |
| if (pattern) { | |
| t.push(Yq(pattern, Zq, true), ":"); | |
| } | |
| var d = this.c; | |
| if (d || "file" == pattern) { | |
| t.push("//"); | |
| if (pattern = this.B) { | |
| t.push(Yq(pattern, Zq, true), "@"); | |
| } | |
| t.push(Xe(d).replace(/%25([0-9a-fA-F]{2})/g, "%$1")); | |
| d = this.o; | |
| if (null != d) { | |
| t.push(":", String(d)); | |
| } | |
| } | |
| if (d = this.j) { | |
| if (this.c && "/" != d.charAt(0)) { | |
| t.push("/"); | |
| } | |
| t.push(Yq(d, "/" == d.charAt(0) ? $q : ar, true)); | |
| } | |
| if (d = this.a.toString()) { | |
| t.push("?", d); | |
| } | |
| if (d = this.m) { | |
| t.push("#", Yq(d, br)); | |
| } | |
| return t.join(""); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Sq.prototype.clone = function() { | |
| return new Sq(this); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @param {boolean} asc | |
| * @return {undefined} | |
| */ | |
| var Tq = function(a, b, asc) { | |
| a.b = asc ? Wq(b, true) : b; | |
| if (a.b) { | |
| a.b = a.b.replace(/:$/, ""); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} message | |
| * @param {number} e | |
| * @return {undefined} | |
| */ | |
| var Uq = function(message, e) { | |
| if (e) { | |
| /** @type {number} */ | |
| e = Number(e); | |
| if (isNaN(e) || 0 > e) { | |
| throw Error("Bad port number " + e); | |
| } | |
| /** @type {number} */ | |
| message.o = e; | |
| } else { | |
| /** @type {null} */ | |
| message.o = null; | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} b | |
| * @param {boolean} undefOnly | |
| * @return {undefined} | |
| */ | |
| var Vq = function(a, b, undefOnly) { | |
| if (b instanceof Xq) { | |
| /** @type {string} */ | |
| a.a = b; | |
| cr(a.a, a.g); | |
| } else { | |
| if (!undefOnly) { | |
| b = Yq(b, dr); | |
| } | |
| a.a = new Xq(b, 0, a.g); | |
| } | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} b | |
| * @return {?} | |
| */ | |
| var Wq = function(a, b) { | |
| return a ? b ? decodeURI(a.replace(/%25/g, "%2525")) : decodeURIComponent(a) : ""; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {!RegExp} obj | |
| * @param {boolean} item | |
| * @return {?} | |
| */ | |
| var Yq = function(a, obj, item) { | |
| return Fe(a) ? (a = encodeURI(a).replace(obj, er), item && (a = a.replace(/%25([0-9a-fA-F]{2})/g, "%$1")), a) : null; | |
| }; | |
| /** | |
| * @param {(number|string)} item | |
| * @return {?} | |
| */ | |
| var er = function(item) { | |
| item = item.charCodeAt(0); | |
| return "%" + (item >> 4 & 15).toString(16) + (item & 15).toString(16); | |
| }; | |
| /** @type {!RegExp} */ | |
| var Zq = /[#\/\?@]/g; | |
| /** @type {!RegExp} */ | |
| var ar = /[#\?:]/g; | |
| /** @type {!RegExp} */ | |
| var $q = /[#\?]/g; | |
| /** @type {!RegExp} */ | |
| var dr = /[#\?@]/g; | |
| /** @type {!RegExp} */ | |
| var br = /#/g; | |
| /** | |
| * @param {string} c | |
| * @param {?} name | |
| * @param {?} prefixAgnostic | |
| * @return {undefined} | |
| */ | |
| var Xq = function(c, name, prefixAgnostic) { | |
| /** @type {null} */ | |
| this.b = this.a = null; | |
| this.c = c || null; | |
| /** @type {boolean} */ | |
| this.j = !!prefixAgnostic; | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {undefined} | |
| */ | |
| var gr = function(v) { | |
| if (!v.a) { | |
| v.a = new Wg; | |
| /** @type {number} */ | |
| v.b = 0; | |
| if (v.c) { | |
| qq(v.c, function(cssProperyName, oldEventMap) { | |
| fr(v, Ye(cssProperyName), oldEventMap); | |
| }); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} n | |
| * @param {string} key | |
| * @param {string} arg | |
| * @return {undefined} | |
| */ | |
| var fr = function(n, key, arg) { | |
| gr(n); | |
| /** @type {null} */ | |
| n.c = null; | |
| key = hr(n, key); | |
| var values = n.a.get(key); | |
| if (!values) { | |
| n.a.set(key, values = []); | |
| } | |
| values.push(arg); | |
| n.b = n.b + 1; | |
| }; | |
| /** | |
| * @param {!Object} f | |
| * @param {string} val | |
| * @return {undefined} | |
| */ | |
| var ir = function(f, val) { | |
| gr(f); | |
| val = hr(f, val); | |
| if (Zg(f.a, val)) { | |
| /** @type {null} */ | |
| f.c = null; | |
| /** @type {number} */ | |
| f.b = f.b - f.a.get(val).length; | |
| $g(f.a, val); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Xq.prototype.clear = function() { | |
| /** @type {null} */ | |
| this.a = this.c = null; | |
| /** @type {number} */ | |
| this.b = 0; | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @param {string} fn | |
| * @return {?} | |
| */ | |
| var jr = function(item, fn) { | |
| gr(item); | |
| fn = hr(item, fn); | |
| return Zg(item.a, fn); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Xq.prototype.tb = function() { | |
| gr(this); | |
| var effectInstances = this.a.Va(); | |
| var keys = this.a.tb(); | |
| /** @type {!Array} */ | |
| var f = []; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < keys.length; i++) { | |
| var e = effectInstances[i]; | |
| /** @type {number} */ | |
| var g = 0; | |
| for (; g < e.length; g++) { | |
| f.push(keys[i]); | |
| } | |
| } | |
| return f; | |
| }; | |
| /** | |
| * @param {string} y | |
| * @return {?} | |
| */ | |
| Xq.prototype.Va = function(y) { | |
| gr(this); | |
| /** @type {!Array} */ | |
| var left = []; | |
| if (Fe(y)) { | |
| if (jr(this, y)) { | |
| left = If(left, this.a.get(hr(this, y))); | |
| } | |
| } else { | |
| y = this.a.Va(); | |
| /** @type {number} */ | |
| var iy = 0; | |
| for (; iy < y.length; iy++) { | |
| left = If(left, y[iy]); | |
| } | |
| } | |
| return left; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| Xq.prototype.set = function(name, obj) { | |
| gr(this); | |
| /** @type {null} */ | |
| this.c = null; | |
| name = hr(this, name); | |
| if (jr(this, name)) { | |
| /** @type {number} */ | |
| this.b = this.b - this.a.get(name).length; | |
| } | |
| this.a.set(name, [obj]); | |
| this.b = this.b + 1; | |
| return this; | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} fn | |
| * @return {?} | |
| */ | |
| Xq.prototype.get = function(a, fn) { | |
| var b = a ? this.Va(a) : []; | |
| return 0 < b.length ? String(b[0]) : fn; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} val | |
| * @param {!Object} data | |
| * @return {undefined} | |
| */ | |
| var kr = function(a, val, data) { | |
| ir(a, val); | |
| if (0 < data.length) { | |
| /** @type {null} */ | |
| a.c = null; | |
| a.a.set(hr(a, val), Jf(data)); | |
| a.b = a.b + data.length; | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Xq.prototype.toString = function() { | |
| if (this.c) { | |
| return this.c; | |
| } | |
| if (!this.a) { | |
| return ""; | |
| } | |
| /** @type {!Array} */ | |
| var newClassList = []; | |
| var dependencies = this.a.tb(); | |
| /** @type {number} */ | |
| var indexDep = 0; | |
| for (; indexDep < dependencies.length; indexDep++) { | |
| var d = dependencies[indexDep]; | |
| var e = Xe(d); | |
| d = this.Va(d); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < d.length; i++) { | |
| var c = e; | |
| if ("" !== d[i]) { | |
| /** @type {string} */ | |
| c = c + ("=" + Xe(d[i])); | |
| } | |
| newClassList.push(c); | |
| } | |
| } | |
| return this.c = newClassList.join("&"); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Xq.prototype.clone = function() { | |
| var matrix = new Xq; | |
| matrix.c = this.c; | |
| if (this.a) { | |
| matrix.a = this.a.clone(); | |
| matrix.b = this.b; | |
| } | |
| return matrix; | |
| }; | |
| /** | |
| * @param {!Object} val | |
| * @param {string} node | |
| * @return {?} | |
| */ | |
| var hr = function(val, node) { | |
| /** @type {string} */ | |
| var c = String(node); | |
| if (val.j) { | |
| /** @type {string} */ | |
| c = c.toLowerCase(); | |
| } | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} f | |
| * @param {number} item | |
| * @return {undefined} | |
| */ | |
| var cr = function(f, item) { | |
| if (item && !f.j) { | |
| gr(f); | |
| /** @type {null} */ | |
| f.c = null; | |
| f.a.forEach(function(children, i) { | |
| var attrs = i.toLowerCase(); | |
| if (i != attrs) { | |
| ir(this, i); | |
| kr(this, attrs, children); | |
| } | |
| }, f); | |
| } | |
| /** @type {number} */ | |
| f.j = item; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Xq.prototype.g = function(name) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < arguments.length; i++) { | |
| bh(arguments[i], function(oldEventMap, derTrigger) { | |
| fr(this, derTrigger, oldEventMap); | |
| }, this); | |
| } | |
| }; | |
| /** @type {boolean} */ | |
| var lr = null != window.COMPARE_PROD_TRANS; | |
| /** @type {boolean} */ | |
| var mr = null != window.MSG_HUMAN_TRANSLATION_ACTION; | |
| /** @type {boolean} */ | |
| var nr = null != window.MSG_CHANGE_ITA; | |
| /** @type {boolean} */ | |
| var or = null != window.KNOWLEDGE_PANEL; | |
| /** @type {boolean} */ | |
| var pr = null != window.MSG_HATS_TITLE; | |
| /** @type {boolean} */ | |
| var qr = null != window.MSG_SHOW_PB; | |
| /** @type {boolean} */ | |
| var rr = null != window.PHRASEBOOK_REORDERING; | |
| /** @type {boolean} */ | |
| var sr = null != window.MSG_SPEECH_INPUT_TURN_ON; | |
| /** @type {boolean} */ | |
| var tr = null != window.SK_WP; | |
| /** @type {boolean} */ | |
| var ur = null != window.TTS_PACE_CONTROL; | |
| /** @type {boolean} */ | |
| var vr = null != window.WEBFONT; | |
| /** | |
| * @param {string} a | |
| * @return {?} | |
| */ | |
| var wr = function(a) { | |
| return function() { | |
| return a; | |
| }; | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {string} fn | |
| * @return {?} | |
| */ | |
| var xr = function(a, fn) { | |
| /** @type {number} */ | |
| var idx = 0; | |
| for (; idx < fn.length - 2; idx = idx + 3) { | |
| var b = fn.charAt(idx + 2); | |
| /** @type {number} */ | |
| b = "a" <= b ? b.charCodeAt(0) - 87 : Number(b); | |
| /** @type {number} */ | |
| b = "+" == fn.charAt(idx + 1) ? a >>> b : a << b; | |
| /** @type {number} */ | |
| a = "+" == fn.charAt(idx) ? a + b & 4294967295 : a ^ b; | |
| } | |
| return a; | |
| }; | |
| /** @type {null} */ | |
| var yr = null; | |
| /** | |
| * @param {number} c | |
| * @return {?} | |
| */ | |
| var zr = function(c) { | |
| var d; | |
| if (null !== yr) { | |
| d = yr; | |
| } else { | |
| d = wr(String.fromCharCode(84)); | |
| var parseFloat = wr(String.fromCharCode(75)); | |
| /** @type {!Array} */ | |
| d = [d(), d()]; | |
| d[1] = parseFloat(); | |
| d = (yr = window[d.join(parseFloat())] || "") || ""; | |
| } | |
| var b = wr(String.fromCharCode(116)); | |
| parseFloat = wr(String.fromCharCode(107)); | |
| /** @type {!Array} */ | |
| b = [b(), b()]; | |
| b[1] = parseFloat(); | |
| /** @type {string} */ | |
| parseFloat = "&" + b.join("") + "="; | |
| b = d.split("."); | |
| /** @type {number} */ | |
| d = Number(b[0]) || 0; | |
| /** @type {!Array} */ | |
| var args = []; | |
| /** @type {number} */ | |
| var i = 0; | |
| /** @type {number} */ | |
| var index = 0; | |
| for (; index < c.length; index++) { | |
| var l = c.charCodeAt(index); | |
| if (128 > l) { | |
| args[i++] = l; | |
| } else { | |
| if (2048 > l) { | |
| /** @type {number} */ | |
| args[i++] = l >> 6 | 192; | |
| } else { | |
| if (55296 == (l & 64512) && index + 1 < c.length && 56320 == (c.charCodeAt(index + 1) & 64512)) { | |
| /** @type {number} */ | |
| l = 65536 + ((l & 1023) << 10) + (c.charCodeAt(++index) & 1023); | |
| /** @type {number} */ | |
| args[i++] = l >> 18 | 240; | |
| /** @type {number} */ | |
| args[i++] = l >> 12 & 63 | 128; | |
| } else { | |
| /** @type {number} */ | |
| args[i++] = l >> 12 | 224; | |
| } | |
| /** @type {number} */ | |
| args[i++] = l >> 6 & 63 | 128; | |
| } | |
| /** @type {number} */ | |
| args[i++] = l & 63 | 128; | |
| } | |
| } | |
| /** @type {number} */ | |
| c = d; | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < args.length; i++) { | |
| c = c + args[i]; | |
| c = xr(c, "+-a^+6"); | |
| } | |
| c = xr(c, "+-3^+b+-f"); | |
| /** @type {number} */ | |
| c = c ^ (Number(b[1]) || 0); | |
| if (0 > c) { | |
| /** @type {number} */ | |
| c = (c & 2147483647) + 2147483648; | |
| } | |
| /** @type {number} */ | |
| c = c % 1E6; | |
| return parseFloat + (c.toString() + "." + (c ^ d)); | |
| }; | |
| /** | |
| * @param {number} c | |
| * @param {number} val | |
| * @return {undefined} | |
| */ | |
| var Ar = function(c, val) { | |
| /** @type {number} */ | |
| this.c = c; | |
| /** @type {string} */ | |
| this.a = ""; | |
| if (val) { | |
| /** @type {number} */ | |
| this.a = val; | |
| } | |
| /** @type {number} */ | |
| this.b = 0; | |
| }; | |
| var Br = { | |
| Vj : "at", | |
| Wj : "bd", | |
| Xj : "ex", | |
| Zj : "kr", | |
| $j : "ld", | |
| ak : "md", | |
| bk : "qc", | |
| ck : "qca", | |
| dk : "rw", | |
| ek : "rm", | |
| fk : "ss", | |
| Fe : "t" | |
| }; | |
| /** | |
| * @param {number} name | |
| * @return {?} | |
| */ | |
| var Cr = function(name) { | |
| name = name.Va("q").join(""); | |
| return zr(name); | |
| }; | |
| /** | |
| * @param {!Object} vm | |
| * @param {string} str | |
| * @param {string} name | |
| * @param {number} url | |
| * @param {string} e | |
| * @return {undefined} | |
| */ | |
| var Dr = function(vm, str, name, url, e) { | |
| name = name.toString(); | |
| name = name + Cr(url); | |
| url = url.toString(); | |
| var type = wa; | |
| /** @type {string} */ | |
| str = str + ("?" + name); | |
| if (2E3 > str.length + url.length) { | |
| /** @type {string} */ | |
| type = "GET"; | |
| /** @type {string} */ | |
| str = str + ("&" + url); | |
| /** @type {string} */ | |
| url = ""; | |
| } | |
| ++vm.b; | |
| Fq(str, function(context) { | |
| --vm.b; | |
| e(context); | |
| }, type, url, void 0); | |
| }; | |
| /** | |
| * @param {!Object} c | |
| * @param {string} context | |
| * @param {undefined} template | |
| * @param {undefined} plugin | |
| * @param {string} v | |
| * @param {?} data | |
| * @param {string} fn | |
| * @param {undefined} key | |
| * @return {undefined} | |
| */ | |
| var Er = function(c, context, template, plugin, v, data, fn, key) { | |
| /** @type {string} */ | |
| var STATIC_CHIPS_TEMPLATE = c.a + "/translate_a/t"; | |
| var _ = new Xq; | |
| var tag = new Xq; | |
| _.set(ab, c.c); | |
| _.set("sl", context); | |
| _.set("tl", template); | |
| _.set("hl", plugin); | |
| _.set("v", "1.0"); | |
| if (null != fn) { | |
| _.set(Fd, fn); | |
| } | |
| if (key) { | |
| _.g(key); | |
| } | |
| if (context = !De(v) || De(v) && 1 == v.length) { | |
| tag.set("q", v); | |
| } else { | |
| kr(tag, "q", v); | |
| } | |
| v = A(c.j, c, context, data); | |
| Dr(c, STATIC_CHIPS_TEMPLATE, _, tag, v); | |
| }; | |
| /** | |
| * @param {!Object} r | |
| * @param {string} o | |
| * @param {string} prop | |
| * @param {string} target | |
| * @param {!Object} n | |
| * @param {!Array} children | |
| * @param {string} context | |
| * @param {!Object} config | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| var Fr = function(r, o, prop, target, n, children, context, config, key) { | |
| var STATIC_CHIPS_TEMPLATE = r.a + ka; | |
| var self = new Xq; | |
| var u = new Xq; | |
| self.set(ab, r.c); | |
| self.set("sl", o); | |
| self.set("tl", prop); | |
| self.set("hl", target); | |
| kr(self, "dt", children); | |
| if (null != config) { | |
| self.set("ie", config); | |
| self.set("oe", config); | |
| } | |
| if (key) { | |
| self.g(key); | |
| } | |
| u.set("q", n); | |
| Dr(r, STATIC_CHIPS_TEMPLATE, self, u, A(r.g, r, context)); | |
| }; | |
| /** | |
| * @param {!Object} s | |
| * @param {string} n | |
| * @param {string} m | |
| * @param {string} center | |
| * @param {string} options | |
| * @param {string} expandedInfo | |
| * @param {boolean} data | |
| * @param {!Object} name | |
| * @param {string} tpl | |
| * @return {undefined} | |
| */ | |
| var Gr = function(s, n, m, center, options, expandedInfo, data, name, tpl) { | |
| /** @type {!Array<string>} */ | |
| var item = "at bd ex ld md qc rw rm ss t".split(" "); | |
| if (data) { | |
| /** @type {!Array<string>} */ | |
| item = "at bd ex ld md qca rw rm ss t".split(" "); | |
| } | |
| if (or) { | |
| item.push("kr"); | |
| } | |
| Fr(s, n, m, center, options, item, expandedInfo, name, tpl); | |
| }; | |
| /** | |
| * @param {string} type | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Ar.prototype.m = function(type, name) { | |
| var n = name.target; | |
| if (Hr(n)) { | |
| Qq(n); | |
| n = Ir(n, "handleTransliterationResult_"); | |
| n = new pm(n); | |
| if (0 < Nm(n)) { | |
| type(Cm(Om(n, 0))); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Ar.prototype.g = function(key, name) { | |
| var i = name.target; | |
| if (Hr(i)) { | |
| i = Ir(i, "handleSingleResult_"); | |
| if (De(i)) { | |
| i = new pm(i); | |
| } | |
| key(i); | |
| } else { | |
| Jr(i); | |
| key(null); | |
| } | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {string} name | |
| * @param {!Function} v | |
| * @return {undefined} | |
| */ | |
| Ar.prototype.j = function(key, name, v) { | |
| v = v.target; | |
| if (Pq(v)) { | |
| v = Ir(v, "handleTextResult_"); | |
| /** @type {!Array} */ | |
| var a = []; | |
| if (key) { | |
| a.push(De(v) ? v[0] : v); | |
| } else { | |
| if (De(v)) { | |
| /** @type {number} */ | |
| key = 0; | |
| for (; key < v.length; ++key) { | |
| a.push(De(v[key]) ? v[key][0] : v[key]); | |
| } | |
| } | |
| } | |
| name(a); | |
| } else { | |
| Jr(v); | |
| name(null); | |
| } | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} fn | |
| * @return {?} | |
| */ | |
| var Ir = function(a, fn) { | |
| var s; | |
| var v = Qq(a); | |
| var p = { | |
| "class" : "trans.common.TranslationAPI", | |
| func : fn, | |
| url : String(a.g) | |
| }; | |
| try { | |
| s = iq(v); | |
| } catch (res) { | |
| throw s = Wp.M(), p.js = v, p.error = res.message, s.log("jsonParseErr", p), res; | |
| } | |
| return s; | |
| }; | |
| /** | |
| * @param {string} x | |
| * @return {?} | |
| */ | |
| var Hr = function(x) { | |
| return Pq(x) && ("[" == Qq(x)[0] || "{" == Qq(x)[0]); | |
| }; | |
| /** | |
| * @param {string} result | |
| * @return {undefined} | |
| */ | |
| var Jr = function(result) { | |
| var client = Wp.M(); | |
| /** @type {string} */ | |
| var left_res = String(result.g); | |
| result = Qq(result); | |
| client.log("invalidResponse", { | |
| q : left_res.substring(0, 500), | |
| ql : left_res.length, | |
| r : result.substring(0, 500), | |
| rl : result.length | |
| }); | |
| }; | |
| Ar.prototype.o = w("b"); | |
| /** | |
| * @param {!Array} val | |
| * @param {?} opt_validate | |
| * @return {undefined} | |
| */ | |
| var Kr = function(val, opt_validate) { | |
| W.call(this); | |
| this.U = opt_validate; | |
| /** @type {!Array} */ | |
| this.m = val; | |
| /** @type {string} */ | |
| this.Ed = this.text = this.j = this.g = ""; | |
| /** @type {null} */ | |
| this.data = null; | |
| this.Wa = Wp.M(); | |
| }; | |
| C(Kr, W); | |
| y = Kr.prototype; | |
| /** | |
| * @param {!Object} t | |
| * @param {string} a | |
| * @param {number} b | |
| * @param {!Object} object | |
| * @return {?} | |
| */ | |
| y.update = function(t, a, b, object) { | |
| /** @type {!Object} */ | |
| this.text = t; | |
| /** @type {string} */ | |
| this.g = a; | |
| /** @type {number} */ | |
| this.j = b; | |
| /** @type {!Object} */ | |
| this.data = object; | |
| this.setVisible(false); | |
| return false; | |
| }; | |
| /** | |
| * @param {boolean} id | |
| * @return {undefined} | |
| */ | |
| y.setVisible = function(id) { | |
| var body = this.l(); | |
| if (body) { | |
| S(body, id); | |
| } | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.isVisible = function() { | |
| var b = this.l(); | |
| return b ? kj(b) : false; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.qg = function() { | |
| return {}; | |
| }; | |
| y.Ua = w("U"); | |
| /** | |
| * @param {string} name | |
| * @param {string} value | |
| * @return {undefined} | |
| */ | |
| y.log = function(name, value) { | |
| var data = {}; | |
| data.dt = this.U; | |
| data.sl = this.g; | |
| data.tl = this.j; | |
| data.hl = this.m; | |
| data.q = this.text; | |
| /** @type {string} */ | |
| data.e = name; | |
| if (null != value) { | |
| Wf(data, value); | |
| } | |
| Wf(data, this.qg()); | |
| this.Wa.log("lexicon", data); | |
| data = this.g; | |
| var testSuiteName = this.j; | |
| if (window.__gaTracker) { | |
| __gaTracker("set", "dimension1", this.m); | |
| __gaTracker("set", "dimension2", data + "|" + testSuiteName); | |
| __gaTracker("set", "dimension3", data); | |
| __gaTracker("set", "dimension4", testSuiteName); | |
| } | |
| if (window.__gaTracker) { | |
| __gaTracker("send", "event", "lexicon", this.U + ":" + name, "", 1); | |
| } | |
| }; | |
| /** | |
| * @param {?} deque | |
| * @param {?} f | |
| * @param {!Array} p | |
| * @param {?} v | |
| * @return {undefined} | |
| */ | |
| var Lr = function(deque, f, p, v) { | |
| Kr.call(this, deque, f); | |
| /** @type {null} */ | |
| this.w = this.b = null; | |
| /** @type {!Array} */ | |
| this.P = p; | |
| this.bb = v; | |
| /** @type {null} */ | |
| this.N = this.o = null; | |
| /** @type {boolean} */ | |
| this.I = false; | |
| /** @type {string} */ | |
| this.W = "More"; | |
| /** @type {boolean} */ | |
| this.bd = false; | |
| /** @type {string} */ | |
| this.Z = "Less"; | |
| /** @type {!Array} */ | |
| this.$ = []; | |
| /** @type {boolean} */ | |
| this.Qe = false; | |
| }; | |
| C(Lr, Kr); | |
| y = Lr.prototype; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.ra = function() { | |
| Lr.v.ra.call(this); | |
| this.Y(di(k)); | |
| }; | |
| /** | |
| * @param {string} selector | |
| * @return {undefined} | |
| */ | |
| y.Y = function(selector) { | |
| Lr.v.Y.call(this, selector); | |
| J(this.l(), "gt-cd"); | |
| J(this.l(), "gt-cd-" + this.U); | |
| this.l().appendChild(ip(Hp)); | |
| this.w = O("gt-cd-tl", this.l()); | |
| this.b = O("gt-cd-c", this.l()); | |
| this.o = O("cd-expand-button", this.l()); | |
| this.N = O("cd-expand-label", this.l()); | |
| S(this.o, false); | |
| }; | |
| /** | |
| * @param {?} text | |
| * @param {string} a | |
| * @param {?} n | |
| * @param {!Array} d | |
| * @return {?} | |
| */ | |
| y.update = function(text, a, n, d) { | |
| Lr.v.update.call(this, text, a, n, d); | |
| /** @type {boolean} */ | |
| this.I = this.bd = false; | |
| mi(null); | |
| S(this.o, false); | |
| K(this.o, bb); | |
| Mr(this, text); | |
| return false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.V = function() { | |
| Lr.v.V.call(this); | |
| X(this).a(this.o, r, this.Aj, false); | |
| X(this).a(this, "a", A(this.Sg, this, "clks"), false); | |
| X(this).a(this, "b", A(this.Sg, this, "clkt"), false); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Aj = function() { | |
| /** @type {boolean} */ | |
| this.I = !this.I; | |
| this.H(this.I); | |
| if (this.I) { | |
| J(this.o, bb); | |
| Q(this.N, this.Z); | |
| this.log("expand"); | |
| } else { | |
| K(this.o, bb); | |
| Q(this.N, this.W); | |
| this.log(bb); | |
| } | |
| }; | |
| /** | |
| * @param {string} m | |
| * @param {!Event} b | |
| * @return {undefined} | |
| */ | |
| y.Sg = function(m, b) { | |
| var c = Fi(b.target); | |
| this.log(m, { | |
| clk : c | |
| }); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Lf = function() { | |
| if (this.w) { | |
| Q(this.w, this.bb); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {boolean} point | |
| * @return {undefined} | |
| */ | |
| var Mr = function(node, point) { | |
| var a = P(k); | |
| var c = node.P.indexOf(aa); | |
| if (-1 != c) { | |
| var d = node.P.slice(0, c); | |
| c = node.P.slice(c + 4, node.P.length); | |
| if (d) { | |
| ii(a, d); | |
| } | |
| d = P(za, { | |
| "class" : "gt-card-ttl-txt" | |
| }); | |
| R(d, nb, ag(node.g) ? sd : Qc); | |
| Q(d, point); | |
| a.appendChild(d); | |
| if (c) { | |
| ii(a, c); | |
| } | |
| if (node.w) { | |
| ji(node.w); | |
| node.w.appendChild(a); | |
| } | |
| } else { | |
| node.Lf(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @param {number} uri | |
| * @param {?} d | |
| * @return {undefined} | |
| */ | |
| var Nr = function(item, uri, d) { | |
| /** @type {boolean} */ | |
| item.bd = true; | |
| S(item.o, true); | |
| if (null != uri) { | |
| /** @type {number} */ | |
| item.W = uri; | |
| } | |
| if (null != d) { | |
| item.Z = d; | |
| } | |
| Q(item.N, item.W); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Lr.prototype.H = function(name) { | |
| var x; | |
| var r; | |
| var their_pieces = Th(Vb, this.l()); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < their_pieces.length; i++) { | |
| x = their_pieces[i]; | |
| r = x.firstChild; | |
| var cr = tj(r, Rc); | |
| r = hj(r).height + cr.top + cr.bottom; | |
| R(x, "max-height", name ? r + md : 0); | |
| } | |
| }; | |
| /** | |
| * @param {?} name | |
| * @param {?} value | |
| * @return {?} | |
| */ | |
| var Or = function(name, value) { | |
| return value ? name : P(k, { | |
| "class" : Vb | |
| }, name); | |
| }; | |
| /** | |
| * @param {?} version | |
| * @param {!Array} matrix | |
| * @param {boolean} type | |
| * @param {string} data | |
| * @param {?} defer_sort | |
| * @return {undefined} | |
| */ | |
| var Pr = function(version, matrix, type, data, defer_sort) { | |
| /** @type {string} */ | |
| var id = "bd"; | |
| if (null != data && data) { | |
| /** @type {string} */ | |
| id = "m" + id; | |
| } | |
| Lr.call(this, version, id, MSG_TRANSLATIONS_OF, ""); | |
| /** @type {string} */ | |
| this.va = ""; | |
| this.va = data ? "gt-baf-cell gt-baf-word" : type ? Ub : "gt-baf-word"; | |
| this.qa = type && !data ? Qb : null; | |
| /** @type {null} */ | |
| this.A = null; | |
| /** @type {boolean} */ | |
| this.X = false; | |
| /** @type {boolean} */ | |
| this.ob = type; | |
| this.c = null != data ? data : false; | |
| this.Fa = null != defer_sort ? defer_sort : true; | |
| this.L = {}; | |
| this.L[1] = matrix[2]; | |
| this.L[2] = matrix[1]; | |
| this.L[3] = matrix[0]; | |
| this.Da = matrix[3].replace(aa, "%d"); | |
| }; | |
| C(Pr, Lr); | |
| /** | |
| * @param {!Object} f | |
| * @param {string} a | |
| * @param {number} i | |
| * @param {!Object} v | |
| * @return {?} | |
| */ | |
| Pr.prototype.update = function(f, a, i, v) { | |
| Pr.v.update.call(this, f, a, i, v); | |
| if (!v || 0 == Y(v.a, 1)) { | |
| return false; | |
| } | |
| ji(this.b); | |
| this.A = new Xm(v); | |
| Qr(this, this.A); | |
| if (this.c) { | |
| f = P(k); | |
| } else { | |
| f = P("TBODY"); | |
| var n = P("TABLE", { | |
| "class" : "gt-baf-table" | |
| }, f); | |
| } | |
| a = this.A.a; | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < a.length; i++) { | |
| var b = a[i]; | |
| var container; | |
| var value = b; | |
| container = value.visible(); | |
| var c = value.c; | |
| var n = value.g; | |
| value = P(k, { | |
| "class" : "gt-baf-cell gt-baf-pos-head" | |
| }); | |
| if (c) { | |
| this.Ed = c; | |
| Mr(this, c); | |
| } | |
| if ("" !== n) { | |
| c = P(za, { | |
| "class" : Zb | |
| }, n); | |
| value.appendChild(c); | |
| } | |
| container = Or(value, container); | |
| if (this.c) { | |
| container = P(k, null, container); | |
| } else { | |
| container = P("TD", { | |
| colspan : 4 | |
| }, container); | |
| container = P("TR", null, container); | |
| } | |
| f.appendChild(container); | |
| if (this.c) { | |
| var p = P(k, "gt-baf-pos-section"); | |
| if (i != a.length - 1 && null != a[i + 1] && a[i + 1].visible()) { | |
| R(p, "margin-bottom", "32px"); | |
| } | |
| f.appendChild(p); | |
| } | |
| b = b.a; | |
| /** @type {number} */ | |
| c = container = 0; | |
| for (; c < b.length; c++) { | |
| value = b[c]; | |
| if (!this.c && this.A.b && 0 < c) { | |
| /** @type {!Object} */ | |
| n = f; | |
| var c; | |
| c = value.visible(); | |
| var name = P(k, { | |
| "class" : "gt-baf-cell gt-baf-sep" | |
| }); | |
| c = Or(name, c); | |
| if (!this.c) { | |
| c = P("TD", { | |
| colspan : 4 | |
| }, c); | |
| c = P("TR", null, c); | |
| } | |
| n.appendChild(c); | |
| } | |
| value = value.a; | |
| /** @type {number} */ | |
| n = 0; | |
| for (; n < value.length; n++) { | |
| name = value[n]; | |
| c = Om(v, 0).Ta(); | |
| var t = name; | |
| /** @type {number} */ | |
| var d = container; | |
| name = t.text; | |
| var m = t.c; | |
| var args; | |
| var a = t.g; | |
| /** @type {!Array} */ | |
| args = []; | |
| /** @type {number} */ | |
| var e = 0; | |
| for (; e < a.length; e++) { | |
| var i = P(za, null, a[e]); | |
| if (null != this.qa) { | |
| J(i, this.qa); | |
| } | |
| args.push(i); | |
| if (e < a.length - 1) { | |
| args.push(ei(", ")); | |
| } | |
| } | |
| a = t.visible; | |
| e = t.b; | |
| if (this.X && this.Fa) { | |
| var s = e; | |
| e = a; | |
| i = P(k, { | |
| "class" : "gt-baf-cell gt-baf-marker-container", | |
| title : this.L[s] | |
| }); | |
| s = Cl("width: %dpx", 8 * s); | |
| s = P(k, { | |
| "class" : "gt-baf-cts", | |
| style : s | |
| }); | |
| i.appendChild(s); | |
| e = Or(i, e); | |
| } else { | |
| e = P(k, { | |
| "class" : Rb | |
| }); | |
| e = Or(e, a); | |
| } | |
| e = P("TD", null, e); | |
| /** @type {null} */ | |
| i = null; | |
| if (m) { | |
| i = this.c ? true : a; | |
| s = P(this.c ? za : k, { | |
| "class" : "gt-baf-cell gt-baf-previous-word" | |
| }); | |
| if (this.c) { | |
| J(s, "gt-baf-previous-word-mobile"); | |
| } | |
| Q(s, m); | |
| i = Or(s, i); | |
| i = this.c ? i : P("TD", null, i); | |
| } | |
| s = this.c ? true : a; | |
| if (ag(this.j) != ag(this.m)) { | |
| var useStyleString = Cl(ob, ag(this.j) ? sd : Qc); | |
| } | |
| var p = P(za, this.va, name); | |
| var color = P(k, Rb, p); | |
| p = Or(this.c ? p : color, s); | |
| if (!s) { | |
| J(p, Xb); | |
| } | |
| m = this.c ? p : P("TD", m ? null : { | |
| colspan : 2, | |
| style : useStyleString | |
| }, p); | |
| if (ag(this.g) != ag(this.m)) { | |
| var gjStyle = Cl(ob, ag(this.g) ? sd : Qc); | |
| } | |
| args = P(k, { | |
| "class" : "gt-baf-cell gt-baf-translations", | |
| style : gjStyle | |
| }, args); | |
| if (this.c) { | |
| J(args, "gt-baf-translations-mobile"); | |
| } | |
| a = Or(args, a); | |
| a = this.c ? a : P("TD", { | |
| style : "width: 100%" | |
| }, a); | |
| if (this.c) { | |
| d = P(za, "", i, m); | |
| if (ag(this.j) != ag(this.m)) { | |
| var useStyleString = Cl(ob, ag(this.j) ? sd : Qc); | |
| } | |
| m = P(k, { | |
| "class" : Rb, | |
| style : useStyleString | |
| }, d); | |
| R(m, Tc, "17px"); | |
| t = Or(m, t.visible); | |
| m = this.ob && this.c ? P(k, Sb) : P(k, "gt-baf-entry"); | |
| m.appendChild(t); | |
| m.appendChild(a); | |
| R(d, "padding-right", "4px"); | |
| if (name == c) { | |
| J(d, "gt-baf-word-selected"); | |
| } | |
| c = m; | |
| } else { | |
| c = P("TR", null, e, i, m, a); | |
| if (ag(this.g) != ag(this.m) && 1 == d % 2) { | |
| J(c, "gt-baf-translations-alt"); | |
| } | |
| } | |
| if (this.c) { | |
| p.appendChild(c); | |
| } else { | |
| f.appendChild(c); | |
| } | |
| container++; | |
| } | |
| } | |
| if (this.c) { | |
| this.b.appendChild(f); | |
| } else { | |
| this.b.appendChild(n); | |
| } | |
| if (0 < Ym(this.A)) { | |
| b = Cl(this.Da, Ym(this.A)); | |
| Nr(this, b, MSG_FEWER_TRANSLATIONS_LABEL); | |
| } | |
| } | |
| this.setVisible(true); | |
| return true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Pr.prototype.V = function() { | |
| Pr.v.V.call(this); | |
| J(this.l(), "gt-cd-baf"); | |
| X(this).a(this.l(), r, this.pb); | |
| X(this).a(this.l(), Yc, this.Qa); | |
| X(this).a(this.l(), Xc, this.Ha); | |
| }; | |
| /** | |
| * @param {?} scope | |
| * @param {!Object} element | |
| * @return {undefined} | |
| */ | |
| var Qr = function(scope, element) { | |
| var features = Zm(element); | |
| features = features.sort(function(a, b) { | |
| return b.a - a.a; | |
| }); | |
| /** @type {number} */ | |
| var next_tick_ts = 0; | |
| /** @type {boolean} */ | |
| scope.X = false; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < features.length; i++) { | |
| var f = features[i]; | |
| if (-1 < f.a) { | |
| /** @type {boolean} */ | |
| scope.X = true; | |
| } | |
| /** @type {number} */ | |
| f.b = .05 <= f.a ? 3 : .0025 <= f.a ? 2 : 1; | |
| /** @type {boolean} */ | |
| f.visible = 12 > i || 3 == f.b; | |
| /** @type {number} */ | |
| next_tick_ts = next_tick_ts + (f.visible ? 0 : 1); | |
| } | |
| if (4 >= next_tick_ts) { | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < features.length; i++) { | |
| /** @type {boolean} */ | |
| features[i].visible = true; | |
| } | |
| } | |
| if (element.b) { | |
| $m(element); | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Pr.prototype.H = function(name) { | |
| Pr.v.H.call(this, name); | |
| var notActiveCursors = Th(Xb, this.l()); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < notActiveCursors.length; i++) { | |
| var key = notActiveCursors[i]; | |
| var input = O(Rb, key); | |
| var options = tj(input, Rc); | |
| input = input.scrollWidth + options.left + options.right + 1; | |
| R(key, Uc, name ? input + md : 0); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} value | |
| * @return {undefined} | |
| */ | |
| Pr.prototype.pb = function(value) { | |
| var id; | |
| id = Ii(value.target); | |
| if (null != id) { | |
| value = O("gt-baf-word", id); | |
| if (null != value) { | |
| this.dispatchEvent(new T("b", value)); | |
| } | |
| } else { | |
| if (Bh(value.target, Ub)) { | |
| this.dispatchEvent(new T("b", value.target)); | |
| } else { | |
| if (Bh(value.target, Qb)) { | |
| this.dispatchEvent(new T("a", value.target)); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!MouseEvent} mutationEvent | |
| * @return {undefined} | |
| */ | |
| Pr.prototype.Qa = function(mutationEvent) { | |
| if (Bh(mutationEvent.target, Qb)) { | |
| var crossfilterable_layers = Sh(null, Qb, this.l()); | |
| mutationEvent = Fi(mutationEvent.target); | |
| /** @type {number} */ | |
| var layer_i = 0; | |
| for (; layer_i < crossfilterable_layers.length; layer_i++) { | |
| if (Fi(crossfilterable_layers[layer_i]) == mutationEvent) { | |
| J(crossfilterable_layers[layer_i], Tb); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Pr.prototype.Ha = function() { | |
| var children = Sh(null, Tb, this.l()); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < children.length; i++) { | |
| K(children[i], Tb); | |
| } | |
| }; | |
| /** | |
| * @param {string} text | |
| * @param {number} a | |
| * @param {number} b | |
| * @param {!Object} typedArray | |
| * @return {undefined} | |
| */ | |
| var Rr = function(text, a, b, typedArray) { | |
| /** @type {string} */ | |
| this.text = text; | |
| /** @type {number} */ | |
| this.a = a; | |
| /** @type {number} */ | |
| this.b = b; | |
| /** @type {!Object} */ | |
| this.data = typedArray; | |
| }; | |
| /** | |
| * @param {string} q | |
| * @param {number} value | |
| * @param {!Array} m | |
| * @param {number} b | |
| * @return {undefined} | |
| */ | |
| var Sr = function(q, value, m, b) { | |
| /** @type {string} */ | |
| this.g = q; | |
| /** @type {number} */ | |
| this.c = value; | |
| /** @type {!Array} */ | |
| this.m = m; | |
| /** @type {number} */ | |
| this.j = b; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| /** @type {number} */ | |
| this.b = -1; | |
| U(this.g, p, this.dj, false, this); | |
| U(this.c, p, this.Ri, false, this); | |
| U(this.m, p, this.Lh, false, this); | |
| }; | |
| y = Sr.prototype; | |
| /** | |
| * @param {string} value | |
| * @param {string} msg | |
| * @param {string} c | |
| * @param {!Object} t | |
| * @return {undefined} | |
| */ | |
| y.push = function(value, msg, c, t) { | |
| this.a.splice(++this.b); | |
| this.a.push(new Rr(value, msg, c, t)); | |
| Tr(this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.reset = function() { | |
| /** @type {!Array} */ | |
| this.a = []; | |
| /** @type {number} */ | |
| this.b = -1; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.dj = function() { | |
| if (0 < this.b) { | |
| --this.b; | |
| Tr(this); | |
| } | |
| Wp.M().log("lxprev"); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Ri = function() { | |
| if (this.b < this.a.length - 1) { | |
| ++this.b; | |
| Tr(this); | |
| } | |
| Wp.M().log("lxnext"); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Lh = function() { | |
| if (1 < this.a.length) { | |
| this.a.splice(1); | |
| /** @type {number} */ | |
| this.b = 0; | |
| Tr(this); | |
| } | |
| Wp.M().log("lxclear"); | |
| }; | |
| /** | |
| * @param {!Object} that | |
| * @return {undefined} | |
| */ | |
| var Tr = function(that) { | |
| var req = that.a[that.b]; | |
| that.j.update(req.text, req.a, req.b, req.data); | |
| that.g.ba(1 < that.b); | |
| that.c.ba(that.b < that.a.length - 1); | |
| }; | |
| /** @type {boolean} */ | |
| var Ur = false; | |
| /** | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| var Vr = function(a) { | |
| if (a = a.match(/[\d]+/g)) { | |
| /** @type {number} */ | |
| a.length = 3; | |
| } | |
| }; | |
| (function() { | |
| if (navigator.plugins && navigator.plugins.length) { | |
| /** @type {!Plugin} */ | |
| var mimeType = navigator.plugins["Shockwave Flash"]; | |
| if (mimeType && (Ur = true, mimeType.description)) { | |
| Vr(mimeType.description); | |
| return; | |
| } | |
| if (navigator.plugins["Shockwave Flash 2.0"]) { | |
| /** @type {boolean} */ | |
| Ur = true; | |
| return; | |
| } | |
| } | |
| if (navigator.mimeTypes && navigator.mimeTypes.length && (mimeType = navigator.mimeTypes["application/x-shockwave-flash"], Ur = !(!mimeType || !mimeType.enabledPlugin))) { | |
| Vr(mimeType.enabledPlugin.description); | |
| return; | |
| } | |
| try { | |
| var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); | |
| /** @type {boolean} */ | |
| Ur = true; | |
| Vr(axo.GetVariable("$version")); | |
| return; | |
| } catch (c) { | |
| } | |
| try { | |
| axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); | |
| /** @type {boolean} */ | |
| Ur = true; | |
| return; | |
| } catch (c) { | |
| } | |
| try { | |
| axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); | |
| /** @type {boolean} */ | |
| Ur = true; | |
| Vr(axo.GetVariable("$version")); | |
| } catch (c) { | |
| } | |
| })(); | |
| /** @type {boolean} */ | |
| var Wr = Ur; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Xr = function() { | |
| /** @type {number} */ | |
| this.b = 0; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| }; | |
| Be(Xr); | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Xr.prototype.c = function(name) { | |
| /** @type {!Image} */ | |
| var obj = new Image; | |
| /** @type {number} */ | |
| var i = this.b++; | |
| /** @type {!Image} */ | |
| this.a[i] = obj; | |
| /** @type {function(): undefined} */ | |
| obj.onload = obj.onerror = function() { | |
| delete Xr.M().a[i]; | |
| }; | |
| /** @type {string} */ | |
| obj.src = name; | |
| /** @type {null} */ | |
| obj = null; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var Yr = function() { | |
| V.call(this); | |
| /** @type {string} */ | |
| this.url = ""; | |
| }; | |
| C(Yr, V); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Yr.prototype.Vc = function() { | |
| this.dispatchEvent(new Zr(this.url)); | |
| }; | |
| Yr.prototype.play = ve("url"); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Yr.prototype.c = function() { | |
| this.dispatchEvent(new $r(this.url)); | |
| }; | |
| /** | |
| * @param {string} u | |
| * @return {undefined} | |
| */ | |
| var as = function(u) { | |
| T.call(this, Ed); | |
| /** @type {string} */ | |
| this.url = u; | |
| }; | |
| C(as, T); | |
| /** | |
| * @param {string} url | |
| * @return {undefined} | |
| */ | |
| var bs = function(url) { | |
| T.call(this, Cd); | |
| /** @type {string} */ | |
| this.url = url; | |
| }; | |
| C(bs, T); | |
| /** | |
| * @param {string} url | |
| * @return {undefined} | |
| */ | |
| var Zr = function(url) { | |
| T.call(this, Dd); | |
| /** @type {string} */ | |
| this.url = url; | |
| }; | |
| C(Zr, T); | |
| /** | |
| * @param {string} url | |
| * @return {undefined} | |
| */ | |
| var $r = function(url) { | |
| T.call(this, Bd); | |
| /** @type {string} */ | |
| this.url = url; | |
| }; | |
| C($r, T); | |
| /** | |
| * @return {undefined} | |
| */ | |
| var cs = function() { | |
| Yr.call(this); | |
| /** @type {function(new:Audio, string=): ?} */ | |
| this.m = Audio; | |
| /** @type {!Audio} */ | |
| this.a = new this.m; | |
| this.b = {}; | |
| }; | |
| C(cs, Yr); | |
| /** | |
| * @return {?} | |
| */ | |
| cs.prototype.Qf = function() { | |
| return !this.a.paused; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| cs.prototype.Vc = function() { | |
| cs.v.Vc.call(this); | |
| this.a.pause(); | |
| }; | |
| /** | |
| * @param {string} i | |
| * @return {undefined} | |
| */ | |
| cs.prototype.play = function(i) { | |
| cs.v.play.call(this, i); | |
| ds(this, this.a); | |
| /** @type {null} */ | |
| this.a = null; | |
| if (null != this.b[i]) { | |
| this.a = this.b[i]; | |
| /** @type {null} */ | |
| this.b[i] = null; | |
| this.a.play(); | |
| } else { | |
| this.a = es(this, i); | |
| /** @type {boolean} */ | |
| this.a.autoplay = true; | |
| } | |
| }; | |
| /** | |
| * @param {string} show | |
| * @return {undefined} | |
| */ | |
| cs.prototype.rh = function(show) { | |
| z.setTimeout(A(this.o, this, show), 1E3); | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {string} t | |
| * @return {?} | |
| */ | |
| var es = function(b, t) { | |
| var c = new b.m; | |
| c.setAttribute("src", t); | |
| U(c, kd, b.j, false, b); | |
| U(c, "ended", b.g, false, b); | |
| U(c, "error", b.c, false, b); | |
| c.load(); | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} f | |
| * @param {!Object} a | |
| * @return {undefined} | |
| */ | |
| var ds = function(f, a) { | |
| hk(a, kd, f.j); | |
| hk(a, "ended", f.g); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| cs.prototype.o = function(name) { | |
| if (null != this.b[name]) { | |
| ds(this, this.b[name]); | |
| /** @type {null} */ | |
| this.b[name] = null; | |
| } | |
| this.b[name] = es(this, name); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| cs.prototype.j = function() { | |
| hk(this.a, kd, this.j); | |
| this.dispatchEvent(new as(this.url)); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| cs.prototype.g = function() { | |
| hk(this.a, "ended", this.g); | |
| this.dispatchEvent(new bs(this.url)); | |
| }; | |
| /** | |
| * @param {number} arg | |
| * @return {undefined} | |
| */ | |
| var fs = function(arg) { | |
| Yr.call(this); | |
| /** @type {number} */ | |
| this.a = arg; | |
| /** @type {boolean} */ | |
| this.b = false; | |
| }; | |
| C(fs, Yr); | |
| y = fs.prototype; | |
| y.Qf = w("b"); | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Vc = function() { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| if (null != this.a.stopPlayingSound) { | |
| this.a.stopPlayingSound(); | |
| } | |
| gs(); | |
| fs.v.Vc.call(this); | |
| }; | |
| /** | |
| * @param {?} a | |
| * @return {undefined} | |
| */ | |
| y.play = function(a) { | |
| fs.v.play.call(this, a); | |
| z.setTimeout(A(this.jj, this), 0); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.jj = function() { | |
| /** @type {boolean} */ | |
| this.b = true; | |
| var data = A(this.Bj, this); | |
| z.SoundStopCB_ = data; | |
| if (null != this.a.setSoundStopCB) { | |
| this.a.setSoundStopCB("SoundStopCB_"); | |
| } | |
| try { | |
| if (null != this.a.setSound) { | |
| this.a.setSound(this.qh()); | |
| } else { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| gs(); | |
| this.c(); | |
| return; | |
| } | |
| var data = A(this.qh, this); | |
| z._TTSSoundFile = data; | |
| } catch (c) { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| gs(); | |
| this.c(); | |
| return; | |
| } | |
| if (null != this.a.startPlayingSound) { | |
| this.a.startPlayingSound(); | |
| } else { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| gs(); | |
| this.c(); | |
| } | |
| }; | |
| /** | |
| * @param {string} show | |
| * @return {undefined} | |
| */ | |
| y.rh = function(show) { | |
| var w = Xr.M(); | |
| z.setTimeout(A(w.c, w, show), 1E3); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.qh = function() { | |
| return this.url.substring(1); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.Bj = function() { | |
| /** @type {boolean} */ | |
| this.b = false; | |
| gs(); | |
| this.dispatchEvent(new bs(this.url)); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var gs = function() { | |
| /** @type {null} */ | |
| z.SoundStopCB_ = null; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var hs = function() { | |
| /** @type {string} */ | |
| this.a = ""; | |
| /** @type {null} */ | |
| this.b = null; | |
| /** @type {boolean} */ | |
| this.g = false; | |
| /** @type {null} */ | |
| this.c = null; | |
| }; | |
| Be(hs); | |
| /** | |
| * @return {?} | |
| */ | |
| hs.prototype.get = function() { | |
| if (null != this.a && 0 != this.a.length) { | |
| var type = M(this.a); | |
| if (!this.g && (is("audio/mpeg") ? (this.b = new cs, type = "html5") : null != type && "OBJECT" == type.tagName && Wr ? (this.b = new fs(type), type = "flash") : (this.b = null, type = ad), this.g = true, !this.j && this.c)) { | |
| /** @type {boolean} */ | |
| this.j = true; | |
| /** @type {number} */ | |
| var mp3 = is("audio/mpeg") ? 1 : 0; | |
| /** @type {number} */ | |
| var ogg = is("audio/ogg") ? 1 : 0; | |
| /** @type {number} */ | |
| var wav = is("audio/wav") ? 1 : 0; | |
| var vol; | |
| a: { | |
| try { | |
| var elem = P("audio"); | |
| if (null != elem && null != elem.volume) { | |
| vol = elem.volume; | |
| break a; | |
| } | |
| } catch (g) { | |
| } | |
| /** @type {number} */ | |
| vol = -1; | |
| } | |
| this.c.log("ttsaudio", { | |
| mp3 : mp3, | |
| ogg : ogg, | |
| wav : wav, | |
| vol : vol, | |
| type : type | |
| }); | |
| } | |
| } | |
| return this.b; | |
| }; | |
| /** | |
| * @param {string} i | |
| * @return {?} | |
| */ | |
| var is = function(i) { | |
| try { | |
| var audio = P("audio"); | |
| return null != audio && null != audio.canPlayType && null != audio.load && null != audio.play && null != audio.paused && null != audio.pause && "no" != audio.canPlayType(i) && "" != audio.canPlayType(i); | |
| } catch (c) { | |
| return false; | |
| } | |
| }; | |
| /** | |
| * @param {number} value | |
| * @param {number} v | |
| * @return {undefined} | |
| */ | |
| var js = function(value, v) { | |
| V.call(this); | |
| /** @type {number} */ | |
| this.C = v; | |
| this.o = hs.M(); | |
| /** @type {number} */ | |
| this.o.a = value; | |
| /** @type {number} */ | |
| this.o.c = v; | |
| this.a = this.o.get(); | |
| /** @type {null} */ | |
| this.j = null; | |
| /** @type {number} */ | |
| this.b = 0; | |
| this.c = {}; | |
| /** @type {number} */ | |
| this.g = 0; | |
| /** @type {boolean} */ | |
| this.m = false; | |
| }; | |
| C(js, V); | |
| /** | |
| * @param {number} name | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| js.prototype.set = function(name, obj) { | |
| /** @type {number} */ | |
| this.j = name; | |
| if (null != obj) { | |
| this.c = Uf(obj); | |
| } | |
| this.c.total = name.length; | |
| ks(this); | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| var ns = function(obj) { | |
| if (obj.j && obj.a.Qf()) { | |
| var e = Uf(obj.c); | |
| e.idx = obj.b; | |
| /** @type {number} */ | |
| e.time = (new Date).getTime() - obj.g; | |
| ls(obj, "ttsstop", e); | |
| ks(obj); | |
| obj.a.Vc(); | |
| obj.dispatchEvent(new ms); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} o | |
| * @return {undefined} | |
| */ | |
| var ks = function(o) { | |
| /** @type {number} */ | |
| o.b = 0; | |
| /** @type {boolean} */ | |
| o.m = false; | |
| hk(o.a, Ed, o.G, false, o); | |
| hk(o.a, Cd, o.F, false, o); | |
| hk(o.a, Dd, o.B, false, o); | |
| hk(o.a, Bd, o.w, false, o); | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {string} end | |
| * @param {string} func | |
| * @return {undefined} | |
| */ | |
| var ls = function(options, end, func) { | |
| if (options.C) { | |
| options.C.log(end, func); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| js.prototype.G = function() { | |
| if (!this.m) { | |
| this.dispatchEvent(new os); | |
| var c = Uf(this.c); | |
| c.idx = this.b; | |
| /** @type {number} */ | |
| c.time = (new Date).getTime() - this.g; | |
| ls(this, "ttsplaystart", c); | |
| /** @type {boolean} */ | |
| this.m = true; | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| js.prototype.F = function() { | |
| this.b += 1; | |
| if (this.b < this.j.length) { | |
| this.a.play(this.j[this.b]); | |
| ps(this); | |
| } else { | |
| this.dispatchEvent(new ms); | |
| ks(this); | |
| var c = Uf(this.c); | |
| c.idx = this.b; | |
| /** @type {number} */ | |
| c.time = (new Date).getTime() - this.g; | |
| ls(this, "ttsfinish", c); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| js.prototype.B = function() { | |
| var c = Uf(this.c); | |
| c.idx = this.b; | |
| /** @type {number} */ | |
| c.time = (new Date).getTime() - this.g; | |
| ls(this, "ttsinterrupted", c); | |
| this.dispatchEvent(new ms); | |
| ks(this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| js.prototype.w = function() { | |
| var c = Uf(this.c); | |
| c.idx = this.b; | |
| /** @type {number} */ | |
| c.time = (new Date).getTime() - this.g; | |
| ls(this, "ttserror", c); | |
| this.dispatchEvent(new ms); | |
| ks(this); | |
| }; | |
| /** | |
| * @param {!Object} s | |
| * @return {undefined} | |
| */ | |
| var ps = function(s) { | |
| var newAllowOptions = s.j[s.b + 1]; | |
| if (null != newAllowOptions) { | |
| s.a.rh(newAllowOptions); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var os = function() { | |
| T.call(this, "play_start_playlist"); | |
| }; | |
| C(os, T); | |
| /** | |
| * @return {undefined} | |
| */ | |
| var ms = function() { | |
| T.call(this, Qd); | |
| }; | |
| C(ms, T); | |
| var qs = ve("a"); | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {!Function} val | |
| * @return {undefined} | |
| */ | |
| qs.prototype.j = function(name, type, val) { | |
| rs(name, type, val, A(this.c, this), A(this.g, this)); | |
| }; | |
| /** | |
| * @param {!Object} node | |
| * @param {string} context | |
| * @param {!Function} x | |
| * @param {number} key | |
| * @param {?} func | |
| * @return {undefined} | |
| */ | |
| var rs = function(node, context, x, key, func) { | |
| /** @type {!Array} */ | |
| var keys = []; | |
| key(keys, context); | |
| /** @type {string} */ | |
| context = ""; | |
| /** @type {number} */ | |
| key = 0; | |
| for (; key < keys.length; key++) { | |
| var next = We(context + keys[key]); | |
| if (next.length <= x) { | |
| /** @type {string} */ | |
| context = context + keys[key]; | |
| } else { | |
| if (!Te(context)) { | |
| node.push(We(context)); | |
| /** @type {string} */ | |
| context = ""; | |
| } | |
| next = We(keys[key]); | |
| if (next.length <= x) { | |
| context = keys[key]; | |
| } else { | |
| func(node, next, x); | |
| } | |
| } | |
| } | |
| if (!Te(context)) { | |
| node.push(We(context)); | |
| } | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {string} name | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| qs.prototype.g = function(key, name, a) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < name.length; i = i + a) { | |
| key.push(name.substr(i, a)); | |
| } | |
| }; | |
| /** @type {!RegExp} */ | |
| var ss = RegExp(" ", "g"); | |
| /** @type {!RegExp} */ | |
| var ts = RegExp("([?.,;:!][ ]+)|([\u3001\u3002\uff01\uff08\uff09\uff0c\uff0e\uff1a\uff1b\uff1f][ ]?)", "g"); | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| qs.prototype.c = function(name, type) { | |
| us(name, type, ss); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| qs.prototype.b = function(name, type) { | |
| us(name, type, ts); | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < name.length; i++) { | |
| var b = { | |
| length : name[i].length | |
| }; | |
| if (this.a) { | |
| this.a.log("tbphrase", b); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} context | |
| * @param {string} s | |
| * @param {!RegExp} x | |
| * @return {undefined} | |
| */ | |
| var us = function(context, s, x) { | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; x.test(s);) { | |
| var l = x.lastIndex; | |
| if (l > i) { | |
| context.push(s.substr(i, l - i)); | |
| } | |
| i = l; | |
| } | |
| if (s.length > i) { | |
| context.push(s.substr(i)); | |
| } | |
| }; | |
| /** @type {!Array} */ | |
| var vs = [0, 200]; | |
| var ws = { | |
| af : 1, | |
| ar : 1, | |
| bn : 1, | |
| bs : 1, | |
| ca : 1, | |
| cs : 1, | |
| cy : 1, | |
| da : 1, | |
| de : 1, | |
| el : 1, | |
| en : 1, | |
| eo : 1, | |
| es : 1, | |
| fi : 1, | |
| fr : 1, | |
| hi : 1, | |
| hr : 1, | |
| hu : 1, | |
| hy : 1, | |
| id : 1, | |
| is : 1, | |
| it : 1, | |
| ja : 1, | |
| ko : 1, | |
| la : 1, | |
| lv : 1, | |
| mk : 1, | |
| nl : 1, | |
| no : 1, | |
| pl : 1, | |
| pt : 1, | |
| ro : 1, | |
| ru : 1, | |
| sk : 1, | |
| sq : 1, | |
| sr : 1, | |
| sv : 1, | |
| sw : 1, | |
| ta : 1, | |
| th : 1, | |
| tr : 1, | |
| vi : 1, | |
| zh : 1, | |
| "zh-cn" : 1, | |
| "zh-tw" : 1 | |
| }; | |
| /** | |
| * @param {number} b | |
| * @param {?} L | |
| * @param {?} n | |
| * @return {undefined} | |
| */ | |
| var xs = function(b, L, n) { | |
| Aj.call(this); | |
| /** @type {number} */ | |
| this.j = b; | |
| this.I = new qs(Wp.M()); | |
| this.L = L; | |
| /** @type {string} */ | |
| this.w = this.K = this.c = this.g = ""; | |
| /** @type {number} */ | |
| this.A = 0; | |
| /** @type {boolean} */ | |
| this.F = false; | |
| this.a = new js("tts", Wp.M()); | |
| /** @type {boolean} */ | |
| this.O = null != this.a.a; | |
| this.o = xl || wl; | |
| U(this.a, Qd, this.C, false, this); | |
| U(this.j, p, this.H, false, this); | |
| /** @type {(null|string)} */ | |
| this.G = (b = /(sa=[^#&]+)/.exec(window.location.href)) ? b[0] : null; | |
| /** @type {(null|string)} */ | |
| this.B = (b = /ttsspeed=([^&]+)/.exec(window.location.href)) ? b[0] : null; | |
| /** @type {number} */ | |
| this.b = 0; | |
| /** @type {boolean} */ | |
| this.N = !!n; | |
| /** @type {string} */ | |
| this.m = ""; | |
| }; | |
| C(xs, Aj); | |
| /** | |
| * @return {undefined} | |
| */ | |
| xs.prototype.J = function() { | |
| xs.v.J.call(this); | |
| hk(this.a, Qd, this.C, false, this); | |
| hk(this.j, p, this.H, false, this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| xs.prototype.C = function() { | |
| this.j.ma(false); | |
| }; | |
| /** | |
| * @param {?} g | |
| * @param {!Array} b | |
| * @param {?} areMutuallyExclusive | |
| * @param {number} parentType1 | |
| * @param {?} selectionSet1 | |
| * @param {?} v23 | |
| * @return {?} | |
| */ | |
| var ys = function(g, b, areMutuallyExclusive, parentType1, selectionSet1, v23) { | |
| return qf("/translate_tts?ie=UTF-8&q=", Xe(b), "&tl=", areMutuallyExclusive, "&total=", parentType1, "&idx=", selectionSet1, "&textlen=", b.length, zr(b), g.L, v23); | |
| }; | |
| /** | |
| * @param {string} a | |
| * @param {string} b | |
| * @param {string} s | |
| * @return {undefined} | |
| */ | |
| xs.prototype.update = function(a, b, s) { | |
| /** @type {!RegExp} */ | |
| var regex = RegExp("([^?.,;:!\"#$%&'()*+\\-/<=>?@[\\]^_`{|}~\u3001\u3002\uff01\uff08\uff09\uff0c\uff0e\uff1a\uff1b\uff1f])"); | |
| /** @type {string} */ | |
| this.m = ""; | |
| if (null != s) { | |
| /** @type {number} */ | |
| var dx = 0; | |
| for (; dx < Qm(s); dx++) { | |
| var f = Rm(s, dx); | |
| var url = zm(vm(f, 0)); | |
| var hash_pos = Am(vm(f, 0)); | |
| url = rm(f).substring(url, hash_pos); | |
| f = wm(um(f, 0)); | |
| if (url == f && regex.test(url)) { | |
| this.m = Gm(s); | |
| break; | |
| } | |
| } | |
| } | |
| /** @type {number} */ | |
| this.b = 0; | |
| if (this.O) { | |
| if (a != this.g || b != this.c) { | |
| /** @type {string} */ | |
| this.g = a; | |
| /** @type {string} */ | |
| this.c = b; | |
| /** @type {boolean} */ | |
| s = false; | |
| } else { | |
| /** @type {boolean} */ | |
| s = true; | |
| } | |
| if (!s) { | |
| ns(this.a); | |
| /** @type {boolean} */ | |
| this.F = !this.O || !b || Te(a) || this.o && a.length > vs[ws[b.toLowerCase()]] ? false : b.toLowerCase() in ws; | |
| } | |
| zs(this, this.F); | |
| } else { | |
| zs(this, false); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| xs.prototype.play = function() { | |
| if (this.g != this.K || this.c != this.w || this.b != this.A) { | |
| var data; | |
| if (this.o) { | |
| /** @type {!Array} */ | |
| data = [this.g]; | |
| } else { | |
| data = vs[ws[this.c.toLowerCase()]]; | |
| /** @type {!Array} */ | |
| var a = []; | |
| var c = this.I; | |
| var index = this.g.replace(/[ \u3000\n\r\t\s]+/g, " "); | |
| rs(a, index, data, A(c.b, c), A(c.j, c)); | |
| /** @type {!Array} */ | |
| data = a; | |
| } | |
| /** @type {!Array} */ | |
| a = []; | |
| /** @type {string} */ | |
| c = ""; | |
| if (null != this.G) { | |
| /** @type {string} */ | |
| c = c + ("&" + this.G); | |
| } | |
| if (null != this.B) { | |
| /** @type {string} */ | |
| c = c + ("&ttsspeed=" + this.B); | |
| } else { | |
| if (0 != this.b) { | |
| /** @type {string} */ | |
| c = c + ("&ttsspeed=" + this.b); | |
| } | |
| } | |
| if (this.m) { | |
| /** @type {string} */ | |
| c = c + ("&hint=" + this.m); | |
| } | |
| /** @type {number} */ | |
| index = 0; | |
| for (; index < data.length; index++) { | |
| a.push(ys(this, data[index], this.c, data.length, index, c)); | |
| } | |
| this.a.set(a, { | |
| textlen : this.g.length, | |
| tl : this.c | |
| }); | |
| this.K = this.g; | |
| this.w = this.c; | |
| this.A = this.b; | |
| } | |
| data = this.a; | |
| if (data.a.Qf()) { | |
| data.a.Vc(); | |
| } | |
| U(data.a, Ed, data.G, false, data); | |
| U(data.a, Cd, data.F, false, data); | |
| U(data.a, Dd, data.B, false, data); | |
| U(data.a, Bd, data.w, false, data); | |
| /** @type {number} */ | |
| data.g = (new Date).getTime(); | |
| ls(data, "ttsstart", data.c); | |
| data.a.play(data.j[data.b]); | |
| ps(data); | |
| if (this.N) { | |
| /** @type {number} */ | |
| this.b = 0 == this.b ? .24 : 0; | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| xs.prototype.H = function() { | |
| if (this.j.Ea()) { | |
| this.play(); | |
| } else { | |
| ns(this.a); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} me | |
| * @param {boolean} value | |
| * @return {undefined} | |
| */ | |
| var zs = function(me, value) { | |
| me.j.setVisible(value); | |
| if (!value) { | |
| ns(me.a); | |
| } | |
| }; | |
| /** | |
| * @param {?} descriptor | |
| * @return {undefined} | |
| */ | |
| var As = function(descriptor) { | |
| Kr.call(this, descriptor, "ttl"); | |
| /** @type {null} */ | |
| this.b = this.c = null; | |
| this.o = new So(MSG_LISTEN, void 0, new Vo(be)); | |
| this.w = new xs(this.o, "&client=t&prev=lc"); | |
| }; | |
| C(As, Kr); | |
| /** | |
| * @return {undefined} | |
| */ | |
| As.prototype.ra = function() { | |
| As.v.ra.call(this); | |
| this.Y(di(k)); | |
| }; | |
| /** | |
| * @param {!Object} v | |
| * @return {undefined} | |
| */ | |
| As.prototype.Y = function(v) { | |
| As.v.Y.call(this, v); | |
| this.l().appendChild(ip(Ip)); | |
| this.c = O("gt-ct-text", this.l()); | |
| v = O("gt-ct-tts", this.l()); | |
| this.b = O("gt-ct-translit", this.l()); | |
| this.o.R(v); | |
| }; | |
| /** | |
| * @param {string} t | |
| * @param {string} id | |
| * @param {?} i | |
| * @param {!Array} d | |
| * @return {?} | |
| */ | |
| As.prototype.update = function(t, id, i, d) { | |
| As.v.update.call(this, t, id, i, d); | |
| Q(this.c, t); | |
| this.w.update(t, id); | |
| if (this.data) { | |
| /** @type {!Array} */ | |
| t = []; | |
| if (0 < Nm(this.data)) { | |
| /** @type {number} */ | |
| id = 0; | |
| for (; id < Nm(this.data); id++) { | |
| i = Om(this.data, id); | |
| if (null != i.kb[3] && "" != Cm(i)) { | |
| t.push(Cm(i)); | |
| } | |
| } | |
| } | |
| if (0 < t.length) { | |
| Q(this.b, t.join(" ")); | |
| S(this.b, true); | |
| } else { | |
| S(this.b, false); | |
| } | |
| } | |
| this.setVisible(true); | |
| return true; | |
| }; | |
| /** | |
| * @param {?} descriptor | |
| * @param {!Array} config | |
| * @param {?} other | |
| * @return {undefined} | |
| */ | |
| var Bs = function(descriptor, config, other) { | |
| Kr.call(this, descriptor, "cm"); | |
| /** @type {!Array} */ | |
| this.X = config; | |
| this.I = new As(descriptor); | |
| /** @type {null} */ | |
| this.H = null; | |
| this.Z = other; | |
| this.b = new W; | |
| this.Ia(this.b); | |
| this.w = new W; | |
| this.Ia(this.w); | |
| /** @type {null} */ | |
| this.c = this.A = this.L = this.N = this.P = null; | |
| /** @type {!Array} */ | |
| this.o = []; | |
| }; | |
| C(Bs, Kr); | |
| y = Bs.prototype; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.ra = function() { | |
| Bs.v.ra.call(this); | |
| this.Y(di(k)); | |
| }; | |
| /** | |
| * @param {!Object} selector | |
| * @return {undefined} | |
| */ | |
| y.Y = function(selector) { | |
| Bs.v.Y.call(this, selector); | |
| this.l().appendChild(ip(Gp)); | |
| this.I.R(O("gt-cc-tc", this.l())); | |
| this.H = O("gt-cc-t", this.l()); | |
| S(this.H, false); | |
| this.b.R(O("gt-cc-l-i", this.l())); | |
| this.w.R(O("gt-cc-r-i", this.l())); | |
| selector = O("gt-cc-bc", this.l()); | |
| this.P = new eo("", new Vo("prev-button")); | |
| this.P.aa(selector); | |
| this.N = new eo("", new Vo("next-button")); | |
| this.N.aa(selector); | |
| this.L = new eo("", new Vo("big-clear-button")); | |
| this.L.aa(selector); | |
| this.A = O("gt-cc-exp", this.l()); | |
| this.c = new Sr(this.P, this.N, this.L, this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.V = function() { | |
| Bs.v.V.call(this); | |
| X(this).a(this, "a", this.Fi); | |
| X(this).a(this, "b", this.Gi); | |
| X(this).a(this.A, r, this.oi); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.oi = function() { | |
| S(this.A, false); | |
| xf(this.o, function(varTable) { | |
| varTable.setVisible(true); | |
| }); | |
| var cssText = {}; | |
| Ll(this.b, function(rule) { | |
| if (rule.isVisible()) { | |
| /** @type {string} */ | |
| cssText[rule.Ua()] = rule.bd ? "e" : "ne"; | |
| } | |
| }); | |
| this.log("expand", cssText); | |
| }; | |
| /** | |
| * @param {!Function} a | |
| * @return {undefined} | |
| */ | |
| y.Fi = function(a) { | |
| a = Fi(a.target); | |
| Cs(this, this.g, this.j, a, false, "clks"); | |
| }; | |
| /** | |
| * @param {!Function} a | |
| * @return {undefined} | |
| */ | |
| y.Gi = function(a) { | |
| a = Fi(a.target); | |
| Cs(this, this.j, this.g, a, false, "clkt"); | |
| }; | |
| /** | |
| * @param {!Object} inputService | |
| * @return {undefined} | |
| */ | |
| y.Eg = function(inputService) { | |
| var tParentMatrix = this.c.a[0]; | |
| Cs(this, tParentMatrix.b, tParentMatrix.a, inputService.text, true, "selalt"); | |
| }; | |
| /** | |
| * @param {?} message | |
| * @return {undefined} | |
| */ | |
| y.Ci = function(message) { | |
| var messageText = message.text; | |
| if (!(50 < messageText.length)) { | |
| var tParentMatrix = this.c.a[0]; | |
| if (message.w) { | |
| Cs(this, tParentMatrix.b, tParentMatrix.a, messageText, true, "sel"); | |
| } else { | |
| Cs(this, tParentMatrix.a, tParentMatrix.b, messageText, true, "sel"); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} e | |
| * @param {string} target | |
| * @param {string} mode | |
| * @param {string} value | |
| * @param {boolean} expand | |
| * @param {string} pane | |
| * @return {undefined} | |
| */ | |
| var Cs = function(e, target, mode, value, expand, pane) { | |
| if (value != e.text || target != e.g) { | |
| if (target == qe) { | |
| target = pe; | |
| } | |
| if (expand) { | |
| Q(e.I.c, "..."); | |
| Gr(e.X, target, mode, e.m, value, A(e.W, e, value, target, mode), false, "UTF-8", new Xq("source=" + pane)); | |
| } else { | |
| tl(e.Z, target, mode, value, pane); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} data | |
| * @param {string} id | |
| * @param {?} index | |
| * @param {!Array} b | |
| * @return {?} | |
| */ | |
| Bs.prototype.update = function(data, id, index, b) { | |
| Bs.v.update.call(this, data, id, index, b); | |
| S(this.H, 1 != this.c.a.length); | |
| /** @type {number} */ | |
| var $2 = 0; | |
| /** @type {number} */ | |
| var $3 = 0; | |
| /** @type {boolean} */ | |
| var g = true; | |
| /** @type {!Array} */ | |
| this.o = []; | |
| Ll(this.b, function(e) { | |
| var result = e.update(data, id, index, b); | |
| /** @type {number} */ | |
| $2 = $2 | result; | |
| if (result) { | |
| if (g) { | |
| /** @type {boolean} */ | |
| g = false; | |
| } else { | |
| if (!e.Qe) { | |
| e.setVisible(false); | |
| this.o.push(e); | |
| } | |
| } | |
| } | |
| }, this); | |
| Ds(this, this.b); | |
| /** @type {boolean} */ | |
| var e = 0 < this.o.length; | |
| S(this.A, e); | |
| Ll(this.w, function(callbacks) { | |
| /** @type {number} */ | |
| $3 = $3 | callbacks.update(data, id, index, b); | |
| }, this); | |
| var value = $2 || $3; | |
| this.setVisible(value); | |
| this.I.update(data, id, index, b); | |
| if (value) { | |
| var cssText = {}; | |
| Ll(this.b, function(rule) { | |
| if (rule.isVisible()) { | |
| /** @type {string} */ | |
| cssText[rule.Ua()] = rule.bd ? "e" : "ne"; | |
| } | |
| }); | |
| Ll(this.w, function(rule) { | |
| if (rule.isVisible()) { | |
| /** @type {string} */ | |
| cssText[rule.Ua()] = rule.bd ? "e" : "ne"; | |
| } | |
| }); | |
| /** @type {string} */ | |
| cssText[this.Ua()] = e ? "e" : "ne"; | |
| this.log(Ad, cssText); | |
| } | |
| return value; | |
| }; | |
| /** | |
| * @param {string} key | |
| * @param {string} name | |
| * @param {!Function} d | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| Bs.prototype.W = function(key, name, d, a) { | |
| this.c.push(key, name, d, a); | |
| if (!this.isVisible()) { | |
| key = this.c; | |
| if (1 < key.a.length) { | |
| key.a.splice(key.a.length - 1); | |
| /** @type {number} */ | |
| key.b = key.a.length - 1; | |
| Tr(key); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} b | |
| * @param {!Object} a_val | |
| * @return {undefined} | |
| */ | |
| var Ds = function(b, a_val) { | |
| /** @type {!Array} */ | |
| var c = []; | |
| Ll(a_val, function(res) { | |
| if (res.isVisible() || Ef(this.o, res)) { | |
| var a = res.Ed || res.text; | |
| if (Ef(c, a)) { | |
| res.Lf(); | |
| } else { | |
| c.push(a); | |
| } | |
| } | |
| }, b); | |
| }; | |
| /** | |
| * @param {!Object} h | |
| * @return {?} | |
| */ | |
| var Es = function(h) { | |
| return '<div id="' + Z(h.id) + '" class="cp-promo" style="display:none"><div class="cp-promo-c"><div class="cp-dismiss"></div><a href="' + Z(h.url) + '"><div class="cp-promo-graphic"></div><div class="cp-promo-text-c"><div class="cp-promo-text"><div class="cp-promo-title">' + Z(h.zj) + '</div><div class="cp-promo-subtext">' + Z(h.wj) + '</div></div></div><div class="cp-promo-bottom"><div class="cp-promo-link"><div class="cp-promo-link-badge"></div><div class="cp-promo-link-arrow"></div><div class="cp-promo-link-text">' + | |
| Z(h.qd) + '</div><div class="cp-promo-link-subtext">' + Z(h.Mi) + "</div></div></div></a></div></div>"; | |
| }; | |
| /** | |
| * @param {!Object} h | |
| * @return {?} | |
| */ | |
| var Fs = function(h) { | |
| return '<div id="' + Z(h.id) + '" class="verified-translation"><div class="vt-description">' + Z(h.$e) + '</div><div class="vt-buttons"><div class="vt-link"><a class="vt-link-text" href="' + Z(h.url) + '">' + Z(h.qd) + '</a></div><div class="vt-dismiss">' + Z(h.Qh) + "</div></div></div>"; | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {!Array} b | |
| * @param {number} h | |
| * @param {(Object|string)} o | |
| * @param {?} t | |
| * @param {number} s | |
| * @return {undefined} | |
| */ | |
| var Gs = function(a, b, h, o, t, s) { | |
| W.call(this); | |
| this.c = Wp.M(); | |
| this.A = a; | |
| /** @type {!Array} */ | |
| this.m = b; | |
| /** @type {number} */ | |
| this.w = h; | |
| /** @type {(Object|string)} */ | |
| this.o = o; | |
| this.H = t; | |
| /** @type {number} */ | |
| this.b = s; | |
| /** @type {boolean} */ | |
| this.j = false; | |
| }; | |
| C(Gs, W); | |
| /** | |
| * @param {boolean} id | |
| * @return {undefined} | |
| */ | |
| Gs.prototype.setVisible = function(id) { | |
| if (id && !this.j) { | |
| this.c.log(cb, "show-" + this.b); | |
| S(this.g, true); | |
| } else { | |
| S(this.g, false); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} s | |
| * @return {undefined} | |
| */ | |
| Gs.prototype.Y = function(s) { | |
| Gs.v.Y.call(this, s); | |
| this.g = ip(Es, { | |
| qd : this.A, | |
| Mi : this.m, | |
| zj : this.w, | |
| wj : this.o, | |
| url : this.H, | |
| id : this.b | |
| }); | |
| s.appendChild(this.g); | |
| var a = O("cp-dismiss", s); | |
| X(this).a(a, r, this.I); | |
| s = O("cp-promo-link", s); | |
| X(this).a(s, r, this.L); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Gs.prototype.I = function() { | |
| this.c.log(cb, "dismiss-" + this.b); | |
| $p(this.c, ha + this.b); | |
| this.setVisible(false); | |
| /** @type {boolean} */ | |
| this.j = true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Gs.prototype.L = function() { | |
| this.c.log(cb, "click-" + this.b); | |
| }; | |
| /** | |
| * @param {?} promiseOrResolver | |
| * @param {?} name | |
| * @param {?} prefixAgnostic | |
| * @return {undefined} | |
| */ | |
| var Hs = function(promiseOrResolver, name, prefixAgnostic) { | |
| /** @type {string} */ | |
| var id = "md"; | |
| if (null != prefixAgnostic && prefixAgnostic) { | |
| /** @type {string} */ | |
| id = "m" + id; | |
| } | |
| Lr.call(this, promiseOrResolver, id, MSG_DEFINITIONS_OF, ""); | |
| this.L = null != name ? name : true; | |
| }; | |
| C(Hs, Lr); | |
| /** | |
| * @param {number} a | |
| * @param {string} id | |
| * @param {number} x | |
| * @param {!Object} p | |
| * @return {?} | |
| */ | |
| Hs.prototype.update = function(a, id, x, p) { | |
| Hs.v.update.call(this, a, id, x, p); | |
| if (!p || 0 == Y(p.a, 12) && 0 == Y(p.a, 15)) { | |
| return false; | |
| } | |
| ji(this.b); | |
| /** @type {number} */ | |
| this.c = 0; | |
| a = Y(p.a, 12); | |
| /** @type {boolean} */ | |
| id = 3 > a; | |
| /** @type {number} */ | |
| var i = x = 0; | |
| for (; i < Y(p.a, 12); i++) { | |
| x = x + Tm(p, i).a(); | |
| } | |
| x = 5 > x ? x : 3; | |
| /** @type {number} */ | |
| i = this.A = 0; | |
| for (; i < a; ++i) { | |
| var v = Tm(p, i); | |
| var m; | |
| m = Tm(p, i).g[2]; | |
| m = null != m ? m : ""; | |
| var value = P(k, { | |
| "class" : Zb | |
| }); | |
| this.b.appendChild(value); | |
| var node = v.g[0]; | |
| Q(value, null != node ? node : ""); | |
| /** @type {!Object} */ | |
| value = p; | |
| /** @type {string} */ | |
| node = id; | |
| /** @type {number} */ | |
| var r = x; | |
| /** @type {number} */ | |
| var label = Math.ceil(r / a); | |
| var d = P(k, { | |
| "class" : "gt-def-list" | |
| }); | |
| var pos = ag(this.g) ? sd : Qc; | |
| R(d, { | |
| direction : pos | |
| }); | |
| /** @type {number} */ | |
| pos = 0; | |
| for (; pos < v.a(); ++pos) { | |
| var style = v.c(pos); | |
| var el; | |
| el = style.a[0]; | |
| el = null != el ? el : ""; | |
| var city; | |
| city = style.a[2]; | |
| city = null != city ? city : ""; | |
| var val = value; | |
| /** @type {!Array} */ | |
| var def = []; | |
| /** @type {number} */ | |
| var QueryLanguageComponent = 0; | |
| for (; QueryLanguageComponent < Y(val.a, 11); ++QueryLanguageComponent) { | |
| var super$0 = Sm(val, QueryLanguageComponent); | |
| /** @type {number} */ | |
| var key = 0; | |
| for (; key < super$0.a(); ++key) { | |
| var v = super$0.c(key); | |
| var url = style.a[1]; | |
| var cssClassName = v.a[1]; | |
| if ((null != url ? url : "") == (null != cssClassName ? cssClassName : "")) { | |
| /** @type {!Array} */ | |
| url = []; | |
| /** @type {number} */ | |
| cssClassName = 0; | |
| for (; cssClassName < Y(v.a, 0); ++cssClassName) { | |
| Gf(url, Fm(v, cssClassName)); | |
| } | |
| Gf(def, url); | |
| } | |
| } | |
| } | |
| /** @type {!Array} */ | |
| style = def; | |
| if (val = 1 > pos || node && pos < label && this.A < r) { | |
| this.A += 1; | |
| } | |
| def = ag(this.j) ? sd : Qc; | |
| style = jp(Kp, { | |
| Oh : el, | |
| kg : city, | |
| xj : MSG_SYNONYMS_LOWERCASE, | |
| ih : style, | |
| Tf : def, | |
| Mh : this.L | |
| }); | |
| def = O("gt-mt-md", style); | |
| this.$.push([def, el]); | |
| if (el = O("gt-ex-mt", style)) { | |
| this.$.push([el, city]); | |
| } | |
| if ((el = O("gt-def-synonym-title", style)) && ag(this.m) != ag(this.g)) { | |
| city = ag(this.m); | |
| R(el, nb, city ? sd : Qc); | |
| R(el, "padding-" + (city ? Pc : qd), "8px"); | |
| el.style[E ? "styleFloat" : "cssFloat"] = city ? qd : Pc; | |
| } | |
| el = Or(style, val); | |
| d.appendChild(el); | |
| this.c += 1; | |
| } | |
| this.b.appendChild(d); | |
| } | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < Y(p.a, 15); i++) { | |
| /** @type {number} */ | |
| value = i; | |
| value = new om(Tl(p.a, 15)[value]); | |
| v = value.a[1]; | |
| r = null != v ? v : ""; | |
| v = value.a[2]; | |
| v = null != v ? v : ""; | |
| node = P(k, { | |
| "class" : "gt-def-row" | |
| }); | |
| r = P(k, { | |
| "class" : "gt-kp-desc" | |
| }, r); | |
| label = P("A"); | |
| value = value.a[3]; | |
| label.setAttribute("href", null != value ? value : ""); | |
| label.setAttribute("target", "_blank"); | |
| value = P(sa, { | |
| "class" : "gt-kp-image" | |
| }); | |
| value.setAttribute("src", v); | |
| label.appendChild(value); | |
| node.appendChild(label); | |
| node.appendChild(r); | |
| this.b.appendChild(node); | |
| } | |
| if (m) { | |
| this.Ed = m; | |
| Mr(this, m); | |
| } | |
| if (!id && this.c > 1 * a || id && this.c > x) { | |
| p = MSG_N_MORE_DEFINITIONS_LABEL.replace(aa, this.c - this.A); | |
| Nr(this, p, MSG_FEWER_DEFINITIONS_LABEL); | |
| } else { | |
| p = Th(Vb, this.l()); | |
| /** @type {number} */ | |
| m = 0; | |
| for (; m < p.length; m++) { | |
| a = p[m]; | |
| if (O("gt-def-synonym", a)) { | |
| K(a, Vb); | |
| } | |
| } | |
| } | |
| this.setVisible(true); | |
| return true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Hs.prototype.V = function() { | |
| Hs.v.V.call(this); | |
| X(this).a(this.l(), r, this.X); | |
| }; | |
| /** | |
| * @param {string} selector | |
| * @return {undefined} | |
| */ | |
| Hs.prototype.Y = function(selector) { | |
| Hs.v.Y.call(this, selector); | |
| }; | |
| /** | |
| * @param {string} key | |
| * @return {undefined} | |
| */ | |
| Hs.prototype.X = function(key) { | |
| if (Bh(key.target, Yb)) { | |
| this.dispatchEvent(new T("a", key.target)); | |
| } | |
| }; | |
| var Is = ue(); | |
| Is.prototype.m = x(""); | |
| /** | |
| * @param {number} g | |
| * @param {number} b | |
| * @param {number} c | |
| * @param {!Object} d | |
| * @param {!Object} e | |
| * @return {undefined} | |
| */ | |
| var Js = function(g, b, c, d, e) { | |
| /** @type {number} */ | |
| this.g = g; | |
| /** @type {number} */ | |
| this.j = b; | |
| /** @type {number} */ | |
| this.c = c; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| /** @type {number} */ | |
| g = 0; | |
| for (; g < d.length; ++g) { | |
| this.a.push(d[g].toLowerCase()); | |
| } | |
| /** @type {!Array} */ | |
| this.b = []; | |
| /** @type {number} */ | |
| g = 0; | |
| for (; g < e.length; ++g) { | |
| this.b.push(e[g].toLowerCase()); | |
| } | |
| }; | |
| C(Js, Is); | |
| /** | |
| * @param {string} name | |
| * @param {string} type | |
| * @param {string} data | |
| * @param {string} value | |
| * @return {?} | |
| */ | |
| Js.prototype.m = function(name, type, data, value) { | |
| if ("" != this.c && this.c != data) { | |
| return ""; | |
| } | |
| data = Ks(name, type, value, this.g, this.j, this.a, this.b); | |
| return "" != data ? data : Ks(name, type, value, this.j, this.g, this.b, this.a); | |
| }; | |
| /** | |
| * @param {?} a | |
| * @param {string} b | |
| * @param {!Object} start | |
| * @param {?} one | |
| * @param {string} two | |
| * @param {!Object} path | |
| * @param {!Object} g | |
| * @return {?} | |
| */ | |
| var Ks = function(a, b, start, one, two, path, g) { | |
| if (a == one && b == two) { | |
| /** @type {number} */ | |
| a = 0; | |
| for (; a < Nm(start); a++) { | |
| b = Om(start, a); | |
| one = Bm(b).toLowerCase(); | |
| if (0 <= wf(path, one)) { | |
| return one; | |
| } | |
| b = b.Ta().toLowerCase(); | |
| if (0 <= wf(g, b)) { | |
| return b; | |
| } | |
| } | |
| } | |
| return ""; | |
| }; | |
| /** @type {!Array} */ | |
| var Ls = [{ | |
| oa : new Js(v, t, v, ["\u0434\u0430\u043c\u0430", "\u0441\u043e\u0431\u0430\u043a\u0430", "\u0441\u043e\u0431\u0430\u0447\u043a\u0430", "\u0434\u0430\u043c\u0430 \u0441 \u0441\u043e\u0431\u0430\u0447\u043a\u043e\u0439"], ["lady", "dog", "dog", "lady with a dog"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/annasergeevna.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043c\u0438\u043b\u044b\u0439", "\u0433\u0440\u0435\u0448\u043d\u0438\u043a", "\u0433\u0440\u0435\u0445", "\u0433\u0440\u0435\u0448\u043d\u0438\u0446\u0430"], ["sweet", "sinner", "sin", "sinner"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/annasergeevna_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0447\u0435\u043b\u043e\u0432\u0435\u043a", "\u0444\u0443\u0442\u043b\u044f\u0440", "\u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430", "\u0441\u043a\u043e\u0440\u043b\u0443\u043f\u0430"], ["man", "case", "shell", "shell"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/belikov.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043d\u0435\u0442"], ["no"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/belikov_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0441\u0435\u0441\u0442\u0440\u0430", "\u0442\u0440\u0438 \u0441\u0435\u0441\u0442\u0440\u044b"], ["sister", "three sisters"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_1.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0434\u043e\u043c", "\u043c\u0435\u0437\u043e\u043d\u0438\u043d", "\u0434\u043e\u043c \u0441 \u043c\u0435\u0437\u043e\u043d\u0438\u043d\u043e\u043c"], ["house", "mezzanine", "house with mezzanine"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_2.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0437\u043b\u043e\u0439", "\u043c\u0430\u043b\u044c\u0447\u0438\u043a", "\u0437\u043b\u043e\u0439 \u043c\u0430\u043b\u044c\u0447\u0438\u043a"], ["evil", "boy", "evil boy"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_3.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043d\u0435\u0432\u0435\u0441\u0442\u0430"], ["bride"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_4.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0441\u043a\u0443\u0447\u043d\u044b\u0439", "\u0441\u043a\u0443\u043a\u0430", "\u0441\u043a\u0443\u0447\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f"], ["boring", "boredom", "boring story"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_5.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0446\u0432\u0435\u0442\u044b", "\u0437\u0430\u043f\u043e\u0437\u0434\u0430\u043b\u044b\u0439", "\u0446\u0432\u0435\u0442\u044b \u0437\u0430\u043f\u043e\u0437\u0434\u0430\u043b\u044b\u0435", "\u043f\u043e\u0437\u0434\u043d\u043e", "\u043f\u043e\u0437\u0434\u043d\u0438\u0439"], ["flowers", "belated", "belated flowers", "late"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/chekhov_6.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043e\u0432\u0440\u0430\u0433", "\u0432 \u043e\u0432\u0440\u0430\u0433\u0435"], ["ravine", "in a ravine"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u044f \u043d\u0435 \u0437\u043d\u0430\u044e"], ["i do not know"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0446\u0438\u043d\u0438\u043a", "\u0446\u0438\u043d\u0438\u0437\u043c"], ["cynic", "cynism"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, "\u0432\u043a\u0443\u0441\u043d\u043e \u043a\u043b\u0443\u0431\u043d\u0438\u043a\u0430 \u044f\u0433\u043e\u0434\u0430 \u0444\u0440\u0443\u043a\u0442 \u0430\u0440\u0431\u0443\u0437 \u0435\u0434\u0430".split(" "), "tasty strawberry berry fruit watermelon food".split(" ")), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/gurov.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0430\u043f\u043f\u0435\u0442\u0438\u0442\u0430"], ["bon appetit"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/gurov_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043f\u0440\u043e\u0441\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u043d\u044b\u0439"], ["enlightened"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/gurov_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0442\u043e\u0441\u043a\u0430", "\u0433\u0440\u0443\u0441\u0442\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c\u043d\u044b\u0439"], ["yearning", "sorrow", "sadness", "sadness", "sad"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/iona.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0436\u0435\u0440\u0442\u0432\u0430", "\u0441\u0442\u0440\u0430\u0434\u0430\u0442\u044c", "\u0441\u0442\u0440\u0430\u0434\u0430\u043b\u0438\u0446\u0430", "\u0441\u0442\u0440\u0430\u0434\u0430\u043b\u0435\u0446", "\u0432\u0435\u0447\u043d\u044b\u0439"], ["victim", "suffer", "sufferer", "eternal"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/iona_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0447\u0430\u0439\u043a\u0430", "\u043f\u0442\u0438\u0446\u0430"], ["seagull", "bird"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/konstantintreplev.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0441\u0442\u0440\u0430\u043d\u043d\u0438\u043a", "\u0431\u0440\u043e\u0434\u044f\u0433\u0430"], ["wanderer", "tramp"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/konstantintreplev_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0440\u043e\u0437\u0430", "\u0433\u043e\u0434", "\u0442\u0440\u0438 \u0433\u043e\u0434\u0430"], ["rose", "year", "three years"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/laptev.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, "\u043b\u044e\u0431\u043b\u044e;\u043b\u044e\u0431\u0438\u0442\u044c;\u044f \u0442\u0435\u0431\u044f \u043b\u044e\u0431\u043b\u044e;\u043b\u044e\u0431\u043e\u0432\u044c;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f;\u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f".split(";"), "love;love;i love you;love;artist;please".split(";")), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/laptev_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0440\u043e\u043c\u0430\u043d\u0442\u0438\u043a", "\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439"], ["romantic", "latest"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/laptev_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0431\u0438\u0437\u043d\u0435\u0441", "\u0434\u0435\u043b\u043e", "\u0432\u0438\u0448\u043d\u044f", "\u0441\u0430\u0434", "\u0432\u0438\u0448\u043d\u0435\u0432\u044b\u0439 \u0441\u0430\u0434"], ["business", "business", "cherry", "garden", "the cherry orchard"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/lopakhin.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0434\u0430"], ["yes"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/lopakhin_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0440\u0430\u0431\u043e\u0442\u0430"], ["work"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/lopakhin_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0436\u0438\u0437\u043d\u044c", "\u043c\u043e\u044f \u0436\u0438\u0437\u043d\u044c"], ["life", "my life"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/masha.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, "\u043f\u0440\u0438\u0432\u0435\u0442;\u0434\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c;\u0434\u043e\u0431\u0440\u044b\u0439 \u0432\u0435\u0447\u0435\u0440;\u0434\u043e\u0431\u0440\u043e\u0435 \u0443\u0442\u0440\u043e;\u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439;\u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435;\u043a\u0430\u043a \u0434\u0435\u043b\u0430;\u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0448\u044c;\u0447\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e;\u043a\u0430\u043a \u0436\u0438\u0437\u043d\u044c;\u043a\u0430\u043a \u0442\u044b".split(";"), | |
| "hello;good afternoon;good evening;good morning;how are you;what are you doing;what's new;what's up".split(";")), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/masha_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0445\u0438\u0449\u043d\u0438\u043a", "\u0432\u0430\u043c\u043f\u0438\u0440", "\u043e\u0445\u043e\u0442\u0430"], ["predator", "vampire", "hunting"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/masha_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, "\u043a\u043d\u0438\u0433\u0430 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 \u0430\u0432\u0442\u043e\u0440 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044c \u043f\u044c\u0435\u0441\u0430".split(" "), | |
| ["book", "literature", "composition", "history", "story", "art", "classic", "author", "writer", kd]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/petyatrofimov_callout.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0441\u0442\u0443\u0434\u0435\u043d\u0442", "\u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043a\u0430"], ["student", "student"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/petyatrofimov_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, "\u043f\u0430\u043b\u0430\u0442\u0430;\u043f\u0430\u043b\u0430\u0442\u0430 \u21166;\u043f\u0441\u0438\u0445\u0438\u0430\u0442\u0440\u0438\u044f;\u043f\u0441\u0438\u0445\u0438\u0430\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u043e\u043b\u044c\u043d\u0438\u0446\u0430;\u043f\u0441\u0438\u0445\u0443\u0448\u043a\u0430;\u0431\u043e\u043b\u044c\u043d\u0438\u0446\u0430;\u0434\u0443\u0440\u0434\u043e\u043c".split(";"), "ward;ward No6;psychiatry;mental hospital;nuthouse;hospital;loony bin".split(";")), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/ragin.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u043f\u043e\u0431\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0439", "\u043f\u043e\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "\u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0448"], ["defeated", "defeat", "loss"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/ragin_type.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0434\u044f\u0434\u044f"], ["uncle"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/sonya.gif" | |
| }, | |
| ea : true | |
| }, { | |
| oa : new Js(v, t, v, ["\u0430\u043b\u044c\u0442\u0440\u0443\u0438\u0441\u0442", "\u0434\u043e\u0431\u0440\u043e", "\u0445\u043e\u0440\u043e\u0448\u0438\u0439"], ["altruist", "good", "good"]), | |
| target : sc, | |
| ia : sa, | |
| attributes : { | |
| src : "//ssl.gstatic.com/translate/ee/sonya_type.gif" | |
| }, | |
| ea : true | |
| }]; | |
| /** | |
| * @param {?} p1__3354_SHARP_ | |
| * @return {undefined} | |
| */ | |
| var Ms = function(p1__3354_SHARP_) { | |
| Lr.call(this, p1__3354_SHARP_, "ee", "", ""); | |
| /** @type {boolean} */ | |
| this.Qe = true; | |
| }; | |
| C(Ms, Lr); | |
| /** @type {!Array} */ | |
| var Ns = []; | |
| /** | |
| * @param {!Object} v | |
| * @param {string} a | |
| * @param {!Function} n | |
| * @param {string} d | |
| * @return {?} | |
| */ | |
| Ms.prototype.update = function(v, a, n, d) { | |
| Ms.v.update.call(this, v, a, n, d); | |
| ji(this.b); | |
| var vertices = Ns; | |
| if (EGGS_RU_CHEKHOV) { | |
| vertices = vertices.concat(Ls); | |
| } | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < vertices.length; i++) { | |
| v = vertices[i]; | |
| var p = v.oa.m(a, n, this.m, d); | |
| if ("" != p) { | |
| return n = a = jp(Mp), v.target && (d = v.target, v.ea && (d = d + p), p = jp(Np, { | |
| yf : d | |
| }), n.appendChild(p), n = p), n.appendChild(P.apply(null, [v.ia, v.attributes])), this.b.appendChild(a), this.setVisible(true), true; | |
| } | |
| } | |
| return false; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ms.prototype.Lf = function() { | |
| if (this.w) { | |
| Q(this.w, ""); | |
| } | |
| }; | |
| /** | |
| * @param {?} i | |
| * @param {?} objSource | |
| * @param {string} objDestination | |
| * @param {!Array} other | |
| * @param {!Object} options | |
| * @param {?} url | |
| * @param {number} c | |
| * @return {undefined} | |
| */ | |
| var Ps = function(i, objSource, objDestination, other, options, url, c) { | |
| W.call(this); | |
| this.Z = i; | |
| this.Fa = objSource; | |
| /** @type {string} */ | |
| this.Ha = objDestination; | |
| /** @type {!Object} */ | |
| this.$ = options; | |
| this.Da = url; | |
| /** @type {!Array} */ | |
| this.X = other; | |
| this.U = new Ar(Os(this)); | |
| /** @type {number} */ | |
| this.g = c; | |
| /** @type {string} */ | |
| this.j = ""; | |
| /** @type {number} */ | |
| this.w = c; | |
| /** @type {null} */ | |
| this.P = null; | |
| this.I = Wp.M(); | |
| }; | |
| C(Ps, W); | |
| /** | |
| * @param {?} node | |
| * @return {?} | |
| */ | |
| var Os = function(node) { | |
| return node.X ? "webapp" : "t"; | |
| }; | |
| /** | |
| * @param {!Object} item | |
| * @return {undefined} | |
| */ | |
| var Qs = function(item) { | |
| var i = P(k, { | |
| id : "gt-res-formal" | |
| }); | |
| item.l().appendChild(i); | |
| var node = new Rp(""); | |
| node.Ba(16, true); | |
| node.aa(i); | |
| node.g(item.Fa); | |
| zn(node.c, node, 2); | |
| if (0 == item.w) { | |
| node.ma(true); | |
| } | |
| U(node, p, item.qa, false, item); | |
| item.L = node; | |
| i = P(k, { | |
| id : "gt-res-informal" | |
| }); | |
| item.l().appendChild(i); | |
| node = new Rp(""); | |
| node.Ba(16, true); | |
| node.aa(i); | |
| node.g(item.Ha); | |
| zn(node.c, node, 1); | |
| if (1 == item.w) { | |
| node.ma(true); | |
| } | |
| U(node, p, item.va, false, item); | |
| item.N = node; | |
| item.setVisible(false); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ps.prototype.qa = function() { | |
| if (this.m) { | |
| if (this.L.Ea()) { | |
| this.N.ma(false); | |
| /** @type {number} */ | |
| this.g = 0; | |
| aq(this.I, Os(this), zb, "formal", { | |
| hl : this.b, | |
| sl : this.c, | |
| tl : this.na, | |
| source : this.m, | |
| trans : this.j, | |
| changed : this.A != this.j | |
| }); | |
| } else { | |
| /** @type {number} */ | |
| this.g = 2; | |
| aq(this.I, Os(this), zb, "unpressformal", { | |
| hl : this.b, | |
| sl : this.c, | |
| tl : this.na, | |
| source : this.m, | |
| trans : this.j, | |
| changed : this.o != this.j | |
| }); | |
| } | |
| /** @type {boolean} */ | |
| this.P = true; | |
| tl(this.Z, "", "", this.m, "fmcl"); | |
| Rs(this); | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ps.prototype.va = function() { | |
| if (this.m) { | |
| if (this.N.Ea()) { | |
| this.L.ma(false); | |
| /** @type {number} */ | |
| this.g = 1; | |
| aq(this.I, Os(this), zb, "informal", { | |
| hl : this.b, | |
| sl : this.c, | |
| tl : this.na, | |
| source : this.m, | |
| trans : this.j, | |
| changed : this.H != this.j | |
| }); | |
| } else { | |
| /** @type {number} */ | |
| this.g = 2; | |
| aq(this.I, Os(this), zb, "unpressinformal", { | |
| hl : this.b, | |
| sl : this.c, | |
| tl : this.na, | |
| source : this.m, | |
| trans : this.j, | |
| changed : this.o != this.j | |
| }); | |
| } | |
| /** @type {boolean} */ | |
| this.P = true; | |
| tl(this.Z, "", "", this.m, "fmcl"); | |
| Rs(this); | |
| } | |
| }; | |
| /** | |
| * @param {string} value | |
| * @param {string} id | |
| * @param {string} p | |
| * @param {!Array} m | |
| * @param {!Object} a | |
| * @return {undefined} | |
| */ | |
| Ps.prototype.update = function(value, id, p, m, a) { | |
| /** @type {!Array} */ | |
| this.m = m; | |
| /** @type {!Object} */ | |
| this.j = a; | |
| /** @type {string} */ | |
| this.b = p; | |
| /** @type {string} */ | |
| this.c = value; | |
| /** @type {string} */ | |
| this.na = id; | |
| if (this.P) { | |
| /** @type {boolean} */ | |
| this.P = false; | |
| } else { | |
| /** @type {null} */ | |
| this.H = this.A = this.o = null; | |
| switch(this.g) { | |
| case 0: | |
| /** @type {!Object} */ | |
| this.A = a; | |
| break; | |
| case 1: | |
| /** @type {!Object} */ | |
| this.H = a; | |
| break; | |
| case 2: | |
| /** @type {!Object} */ | |
| this.o = a; | |
| } | |
| if (this.$ && value == t && "de" == id) { | |
| if (0 != this.g) { | |
| /** @type {number} */ | |
| p = 0; | |
| a = new Xq; | |
| fr(a, "tco", p); | |
| a.set(Fd, "fmcp"); | |
| var error = Br; | |
| Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a); | |
| } | |
| if (1 != this.g) { | |
| /** @type {number} */ | |
| p = 1; | |
| a = new Xq; | |
| fr(a, "tco", p); | |
| a.set(Fd, "fmcp"); | |
| error = Br; | |
| Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a); | |
| } | |
| if (2 != this.g) { | |
| /** @type {number} */ | |
| p = 2; | |
| a = new Xq; | |
| fr(a, "tco", p); | |
| a.set(Fd, "fmcp"); | |
| error = Br; | |
| Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a); | |
| } | |
| } else { | |
| this.setVisible(false); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {number} name | |
| * @param {string} type | |
| * @return {undefined} | |
| */ | |
| Ps.prototype.W = function(name, type) { | |
| if (null != type) { | |
| /** @type {!Array} */ | |
| var value = []; | |
| if (0 < Nm(type)) { | |
| /** @type {number} */ | |
| var templateUrl = 0; | |
| for (; templateUrl < Nm(type); templateUrl++) { | |
| var params = Om(type, templateUrl); | |
| if (null != params.kb[0]) { | |
| value.push(params.Ta()); | |
| } | |
| } | |
| } | |
| if (0 == name) { | |
| /** @type {string} */ | |
| this.A = value.join(""); | |
| } else { | |
| if (1 == name) { | |
| /** @type {string} */ | |
| this.H = value.join(""); | |
| } else { | |
| if (2 == name) { | |
| /** @type {string} */ | |
| this.o = value.join(""); | |
| } | |
| } | |
| } | |
| if (null != this.A && null != this.H && null != this.o) { | |
| if (value = this.A != this.H) { | |
| aq(this.I, Os(this), zb, Ad, { | |
| hl : this.b, | |
| sl : this.c, | |
| tl : this.na, | |
| source : this.m, | |
| trans : this.j, | |
| changed : this.j != this.o | |
| }); | |
| } else { | |
| Ss(this); | |
| } | |
| this.setVisible(value); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {!Object} p | |
| * @return {undefined} | |
| */ | |
| var Ss = function(p) { | |
| if (!p.Da) { | |
| p.L.ma(false); | |
| p.N.ma(false); | |
| p.g = p.w; | |
| if (0 == p.w) { | |
| p.L.ma(true); | |
| } else { | |
| if (1 == p.w) { | |
| p.N.ma(true); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {boolean} id | |
| * @return {undefined} | |
| */ | |
| Ps.prototype.setVisible = function(id) { | |
| S(this.l(), id); | |
| }; | |
| /** | |
| * @param {!Object} s | |
| * @return {undefined} | |
| */ | |
| var Rs = function(s) { | |
| if (!(s.b != t || s.Yb)) { | |
| /** @type {!Element} */ | |
| s.Yb = document.createElement("script"); | |
| s.Yb.setAttribute("async", ""); | |
| s.Yb.setAttribute("defer", ""); | |
| if (.5 > Math.random()) { | |
| if (s.X) { | |
| s.Yb.setAttribute("src", "//www.google.com/insights/consumersurveys/async_survey?site=drqa77owbzzvrx2eybe2mmchse"); | |
| } else { | |
| s.Yb.setAttribute("src", "//www.google.com/insights/consumersurveys/async_survey?site=7yga3yj2jydgysdmekrlxqfowu"); | |
| } | |
| } | |
| document.head.appendChild(s.Yb); | |
| } | |
| }; | |
| /** | |
| * @param {number} a | |
| * @param {number} b | |
| * @return {undefined} | |
| */ | |
| var Ts = function(a, b) { | |
| Aj.call(this); | |
| /** @type {number} */ | |
| this.g = this.c = 0; | |
| /** @type {number} */ | |
| this.a = a; | |
| /** @type {number} */ | |
| this.j = b; | |
| this.b = new io(A(this.m, this), 0, this); | |
| }; | |
| C(Ts, Aj); | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ts.prototype.J = function() { | |
| this.b.za(); | |
| delete this.a; | |
| delete this.j; | |
| Ts.v.J.call(this); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Ts.prototype.m = function() { | |
| if (!this.a.call(this.j)) { | |
| if (0 > this.g) { | |
| ko(this.b, this.c); | |
| } else { | |
| /** @type {number} */ | |
| var dtStep = this.g - Pe(); | |
| if (!(0 >= dtStep)) { | |
| ko(this.b, Math.min(this.c, dtStep)); | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {undefined} a | |
| * @return {undefined} | |
| */ | |
| var Vs = function(a) { | |
| V.call(this); | |
| this.D = a; | |
| this.b = this.D.value; | |
| this.a = new nk(this); | |
| this.g = Pe(); | |
| if (Us) { | |
| this.a.a(a, hd, this.Hc); | |
| } else { | |
| this.a.a(a, [Ic, Va, wb, Yc, wc], this.ni); | |
| } | |
| this.c = new Ts(A(this.dg, this)); | |
| }; | |
| C(Vs, V); | |
| var Us = G || E || gh || ih && I("1.9"); | |
| y = Vs.prototype; | |
| /** @type {string} */ | |
| y.ac = vc; | |
| /** | |
| * @return {undefined} | |
| */ | |
| y.J = function() { | |
| Vs.v.J.call(this); | |
| this.a.za(); | |
| /** @type {null} */ | |
| this.a = null; | |
| this.c.za(); | |
| /** @type {null} */ | |
| this.c = null; | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| y.dg = function() { | |
| if (this.b == this.D.value) { | |
| return false; | |
| } | |
| this.dispatchEvent("after_paste"); | |
| return true; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {undefined} | |
| */ | |
| y.Hc = function(obj) { | |
| obj = new Ij(obj.b); | |
| obj.type = hd; | |
| this.dispatchEvent(obj); | |
| cl(function() { | |
| if (!this.dg()) { | |
| var c1 = this.c; | |
| jo(c1.b); | |
| /** @type {number} */ | |
| c1.c = Math.max(50, 0); | |
| c1.g = Pe() + 200; | |
| ko(c1.b, Math.min(c1.c, 200)); | |
| } | |
| }, 0, this); | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @return {undefined} | |
| */ | |
| y.ni = function(options) { | |
| switch(this.ac) { | |
| case vc: | |
| switch(options.type) { | |
| case Va: | |
| this.ac = vc; | |
| break; | |
| case wb: | |
| /** @type {string} */ | |
| this.ac = "focused"; | |
| break; | |
| case Yc: | |
| this.ac = vc; | |
| if (this.D.value != this.b) { | |
| this.Hc(options); | |
| } | |
| }break; | |
| case "focused": | |
| switch(options.type) { | |
| case wc: | |
| var b = this.g + 400; | |
| if (Pe() > b || this.j == wb) { | |
| this.Hc(options); | |
| } | |
| break; | |
| case Va: | |
| this.ac = vc; | |
| break; | |
| case Ic: | |
| if (kh && fh && 0 == options.keyCode || kh && fh && 17 == options.keyCode) { | |
| break; | |
| } | |
| /** @type {string} */ | |
| this.ac = "typing"; | |
| break; | |
| case Yc: | |
| if (this.D.value != this.b) { | |
| this.Hc(options); | |
| } | |
| }break; | |
| case "typing": | |
| switch(options.type) { | |
| case wc: | |
| /** @type {string} */ | |
| this.ac = "focused"; | |
| break; | |
| case Va: | |
| this.ac = vc; | |
| break; | |
| case Ic: | |
| if (options.ctrlKey && 86 == options.keyCode || options.shiftKey && 45 == options.keyCode || options.metaKey && 86 == options.keyCode) { | |
| this.Hc(options); | |
| } | |
| break; | |
| case Yc: | |
| if (this.D.value != this.b) { | |
| this.Hc(options); | |
| } | |
| } | |
| } | |
| this.g = Pe(); | |
| this.b = this.D.value; | |
| this.j = options.type; | |
| }; | |
| var Ws = ue(); | |
| C(Ws, hn); | |
| Be(Ws); | |
| y = Ws.prototype; | |
| y.Rb = ue(); | |
| /** | |
| * @param {!Object} a | |
| * @param {!Object} b | |
| * @return {?} | |
| */ | |
| y.R = function(a, b) { | |
| Sn(a, false); | |
| a.Ib &= -256; | |
| a.Ba(32, false); | |
| Ws.v.R.call(this, a, b); | |
| a.g(b.value); | |
| return b; | |
| }; | |
| /** | |
| * @param {!Object} obj | |
| * @return {?} | |
| */ | |
| y.Pa = function(obj) { | |
| Sn(obj, false); | |
| obj.Ib &= -256; | |
| obj.Ba(32, false); | |
| return obj.a.b(Da, { | |
| "class" : nn(this, obj).join(" "), | |
| disabled : !obj.isEnabled() | |
| }, obj.Aa() || ""); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| y.Kc = function(a) { | |
| return a.tagName == Da; | |
| }; | |
| y.jf = Ae; | |
| /** | |
| * @param {?} b | |
| * @return {?} | |
| */ | |
| y.hf = function(b) { | |
| return b.isEnabled(); | |
| }; | |
| y.Lc = Ae; | |
| /** | |
| * @param {!Object} args | |
| * @param {number} typeName | |
| * @param {boolean} name | |
| * @return {undefined} | |
| */ | |
| y.rc = function(args, typeName, name) { | |
| Ws.v.rc.call(this, args, typeName, name); | |
| if ((args = args.l()) && 1 == typeName) { | |
| /** @type {boolean} */ | |
| args.disabled = name; | |
| } | |
| }; | |
| y.Cb = Ae; | |
| /** | |
| * @param {!HTMLElement} a | |
| * @param {string} user | |
| * @return {undefined} | |
| */ | |
| y.zb = function(a, user) { | |
| if (a) { | |
| /** @type {string} */ | |
| a.value = user; | |
| } | |
| }; | |
| y.S = x("goog-textarea"); | |
| /** | |
| * @param {string} name | |
| * @param {string} x | |
| * @param {?} y | |
| * @return {undefined} | |
| */ | |
| var Xs = function(name, x, y) { | |
| Qn.call(this, name, x || Ws.M(), y); | |
| Sn(this, false); | |
| /** @type {boolean} */ | |
| this.Bd = true; | |
| if (x = this.l()) { | |
| this.c.Yd(x, true); | |
| } | |
| /** @type {boolean} */ | |
| this.Nc = "" != name; | |
| if (!name) { | |
| /** @type {string} */ | |
| this.sc = ""; | |
| } | |
| }; | |
| C(Xs, Qn); | |
| /** @type {boolean} */ | |
| var Ys = !(E && !yh(11)); | |
| y = Xs.prototype; | |
| /** @type {boolean} */ | |
| y.Oc = false; | |
| /** @type {boolean} */ | |
| y.le = false; | |
| /** @type {boolean} */ | |
| y.Nc = false; | |
| /** @type {number} */ | |
| y.Tb = 0; | |
| /** @type {number} */ | |
| y.zf = 0; | |
| /** @type {boolean} */ | |
| y.Kg = false; | |
| /** @type {boolean} */ | |
| y.ve = false; | |
| /** @type {boolean} */ | |
| y.If = false; | |
| /** @type {boolean} */ | |
| y.Hf = false; | |
| /** @type {string} */ | |
| y.Rc = ""; | |
| /** | |
| * @param {!Object} o | |
| * @return {?} | |
| */ | |
| var Zs = function(o) { | |
| return o.A.top + o.A.bottom + o.W.top + o.W.bottom; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var $s = function(a) { | |
| var c = a.zf; | |
| var b = a.l(); | |
| if (c && b && a.ve) { | |
| /** @type {number} */ | |
| c = c - Zs(a); | |
| } | |
| return c; | |
| }; | |
| /** | |
| * @param {!Object} input | |
| * @return {undefined} | |
| */ | |
| var bt = function(input) { | |
| /** @type {number} */ | |
| input.zf = 105; | |
| at(input); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.b = function(name) { | |
| this.g(String(name)); | |
| }; | |
| /** | |
| * @return {?} | |
| */ | |
| Xs.prototype.T = function() { | |
| return this.l().value != this.Rc || ct(this) || this.Nc ? this.l().value : ""; | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.g = function(name) { | |
| Xs.v.g.call(this, name); | |
| /** @type {boolean} */ | |
| this.Nc = "" != name; | |
| at(this); | |
| }; | |
| /** | |
| * @param {boolean} enable | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.ba = function(enable) { | |
| Xs.v.ba.call(this, enable); | |
| /** @type {boolean} */ | |
| this.l().disabled = !enable; | |
| }; | |
| /** | |
| * @param {!Object} data | |
| * @return {undefined} | |
| */ | |
| var at = function(data) { | |
| if (data.l()) { | |
| data.I(); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} msg | |
| * @return {?} | |
| */ | |
| var ct = function(msg) { | |
| return "placeholder" in msg.l(); | |
| }; | |
| /** | |
| * @param {!Object} d | |
| * @return {undefined} | |
| */ | |
| var dt = function(d) { | |
| if (d.Rc) { | |
| if (ct(d)) { | |
| d.l().placeholder = d.Rc; | |
| } else { | |
| if (!(!d.l() || d.Nc || d.le)) { | |
| J(d.l(), Ud); | |
| d.l().value = d.Rc; | |
| } | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.V = function() { | |
| Xs.v.V.call(this); | |
| var a = this.l(); | |
| R(a, { | |
| overflowY : oc, | |
| overflowX : Qa, | |
| boxSizing : Wa, | |
| MsBoxSizing : Wa, | |
| WebkitBoxSizing : Wa, | |
| MozBoxSizing : Wa | |
| }); | |
| this.A = uj(a); | |
| this.W = xj(a); | |
| X(this).a(a, td, this.I).a(a, wb, this.I).a(a, Kc, this.I).a(a, Zc, this.Qa).a(a, Va, this.Da); | |
| dt(this); | |
| at(this); | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {?} | |
| */ | |
| var et = function(a) { | |
| if (!a.Kg) { | |
| var div = a.l().cloneNode(false); | |
| R(div, { | |
| position : Ga, | |
| height : Qa, | |
| top : "-9999px", | |
| margin : "0", | |
| padding : "1px", | |
| border : "1px solid #000", | |
| overflow : oc | |
| }); | |
| a.a.a.body.appendChild(div); | |
| var h = div.scrollHeight; | |
| /** @type {string} */ | |
| div.style.padding = "10px"; | |
| var b = div.scrollHeight; | |
| /** @type {boolean} */ | |
| a.If = b > h; | |
| /** @type {string} */ | |
| div.style.borderWidth = "10px"; | |
| /** @type {boolean} */ | |
| a.Hf = div.scrollHeight > b; | |
| /** @type {string} */ | |
| div.style.height = "100px"; | |
| if (100 != div.offsetHeight) { | |
| /** @type {boolean} */ | |
| a.ve = true; | |
| } | |
| mi(div); | |
| /** @type {boolean} */ | |
| a.Kg = true; | |
| } | |
| div = a.l(); | |
| if (isNaN(a.A.top)) { | |
| a.A = uj(div); | |
| a.W = xj(div); | |
| } | |
| h = a.l().scrollHeight; | |
| var p = a.l(); | |
| /** @type {number} */ | |
| b = p.offsetHeight - p.clientHeight; | |
| if (!a.If) { | |
| var m = a.A; | |
| /** @type {number} */ | |
| b = b - (m.top + m.bottom); | |
| } | |
| if (!a.Hf) { | |
| p = xj(p); | |
| /** @type {number} */ | |
| b = b - (p.top + p.bottom); | |
| } | |
| h = h + (0 < b ? b : 0); | |
| if (a.ve) { | |
| /** @type {number} */ | |
| h = h - Zs(a); | |
| } else { | |
| if (!a.If) { | |
| b = a.A; | |
| h = h + (b.top + b.bottom); | |
| } | |
| if (!a.Hf) { | |
| a = xj(div); | |
| h = h + (a.top + a.bottom); | |
| } | |
| } | |
| return h; | |
| }; | |
| /** | |
| * @param {!Object} input | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| var ft = function(input, name) { | |
| if (input.Tb != name) { | |
| /** @type {string} */ | |
| input.Tb = name; | |
| input.l().style.height = name + md; | |
| } | |
| }; | |
| /** | |
| * @param {!Object} other | |
| * @return {undefined} | |
| */ | |
| var gt = function(other) { | |
| var b = other.l(); | |
| b.style.height = Qa; | |
| var expRecords = b.value.match(/\n/g) || []; | |
| b.rows = expRecords.length + 1; | |
| /** @type {number} */ | |
| other.Tb = 0; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.Da = function() { | |
| if (!ct(this)) { | |
| /** @type {boolean} */ | |
| this.le = false; | |
| if ("" == this.l().value) { | |
| /** @type {boolean} */ | |
| this.Nc = false; | |
| dt(this); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.I = function(name) { | |
| if (!this.Oc) { | |
| var target = this.l(); | |
| if (!ct(this) && name && name.type == wb) { | |
| if (target.value == this.Rc && this.Rc && !this.le) { | |
| K(target, Ud); | |
| /** @type {string} */ | |
| target.value = ""; | |
| } | |
| /** @type {boolean} */ | |
| this.le = true; | |
| /** @type {boolean} */ | |
| this.Nc = "" != target.value; | |
| } | |
| /** @type {boolean} */ | |
| var index = false; | |
| /** @type {boolean} */ | |
| this.Oc = true; | |
| name = this.Tb; | |
| if (target.scrollHeight) { | |
| /** @type {boolean} */ | |
| var b = false; | |
| /** @type {boolean} */ | |
| var j = false; | |
| var i = et(this); | |
| var start = target.offsetHeight; | |
| var comments = $s(this); | |
| var count; | |
| /** @type {number} */ | |
| count = 0; | |
| var l = this.l(); | |
| if (count && l && this.ve) { | |
| /** @type {number} */ | |
| count = count - Zs(this); | |
| } | |
| if (comments && i < comments) { | |
| ft(this, comments); | |
| /** @type {boolean} */ | |
| b = true; | |
| } else { | |
| if (count && i > count) { | |
| ft(this, count); | |
| /** @type {string} */ | |
| target.style.overflowY = ""; | |
| /** @type {boolean} */ | |
| j = true; | |
| } else { | |
| if (start != i) { | |
| ft(this, i); | |
| } else { | |
| if (!this.Tb) { | |
| this.Tb = i; | |
| } | |
| } | |
| } | |
| } | |
| if (!(b || j || !Ys)) { | |
| /** @type {boolean} */ | |
| index = true; | |
| } | |
| } else { | |
| gt(this); | |
| } | |
| /** @type {boolean} */ | |
| this.Oc = false; | |
| if (index) { | |
| target = this.l(); | |
| if (!this.Oc) { | |
| /** @type {boolean} */ | |
| this.Oc = true; | |
| if (j = target.scrollHeight) { | |
| i = et(this); | |
| index = $s(this); | |
| if (!(index && i <= index)) { | |
| b = this.A; | |
| target.style.paddingBottom = b.bottom + 1 + md; | |
| if (et(this) == i) { | |
| target.style.paddingBottom = b.bottom + j + md; | |
| /** @type {number} */ | |
| target.scrollTop = 0; | |
| /** @type {number} */ | |
| j = et(this) - j; | |
| if (j >= index) { | |
| ft(this, j); | |
| } else { | |
| ft(this, index); | |
| } | |
| } | |
| target.style.paddingBottom = b.bottom + md; | |
| } | |
| } else { | |
| gt(this); | |
| } | |
| /** @type {boolean} */ | |
| this.Oc = false; | |
| } | |
| } | |
| if (name != this.Tb) { | |
| this.dispatchEvent(od); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| Xs.prototype.Qa = function() { | |
| var self = this.l(); | |
| var x = self.offsetHeight; | |
| if (self.filters && self.filters.length && (self = self.filters.item("DXImageTransform.Microsoft.DropShadow"))) { | |
| /** @type {number} */ | |
| x = x - self.offX; | |
| } | |
| if (x != this.Tb) { | |
| this.Tb = this.zf = x; | |
| } | |
| }; | |
| /** | |
| * @param {?} p1__3354_SHARP_ | |
| * @return {undefined} | |
| */ | |
| var ht = function(p1__3354_SHARP_) { | |
| Xs.call(this, p1__3354_SHARP_); | |
| /** @type {string} */ | |
| this.va = ""; | |
| /** @type {null} */ | |
| this.qa = null; | |
| /** @type {number} */ | |
| this.P = 0; | |
| /** @type {boolean} */ | |
| this.Z = this.$ = false; | |
| }; | |
| C(ht, Xs); | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| ht.prototype.b = function(name) { | |
| ht.v.b.call(this, name); | |
| this.U("set"); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| ht.prototype.V = function() { | |
| ht.v.V.call(this); | |
| U(this.l(), "compositionstart", A(this.Ha, this), false, this); | |
| U(this.l(), "compositionend", A(this.Fa, this), false, this); | |
| U(new Gn(this.l()), Hc, function(event) { | |
| it(this, Hc, { | |
| keyCode : event.keyCode | |
| }); | |
| }, false, this); | |
| U(this.l(), wc, function() { | |
| it(this, wc); | |
| }, false, this); | |
| U(new Vs(this.l()), hd, function() { | |
| /** @type {boolean} */ | |
| this.$ = true; | |
| it(this, hd); | |
| }, false, this); | |
| U(this.l(), "drop", function() { | |
| it(this, "drop"); | |
| }, false, this); | |
| this.qa = new Zk(1E3); | |
| U(this.qa, "tick", function() { | |
| this.U("timer"); | |
| }, false, this); | |
| al(this.qa); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| ht.prototype.Ha = function() { | |
| /** @type {boolean} */ | |
| this.Z = true; | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| ht.prototype.Fa = function() { | |
| /** @type {boolean} */ | |
| this.Z = false; | |
| it(this, wc); | |
| }; | |
| /** | |
| * @param {!Object} options | |
| * @param {string} name | |
| * @param {?} categories | |
| * @return {undefined} | |
| */ | |
| var it = function(options, name, categories) { | |
| cl(A(options.U, options, name, categories), 0, options); | |
| }; | |
| /** | |
| * @param {number} type | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| ht.prototype.U = function(type, name) { | |
| if (!this.Z) { | |
| var event = this.T(); | |
| if (event != this.va) { | |
| this.P += 1; | |
| this.va = event; | |
| event = new T(Ya); | |
| if (this.$) { | |
| /** @type {boolean} */ | |
| this.$ = false; | |
| type = hd; | |
| } | |
| /** @type {number} */ | |
| event.j = type; | |
| if (null != name) { | |
| Wf(event, name); | |
| } | |
| this.dispatchEvent(event); | |
| } | |
| } | |
| }; | |
| /** | |
| * @param {?} Element | |
| * @return {?} | |
| */ | |
| var jt = function(Element) { | |
| var P = Element.P; | |
| /** @type {number} */ | |
| Element.P = 0; | |
| return P; | |
| }; | |
| /** | |
| * @param {!Object} context | |
| * @return {undefined} | |
| */ | |
| var lt = function(context) { | |
| V.call(this); | |
| /** @type {!Object} */ | |
| this.D = context; | |
| U(context, kt, this.b, false, this); | |
| U(context, r, this.a, false, this); | |
| }; | |
| C(lt, V); | |
| /** @type {string} */ | |
| var kt = ih ? Jc : Ic; | |
| /** | |
| * @param {!Object} key | |
| * @return {undefined} | |
| */ | |
| lt.prototype.b = function(key) { | |
| if (13 == key.keyCode || G && 3 == key.keyCode) { | |
| mt(this, key); | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @return {undefined} | |
| */ | |
| lt.prototype.a = function(name) { | |
| mt(this, name); | |
| }; | |
| /** | |
| * @param {!EventTarget} callback | |
| * @param {!Object} event | |
| * @return {undefined} | |
| */ | |
| var mt = function(callback, event) { | |
| var evt = new nt(event); | |
| if (callback.dispatchEvent(evt)) { | |
| evt = new ot(event); | |
| try { | |
| callback.dispatchEvent(evt); | |
| } finally { | |
| event.stopPropagation(); | |
| } | |
| } | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| lt.prototype.J = function() { | |
| lt.v.J.call(this); | |
| hk(this.D, kt, this.b, false, this); | |
| hk(this.D, r, this.a, false, this); | |
| delete this.D; | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @return {undefined} | |
| */ | |
| var ot = function(a) { | |
| Ij.call(this, a.b); | |
| this.type = p; | |
| }; | |
| C(ot, Ij); | |
| /** | |
| * @param {!Object} a | |
| * @return {undefined} | |
| */ | |
| var nt = function(a) { | |
| Ij.call(this, a.b); | |
| /** @type {string} */ | |
| this.type = "beforeaction"; | |
| }; | |
| C(nt, Ij); | |
| /** | |
| * @param {?} value | |
| * @param {?} elem | |
| * @return {undefined} | |
| */ | |
| var pt = function(value, elem) { | |
| V.call(this); | |
| this.mc = value; | |
| /** @type {!Array} */ | |
| this.a = []; | |
| if (null != elem) { | |
| this.Uc(elem); | |
| } | |
| }; | |
| C(pt, V); | |
| /** | |
| * @param {!Object} val | |
| * @param {string} a | |
| * @return {undefined} | |
| */ | |
| pt.prototype.update = function(val, a) { | |
| /** @type {number} */ | |
| var i = this.a.length = 0; | |
| for (; i < val.length; ++i) { | |
| this.a.push(val[i]); | |
| } | |
| this.dispatchEvent({ | |
| type : this.mc, | |
| data : this.a, | |
| selected : null != a ? a : null | |
| }); | |
| }; | |
| /** | |
| * @return {undefined} | |
| */ | |
| var qt = function() { | |
| V.call(this); | |
| /** @type {string} */ | |
| this.j = this.b = this.a = ""; | |
| this.C = new pt(Md, this); | |
| this.w = new pt(Od, this); | |
| this.F = new pt(Pd, this); | |
| /** @type {!Array} */ | |
| this.O = []; | |
| this.N = new pt(Kd, this); | |
| this.I = new pt(Vd, this); | |
| /** @type {number} */ | |
| this.L = this.H = 0; | |
| /** @type {!Array} */ | |
| this.c = []; | |
| /** @type {!Array} */ | |
| this.g = []; | |
| /** @type {!Array} */ | |
| this.A = []; | |
| /** @type {!Array} */ | |
| this.K = []; | |
| /** @type {boolean} */ | |
| this.G = false; | |
| /** @type {string} */ | |
| this.B = ""; | |
| }; | |
| C(qt, V); | |
| /** | |
| * @param {!Object} m | |
| * @param {!Object} match | |
| * @return {undefined} | |
| */ | |
| var rt = function(m, match) { | |
| /** @type {!Array} */ | |
| var text = []; | |
| var y; | |
| if (match) { | |
| y = m.a == Qa ? m.j : m.a; | |
| /** @type {number} */ | |
| var commonIndex = -1; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < match.length; ++i) { | |
| if (match[i] == y) { | |
| if (m.a != Qa) { | |
| /** @type {number} */ | |
| commonIndex = i; | |
| } | |
| } else { | |
| text.push(match[i]); | |
| } | |
| } | |
| /** @type {boolean} */ | |
| y = -1 != commonIndex && 3 > commonIndex; | |
| } else { | |
| /** @type {boolean} */ | |
| y = false; | |
| } | |
| if (!(y || m.G)) { | |
| m.C.update(text ? text.slice(0, 3) : []); | |
| } | |
| }; | |
| /** | |
| * @param {!NodeList} n | |
| * @param {!NodeList} keys | |
| * @param {?} v | |
| * @param {boolean} x | |
| * @return {undefined} | |
| */ | |
| var st = function(n, keys, v, x) { | |
| var obj = {}; | |
| /** @type {!Array} */ | |
| var a = []; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < keys.length && 3 > a.length; i++) { | |
| a.push(keys[i]); | |
| /** @type {boolean} */ | |
| obj[keys[i]] = true; | |
| } | |
| /** @type {number} */ | |
| i = 0; | |
| for (; i < n.length && 3 > a.length; i++) { | |
| if (null == obj[n[i]]) { | |
| /** @type {boolean} */ | |
| obj[n[i]] = true; | |
| a.push(n[i]); | |
| } | |
| } | |
| v.update(a, x); | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {?} type | |
| * @return {undefined} | |
| */ | |
| qt.prototype.m = function(name, type) { | |
| var t = null != type ? type : 0; | |
| if (3 == t || 4 == t || 5 == t) { | |
| /** @type {boolean} */ | |
| this.G = true; | |
| } | |
| if (6 == t) { | |
| /** @type {string} */ | |
| this.B = name; | |
| } | |
| if (name == qe) { | |
| name = pe; | |
| } | |
| if (name != Qa) { | |
| tt(this, ""); | |
| } | |
| ut(this.w, name, this.c); | |
| if (this.a != name) { | |
| var value = this.a; | |
| /** @type {string} */ | |
| this.a = name; | |
| value = value == Qa ? void 0 : A(this.o, this, value, 6); | |
| this.H = t; | |
| vt(this, this.a, Ld, t, value); | |
| } | |
| }; | |
| /** | |
| * @param {string} name | |
| * @param {?} type | |
| * @return {undefined} | |
| */ | |
| qt.prototype.o = function(name, type) { | |
| var t = null != type ? type : 0; | |
| if (!(6 != t && 5 != t || name != pe || this.B != qe)) { | |
| name = qe; | |
| } | |
| if (5 == t) { | |
| this.B = this.b; | |
| } | |
| ut(this.F, name, this.g); | |
| if (this.b != name) { | |
| var previous = this.b; | |
| /** @type {string} */ | |
| this.b = name; | |
| this.L = t; | |
| vt(this, this.b, Wd, t, A(this.m, this, previous, 6)); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} a | |
| * @param {string} id | |
| * @param {!Object} text | |
| * @return {undefined} | |
| */ | |
| var ut = function(a, id, text) { | |
| var d = Jf(a.a); | |
| /** @type {boolean} */ | |
| var data = id != Qa; | |
| /** @type {number} */ | |
| var i = 0; | |
| for (; i < d.length; i++) { | |
| if (id == d[i]) { | |
| /** @type {boolean} */ | |
| data = false; | |
| break; | |
| } | |
| } | |
| if (data) { | |
| data = {}; | |
| if (0 < text.length) { | |
| /** @type {boolean} */ | |
| data[text[0]] = true; | |
| } | |
| if (1 < text.length) { | |
| /** @type {boolean} */ | |
| data[text[1]] = true; | |
| } | |
| /** @type {number} */ | |
| i = d.length - 1; | |
| for (; 0 <= i; i--) { | |
| if (!data[d[i]]) { | |
| /** @type {string} */ | |
| d[i] = id; | |
| break; | |
| } | |
| } | |
| } | |
| a.update(d, id); | |
| }; | |
| /** | |
| * @param {!Object} context | |
| * @param {number} value | |
| * @return {undefined} | |
| */ | |
| var tt = function(context, value) { | |
| if (value == Qa) { | |
| /** @type {string} */ | |
| value = ""; | |
| } | |
| if (context.j != value) { | |
| /** @type {number} */ | |
| context.j = value; | |
| context.dispatchEvent({ | |
| type : lb, | |
| data : context.j | |
| }); | |
| } | |
| }; | |
| /** | |
| * @param {!Object} target | |
| * @return {undefined} | |
| */ | |