{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/process/browser.js","webpack:///(webpack)/buildin/module.js","webpack:///./resources/assets/js/main_b.js","webpack:///(webpack)/buildin/global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","webpackPolyfill","deprecate","paths","children","Date","isLeapYear","year","getFullYear","getDayOfYear","mn","getMonth","dn","getDate","dayOfYear","shouldIgnoreEvent","conf","isCross","localStorage","chartMovable","dpr","ctx","dpi","window","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","lastTime","vendors","x","requestAnimationFrame","cancelAnimationFrame","callback","element","currTime","getTime","timeToCall","Math","max","id","round3dTime","$_3d_format","offset","getTimezoneOffset","subDays","res","floor","String","fromCharCode","charCodeAt","Sf","WD","JV","oZ","Pw","eg","tf","hT","aN","Ob","RR","xN","Pf","kF","FM","vy","Vi","La","Rm","sv","Iz","NX","SC","Uv","vo","kP","jx","MA","uz","KV","Ay","kV","jh","xw","dT","jO","US","FF","Pm","We","VM","cY","Fx","Zi","Nn","vU","WN","NO","Ow","mq","qo","Lq","PU","JQ","JU","Lm","ks","VQ","ON","Ib","YR","Xf","OC","yQ","pS","xm","IP","bJ","YJ","Qe","vd","we","Sg","ad","Rk","pb","AB","OJ","FC","MD","EC","EX","Sa","rL","OY","mS","Eo","qL","Yp","MI","Yn","GO","aC","Yk","fr","Yi","wt","IM","Yf","mU","kd","AH","cZ","Yv","XZ","QD","JY","vw","XV","Xi","XT","mi","XQ","zK","Ux","bc","OK","OG","RI","zd","eH","MU","PL","De","Vt","LT","zy","jl","BV","PA","IW","zF","BZ","Qx","Ru","hU","IE","Xr","dL","Xp","Tw","Ed","QE","SQ","gM","TY","Wz","YG","mJ","Xd","Xc","sZ","Di","oH","WY","RH","Np","Bu","Qf","XM","NN","Qm","Ta","WP","Qy","Li","DU","WL","ko","Tu","WI","WH","bO","Id","rq","Ac","kH","tX","TL","vE","UW","Mh","bw","QL","Wu","Om","BH","Oz","pG","pB","Rj","Ro","Nf","Rd","Rx","vY","Bt","WB","sp","Wf","QN","zA","hj","uO","uT","ty","Ma","Yr","ow","WO","bT","OX","RP","VR","PX","TA","VO","VN","la","tL","Ry","Ui","VI","CU","Rq","Tg","Ff","nr","Xl","hK","VA","LN","uy","rZ","dV","Pz","Fm","SG","Vs","UO","Ku","FR","xU","qQ","xH","AA","Ug","Vj","WE","fX","Vg","ZD","Ve","GL","Wy","mr","Va","bF","TI","fO","Bf","RM","oj","di","XO","UR","AG","vL","hw","Qq","Ze","XP","fj","Wi","ht","FV","RT","WK","UE","UD","Vm","XN","RA","Jq","Oi","jF","er","Cx","BC","Ut","Us","Vz","Uq","Up","dO","LM","my","ZI","Uk","Uj","Tn","Ym","rC","wi","Xu","nU","ur","TD","FK","YE","Zr","UC","TV","SK","TT","TS","Hp","oS","Bk","TO","FH","TM","so","wg","ZJ","Lk","kC","ZF","QP","Gg","Nj","PQ","Ye","Wm","nG","Zs","Vl","Nq","ED","vG","kn","Za","bS","MK","fK","UN","Iu","OO","Zq","No","cy","nH","Th","Gl","Tf","Te","Oy","Fg","ho","uI","XS","XR","ZV","VB","ot","Vn","Dp","SS","Sy","kf","Gp","SO","yz","RF","SL","tT","Re","Ns","hy","Ja","pj","gb","Mm","Qb","qI","UB","Sz","Mg","ka","Dk","Mx","Su","Lg","Qj","uo","Yd","pf","Hj","Ak","cU","cj","cS","SB","bh","HB","HS","LS","am","sC","hM","Uu","Fl","PG","tK","RX","XY","XF","FL","ZH","RS","rF","nt","Qa","TQ","RN","HX","RL","mM","kY","GX","OM","Ml","Px","RE","mu","RC","su","NG","aH","Yx","sm","an","Rv","YU","Dr","Rs","Sl","ZT","iM","DT","Rn","Tt","Av","WS","Ue","AL","Md","hR","QH","UV","OQ","Rc","Ww","EJ","Wt","QO","sN","uj","th","QU","ef","Pn","Sm","QQ","tz","QR","hX","Ls","Me","Wn","Zf","QI","hG","BA","cG","yT","lI","dE","Mb","HM","Rg","Hc","Ll","LL","Qv","hm","WV","OZ","Qr","hI","QY","hQ","Qn","OT","NM","Pa","Sw","QX","Qh","fD","Pg","ih","cX","Du","VY","NS","zN","co","GC","MS","Ky","Tm","MF","Ok","km","NV","ma","PO","UA","PM","Ra","oI","BO","YN","PH","VL","Zd","PE","Tl","oE","ep","OV","Yo","VP","zs","SH","DB","gB","Tp","Ps","Pr","oT","Pp","tr","PZ","aE","Pl","RJ","LB","TP","Nt","SX","ZP","Pe","LC","Qc","PV","To","MP","fC","Uc","ab","jj","Oj","SA","XW","gC","Pu","$user_id","eZ","Wc","OD","OL","Pt","SF","KG","QZ","jW","xt","Mk","Fi","lB","CK","OA","kI","cQ","wR","Ri","Zh","UL","Yb","NJ","zj","ir","UP","Oo","LO","Zl","Dl","DS","KJ","gg","aU","ni","Of","ou","DJ","GG","br","ZE","Hn","Td","VV","ud","dZ","Bm","NT","Lu","Xo","RK","VT","MW","UZ","YT","NL","Zv","oR","oU","bN","ZC","Xs","EA","MV","Xa","bQ","UM","Nz","rK","Nx","Nw","PB","YC","MM","SJ","wV","ZN","se","NF","vs","YF","gE","YQ","VW","XB","Et","JG","hr","em","NR","TX","SW","CQ","qx","tE","MX","LY","TK","CM","CA","TZ","PT","jk","NP","ut","Oe","EU","Fr","cg","MJ","ch","jg","sb","TC","iG","ZM","VX","KU","GS","ag","HF","YM","mY","DA","Mu","Os","wz","IZ","fJ","fG","Ss","Py","Lv","lU","Nu","BU","LA","UX","Xg","vn","SR","Po","Vk","cr","Mi","Sv","UI","kX","Vc","QM","gs","Gi","oB","qf","at","cx","Ho","hY","wj","Qd","Rf","WJ","LI","Rt","TB","PY","LE","MO","UT","CN","UH","Wq","Ly","av","dN","wr","PI","Uh","PN","lw","ju","Lp","cR","Ln","VJ","Nm","eU","Lj","im","Lh","ku","ob","Le","MC","Um","Lb","VZ","pv","YV","YL","UQ","uB","xs","bM","MN","KR","Nd","qF","KO","LG","Ao","KL","KK","vS","Kl","Uw","Lz","KF","KE","u","h","v","b","F","y","w","T","V","k","S","M","_","I","X","J","P","H","B","O","R","N","L","U","W","Q","Y","D","K","z","q","et","rt","lt","st","ct","ft","dt","pt","vt","bt","gt","mt","Ft","yt","kt","Mt","_t","It","Xt","Zt","Jt","Ht","Ot","Lt","Ct","Yt","Dt","zt","Gt","qt","te","ee","oe","ie","ue","le","ae","ce","fe","de","pe","ve","be","ge","me","Fe","xe","ye","$e","Se","_e","Ie","He","Be","Ee","Ae","Ke","ze","je","qe","rr","or","lr","ar","sr","dr","vr","gr","xr","yr","$r","Tr","Vr","kr","Sr","_r","Ir","Jr","Hr","Br","Or","Nr","Lr","Wr","Cr","Ar","Kr","zr","jr","Gr","to","eo","ro","oo","io","lo","calcPrecision","performanceSettings","simplified_orderbook_hints","enable_tradelog_animation","enable_orderbook_animation","enable_orderbook_color_animation","immediate_execution","sharp_lines","ao","slice","indexOf","$","resize","width","css","outerWidth","left","addClass","removeClass","a","showing","hiding","f","keyup","evt","click","$is_mobile","target","tagName","toLowerCase","is","test","navigator","userAgent","hover","statuses","console","log","time","timeEnd","request","cb","pop","nonce","getNonce","XDomainRequest","param","open","onload","parseJSON","responseText","onerror","ontimeout","onprogress","send","ajax","url","type","dataType","data","done","fail","push_cbs","shift_cbs","shift","unshift","actions","channel","running","global","replace","dead","now","parseInt","ws","WebSocket","onopen","onsocketopen","document","hidden","onmessage","err","message","onclose","close","ondead","retryInterval","min","G","j","it","splice","result","A","Z","E","abs","tt","g","C","sqrt","parseFloat","toFixed","toPrecision","compare","group","ceil","insert","find","type_str","price_int","total_volume_int","collection","item","isRightHandOrderbook","price","amount","trade_type","height","fillAndStroke","undefined","fillStyle","strokeStyle","fillRect","strokeRect","beginPath","moveTo","lineTo","stroke","dx","fillText","text","textAlign","keep","barIndex","openPrice","closePrice","barWidth","rectX","rectYFrom","rectYTo","pow","save","clip","restore","fill","getImageData","canvas","putImageData","Color","rgba","options","count","total","parent","next","prev","multimap","insert_value_","rebuild_","insert_node_","find_node_","has","replace_value","get_node_","set_min_","set_max_","inc_total_","dec_total_","clean_node_","delete_node_","delete_value_","indexOf_","slice_","atom","size","find_all","flatten","dump","stdout","write","delete_if","split","$is_zh","toString","$conf","tid","date","ncLength","candleTime","round","$theme_dark","Background","Border","Link","Cross","Colors","ShapeColors","Shape","ShapeHint","AxisCursorBg","AxisCursorFg","OHLC","$theme_light","$theme_dark2","JSON","parse","stringify","textBaseline","font","measureText","1","2","params","timestamps","exp","outerHeight","top","match","setMinutes","getMinutes","ok","error","reason","lastPosX","lastPosY","isDragging","handleDrag","ev","elem","parents","offsetLeft","offsetTop","posX","deltaX","posY","deltaY","style","isFinal","hide","eventWrapper","mc","Hammer","add","Pan","direction","DIRECTION_ALL","threshold","contains","trigger","show","created","focus","tabs","fadeOut","serializeArray","fadeIn","append","unbind","action","location","href","method","submit","html","email","is_premium","expires_on","attr","address","val","display_name","username","change","orders","info","created_at","old_expires_on","remark","tx_hash","years_str","months_str","days_str","join","mode_name","ip","logined_ip","remove","sessions","removeCookie","path","encodeURIComponent","load","$p","call_api","$is_flutter_view","AudioContext","webkitAudioContext","mozAudioContext","oAudioContext","msAudioContext","Worker","Blob","queues","buzz","sound","formats","$t","St","Kt","ne","re","ke","Xe","Je","Ne","Ge","pr","Fr2","Fr3","Rr","Er","Ur","qr","no","po","bo","go","xo","yo","$o","wo","Vo","So","Mo","Io","Jo","Bo","Lo","Uo","Wo","Do","Ko","zo","jo","ei","ii","ui","li","ai","si","ci","fi","hi","xi","yi","$i","Ti","ki","Si","_i","Ii","Ji","Pi","Hi","Bi","Ei","Ni","Ci","Qi","Ai","Ki","ji","qi","tu","ru","iu","uu","lu","au","cu","fu","hu","du","pu","vu","bu","Fu","yu","$u","Vu","kuHeight","_u","Hu","Ou","Eu","Cu","Qu","Au","Yu","zu","Gu","qu","nl","el","ol","ul","ll","al","obj","prefix","scaleGraph","lockCross","HeatmapCanvas","redrawCross","redrawMain","redrawShapes","redrawHeatmap","DrawingsStore","set","drawing","keys","getKeys","subid","updated_at","symbol","$symbol","setItem","getItem","removeItem","getRaw","getAll","drawChartInfo","cl","hl","cookieName","cookieValue","saveConfig","cookieParams","expires","wildcardDomain","domain","cookie","dl","pl","Measurer","start","stop","ml","clearRect","getContext","ctxDpr","canvasWidth","canvasHeight","setTransform","ql","Il","xl","yl","wl","kl","old_l_html","old_yu_html","_l","sa","ca","fa","ha","da","pa","va","ba","ga","Fa","isCrosshairInfoVisibleForMobile","$is_desktop_mode","setSeconds","lineWidth","substr","market","line_style","trim","Bl","Ol","Rl","price_currency","El","reverse","changed_at","Nl","last","$c_usdcny","Ul","Wl","asks","bids","Infinity","Heatmap","sdepth","Ql","step","$step","forceUpdate","stepChange","is_simple","$ssl","$host","Yl","Al","$sid","zl","createElement","setAttribute","innerHTML","tx","tx_style","oa","useAnimation","changeColorAnimation","divsClasses","emptyEl","sort","ob_amount","clone","before","ob_price","getElementsByClassName","ra","ta","precision","notation","format","ea","amount_str","price_str","found_at","divInfo","ua","$script_loaded","sessionStorage","rm","$theme_name","support","cors","gasks","gbids","$debug","prepend","childNodes","removeChild","60","180","300","900","1800","3600","7200","14400","21600","43200","86400","259200","604800","price_mas","labels","volume_mas","bbands","pids","fn","sar","macd","colors","stoch_rsi","axis","rsi","dmi","kdj","cmf","obv","bid_ratio","userLanguage","language","depth_hint","sidebar","$hsymbol","recreateDepth","$init_price","vl","$disable_volume","handleDrawingGet","handleDrawingReplace","handleDrawingsGetAll","localData","handleDrawingDelete","heatmapArguments","requestHeatmapVar","requestCrossVar","requestMainVar","requestShapesVar","frameRedrawRequest","rafLoop","draw","requestFrameRedraw","event","eventX","eventY","center","pageX","originalEvent","touches","pageY","actualBarSize","fl","alert","stick_style","ctrlKey","shiftKey","refreshLoop","stats","update","canClearChartInfo","clearChartInfo","touchEnd","touchStart","forceMove","button","eventPhase","canAddMoreAlerts","FlutterFunctions","alertSide","updateAlert","sendCantAddMoreAlerts","delta","body","addEventListener","touch","mouseX","mouseY","rect","getBoundingClientRect","right","bottom","mouseout","mousewheel","contextmenu","getElementById","lastPinchValue","enable","scale","world_draw_main","Qt","At","jt","he","Ce","Mr","fo","mo","Fo","isDrawing","$load_time","resetIsDrawing","mainBottomPadding","heatmapsEnabled","$heatmap_settings","combined","calcLows","calcHighs","index","heatmapsRange","vtTo","AtTo","vtI","AtI","nCounter","nId","sliceLimit","n1","n2","n3","volumeStrokeStyle","drawData","runDrawData","nCb","bars","dd","barConfig","styleEqStrokeStyle","linePath","arc","closePath","cond","key_cond","key_text","over","textFontObjects","numbersFontObjects","textContent","textX","textWidth","tfo","toTfo","nfo","toNfo","drawXAxisLabels","useSimplifiedHints","priceLevels","setPriceLevels","priceText","leftPadding","Jl","reload","FrP","initPopupDragging","default_params","USD","EUR","GBP","CNY","JPY","AUD","CAD","BTC","LTC","disableAnimations","insertBefore","appendChild","isNaN","click_base_currency","click_quote_currency","hasClass","which","keyCodes","depth","$test","since","return","webSocketsHosts","wsI","wsTo","$ws_servers","taskQueue","updateRefreshTimer","trades","ticker","random","windowTabbedOut","immediateExecution","immediateTradesLength","callPrecisionCb","recalcPrecisionVariables","handleTrades","arg","Cl","errorPopup","errorPopupVisible","checkLocalStorageUpdates","refreshPage","keydown","debounce","wait","timeoutId","signalFlutter","play","loop","getSeconds","aa","popupSelector","container","cacheKey","default_performance_settings","$default_performance_settings","each","input","prop","Function"],"mappings":"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","file":"/js/main_b.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","Date.prototype.isLeapYear = function() {\n var year = this.getFullYear();\n if((year & 3) != 0) return false;\n return ((year % 100) != 0 || (year % 400) == 0);\n};\n\nDate.prototype.getDayOfYear = function() {\n var dayCount = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n var mn = this.getMonth();\n var dn = this.getDate();\n var dayOfYear = dayCount[mn] + dn;\n if(mn > 1 && this.isLeapYear()) dayOfYear++;\n return dayOfYear;\n};\n\n// not a very good idea to call localStorage that often\nvar shouldIgnoreEvent = function(conf) {\n// window.Measurer('shouldIgnoreEvent').start();\n\n var isCross = localStorage.mode && localStorage.mode === 'cross';\n var chartMovable = conf['chart_touch_movement'] === '\"on\"' || conf['chart_touch_movement'] === 'on';\n\n// window.Measurer('shouldIgnoreEvent').stop();\n\n return !isCross || !chartMovable;\n};\n\nvar dpr = function(ctx) {\n var dpi = window.devicePixelRatio || 1;\n var backingStoreRatio = 1;\n\n if(dpi < 1) {\n return 1;\n }\n\n if(ctx) {\n backingStoreRatio = (\n ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1\n );\n }\n\n return dpi / backingStoreRatio;\n};\n\nwindow.dpr = dpr;\n\n// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel\n(function() {\n var lastTime = 0;\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']\n || window[vendors[x]+'CancelRequestAnimationFrame'];\n }\n\n if (!window.requestAnimationFrame)\n window.requestAnimationFrame = function(callback, element) {\n var currTime = new Date().getTime();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n var id = window.setTimeout(function() { callback(currTime + timeToCall); },\n timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n\n if (!window.cancelAnimationFrame)\n window.cancelAnimationFrame = function(id) {\n clearTimeout(id);\n };\n}());\n\nvar round3dTime = function(t) {\n if (window.$_3d_format !== \"tv\") {\n return t - t % 259200;\n }\n\n // here is an issue: new Date() is using LOCAL time\n var offset = (new Date()).getTimezoneOffset();\n var date = new Date(t * 1000 + offset * 60 * 1000);\n var subDays = (date.getDayOfYear() - 1) % 3;\n\n // console.log(t, subDays);\n\n var res = Math.floor((\n t - (subDays * 24 * 60 * 60 * 1000)\n ) / 1000);\n\n return res - res % 86400;\n};\n\n(function() {\n var n = function(n) {\n var t, e, r, o, i;\n for (r = \"\", e = o = 0, i = n.length; i > o; e = ++o) t = n[e], r += String.fromCharCode(102 ^ t.charCodeAt(0));\n return r\n },\n t = {\n Sf: n(\"\u0014\u0001\u0004\u0007NTVVJTVVJTVVJVHPO\"),\n WD: n(\"\u0016\u0007\u0015\u0015\u0016\t\u0014\u00129\\n\t\u0001\t\u0013\u0012\"),\n JV: n(\"@\"),\n oZ: n(\"J\"),\n Pw: n(\"E\u0004\u0003\\x00\t\u0014\u00039\u0012\u0014\u0007\u0002\u0003\u0015\"),\n eg: n(\"E\\b\t\u0012\u000f\\x00\u001fFH\u000f\\b\\b\u0003\u0014\"),\n tf: n(\"H\u0010\"),\n hT: n(\"\\n\u0003\\b\u0001\u0012\u000e\"),\n aN: n(\"3\\b\\r\\b\t\u0011\\bF#\u0014\u0014\t\u0014\"),\n Ob: n(\"$\u000f\u0012\u0015\u0012\u0007\u000b\u0016\"),\n RR: n(\"\u0014\u0003\u0017\u0013\u0003\u0015\u0012F\\x00\u0007\u000f\\n\u0003\u0002H\"),\n xN: n(\"\\n\u000f\\b\u00032\t\"),\n Pf: n(\"\u0015\u0005\u0007\\n\u0003\"),\n kF: n(\"\u0014\u0001\u0004\u0007NVJVJWT^JVH^O\"),\n FM: n('EV\"^P '),\n vy: n(\"\u0014\u0012\u0015F\t\\r\"),\n Vi: n(\"\u0002\u0003\u0016\u0012\u000e\"),\n La: n(\"5\u000e\u0007\u0016\u0003%\t\\n\t\u0014\u0015\"),\n Rm: n(\"\u000e\t\u000b\u0003\"),\n sv: n(\",\u0007\\bF \u0003\u0004F+\u0007\u0014F'\u0016\u0014F+\u0007\u001fF,\u0013\\bF,\u0013\\nF'\u0013\u0001F5\u0003\u0016F)\u0005\u0012F(\t\u0010F\\\"\u0003\u0005\"),\n Iz: n(\"F\"),\n NX: n(\"\u0004\u0007\u00141\u000f\u0002\u0012\u000e\"),\n SC: n(\"\u0014\u0001\u0004\u0007NPRJTSSJPRJVHUO\"),\n Uv: n(\"\\x00\u0003\u0012\u0005\u000eF\u0002\u0003\u0016\u0012\u000eF\\x00\u0007\u000f\\n\u0003\u0002\"),\n vo: n(\"\u0001\u0003\u0012 \u0013\\n\\n?\u0003\u0007\u0014\"),\n kP: n(\"\u0001\u0003\u001232%\"),\n jx: n(\"仙\"),\n MA: n(\"E\\n\t\u0007\u0002\u000f\\b\u0001\"),\n uz: n(\"\u0001\u0003\u0012+\u000f\\b\u0013\u0012\u0003\u0015\"),\n KV: n(\"H\u0002\u000f\u0007\\n\t\u0001\\\\\u0010\u000f\u0015\u000f\u0004\\n\u0003\"),\n Ay: n(\"Z\u0002\u0002XZ\u0015\u0016\u0007\\bF\u0015\u0012\u001f\\n\u0003[D\u0005\t\\n\t\u0014\\\\\"),\n kV: n(\"@\u0015\u000f\u001c\u0003[Q\"),\n jh: n(\"\u0001\u0003\u00122\u000f\u000b\u0003\u001c\t\\b\u0003)\\x00\\x00\u0015\u0003\u0012\"),\n xw: n(\"U\u0002\"),\n dT: n(\">%.'(!#\"),\n jO: n(\"\\x00\u0007\u000f\\n\u0003\u0002FTJFE\u001d\u0014H\u0003\u0014\u0014\t\u0014\u001bFE\u001d\u0014H\u0014\u0003\u0015\u0013\\n\u0012\u001bFE\u001d\u0010\u001bE\u001d,5)(H\u0015\u0012\u0014\u000f\\b\u0001\u000f\\x00\u001fN\u0014O\u001b\"),\n US: n('E \"^ VV'),\n FF: n(\"\u0015\u0003\u0015\u0015\u000f\t\\b\u0015\"),\n Pm: n(\"E\u0016\u0014\u000f\u0005\u0003\"),\n We: n(\"ZI\u0002\u0002XZI\u0002\\nX\"),\n VM: n(\"\u0004\t\\n\u0002FWT\u0016\u001eF\"),\n cY: n(\"BW\"),\n Fx: n(\"F\u000f\u0015F\\b\t\u0012F\u000f\\b\u0012\u0003\u0001\u0003\u0014H\"),\n Zi: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJWT^JVH^O\"),\n Nn: n(\"N\"),\n vU: n(\"\u0014\u0001\u0004\u0007NTSSJWT^JWT^JVH^O\"),\n WN: n(\"\u0004\u0003\u0001\u000f\\b6\u0007\u0012\u000e\"),\n NO: n(\"\u0011\u000f\u0002\u0012\u000e\"),\n Ow: n('M\"/'),\n mq: n(\"\u0014\u0001\u0004\u0007NW_PJTSSJW_PJVH^O\"),\n qo: n(\"\u0014\u0001\u0004\u0007NVJVJVJVH^O\"),\n Lq: n('\")!#'),\n PU: n(\"\u0002\u0014\u0007\u00119\\x00\u000e\\n\u000f\\b\u0003\"),\n JQ: n(\"\u0014\u0001\u0004\u0007NWT^JVJVJVH^O\"),\n JU: n(\"\u0014\u0001\u0004\u0007NVJWT^JWT^JVH^O\"),\n Lm: n(\"'\u0014\u0014\t\u0011F2\u0003\u001e\u0012\"),\n ks: n(\"\u0014\u0001\u0004\u0007NWT^JVJWT^JVH^O\"),\n VQ: n(\"F\u0007\u0015\\r\u0015F\u0007\\b\u0002F\"),\n ON: n(\"E\\x00\t\t\u0012\u0003\u0014\"),\n Ib: n(\"\u0002\u000f\u0010\\\\\\x00\u000f\u0014\u0015\u0012\"),\n YR: n(\"2?6#JF6)/(25JF)4\\\"#4JF'>/5JF )4+3*'JF52'235JF> />JF$*)%-9*/+/2JF52#6JF5('6JF2.#+#l6'42/'*JF /(/5.#\\\"l*/(#'4JF*)!JF$/*)!l*/(#JF0*/(#JF.*/(#JF 0*/(#JF .*/(#JF '4%JF '(JF .*/(##>JF */(#JF '(%JF%)*)4\"),\n Xf: n(\"7\u0013\t\u0012\u0003N\"),\n OC: n(\"EV^%\"),\n yQ: n(\"\u0015\u0002\u0003\u0016\u0012\u000e\"),\n pS: n(\"WVV\u0016\u001e\"),\n xm: n(\"\u000b\u0007\u0014\u0001\u000f\\bK\u0012\t\u0016\"),\n IP: n(\"Z\u0004\u0014XF \u0014\t\u000bF\"),\n bJ: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\t\\rX\"),\n YJ: n(\"F\u0015\u0013\u0005\u0005\u0003\u0015\u0015\\x00\u0013\\n\\n\u001fHZI\u0002\u000f\u0010X\"),\n Qe: n(\"%\t\\b\u0015\t\\n\u0007\u0015JF+\t\\b\t\u0015\u0016\u0007\u0005\u0003\"),\n vd: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\t\\rX*\t\u0007\u0002\u000f\\b\u0001HHHZI\u0002\u000f\u0010X\"),\n we: n(\"F\u0004\u000f\u0002\u0015\"),\n Sg: n(\"\u0014\u0001\u0004\u0007NTSSJPRJPRJVHTO\"),\n ad: n(\"\u0016\u0014\t\\x00\u000f\\n\u0003\"),\n Rk: n(\"\\n\t\u0001\t\u0013\u0012\"),\n pb: n(\"\u0014\u0003\u000b\t\u0010\u0003F\"),\n AB: n(\"Z\u0012\u0014XZ\u0012\u0002X\"),\n OJ: n(\"ZI\u0012\u0002XZ\u0012\u0002X#\u001e\u0012\u0003\\b\u0002F\u0016\u0014\u0003\u000b\u000f\u0013\u000b\"),\n FC: n(\"'F\u0014\u0003\u0005\t\u0010\u0003\u0014\u001fF\u000b\u0007\u000f\\nF\u000e\u0007\u0015F\u0004\u0003\u0003\\bF\u0015\u0003\\b\u0012F\u0012\tZ\u0004\u0014X\"),\n MD: n(\"!\u0014\u0003\u0003\\bF'\\n\u0007\u0014\u000b\"),\n EC: n(\"\u0015\u0014\u0005\"),\n EX: n(\"\u000e\t\u0013\u0014\"),\n Sa: n(\"\\n\u000f\u0012\u0003\u0005\t\u000f\\b\"),\n rL: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\t\\rX?\t\u0013F\u0002\t\\bA\u0012F\u000e\u0007\u0010\u0003F\u0007\\b\u001fF\t\u0014\u0002\u0003\u0014F\u001f\u0003\u0012HZI\u0002\u000f\u0010X\"),\n OY: n(\"W\u000e\"),\n mS: n(\"FZ\u0015\u0016\u0007\\bF\u0015\u0012\u001f\\n\u0003[D\u0005\t\\n\t\u0014\\\\EPPPDXZ\u0015\u000b\u0007\\n\\nXN\"),\n Eo: n(\"\u0005\u000b\\x009\u0016\u0007\u0014\u0007\u000b\u0015\"),\n qL: n(\"F\\n\u0003\\x00\u0012OZI\u0015\u000b\u0007\\n\\nXZI\u0015\u0016\u0007\\bX\"),\n Yp: n(\"3\u0016\u0001\u0014\u0007\u0002\u0003F\u0012\tF\u0016\u0014\u0003\u000b\u000f\u0013\u000bF\u0007\u0005\u0005\t\u0013\\b\u0012H\"),\n MI: n(\"+\u000f\\b\t\u0014F'\u0014\u0014\t\u0011\"),\n Yn: n(\"Y\u0007\u000b\t\u0013\\b\u0012[\"),\n GO: n(\"\u0007\u0015\\r\u0015\"),\n aC: n(\"EUP \"),\n Yk: n(\"%\u000e\u0007\\b\u0001\u0003F\"),\n fr: n(\"F\u000f\u0015F\u0014\u0003\u000b\t\u0010\u0003\u0002H\"),\n Yi: n(\"%\\n\u000f\u0005\\rF\u0004\u0013\u0012\u0012\t\\bF\u0007\u0001\u0007\u000f\\bF\u0012\tF\u0016\u0003\u0014\\x00\t\u0014\u000bF\u0012\u000e\u0003F\u0007\u0005\u0012\u000f\t\\bH\"),\n wt: n(\"*\t\u0007\u0002\u000f\\b\u0001HHH\"),\n IM: n('Z\u0004\u0014IXZ\u000eX\"\u0014\u0007\u0011\u000f\\b\u0001FZI\u000eX3\\b\u0002\u0003\\n\u0003\u0012\u0003N'),\n Yf: n(\"FKF\"),\n mU: n(\"⇶F\"),\n kd: n(\"FIF\"),\n AH: n(\"ZI\u0002\u0002X\"),\n cZ: n(\"\u0005\t\u000b\u0016\u0007\u0014\u0003\"),\n Yv: n(\"./52\"),\n XZ: n(\"%\t\u000b\u0016\u0007\u0012\u000f\u0004\\n\u0003F\u0003\u0014\u0014\t\u0014HF\"),\n QD: n(\"I\u0002\u000f\\x00\\x00\u000f\u0005\u0013\\n\u0012\u001fY\u0005\t\u000f\\b9\\b\u0007\u000b\u0003[\"),\n JY: n('K\"/'),\n vw: n(\"\u0001\u0003\u0012.\t\u0013\u0014\u0015\"),\n XV: n(\"'\u0013\u0002\u000f\t%\t\\b\u0012\u0003\u001e\u0012\"),\n Xi: n(\"\u0015\u001f\u000b\u000b\"),\n XT: n(\"\u0005\u0014\u0003\u0007\u0012\u0003)\u0015\u0005\u000f\\n\\n\u0007\u0012\t\u0014\"),\n mi: n(\"\u0003\u0014\u0014\t\u0014\"),\n XQ: n(\"\t\u0001\u0001\"),\n zK: n(\"E $_'__\"),\n Ux: n(\"E#UW'W%\"),\n bc: n(\"H\t\"),\n OK: n(\"\u0011\t\u0014\\n\u0002\"),\n OG: n(\"+'%\\\"\"),\n RI: n(\"H\t\\r\"),\n zd: n(\"9\u0007\u0010\u0001\"),\n eH: n(\"\u000e\u0014\u0003\\x00\"),\n MU: n(\"W\u000b\"),\n PL: n(\"\u0010\u0007\\n\u0013\u0003\"),\n De: n(\"\u000b\u0007\u0005\u00029\u0016\u0007\u0014\u0007\u000b\u0015\"),\n Vt: \"mousemove touchmove touchstart\",\n LT: n(\"E\u0015\u0003\u0012\u0012\u000f\\b\u00019\u0012\u001cF\\n\u000f=\u0010\u0007\\n\u0013\u0003[\u0013\u0012\u0005;\"),\n zy: n(\"\u0012\t\u0016\"),\n jl: n(\"\u0007\u001e\u000f\u0015\"),\n BV: n(\"\"),\n PA: n(\"E\u0007\u0015\u0015\u000f\u0015\u0012\"),\n IW: n(\"\u000f\u0012\u0003\u000b\"),\n zF: n(\"1\u0003\u00041\t\u0014\\r\u0003\u0014\"),\n BZ: n(\"\u000f\\b\u0002\u0003\u001e)\\x00\"),\n Qx: n(\"\u000e\u0003\u000f\u0001\u000e\u0012\"),\n Ru: n(\"\u0015\u0013\u0004\u000b\u000f\u0012\"),\n hU: n(\"\u000e\u0012\u0012\u0016E\u001dB\u0015\u0015\\n\u001b\\\\IIE\u001d\u000e\t\u0015\u0012\u001bIE\u001d\u0016\u0007\u0012\u000e\u001b\"),\n IE: n(\"E\u0005\u0007\\b\u0010\u0007\u00159\u000b\u0007\u000f\\b\"),\n Xr: n(\"F\u0005\\n\u0007\u0015\u00159\\b\u0007\u000b\u0003[D\"),\n dL: n(\"ZI\u0002\u000f\u0010XFZ\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[D\u0016F\"),\n Xp: n(\"Z\u0002\u000f\u0010\"),\n Tw: n(\"IX\"),\n Ed: n(\"\\n\t\u0011\"),\n QE: n(\"NM\"),\n SQ: n(\"E%%WRWR\"),\n gM: n(\"E\u0015\u0003\u0012\u0012\u000f\\b\u00019\u0012\u001cF\\n\u000f=\u0010\u0007\\n\u0013\u0003[\\n\t\u0005\u0007\\n;\"),\n TY: n(\"\u0014\u0003\u0007\\n\u0012\u000f\u000b\u0003F\u0007\u0005\u0012\u000f\u0010\u0003F\u0007\u0012F\"),\n \"if\": n(\"\u0007\\n\u0007\u0014\u000b\"),\n Wz: n(\"5\u0003\\n\\nFZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u001f\u0003\\n\\n\t\u0011X\"),\n YG: n(\"E V\"),\n mJ: n(\"\u001a\"),\n Xd: n(\"B\u0005\t\\b\\x00\"),\n Xc: n(\"\u0005\t\\b\\x00\\\\\"),\n sZ: n(\"H\u0002\u000f\u0014\u0003\u0005\u00129\u0007\u0002\u0002\u0014\u0003\u0015\u0015\"),\n Di: n(\"%\u0014\t\u0015\u0015F\u000f\u0015F\u0013\\b\\n\t\u0005\\r\u0003\u0002H\"),\n oH: n(\"\u000b\u000f\\b\"),\n WY: n(\"\u0010\t\\n\u0013\u000b\u00039\u0005\u0013\u0014\u0014\u0003\\b\u0005\u001f\"),\n RH: n(\"Z\u0002\u000f\u0010XZ\u0007X\"),\n Np: n(\"$\t\u0014\u0002\u0003\u0014\"),\n Bu: n(\"E\u000b\u0007\u0014\\r\u0003\u00129\"),\n Qf: n(\"'\u0014\u000f\u0007\\nJF\u0015\u0007\\b\u0015\"),\n XM: n(\"\t\"),\n NN: n(\"E\u000b\u0007\u0014\\r\u0003\u0012\"),\n Qm: n(\"\u0015\u0012\u000f\u0005\\r9\u0015\u0012\u001f\\n\u0003\"),\n Ta: n(\"C\"),\n WP: n(\"\\n\u0007\u0004\u0003\\n\u0015\"),\n Qy: n(\"9\u0005\t\u0015\u0012\"),\n Li: n(\"DX\"),\n DU: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\\n\t\u0001\u000f\\b\"),\n WL: n(\"Z\u0002\\nX\"),\n ko: n(\"ZI\u0002\\nX\"),\n Tu: n(\"\u000b\u0013\\n\u0012\u000f\u000b\u0007\u0016\"),\n WI: n(\"ZI\u0002\u000f\u0010X\"),\n WH: n(\"WT\u0016\u001eF\"),\n bO: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJVJVH^O\"),\n Id: n(\"\u0005\t\\b\\b\u0003\u0005\u0012\"),\n rq: n(\"\u0007\u0016\u0016\\n\u001fF\u0015\u0002\u0003\u0016\u0012\u000e\"),\n Ac: n(\"ZI\u0015\u0016\u0007\\bXF\"),\n kH: n(\"F\u0011\u000f\\n\\nF\u0005\t\u0015\u0012FZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0001\u0014\u0003\u0003\\bX\"),\n tX: n(\"F\u0007\\b\u0002F\u0016\u0014\u000f\u0005\u0003F\u0011\u000f\\n\\nF\u0014\u0003\u0007\u0005\u000eFZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0001\u0014\u0003\u0003\\bX\"),\n TL: n(\"\u0002\u000f\u0015\u0005\t\\b\\b\u0003\u0005\u0012\"),\n vE: n(\"\u0007\u0004\u0015\"),\n UW: n(\"\u0002\u000f\u0010\"),\n Mh: n(\"\u0007\u0015\\r\"),\n bw: n(\"E\u0005\\n\u0003\u0007\u00149\u000e\u000f\u0001\u000e9\u0016\u0014\u000f\u0005\u0003\"),\n QL: n(\"Z\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u000bXKZI\u0015\u0016\u0007\\bX\"),\n Wu: n(\"Z\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u000bXMZI\u0015\u0016\u0007\\bX\"),\n Om: n(\")$0\"),\n BH: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u0015\u0003\u0005\u0013\u0014\u000f\u0012\u001fFH\u0007\u0005\u0005\t\u0013\\b\u00129\\b\u0007\u000b\u0003\"),\n Oz: n(\"\u0014\u0015\u000f9\u0016\u0007\u0014\u0007\u000b\u0015\"),\n pG: n(\"F\u0012\tF\"),\n pB: n(\"H\u0015\u001f\u000b\u0004\t\\n9\"),\n Rj: n(\"%.'(!#\\\\F\"),\n Ro: n(\"\u0016\u0007\u0015\u0015\u0016\t\u0014\u00129\u0014\u0003\u0005\t\u0010\u0003\u0014\u001f9\u000b\u0007\u000f\\n\"),\n Nf: n(\"\u0005\u000e\u0007\u0014\u00129\u0014\u0007\\b\u0001\u0003\"),\n Rd: n(\"\u0002\u000b\u000f\"),\n Rx: n(\"\u000b\u0007\u0014\\r\u0003\u0012\"),\n vY: n(\"\\b\t\\b\u0003\"),\n Bt: n(\"\u0001\u0003\u0012+\t\\b\u0012\u000e\"),\n WB: n(\"Z\u0002\u0002X\"),\n sp: n(\"\u0007\u000b\t\u0013\\b\u0012\"),\n Wf: n(\"Z\u0002\\nXZ\u0002\u0002X) 5#2\\\\F\"),\n QN: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u0015\u0003\u0005\u0013\u0014\u000f\u0012\u001f\"),\n zA: n(\"\u000b\u000f\u0002\u0002\\n\u0003\"),\n hj: n(\"\u0005\u0007\\b\u0002\\n\u00039\u0015\u0012\u000f\u0005\\r9\u000e\\n\u0005\"),\n uO: n(\"\\n\u0003\\x00\u0012\"),\n uT: n(\")\\\\F\"),\n ty: n(\"\u0014\u000f\u0001\u000e\u0012\"),\n Ma: n(\".\u000f\u0002\u0003F74F%\t\u0002\u0003\"),\n Yr: n(\"F\u0002\u0007\u001f\"),\n ow: n('E\" ^\\'\" '),\n WO: n(\"%\\\\F\"),\n bT: n(\"F'\u0014\u0014\t\u0011\"),\n OX: n(\"T\u000e\"),\n RP: n(\"H\u0012\u0007\u0004\\n\u000f\u0015\u0012\"),\n VR: n(\"\u0007\u001e\u000f\u00159\u000b\u000f\\b\"),\n PX: n(\"\u0002\u0014\u0007\u00119\\n\u000f\\b\u0003\"),\n TA: n(\"\\n\t\t\u00169\u0013\\b\u0012\u000f\\n9\u0015\u0013\u0005\u0005\u0003\u0015\u0015\\\\\u0003\u0014\u0014\t\u0014\"),\n VO: n(\"\u0014\u0003\\x00\u0014\u0003\u0015\u000eF\\n\u000f\u000b\u000f\u0012F\"),\n VN: n(\"\u0005\u0003\\b\u0012\u0003\u0014\"),\n la: n(\"Z\u0012\u0007\u0004\\n\u0003F\u0005\\n\u0007\u0015\u0015[\u0015WX\"),\n tL: n(\"\u0004\u0004\u0007\\b\u0002\u00159\u0016\u0007\u0014\u0007\u000b\u0015\"),\n Ry: n(\"\u0016\u0014\u0003\u000b\u000f\u0013\u000b\"),\n Ui: n(\"\u0012\u000f\u0005\\r\u0003\u0014\\\\F\"),\n VI: n(\"0\t\\n\u0013\u000b\u0003F\u000f\u0015F\u0002\u000f\u0015\u0007\u0004\\n\u0003\u0002F\\x00\t\u0014F%\t\u000f\\b\u0004\u0007\u0015\u0003H\"),\n CU: n(\"F\u0002\t\u0003\u0015\\bA\u0012F\u0005\t\\b\u0012\u0007\u000f\\bF\u0004\u000f\u0002I\u0007\u0015\\rF\u000f\\b\\x00\tH\"),\n Rq: n(\"\u000f\\b\u0016\u0013\u0012=\\b\u0007\u000b\u0003[\u0014\u0003\u0005\t\u0010\u0003\u00149\u0016\u0007\u0015\u0015\u0011\t\u0014\u0002;\"),\n Tg: n(\"\u0013\\b\u000f\u00129\\r\"),\n Ff: n(\"\"),\n nr: n(\"WV\u0016\u001eF%\t\\b\u0015\t\\n\u0007\u0015JF+\t\\b\t\u0015\u0016\u0007\u0005\u0003\"),\n Xl: n(\"\\\\F\"),\n hK: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJTSSJVH^O\"),\n VA: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0012\u0003\u001e\u0012X\"),\n LN: n(\"Å\"),\n uy: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0012\u0003\u001e\u0012X*\t\u0007\u0002\u000f\\b\u0001HHHZI\u0002\u000f\u0010X\"),\n rZ: n(\"\u0007\u0007\u0005\"),\n dV: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0003\u0014\u0014\t\u0014X*\t\u0007\u0002F\u000e\u000f\u0015\u0012\t\u0014\u001fF\\x00\u0007\u000f\\n\u0003\u0002XZI\u0002\u000f\u0010X\"),\n Pz: n(\"E\u0016\u0003\u0014\u000f\t\u0002\u0015\"),\n Fm: n(\"E\u0016\u00059\u0012\t9\u0004\u0011\"),\n SG: n(\"IZI\u0015\u0016\u0007\\bX\"),\n Vs: \"/ticker\",\n UO: n(\"E\"),\n Ku: n(\"'\\\">4\"),\n FR: n(\"4\u0003\u0002F \u000f\\n\\n\"),\n xU: n(\"F\u0002\u0003\u0016\u0012\u000e\"),\n qQ: n(\"\u0005\t\\n\t\u0014\u0015\"),\n xH: n(\"F\u0004\u0013\u0012\u0012\t\\b\"),\n AA: n(\"ZI\u0015\u0016\u0007\\bXZI\u0002\u0002X\"),\n Ug: n(\"\u0007\u001e\u000f\u00159\u000b\u0007\u001e\"),\n Vj: n(\"\u0015\u0011\u000f\u0012\u0005\u000eF\\x00\u0007\u000f\\n\u0003\u0002F\"),\n WE: n(\"$\u0013\u001fFZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u001f\u0003\\n\\n\t\u0011X\"),\n fX: n(\"E\u0015\\n\t\u00129\u000e\u0007\u0015\u000e9\u0014\u0007\u0012\u0003\"),\n Vg: n(\"I\u0016\u0003\u0014\u000f\t\u0002\"),\n ZD: n('\u0001\u0003\u0012\"\u0007\u0012\u0003'),\n Ve: n(\"\u000f\\b\u0016\u0013\u0012=\\b\u0007\u000b\u0003[\"),\n GL: n(\";\"),\n Wy: n(\"F\u0011\u000f\\n\\nF\u0014\u0003\u0005\u0003\u000f\u0010\u0003FZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0014\u0003\u0002X\"),\n mr: n(\"\u000f\\b\u0002\u000f\u0005\u0007\u0012\t\u0014\\\\\"),\n Va: n(\"Z\u0001XB@ZI\u0001X\"),\n bF: n(\"0\\\\F\"),\n TI: n(\"9\u0007\u0010\u00019\u0016\"),\n fO: n(\"ZI\u0001X\"),\n Bf: n(\"\u0007\u0005\u0012\u000f\u0010\u0003\"),\n RM: n(\"ZI\u0012\u0007\u0004\\n\u0003X\"),\n oj: n(\"\u0007\u0015\u0015\u000f\u0015\u0012\"),\n di: n(\"\u0014\t\u0011\"),\n XO: n(\"FKF$\u000f\u0012\u0005\t\u000f\\b1\u000f\u0015\u0002\t\u000b\"),\n UR: n(\"Z\u0002\u000f\u0010X\"),\n AG: n(\"\u000b\u000f\\b\\\\F\"),\n vL: n(\"'+6*/23\\\"#\\\\F\"),\n hw: n(\"E\u0004\u000f\u0002\"),\n Qq: n(\"%B\"),\n Ze: n(\"\u0014\u0001\u0004\u0007NTSSJW_PJW_PJVH^O\"),\n XP: n(\"\u000b\u0016U\"),\n fj: n(\"9\u0014\u0003\u0007\u0005\u000e\"),\n Wi: n(\"*# 2+)52\"),\n ht: n(\"\"),\n FV: n(\"\u0016\t\u0015\u000f\u0012\u000f\t\\b\"),\n RT: n(\"5\u000e\u0007\u0016\u0003.\u000f\\b\u0012\"),\n WK: n(\"9\u0005\t\u0015\u00129\u0016\"),\n UE: n(\"E\u0002\\n\u00019\"),\n UD: n(\"H\\n\u000f\\b\\r9\"),\n Vm: n(\"\\n\t\u0007\u0002F\"),\n XN: n(\"E\u000b\t\u0002\u00039\"),\n RA: n(\"\\n\t\u0001\u000f\\b\"),\n Jq: n(\"\u0014\u0003\u0012\u0014\u001fF\u0007\\x00\u0012\u0003\u0014FSF\u0015\u0003\u0005\t\\b\u0002\u0015\"),\n Oi: n(\"HZ\u0004\u0014X\"),\n jF: n(\"EUUU\"),\n er: n(\"@\u0015\u000f\u0002[\"),\n Cx: n(\"!#2\"),\n BC: n(\"!\u0014\u0003\u0003\\bF \u000f\\n\\n\"),\n Ut: n(\"\u0011\u0007\u000f\u0012F\u0005\u001f\u0005\\n\u0003\"),\n Us: n(\"\u0001\u0003\u0012F\u000e\u000f\u0015\u0012\t\u0014\u001fF\u0012\u0014\u0007\u0002\u0003\u0015\"),\n Vz: n(\"\u0011\u0007\u0014\\b\u000f\\b\u0001\"),\n Uq: n(\"\\x00\u0007\u000f\\n\u0003\u0002JF\"),\n Up: n(\"\\x00\t\u0013\\b\u0002F\"),\n dO: n(\"5/!\"),\n LM: n(\"Ã\"),\n my: n(\"ZI\u0007XFZ\u0001XZI\u0001XZI\u0002\u000f\u0010X\"),\n ZI: n(\"\u0011\u0015\"),\n Uk: n(\"Y\u0015\u001f\u000b\u0004\t\\n[\"),\n Uj: n(\"\u0012\u0014\u0007\u0002\u0003\u0015\\\\F\"),\n Tn: n(\"\u0002\"),\n Ym: n(\"@\\n\u0007\u0004\u0003\\n[$\u000f\u0012\u0005\t\u000f\\b1\u000f\u0015\u0002\t\u000b\"),\n rC: n(\"KKKKKK\"),\n wi: n(\"\u0005\u0007\u0005\u000e\u0003\u0002F\u0012\u001e\u0003\u0015F\\n\u0003\\b\u0001\u0012\u000e\\\\F\"),\n Xu: n(\"Z\u0002\u000f\u0010F\u0015\u0012\u001f\\n\u0003[D\u000b\u0007\u0014\u0001\u000f\\b\\\\P\u0016\u001eDXlZ\u0002\u000f\u0010X5\t\u0014\u0014\u001fJF\u001f\t\u0013\u0014F\u0004\u0014\t\u0011\u0015\u0003\u0014F\u0002\t\u0003\u0015\\bA\u0012F\u0015\u0013\u0016\u0016\t\u0014\u0012F$\u000f\u0012\u0005\t\u000f\\b1\u000f\u0015\u0002\t\u000bHZI\u0002\u000f\u0010XlZ\u0002\\nXloZ\u0002\u0012X+\u000f\\b\u000f\u000b\u0013\u000bF\u0014\u0003\u0017\u0013\u000f\u0014\u0003\u000b\u0003\\b\u0012\u0015\\\\ZI\u0002\u0012XloZ\u0002\u0002X/#F_MJF%\u000e\u0014\t\u000b\u0003JF \u000f\u0014\u0003\\x00\t\u001eF\t\u0014F\t\u0012\u000e\u0003\u0014F\u000b\t\u0002\u0003\u0014\\bF\u0004\u0014\t\u0011\u0015\u0003\u0014HZI\u0002\u0002XloZ\u0002\u0012X4\u0003\u0005\t\u000b\u000b\u0007\\b\u0003\u0002F\u0014\u0003\u0017\u0013\u000f\u0014\u0003\u000b\u0003\\b\u0012\u0015\\\\ZI\u0002\u0012XloZ\u0002\u0002X/#FWVMJF%\u000e\u0014\t\u000b\u0003JF \u000f\u0014\u0003\\x00\t\u001eF\t\u0014F\t\u0012\u000e\u0003\u0014F\u000b\t\u0002\u0003\u0014\\bF\u0004\u0014\t\u0011\u0015\u0003\u0014HZI\u0002\u0002XloZ\u0002\u0012X4\u0003\u000b\u0007\u0014\\r\u0015\\\\ZI\u0002\u0012XloZ\u0002\u0002X/#F_F\u0011\t\\bA\u0012F\u0015\u0013\u0016\u0016\t\u0014\u0012F4\u0003\u0007\\n\u0012\u000f\u000b\u0003F\u000b\t\u0002\u0003ZI\u0002\u0002XlZI\u0002\u000f\u0010X\"),\n nU: n(\"\u0015\t\u0014\u0012\u0003\u0002F\u0012\u001e\u0003\u0015F\\n\u0003\\b\u0001\u0012\u000e\\\\F\"),\n ur: n(\"\u0002\u0003\u0016\u0012\u000eF\u0005\u0007\u0005\u000e\u0003F\\n\u0003\\b\u0001\u0012\u000eF\"),\n TD: n(\"H\u0012\"),\n FK: n(\"\u0002\u0003\u0016\u0012\u000eF\u0004\u000f\u0002F\\n\u0003\\b\u0001\u0012\u000eF\"),\n YE: n(\"Z\u0004\u0014IX2\u001e\\\\FZ\u0007F\u000e\u0014\u0003\\x00[II\u0004\\n\t\u0005\\r\u0005\u000e\u0007\u000f\\bH\u000f\\b\\x00\tI\u0012\u001eI\"),\n Zr: n(\"KKF52'235FKK\"),\n UC: n(\"\\\\\\x00\u000f\u0014\u0015\u0012\"),\n TV: n(\"E\u0007\\n\u0007\u0014\u000b9\u000e\u000f\u0001\u000e9\u0016\u0014\u000f\u0005\u0003\"),\n SK: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJTSSJVHRO\"),\n TT: n(\"E\u0007\\n\u0007\u0014\u000b9\\n\t\u00119\u0016\u0014\u000f\u0005\u0003\"),\n TS: n(\"\u000e\u000f\u0001\u000e\"),\n Hp: n(\"E ^V\"),\n oS: n(\"4\u0003\u0005\u0003\u000f\u0010\u0003\"),\n Bk: n(\"Y\\n\u0007\u0004\u0003\\n[$\u000f\u0012\u0005\t\u000f\\b1\u000f\u0015\u0002\t\u000b\"),\n TO: n(\"\u0005\"),\n FH: n(\"'\\\">\"),\n TM: n(\"\u0012\u0014\u0007\u0002\u0003\u0015\\\\\"),\n so: n(\"H\tF\\n\u000f=\u0010[\u0017\u0013\t\u0012\u0003;\"),\n wg: n(\"F⇴\"),\n ZJ: n(\"\u0002\u0014\t\u0016\u0002\t\u0011\\bK\u000e\t\u0010\u0003\u0014\"),\n Lk: n(\"H\u0002\u0014\t\u0016\u0002\t\u0011\\bK\u0002\u0007\u0012\u0007\"),\n kC: n(\"\u0012\u000f\u0005\\r\u0003\u00149\u0001\u0014\u0003\u0003\\b\"),\n ZF: n(\"E\u0005\\n\t\u0015\u00039\u0017\u0014\"),\n QP: n(\"\u0014\u0012F\u0003\u0014\u0014\t\u0014\"),\n Gg: n(\"\t\u0004\\f\u0003\u0005\u0012\"),\n Nj: n(\"5\u0012\u000f\u0005\\rF*\u000f\\b\u0003\"),\n PQ: n(\"4\u0003\u0002F5\u0012\u0014\t\\r\u0003\"),\n Ye: n(\"FC\"),\n Wm: n(\"\u0015\u001f\u0015\u0012\u0003\u000b\"),\n nG: \"mousedown touchstart\",\n Zs: n(\"\\n\u000f\\b\u0003\"),\n Vl: n(\"\\b\u0013\u000b\u0004\u0003\u0014\"),\n Nq: n(\"%\u0014\t\u0015\u0015\"),\n ED: n(\"V\"),\n vG: n(\"\u000e\u000f\u0002\u00039\u0005\u0013\u0014\u0015\t\u0014\"),\n kn: n(\"E\u0002\\n\u00019\u0003\u0015\u0012\u000f\u000b\u0007\u0012\u00039\u0012\u0014\u0007\u0002\u000f\\b\u0001\"),\n Za: n(\"$\u0007\u0005\\r\u0001\u0014\t\u0013\\b\u0002F+\u0007\u0015\\r\"),\n bS: n(\"\u000b\u000f\\b\u0013\u0012\u0003\"),\n MK: n(\"!\u0014\u0003\u0003\\b\"),\n fK: n(\"\u0007\u0013\u0012\t\"),\n UN: n(\"\u0003\u0014\u0014\t\u0014JF\u000e\u000f\u0015\u0012\t\u0014\u001fF\u0002\u0007\u0012\u0007F\u000f\u0015F\u0003\u000b\u0016\u0012\u001f\"),\n Iu: n(\"EVVV\"),\n OO: n(\"\u0004\u000f\u0012\u0005\t\u000f\\b\"),\n Zq: n(\"\u000b\"),\n No: n(\"\u0015\"),\n cy: n(\"9\u0014\u0003\u0007\u0005\u000e9\u0016\"),\n nH: n(\"\u0013\\b\u000f\u00129\u000b\"),\n Th: n(\"乡\"),\n Gl: n(\"*\t\u0007\u0002F\u0007\\n\\n\t\u0011\u0003\u0002F\u000f\u0016F\\n\u000f\u0015\u0012F\\x00\u0007\u000f\\n\u0003\u0002H\"),\n Tf: n(\"$\"),\n Te: n(\"\u0013\\b\u000f\u00129\u0004\"),\n Oy: n(\"FH\u0012\u0007\u0004\\n\u0003\"),\n Fg: n(\"-\"),\n ho: n(\"\u0013\u0012\u0005\"),\n uI: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJVJWO\"),\n XS: n(\"EVVVVVV\"),\n XR: n(\"I\u0007\u0015\u0015\u0003\u0012\u0015I\"),\n ZV: n(\"\u0016\u0007\u0014\u0015\u0003F\\f\u0015\t\\bF\\x00\u0007\u000f\\n\u0003\u0002\"),\n VB: n(\"%\t\\n\t\u0014\u0015\"),\n ot: n(\"\u0014\u0003\u0012\u0013\u0014\\b\"),\n Vn: n(\"\u000e\u0012\u000b\\n\"),\n Dp: n(\"E PU\"),\n SS: n(\"ER_%VRU\"),\n Sy: n(\"'\u001e\u000f\u0015F2\u0003\u001e\u0012\"),\n kf: n(\"CF\"),\n Gp: n(\"E\u0012\u00149\u0012\u0016\\n\"),\n SO: n(\"E \"),\n yz: n(\"/6F\"),\n RF: n(\"\u0014\u0001\u0004\u0007NVJTVRJVJVHPO\"),\n SL: n(\"\u0014\u0001\u0004\u0007NTVRJVJVJVHPO\"),\n tT: n(\"\\n\u0012\u0005\"),\n Re: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\t\\rX*\t\u0001\t\u0013\u0012F\u0015\u0013\u0005\u0005\u0003\u0015\u0015\\x00\u0013\\nHZI\u0002\u000f\u0010X\"),\n Ns: n(\"E'P%##U\"),\n hy: n(\"Y\"),\n Ja: n(\"WV\u0016\u001eF'\u0014\u000f\u0007\\nJF5\u0007\\b\u0015\"),\n pj: n(\"EW Q^$R\"),\n gb: n(\"E$T\\\" ^'\"),\n Mm: n(\"EPUU\"),\n Qb: n(\"\u000e\u001f\u0016\u0014\t\\b\"),\n qI: n(\"\u0014\u0001\u0004\u0007NTSSJPRJPRJVHUO\"),\n UB: n(\"\u0016\u0007\u0014\u0007\u000b\u0015\"),\n Sz: n(\"\u0014\u0001\u0004\u0007NTSSJTSSJTSSJVHPO\"),\n Mg: n(\"\\x00\u0013\\b\u0005\u0012\u000f\t\\b\"),\n ka: n('\")1('),\n Dk: n(\"\u0014\u0001\u0004\u0007NVJTVRJVJVH^O\"),\n Mx: n(\"\u0007\u0004\u0015\t\\n\u0013\u0012\u0003\"),\n Su: n(\"\u0014\u0001\u0004\u0007NTSSJFTSSJFTSSJFVH^O\"),\n Lg: n(\"5\u0003\\n\\n\"),\n Qj: n(\"\\x00\t\\b\u0012\"),\n uo: n(\"E\u0015\u0003\u0012\u0012\u000f\\b\u0001\u0015\"),\n Yd: n(\"EUU'VT%\"),\n pf: n(\"F\u0007\\b\u0002F\u0016\u0014\u000f\u0005\u0003F\u0011\u000f\\n\\nF\u0014\u0003\u0007\u0005\u000eFZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0014\u0003\u0002X\"),\n Hj: n(\"I\"),\n Ak: n(\"\u0015\u0012\t\u0005\u000e9\u0014\u0015\u000f9\u0016\u0007\u0014\u0007\u000b\u0015\"),\n cU: n(\"\u0012\u000f\u000b\u00039\u001c\t\\b\u0003\"),\n cj: n(\"4\u0003\u0007\\n\u0012\u000f\u000b\u0003\"),\n cS: n(\"H\\n\u000f\\b\\r9\u000e\t\u000b\u0003F\u0015\u0016\u0007\\b\"),\n SB: n(\"EVV_S#U\"),\n bh: n(\"\u0002\t\u000b\"),\n HB: n(\"H\u0005\\n\t\u0015\u0003\"),\n HS: n(\"\u0002BW\"),\n LS: n(\"Z\u000fF\u0005\\n\u0007\u0015\u0015[\\x00\u0007K\u0007\u0014\u0014\t\u0011K\u0013\u0016X\"),\n am: n(\"H\u0002\u0014\t\u0016\u0002\t\u0011\\b\"),\n sC: n(\"\u0014\u0001\u0004\u0007NVJVJTSSJVH^O\"),\n hM: n(\"\u0014\u0001\u0004\u0007NTSSJWT^JVJWO\"),\n Uu: n(\"I\u0015\u0002\u0003\u0016\u0012\u000eY\u0015\u001f\u000b\u0004\t\\n[\"),\n Fl: n(\"+\u0007\u000f\\bF2\u0003\u001e\u0012\"),\n PG: n(\"E\u000e\u0003\u0007\u0002\u0003\u00149\t\u0013\u0012\u0003\u0014\"),\n tK: n(\"E\u0015\\n\t\u00129\u0002\u000f\\x00\\x00\u000f\u0005\u0013\\n\u0012\u001f\"),\n RX: n(\"E\u0015\\n\t\u00129\u0003\u0015\u0012\u000f\u000b\u0007\u0012\u0003\u0002\"),\n XY: n(\"F\u000f\u0015F\\b\t\u0012F\u0015\u0013\u0016\u0016\t\u0014\u0012\u0003\u0002H\"),\n XF: n(\"WW\u0016\u001e\"),\n FL: n(\"5\u000e\u0007\u0016\u0003\"),\n ZH: n(\"\u0014\u0001\u0004\u0007NSWJWPVJRRJVH^O\"),\n RS: n(\"6)52\"),\n rF: n(\".\\\\F\"),\n nt: n(\"\u0002\u0014\u0007\u00119\\x00\\x00\u0007\\b\"),\n Qa: n(\"\u000b\u0014\u0015\u0016\u0003\u0007\\r\u0003\u0014\"),\n TQ: n(\"NE\u001d\u0016\u0014\u0003\u0005\u000f\u0015\u000f\t\\b\u001bO\"),\n RN: \"mouseup touchend\",\n HX: n(\"\t\\b\u0015\u0003\\n\u0003\u0005\u0012\u0015\u0012\u0007\u0014\u0012\"),\n RL: n(\"\u0015\u0003\\n\u0003\u0005\u0012\u0003\u0002\"),\n mM: n(\"\u0005\u0014\u0003\u0007\u0012\u0003!\u0007\u000f\\b\"),\n kY: n(\"H\u0014\u0012\"),\n GX: n(\"I\u0012\u0014\u0007\u0002\u0003\u0015\"),\n OM: n(\"\u0005\u000e\u0007\\b\u0001\u0003\"),\n Ml: n(\"\u0004\u0013\u0012\u0012\t\\b\"),\n Px: n(\"E\u0002\u0003\u0016\u0012\u000e\"),\n RE: n(\"\u000f\\b\u0016\u0013\u0012\\\\\u0010\u000f\u0015\u000f\u0004\\n\u0003\\\\\\x00\u000f\u0014\u0015\u0012\"),\n mu: n(\"\\\\\u0007\\n\u0007\u0014\u000b\\\\\u000e\u000f\u0001\u000e\"),\n RC: n(\"\u0014\u0003\u0015\u000f\u001c\u0003\"),\n su: n(\"\u0015\u0003\u0005\t\\b\u0002\"),\n NG: n(\"\u0007\"),\n aH: n(\"\u0014\u0003\u0001\u000f\u0015\u0012\u0003\u0014\"),\n Yx: n(\"ZI\u0012\u0002XZI\u0012\u0014X\"),\n sm: n(\"\u0016\u0014\u000f\u0010\u0007\u0005\u001f9\u0016\t\\n\u000f\u0005\u001f\"),\n an: n(\"\\x00\t\u0014\u000b\"),\n Rv: n(\"\u000f\\b\u0016\u0013\u0012=\u0012\u001f\u0016\u0003[\u0015\u0013\u0004\u000b\u000f\u0012;\"),\n YU: n(\"5'4\"),\n Dr: n(\"F\u0005\t\u0013\\b\u0012\\\\F\"),\n Rs: n(\"4\u0003\u0001\u000f\u0015\u0012\u0003\u0014\"),\n Sl: n(\"\u0014\u0001\u0004\u0007NVJVJVJVHRO\"),\n ZT: n('\u0001\u0003\u0012\"\u0007\u001f'),\n iM: n(\"M\"),\n DT: n(\"S\u000b\"),\n Rn: n(\"\u0013\u0005\u0016\"),\n Tt: n(\"\u0002\u0007\u001f\"),\n Av: n(\"\u000e\u000f\u0015\u0012\t\u0014\u001f\"),\n WS: n(\"\\n\u000f\\b\u00039\u0015\u0012\u001f\\n\u0003\"),\n Ue: n(\"JF\\x00\u000f\u0014\u0015\u0012F\u000f\u0015F\"),\n AL: n(\"\u0015\u0011\u000f\u0012\u0005\u000eF\u0012\tF\"),\n Md: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u000e\u000f\u0015\u0012\t\u0014\u001f\"),\n hR: n(\"\u0013\u0015\u0003\u00149\u000e\u000f\u0015\u0012\t\u0014\u001f\"),\n QH: n(\"\u001f\u0003\u0007\u0014\u0015\"),\n UV: n(\"\u000b\t\\b\u0012\u000e\u0015\"),\n OQ: n(\"\u0002\u0007\u001f\u0015\"),\n Rc: n(\"9\u0015\u0012\u0014\"),\n Ww: n(\"2\u000e\u0003F\u0007\u0010\u0003\u0014\u0007\u0001\u0003F\u0016\u0014\u000f\u0005\u0003F\t\\x00F\u0005\t\u0015\u0012F\u0007\\b\u0002F\u0014\u0003\u0005\u0003\u000f\u0010\u0003F\u000f\u0015FZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0001\u0014\u0003\u001fX\"),\n EJ: n(\"\u0005\u0007\\n\u0005F\u0002\u0003\u0016\u0012\u000e\"),\n Wt: n(\"WT\u0016\u001eF \t\\b\u0012'\u0011\u0003\u0015\t\u000b\u0003\"),\n QO: n(\"\u0014\u0012F\t\\r\"),\n sN: n(\"H\u0017\u0014\"),\n uj: n(\"E\u0005\\n\u0003\u0007\u00149\\n\t\u00119\u0016\u0014\u000f\u0005\u0003\"),\n th: n(\"Z\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0003\u0016\u0014\u000f\u0005\u0003X\"),\n QU: n(\"\u0002\u0007\u0012\u0007\"),\n ef: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u0015\u0003\u0005\u0013\u0014\u000f\u0012\u001fFH\u0002\u000f\u0015\u0016\\n\u0007\u001f9\\b\u0007\u000b\u0003\"),\n Pn: n(\"E\u0007\u0015\\r\u0015F\u0002\u000f\u0010\"),\n Sm: n(\"\u0014\u0001\u0004\u0007NTTQJTPJT^JVH^O\"),\n QQ: n(\"\u0005\\n\u0007\u0015\u0015\"),\n tz: n(\"\\x00\u000f\\n\\n\u0003\u0002\"),\n QR: n(\"E%%%%VV\"),\n hX: n(\"#\u001e\u0016\u000f\u0014\u0003\u0015F\t\\bF\"),\n Ls: n(\"\u000b\t\u0002\u0003\"),\n Me: n(\"H\u0005\t\\b\\x00\"),\n Wn: n(\"\u0014\u0012\u0015F\u0003\u0014\u0014\t\u0014\"),\n Zf: n(\"\u0014\u0001\u0004\u0007NWT^JWT^JTSSJVH^O\"),\n QI: n(\"\u000f\\b\u0016\u0013\u0012=\u0012\u001f\u0016\u0003[\u0016\u0007\u0015\u0015\u0011\t\u0014\u0002;\"),\n hG: n(\"\\x00\u0014\t\u000b\"),\n BA: n(\"E\u0017\u0014\"),\n cG: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u0015\u0003\u0015\u0015\u000f\t\\b\u0015\"),\n yT: n(\"\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0014\u0003\u0016\\n\u0007\u0005\u0003\"),\n lI: n(\"\\\"'2#\\\\F\"),\n dE: n(\"\u0015\u0003\u0015\u0015\u000f\t\\b9\u0001\u0003\u00129\u0007\\n\\n\"),\n Mb: n(\"\u0015\u001f\u0015\u0012\u0003\u000b\\\\\u0001\u0007\u00161\u000f\u0002\u0012\u000e\"),\n HM: n(\"\u0007\\b\u0005\u0003\u0015\u0012\t\u0014)\u0014\u000f\u0001\u000f\\b\u0015\"),\n Rg: n(\"\u0007\u0016\u0016\\n\u001fF\"),\n Hc: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\\n\t\u0001\t\u0013\u0012\"),\n Ll: n(\"E\t\u0014\u0002\u0003\u0014\u0004\t\t\\rFH\t\u0014\u0002\u0003\u0014\u0004\t\t\\r\"),\n LL: n(\"'B\"),\n Qv: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0003\u0014\u0014\t\u0014X\"),\n hm: n(\"\t\u00049\u0010\u0007\\n\u0013\u0003\u0015\"),\n WV: n(\"(\u0003\u0003\u0002F\\n\t\u0001\u000f\\bF\\x00\u000f\u0014\u0015\u0012H\"),\n OZ: \"Welcome to BitcoinWisdom.io\",\n Qr: n(\"\u0003\u0015\u0012\u000f\u000b\u0007\u0012\u00039\u0012\u0014\u0007\u0002\u000f\\b\u0001\"),\n hI: n(\"\u0002\u0014\u0007\u0011\"),\n QY: n(\"H\u0007\u0002\u0002\u0014\u0003\u0015\u0015\"),\n hQ: n(\"F\u000b\u0007\u001e\\\\F\"),\n Qn: n(\"\u000f\u000b\u0001\"),\n OT: n(\"๙\"),\n NM: n(\"H\u0005\t\\b\u00029\\b\u0016\"),\n Pa: n(\"WS\u000b\"),\n Sw: n(\"E__V V \"),\n QX: n(\"\u0010\"),\n Qh: n(\"\u0002\u0003\\x00\u0007\u0013\\n\u0012\"),\n fD: n(\"\u0016\u0007\u0014\u0003\\b\u0012\u0015\"),\n Pg: n(\"T\u0002\"),\n ih: n(\"H\"),\n cX: n(\"H\u000f\\b\\b\u0003\u0014\"),\n Du: n(\"F32%\"),\n VY: n(\"\u000b\u0007\u000f\\b9\\n\u000f\\b\u0003\u0015\"),\n NS: n(\"\u0012\u000e\u0003\u000b\u0003\"),\n zN: n(\"E\\n\t\u0007\u0002\u000f\\b\u0001FH\u000f\\b\\b\u0003\u0014\"),\n co: n(\"\u0015\u0003\u0005\u0013\u0014\u000f\u0012\u001f\"),\n GC: n(\"45/\"),\n MS: n(\"\u0005\u0007\\b\u0002\\n\u00039\u0015\u0012\u000f\u0005\\r\"),\n Ky: n(\"\u0004\u000f\u0002\"),\n Tm: n(\"\u000e\"),\n MF: n(\".\u000f\u0001\u000e\\n\u000f\u0001\u000e\u0012F2\u0003\u001e\u0012\"),\n Ok: n(\"$/\\\"4'2/)\"),\n km: n(\"\u0002\u0014\u0007\u00119\\x00\\x00\u0007\\b\u0005\"),\n NV: n(\"\u0001\u0007\u00161\u000f\u0002\u0012\u000e\"),\n ma: n(\"H\\x00\u0014\t\u000b\"),\n PO: n(\"!\u0014\u0003\u0003\\bF5\u0012\u0014\t\\r\u0003\"),\n UA: n(\"\u0007=\u000b\t\u0002\u0003[\"),\n PM: n(\"\u0002\u0007\u0014\\r\"),\n Ra: n(\"\u0012\"),\n oI: n(\"\\n\u000f\u0001\u000e\u0012\"),\n BO: n(\"\u0015\u0003\u0015\u0015\u000f\t\\b\"),\n YN: n(\"\u0014\u0001\u0004\u0007NWT^JWT^JVJVH^O\"),\n PH: n(\"E\u0015\u000f\u0002\u0003\u0004\u0007\u00149\t\u0013\u0012\u0003\u0014\"),\n VL: n(\"\u0002\u0014\u0007\u0011F\"),\n Zd: n(\"\u0014\u0001\u0004\u0007NW_PJW_PJTSSJVH^O\"),\n PE: n(\"E\\n\u0003\\x00\u0012\u0004\u0007\u00149\t\u0013\u0012\u0003\u0014\"),\n Tl: n(\"*\t\u0001\u000f\\b\"),\n oE: n(\"\u0013\u0015\u0003\u00149\u0005\u000e\u0007\\b\u0001\u00039\u0016\u0007\u0015\u0015\u0011\t\u0014\u0002\"),\n ep: n(\"E\u0002\u0007\u0012\u0003\"),\n OV: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0015\u0012\u0007\u0012\u0013\u0015\"),\n Yo: n(\"\u0004\u000f\u0012\u0005\t\u000f\\b\\\\\"),\n VP: n(\"\u0014\u0003\u0015\u0003\u0012F\u0016\u0003\u0007\\rF\u0012\tF\"),\n zs: n(\"\u0004\u000f\u00029\u0014\u0007\u0012\u000f\t\"),\n SH: n('E \"$ P '),\n DB: n(\"\u0014\u0001\u0004\u0007NWVJWVJWVJVH^O\"),\n gB: n(\"F\u0012\u0014\u0007\u0002\u0003\"),\n Tp: n(\"\u0015F\u0007\u0001\t\"),\n Ps: n(\"E\u000b\u0007\u0014\\r\u0003\u0012\u0015\"),\n Pr: n(\"E\u0005\u000e\u0007\u0014\u00129\u000f\\b\\x00\t\"),\n oT: n(\"E\u000f\\b\u0002\u000f\u0005\u0007\u0012\t\u00149\u000f\\b\\x00\t\"),\n Pp: n(\"E\u000b\u0007\u000f\\b9\u000f\\b\u0002\u000f\u0005\u0007\u0012\t\u00149\u000f\\b\\x00\t\"),\n tr: n(\"EV'V'V'\"),\n PZ: n(\"\u0012\u0007\u0004\\n\u0003F\u0012\u0004\t\u0002\u001f\"),\n aE: n(\"E\u0004\u000f\u0002\u0015F\u0002\u000f\u0010\"),\n Pl: n(\"E\u0001\u0007\u0015\\r\u0015F\u0002\u000f\u0010\"),\n RJ: n(\"E\u0001\u0004\u000f\u0002\u0015F\u0002\u000f\u0010\"),\n LB: n(\"EP%P\"),\n TP: n(\"?\t\u0013\u0014F\u0002\u0003\u0010\u000f\u0005\u0003A\u0015F\u0012\u000f\u000b\u0003F\u000f\u0015F\u001dB\u0012\u000f\u000b\u00039\\x00\u000f\u001e\u001bF\u0015\u0003\u0005\t\\b\u0002\u0015F\u0002\u000f\\x00\\x00\u0003\u0014\u0003\\b\u0012F\\x00\u0014\t\u000bF\u0015\u0003\u0014\u0010\u0003\u0014Hl2\u000e\u0003F\u0005\u000e\u0007\u0014\u0012\u0015F\u0011\u000f\\n\\nF\u000e\u0007\u0010\u0003F\u000f\u0015\u0015\u0013\u0003F\u0012\tF\\x00\u000f\\n\\nF\\b\u0003\u0011\u0003\u0015\u0012F\u0003\u000b\u0016\u0012\u001fF\u0005\u0007\\b\u0002\\n\u0003\u0015\u0012\u000f\u0005\\r\u0015H\"),\n Nt: n(\"E\u0005\u0007\\b\u0010\u0007\u00159\u0015\u000e\u0007\u0016\u0003\u0015\"),\n SX: n(\"E%%%\"),\n ZP: n(\"\u000b\t\u0010\u00032\t\"),\n Pe: n(\"#\u0010\u0007\"),\n LC: n(\"\u0005\t\\n\t\u0014\"),\n Qc: n(\"U\u000b\"),\n PV: n(\"\u0002\u0014\u0007\u00119\u000e\\n\u000f\\b\u0003\"),\n To: n(\"F\u0007\u0001\t\"),\n MP: n(\"!\u0014\u0003\u0003\\bF'\u0014\u0003\u0007\"),\n fC: n(\"\u0014\u0001\u0004\u0007NVJVJVJVHPO\"),\n Uc: n(\"\\n\u0007\u0015\u0012F\u0012\u000f\u0002\\\\F\"),\n ab: n(\"R\u000e\"),\n jj: n(\"\u0002\u0014\u0007\u00119\\x00\\n\u000f\\b\u0003\"),\n Oj: n(\"WT\u000e\"),\n SA: n(\"\u0014\u0001\u0004\u0007NTVRJTVRJTVRJVHPO\"),\n XW: n(\"$\\n\t\u0004\"),\n gC: n(\"\u0016\u0014\u000f\u0005\u00039\u000b\u00079\u0005\u001f\u0005\\n\u0003\u0015\"),\n Pu: \"/api/user/\" + window.$user_id + \"/\",\n eZ: n(\"\u0010\t\\n\u0013\u000b\u00039\u000b\u00079\u0005\u001f\u0005\\n\u0003\u0015\"),\n Wc: n(\"%\u0014\t\u0015\u0015F\u000f\u0015F\\n\t\u0005\\r\u0003\u0002H\"),\n OD: n('+/\"\"*#'),\n OL: n(\"36\"),\n Pt: n(\"H\\n\u000f\\b\\r9\\n\t\u0001\t\u0013\u0012\"),\n SF: n(\"E\\x00\t\t\u0012\u0003\u00149\t\u0013\u0012\u0003\u0014\"),\n KG: n(\"E\u0005\t\u000b\u00169\u0015\u0012\u0007\u0012\u0013\u0015\"),\n QZ: n(\"H\u0016\u0014\u0003\u000b\u000f\u0013\u000b\"),\n jW: n(\"W\u0002\"),\n xt: n(\"F\u0015\u0013\u0005\u0005\u0003\u0015\u0015\\x00\u0013\\n\\n\u001fH\"),\n Mk: n(\"\u0004\u0007\u0002\"),\n Fi: n(\"F\u0012\u0007\u0014\u0001\u0003\u0012[9\u0004\\n\u0007\\b\\rX\"),\n lB: n(\"\u0015\u0012\u0014\u000f\\b\u0001\"),\n CK: n(\"52)%.45/\"),\n OA: n(\"+'\"),\n kI: n(\"\u0015\u001f\u0015\u0012\u0003\u000b\\\\\u0015\u0012\u0003\u0016\"),\n cQ: n(\"\u0001\u0003\u00125\u0003\u0005\t\\b\u0002\u0015\"),\n wR: n(\"\u0002\u000b\u000f9\u0016\u0007\u0014\u0007\u000b\u0015\"),\n Ri: n(\"\t\u000e\\n\u0005\"),\n Zh: n(\"\u0014\u0001\u0004\u0007NTSSJWT^JTSSJVH^O\"),\n UL: n(\"H\\n\u000f\\b\\r9\u0003\u0015\u0012\u000f\u000b\u0007\u0012\u00039\u0012\u0014\u0007\u0002\u000f\\b\u0001\\\\\\x00\u000f\u0014\u0015\u0012\"),\n Yb: n(\"I\u0017\u0014Y\u0002\u0007\u0012\u0007[\"),\n NJ: n(\"E\u0001\u0007\u0015\\r\u0015\"),\n zj: n(\"$\u0007\u0015\u0003N\"),\n ir: n(\",\"),\n UP: n(\"\t\u0014\u0002\u0003\u0014\u0004\t\t\\r9\u0016\u0014\u0003\u0005\u000f\u0015\u000f\t\\b9\u000f\\b\u0012\"),\n Oo: n(\"%+ \"),\n LO: n(\"\t\u0004\u00109\u0016\u0007\u0014\u0007\u000b\u0015\"),\n Zl: \"$1<g>$2</g>\",\n Dl: n(\"\u0004\u000f\u00029\u0014\u0007\u0012\u000f\t9\u0016\u0007\u0014\u0007\u000b\u0015\"),\n DS: n(\"UV\u000b\"),\n KJ: n(\"E\u0005\u000e\u0007\\b\u0001\u0003\"),\n gg: n(\"\u001c\u000e\"),\n aU: n(\"H\u0014\u0012\u0015\"),\n ni: n(\"$2%\"),\n Of: n(\"H\tF\\n\u000f=\u0010[\u0004\u0007\u0015\u0003;\"),\n ou: n(\"l\"),\n DJ: n(\"5'2)5./\"),\n GG: \"Coinbase\",\n br: n(\"K\"),\n ZE: n(\"+\u0012H!\t\u001e\"),\n Hn: n(\"\u0015\u001f\u0015\u0012\u0003\u000b\\\\\u0004\u0007\u00141\u000f\u0002\u0012\u000e\"),\n Td: n(\"+\"),\n VV: n(\"\u0016\u000f\u0002\u0015\"),\n ud: n(\"\u0015\u0012\u0003\u0016\"),\n dZ: n(\"F\u000b\u000f\u0015\u0015\u0003\u0002F\u0012\u0014\u0007\u0002\u0003\"),\n Bm: n(\"\u0002\u0003\u0010\u000f\u0002\"),\n NT: n(\"\u0015\u000f\u0002\"),\n Lu: n(\"P\u000e\"),\n Xo: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0014\u0003\u0005\t\u0010\u0003\u0014\"),\n RK: n(\"H\u0003\u0014\u0014\t\u0014\"),\n VT: n(\"\u000f\\b\u0002\u000f\u0005\u0007\u0012\t\u0014\"),\n MW: n(\"\u0005\u000b\\x00\"),\n UZ: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\u000e\t\u000b\u0003\"),\n YT: n(\"\\\\II\"),\n NL: n(\"E\u0007\u0015\\r\u0015\"),\n Zv: n(\"\u0001\u0003\u0012\"),\n oR: n(\"\u0007\u0005\u0005\t\u0013\\b\u00129\u000f\\b\\x00\t\"),\n oU: n(\"\u0004\u0007\u0015\u0003\"),\n bN: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u0001\u0015\"),\n ZC: n(\"\u0001\u0003\u0012?\u0003\u0007\u0014\"),\n Xs: n(\"\u000e\u0012\u0012\u0016E\u001dB\u0015\u0015\\n\u001b\\\\IIE\u001d\u0002\u0003\u0005\u000f\u0002\u0003\u00029\u000e\t\u0015\u0012\u001bIE\u001d\u0016\u0007\u0012\u000e\u001b\"),\n EA: n(\"\\\\\u0007\\n\u0007\u0014\u000b\\\\\\n\t\u0011\"),\n MV: n(\"\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0001\u0003\u00129\u0007\\n\\n\"),\n Xa: n(\"D\"),\n bQ: n(\"\u0013\\b\u0002\u0003\\x00\u000f\\b\u0003\u0002\"),\n UM: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0014\t\u0011XZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0016\u0014\u000f\u0005\u0003XZI\u0015\u0016\u0007\\bXFZ\u0015\u0016\u0007\\bF\u0005\\n\u0007\u0015\u0015[\u0007\u000b\t\u0013\\b\u0012XZI\u0015\u0016\u0007\\bXZI\u0002\u000f\u0010X\"),\n Nz: n(\"\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0002\u0003\\n\u0003\u0012\u0003\"),\n rK: n(\"\u0001\u0003\u0012F\u000e\u000f\u0015\u0012\t\u0014\u001fF\u0002\u0007\u0012\u0007F\\x00\u0014\t\u000bF\u0015\u0003\u0014\u0010\u0003\u0014F\\x00\t\u0014F\"),\n Nx: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u00019\\b\u0003\u0011\"),\n Nw: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0002\u0003\\n\u0003\u0012\u0003\"),\n PB: n(\"\u0014\u0001\u0004\u0007NPRJTSSJPRJVHTO\"),\n YC: n(\"HHHZI\u0007X\"),\n MM: n(\"\u0014\"),\n SJ: n(\"\u0002\u0003\u0016\u0012\u000eF\u0007\u0015\\rF\\n\u0003\\b\u0001\u0012\u000eF\"),\n wV: n(\"/\\b\u000f\u0012\u000f\u0007\\n\u000f\u001c\u0003F \u0013\\n\\n5\u001f\\b\u0005F5\u001f\u0015\u0012\u0003\u000b\"),\n ZN: n(\"E\u0002\\n\u00019\u0007\\n\u0007\u0014\u000b\"),\n se: n(\";F\"),\n NF: n(\"\u0001\"),\n vs: n(\"\u0004\t\u0012\u0012\t\u000b\"),\n YF: n(\"⇾\"),\n gE: n(\"⇱\"),\n YQ: n(\"⇴\"),\n VW: n('\"'),\n XB: n(\"\\n\t\u0005\u0007\u0012\u000f\t\\b\"),\n Et: n(\"Z\u0004X4\u0003\u0007\\n\u0012\u000f\u000b\u0003F5\u001f\u0015\u0012\u0003\u000bF\t\\b\\n\u001fF\u0011\t\u0014\\r\u0015F\t\\bF/#FWVMJF\u0005\u000e\u0014\t\u000b\u0003JF ZI\u0004X\"),\n JG: n(\"\u0016\u000b\u0007\u001e\"),\n hr: n(\"Z\u0004\u0014IX\"),\n em: n(\"\u0015\u0012\u0014\t\\r\u0003\"),\n NR: n(\"\u0005\t\\b\\x00\"),\n TX: n(\"\u000b\u0007\u0005\u0002\"),\n SW: n(\"$\u0007\u0005\\r\u0001\u0014\t\u0013\\b\u0002\"),\n CQ: n(\"\u0015\u0012\t\u0005\u000e9\u0014\u0015\u000f\"),\n qx: n(\"\\r\u0002\\f\"),\n tE: n(\"\t\u0014\u0002\u0003\u0014\u0004\t\t\\r9\u0016\u0014\u0003\u0005\u000f\u0015\u000f\t\\b\"),\n MX: n(\"\u0014\u0015\u000f\"),\n LY: n(\"\u000e\u0012\u0012\u0016\"),\n TK: n(\"*\t\u0007\u0002F\\x00\u0007\u000f\\n\u0003\u0002H\"),\n CM: n(\"+\u000f\\b\t\u0014F2\u0003\u001e\u0012\"),\n CA: n(\"E\u0005\u0007\\b\u0010\u0007\u00159\u0005\u0014\t\u0015\u0015\"),\n TZ: n(\"O\"),\n PT: n(\"\u0002\u0014\u0007\u00119\\x00\u000e\\n\u000f\\b\u0003\u0003\u001e\"),\n jk: n(\").*%\"),\n NP: n(\"\\n\t\u0005\\r\u0003\u0002\"),\n ut: n(\"4\u0003\u0002F'\u0014\u0003\u0007\"),\n Oe: n(\"\u0015\u0007\u0014\"),\n EU: n(\"JF\"),\n Fr: n(\"\u0002\u0014\u0007\u00119\u0002\u0003\u0016\u0012\u000e9\u000e\u000f\\b\u0012\u0015\"),\n cg: n(\"\u0014\u0001\u0004\u0007NVJWT^JVJVH^O\"),\n MJ: n(\"4\u0003\u0002\"),\n ch: n(\"5\u0013\\bF+\t\\bF2\u0013\u0003F1\u0003\u0002F2\u000e\u0013F \u0014\u000fF5\u0007\u0012\"),\n jg: n(\"\u0012\u0003\u001e\u0012\"),\n sb: n(\"\u0016\u000f\\b\u0001\"),\n TC: n(\"\\\\\"),\n iG: n(\"(\t\u0011\"),\n ZM: n(\"\\n\u000f\\b\u00031\u000f\u0002\u0012\u000e\"),\n VX: n(\"4\u0003\u0002F'\\n\u0007\u0014\u000b\"),\n KU: n(\"\\r\u0003\u001f\u0013\u0016\"),\n GS: n(\"E\u0005\\n\u0003\u0007\u00149\u0007\\n\\n\"),\n ag: n(\"H\u0005\t\\b\u00029\u0016\"),\n HF: n(\"E\\b\t\u0012\u000f\\x00\u001f\"),\n YM: n(\"H\u0005\t\\b\u0012\u0003\\b\u00129\"),\n mY: n(\"\u0015\u0013\u0005\u0005\u0003\u0015\u0015\"),\n DA: n(\"I\u0002\u0003\u0016\u0012\u000eY\u0015\u001f\u000b\u0004\t\\n[\"),\n Mu: n(\"\u0012\u000f\u0005\\r\u0003\u00149\u0014\u0003\u0002\"),\n Os: n(\"\\r\u0002\\f9\u0016\u0007\u0014\u0007\u000b\u0015\"),\n wz: n(\"\u0001\u0014\u0003\u001f\"),\n IZ: n(\"\u0014\u0003\u0002\"),\n fJ: n(\"\u0001\u0014\u0003\u0003\\b\"),\n fG: n(\"\u0004\u0007\u0005\\r\u0001\u0014\t\u0013\\b\u0002K\u0005\t\\n\t\u0014\"),\n Ss: n(\"EUPU\"),\n Py: n(\"E\u0012\u0014\u0007\u0002\u0003\u0015\"),\n Lv: n(\"\u0014\u0003\u000b\t\u0010\u0003\"),\n lU: n(\"'\u001e\u000f\u0015F$\u0007\u0005\\r\u0001\u0014\t\u0013\\b\u0002\"),\n Nu: n(\"\\n\u000f\\b\u00039\t\"),\n BU: n(\"\\b\t\u0014\u000b\u0007\\n\"),\n LA: n(\"E PP\"),\n UX: \"<div class=text>Load failed, retry after 5 seconds.</div><dl class=\\\"reason\\\"><dt>Probable Reason</dt><dd>BitcoinWisdom is temporary down</dd><dd>Domain is not bitcoinwisdom.io</dd><dd>Network issue</dd><dl>\",\n Xg: n(\"\u0016\u0007\u0015\u0015\u0016\t\u0014\u0012\"),\n vn: n(\"\u0015\u000f\u000b\u0016\\n\u0003\"),\n SR: n(\"E\u0015\u0011\u000f\u0012\u0005\u000e9\u0012\u000e\u0003\u000b\u0003\"),\n Po: n(\"E\u0002\\n\u00019\u0003\u0015\u0012\u000f\u000b\u0007\u0012\u00039\u0012\u0014\u0007\u0002\u000f\\b\u0001FH\u0007\u000b\t\u0013\\b\u0012\"),\n Vk: n(\"E\u0015\u000e\t\u00119\u0017\u0014\"),\n cr: n(\"5\u000e\t\u0011F74F%\t\u0002\u0003\"),\n Mi: n(\"\u0001\t\t\u0002\"),\n Sv: n(\"\u0014\u0001\u0004\u0007NTVRJVJVJVH^O\"),\n UI: n(\"=\"),\n kX: n(\"\u0005\u0014\t\u0015\u0015\"),\n Vc: n(\"\u0005\\b\u001f\"),\n QM: n(\"\u0016\u0014\u000f\u0005\u00039\u000b\u0007\u0015\"),\n gs: n(\"E\u000f\\b\u0002\u000f\u0005\u0007\u0012\t\u00149\"),\n Gi: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0012X\"),\n oB: n(\"\u000f\\b\u000e\u0003\u0014\u000f\u0012\"),\n qf: n(\"Z\u000fF\u0005\\n\u0007\u0015\u0015[\\x00\u0007K\u0007\u0014\u0014\t\u0011K\u0002\t\u0011\\bX\"),\n at: n(\"\u0002\u0003\u0016\u0012\u000e9\u0014\u0007\\b\u0001\u0003\"),\n cx: n(\"B\"),\n Ho: n(\"\"),\n hY: n(\"E\\b\u0007\u0010\"),\n wj: n(\"E\u0007\u0015\\r\"),\n Qd: n(\"E\\b\t\u0011\"),\n Rf: n(\"E\u0011\u0014\u0007\u0016\u0016\u0003\u0014\"),\n WJ: n(\"Z\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u000f\\b\\b\u0003\u0014X\"),\n LI: n(\"\\b\u0003\u0011\"),\n Rt: n(\"\\x00\u0007\u0015\u0012\"),\n TB: n(\"\\f\u0015\t\\b\"),\n PY: n(\"\u0001\u0004\u000f\u0002\u0015\"),\n LE: n(\"\u0001\u0007\u0015\\r\u0015\"),\n MO: n(\"E\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0005\\n\t\\b\u0003\"),\n UT: n(\"ZI\u0002\u000f\u0010XFZ\u0002\u000f\u0010F\u0005\\n\u0007\u0015\u0015[\u0010X\"),\n CN: n(\"\u0002\u0014\u0007\u0011\u000f\\b\u00019\u0001\u0003\u0012\"),\n UH: n(\"E___\"),\n Wq: n(\"*\\\\F\"),\n Ly: n(\"H\u0016\u0014\u000f\u0005\u0003\"),\n av: n(\"H\u0007\u000b\t\u0013\\b\u0012\"),\n dN: n(\"Z\u000eXB@ZI\u000eX\"),\n wr: n(\"I\\f\u0015I\u000f\\b\u0012\u0003\u0014\u0010\u0007\\nH\\f\u0015\"),\n PI: n(\"E\u000b\u0007\u000f\\b\"),\n Uh: n(\"E\u0005\\n\t\u0015\u00039\u0007\u0002\"),\n PN: n(\"H\u0013\\b\u000f\u0012\\\\\\x00\u000f\u0014\u0015\u0012\"),\n lw: n(\"H\u0013\\b\u000f\u0012\"),\n ju: n(\"\u0014\u0001\u0004\u0007NVJFVJFVJFVH^O\"),\n Lp: n(\"H\u0012\t9\u0005\t\u0015\u0012\"),\n cR: n(\"H\u0012\t\"),\n Ln: n(\"%\t\u0015\u0012\"),\n VJ: n(\"⇶\"),\n Nm: n(\"EPPP\"),\n eU: n(\"H\u000b\t\u0002\u0003\"),\n Lj: n(\"$\u0013\u001f\"),\n im: n(\"H\u0012\t9\u0012\u0003\u001e\u0012\"),\n Lh: n(\"H\\x00\u0014\t\u000b9\u0012\u0003\u001e\u0012\"),\n ku: n(\"EU_'VUU\"),\n ob: n(\"5\u0016\u0003\\b\u0002\"),\n Le: n(\"2\t4\u0003\u0005\u0003\u000f\u0010\u0003\"),\n MC: n(\"\u0012\t\"),\n Um: n(\"/\\b\u000f\u0012\u000f\u0007\\n\u000f\u001c\u0003F4\u0003\u0007\\nK\u0012\u000f\u000b\u0003F5\u001f\u0015\u0012\u0003\u000b\"),\n Lb: n(\"\t\u0013\u0012F\t\\x00F\t\u0014\u0002\u0003\u0014\u0004\t\t\\r\"),\n VZ: n(\"H\u0007\u0013\u0012\t9\u0002\u0014\u0007\u0011\"),\n pv: n(\"\u000f\\b\u0016\u0013\u0012\\\\\\x00\u000f\u0014\u0015\u0012\"),\n YV: n(\"\u0007H\u000b\t\u0002\u0003\"),\n YL: n(\"\u0016\u0007\u0015\u0015\u0016\t\u0014\u00129\"),\n UQ: n(\"\\r\u0003\u001f\u0002\t\u0011\\b\"),\n uB: n(\"\u0015\u0003\u0015\u0015\u000f\t\\b9\u0014\u0003\u000b\t\u0010\u00039\u000f\u0016\"),\n xs: n(\"Z\u0001X\"),\n bM: n('\"\u0003\u0016\u0012\u000e'),\n MN: n(\"\u0015\u0007\u00149\u0016\u0007\u0014\u0007\u000b\u0015\"),\n KR: n(\"@\u0016[W\"),\n Nd: n(\"\\n\t\u0001\u0007\u0014\u000f\u0012\u000e\u000b\u000f\u0005\"),\n qF: n(\"\u000b\u0003\u0002\u000f\u0013\u000b\"),\n KO: n(\" \u0013\\n\\n5\u001f\\b\u0005\"),\n LG: n(\"\u0004\u000f\u0002\u0015\"),\n Ao: n(\"\u0004\u0011\u0015\u000f\u0002\"),\n KL: n(\"\u0002\u0016\"),\n KK: n(\"E\u0014\u0003\u0007\\n\u0012\u000f\u000b\u00039\u0003\u0014\u0014\t\u0014\"),\n vS: n('/\\b\u000f\u0012\u000f\u0007\\n\u000f\u001c\u0003F\"\u0003\u0016\u0012\u000eF\"\u000f\u0001\u0001\u0003\u0014'),\n Kl: n(\"\u0002\u0003\\n\u0003\u0012\u0003\"),\n Uw: n(\"+'C\"),\n Lz: n(\"\\x00\\b\"),\n KF: n(\"E\u0005\t\\b\\b\u0003\u0005\u0012\u000f\t\\b\"),\n KE: n(\"E\u000e\u0003\\n\u00169\u0005\t\\b\\b\u0003\u0005\u0012\u000f\t\\b\")\n };\n (function() {\n var performanceSettings = {\n simplified_orderbook_hints: false,\n enable_tradelog_animation: true,\n enable_orderbook_animation: true,\n enable_orderbook_color_animation: true,\n immediate_execution: false,\n sharp_lines: true,\n };\n var n, e, r, o, i, u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y, w, T, V, k, S, M, _, I, X, Z, J, P, H, B, O, R, E, N, L, U, W, C, Q, A, Y, D, K, z, j, G, q, nt, tt, et, rt, ot, it, ut, lt, at, st, ct, ft, ht, dt, pt, vt, bt, gt, mt, Ft, xt, yt, $t, wt, Tt, Vt, kt, St, Mt, _t, It, Xt, Zt, Jt, Pt, Ht, Bt, Ot, Rt, Et, Nt, Lt, Ut, Wt, Ct, Qt, At, Yt, Dt, Kt, zt, jt, Gt, qt, ne, te, ee, re, oe, ie, ue, le, ae, se, ce, fe, he, de, pe, ve, be, ge, me, Fe, xe, ye, $e, we, Te, Ve, ke, Se, Me, _e, Ie, Xe, Ze, Je, Pe, He, Be, Oe, Re, Ee, Ne, Le, Ue, We, Ce, Qe, Ae, Ye, De, Ke, ze, je, Ge, qe, nr, tr, er, rr, or, ir, ur, lr, ar, sr, cr, fr, hr, dr, pr, vr, br, gr, mr, Fr, xr, yr, $r, wr, Tr, Vr, kr, Sr, Mr, _r, Ir, Xr, Zr, Jr, Pr, Hr, Br, Or, Rr, Er, Nr, Lr, Ur, Wr, Cr, Qr, Ar, Yr, Dr, Kr, zr, jr, Gr, qr, no, to, eo, ro, oo, io, uo, lo, ao = [].slice,\n so = {}.hasOwnProperty,\n co = [].indexOf || function(n) {\n for (var t = 0, e = this.length; e > t; t++)\n if (t in this && this[t] === n) return t;\n return -1\n };\n var calcPrecision;\n ! function() {\n var n, e, r, o, i;\n\n $(function() {\n function resize() {\n var u = $(this);\n var e = $(\".dropdown-data\", this);\n\n if (e.width() < u.width()) {\n (u.width() - e.width()) / 2;\n e.css('min-width', u.width());\n }\n\n var l = 0.5 * (u.outerWidth() - e.outerWidth());\n var i = u.offset().left + u.outerWidth() - $(window).width();\n\n if (i > l) {\n l = i;\n }\n\n var o = u.offset().left + u.outerWidth() - e.outerWidth();\n if (l > o) {\n l = o;\n }\n\n e.css(\"right\", l);\n }\n\n function u() {\n var u = $(this);\n\n u.addClass(\"dropdown-hover\");\n resize.call(this);\n\n return (n = this);\n }\n\n function l() {\n $(this).removeClass(\"dropdown-hover\");\n\n return (n = null);\n }\n\n function a() {\n var t = this;\n e = true;\n\n if (n) {\n l.call(n);\n u.call(this);\n\n return;\n } else if (this.showing) {\n return;\n } else {\n this.showing = true;\n\n return setTimeout(function() {\n if (e) {\n if (n) {\n l.call(n);\n }\n\n u.call(t);\n }\n\n return (t.showing = false);\n }, 80);\n }\n }\n\n function s() {\n var n = this;\n e = false;\n\n if (this.hiding) {\n return;\n } else {\n this.hiding = true;\n\n return setTimeout(function() {\n if (!e) {\n l.call(n);\n }\n\n return (n.hiding = false);\n }, 80);\n }\n }\n\n e = false;\n n = null;\n\n var h = $('.dropdown');\n var c = 0;\n\n for (var f = h.length; f > c; c++) {\n r = h[c];\n\n o = function() {\n var n = this;\n\n $('.t input', this).keyup(function(evt) {\n return u.call(n);\n });\n\n $('.t textarea', this).keyup(function(evt) {\n return u.call(n);\n });\n\n return $('.t', this).click(function(evt) {\n if (\n !window.$is_mobile &&\n (evt.target.tagName.toLowerCase() === 'input' ||\n evt.target.tagName.toLowerCase() === 'textarea')\n ) {\n return;\n }\n\n if ($('.dropdown-data', n).is(':visible')) {\n return l.call(n);\n } else {\n return u.call(n);\n }\n });\n };\n\n var forceResize = function() {\n return $(this).on('forceResize', function() {\n resize.call(this);\n });\n };\n\n o.call(r);\n forceResize.call(r);\n }\n\n window.$is_mobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n\n if (window.$is_mobile) {\n return;\n } else {\n return $('.dropdown').hover(\n function() {\n return a.call(this);\n },\n function() {\n return s.call(this);\n }\n );\n }\n });\n }(),\n Jr = ye = Kr = me = Xr = Vt = ue = Lr = wr = m = rr = Zr = h = F = pt = Tr = je = Ge = qe = kr = null,\n // Ajax init\n function() {\n var n, e;\n return me = function(n, t) {\n var e, r, o;\n return o = !1, r = n, e = function() {\n function e() {\n r > 0 ? Kr(16, function() {\n e(r -= 16)\n }) : i()\n }\n\n function i() {\n return t(), o = !1\n }\n\n return r = n, o ? !0 : (o = !0, e(), void 0)\n }\n },\n me.statuses = {},\n Jr = function() {\n return console.log.apply(console, arguments)\n },\n ye = function() {\n return console.log.apply(console, [new Date].concat(ao.call(arguments)))\n },\n Kr = function(n, t) {\n return setTimeout(t, n)\n },\n Vt = function() {\n var n;\n var i;\n\n var r = arguments[0];\n var o =\n 3 <= arguments.length\n ? ao.call(arguments, 1, (i = arguments.length - 1))\n : ((i = 1), []);\n\n var e = arguments[i++];\n var a = [];\n var u = 0;\n\n for (var l = e.length; l > u; u++) {\n n = e[u];\n\n if (typeof n === \"object\" && n.length) {\n a.push(r.apply(null, ao.call(o).concat(ao.call(n))));\n } else {\n a.push(r.apply(null, ao.call(o).concat([n])));\n }\n }\n\n return a;\n },\n Lr = function(n, e) {\n if (e == null) {\n e = 'world';\n }\n\n if (typeof console !== t.bQ && console !== null ? console.time : void 0) {\n console.time(e);\n n();\n return console.timeEnd(e);\n } else {\n return n();\n }\n },\n wr = function(n) {\n return n[n.length - 1]\n },\n Tr = function(n) {\n var t;\n return null != (t = wr(n)) ? t : {}\n },\n ue = function(n) {\n var t;\n var r;\n\n if (n.length) {\n return n.slice(0);\n }\n\n var e = {};\n\n for (t in n) {\n if (n.hasOwnProperty(t)) {\n r = n[t];\n e[t] = r;\n }\n }\n\n return e;\n },\n n = 0,\n m = function(t) {\n var e, r;\n var o = [];\n\n e = r = 0;\n\n for (; t >= 0 ? t > r : r > t; t >= 0 ? ++r : --r) {\n o.push(n++);\n }\n\n return o;\n },\n rr = function() {\n var o, request;\n\n var n = 1 <= arguments.length ? ao.call(arguments, 0) : [];\n var cb = n.pop();\n\n var i = n[0];\n var r = n[1];\n\n if (r == null) {\n r = {};\n }\n\n if (i[i.length - 1] !== \"?\" && !r.hasOwnProperty('nonce')) {\n r.nonce = window.getNonce();\n }\n\n if (typeof XDomainRequest !== t.bQ && XDomainRequest !== null) {\n i = i.indexOf(\"?\") === -1 ? i + \"?\" + $.param(r) : i + t.JV + $.param(r);\n request = new XDomainRequest();\n\n request.open(\"GET\", i);\n\n request.onload = function() {\n r = $.parseJSON(request.responseText);\n\n if (r) {\n return cb(null, r);\n } else {\n return cb(new Error(\"parse json failed\"), null);\n }\n };\n\n request.onerror = function() {\n return cb(\"error\", null);\n };\n\n request.ontimeout = function() {};\n request.onprogress = function() {};\n request.timeout = 60000;\n request.send();\n\n return request;\n } else {\n o = $.ajax({ url: i, type: \"GET\", dataType: \"json\", timeout: 60000, data: r });\n\n o.done(function(n) {\n return cb(null, n);\n });\n\n return o.fail(function(n, r, o) {\n if (r === \"error\") {\n r = \"\";\n }\n var i = o || r || \"\";\n return cb(new Error(i), null);\n });\n }\n },\n Zr = function(n) {\n var t;\n return t = function() {\n function t(t) {\n return t ? n(o) : r.apply(null, e)\n }\n var e, r, o, i, u;\n i = arguments[0], e = 3 <= arguments.length ? ao.call(arguments, 1, u = arguments.length - 1) : (u = 1, []), r = arguments[u++], i.apply(null, ao.call(e).concat([function() {\n t((o = arguments[0], e = 2 <= arguments.length ? ao.call(arguments, 1) : [], o))\n }]))\n }\n },\n h = function() {\n function n() {\n this.push_cbs = [], this.args = [], this.shift_cbs = []\n }\n var t;\n return n.prototype.push = function() {\n var n, t, e, r;\n return n = 2 <= arguments.length ? ao.call(arguments, 0, r = arguments.length - 1) : (r = 0, []), t = arguments[r++], (e = this.shift_cbs.shift()) ? this.process(n, e, t) : (this.push_cbs.push(t), this.args.push(n))\n }, n.prototype.unshift = function() {\n var n, t, e, r;\n return n = 2 <= arguments.length ? ao.call(arguments, 0, r = arguments.length - 1) : (r = 0, []), t = arguments[r++], (e = this.shift_cbs.shift()) ? this.process(n, e, t) : (this.push_cbs.unshift(t), this.args.unshift(n))\n }, n.prototype.shift = function(n) {\n var t, e;\n return (e = this.push_cbs.shift()) ? (t = this.args.shift(), this.process(t, n, e)) : this.shift_cbs.push(n)\n }, t = 0, n.prototype.process = function(n, e, r) {\n function o() {\n return r(), e.apply(null, n)\n }\n 100 === ++t ? (t = 0, Kr(0, function() {\n o()\n })) : o()\n }, n\n }(),\n e = {},\n je = function() {\n var n, t, r, o, i;\n return o = arguments[0], n = 3 <= arguments.length ? ao.call(arguments, 1, i = arguments.length - 1) : (i = 1, []), t = arguments[i++], (r = e[o]) ? r.channel.push(n, t) : void 0\n },\n Ge = function() {\n var n, t, r, o, i;\n return o = arguments[0], n = 3 <= arguments.length ? ao.call(arguments, 1, i = arguments.length - 1) : (i = 1, []), t = arguments[i++], (r = e[o]) ? r.channel.unshift(n, t) : void 0\n },\n qe = function(n, t) {\n var r;\n return (r = e[n]) ? r.actions.push(t) : (r = e[n] = {\n actions: [t],\n channel: new h,\n running: !1\n }, function() {\n function n() {\n r.channel.shift(function() {\n function i() {\n a++, u()\n }\n\n function u() {\n s > a ? (t = c[a], t.apply(null, ao.call(e).concat([function(n) {\n i(n)\n }]))) : l()\n }\n\n function l() {\n n(o)\n }\n var a, s, c;\n e = arguments[0], c = r.actions, a = 0, s = c.length, u()\n })\n }\n var e, o = this;\n n()\n }())\n },\n kr = function() {\n function n() {\n o(i, function() {\n return r()\n })\n }\n var e, r, o, i, u, l;\n return e = 3 <= arguments.length ? ao.call(arguments, 0, l = arguments.length - 2) : (l = 0, []), o = arguments[l++], r = arguments[l++], u = 2000, i = Zr(function(e) {\n je(t.TA, e, u, function() {\n Kr(u, function() {\n return u += 2000, u > 20000 && (u = 20000), n()\n })\n })\n }), n()\n },\n F = Xr, pt = rr, Jr = Jr, ye = ye, Kr = Kr, me = me, Xr = Xr, Vt = Vt, ue = ue, Lr = Lr, wr = wr, m = m, rr = rr, Zr = Zr, h = h, F = F, pt = pt, Tr = Tr, je = je, Ge = Ge, qe = qe, kr = kr, Xr = function() {\n var n, e, r, o, i, u;\n if (1 === arguments.length) Xr(\"\", arguments[0]);\n else {\n if (i = arguments[0], r = arguments[1], u = typeof window !== t.bQ && null !== window ? window : global)\n for (o in r) so.call(r, o) && (e = r[o], u[i + o] = e);\n if (n = typeof module !== t.bQ && null !== module ? module.exports : void 0)\n for (o in r) so.call(r, o) && (e = r[o], n[o.replace(/^_/, \"\")] = e)\n }\n return this\n }\n }(),\n er = null,\n // WebSocket init\n function() {\n er = function(n, e) {\n var r, i;\n\n if (typeof n === \"string\") {\n n = [n];\n }\n\n var o = 0;\n\n (i = function() {\n function i() {\n if (s.dead) {\n u();\n } else {\n if (\n l <\n Date.now() - (e.timeout != null ? e.timeout : (e.timeout = 20000))\n ) {\n r(s);\n\n return u();\n }\n\n if (a > 30) {\n s.send(\"ping\");\n a = 0;\n }\n\n ++a;\n\n Kr(1000, function(n) {\n i(n);\n });\n }\n }\n\n function u() {\n return null;\n }\n\n var l;\n var s;\n var c = n[parseInt(o / 2) % n.length];\n\n window.ws = s = new WebSocket(c);\n\n s.id = Date.now();\n s.dead = false;\n\n l = Date.now();\n\n s.onopen = function(n) {\n o = 0;\n\n if (window.onsocketopen) {\n window.onsocketopen(s);\n }\n\n if ('hidden' in document) {\n s.send(document.hidden ? \"inactive\" : \"active\");\n }\n\n if (typeof e.onopen === \"function\") {\n return e.onopen(s, n);\n }\n };\n\n s.onmessage = function(n) {\n var err;\n\n if (s && !s.dead) {\n l = Date.now();\n\n try {\n if (typeof e.onmessage === \"function\") {\n return e.onmessage(s, n);\n }\n\n return;\n } catch (i) {\n err = i;\n\n if (typeof e.onerror === \"function\") {\n e.onerror(s, err.message);\n }\n\n return r(s);\n }\n }\n };\n\n s.onclose = function() {\n return r(s);\n };\n\n s.onerror = function(n) {\n o++;\n\n if (typeof e.onerror === \"function\") {\n e.onerror(s, n);\n }\n\n return r(s);\n };\n\n var a = 0;\n\n i();\n })();\n\n r = function(n) {\n if (!(n != null ? n.dead : 0)) {\n n.dead = true;\n n.close();\n\n if (typeof e.ondead === 'function') {\n e.ondead();\n }\n\n var retryInterval = Math.min(5000, 1000 + 2000 * o);\n\n Kr(retryInterval, function() {\n return i();\n });\n }\n };\n };\n\n er = er;\n }(),\n r = n = e = null, zt = re = At = jt = Gt = oe = te = qt = St = Zt = Pt = Ht = Lt = Jt = It = Ot = Rt = Xt = _t = Et = Nt = Ut = Bt = Wt = Ct = Mt = Dt = ne = Yt = Qt = Kt = ee = null,\n function() {\n function o(n) {\n var t;\n\n if (n == null) {\n n = [];\n }\n\n var result = {};\n result[q] = [];\n\n var o = 0;\n\n for (var i = n.length; i > o; o++) {\n t = n[o];\n\n result[q][t] = [];\n }\n\n result[j] = [];\n result[G] = [];\n\n return result;\n }\n\n function i(n) {\n var t;\n var o = n[q];\n var e = 0;\n for (var r = o.length; r > e; e++) {\n t = o[e];\n t.shift();\n }\n return n;\n }\n\n function u(n) {\n var t;\n\n if ((t = n[q][0]) == null) {\n return;\n } else {\n return t.length;\n }\n }\n\n function l(n) {\n var e = n[q];\n\n var t = e.length;\n e[t] = [];\n\n return [t, e[t]];\n }\n\n function a(n, t) {\n function e(n) {\n i.push(n);\n return [n, u[n]];\n }\n\n function r() {\n var e = V(n, i);\n o[e](0);\n return c(n, t, e);\n }\n\n var u = n[q];\n var o = n[G];\n var i = [];\n\n return [e, r];\n }\n\n function s(n, t, e) {\n var r;\n ((r = n[j])[t] != null ? (r = n[j])[t] : (r[t] = [])).push(e);\n return e;\n }\n\n function c(n, t, e) {\n var r;\n var u = [];\n var o = 0;\n\n for (var i = t.length; i > o; o++) {\n r = t[o];\n\n s(n, r, e);\n\n u.push(e);\n }\n\n return u;\n }\n\n function f(n, t, e) {\n s(n, t, e);\n n[G][e](0);\n return e;\n }\n\n function h(n, t, e) {\n var r;\n var o;\n var i = (function() {\n var n = [];\n for (r in e) {\n if (so.call(e, r)) {\n o = e[r];\n n.push([r, o]);\n }\n }\n return n;\n })();\n return ot(n, t, i);\n }\n function d(n, t, e) {\n var r;\n var o;\n var i = (function() {\n var n = [];\n for (r in e) {\n if (so.call(e, r)) {\n o = e[r];\n n.push([r, o]);\n }\n }\n return n;\n })();\n return lt(n, t, i);\n }\n function p(n) {\n return function() {\n var t, r, o, u, l, a;\n\n if (arguments[2].length) {\n r = arguments[0];\n a = arguments[1];\n l = arguments[2];\n o = arguments[3];\n } else {\n r = arguments[0];\n a = arguments[1];\n t = arguments[2];\n u = arguments[3];\n o = arguments[4];\n l = [[t, u]];\n }\n\n e = (function() {\n var i;\n var s = [];\n var e = 0;\n for (var o = l.length; o > e; e++) {\n i = l[e];\n t = i[0];\n u = i[1];\n n(r, a, t, u);\n s.push(t);\n }\n return s;\n })();\n\n var i = {};\n\n if (o == null) {\n o = true;\n }\n\n if (o) {\n for (t in e) {\n if (!i[t] && o && r[j][t] && a >= 0) {\n v(r, r[j][t], a);\n }\n i[t] = true;\n }\n }\n\n return e;\n };\n }\n\n function v(n, e, r) {\n var o, u, l;\n\n var i = n[G];\n\n if (typeof e === t.Vl) {\n i[e].call(this, r);\n } else {\n u = 0;\n for (l = e.length; l > u; u++) {\n o = e[u];\n v(n, o, r);\n }\n }\n\n return this;\n }\n\n function b(n, e) {\n var r;\n var o = n[q];\n\n if (typeof e === t.Vl) {\n return o[e];\n }\n\n var l = [];\n var i = 0;\n\n for (var u = e.length; u > i; i++) {\n r = e[i];\n if (!o[r]) {\n o[r] = [];\n }\n l.push(o[r]);\n }\n\n return l;\n }\n\n function g(n, t, e) {\n var l;\n var r = Yt(n, e);\n var u = {};\n var i = (l = 0);\n\n for (var a = e.length; a > l; i = ++l) {\n e[i];\n u[e[i]] = r[i][t];\n }\n\n return u;\n }\n\n function F(n, t) {\n var o = n[G];\n var i = l(n);\n\n var e = i[0];\n var r = i[1];\n\n o[e] = function(e) {\n return y(n, e, function(n) {\n return (r[n] = t(n) || 0);\n });\n };\n\n return e;\n }\n\n function x(n, t, e) {\n var r = n[q];\n\n return F(n, function(n) {\n var o;\n if ((o = r[t][n - e]) == null) {\n return r[t][n];\n } else {\n return o;\n }\n });\n }\n\n function y(n, t, e) {\n var i;\n var o = n[q];\n var r = (i = t);\n\n for (var u = o[0].length; u >= t ? u > i : i > u; r = u >= t ? ++i : --i) {\n e(r);\n }\n\n return null;\n }\n\n function $(n, t, e) {\n var i = n[q];\n var u = i[t];\n var r = F(n, function(n) {\n if (n === 0) {\n return u[n];\n } else if (e > n) {\n return (o[n - 1] * n + u[n]) / (n + 1);\n } else {\n return (o[n - 1] * e - u[n - e] + u[n]) / e;\n }\n });\n var o = i[r];\n return r;\n }\n\n function w(n, t, e) {\n var i = n[q];\n var u = i[t];\n var r = F(n, function(n) {\n if (n === 0) {\n return u[n];\n } else if (e > n) {\n return o[n - 1] + u[n];\n } else {\n return o[n - 1] - u[n - e] + u[n];\n }\n });\n var o = i[r];\n return r;\n }\n\n function T(n, t, e) {\n var r = n[q];\n var o = r[t];\n return F(n, function(n) {\n var u = n + 1;\n var l = Math.max(u - e, 0);\n var c = r[t].slice(l, u);\n var s = 0;\n var f = 0;\n for (var d = c.length; d > f; f++) {\n o = c[f];\n s += o;\n }\n var i = s / c.length;\n s = 0;\n var h = 0;\n for (var p = c.length; p > h; h++) {\n o = c[h];\n s += (o - i) * (o - i);\n }\n var a = s / c.length;\n return Math.sqrt(a);\n });\n }\n\n function V(n, t) {\n n[q];\n var o = n[G];\n var u = l(n);\n var e = u[0];\n u[1];\n o[e] = function(e) {\n return v(n, t, e);\n };\n return e;\n }\n\n function k(n, t, e) {\n var i = n[q];\n var u = i[t];\n var r = F(n, function(n) {\n if (n === 0) {\n return u[n];\n } else {\n return (2 * u[n] + (e - 1) * o[n - 1]) / (e + 1);\n }\n });\n var o = i[r];\n return r;\n }\n\n function S(n, t, e, r) {\n var u = n[q];\n var l = u[t];\n var o = F(n, function(n) {\n if (n === 0) {\n return l[n];\n } else {\n return (r * l[n] + (e - r) * i[n - 1]) / e;\n }\n });\n var i = u[o];\n return o;\n }\n\n function M(n, t, e) {\n var r = n[q];\n var o = r[t];\n return F(n, function(n) {\n var r = Math.max(n - e + 1, 0);\n var t = n + 1;\n return Math.min.apply(Math, o.slice(r, t));\n });\n }\n\n function _(n, t, e) {\n var r = n[q];\n var o = r[t];\n return F(n, function(n) {\n var r = Math.max(n - e + 1, 0);\n var t = n + 1;\n return Math.max.apply(Math, o.slice(r, t));\n });\n }\n\n function I(n, t, e, r, o, i) {\n if (e == null) {\n e = 12;\n }\n if (r == null) {\n r = 26;\n }\n if (o == null) {\n o = 9;\n }\n if (i == null) {\n i = 2;\n }\n n[q];\n var y = a(n, [t]);\n var v = y[0];\n var h = y[1];\n var $ = v(k(n, t, e));\n $[0];\n var m = $[1];\n var w = v(k(n, t, r));\n w[0];\n var b = w[1];\n var T = v(\n F(n, function(n) {\n return m[n] - b[n];\n })\n );\n var c = T[0];\n var p = T[1];\n var V = v(k(n, c, o));\n var s = V[0];\n var d = V[1];\n var S = v(\n F(n, function(n) {\n return i * (p[n] - d[n]);\n })\n );\n var f = S[0];\n\n S[1];\n h();\n\n return [c, s, f];\n }\n\n function X(n, t, e, r, o, i) {\n if (e == null) {\n e = 14;\n }\n if (r == null) {\n r = 14;\n }\n if (o == null) {\n o = 3;\n }\n if (i == null) {\n i = 3;\n }\n var A = n[q];\n n[G];\n var Y = a(n, [t]);\n var B = Y[0];\n var J = Y[1];\n var Z = A[t];\n var et = B(x(n, t, 1));\n et[0];\n var E = et[1];\n var rt = B(\n F(n, function(n) {\n return Math.max(Z[n] - E[n], 0);\n })\n );\n var u = rt[0];\n rt[1];\n var ot = B(\n F(n, function(n) {\n return Math.abs(Z[n] - E[n]);\n })\n );\n var s = ot[0];\n ot[1];\n var it = B(S(n, u, e, 1));\n it[0];\n var k = it[1];\n var ut = B(S(n, s, e, 1));\n ut[0];\n var X = ut[1];\n var lt = B(\n F(n, function(n) {\n if (X[n] < 1e-12) {\n return 100;\n } else {\n return (k[n] / X[n]) * 100;\n }\n })\n );\n var T = lt[0];\n var Q = lt[1];\n var at = B(M(n, T, r));\n at[0];\n var N = at[1];\n var st = B(_(n, T, r));\n st[0];\n var O = st[1];\n var D = B(\n F(n, function(n) {\n return Q[n] - N[n];\n })\n );\n var m = D[0];\n D[1];\n var K = B(\n F(n, function(n) {\n return O[n] - N[n];\n })\n );\n var w = K[0];\n K[1];\n var z = B($(n, m, o));\n z[0];\n var L = z[1];\n var j = B($(n, w, o));\n j[0];\n var W = j[1];\n var nt = B(\n F(n, function(n) {\n if (W[n] < 1e-12) {\n return 100;\n } else {\n return (L[n] / W[n]) * 100;\n }\n })\n );\n var p = nt[0];\n nt[1];\n var tt = B($(n, p, i));\n var h = tt[0];\n tt[1];\n J();\n return [p, h];\n }\n\n function Z(n, t, e) {\n var l = t[0];\n var w = n[q];\n n[G];\n var T = a(n, t);\n var m = T[0];\n var b = T[1];\n var v = w[l];\n var V = m(x(n, l, 1));\n V[0];\n var y = V[1];\n var k = m(\n F(n, function(n) {\n return Math.max(v[n] - y[n], 0);\n })\n );\n var r = k[0];\n k[1];\n var M = m(\n F(n, function(n) {\n return Math.abs(v[n] - y[n]);\n })\n );\n var i = M[0];\n M[1];\n var _ = m(S(n, r, e, 1));\n _[0];\n var h = _[1];\n var I = m(S(n, i, e, 1));\n I[0];\n var p = I[1];\n var X = m(\n F(n, function(n) {\n if (p[n] === 0) {\n return 100;\n } else {\n return (h[n] / p[n]) * 100;\n }\n })\n );\n var c = X[0];\n X[1];\n b();\n return [c];\n }\n\n function J(n, t, e, r, o) {\n var s = t[0];\n var d = t[1];\n var i = t[2];\n if (e == null) {\n e = 9;\n }\n if (r == null) {\n r = 3;\n }\n if (o == null) {\n o = 3;\n }\n var X = n[q];\n n[G];\n var Z = a(n, arguments[1]);\n var x = Z[0];\n var b = Z[1];\n X[d];\n var v = X[i];\n X[s];\n var J = x(M(n, d, e));\n J[0];\n var V = J[1];\n var P = x(_(n, s, e));\n P[0];\n var y = P[1];\n var H = x(\n F(n, function(n) {\n if (y[n] - V[n] < 1e-8) {\n return 100;\n } else {\n return ((v[n] - V[n]) / (y[n] - V[n])) * 100;\n }\n })\n );\n var p = H[0];\n H[1];\n var B = x(S(n, p, r, 1));\n var f = B[0];\n var T = B[1];\n var O = x(S(n, f, o, 1));\n var u = O[0];\n var g = O[1];\n var R = x(\n F(n, function(n) {\n return 3 * T[n] - 2 * g[n];\n })\n );\n var c = R[0];\n R[1];\n b();\n return [f, u, c];\n }\n\n function P(n, t, e) {\n if (e == null) {\n e = 20;\n }\n\n var i = t[0];\n var u = t[1];\n var r = t[2];\n var f = t[3];\n var x = n[q];\n n[G];\n var y = a(n, t);\n var v = y[0];\n var d = y[1];\n var $ = v(\n F(n, function(n) {\n var e = x[i][n];\n var o = x[u][n];\n var t = x[r][n];\n var l = x[f][n];\n if (e === o) {\n return 0;\n } else {\n return ([t - o - (e - t)] / (e - o)) * l;\n }\n })\n );\n var l = $[0];\n $[1];\n var T = v(w(n, l, e));\n var s = T[0];\n T[1];\n var V = v(w(n, f, e));\n var c = V[0];\n V[1];\n var k = v(\n F(n, function(n) {\n return x[s][n] / x[c][n];\n })\n );\n var o = k[0];\n k[1];\n d();\n return [o];\n }\n\n function H(n, t) {\n var e = t[0];\n var i = t[1];\n\n var f = n[q];\n var h = a(n, t);\n\n var l = h[0];\n var u = h[1];\n\n var d = l(x(n, e, 1));\n\n d[0];\n\n var c = d[1];\n\n var p = l(\n F(n, function(n) {\n var r;\n var t = (r = s[n - 1]) != null ? r : 0;\n if (f[e][n] > c[n]) {\n return t + f[i][n];\n } else if (f[e][n] < c[n]) {\n return t - f[i][n];\n } else {\n return t;\n }\n })\n );\n\n var r = p[0];\n var s = p[1];\n\n u();\n return [r];\n }\n\n // calculate SAR\n function B(n, t, e, r, o) {\n if (e == null) {\n e = 0.02;\n }\n\n if (r == null) {\n r = 0.2;\n }\n\n if (o == null) {\n o = 4;\n }\n\n var u = t[0]; // 5\n var s = t[1]; // 6\n //var i = t[2]; // 4\n\n var w = n[q];\n var T = a(n, t);\n\n var b = T[0];\n var d = T[1];\n\n var g = w[u];\n var x = w[s];\n\n //w[i];\n\n var v = [e];\n var p = [1];\n\n var V = b(M(n, s, o));\n var k = b(_(n, u, o));\n\n //V[0];\n //k[0];\n\n var y = V[1];\n var m = k[1];\n\n var S = b(\n F(n, function(n) {\n var o;\n if (n === 0) {\n return x[n];\n }\n var t = v[n - 1];\n p[n] = p[n - 1];\n if (p[n]) {\n o = $[n - 1] + t * (g[n] - $[n - 1]);\n\n v[n] = m[n] > m[n - 1] ? Math.min(t + e, r) : t;\n\n if (x[n] < o) {\n p[n] = 0;\n v[n] = e;\n return m[n];\n }\n } else if (\n ((o = $[n - 1] + t * (x[n] - $[n - 1])),\n (v[n] = y[n] < y[n - 1] ? Math.min(t + e, r) : t),\n g[n] > o)\n ) {\n p[n] = 1;\n v[n] = e;\n return y[n];\n }\n return o;\n })\n );\n\n var f = S[0];\n var $ = S[1];\n\n d();\n\n return [f];\n }\n\n function O(n, t, e) {\n if (e == null) {\n e = 20;\n }\n var r = t[0];\n n[q];\n var b = a(n, t);\n var f = b[0];\n var s = b[1];\n var g = f($(n, r, e));\n var u = g[0];\n var h = g[1];\n var m = f(T(n, r, e));\n m[0];\n var d = m[1];\n var x = f(\n F(n, function(n) {\n return h[n] + 2 * d[n];\n })\n );\n var l = x[0];\n x[1];\n var y = f(\n F(n, function(n) {\n return h[n] - 2 * d[n];\n })\n );\n var o = y[0];\n y[1];\n s();\n return [u, o, l];\n }\n function R(n, t, e, r) {\n var d = t[0];\n var v = t[1];\n var l = t[2];\n var E = n[q];\n var U = a(n, t);\n var Z = U[0];\n var k = U[1];\n var V = E[l];\n var J = E[d];\n var H = E[v];\n var D = Z(\n F(n, function(n) {\n return J[n] - J[n - 1];\n })\n );\n var p = D[0];\n var P = D[1];\n var K = Z(\n F(n, function(n) {\n return H[n - 1] - H[n];\n })\n );\n var b = K[0];\n var B = K[1];\n var z = Z(\n F(n, function(n) {\n if (P[n] > 0 && P[n] > B[n]) {\n return P[n];\n } else {\n return 0;\n }\n })\n );\n var h = z[0];\n var X = z[1];\n var j = Z(\n F(n, function(n) {\n if (B[n] > 0 && B[n] > P[n]) {\n return B[n];\n } else {\n return 0;\n }\n })\n );\n var c = j[0];\n var _ = j[1];\n var G = Z(\n F(n, function(n) {\n var e;\n var t = (e = V[n - 1]) != null ? e : V[n];\n return Math.max(J[n] - H[n], Math.abs(J[n] - t), Math.abs(H[n] - t));\n })\n );\n\n var y = G[0];\n var L = G[1];\n\n var nt = Z(S(n, h, e, 1));\n\n var f = nt[0];\n var I = nt[1];\n\n var tt = Z(S(n, c, e, 1));\n\n var s = tt[0];\n var M = tt[1];\n\n var et = Z(S(n, y, e, 1));\n\n var x = et[0];\n var N = et[1];\n\n var W = Z(\n F(n, function(n) {\n return (100 * I[n]) / N[n];\n })\n );\n\n var m = W[0];\n var R = W[1];\n\n var C = Z(\n F(n, function(n) {\n return (100 * M[n]) / N[n];\n })\n );\n\n var g = C[0];\n var O = C[1];\n\n var Q = Z(\n F(n, function(n) {\n return (Math.abs(O[n] - R[n]) / (O[n] + R[n])) * 100;\n })\n );\n\n var u = Q[0];\n var w = Q[1];\n\n var A = Z(S(n, u, r, 1));\n\n var o = A[0];\n var $ = A[1];\n\n var Y = Z(\n F(n, function(n) {\n var t = $[n - r] || $[n];\n return ($[n] + t) / 2;\n })\n );\n\n var i = Y[0];\n var T = Y[1];\n\n k();\n\n return [m, g, o, i];\n }\n function E(n, t) {\n var f;\n\n var i = t[0];\n var r = t[1];\n var o = t[2];\n var e = t[3];\n\n var d = n[q];\n var c = n[G];\n var b = l(n);\n\n var u = b[0];\n var a = b[1];\n\n c[u] = function(t) {\n return y(n, t, function(n) {\n a[n] = parseFloat(((d[r][n] + d[o][n] + d[e][n]) / 3).toFixed(8));\n return a[n];\n });\n };\n c[u](0);\n\n var g = arguments[1];\n var p = 0;\n\n for (var v = g.length; v > p; p++) {\n f = g[p];\n s(n, f, u);\n }\n\n return [u];\n }\n\n function N(n, t) {\n var f;\n var i = t[0];\n var r = t[1];\n var o = t[2];\n var e = t[3];\n\n var d = n[q];\n var c = n[G];\n var b = l(n);\n\n var u = b[0];\n var a = b[1];\n\n c[u] = function(t) {\n return y(n, t, function(n) {\n a[n] = parseFloat(((d[r][n] + d[o][n]) / 2).toFixed(8));\n return a[n];\n });\n };\n c[u](0);\n\n var g = arguments[1];\n var p = 0;\n\n for (var v = g.length; v > p; p++) {\n f = g[p];\n s(n, f, u);\n }\n\n return [u];\n }\n function L(n, t) {\n var r = t[0];\n var o = t[1];\n var e = t[2];\n\n var f = n[q];\n var a = n[G];\n\n var h = l(n);\n var i = h[0];\n var u = h[1];\n\n a[i] = function(t) {\n return y(n, t, function(n) {\n u[n] =\n f[o][n] === 0\n ? f[e][n]\n : parseFloat((f[r][n] / f[o][n]).toPrecision(5));\n return u[n];\n });\n };\n a[i](0);\n\n c(n, t, i);\n\n return [i];\n }\n function U(n, t, e) {\n function r(n) {\n b.push(n);\n return [n, g[n]];\n }\n\n if (e == null) {\n e = 3;\n }\n\n var o = t[0];\n var i = t[1];\n\n var g = n[q];\n var d = n[G];\n\n var b = [];\n var m = r(\n F(n, function(n) {\n if (g[o][n] === g[i][n]) {\n return 0.5;\n } else {\n return g[i][n] / (g[i][n] + g[o][n]);\n }\n })\n );\n\n var u = m[0];\n m[1];\n var x = r($(n, u, e));\n var a = x[0];\n x[1];\n var y = l(n);\n var f = y[0];\n y[1];\n d[f] = function(t) {\n return v(n, b, t);\n };\n d[f](0);\n c(n, t, f);\n return [a];\n }\n function W(n, t) {\n return f(n, t, $.apply(null, arguments));\n }\n function C(n, t) {\n return f(n, t, k.apply(null, arguments));\n }\n function Q(n, t) {\n return f(n, t, S.apply(null, arguments));\n }\n function A(n, t) {\n return f(n, t, w.apply(null, arguments));\n }\n function Y(n, t) {\n var o = n[q];\n var i = l(n);\n var e = i[0];\n i[1];\n o[e] = t;\n return e;\n }\n\n function D() {\n var n;\n var i;\n var r = arguments[0];\n var o =\n 3 <= arguments.length\n ? ao.call(arguments, 1, (i = arguments.length - 1))\n : ((i = 1), []);\n var e = arguments[i++];\n var a = [];\n var u = 0;\n for (var l = e.length; l > u; u++) {\n n = e[u];\n if (typeof n === \"object\" && n.length) {\n a.push(r.apply(null, ao.call(o).concat(ao.call(n))));\n } else {\n a.push(r.apply(null, ao.call(o).concat([n])));\n }\n }\n return a;\n }\n\n function K() {\n return D.apply(null, [b].concat(ao.call(arguments)));\n }\n\n function z(n, t, e, r) {\n var o = b(n, r);\n return o.slice(t, +e + 1 || 9e9);\n }\n\n var it = m(3);\n\n var q = it[0];\n var j = it[1];\n var G = it[2];\n\n r = q;\n n = j;\n e = G;\n\n var lt = p(function(n, t, e, r) {\n return (n[q][e][t] = r);\n });\n\n p(function(n, t, e) {\n return n[q][e].push(t);\n });\n\n var ot = p(function(n, t, e, r) {\n return n[q][e].splice(t, 0, r);\n });\n\n var rt = p(function(n, t, e) {\n return n[q][e].splice(t, 1);\n });\n\n zt = o;\n re = lt;\n At = rt;\n jt = ot;\n Gt = h;\n oe = d;\n te = i;\n qt = u;\n St = Y;\n Zt = C;\n Pt = W;\n Ht = I;\n Lt = X;\n Jt = J;\n It = P;\n Ot = H;\n Rt = Z;\n Xt = R;\n _t = O;\n Et = B;\n Nt = Q;\n Ut = A;\n Bt = N;\n Wt = E;\n Ct = L;\n Mt = U;\n Dt = g;\n ne = lt;\n Yt = b;\n Qt = D;\n Kt = K;\n\n return (ee = z);\n }(),\n Se = Xe = Ie = ke = Me = Ve = $e = we = Te = _e = null, d = v = p = b = null,\n // storing trades\n function() {\n function n(n, t) {\n return n[0] - t[0]\n }\n\n function e(n) {\n var t = { group: n };\n\n r(t);\n\n return t;\n }\n\n function r(t) {\n t[g] = new dt({ compare: n });\n t[x] = new dt({ compare: n });\n t[F] = new dt({ compare: n });\n t[y] = new dt({ compare: n });\n\n return t;\n }\n\n function o(n, t, e) {\n switch (t) {\n case x:\n return Math.floor(e[0] / n.group + 1e-12) * n.group;\n case g:\n return Math.ceil(e[0] / n.group - 1e-12) * n.group\n }\n }\n\n function i(n, t, e) {\n var r;\n var i;\n\n n[t].insert(e);\n\n if (e[1]) {\n e = [o(n, t, e), e[1]];\n i = t === x ? y : F;\n\n if ((r = n[i].find(e))) {\n r[1] += e[1];\n\n return (r[2] += e[1] * e[0]);\n } else {\n r = e;\n r[2] = e[1] * e[0];\n\n return n[i].insert(r);\n }\n } else {\n return;\n }\n }\n\n function u(n, e, r) {\n var i;\n var u;\n\n if (r && (n[e][\"delete\"](r), r[1])) {\n r = [o(n, e, r), r[1]];\n u = e === x ? y : F;\n i = n[u].find(r);\n\n if (i && ((i[1] -= r[1]), (i[2] -= r[1] * r[0]), i[1] < 1e-12)) {\n return n[u][\"delete\"](i);\n } else {\n return;\n }\n }\n }\n\n function l(n, e) {\n var r;\n\n var p = e.type_str;\n var f = e.price_int;\n var h = e.total_volume_int;\n var o = e.now;\n var d = p === \"bid\" ? x : g;\n var s = n[d];\n var v = parseInt(h);\n var c = parseInt(f);\n var l = [c, v, o];\n var a = s.find([c]);\n\n u(n, d, a);\n\n if (v) {\n i(n, d, l);\n }\n\n if (d === x) {\n while ((r = n[g].get(0)) && r[0] <= c) {\n u(n, g, r);\n }\n } else {\n while ((r = n[x].get(-1)) && r[0] >= c) {\n u(n, x, r);\n }\n }\n\n return n;\n }\n\n function a(collection, item, isRightHandOrderbook) {\n var price = item[0];\n var amount = item[1];\n var side = item[2];\n\n var h = side === 'bid' ? x : g;\n\n var c = collection[h];\n\n var a = [price, amount];\n\n if (isRightHandOrderbook == null) {\n isRightHandOrderbook = true;\n }\n\n var l, s = c.find([price]);\n\n u(collection, h, s);\n\n if (amount) {\n i(collection, h, a);\n }\n\n if (!isRightHandOrderbook) {\n return collection;\n }\n\n if (h === x) {\n while ((l = collection[g].get(0)) && l[0] <= price) {\n u(collection, g, l);\n }\n } else {\n while ((l = collection[x].get(-1)) && l[0] >= price) {\n u(collection, x, l);\n }\n }\n\n return collection;\n }\n\n function s(n, e) {\n var o;\n var c;\n\n if(!e) {\n return;\n }\n\n var a = e.price;\n var r = e.amount;\n var s = e.trade_type;\n\n if (s === \"bid\") {\n c = g;\n for (n[c]; r > 1e-12 && (o = n[g].get(0)) && o[0] <= a; ) {\n if (o[1] > r) {\n u(n, c, o);\n\n o[1] = o[1] - r;\n\n i(n, c, o);\n break;\n }\n\n u(n, g, o);\n\n r -= o[1];\n }\n } else {\n for (c = x; r > 1e-12 && (o = n[x].get(-1)) && o[0] >= a; ) {\n if (o[1] > r) {\n u(n, c, o);\n\n o[1] = o[1] - r;\n\n i(n, c, o);\n break;\n }\n\n u(n, x, o);\n\n r -= o[1];\n }\n }\n return n;\n }\n\n function c(n, t) {\n var o;\n\n for (var e = 0; (o = n[g].get(0)) && o[0] < t; ) {\n ++e;\n u(n, g, o);\n }\n\n for (var r = 0; (o = n[x].get(-1)) && o[0] > t; ) {\n ++r;\n u(n, x, o);\n }\n\n return [e, r];\n }\n\n function f(n, t, e, r) {\n var a;\n var o = 0;\n var i = 0;\n var s = 0;\n var c = 0;\n\n for (var l = 0; (a = n[g].at(l)) && a[0] <= e; ) {\n if (a[3] >= r) {\n ++l;\n ++s;\n } else {\n ++o;\n u(n, g, a);\n }\n }\n\n for (l = -1; (a = n[x].at(l)) && a[0] >= t; ) {\n if (a[3] >= r) {\n --l;\n ++c;\n } else {\n ++i;\n u(n, x, a);\n }\n }\n\n return [o, i, s, c];\n }\n\n\n function h(n) {\n var t = n[g];\n var r = n[x];\n\n t.slice(-11, -1);\n\n return r.slice(0, 10);\n }\n\n var g, F, x, y, $, w, T, V, k, S;\n\n k = m(4);\n\n x = k[0];\n g = k[1];\n y = k[2];\n F = k[3];\n\n S = [0, 1, 2, 3];\n\n $ = S[0];\n V = S[1];\n T = S[2];\n w = S[3];\n\n Se = e;\n Xe = l;\n Ie = a;\n ke = h;\n Me = i;\n Ve = u;\n $e = c;\n we = f;\n Te = r;\n _e = s;\n\n d = g;\n v = x;\n p = F;\n b = y;\n\n return b;\n }(),\n\n Ae = Ke = De = Ne = Ee = ze = We = null, Ze = Je = null, He = Pe = Oe = Re = Be = Le = Ue = Ce = Ye = Qe = null,\n // draw functions\n function() {\n // draw a volume candle\n function n(n, t, e, o, i, u, fillAndStroke) {\n var s = eo(t, o, i);\n\n var l = s[0];\n var a = s[1];\n\n if (a > e) {\n return r(n, l, e, u, a - e, fillAndStroke);\n } else {\n return r(n, l, a, u, e - a, fillAndStroke);\n }\n }\n\n // draw a main candle: candle_stick and candle_stick_hlc\n function e(ctx, evt, barIndex, openPrice, closePrice, barWidth, fillAndStroke) {\n var rectX, rectYFrom, rectYTo;\n\n rectX = ro(evt, barIndex);\n rectYFrom = oo(evt, openPrice);\n rectYTo = oo(evt, closePrice);\n\n return r(ctx, rectX, rectYTo, barWidth, rectYFrom - rectYTo, fillAndStroke)\n }\n\n // draw a rectangle\n // fixme: slow\n function r(ctx, x, y, width, height, fillAndStroke) {\n // window.CumulativeMeasurer('rectangle').start();\n\n if(height < 0) {\n y += height;\n height = -height;\n }\n\n if(height === 0) {\n height = 1;\n }\n\n /* if(fillAndStroke === undefined) {\n debugger;\n }*/\n\n if(fillAndStroke === undefined ? ctx.fillStyle === ctx.strokeStyle : fillAndStroke) {\n ctx.fillRect(x, y, width, height);\n } else if(height > 1) {\n ctx.fillRect(x, y, width, height);\n ctx.strokeRect(x + .5, y + .5, width - 1, height - 1);\n } else if(height === 1) {\n ctx.beginPath();\n ctx.moveTo(x, y + .5);\n ctx.lineTo(x + width, y + .5);\n ctx.stroke();\n }\n\n // window.CumulativeMeasurer('rectangle').stop();\n }\n\n function o(n) {\n var t, e, r, o;\n\n if (k.length !== 0) {\n t = n.getImageData(0, 0, n.canvas.width, n.canvas.height);\n r = 0;\n\n for (o = k.length; o > r; r++) {\n e = k[r];\n e(t);\n }\n\n n.putImageData(t, 0, 0);\n\n k = [];\n\n return this;\n }\n }\n\n\n // draw lines\n // fixme: slow\n function i(ctx, e, r, o) {\n var u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y, $, w;\n\n if (r.length) {\n d = null;\n\n ctx.beginPath();\n\n a = e[Ft];\n s = F = 0;\n\n for ($ = r.length; $ > F; s = ++F) {\n c = r[s];\n w = eo(e, s, c);\n\n u = w[0];\n l = w[1];\n\n if (o) {\n u += o - 0.5;\n }\n\n l += 0.5;\n\n if (!(c > a.y + a.h) && !(c < a.y) && performanceSettings.sharp_lines) {\n if (d == null) {\n ctx.moveTo(u, l);\n ctx.lineTo(u + 1, l);\n } else {\n v = u - d;\n b = l - p;\n\n if (Math.abs(v) < Math.abs(b)) {\n for (f = x = 0; b >= 0 ? b >= x : x >= b; f = b >= 0 ? ++x : --x) {\n g = (d + (v * f) / b) >> 0;\n m = p + f;\n ctx.moveTo(g, m);\n ctx.lineTo(g + 1, m);\n }\n } else if (Math.abs(v) < 1024) {\n for (f = y = 0; v >= 0 ? v >= y : y >= v; f = v >= 0 ? ++y : --y) {\n g = d + f;\n m = (p + (b * f) / v) >> 0;\n ctx.moveTo(g, m + 0.5);\n ctx.lineTo(g + 1, m + 0.5);\n }\n }\n }\n } else {\n if (d == null) {\n ctx.moveTo(u, l);\n }\n\n ctx.lineTo(u + 1, l);\n }\n\n d = u;\n p = l;\n }\n\n ctx.stroke();\n\n return this;\n }\n }\n\n function u(n, t, e, r) {\n var o;\n return o = $.Color(n.strokeStyle).rgba(), t = ue(t), k.push(function(n) {\n var i, u, l, a, s, f, h;\n for (l = s = 0, f = e.length; f > s; l = ++s) a = e[l], null != a && (h = eo(t, l, a), i = h[0], u = h[1], r && (i += r), i >>= 0, u >>= 0, c(n, i, u, o));\n return this\n })\n }\n\n function l(n, e, r) {\n var o;\n return o = $.Color(n.strokeStyle).rgba(), e = ue(e), k.push(function(n) {\n var e, i, u, l, a, c, f;\n for (a = 0, c = r.length; c > a; a++) f = r[a], e = f[0], i = f[1], e >>= 0, i >>= 0, typeof l !== t.bQ && null !== l && s(n, u, l, e, i, o), u = e, l = i;\n return this\n })\n }\n\n function a(n, t, e, r, o) {\n var i, u;\n return null == o && (o = 1), u = n.width, i = n.height, Jr = e * u + t << 2, n.data[Jr++] = r[0], n.data[Jr++] = r[1], n.data[Jr++] = r[2], n.data[Jr++] = 255 * r[3] * o\n }\n\n function s(n, t, e, r, o, i) {\n var u, l, s, c, f, h, d;\n for (u = Math.abs(r - t), f = r > t ? 1 : -1, l = Math.abs(o - e), h = o > e ? 1 : -1, c = (null != (d = u > l) ? d : {\n dx: -l\n }) / 2;;) {\n if (a(n, t, e, i), t === r && e === o) break;\n s = c, s > -u && (c -= l, t += f), l > s && (c += u, e += h)\n }\n return this\n }\n\n function c(n, t, e, r) {\n return a(n, t, e, r, .8), a(n, t + 1, e, r, .8), a(n, t - 1, e, r, .8), a(n, t, e + 1, r, .8), a(n, t, e - 1, r, .8)\n }\n\n function f(n, t, e, r, o) {\n return n.beginPath(), n.moveTo(t, e), n.lineTo(t, e - o), n.lineTo(t + .866 * o, e - .5 * o), n.fill()\n }\n\n function h(n, t, e, r, o) {\n return n.beginPath(), n.moveTo(t, e), n.lineTo(t, e - o), n.lineTo(t - .866 * o, e - .5 * o), n.fill()\n }\n\n // draw a candle wick\n function d(n, t, e, r, o, i) {\n var u = ro(t, e);\n var l = oo(t, r);\n var a = oo(t, o);\n\n if (i) {\n u += i;\n }\n\n // n.beginPath();\n\n n.moveTo(u + 0.5, a);\n n.lineTo(u + 0.5, l);\n\n // return n.stroke();\n }\n\n\n function p(n, t, e, r) {\n return n.beginPath(), n.moveTo(e, t), n.lineTo(r, t), n.stroke()\n }\n\n function v(n, t, e, r) {\n return n.beginPath(), n.moveTo(t, e), n.lineTo(t, r), n.stroke()\n }\n\n function b(n, t, e) {\n var o;\n var i;\n var l;\n var r = ue(t[mt]);\n var u = ue(t[Ft]);\n\n t = lo(r, u);\n\n var a = e(r, u);\n var s = 0;\n\n for (var c = a.length; c > s; s++) {\n l = a[s];\n i = oo(t, l);\n o = r.w;\n\n n.fillText(l, o - 8, i + 0.5);\n p(n, i + 0.5, r.w - 4, r.w);\n }\n\n return null;\n }\n\n function g(n, t) {\n return b(n, t, function(n, t) {\n var e, r, o, i, u, l, a;\n for (r = Math.floor(n.h / 32), u = t.h / r, i = t.y, a = [], e = l = 0; r >= 0 ? r >= l : l >= r; e = r >= 0 ? ++l : --l) o = i + e * u, a.push(parseFloat(o.toPrecision(5)));\n return a\n })\n }\n\n function m(n, t) {\n b(n, t, function(n, t) {\n var e;\n var r;\n var s;\n var o = Math.abs(n.h / 32);\n var l = t.h / o;\n\n var c = (function() {\n var o = [1, 2, 5];\n var i = [];\n var n = 0;\n\n for (var t = o.length; t > n; n++) {\n e = o[n];\n r = l / e;\n s = Math.ceil(Math.log(r) / Math.log(10)).toFixed(2);\n s = Math.pow(10, s);\n s = e * s;\n i.push(s);\n }\n return i;\n })();\n\n var a = Math.min.apply(Math, c);\n\n var i = Math.ceil(t.y / a) * a;\n\n for (var u = []; i < t.y + t.h; ) {\n u.push(parseFloat(i.toPrecision(5)));\n i += a;\n }\n\n return u;\n });\n\n return null;\n }\n\n function F(n, e, r, o) {\n var u, l, c, f, d, v;\n\n if (!r.text && !r.hr) {\n r.text = true;\n r.hr = true;\n }\n\n e = Gr(e);\n\n var i = e[mt];\n var a = e[Ft];\n var h = o(i, a);\n\n n.textAlign = t.VN;\n\n var s = Math.max.apply(Math, h);\n\n if (1e6 > s) {\n s = 0;\n }\n\n var d = 0;\n\n for (var v = h.length; v > d; d++) {\n c = h[d];\n l = oo(e, c);\n u = i.x;\n f = r.keep ? c : mr(c);\n\n if (r.text) {\n n.fillText(f, u + 50, l + 0.5);\n }\n\n if (r.hr) {\n p(n, l + 0.5, u, u + 6);\n p(n, l + 0.5, u + i.w - 6, u + i.w);\n }\n }\n n.textAlign = t.uO;\n return null;\n }\n\n function x(n, t, e) {\n if (e == null) {\n e = {};\n }\n\n return F(n, t, e, function(n, t) {\n var o;\n var l;\n\n var r = Math.floor(n.h / 32);\n var u = t.h / r;\n var i = t.y;\n var a = [];\n\n for (var e = (l = 0); r >= 0 ? r >= l : l >= r; e = r >= 0 ? ++l : --l) {\n o = i + e * u;\n a.push(parseFloat(o.toPrecision(5)));\n }\n\n return a;\n });\n }\n\n function y(n, t, e, r) {\n if (r == null) {\n r = {};\n }\n\n return F(n, t, r, function() {\n return e;\n });\n }\n\n // this draws Y axis for chart and all indicators\n function w(n, t, e) {\n if (e == null) {\n e = {};\n }\n\n var u = [];\n\n F(n, t, e, function(n, t) {\n var e, r, s, c;\n\n var o = Math.abs(n.h / 32);\n var l = t.h / o;\n\n c = (function() {\n var o = [1, 2, 5];\n var i = [];\n var n = 0;\n\n for (var t = o.length; t > n; n++) {\n e = o[n];\n\n r = l / e;\n\n s = Math.ceil(Math.log(r) / Math.log(10)).toFixed(2);\n s = Math.pow(10, s);\n s = e * s;\n\n i.push(s);\n }\n\n return i;\n })();\n\n var a = Math.min.apply(Math, c);\n var i = Math.ceil(t.y / a) * a;\n\n for (; i < t.y + t.h; ) {\n u.push(parseFloat(i.toPrecision(5)));\n i += a;\n }\n\n return u;\n });\n\n return u;\n }\n\n function T(n, t) {\n var e;\n\n n.save();\n n.beginPath();\n\n e = ue(t[mt]);\n\n e.y += 8;\n e.h -= 16;\n\n n.moveTo(e.x, e.y);\n n.lineTo(e.x + e.w, e.y);\n n.lineTo(e.x + e.w, e.y + e.h);\n n.lineTo(e.x, e.y + e.h);\n\n return n.clip()\n }\n\n function V(n, t, e) {\n n.save();\n\n e();\n\n return n.restore();\n }\n\n var k;\n return k = [], Ae = i, Ke = n, De = e, Ne = r, Ee = p, ze = d, We = v, Ze = g, Je = m, He = x, Pe = w, Oe = T, Re = V, Be = y, Le = h, Ue = f, Ce = o, Ye = l, Qe = u\n }(), dt = null,\n // some structure for holding trades and maybe other data. CUSTOM\n function() {\n var n;\n return n = function() {\n function n(n) {\n this.options = n != null ? n : {};\n this.id = ++u;\n this.min = 0;\n this.max = 0;\n this.count = 0;\n this.type = i;\n this.total = 0;\n this.parent = null;\n this.children = [];\n this.next = null;\n this.prev = null;\n\n this.compare = this.options[\"compare\"];\n this.multimap = this.options[\"multimap\"];\n\n if (this.compare == null) {\n this.compare = function(n, t) {\n return n - t;\n };\n }\n }\n\n var e, r, o, i, u;\n return e = 8, r = e << 1, o = 0, i = 1, u = 0, n.prototype.insert_value_ = function(n) {\n var t, e, r, o, i, u, l;\n for (e = this.count, t = this.children, r = l = 0; e >= 0 ? e > l : l > e; r = e >= 0 ? ++l : --l) {\n if (u = t[r], i = this.compare(u, n), 0 === i) {\n if (this.multimap) break;\n return\n }\n if (i > 0) break\n }\n if (0 === r)\n for (this.min = n, o = this;\n (o = o.parent) && this.compare(o.min, n) > 0;) o.min = n;\n if (r === e)\n for (this.max = n, o = this;\n (o = o.parent) && this.compare(o.max, n) < 0;) o.max = n;\n for (this.children.splice(r, 0, n), this.count += 1, o = this; o;) o.total += 1, o = o.parent;\n return this.rebuild_(), this\n }, n.prototype.insert_node_ = function(n, t) {\n var e, r, o;\n for (e = this.count, r = o = 0;\n (e >= 0 ? e > o : o > e) && this.children[r].min !== n; r = e >= 0 ? ++o : --o);\n return t.parent = this, this.count += 1, this.children.splice(r + 1, 0, t), this.rebuild_()\n }, n.prototype.find_node_ = function(n) {\n var t, e, r, i, u;\n for (i = this; i.type === o;) {\n if (t = i.children, e = i.count, this.compare(n, t[0].min) <= 0) r = 0;\n else if (this.compare(n, t[e - 1].max) >= 0) r = e - 1;\n else\n for (r = u = 0;\n (e >= 0 ? e > u : u > e) && !(this.compare(t[r].max, n) >= 0); r = e >= 0 ? ++u : --u);\n i = t[r]\n }\n return i\n }, n.prototype.has = function(n) {\n var t;\n return t = this.find_node_(n), -1 !== t.children.indexOf(n)\n }, n.prototype.replace_value = function(n) {\n var t, e, r, o, i, u;\n for (r = this.find_node_(n), t = r.children, e = i = 0, u = t.length; u > i; e = ++i) o = t[e], 0 === this.compare(o, n) && (t[e] = n);\n return this\n }, n.prototype.get_node_ = function(n) {\n var t, e, r, i, u;\n if (r = this, n >= this.total) return [null, null];\n if (0 > n) return [null, null];\n for (; r.type === o;)\n for (e = r.children, i = 0, u = e.length; u > i; i++) {\n if (t = e[i], !(n >= t.total)) {\n r = t;\n break\n }\n n -= t.total\n }\n return [r, n]\n }, n.prototype.set_min_ = function(n) {\n var t, e;\n for (e = this, t = this.min; e && 0 === this.compare(e.min, t);) e.min = n, e = e.parent;\n return this\n }, n.prototype.set_max_ = function(n) {\n var t, e;\n for (e = this, t = this.max; e && 0 === this.compare(e.max, t);) e.max = n, e = e.parent;\n return this\n }, n.prototype.inc_total_ = function() {\n var n;\n for (n = this; n;) n.total += 1, n = n.parent;\n return this\n }, n.prototype.dec_total_ = function() {\n var n;\n for (n = this; n;) n.total -= 1, n = n.parent;\n return this\n }, n.prototype.clean_node_ = function() {\n var n, t;\n return this.parent ? (this.parent.delete_node_(this), this.type === i ? (null != (n = this.prev) && (n.next = this.next), null != (t = this.next) ? t.prev = this.prev : void 0) : void 0) : this.type = i\n }, n.prototype.delete_node_ = function(n) {\n var t;\n return t = this.children.indexOf(n), this.children.splice(t, 1), this.count -= 1, 0 === this.count ? this.clean_node_() : (0 === t && this.set_min_(this.children[0].min), t === this.count ? this.set_max_(this.children[this.count - 1].max) : void 0)\n }, n.prototype.delete_value_ = function(n) {\n var t, e;\n return t = this.children, e = this.indexOf_(n), -1 !== e && (t.splice(e, 1), this.count -= 1, this.dec_total_(), 0 === this.count ? this.clean_node_() : (0 === e && this.set_min_(t[0]), e === this.count && this.set_max_(t[this.count - 1]))), this\n }, n.prototype.rebuild_ = function() {\n var n, t, u;\n if (!(this.count < r)) return null != this.parent ? (t = this.slice_(e, r - 1), t.parent = this.parent, this.count = e, this.total = this.total - t.total, this.children.splice(e, e), this.max = this.type === i ? this.children[e - 1] : this.children[e - 1].max, this.parent.insert_node_(this.min, t), this.type === i && (this.next && (this.next.prev = t), t.next = this.next, this.next = t)) : (n = this.slice_(0, e - 1), u = this.slice_(e, r - 1), n.parent = this, u.parent = this, n.next = u, u.prev = n, this.count = 2, this.children = [n, u], this.type = o), this\n }, n.prototype.slice_ = function(t, e) {\n var r, o, u, l, a, s, c, f;\n if (u = e - t + 1, l = new n(this.options), l.count = u, l.type = this.type, o = this.children, this.type === i) l.min = o[t], l.max = o[e], l.children = o.slice(t, +e + 1 || 9e9), l.total = u;\n else {\n for (l.min = o[t].min, l.max = o[e].max, l.children = o.slice(t, +e + 1 || 9e9), a = 0, f = l.children, s = 0, c = f.length; c > s; s++) r = f[s], r.parent = l, a += r.total;\n l.total = a\n }\n return l\n }, n.prototype.atom = function() {\n var n;\n for (n = this; n.type === o;) n = n.children[0];\n return n\n }, n.prototype.indexOf_ = function(n) {\n var t, e, r, o, i, u;\n for (u = this.children, t = o = 0, i = u.length; i > o; t = ++o) {\n if (r = u[t], e = this.compare(r, n), 0 === e) return t;\n if (e > 0) return -1\n }\n return -1\n }, n.prototype.insert = function(n) {\n var t;\n return t = this.find_node_(n), t.insert_value_(n), this\n }, n.prototype[\"delete\"] = function(n) {\n var t;\n return t = this.find_node_(n), t.delete_value_(n)\n }, n.prototype.replace = function(n) {\n return this[\"delete\"](n), this.insert(n)\n }, n.prototype.get = function(n) {\n var t, e, r;\n return 0 > n && (n += this.size()), r = this.get_node_(n), t = r[0], e = r[1], t ? t.children[e] : null\n }, n.prototype.at = function(n) {\n var t, e, r;\n return 0 > n && (n += this.size()), r = this.get_node_(n), t = r[0], e = r[1], t ? t.children[e] : null\n }, n.prototype.find = function(n) {\n return this.find_all(n)[0]\n }, n.prototype.find_all = function(n) {\n var t, e, r, o, i, u, l;\n if (o = [], t = this.find_node_(n), this.compare(n, t.min) < 0) return [];\n if (this.compare(n, t.max) > 0) return [];\n for (l = t.children, i = 0, u = l.length; u > i; i++)\n if (r = l[i], e = this.compare(r, n), 0 === e) o.push(r);\n else if (e > 0) break;\n return o\n }, n.prototype.slice = function(n, t) {\n var e, r, o, i, u;\n if (null == t && (t = this.total - 1), 0 > n && (n += this.total), 0 > t && (t += this.total), 0 > n && (n = 0), t >= this.total && (t = this.total - 1), u = this.get_node_(n), r = u[0], i = u[1], !r) return [];\n for (o = t - n + 1, e = []; o && r;) i < r.count ? (e.push(r.children[i++]), --o) : (r = r.next, i = 0);\n return e\n }, n.prototype.flatten = function() {\n var n, t, e, r, o, i;\n for (r = [], o = this.atom(); o;) {\n for (t = o.count, n = o.children, e = i = 0; t >= 0 ? t > i : i > t; e = t >= 0 ? ++i : --i) r.push(n[e]);\n o = o.next\n }\n return r\n }, n.prototype.dump = function(n) {\n var e, r, o, u, l, a, s;\n for (null == n && (n = 0), o = process.stdout, e = u = 0, s = this.count; s >= 0 ? s > u : u > s; e = s >= 0 ? ++u : --u)\n if (this.type === i) {\n for (r = l = 0; n >= 0 ? n > l : l > n; r = n >= 0 ? ++l : --l) o.write(t.Iz);\n o.write(this.children[e] + t.Iz)\n } else this.children[e].dump(n + 1);\n for (r = a = 0; n >= 0 ? n > a : a > n; r = n >= 0 ? ++a : --a) o.write(t.Iz);\n return o.write(t.AG + this.min + t.hQ + this.max + t.Dr + this.count + t.Hj + this.total + t.ou), this\n }, n.prototype.delete_if = function() {}, n.prototype.size = function() {\n return this.total\n }, n\n }(),\n dt = n,\n null != Xr && (dt = dt),\n typeof module !== t.bQ && null !== module ? module.exports = dt : void 0\n }(), dr = pr = vr = or = ir = ur = lr = xr = yr = ar = sr = cr = hr = mr = fr = gr = Fr = br = null, g = null, tr = Fe = $r = null,\n // time-related functions\n function() {\n function n(n) {\n var e;\n return e = Fe[\"getHours\"](n)\n }\n\n function e(n) {\n var e;\n return e = Fe[\"getMinutes\"](n), \"\" + e + t.oH\n }\n\n function r(n) {\n return x[Fe[\"getMonth\"](n)]\n }\n\n function o(n) {\n var r = Fe[\"getMonth\"](n);\n var e = Fe[\"getDate\"](n);\n\n return \"\" + x[r] + t.Iz + e;\n }\n\n function i(n, e) {\n if (e == null) {\n e = false;\n }\n\n if (e) {\n return Fe[\"getHours\"](n) + t.TC + tr(Fe[\"getMinutes\"](n));\n } else {\n return Fe[\"getHours\"](n) + t.TC + Fe[\"getMinutes\"](n);\n }\n }\n\n function u(n) {\n return tr(Fe[\"getHours\"](n)) + t.TC + tr(Fe[\"getMinutes\"](n)) + t.TC + tr(Fe[\"getSeconds\"](n));\n }\n\n function l(n) {\n var e = Fe[\"getFullYear\"](n);\n var u = tr(Fe[\"getMonth\"](n) + 1);\n var r = tr(Fe[\"getDate\"](n));\n var o = tr(Fe[\"getHours\"](n));\n var i = tr(Fe[\"getMinutes\"](n));\n\n return \"\" + e + t.br + u + t.br + r + t.Iz + o + t.TC + i;\n }\n\n function a(n) {\n return y[Fe[\"getDay\"](n)]\n }\n\n function s(n, e) {\n var r, o, i, u, a, s;\n\n if (e >= 86400) {\n r = Fe[\"getFullYear\"](n);\n\n a = tr(Fe[\"getMonth\"](n) + 1);\n o = tr(Fe[\"getDate\"](n));\n\n tr(Fe[\"getHours\"](n));\n tr(Fe[\"getMinutes\"](n));\n\n s = y[Fe[\"getDay\"](n)];\n\n return \"\" + r + t.br + a + t.br + o + t.EU + s + t.ih;\n } else {\n return l(n);\n }\n }\n\n function c(n) {\n var r = Fe[\"getFullYear\"](n);\n var l = Fe[\"getMonth\"](n) + 1;\n var o = Fe[\"getDate\"](n);\n\n var i = tr(Fe[\"getHours\"](n));\n var u = tr(Fe[\"getMinutes\"](n));\n var a = tr(Fe[\"getSeconds\"](n));\n\n var s = y[Fe[\"getDay\"](n)];\n var e = x[Fe[\"getMonth\"](n)];\n\n return \"\" + s + t.EU + o + t.Iz + e + t.Iz + i + t.TC + u + t.TC + a;\n }\n\n function f(n) {\n var e, r, o, u, s;\n\n var i = [\n [86400, 86400, \"day\"],\n [3600, 3600, \"hour\"],\n [60, 60, \"minute\"],\n [0, 1, \"second\"]\n ];\n\n var l = 0;\n\n for (var a = i.length; a > l; l++) {\n s = i[l];\n\n e = s[0];\n r = s[1];\n o = s[2];\n\n if (n >= e) {\n u = parseFloat((n / r).toFixed(1));\n if (u > 1) {\n return u + t.Iz + o + t.Tp;\n } else {\n return u + t.Iz + o + t.To;\n }\n }\n }\n\n return null;\n }\n\n function h(n) {\n var e, r, o, i, u, l, a, s;\n for (i = [\n [86400, 86400, t.Tn],\n [3600, 3600, t.Tm],\n [60, 60, t.Zq],\n [0, 1, t.No]\n ], l = 0, a = i.length; a > l; l++)\n if (s = i[l], e = s[0], r = s[1], o = s[2], n >= e) return u = parseFloat((n / r).toFixed(1)), u > 1 ? u + \"\" + o + t.To : u + \"\" + o + t.To;\n return null\n }\n\n function d(n) {\n var e, r, o, i, u, l, a, s;\n for (i = [\n [86400, 86400, t.Tn],\n [3600, 3600, t.Tm],\n [60, 60, t.Zq],\n [0, 1, t.No]\n ], l = 0, a = i.length; a > l; l++)\n if (s = i[l], e = s[0], r = s[1], o = s[2], Math.abs(n) >= e) return u = (n / r).toFixed(1), u + o;\n return null\n }\n\n function p(n, e) {\n var r, o, i, u, l, a, s, c;\n if (null == e && (e = !0), 1000 > n) return parseFloat(n.toPrecision(3));\n if (1e7 > n) return parseInt(n);\n for (window.$is_zh ? (l = [\n [1e8, t.jx, t.nH],\n [10000, t.Th, t.Tg],\n [1, \"\", \"\"]\n ], i = 4) : (l = [\n [1e9, t.Tf, t.Te],\n [1e6, t.Td, t.nH],\n [1000, t.Fg, t.Tg],\n [1, \"\", \"\"]\n ], i = 3), a = 0, s = l.length; s > a; a++)\n if (c = l[a], o = c[0], u = c[1], r = c[2], n >= o) {\n n /= o;\n break\n } return n = n.toPrecision(i), e && (n = parseFloat(n)), n + u\n }\n\n function v(n) {\n return n > 10000 || !n ? parseInt(n) : parseFloat(n.toPrecision(4))\n }\n\n function b(n) {\n return n >= 0 ? t.iM + (100 * n).toFixed(2) + t.Ta : (100 * n).toFixed(2) + t.Ta\n }\n\n function m(n) {\n return n = parseFloat(n.toPrecision(12)), n >= 0 ? t.iM + n : n\n }\n\n function F(n) {\n return parseFloat(n.toPrecision(4)).toFixed(12).replace(/(\\..*?)[0]*$/g, t.cY)\n }\n\n var x, y, $, w, T, V, k;\n\n x = \"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \");\n y = \"Sun Mon Tue Wed Thu Fri Sat\".split(\" \");\n\n Fe = {};\n k = [\n 'getDate',\n 'getYear',\n 'getFullYear',\n 'getMonth',\n 'getDay',\n 'getHours',\n 'getMinutes',\n 'getSeconds'\n ];\n\n w = function(n) {\n var e = n.replace(\"get\", \"getUTC\");\n\n return (Fe[n] = function(t) {\n if ($r()) {\n return t[e]();\n } else {\n return t[n]();\n }\n });\n };\n\n T = 0;\n\n for (V = k.length; V > T; T++) {\n $ = k[T];\n w($);\n }\n\n return Fe[\"getTimezoneOffset\"] = function(n) {\n return $r() ? 0 : n.getTimezoneOffset()\n }, tr = function(n) {\n return n = n.toString(), 1 === n.length ? \"0\" + n : n\n }, $r = function() {\n return (typeof $conf !== t.bQ && null !== $conf ? $conf[\"time_zone\"] : void 0) === \"utc\"\n }, dr = n, pr = e, vr = r, or = o, ir = l, ur = s, lr = c, xr = i, yr = u, ar = f, sr = h, cr = d, hr = a, mr = p, fr = v, gr = b, Fr = m, br = F, g = y, tr = tr, Fe = Fe, $r = $r\n }(), _r = Ir = Sr = Mr = null,\n // min / max value of series\n function() {\n function n(t, e) {\n var r;\n\n if (t[0] && t[0].length) {\n t = (function() {\n var u = [];\n var o = 0;\n\n for (var i = t.length; i > o; o++) {\n r = t[o];\n\n u.push(n(r, e));\n }\n\n return u;\n })();\n\n return n(t, e);\n } else {\n return e.apply(null, t);\n }\n }\n\n function t(t) {\n return n(t, Math.max);\n }\n\n function e(t) {\n return n(t, Math.min);\n }\n\n function r(n) {\n var e;\n\n var r = (function() {\n var i = [];\n var t = 0;\n\n for (o = n.length; o > t; t++) {\n r = n[t];\n\n i.push(\n (function() {\n var o = [];\n var n = 0;\n\n for (var t = r.length; t > n; n++) {\n e = r[n];\n o.push(Math.abs(e));\n }\n\n return o;\n })()\n );\n }\n\n return i;\n })();\n\n return t(r);\n }\n\n return _r = Ir = Sr = null, _r = t, Ir = e, Sr = r, Mr = n\n }(), w = _ = Z = null, J = S = _ = X = T = M = I = H = V = k = x = y = P = null, Er = Hr = Br = Nr = Rr = Pr = Or = null, nr = xe = null,\n // handling trades\n function() {\n // returns the main candles object\n function n() {\n var t = {};\n var n = zt(d);\n\n t[c] = n;\n t[$] = 0;\n\n // $ is step, in seconds\n\n return t;\n }\n\n function t(n, t) {\n var l;\n\n var u = {};\n var i = n[c][r][b];\n var o = (l = i != null ? i[i.length - 1] : void 0) != null ? l : 0;\n\n if (o >= t.tid) {\n return;\n } else {\n u[ft] = t.tid;\n u[ct] = t.date;\n u[st] = t.price;\n u[lt] = t.amount;\n u[ht] = t.trade_type;\n return e(n, u);\n }\n }\n\n /* here real-time trades are rounded */\n function e(n, t) {\n var r;\n var o;\n var x;\n\n var e = n[c];\n\n while(qt(e) > 3600) {\n te(e);\n }\n\n t = ue(t);\n\n if (n[$] === 604800) {\n r = t[ct];\n x = r + 259200 - ((r + 259200) % n[$]) - 259200;\n t[ct] = x;\n } else if (n[$] === 259200) {\n t[ct] = round3dTime(t[ct]);\n } else {\n t[ct] = t[ct] - (t[ct] % n[$]);\n }\n\n var k = u(n, t[ct]);\n\n // some boolean\n var i = k[0];\n // l is candles array size?\n var l = k[1];\n\n // updating candle is DONE HERE\n if (i) {\n m = Dt(e, l, d);\n\n // m[p] = m[1] is candle's first trade id?\n // m[b] = m[2] is candle's last trade id?\n // m[v] = m[5] is candle's low price?\n // m[g] = m[6] is candle's high price?\n // m[f] is candle's close price\n\n // t[ft] is trade id\n // t[st] is trade price\n // t[ht] is trade side\n // t[lt] is trade volume\n\n if(m[R]) {\n // if candle has newer trade id?\n if(m[p] > t[ft]) {\n m[F] = t[st];\n m[p] = t[ft];\n }\n\n // if candles's last id is lower?\n if(m[b] < t[ft]) {\n m[f] = t[st];\n m[b] = t[ft];\n }\n\n if(m[v] < t[st]) {\n m[v] = t[st];\n }\n\n if(m[g] > t[st]) {\n m[g] = t[st];\n }\n } else {\n // console.log('before', m);\n\n m[p] = t[ft];\n m[b] = t[ft];\n\n m[F] = t[st];\n m[f] = t[st];\n m[v] = t[st];\n m[g] = t[st];\n\n // console.log('after', m);\n }\n\n m[R] += t[lt];\n\n // update data for ask / bid ratio\n switch (t[ht]) {\n case 'ask':\n m[a] += t[lt];\n break;\n case 'bid':\n m[s] += t[lt];\n }\n\n m[O] += t[lt] * t[st];\n\n return oe(e, l, m);\n }\n\n // generate empty candle\n\n var m = {};\n m[B] = t[ct];\n\n var S = [p, b];\n var y = 0;\n\n for (var T = S.length; T > y; y++) {\n o = S[y];\n m[o] = t[ft];\n }\n\n var M = [F, f, v, g];\n var w = 0;\n\n for (var V = M.length; V > w; w++) {\n o = M[w];\n m[o] = t[st];\n }\n\n m[R] = t[lt];\n m[h] = new Date(1000 * m[B]);\n m[s] = 0;\n m[a] = 0;\n\n switch (t[ht]) {\n case 'ask':\n m[a] = t[lt];\n break;\n\n case 'bid':\n m[s] = t[lt];\n break;\n }\n\n m[O] = t[st] * t[lt];\n\n // console.log('generating empty candle', m);\n\n return Gt(e, l, m);\n }\n\n function o(t, e) {\n var o, l, a, s, d, x, y, w, T;\n\n var i = n();\n var r = i[c];\n var u = (a = 0);\n\n for (var m = e.length; m > a; u = ++a) {\n l = e[u];\n l = ue(l);\n l[B] = parseInt(l[B]);\n\n w = [F, f, v, g];\n s = 0;\n\n for (x = w.length; x > s; s++) {\n o = w[s];\n l[o] = parseFloat(l[o]);\n }\n\n T = [B, p, b];\n d = 0;\n\n for (y = T.length; y > d; d++) {\n o = T[d];\n l[o] = parseInt(l[o]);\n }\n\n l[R] = parseFloat(l[R]);\n l[h] = new Date(1000 * l[B]);\n\n // console.log('o', l[B]);\n\n Gt(r, u, l);\n }\n\n i[$] = parseInt(t);\n\n return i;\n }\n\n function i(n) {\n var e = {};\n var t = zt();\n\n t[r] = n[c][r].slice(0, d.length);\n e[c] = t;\n e[$] = n[$];\n\n return e;\n }\n\n function u(n, t) {\n var o;\n var e = n[c];\n\n if (!(o = Yt(e, B))) {\n return [false, 0];\n }\n\n var r = o.length;\n\n for (; r--; ) {\n if (!(o[r] > t)) {\n if (o[r] < t) {\n break;\n }\n\n return [true, r];\n }\n }\n return [false, r + 1];\n }\n\n // generate and handle a trade\n // containing data about the last candle's price and id\n function l(n) {\n var ncLength = qt(n[c]);\n\n // get last candle with params d\n var t = Dt(n[c], ncLength - 1, d);\n\n // init new trade\n var r = {};\n\n var candleTime = t[B];\n\n var now = parseInt(Date.now() / 1000);\n\n // do not add zero-trade to already existing candle\n if(candleTime > now) {\n return;\n }\n\n // trade time\n r[ct] = now;\n\n // trade id\n r[ft] = t[b];\n\n // trade price\n r[st] = t[f];\n\n // volume\n r[lt] = 0;\n\n // handle trade\n return e(n, r);\n }\n\n var a, s, c, f, h, d, p, v, b, g, F, $, B, O, R, E, N;\n\n return E = m(3),\n c = E[0], b = E[1], $ = E[2],\n w = c, _ = b, Z = $,\n N = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],\n B = N[0], p = N[1], b = N[2], F = N[3], f = N[4], v = N[5], g = N[6], R = N[7], a = N[8], s = N[9], O = N[10], h = N[11],\n d = N,\n J = B,\n S = p,\n _ = b,\n X = F,\n T = f,\n M = v,\n I = g,\n H = R,\n V = h,\n k = d,\n x = a,\n y = s,\n P = O,\n xe = function(n, t) /* here empty candles are generated (maybe) */ {\n if (t === 604800) {\n return n + 259200 - ((n + 259200) % t) - 259200;\n } else if (t === 259200) {\n return round3dTime(n);\n } else {\n return n - (n % t);\n }\n },\n nr = function(n, t) {\n var e, r, o, i, u, l, a, s;\n for (u = [], i = xe(parseInt(Date.now() / 1000), t) - 900 * t, o = xe(parseInt(Date.now() / 1000), t), a = 0, s = n.length; s > a; a++)\n if (e = n[a], !(e[J] < i)) {\n for (; r && e[J] - r[J] > t;) l = [], l[J] = r[J] + t, l[S] = r[_], l[_] = r[_], l[X] = r[T], l[M] = r[T], l[I] = r[T], l[T] = r[T], l[x] = 0, l[y] = 0, l[H] = 0, l[P] = 0, l[V] = l[J], u.push(l), r = l;\n u.push(e), r = e\n } for (e && e[J] < i && (e[J] = i); e && e[J] < o;) l = [], l[J] = e[J] + t, l[S] = e[_], l[_] = e[_], l[X] = e[T], l[M] = e[T], l[I] = e[T], l[T] = e[T], l[x] = 0, l[y] = 0, l[H] = 0, l[P] = 0, l[V] = l[J], u.push(l), e = l;\n return u\n },\n Er = n,\n Hr = e,\n Br = o,\n Nr = i,\n Rr = u,\n Pr = t,\n Or = l,\n nr = nr,\n xe = xe\n }(), ft = st = lt = ct = at = ht = null, jr = zr = null,\n // trade object\n function() {\n function n(n) {\n var t = {};\n\n t[u] = parseInt(n.tid);\n t[o] = parseFloat(n.price);\n t[e] = parseFloat(n.amount);\n t[i] = parseInt(n.date);\n t[r] = Date.now();\n t[l] = n.trade_type;\n\n return t;\n }\n\n function t(n) {\n var t = {};\n\n t[u] = parseInt(n.tid);\n t[o] = parseFloat(n.price);\n t[e] = parseFloat(n.amount);\n t[i] = parseInt(n.date);\n t[r] = Date.now();\n t[l] = n.trade_type;\n\n return t;\n }\n\n var a = m(7);\n\n var u = a[0];\n var o = a[1];\n var e = a[2];\n var i = a[3];\n var r = a[4];\n var l = a[5];\n\n ft = u;\n st = o;\n lt = e;\n ct = i;\n at = r;\n ht = l;\n\n jr = n;\n zr = t;\n\n return t;\n }(),\n lo = no = to = qr = ro = oo = eo = io = Gr = uo = null, mt = Ft = $t = wt = xt = yt = gt = vt = bt = null,\n function() {\n function n(n, t, e) {\n var r = {};\n\n if(e == null) {\n e = !1;\n }\n\n r[p] = ue(n);\n r[v] = ue(t);\n r[f] = e ? g : b;\n r[h] = 0;\n r[wt] = null;\n\n return r;\n }\n\n // probably gets candle using event\n function t(n) {\n var t = {};\n\n t[p] = ue(n[p]);\n t[v] = ue(n[v]);\n t[f] = n[f];\n t[h] = n[h];\n t[wt] = n[wt]\n\n return t;\n }\n\n function e(n, t) {\n var e = n[p];\n var r = n[v];\n\n return (t - r.x) / r.w * e.w + e.x\n }\n\n function r(n, t) {\n var o, i, u, l;\n\n var e = n[p];\n var r = n[v];\n\n if (n[f] === g) {\n l = r.y;\n u = r.y + r.h;\n\n i = 0;\n\n o = Math.log(u / l);\n t = Math.log(t / l);\n\n return ((t - i) / o) * e.h + e.y;\n } else {\n return ((t - r.y) / r.h) * e.h + e.y;\n }\n }\n\n function o(n, t, o) {\n return [e(n, t), r(n, o)]\n }\n\n function i(n, t) {\n return Math.round(e(n, t))\n }\n\n function u(n, t) {\n return Math.round(r(n, t))\n }\n\n function l(n, t, e) {\n return [i(n, t), u(n, e)]\n }\n\n function a(n, t) {\n return Math.round(e(n, t)) + .5\n }\n\n function s(n, t) {\n return Math.round(r(n, t)) + .5\n }\n\n function c(n, t, e) {\n return [a(n, t), s(n, e)]\n }\n\n var $ = m(8);\n var p = $[0];\n var v = $[1];\n var F = $[2];\n var x = $[3];\n var f = $[4];\n var h = $[5];\n\n var w = m(3);\n var b = w[0];\n var g = w[1];\n var d = w[2];\n\n lo = n;\n no = a;\n to = s;\n qr = c;\n ro = i;\n oo = u;\n eo = l;\n io = o;\n Gr = t;\n uo = r;\n\n mt = p;\n Ft = v;\n $t = F;\n wt = x;\n xt = b;\n yt = g;\n gt = d;\n vt = f;\n\n return (bt = h);\n }(),\n // themes\n function() {\n window.$theme_dark = {\n Background: t.XS,\n 'Background Mask': t.ju,\n 'Main Text': t.SX,\n 'Minor Text': t.jF,\n 'Highlight Text': t.YG,\n Border: t.jF,\n Link: t.aC,\n 'Activated Link': t.Dp,\n 'Green Stroke': t.SS,\n 'Green Fill': t.ku,\n 'Red Stroke': t.SQ,\n 'Red Fill': t.Sw,\n 'Axis Background': t.ju,\n 'Axis Key Text': t.SO,\n 'Axis Text': t.UH,\n 'Green Arrow': t.RF,\n 'Red Arrow': t.SL,\n 'Arrow Text': t.bO,\n Cross: t.SK,\n 'Stick Line': t.QR,\n Colors: [t.Ns, t.SH, t.ow, t.pj, t.gb, t.zK],\n ShapeColors: [t.hK, t.Zi, t.Zh, t.vU, t.Zf, t.Ze, t.Zd, t.mq],\n 'Green Area': t.SC,\n 'Red Area': t.qI,\n 'Minor Arrow': t.SA,\n Shape: t.hK,\n ShapeHint: t.Sz,\n AxisCursorBg: t.DB,\n AxisCursorFg: t.hK,\n 'Alarm Line': t.uI,\n 'Green Alarm': t.Dk,\n 'Red Alarm': t.Sv,\n OHLC: '#6CC'\n };\n\n window.$theme_light = {\n Background: t.SO,\n 'Background Mask': t.Su,\n 'Main Text': t.jF,\n 'Minor Text': t.SX,\n 'Highlight Text': t.Iu,\n Border: t.SX,\n Link: t.FM,\n 'Activated Link': t.Hp,\n 'Green Stroke': t.Yd,\n 'Green Fill': t.Yd,\n 'Red Stroke': t.Ux,\n 'Red Fill': t.Ux,\n 'Axis Background': t.Su,\n 'Axis Key Text': t.jF,\n 'Axis Text': t.Nm,\n 'Green Arrow': t.ZH,\n 'Red Arrow': t.Sm,\n 'Arrow Text': t.Iu,\n Cross: t.Sl,\n 'Stick Line': t.OC,\n Colors: [t.SB, t.US, t.ow, t.pj, t.gb, t.zK],\n ShapeColors: [t.qo, t.kF, t.cg, t.JQ, t.JU, t.YN, t.ks],\n 'Green Area': t.PB,\n 'Red Area': t.Sg,\n 'Minor Arrow': t.Sf,\n Shape: t.qo,\n ShapeHint: t.fC,\n AxisCursorBg: t.sC,\n AxisCursorFg: t.hK,\n 'Alarm Line': t.hM,\n 'Green Alarm': t.ZH,\n 'Red Alarm': t.Sm,\n OHLC: '#399'\n };\n\n window.$theme_dark2 = JSON.parse(JSON.stringify($theme_dark));\n }(),\n q = ot = j = D = it = Y = A = U = E = tt = G = C = N = ut = O = et = nt = rt = K = z = B = W = Q = L = R = null, Ar = Ur = Yr = Wr = Cr = Qr = null,\n // draw shapes related closure\n function() {\n // something candle related\n function n(n, t, e) {\n if (t == null) {\n t = [];\n }\n\n if (e == null) {\n e = Z;\n }\n\n var r = {};\n\n r[ht] = n;\n r[lt] = t;\n r[g] = e;\n r[st] = H;\n r[at] = false;\n\n if (n === X) {\n r[at] = true;\n }\n\n return r;\n }\n function e(n, e, r, o, i, u) {\n e.textAlign = t.uO;\n e.textBaseline = 'bottom';\n e.font = t.nr;\n\n var l = e.measureText(u).width;\n\n e.fillStyle = n[ft][t.Za];\n e.fillRect(r.x, i - 1 - 4 - 10, l + 8, 14);\n e.fillStyle = n[ft][t.FL];\n\n return e.fillText(u, r.x + 4, i - 1 - 2);\n }\n\n function r() {}\n\n\n /**\n * draw line function\n *\n * @param params line params\n * @param canvas canvas context\n * @param evt some object with coordinates and canvas size\n * @param timestamps visible timestamps\n * @returns {f}\n */\n function o(params, canvas, evt, timestamps) {\n var i, u, l, a, s, c, f, h, d, p, v, b, m, x, y, $, w, T, V, k, S, M, _;\n\n w = params[lt];\n\n T = w[0]; // starting point [timestamp, price]\n V = w[1]; // ending point [timestamp, price]\n\n f = T[0];\n p = T[1];\n\n h = V[0];\n v = V[1];\n\n canvas.beginPath();\n\n i = evt[mt];\n\n b = i.y;\n m = i.y + i.h;\n\n if (h === f) {\n for (i = evt[mt], a = y = 0, k = params[F];\n (k >= 0 ? k >= y : y >= k) && (null != timestamps[a] ? c = timestamps[a] : c += params[ct], c !== f); a = k >= 0 ? ++y : --y);\n S = io(evt, a, p),\n u = S[0],\n l = S[1],\n f === h && p === v ?\n (canvas.moveTo(0, l), canvas.lineTo(i.w, l)) :\n (canvas.moveTo(u + params[pt] + .5, i.y), canvas.lineTo(u + params[pt] + .5, i.y + i.h))\n } else\n for (\n params[g] === J &&\n (p = Math.log(p), v = Math.log(v)),\n s = (v - p) / (h - f),\n c = 0,\n x = [],\n a = $ = 0,\n M = params[F];\n M >= 0 ? M >= $ : $ >= M; a = M >= 0 ? ++$ : --$)\n null != timestamps[a] ? c = timestamps[a] : c += params[ct], d = s * (c - f) + p,\n params[g] === J && (d = Math.exp(d)),\n _ = io(evt, a, d),\n //console.log(a, d, _),\n u = _[0],\n l = _[1],\n l > -10000 && l < 2 * i.y && l > m && b > l && canvas.lineTo(u + params[pt], l);\n\n return canvas.strokeStyle = params[ft][t.FL], canvas.stroke()\n }\n\n function i() {}\n\n function u(n, r, o) {\n var f = n[lt][0];\n var a = f[0];\n var s = f[1];\n\n r.beginPath();\n\n var i = o[mt];\n var h = eo(o, a, s);\n var u = h[0];\n var l = h[1];\n\n Ee(r, l + 0.5, 0, i.w);\n r.strokeStyle = n[ft][t.RT];\n r.stroke();\n\n var c = \"\" + s.toPrecision(5);\n\n return e(n, r, i, u, l, c);\n }\n\n\n function l(n) {\n return function(e, r, o) {\n var i, u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y, $;\n for (x = e[lt], y = x[0], f = y[0], p = y[1], $ = x[1], h = $[0], v = $[1], i = o[mt], i = o[mt], b = i.y, g = i.y + i.h, a = m = 0, F = n.length; F > m; a = ++m) d = n[a], l = v - (v - p) * d, u = to(o, l), u > g && b > u && (r.beginPath(), r.moveTo(i.x, u), r.lineTo(i.x + i.w, u), r.strokeStyle = e[ft][t.RT], r.stroke(), r.textAlign = t.uO, r.textBaseline = \"bottom\", r.font = t.nr, s = \"\" + (100 * d).toFixed(1) + t.kf + l.toPrecision(5), c = r.measureText(s).width, r.fillStyle = e[ft][t.Za], r.fillRect(i.x, u - 1 - 4 - 10, c + 8, 14), r.fillStyle = e[ft][t.FL], r.fillText(s, i.x + 4, u - 1 - 2));\n return this\n }\n }\n\n function a() {}\n\n function s() {}\n\n function c() {}\n\n function f(params, canvas, evt, timestamps) {\n var i, u, l, a, s, c, f, p, y, $, w, T, M, _, I, X, Z;\n\n var V = params[lt];\n\n var k = V[0];\n var S = V[1];\n\n var h = k[0];\n var v = k[1];\n\n var d = S[0];\n var b = S[1];\n\n i = evt[mt];\n\n var m = i.y;\n var x = i.y + i.h;\n\n if (d === h) {\n canvas.beginPath();\n\n i = evt[mt];\n s = y = 0;\n\n for (\n M = params[F];\n (M >= 0 ? M >= y : y >= M) &&\n (timestamps[s] != null ? (f = timestamps[s]) : (f += params[ct]),\n f !== h);\n s = M >= 0 ? ++y : --y\n ) {}\n\n _ = io(evt, s, v);\n\n u = _[0];\n l = _[1];\n\n canvas.moveTo(u + params[pt] + 0.5, l);\n\n if (b > v) {\n canvas.lineTo(u + params[pt] + 0.5, x);\n } else {\n canvas.lineTo(u + params[pt] + 0.5, m);\n }\n\n canvas.strokeStyle = params[ft][t.FL];\n canvas.stroke();\n } else {\n if (params[g] === J) {\n v = Math.log(v);\n b = Math.log(b);\n }\n\n f = 0;\n c = (b - v) / (d - h);\n I = [0.382, 0.5, 0.618, 1];\n a = $ = 0;\n\n for (T = I.length; T > $; a = ++$) {\n Jr = I[a];\n\n canvas.beginPath();\n\n s = w = 0;\n\n for (X = params[F]; X >= 0 ? X >= w : w >= X; s = X >= 0 ? ++w : --w) {\n if (timestamps[s] == null) {\n f += params[ct];\n } else {\n f = timestamps[s];\n }\n\n if ((!(d > h) || !(h > f)) && (!(h > d) || !(f > h))) {\n p = Jr * c * (f - h) + v;\n\n if (params[g] === J) {\n p = Math.exp(p);\n }\n\n Z = io(evt, s, p);\n\n u = Z[0];\n l = Z[1];\n\n if (l > -10000 && l < 2 * i.y && l > x && m > l) {\n canvas.lineTo(u + params[pt], l);\n }\n }\n }\n\n canvas.strokeStyle = params[ft][t.FL];\n canvas.stroke();\n }\n }\n return this;\n }\n\n function h(n, t, e, r) {\n // actually draw figure / shape on canvas\n\n // console.log(vt, n[ht], n[lt].length, vt[n[ht]][n[lt].length]);\n\n return vt[n[ht]][n[lt].length](n, t, e, r)\n }\n\n function d(n, t) {\n var e = n[lt];\n return e.push(t);\n }\n\n function p(n) {\n var e = n[lt];\n\n if (e.length === vt[n[ht]][t.Zq]) {\n n[st] = k;\n\n return true;\n } else {\n e.push(e[e.length - 1]);\n\n return false;\n }\n }\n\n function v(n, t) {\n var e = n[lt];\n\n if (e.length === 0) {\n e.push(t);\n } else {\n e.splice(-1, 1, t);\n }\n\n return n;\n }\n\n function b(n) {\n var t;\n\n var e = {};\n var i = [ht, lt, g];\n\n var r = 0;\n\n for (var o = i.length; o > r; r++) {\n t = i[r];\n\n e[t] = n[t];\n }\n\n return e;\n }\n\n var g, m, F, x, y, $, w, T, V, k, S, M, _, I, X, Z, J, P, H, lt, at, st, ct, ft, ht, dt, pt, vt, bt;\n // [\"TYPE\", \"POINTS\", \"ORDER\", \"AXIS\", \"FORMULA\", \"STATUS\", \"XFIX\", \"BLOCK_LIMIT\", \"STEP\", \"SNAP\",\n // \"THEME\", \"PARTIAL\", \"FINISHED\", \"LINEAR\", \"LOG\", \"BILOG\", \"LINE\", \"VLINE\", \"HLINE\", \"FVLINE\",\n // \"FHLINE\", \"FARC\", \"FAN\", \"FHLINEEX\", \"FLINE\", \"FANC\", \"COLOR\"]\n\n bt = t.YR.split(/[,\\s]+/);\n\n ht = bt[0];\n lt = bt[1];\n P = bt[2];\n g = bt[3];\n M = bt[4];\n st = bt[5];\n pt = bt[6];\n F = bt[7];\n ct = bt[8];\n at = bt[9];\n ft = bt[10];\n H = bt[11];\n k = bt[12];\n Z = bt[13];\n J = bt[14];\n m = bt[15];\n X = bt[16];\n dt = bt[17];\n I = bt[18];\n _ = bt[19];\n T = bt[20];\n y = bt[21];\n $ = bt[22];\n V = bt[23];\n S = bt[24];\n w = bt[25];\n x = bt[26];\n\n vt = {};\n\n vt[X] = { 1: r, 2: o, m: 2 };\n\n vt[S] = vt[X];\n\n vt[dt] = { 1: i, m: 1 };\n vt[I] = { 1: u, m: 1 };\n\n vt[T] = {\n 1: function() {},\n 2: l([0, 0.236, 0.382, 0.5, 0.618, 0.786, 1]),\n m: 2\n };\n\n vt[V] = {\n 1: function() {},\n 2: l([0, 0.236, 0.382, 0.5, 0.618, 0.786, 1, 1.618, 2.618, 4.236]),\n m: 2\n };\n\n vt[_] = { 1: a, 2: s, m: 2 };\n vt[$] = { 1: c, 2: f, m: 2 };\n\n vt[w] = vt[$];\n\n q = lt;\n ot = ht;\n j = P;\n D = X;\n it = dt;\n Y = I;\n A = _;\n U = T;\n E = y;\n tt = st;\n G = H;\n C = k;\n N = $;\n ut = pt;\n O = F;\n et = ct;\n nt = at;\n rt = ft;\n K = Z;\n z = J;\n B = g;\n W = V;\n Q = S;\n L = w;\n R = x;\n\n Ar = n;\n Ur = d;\n Yr = v;\n Wr = p;\n Cr = h;\n Qr = b;\n }(),\n function() {\n var n, e = this;\n $(function() {\n function r(n) {\n var o = n.outerWidth();\n var t = n.outerHeight();\n var r = ($(window).height() - t) / 3;\n var e = ($(window).width() - o) / 2;\n\n return n.css({ left: e, top: r });\n }\n\n function o(n) {\n var u, c;\n var r = c = 0;\n\n var o = n.match(/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):([\\d\\.]+)([\\+\\-]\\d+)/);\n\n for (var f = o.length; f > c; r = ++c) {\n u = o[r];\n o[r] = parseInt(u, 10);\n }\n\n var h = o;\n\n var s = h[0];\n var l = h[1];\n o = h[2];\n var t = h[3];\n var e = h[4];\n r = h[5];\n var i = h[6];\n var a = h[7];\n\n n = new Date(l, o - 1, t, e, r, i);\n n.setMinutes(n.getMinutes() - n.getTimezoneOffset() - 60 * a);\n\n return n;\n }\n\n function i(n, e, r) {\n var o = $.ajax({\n url: '/api/user/' + window.$user_id + '/' + n,\n type: 'POST',\n dataType: 'json',\n data: e\n });\n\n o.done(function(n) {\n if (n != null ? n.ok : void 0) {\n return r(n);\n } else if (n != null ? n.error : void 0) {\n return r(n);\n } else {\n return r({ error: 1, reason: 'Unknown error' });\n }\n });\n\n return o.fail(function(n, e, o) {\n if (e === \"error\") {\n e = \"\";\n }\n\n var i = o || e || \"request failed.\";\n return r({ error: 1, reason: i });\n });\n }\n\n // poor choice here, but to keep it simple\n // setting up a few vars to keep track of things.\n // at issue is these values need to be encapsulated\n // in some scope other than global.\n\n var lastPosX = 0;\n var lastPosY = 0;\n var isDragging = false;\n\n function handleDrag(ev) {\n // for convience, let's get a reference to our object\n var elem = $(ev.target).parents('.dialog')[0];\n\n // DRAG STARTED here,\n // let's snag the current position\n // and keep track of the fact that we're dragging\n if ( !isDragging ) {\n isDragging = true;\n\n lastPosX = elem.offsetLeft;\n lastPosY = elem.offsetTop;\n }\n\n // we simply need to determine where the x,y of this\n // object is relative to where it's \"last\" known position is\n // NOTE:\n // deltaX and deltaY are cumulative\n // Thus we need to always calculate 'real x and y' relative\n // to the \"lastPosX/Y\"\n var posX = ev.deltaX + lastPosX;\n var posY = ev.deltaY + lastPosY;\n\n // move our element to that position\n elem.style.left = posX + \"px\";\n elem.style.top = posY + \"px\";\n\n // DRAG ENDED\n // this is where we simply forget we are dragging\n if (ev.isFinal) {\n isDragging = false;\n }\n }\n\n function s(n) {\n function e() {\n var n;\n var e = 0;\n\n for (var r = a.length; r > e; e++) {\n n = a[e];\n n.removeClass(\"selected\");\n }\n\n return i.hide();\n }\n\n var o, i, a, s, c, f, h, d;\n\n i = $(\"#dlg_\" + n.name)\n a = [];\n o = [];\n\n var eventWrapper = $(\".tablist\", i)[0];\n\n if(eventWrapper) {\n var mc = new Hammer(eventWrapper);\n\n mc.add(new Hammer.Pan({direction: Hammer.DIRECTION_ALL, threshold: 0}));\n mc.on(\"pan\", handleDrag);\n }\n\n d = n.tabs;\n\n c = function(n) {\n var u, l;\n\n a.push((l = $(\".link_\" + n)));\n o.push((u = $(\".content_\" + n, i)));\n\n return l.click(function() {\n var n;\n\n if (i.is(':visible') && u.is(':visible') && !$.contains(i[0], this)) {\n e();\n\n return false;\n }\n\n var s = 0;\n\n for (var f = o.length; f > s; s++) {\n n = o[s];\n n.hide();\n }\n\n var c = 0;\n\n for (var h = a.length; h > c; c++) {\n n = a[c];\n n.removeClass(\"selected\");\n }\n\n l.addClass(\"selected\");\n\n $(\".error\", u).hide();\n $(\".rt\", u).hide();\n $(\".ok\", u).hide();\n\n u.trigger(\"change\");\n\n u.show();\n i.show();\n\n if (!i.created) {\n i.css(\"position\", \"absolute\");\n\n r(i);\n\n i.created = true;\n }\n\n $(\"input:visible:first\", u).focus();\n\n return false;\n });\n };\n\n\n for (f = 0, h = d.length; h > f; f++) {\n s = d[f];\n\n c(s);\n }\n\n $(\".close\", i).on(\"touchstart click\", function() {\n e();\n });\n\n $(window).on(\"resize\", function() {\n return r(i)\n });\n\n return i\n }\n\n return n = {},\n function() {\n var r;\n var n = { name: \"passport\", tabs: [t.RA, t.aH, t.Ry, t.sm] };\n var e = s(n);\n var a = [t.aH, t.RA];\n\n var o = function(n) {\n var r = $('.content_' + n, e);\n var o = $(t.an, r);\n $(t.Rv);\n var u = $('.error', r);\n return o.bind(t.Ru, function() {\n (function() {\n var e;\n var a;\n\n u.fadeOut(t.Rt);\n\n var l = o.serializeArray();\n\n i(t.YL + n, l, function() {\n a = arguments[0];\n if (a.error) {\n $('.error', r)\n .text(a.reason)\n .fadeIn(t.Rt);\n return $(o[0][a.name]).focus();\n } else {\n e = n === t.aH ? t.Rs : t.Tl;\n r.append(t.bJ + e + t.YJ);\n o.hide();\n return setTimeout(function() {\n o.unbind(t.Ru);\n o[0].action = window.location.href;\n o[0].method = 'POST';\n return o.submit();\n }, 400);\n }\n });\n })();\n return false;\n });\n };\n\n var u = 0;\n\n for (var l = a.length; l > u; u++) {\n r = a[u];\n o(r);\n }\n\n return $(\"input[name=recover_password]\").click(function() {\n var n = $(t.DU);\n var e = $(t.an, n);\n return (function() {\n var r;\n i(t.Ro, e.serializeArray(), function() {\n r = arguments[0];\n if (r.error) {\n $('.error', n)\n .text(r.reason)\n .fadeIn(t.Rt);\n return $(e[0][r.name]).focus();\n } else {\n return $('.error', n)\n .html('')\n .append($(t.bJ).html(t.FC + r.email + t.ih))\n .fadeIn(t.Rt);\n }\n });\n })();\n });\n }(),\n function() {\n function n() {\n var n, e, r, u, a, s, c, f, h;\n i(t.oR, {}, function() {\n var i, d, p;\n if (c = arguments[0], !c.error) {\n for (c.is_premium === t.Ra ? (r = ir(o(c.expires_on)), u = ((o(c.expires_on).getTime() - Date.now()) / 86400 / 1000).toFixed(0), f = u > 1 ? t.No : \"\", $(t.QZ, l).html(t.hX + r + t.mS + u + t.Yr + f + t.qL)) : $(t.QZ, l).html(t.Yp), n = $(t.QY, l), p = $(t.sZ), i = 0, d = p.length; d > i; i++) a = p[i], s = $(a), e = s.attr(t.sp), h = t.Yo + c.address + t.Yn + e + t.Ym, h = t.Yo + c.address + t.Bk, s.attr(t.eH, h);\n return n.html(\"\" + c.address), $(\".qr\", l).attr(\"data\", $(t.sZ).attr(t.eH)), $(t.ef).val(c.display_name), $(t.BH).text(c.username)\n }\n })\n }\n\n function e(n, e, r) {\n return e.error ? n.attr(t.QQ, t.QP).text(e.reason).fadeIn(t.Rt) : n.attr(t.QQ, t.QO).text(r).hide().fadeIn(t.Rt)\n }\n\n function r(n, e) {\n var r;\n return r = 0,\n function(o) {\n var i;\n return r++, r >= n ? o() : (i = t.Yi, e.show().text(i), setTimeout(function() {\n return r = 0, e.text() === i ? e.hide().text(\"\") : void 0\n }, 2000))\n }\n }\n var u, l;\n return u = {\n name: t.Rn,\n tabs: [t.Rm, t.Ry, t.Av, t.Rk, t.co, t.FF]\n }, l = s(u), $(t.Md, l).change(function() {\n var n, e, r;\n e = $(this), e.html(t.vd), i(t.hR, {}, function() {\n var i, u, l, a, s, c, f, h, d;\n return r = arguments[0], r.error ? e.html(t.dV) : (n = function() {\n var n, e, p, v, b, g, m;\n for (b = r.orders, m = [], n = 0, p = b.length; p > n; n++) switch (f = b[n], a = f.info, i = ir(o(f.created_at)), u = ir(o(a.expires_on)), c = ir(o(a.old_expires_on)), a.type) {\n case \"premium\":\n case \"premium_direct\":\n for (g = [t.QH, t.UV, t.OQ], e = 0, v = g.length; v > e; e++) l = g[e], s = a[l], s ? (d = s > 1 ? t.No : \"\", a[l + t.Rc] = s >= 10000 ? t.Iz + parseInt(s) + t.Iz + l.slice(0, -1) + d : t.Iz + parseFloat(s.toPrecision(4)) + t.Iz + l.slice(0, -1) + d) : a[l + t.Rc] = \"\";\n h = \"\", a.remark && (h += t.hr + a.remark), a.tx_hash && (h += t.YE + a.tx_hash + t.Fi + a.tx_hash.slice(0, 25) + t.YC), m.push(t.AB + i + t.OJ + a.years_str + a.months_str + a.days_str + t.IP + c + t.pG + u + h + t.Yx);\n break;\n default:\n m.push(void 0)\n }\n return m\n }(), n.length ? e.html(t.la + n.join(\"\") + t.RM) : e.html(t.rL))\n })\n }), $(t.UZ, l).change(n), n(),\n function() {\n var n, e;\n return n = $(t.QN, l), e = $(t.an, n), e.bind(t.Ru, function() {\n var n = this;\n return function() {\n var e, r, o;\n e = $(t.aU, n), e.fadeOut(t.Rt), r = $(n).serializeArray(), i(t.oE, r, function() {\n return o = arguments[0], o.error ? e.attr(t.QQ, t.Wn).text(o.reason).fadeIn(t.Rt) : (e.attr(t.QQ, t.vy).text(t.Yk + o.mode_name + t.xt).fadeIn(t.Rt), $(t.QI).val(\"\")), (null != o ? o.mode_name : void 0) === t.ad ? $(t.cS).text(o.display_name) : void 0\n })\n }(), !1\n })\n }(),\n function() {\n var n, o, u, a, s, c;\n return n = $(t.cG, l), a = $(t.Gp, n).val(), u = $(t.PZ, n), o = $(\".rt\", n), s = 0, c = r(2, o), n.change(function() {\n var n, r, l = this;\n u.html(\"\"), o.text(\"Loading...\").show(), i(t.dE, {}, function() {\n var s, c, f, h;\n if (n = arguments[0], n.error) e(o, n, t.Gl);\n else\n for (o.text(\"\").fadeOut(), h = n.sessions, s = function(n) {\n var r, l;\n return r = a.replace(/\\[(.*)\\]/g, function(e, r) {\n var o;\n return o = n[r], n[r] || t.Yf\n }), l = $(r), u.append(l), $(t.Ml, l).click(function() {\n var r;\n i(t.uB, {\n ip: n.logined_ip\n }, function() {\n return r = arguments[0], e(o, r, t.yz + n.logined_ip + t.fr), r.error ? void 0 : l.remove()\n })\n })\n }, c = 0, f = h.length; f > c; c++) r = h[c], s(r);\n return l\n })\n })\n }(), $(t.Pt).click(function() {\n var n, e;\n n = $(t.Hc), n.css(t.Qx, \"auto\"), i(t.WD, {}, function() {\n return e = arguments[0], e.error ? n.html($(t.Qv).text(e.reason).show()) : (n.html(t.Re), $.removeCookie(t.Ao, {\n path: \"/\"\n }), window.location.href = window.location.href)\n })\n })\n }(),\n function() {\n var n = { name: 'assist', tabs: ['alarm'] };\n return s(n);\n }(),\n function() {\n var n = { name: 'estimate_trading', tabs: ['estimate_trading'] };\n return s(n);\n }(),\n function() {\n var n = { name: 'draw', tabs: ['draw'] };\n return s(n);\n }(),\n function() {\n var n = { name: 'warning', tabs: ['warning'] };\n return s(n);\n }(),\n function() {\n var n = { name: 'alarm', tabs: ['alarm'] };\n return s(n);\n }(),\n function() {\n var n = { name: 'aggregated_heatmap_widget', tabs: ['aggregated_heatmap_widget'] };\n return s(n);\n }(),\n $(\".qr\").hover(\n function() {\n var r = $(\"#qr\");\n var i = $(this).offset();\n var e = i.left;\n var o = i.top;\n\n var n = $(this).attr(\"data\");\n\n $(\"img\", r)\n .hide()\n .attr(t.EC, t.Yb + encodeURIComponent(n) + t.kV)\n .load(function() {\n var t = $(this);\n\n var i = t.width();\n var n = t.height();\n\n r.css({ left: e - i - 24, top: o - n / 2 });\n\n return t.show();\n });\n return r.show();\n },\n function() {\n return $(\"#qr\").hide();\n }\n ),\n window.$p ? $(\".cond_np\").hide() : $(\".cond_p\").hide(), e\n })\n }(),\n // window.call_api\n function() {\n window.call_api = function(n, e, r) {\n if(window.$is_flutter_view) {\n return;\n }\n\n var o = $.ajax({\n url: '/api/user/' + window.$user_id + '/' + n,\n type: 'POST',\n dataType: 'json',\n data: e\n });\n\n o.done(function(n) {\n if (n && n.ok) {\n return r(n);\n } else if (n && n.error) {\n return r(n);\n } else {\n return r({ error: 1, reason: 'Unknown error' });\n }\n });\n\n return o.fail(function(n, e, o) {\n if (e === 'error') {\n e = '';\n }\n\n var i = o || e || 'request failed.';\n\n return r({\n error: 1,\n reason: i\n });\n });\n };\n }(),\n pe = ie = null,\n function() {\n if (window.AudioContext == null) {\n window.AudioContext =\n window.webkitAudioContext ||\n window.mozAudioContext ||\n window.oAudioContext ||\n window.msAudioContext;\n }\n\n pe = function(n) {\n return new Error(\"Compatibility error: \" + n + \" is not supported.\");\n };\n\n ie = function() {\n if (typeof Worker === \"undefined\" || Worker === null) {\n return pe(\"WebWorker\");\n } else if (typeof Blob === \"undefined\" || Blob === null) {\n return pe(\"Blob\");\n } else if (typeof AudioContext === \"undefined\" || AudioContext === null) {\n return pe(\"AudioContext\");\n } else {\n return null;\n }\n };\n\n pe = pe;\n ie = ie;\n }(),\n Tt = null,\n function() {\n var n;\n var e;\n\n if (ie()) {\n Tt = null;\n } else {\n n = null;\n\n e = function() {\n var e;\n\n if (!n) {\n n = new Worker(\"/js/interval.js\");\n e = [];\n\n return (n.onmessage = function() {\n var n;\n var r;\n var i;\n var u;\n var o = e.length;\n\n for (var t = (i = 0); o >= 0 ? o > i : i > o; o >= 0 ? ++i : --i) {\n u = e.shift();\n\n r = u[0];\n n = u[1];\n\n r -= 16;\n\n if (r > 0) {\n e.push([r, n]);\n } else {\n n();\n }\n }\n return null;\n });\n }\n };\n\n Tt = function(n, t) {\n e();\n return queues.push([n, t]);\n };\n }\n\n Tt = Tt;\n }(),\n kt = null,\n function() {\n kt = function(n) {\n return new buzz.sound(\"/assets/\" + n, { formats: [\"ogg\", \"mp3\", \"aac\"] });\n };\n\n kt = kt;\n }(),\n be = ge = ve = null,\n a = c = f = s = null,\n function() {\n function n() {\n var n, r, o, u, l, a;\n for (n = {}, null == n[h] && (n[h] = {}), a = $(t.Me), o = function(r) {\n var o, u, l, a, s, c;\n for (u = $(r), l = $(t.bc, u), c = [], a = 0, s = l.length; s > a; a++) o = l[a], c.push(function(r) {\n var o, u, l, a, s, c, f, d, p, v;\n for (l = $(r), s = l.attr(t.XM), a = $(\".v\", l), n[s] = null, o = null != (f = n[h])[s] ? (f = n[h])[s] : f[s] = {}, o[t.hm] = a, d = function(r) {\n var i, u, l;\n return u = $(r), l = u.attr(t.QX), o[l] = u, i = u.attr(t.Qh), (i || !o[t.Qh]) && (o[t.Qh] = u), $(r).click(function() {\n return e(n, s, l)\n })\n }, p = 0, v = a.length; v > p; p++) u = a[p], d(u);\n return o[t.Qh] && e(n, s, o[t.Qh].attr(t.QX)), c = l.attr(t.fD), c ? i(n, l, c) : void 0\n }(o));\n return c\n }, u = 0, l = a.length; l > u; u++) r = a[u], o(r);\n return n\n }\n\n function e(n, e, r) {\n var o, i, a, s, c, f, d, p, v, b, g, m, F, x;\n if (s = null != (v = n[h]) ? null != (b = v[e]) ? b[t.hm] : void 0 : void 0, s && (s.removeClass(\"active\"), a = null != (g = n[h]) ? null != (m = g[e]) ? m[r] : void 0 : void 0)) {\n if (a.addClass(\"active\"), n[e] = r, i = null != (F = n[l]) ? F[e] : void 0)\n for (c = 0, d = i.length; d > c; c++) o = i[c], typeof o === t.Mg && o(r);\n if (null != n[u])\n for (x = n[u], f = 0, p = x.length; p > f; f++) o = x[f], typeof o === t.Mg && o(e, r);\n return n\n }\n }\n\n function r(n, t) {\n switch (arguments.length) {\n case 2:\n n = arguments[0];\n t = arguments[1];\n if (n[u] == null) {\n n[u] = [];\n }\n n[u].push(t);\n break;\n case 3:\n o.apply(null, arguments);\n }\n return n;\n }\n\n function o(n, t, e) {\n var r;\n return null == n[l] && (n[l] = {}), null == (r = n[l])[t] && (r[t] = []), n[l][t].push(e), n\n }\n\n function i(n, e, o) {\n var i, u, l, a, s, c, f;\n for (e.hide(), o = o.split(t.mJ), i = {}, s = 0, c = o.length; c > s; s++) u = o[s], f = u.split(t.TC), l = f[0], a = f[1], null == i[l] && (i[l] = []), i[l].push(a);\n return r(n, l, function(n) {\n return co.call(i[l], n) >= 0 ? e.show() : e.hide()\n }), this\n }\n var u, l, h, d, p;\n return p = m(4), u = p[0], h = p[1], d = p[2], l = p[3], be = n, ge = e, ve = r, a = u, c = h, f = d, s = l\n }(), Vr = null, Dr = null,\n function() {\n var n, e, a, s, f, h, g, F, S, Z, E, C, A, j, G, tt, it, dt, pt, $t, Tt, St, Nt, Ut, Wt, Qt, At, Kt, zt, jt, Gt, qt, ne, te, re, oe, ie, se, he, pe, xe, ye, we, Ve, ke, Me, Xe, Ze, Je, Oe, Ne, Le, Ue, Ce, Qe, Ye, je, Ge, qe, tr, ur, pr, Fr, Fr2, Fr3, Tr, kr, Mr, Xr, Zr, Pr, Rr, Er, Ur, qr, no, to, io, fo, ho, po, vo, bo, go, mo, Fo, xo, yo, $o, wo, To, Vo, ko, So, Mo, _o, Io, Xo, Zo, Jo, Po, Ho, Bo, Oo, Ro, Eo, No, Lo, Uo, Wo, Co, Qo, Ao, Yo, Do, Ko, zo, jo, Go, qo, ni, ti, ei, ri, oi, ii, ui, li, ai, si, ci, fi, hi, di, pi, vi, bi, gi, mi, Fi, xi, yi, $i, wi, Ti, Vi, ki, Si, Mi, _i, Ii, Xi, Zi, Ji, Pi, Hi, Bi, Oi, Ri, Ei, Ni, Li, Ui, Wi, Ci, Qi, Ai, Yi, Di, Ki, zi, ji, Gi, qi, nu, tu, eu, ru, ou, iu, uu, lu, au, su, cu, fu, hu, du, pu, vu, bu, gu, mu, Fu, xu, yu, $u, wu, Tu, Vu, ku, kuHeight, Su, Mu, _u, Iu, Xu, Zu, Ju, Pu, Hu, Bu, Ou, Ru, Eu, Nu, Lu, Wu, Cu, Qu, Au, Yu, Du, Ku, zu, ju, Gu, qu, nl, tl, el, rl, ol, il, ul, ll, al, sl;\n\n var DrawingsStore = function() {\n const obj = {};\n\n var prefix = \"drawing_\";\n\n obj.set = function(key, drawing) {\n var keys = obj.getKeys();\n\n // new entry\n if(!key) {\n key = 'local_' + (keys.length + 1);\n }\n\n var value = {\n ok: 1,\n data: {\n drawing: drawing,\n subid: (keys.length + 1),\n id: key,\n updated_at: (+new Date()) / 1000,\n symbol: window.$symbol\n }\n };\n\n localStorage.setItem(prefix + key, JSON.stringify(value));\n\n return value;\n }\n\n obj.has = function(key) {\n return localStorage.getItem(prefix + key) !== null;\n }\n\n obj.get = function(key) {\n var item = localStorage.getItem(prefix + key);\n\n if(!item) {\n return null;\n }\n\n return JSON.parse(item);\n }\n\n obj.delete = function(key) {\n return localStorage.removeItem(prefix + key);\n }\n\n obj.getRaw = function(key) {\n var item = localStorage.getItem(key);\n\n if(!item) {\n return null;\n }\n\n return JSON.parse(item);\n }\n\n obj.getKeys = function() {\n var res = [];\n\n for (var key in localStorage) {\n if(key.indexOf(prefix) >= 0) {\n res.push(key);\n }\n }\n\n return res;\n }\n\n obj.getAll = function(symbol) {\n var res = {\n ok: 1,\n data: []\n };\n\n var keys = obj.getKeys();\n\n for(var key in keys) {\n var item = obj.getRaw(keys[key]);\n\n if(item && item.data && item.data.symbol === symbol) {\n res.data.push(item.data);\n }\n }\n\n return res;\n }\n\n return obj;\n }();\n\n var scaleGraph;\n var lockCross;\n var autoScale = true;\n var drawChartInfo = false\n\n var HeatmapCanvas;\n\n var redrawCross, redrawMain, redrawShapes, redrawHeatmap;\n\n $(function() {\n function cl() {\n var n = new Date();\n if ($r()) {\n return pr.text(lr(n) + \" UTC\");\n } else {\n return pr.text(lr(n));\n }\n }\n\n function fl(n) {\n return Ge[n]\n }\n\n function hl(cookieName, cookieValue, saveConfig) {\n if (saveConfig == null) {\n saveConfig = {};\n }\n\n var cookieParams = {};\n\n cookieParams.path = '/';\n\n if(saveConfig.mode !== 'session') {\n cookieParams.expires = 3650;\n }\n\n if(saveConfig.wildcardDomain) {\n cookieParams.domain = '.bitcoinwisdom.io';\n }\n\n return $.cookie(cookieName, cookieValue, o);\n }\n\n function dl(n, t) {\n return n > t\n }\n\n // measure run time?\n function pl(n, t) {\n var r = Date.now();\n window.Measurer(n).start();\n t();\n window.Measurer(n).stop();\n\n return Date.now() - r;\n }\n\n function vl(n, t) {\n var e, r, o, i, u, l;\n for (o = null, r = i = 8; i >= -8; r = --i) {\n for (u = 0, l = n.length; l > u; u++)\n if (e = n[u], ol = parseFloat((e * Math.pow(10, r)).toPrecision(8)), !(ol / $init_price > t)) {\n o = ol;\n break\n } if (o) break\n }\n return null == o && (o = 1e-8), o\n }\n\n function bl() {\n lockCross = true;\n\n Ol(\"Cross is locked.\");\n\n return Iu.addClass(\"locked\");\n }\n\n function gl() {\n lockCross = false;\n\n Ol(\"Cross is unlocked.\");\n\n return Iu.removeClass(\"locked\");\n }\n\n/* function bl() {\n autoScale = true;\n\n Ol(\"Auto-scaling enabled.\");\n }\n\n function gl() {\n autoScale = false;\n\n Ol(\"Auto-scaling disabled.\");\n }*/\n\n /**\n * Clear canvas\n *\n * @param n\n */\n function ml(n, width, height) {\n var preserveTransform = false;\n\n if (preserveTransform) {\n n.save();\n n.setTransform(1, 0, 0, 1, 0, 0);\n }\n\n if(!width) {\n width = n.canvas.width;\n }\n\n if(!height) {\n height = n.canvas.height;\n }\n\n/*\n switch(n.canvas.id) {\n case \"canvas_shapes\":\n n.canvas.width = n.canvas.width;\n default:\n n.clearRect(0, 0, n.canvas.width, n.canvas.height);\n break;\n }\n*/\n n.clearRect(0, 0, width, height);\n\n if (preserveTransform) {\n n.restore();\n }\n }\n\n function Fl() {\n var n, e, r, o, i, u, l, a, s;\n\n var c = [Oi, Bi, Ri, HeatmapCanvas];\n\n Si = Eu.width() - Ou.width() - Mu.width();\n ki = Eu.height() - ku.height() - (Vu.is(\":visible\") ? Vu.height() : 0);\n\n ki -= ki % 2;\n Si -= Si % 2;\n\n if (Oi.width !== Si || Oi.height !== ki) {\n yu.css(\"width\", Si - 8);\n Iu.height(ki);\n\n for (a = 0, s = c.length; a < s; a++) {\n e = c[a];\n\n if(!e) {\n continue;\n }\n\n var ctx;\n\n if(e !== HeatmapCanvas) {\n ctx = e.getContext('2d');\n }\n\n // var rect = e.getBoundingClientRect();\n\n var ctxDpr = dpr(ctx);\n\n var canvasWidth = Math.ceil(Si * ctxDpr);\n var canvasHeight = Math.ceil(ki * ctxDpr);\n\n e.width = canvasWidth;\n e.height = canvasHeight;\n\n $(e).css(\"width\", canvasWidth / ctxDpr);\n $(e).css(\"height\", canvasHeight / ctxDpr);\n\n if(ctx) {\n ctx.setTransform(ctxDpr, 0, 0, ctxDpr, 0, 0);\n // ctx.scale(ctxDpr, ctxDpr);\n }\n }\n }\n\n if (g == null) {\n g = Fu.outerHeight(true);\n }\n\n o = g + 26 - ki;\n\n // console.log('orderbook debug', g, ki, o);\n\n if (o > 0) {\n i = 15 - Math.ceil(o / 26);\n\n if (i < 2) {\n i = 2;\n }\n } else {\n i = 15;\n }\n\n // console.log('orderbook lines', i);\n\n u = 13 * i;\n Ut = i;\n\n $t = false;\n\n ql();\n\n $t = true;\n\n $('#orderbook .orderbook').height(u);\n\n $(\"#asks\").css(\"margin-top\", 13 * (i - 15));\n $(\"#gasks\").css(\"margin-top\", 13 * (i - 15));\n\n l = ki - Fu.outerHeight(true);\n\n Ru.height(l);\n\n uu = Math.floor(ki / 6 - Rr);\n $i = Math.floor((Si - xi) / Ti);\n wi = Math.floor((Si - xi) / Ti);\n\n Su.css(\"bottom\", uu + 16);\n\n if (Er) {\n n = Er[w];\n r = Yt(n, T).length - 1;\n ho = r;\n\n if (Ci == null) {\n Ci = r - wi + 1;\n } else {\n Ci -= wi - Cu;\n }\n\n if (0 > Ci) {\n Ci = 0;\n }\n\n if (Ci + wi > r) {\n Ci = r - wi + 1;\n }\n\n Cu = wi;\n\n ul();\n Il();\n\n return true;\n } else {\n return;\n }\n }\n\n function xl() {\n if (Mi[\"volume_currency\"] === \"base\") {\n if (Bo !== H) return Oo = j, Bo = H, au = !0\n } else if (Bo !== P) return Oo = C, Bo = P, au = !0\n }\n\n // clear \"cross\" canvas\n function yl() {\n return ml(_i)\n }\n\n // clear shapes canvas\n function $l() {\n return ml(Xi)\n }\n\n // wl draws price label on sidebar\n function wl(n, e, r, o, i, u) {\n var l, a;\n return l = r + .5, a = o, null == i && (i = n.measureText(e).width),\n n.beginPath(),\n n.textBaseline = \"middle\",\n u === t.MM ? (n.moveTo(l, a), n.lineTo(l - 5, a + 10.5),\n n.lineTo(l - 5 - i - 6 - 5, a + 10.5),\n n.lineTo(l - 5 - i - 6 - 5, a - 10.5),\n n.lineTo(l - 5, a - 10.5),\n n.lineTo(l, a),\n n.fill(),\n n.stroke(),\n n.fillStyle = Jo[t.Sy],\n\n n.fillText(e, l - 5 - 3 - i, a)) : (\n n.moveTo(l, a),\n n.lineTo(l + 5, a + 10.5),\n n.lineTo(l + 5 + i + 6 + 5, a + 10.5),\n n.lineTo(l + 5 + i + 6 + 5, a - 10.5),\n n.lineTo(l + 5, a - 10.5),\n n.lineTo(l, a),\n n.fill(),\n n.stroke(),\n n.fillStyle = Jo[t.Sy], n.fillText(e, l + 5 + 3, a)\n )\n }\n\n function Tl(n, e, r, o, i) {\n var u, l, a;\n return l = r, a = o, u = 18,\n null == i && (i = n.measureText(e).width),\n i % 2 === 0 && (i += 1),\n i += 6,\n n.fillStyle = Jo[t.Za],\n n.lineWidth = 1,\n n.textBaseline = \"middle\",\n n.textAlign = t.VN,\n n.fillRect(l - i / 2 - .5, a - u / 2, i + 1, u),\n n.beginPath(),\n n.moveTo(l - i / 2, a - u / 2),\n n.lineTo(l - i / 2, a + u / 2),\n n.moveTo(l + i / 2 + 1, a - u / 2),\n n.lineTo(l + i / 2 + 1, a + u / 2),\n n.stroke(),\n n.fillStyle = Jo[t.Sy],\n n.fillText(e, l, a)\n }\n\n // fixme: bit slow\n function Vl(n, t) {\n var e;\n\n if (t == null) {\n t = false;\n }\n\n if (n == null) {\n return 0;\n } else if (wo > 1e7 && ((n *= 1e8), !t)) {\n return (n = parseInt(n));\n } else if (n > 10000) {\n return n.toFixed(0);\n } else {\n e = n > 100 ? 5 : 4;\n return n.toPrecision(e);\n }\n }\n\n function kl(n, t) {\n var e;\n return null == t && (t = !0), n > 10000 ? n = Math.round(n) : e = n > 100 ? 5 : 4, t ? mr(n) : n.toPrecision(e)\n }\n\n function Sl(n) {\n return n.toPrecision(5)\n }\n\n function Ml(n, t) {\n var e, r, o, i, u, l, a, s, c;\n\n switch (r = n[mt], o = n[Ft], n[vt]) {\n case xt:\n l = (t - r.y) / r.h * o.h + o.y;\n break;\n case yt:\n s = o.y;\n a = o.y + o.h;\n u = 0;\n i = Math.log(a / s);\n c = (t - r.y) / r.h * i + u;\n l = Math.exp(c) * s;\n break;\n case gt:\n e = n[bt]\n }\n return l\n }\n\n var old_l_html, old_yu_html;\n\n // fixme: optimize html()\n function _l(n, e) {\n var r;\n var o;\n var i;\n var l;\n var s;\n var c;\n var f;\n var h;\n var d;\n var p;\n var a = \"\";\n var u = Er[e];\n\n if (u != null ? u.length : void 0) {\n r = Er[w];\n d = Dt(r, Ci + Wi, u);\n h = ie[e];\n\n f = h[\"labels\"];\n\n i = (p = h[t.qQ]) != null ? p : Jo[t.VB];\n\n c = (function() {\n var n;\n var r = [];\n\n l = n = 0;\n\n for (var e = f.length; e > n; l = ++n) {\n s = f[l];\n o = i[l];\n\n r.push(\"<dd><span style=\\\"color:\" + o + \"\\\">\" + s + \": \" + fr(d[u[l]]) + \"</span></dd>\");\n }\n\n return r;\n })();\n\n a = t.WL + c.join(\"\") + \"</dl>\";\n }\n\n if(old_l_html !== a) {\n old_l_html = a;\n\n return n.html(\"<div class=inner>\" + a + \"</div>\");\n }\n }\n\n let isCrosshairInfoVisibleForMobile = false;\n\n // draw canvas_cross\n function Il() {\n var e, o, u, a, s, c, f, d, p, v, b, g, m, F, x, y, $, _, Z, B, O, R, E, N, L, U, W, C, Q, A, Y, D, K, z, G, q, nt, tt, et, rt, ot, it, ut;\n\n if(Er) {\n R = _i;\n c = Er[w];\n\n N = Au > Si - xi;\n\n if(N) {\n v = Au;\n b = Yu\n } else {\n v = Ji;\n b = Pi;\n }\n\n e = Mi[\"stick_style\"];\n }\n\n if (Er && null != v) {\n window.Measurer('crosshair').start();\n window.Measurer('crosshair-1').start();\n\n yl();\n\n if (Ye === ui) {\n if(!window.$is_mobile || window.$is_desktop_mode || Ni || isCrosshairInfoVisibleForMobile) {\n R.strokeStyle = Jo[t.Nq];\n Ee(R, b + 0.5, 0, Si);\n We(R, v + 0.5, 0, ki);\n }\n }\n\n ol = Dt(c, Ci + Wi, ao.call(k).concat([Er[mi]]));\n\n if (Xe) {\n x = function(n) {\n var r, o, i, u, l, s;\n var e = n[Ft];\n\n if (n[vt] === yt) {\n u = e.y;\n i = e.y + e.h;\n o = 0;\n r = Math.log(i / u);\n s = ((b - p.y) / p.h) * r + o;\n l = Math.exp(s) * u;\n } else {\n l = ((b - p.y) / p.h) * e.h + e.y;\n }\n\n var price = n === Xe ? Vl(l) : kl(l);\n\n h = parseFloat(price);\n R.font = Math.floor(12) + 'px ' + qe;\n R.fillStyle = Jo[t.Sy];\n R.textAlign = t.uO;\n\n var c = R.measureText(price).width;\n c += c % 2;\n\n var f = Math.floor(Si - xi + (xi - c - 8) / 2);\n var d = b;\n\n R.strokeStyle = Jo[t.Nq];\n R.fillStyle = Jo[t.Za];\n\n if(!window.$is_mobile || window.$is_desktop_mode || Ni || isCrosshairInfoVisibleForMobile) {\n if (N) {\n return wl(R, price, Si - xi - 3, d, c, t.MM);\n } else {\n return wl(R, price, f, d, c);\n }\n }\n };\n\n ot = [Xe, Me, Ro];\n q = 0;\n\n for (nt = ot.length; nt > q; q++) {\n K = ot[q];\n if (K) {\n p = K[mt];\n if (p.y + p.h < b && b < p.y) {\n x(K);\n }\n }\n }\n\n R.strokeStyle = Jo[t.Nq];\n R.fillStyle = Jo[t.Za];\n R.fillStyle = t.bO;\n\n if (ol[V]) {\n g = ol[V];\n } else {\n B = Dt(c, Ui, k);\n g = new Date(B[V]);\n g.setSeconds(Io * (Wi - (Ui - Ci)));\n }\n\n Y = 3600 > Io ? xr(g, true) : 86400 > Io ? Fe[\"getHours\"](g) : or(g);\n R.font = Math.floor(12) + 'px ' + qe;\n R.strokeStyle = Jo[t.Np];\n Tl(R, Y, v, ki - 7);\n }\n\n window.Measurer('crosshair-1').stop();\n window.Measurer('crosshair-2').start();\n\n if (Ni) {\n Ci = Li - Wi;\n }\n\n _ = wr(c[r][T]) * wo;\n p = Xe[mt];\n\n C =\n Pi < p.y\n ? t.EU + gr(h / _ - 1) + t.kd + gr(_ / h - 1) + t.EU + br(h - _)\n : '';\n\n if(!window.$is_mobile || window.$is_desktop_mode || drawChartInfo) {\n isCrosshairInfoVisibleForMobile = true;\n\n if (\n (n != null ? ((it = n[zo]) != null ? it.length : void 0) : void 0) &&\n N &&\n So\n ) {\n o = n;\n y = xi - (Si - v) - 8;\n Y = '';\n\n if ((s = o[zo][y])) {\n Z = xe[st];\n\n if (o[Yo][y]) {\n Jr = (100 * (o[Ko][y] / Z - 1)).toFixed(2) + t.Ta;\n Jr = t.QE + Jr + t.TZ;\n Y +=\n t.WE +\n kl(o[qo][y]) +\n t.Ac +\n j +\n t.kH +\n kl(o[Yo][y]) +\n t.Ac +\n Pr +\n t.tX +\n Vl(o[Ko][y]) +\n t.Ac +\n Jr +\n t.Oi;\n }\n\n if (o[Do][y]) {\n Jr = (100 * (o[jo][y] / Z - 1)).toFixed(2) + t.Ta;\n Jr = t.Nn + Jr + t.TZ;\n Y +=\n t.Wz +\n kl(o[qo][y]) +\n t.Ac +\n j +\n t.Wy +\n kl(o[Do][y]) +\n t.Ac +\n Pr +\n t.pf +\n Vl(o[jo][y]) +\n t.Ac +\n Jr +\n t.Oi;\n }\n\n Y += t.Ww + Vl(o[zo][y], true) + t.Ac + vo + t.ih;\n }\n\n if (Y !== old_yu_html) {\n old_yu_html = Y;\n yu.html('<div class=inner>' + Y + '</div>');\n }\n\n Su.html('');\n } else if ($i >= Wi) {\n Y = '';\n $ = '';\n\n if (ol[T] == null) {\n B = Dt(c, Ui, k);\n\n if (B[V] != null) {\n g = new Date(B[V]);\n g.setSeconds(Io * (Wi - (Ui - Ci)));\n Y = t.lI + ir(g) + t.Iz + hr(g);\n }\n\n u = t.Wf + cr(g.getTime() / 1000 - Date.now() / 1000) + C + t.We;\n Y += u;\n\n _l(Su, null);\n } else {\n Q = Dt(c, Ci + Wi - 1, k);\n L = Q[T] != null ? ol[T] / Q[T] - 1 : 0;\n L = 100 * L;\n L = L.toFixed(2);\n\n if (L[0] === t.br) {\n L = t.QL + L.substr(1);\n G = t.YF;\n } else if (L > 0) {\n L = t.Wu + L;\n G = t.gE;\n } else {\n L = t.Wu + L;\n G = t.YQ;\n }\n\n G = '';\n\n Y = [\n t.lI + ir(ol[V]) + t.Iz + hr(ol[V]),\n t.uT + Vl(ol[X]),\n t.rF + Vl(ol[M]),\n t.Wq + Vl(ol[I]),\n t.WO + Vl(ol[T]),\n t.Rj + L + t.Ye,\n t.vL + (((ol[M] - ol[I]) / ol[I]) * 100).toFixed(2) + t.Ye,\n t.bF + mr(ol[Bo] > 1e-11 ? ol[Bo] : 0)\n ];\n\n if ((d = Mi.market != null && Mi.market !== 'none')) {\n ut = S[i];\n for (A in ut) {\n if (so.call(ut, A)) {\n a = ut[A];\n if (\n (c = a != null ? ((et = a[Io]) != null ? et[w] : void 0) : void 0)\n ) {\n D = Yt(c, J);\n if (Mi.line_style) {\n z =\n (rt = S[l][A]) != null\n ? rt[(tt = Io + t.TC + mi)] != null\n ? rt[(tt = Io + t.TC + mi)]\n : (rt[tt] = Ct(c, [P, H, T]))\n : void 0;\n f = Yt(c, z)[0];\n o = ol[Er[mi]];\n } else {\n f = Yt(c, T);\n o = ol[T];\n }\n U = (ol[J] - D[0]) / Io;\n W = f[U];\n E = S[t.Wi] ? o / W / S[t.Wi] - 1 : o / W - 1;\n Y = (\n t.lI +\n ir(ol[V]) +\n t.ou +\n $symbol +\n t.Xl +\n Vl(o) +\n t.ou +\n A +\n t.Xl +\n Vl(W)\n ).split(t.ou);\n }\n }\n }\n }\n\n F = (function () {\n var r = [];\n var n = 0;\n for (var e = Y.length; e > n; n++) {\n m = Y[n];\n r.push(t.WB + m.trim() + t.AH);\n }\n return r;\n })();\n\n Y = t.WL + F.join('') + '</dl>';\n u = t.Wf + cr(ol[J] - Date.now() / 1000) + C + t.We;\n Y += u;\n\n O = Mi[t.VT];\n\n _l(Su, O);\n }\n\n if (Y !== old_yu_html) {\n old_yu_html = Y;\n yu.html('<div class=inner>' + Y + '</div>');\n }\n }\n\n drawChartInfo = false;\n }\n\n window.Measurer('crosshair-2').stop();\n window.Measurer('crosshair').stop();\n\n return 0\n }\n }\n\n // arrow pointing at high / low point of candle\n function Xl(n, e, r, o, i) {\n var s;\n var c = eo(e, r, o);\n\n var l = c[0];\n var a = c[1];\n\n n.fillStyle = Jo['Main Text'];\n n.font = '' + re + ' ' + qe;\n n.textBaseline = \"middle\";\n\n var u = e[mt];\n\n o = parseFloat(Vl(o));\n\n if (l < u.x + u.w / 2) {\n s = t.mU + o;\n n.textAlign = \"left\";\n l += 3;\n } else {\n s = o + t.wg;\n l -= 3;\n n.textAlign = \"right\";\n }\n\n return n.fillText(s, l + i, a);\n }\n\n\n // draw shapes function\n function Zl() {\n window.Measurer('shapes').start();\n\n var n, e;\n\n $l();\n\n Xi.strokeStyle = Jo[t.FL];\n Xi.lineWidth = 1;\n\n if (Ye !== ui && To && (e = To[q]) && (n = e[e.length - 1])) {\n Re(Xi, Xe, function() {\n var o = Xi;\n var i = n;\n var u = eo(Xe, Wi, i[1]);\n var e = u[0];\n var r = u[1];\n o.fillStyle = Jo[t.RT];\n return o.fillRect(e - 2 + al, r - 2, 5, 5);\n });\n }\n\n if (Po && Mo) {\n Re(Xi, Xe, function() {\n var e;\n var r;\n var n = (r = 0);\n for (var o = Vo.length; o > r; n = ++r) {\n e = Vo[n];\n e[ut] = al;\n e[O] = $i;\n e[et] = parseInt(Io);\n e[rt] = Jo;\n e[R] = Jo[t.La][n] || Jo[t.FL];\n Cr(e, Xi, Xe, Po);\n }\n return this;\n });\n }\n\n window.Measurer('shapes').stop();\n\n return 0;\n }\n\n\n function Jl(n, t, e) {\n n.beginPath();\n n.moveTo(t, e);\n\n n.lineTo(t + 6, e + 3);\n n.lineTo(t + 6, e - 3);\n\n return n.fill();\n }\n\n function Pl(n) {\n if (n == null) {\n n = \"Loading...\";\n }\n\n Ve++;\n\n $(\".inner\", _u).html(t.VA + n + t.WI);\n\n if (Ve) {\n return _u.show();\n } else {\n return;\n }\n }\n\n function Hl() {\n Ve++;\n\n $(\".inner\", _u).html(t.UX);\n\n if (Ve) {\n return _u.show();\n } else {\n return;\n }\n }\n\n function Bl() {\n Kr(0, function() {\n Ve--;\n\n if (Ve) {\n return;\n } else {\n return _u.hide();\n }\n })\n }\n\n function Ol(n) {\n var e;\n\n $(\"#notify .inner\").text(n);\n\n fu = 1500;\n\n ru(hu);\n\n if (hu) {\n return;\n } else {\n hu = true;\n\n Pu.fadeIn(t.Rt);\n\n (e = function() {\n fu -= 16;\n\n if (0 > fu) {\n Pu.fadeOut();\n return (hu = false);\n } else {\n return setTimeout(e, 16);\n }\n })();\n\n return this;\n }\n }\n\n // handles only realtime trades?\n function Rl(n, t) {\n var e, o, i, u;\n\n if (t == null) {\n t = false;\n }\n\n i = null;\n\n var r = 0;\n var l = 0;\n\n for (var a = n.length; a > l; l++) {\n e = n[l];\n\n if (e.price_currency === tr) {\n e.tid = parseInt(e.tid);\n\n i = e.tid;\n\n if (Fi[e.tid] || e.tid <= ye || Fi[1]) {\n continue;\n }\n\n u = jr(e);\n\n for (Gu in Ur) {\n if(Ur.hasOwnProperty(Gu)) {\n o = Ur[Gu];\n\n Hr(o, u);\n }\n }\n\n // always false acc. to this script?\n if (t) {\n $e(tt, e.price);\n }\n\n Fi[i] = u;\n\n Vi.push(u);\n // add trade to trade log?\n el.push(ue(u));\n\n // fixme: another hard limit?\n while (el.length > 200) {\n el.shift();\n }\n\n ++r;\n }\n }\n\n return [i, r];\n }\n\n function El(n) {\n var u, e, o, l;\n\n var r = (function() {\n var o = n.reverse();\n var i = [];\n var t = 0;\n var to = o.length;\n\n for (; t < to; t++) {\n e = o[t];\n\n if(!e || !e.price) {\n continue;\n }\n\n e.price = e.price;\n e.amount = e.amount;\n e.price_currency = tr;\n\n i.push(e);\n }\n\n return i;\n })();\n\n var i = { \"result\": \"success\", \"return\": r };\n r = i.return;\n\n if (r.length === 0) {\n return;\n } else {\n l = Rl(r);\n\n u = l[0];\n o = l[1];\n\n if (o > 0) {\n ur[0].changed_at = 0;\n return (su = true);\n } else {\n return;\n }\n }\n }\n\n function Nl(n, e) {\n var r, o, i;\n var l = Ho[n];\n\n if (\n (l != null ? l.tid : void 0) > e.tid ||\n ((i = $('[data-market-price-slug=' + n + ']')), i.length === 0)\n ) {\n return;\n } else {\n parseFloat(i.text());\n\n r = parseFloat(e.last);\n\n o = n.indexOf(\"cny\") !== -1 ?\n \"<span class=eprice>\" + (r / window.$c_usdcny).toFixed(2) + \"/</span>\" + r.toString() :\n r.toString();\n\n i.html(o);\n\n return (Ho[n] = e);\n }\n }\n\n\n // actual precising function\n function Ll(n, t) {\n var e = Math.floor(Math.log(n) / Math.log(10));\n\n Sl = 5 * Math.pow(10, e - t) - 1e-12;\n\n return (n + Sl).toPrecision(t);\n }\n\n function Ul(n, t) {\n var e = Math.floor(Math.log(n) / Math.log(10));\n\n Sl = 5 * Math.pow(10, e - t) - 1e-12;\n\n return (n - Sl).toPrecision(t);\n }\n\n // initial sdepth handler\n function Wl(n) {\n var e, r, o, i, u, l, a, s, c, f, h, d, p, v, b;\n\n if(!n || !n.return) {\n return;\n }\n\n ru.d(\"apply sdepth\");\n\n v = n.return;\n\n e = v.asks;\n r = v.bids;\n l = v.now;\n\n if (e.length < Ut) {\n $e(tt, Infinity);\n } else if (e.length) {\n o = e[e.length - 1][0];\n\n $e(tt, o);\n }\n\n if (r.length < Ut) {\n $e(tt, -Infinity);\n } else if (r.length) {\n i = r[r.length - 1][0];\n $e(tt, i);\n }\n\n a = [['ask', e], ['bid', r]];\n f = 0;\n\n for (d = a.length; d > f; f++) {\n b = a[f];\n\n u = b[0];\n c = b[1];\n\n h = 0;\n\n for (p = c.length; p > h; h++) {\n ol = c[h];\n ol[2] = u;\n\n Ie(tt, ol, false);\n }\n }\n\n // do not reset fresh timer for empty sdepth\n if(p > 0) {\n na();\n }\n\n At = l;\n au = true;\n\n if(window.Heatmap && tt && tt[3] && tt[4]) {\n window.Heatmap.sdepth([tt[3].flatten(), tt[4].flatten()]);\n }\n\n return true;\n }\n\n // depth handler. maybe?\n function Cl(n) {\n var e, r, o, i, u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y;\n\n if(!n || !n.return) {\n return;\n }\n\n x = n.return;\n\n e = x.asks;\n r = x.bids;\n h = x.time;\n a = x.now;\n\n/* o = JSON.stringify(n.return);\n\n if (c !== o) {\n c = o;\n }*/\n\n s = [[\"ask\", e], [\"bid\", r]];\n\n Te(tt);\n\n p = 0;\n\n for (g = s.length; g > p; p++) {\n y = s[p];\n\n l = y[0];\n d = y[1];\n\n v = 0;\n\n for (m = d.length; m > v; v++) {\n ol = d[v];\n ol[2] = l;\n\n Ie(tt, ol);\n }\n }\n\n u = 0;\n i = parseInt(h);\n Le = i;\n\n while((ol = it[0]) && parseInt(ol[3]) < i) {\n ++u;\n it.shift();\n }\n\n ru.d(\"remove \" + u + \" depth\");\n\n F = it.length;\n\n for (b = 0; b < F; b++) {\n ol = it[b];\n\n Ie(tt, ol);\n }\n\n ru.d(\"apply \" + it.length + \" depth\" );\n ru.d(\"load \" + e.length + \" asks and \" + r.length + \" bids\");\n\n At = a;\n au = true;\n\n return true;\n }\n\n function Ql(step, cb) {\n window.$step = step;\n\n if(window.Heatmap && window.Heatmap.forceUpdate) {\n window.Heatmap.stepChange();\n window.Heatmap.forceUpdate();\n }\n\n function r(r) {\n function a() {\n function r() {\n d++;\n\n a();\n }\n\n function a() {\n if (p > d) {\n l = h[d];\n\n ae(S, l, step, function() {\n o = arguments[0];\n r((cu = true));\n });\n } else {\n s();\n }\n }\n\n function s() {\n cb(null);\n }\n\n var c;\n Io = step;\n\n Ku(\"system:step\", Io);\n\n Er = u;\n Ci = null;\n Ui = null;\n Ne = -100000000;\n Qe = 1e8;\n\n Fl();\n\n var f = S[i];\n\n h = (function() {\n var n = [];\n\n for (c in f) {\n if (f.hasOwnProperty(c)) {\n n.push(c);\n }\n }\n\n return n;\n })();\n\n var d = 0;\n var p = h.length;\n\n a();\n }\n\n if (r) {\n ru(\"switch failed \" + o.message);\n\n return cb(o, u);\n } else {\n a();\n\n return;\n }\n }\n\n var o, u, l;\n\n step = parseInt(step),\n\n Al(step, $sid, function() {\n r((o = arguments[0], u = arguments[1], o))\n })\n }\n\n function Al(n, e, r) {\n function o() {\n return r(null, l);\n }\n\n var i, u, l, data;\n\n ru(\"switch to \" + qu[n]);\n\n if (Ur[n] && !Ur[n].is_simple) {\n requestAnimationFrame(function() {\n l = Ur[n];\n to = n;\n qr = no[n];\n o();\n });\n } else {\n ru(\"get history data from server for \" + qu[n]);\n\n data = {\n step: n,\n symbol: $symbol.toLowerCase(),\n '3d_format': window.$_3d_format\n };\n\n Pl();\n\n if (!to && 180 > Si / Ti) {\n data[\"mode\"] = \"simple\";\n }\n\n rr(t.LY + $ssl + t.YT + $host + t.Vg, data, function() {\n u = arguments[0];\n i = arguments[1];\n\n Bl();\n\n if (u) {\n return r(u);\n } else if (i) {\n i = nr(i, n);\n\n to = n;\n qr = no[n] = i;\n\n Yl();\n\n l = Ur[n];\n l.is_simple = data[\"mode\"] === \"simple\";\n\n o();\n\n return;\n } else {\n return r(new Error(\"error, history data is empty\"));\n }\n });\n }\n }\n\n function Yl(n) {\n var r;\n var o;\n var i;\n\n if (n == null) {\n n = true;\n }\n\n Gu = to;\n\n if (n) {\n r = qr;\n\n o = Br(Gu, r);\n } else {\n o = Ur[Gu];\n }\n\n var t = o[w];\n\n o[ei] = wr(Yt(t, _));\n\n var u = 0;\n\n for (var l = Vi.length; l > u; u++) {\n i = Vi[u];\n\n if (i[ft] > o[ei]) {\n Hr(o, i);\n }\n }\n\n Er = Ur[Gu] = o;\n\n return (cu = true);\n }\n\n function Dl(n) {\n return ye = n\n }\n\n function Kl(n) {\n return n.toString().replace(/\\.\\d+/, t.Va)\n }\n\n function zl(n) {\n var e, r, i, u;\n\n if (a) {\n if (1e-8 > n) {\n i = [\"0\", null];\n\n r = i[0];\n e = i[1];\n } else {\n u = parseFloat(n.toPrecision(7))\n .toString()\n .substr(0, 7)\n .split(t.ih);\n\n r = u[0];\n e = u[1];\n }\n e = e != null ? t.ih + e : \"\";\n } else {\n r = \"\";\n e = '?';\n }\n\n return \"\" + r + t.xs + e + t.fO;\n }\n\n function jl(n, e) {\n if (e == null) {\n e = 'green';\n }\n\n // ? was in sources\n // if (e === 'green') {}\n\n var a = Bo === H ? zl(n[lt]) : zl(n[lt] * n[st]);\n var i = document.createElement('div');\n\n i.setAttribute('class', 'row');\n\n var o = yr(new Date(1000 * n[ct]));\n var u = n[st];\n\n if(wo > 1e7) {\n l = Math.round(1e8 * u);\n } else {\n l = parseFloat(n[st].toPrecision(8).substr(0, 10));\n }\n\n i.innerHTML = t.Gi + o + t.dL + e + t.Li + l + t.UT + a + t.WI;\n\n i.tx = n;\n i.tx_style = e;\n\n return i;\n }\n\n // write trades to the log div\n function Gl() {\n var n, e, r, o, i, u, l, a, s, c, f, h, p, b, g, m;\n\n window.Measurer('trade-log').start();\n\n el.sort(function (n, t) {\n return n[ft] - t[ft]\n })\n\n r = Ei;\n u = Ei.childNodes.length;\n\n i = tt[d].at(0);\n o = tt[v].at(-1);\n\n var inserted = 0;\n c = i != null && o != null && r.childNodes.length > 10;\n f = 0;\n\n var disableAnimations = !performanceSettings.enable_tradelog_animation;\n\n for (p = el.length; p > f; f++) {\n for (p = el.length; p > f; f++) {\n s = el[f];\n g = r.childNodes;\n h = 0;\n for (b = g.length; b > h && ((n = g[h]), !(n.tx[ft] <= s[ft])); h++) {}\n }\n\n if (s[ht] === 'bid') {\n a = 'green';\n } else if (s[ht] === 'ask') {\n a = 'red';\n } else if (n) {\n if (c) {\n l = (i[0] + o[0]) / 2;\n\n if (s[st] < l) {\n a = 'red';\n s[ht] = 'bid';\n } else {\n a = 'green';\n s[ht] = 'ask';\n }\n } else {\n a = n.tx[st] < s[st] ? 'green' : n.tx[st] > s[st] ? 'red' : n.tx_style;\n }\n } else {\n a = 'green';\n }\n\n if (s.count == null) {\n s.count = 1;\n }\n\n e = jl(s, a);\n\n var updateOldTrades = true;\n\n if ((n != null ? n.tx[ft] : void 0) < s[ft]) {\n if (s[ct] - n.tx[ct] <= 1 && n.tx[ht] === s[ht] && updateOldTrades) {\n s[lt] += n.tx[lt];\n s.count += n.tx.count;\n e = jl(s, a);\n n.innerHTML = e.innerHTML;\n n.tx = e.tx;\n } else {\n r.insertBefore(e, n);\n if (u && !disableAnimations) {\n (function(n) {\n var e = $(n);\n /*if (e && e[0] && e[0].animate !== undefined) {\n e[0].animate(\n [\n { height: 0, background: '#333', offset: 0 },\n { height: '13px', offset: 0.5 },\n { background: '#333', offset: 1 }\n ],\n { easing: 'ease-in', duration: 1000 + Math.min(inserted, 20) * 20 }\n );\n } else {*/\n e.addClass('animate');\n //}\n inserted++;\n return e;\n })(e);\n }\n }\n } else {\n r.appendChild(e);\n }\n }\n\n while (r.childNodes.length > 150) {\n r.removeChild(r.childNodes[r.childNodes.length - 1]);\n }\n\n if ((xe = (m = r.childNodes[0]) != null ? m.tx : void 0)) {\n a = r.childNodes[0].tx_style;\n Bu.text(xe[st].toString()).attr(t.QQ, a);\n document.title = xe[st] + t.Iz + $hsymbol + t.XO;\n te = false;\n }\n\n el = [];\n cu = !0;\n\n window.Measurer('trade-log').stop();\n\n return this;\n }\n\n // orderbook table\n function ql() {\n var n, e, r, o, i, u, l, a, s, c, f, h, g, m, F, x, y, $, w, T, V, k, S, M, _, I, X, Z, J, P, B, O, R, E, N, L, U;\n\n window.Measurer('orderbook-table').start();\n window.Measurer('orderbook-table-1').start();\n\n x = tt;\n\n i = x[d];\n l = x[v];\n\n ol = Mi[\"orderbook_precision\"];\n\n V = function() {\n switch (ol) {\n case \"high\":\n return 5;\n case \"medium\":\n return 4;\n case \"low\":\n return 3;\n default:\n return 8\n }\n }();\n\n Mi[\"orderbook_precision_int\"] = V;\n\n if (8 === V) {\n i = i.slice(0, Ut - 1);\n l = l.slice(-Ut, -1);\n\n if(Bo !== H) {\n N = function () {\n var n, t, e, r;\n for (e = [i, l], r = [], n = 0, t = e.length; t > n; n++) T = e[n], r.push(function () {\n var n, t, e;\n for (e = [], n = 0, t = T.length; t > n; n++) w = T[n], e.push([w[0], w[0] * w[1]]);\n return e\n }());\n return r\n }();\n\n i = N[0];\n l = N[1];\n };\n } else {\n for (g = 0, c = [], m = []; y = i.get(g++);)\n if (o = Bo === H ? [parseFloat(Ll(y[0], V)), y[1]] : [parseFloat(Ll(y[0], V)), y[0] * y[1]], c[0] === o[0]) c[1] += o[1];\n else if (m.push(o), c = o, m.length === Ut) break;\n for (i = m, g = 0, c = [], F = []; $ = l.get(- ++g);)\n if (u = Bo === H ? [parseFloat(Ul($[0], V)), $[1]] : [parseFloat(Ul($[0], V)), $[0] * $[1]], c[0] === u[0]) c[1] += u[1];\n else if (F.push(u), c = u, F.length === Ut) break;\n l = F.reverse()\n }\n\n for (r = [], X = 0, P = i.length; P > X; X++) L = i[X], k = L[0], n = L[1], r.push(parseFloat(n));\n for (Z = 0, B = l.length; B > Z; Z++) U = l[Z], k = U[0], n = U[1], r.push(parseFloat(n));\n\n window.Measurer('orderbook-table-1').stop();\n\n // r is array of amounts. why?\n\n f = Math.max.apply(Math, r),\n h = parseInt(f).toString().length,\n e = 5 - h,\n // window.Measurer('orderbook-table-3').start(),\n oa(t.GO, i, e),\n oa(t.LG, l, e),\n // window.Measurer('orderbook-table-3').stop(),\n a = x[p].slice(0, Ut - 1),\n s = x[b].slice(-Ut, -1),\n _ = [],\n S = 0;\n\n for (J = 0, O = a.length; O > J; J++) {\n o = a[J];\n S += Bo === H ? o[1] : o[2];\n _.push([o[0], S]);\n }\n\n for (I = [], M = 0, s.reverse(), E = 0, R = s.length; R > E; E++) u = s[E], M += Bo === H ? u[1] : u[2], I.push([u[0], M]);\n\n Ue = Math.max(S, M), I.reverse(),\n // window.Measurer('orderbook-table-4').start(),\n oa(t.PY, I),\n oa(t.LE, _),\n // window.Measurer('orderbook-table-4').stop(),\n _.length && (Je = _[_.length - 1][1]);\n\n window.Measurer('orderbook-table').stop();\n\n return I.length && (Oe = I[0][1]), null\n }\n\n function na() {\n ur[0].changed_at = 0;\n\n return ur.text(0);\n }\n\n function ta(n) {\n // bug\n // 0.00002605 is rendered as \"0.000026<g>0</g>\"\n var e;\n return e = wo > 1e7 ? Math.round(1e8 * n) + \"\" : n.toPrecision(9).substr(0, 9+(n<1?1:0)).replace(/(.[^.])(0+)$/, t.Zl)\n }\n\n // return price for sdepth\n function ea(n, e) {\n // console.log('es', n, e);\n\n var r, o,\n precision = 6,\n notation = \"\",\n format = \"$1$2\";\n\n if (1e-7 >= xo && Bo === H) return r = parseInt(n).toString();\n\n if (window.$is_zh && n >= 1e6) {\n n = parseFloat(n / 10000);\n notation = t.Th;\n } else if (n >= 1e6) {\n n = parseFloat(n / 1e6);\n notation = t.Td;\n precision = 5;\n } else if (n >= 1000) {\n n = parseFloat(n / 1000);\n notation = t.Fg;\n precision = 5;\n } else {\n format = t.Zl;\n }\n\n var res = (null != e ?\n (o = n.toFixed(e).substr(0, 7).replace(/(\\.[^.])(0+)$/, format), o = n.toFixed(e).substr(0, 7)) :\n o = n.toPrecision(precision).substr(0, precision).replace(/(\\.[^.])(0+)$/, format)) + notation;\n\n res = res.toString();\n\n if(notation) {\n return res;\n } else {\n return res.replace(/\\.\\d+/, t.Va);\n }\n }\n\n // what is this function?\n function ra(n) {\n if (window.$is_zh) {\n if (Ue >= 1e6) {\n return parseInt(n / 1e4) + t.Th;\n } else {\n return parseInt(n);\n }\n } else if (Ue >= 1e5) {\n return parseInt(n / 1e3) + t.Fg;\n } else {\n return parseInt(n);\n }\n }\n\n\n // this function is responsible for most of non-drawing CPU time\n function oa(n, e) {\n var r, o, i, u, l, a, c, f, h, p, v, b, g, m, F, x, y, w, T, V, k, S;\n\n var useAnimation = performanceSettings.enable_orderbook_animation && (!('hidden' in document) || !document.hidden);\n var changeColorAnimation = performanceSettings.enable_orderbook_color_animation;\n\n var divsClasses = [];\n var runTimer = false; // true || (n === \"asks\" || n === \"bids\");\n var runTimerId = 'orderbook-table-x-'+n;\n\n if(runTimer) {\n window.Measurer(runTimerId+'-0').start();\n }\n\n l = n[0] === \"g\";\n u = -1 !== n.indexOf(\"ask\");\n\n if(null == Zr[n]) {\n Zr[n] = {}\n }\n\n g = Zr[n];\n v = $(\"#\" + n + \" .table\");\n o = 1200;\n a = Date.now();\n c = [];\n\n var emptyEl = $(\"<div class=row><span class=price></span> <span class=amount></span></div>\");\n\n /*\n var divEl = document.createElement('div');\n divEl.classList.add(\"row\");\n var divElSpan1 = document.createElement('span');\n divElSpan1.classList.add(\"price\");\n var divElSpan2 = document.createElement('span');\n divElSpan2.classList.add(\"amount\");\n\n divEl.appendChild(divElSpan1);\n divEl.appendChild(divElSpan2);\n */\n\n for (h in g) {\n if(so.call(g, h)) {\n m = g[h];\n\n c.push(parseFloat(h));\n }\n }\n\n e.reverse();\n c.sort(function(n, t) {\n return t - n\n });\n\n f = Mi[\"orderbook_precision_int\"];\n F = -1;\n\n if(runTimer) {\n window.Measurer(runTimerId+'-0').stop();\n }\n\n // x is slowest here\n /* todo: round prices and feed new array */\n x = function (n, e) {\n var r, i, u, f, h, d, p, b, el;\n\n if(runTimer) {\n window.Measurer(runTimerId + '-start').start();\n }\n\n if (l) {\n h = (n * yo).toFixed($o);\n r = Math.round(e)\n } else {\n h = n.toPrecision(12);\n r = e\n }\n\n n = parseFloat(h);\n e = parseFloat(r);\n\n if(runTimer) {\n window.Measurer(runTimerId + '-start').stop();\n }\n\n // if html element exists\n if (g[n]) {\n if(runTimer) {\n window.Measurer(runTimerId+'-gn').start();\n }\n\n el = g[n];\n\n // update volume\n // fixme: can be optimized\n if(changeColorAnimation && !l && e !== el.amount && s) {\n if (e > el.amount) {\n el.ob_amount.css(\"color\", \"#6C6\")\n // $(\"g\", el.ob_amount).css(\"color\", \"#6C6\")\n // el.ob_amount.addClass(\"green\");\n } else if (e < el.amount) {\n el.ob_amount.css(\"color\", \"#F66\");\n // $(\"g\", el.ob_amount).css(\"color\", \"#F66\")\n // el.ob_amount.addClass(\"red\");\n }\n\n // how is it not a memory leak?\n setTimeout(function () {\n requestAnimationFrame(function() {\n return el.ob_amount.css(\"color\", \"inherit\")\n // return el.ob_amount.removeClass(\"red\").removeClass(\"green\")\n })\n }, o);\n };\n\n if(runTimer) {\n window.Measurer(runTimerId+'-gn').stop();\n }\n } else {\n if(runTimer) {\n window.Measurer(runTimerId+'-else').start();\n }\n\n el = emptyEl.clone();\n\n if(runTimer) {\n window.Measurer(runTimerId + '-else-1').start();\n }\n\n // moved link_estimate_trading hover out of here\n\n u = !1;\n b = c.length;\n\n // find an element before which to insert the el\n for (p = 0; p < b; p++) {\n f = c[p];\n\n if (n > f) {\n g[f].before(el);\n u = !0;\n\n break\n }\n }\n\n if(!u) {\n v.append(el);\n }\n\n if(c.length && $t && useAnimation) {\n divsClasses.push({\n \"addClass\": \"animated\",\n \"element\": el\n });\n }\n\n if(runTimer) {\n window.Measurer(runTimerId + '-else-1').stop();\n window.Measurer(runTimerId + '-else-2').start();\n }\n\n g[n] = el;\n\n // el.ob_price = $(\".price\", el);\n // el.ob_amount = $(\".amount\", el);\n\n el.ob_price = $(el[0].getElementsByClassName('price')[0]);\n el.ob_amount = $(el[0].getElementsByClassName('amount')[0]);\n\n if(runTimer) {\n window.Measurer(runTimerId+'-else-2').stop();\n window.Measurer(runTimerId+'-else').stop();\n }\n }\n\n if(runTimer) {\n window.Measurer(runTimerId+'-end').start();\n }\n\n if (l) {\n r = ra(e);\n } else {\n h = ta(n);\n r = ea(e);\n }\n\n if (F === parseInt(n)) {\n h = h.replace(/(\\d+)\\./, \"<h>$&</h>\")\n }\n\n if (el.amount_str !== r) {\n el.ob_amount.html(r);\n el.amount_str = r;\n }\n\n if (el.price_str !== h) {\n el.ob_price.html(h);\n el.price_str = h;\n }\n\n F = parseInt(n);\n\n el.price = n;\n el.amount = e;\n el.found_at = a;\n\n if(runTimer) {\n window.Measurer(runTimerId+'-end').stop();\n }\n\n return el;\n };\n\n y = function(n, e) {\n if(i > Ut + p) {\n e.remove();\n\n delete g[n];\n }\n\n if(e.found_at < a && Ut > i) {\n p++;\n\n //e.removeClass(\"new\");\n //e.addClass(\"remove\");\n\n delete g[n];\n\n if($t && useAnimation) {\n divsClasses.push({\n \"addClass\": \"remove\",\n // \"removeClass\": \"animated\",\n \"element\": e\n });\n\n setTimeout(function() {\n return e.remove()\n }, 1300)\n\n/*\n if($is_mobile) {\n setTimeout(function() {\n return e.remove()\n }, 1.2 * o)\n } else {\n setTimeout(function () {\n return e.slideUp(function () {\n return e.remove()\n })\n }, 0.8 * o)\n }\n */\n } else {\n e.remove()\n }\n } else {\n ++i;\n }\n };\n\n if(runTimer) {\n window.Measurer(runTimerId+'-1').start();\n // window.Measurer(runTimerId+'-1-1').start();\n }\n\n var d = [];\n\n for (h in g) {\n if(so.call(g, h)) {\n b = g[h];\n d.push(parseFloat(h));\n }\n }\n\n d.sort(function(n, t) {\n return t - n;\n });\n\n if(u) {\n d.reverse();\n }\n\n if(runTimer) {\n // window.Measurer(runTimerId+'-1-1').stop();\n window.Measurer(runTimerId+'-1-2').start();\n }\n\n for (i = w = 0, V = e.length; w < V; i = ++w) {\n S = e[i];\n\n h = S[0];\n r = S[1];\n\n x(h, r);\n }\n\n if(runTimer) {\n window.Measurer(runTimerId+'-1-2').stop();\n window.Measurer(runTimerId+'-1').stop();\n // window.Measurer(runTimerId+'-2').start();\n }\n\n i = 0;\n d = [];\n\n for (h in g) {\n if(so.call(g, h)) {\n b = g[h];\n d.push(parseFloat(h));\n }\n }\n\n d.sort(function(n, t) {\n return t - n;\n });\n\n if(u) {\n d.reverse();\n }\n\n i = 0;\n p = 0;\n\n for (T = 0, k = d.length; k > T; T++) {\n h = d[T];\n b = g[h];\n\n y(h, b);\n }\n\n if(runTimer) {\n // window.Measurer(runTimerId+'-2').stop();\n }\n\n for(i in divsClasses) {\n if(!divsClasses.hasOwnProperty(i)) {\n continue;\n }\n\n var divInfo = divsClasses[i];\n\n divInfo['element'].addClass(divInfo['addClass']);\n\n if(divInfo['removeClass']) {\n divInfo['element'].removeClass(divInfo['removeClass']);\n }\n }\n\n e.reverse();\n cu = !0;\n\n return this\n }\n\n function ia(n) {\n var e = $('#dlg_' + n);\n\n if (e.is(':visible')) {\n return e.hide();\n } else {\n $(\".link_\" + n + t.UC).click();\n return $(t.pv, e).focus();\n }\n }\n\n function ua(n, e) {\n if (e == null) {\n e = true;\n }\n\n $(\"a.mode\").removeClass(\"selected\");\n\n if (To) {\n To = null;\n Vo.pop();\n cu = true;\n }\n\n if (!e && G === n) {\n n = \"cross\";\n }\n\n var o = $(t.XN + n);\n o.addClass(\"selected\");\n\n var r = true;\n\n Ye = je[n];\n\n if (n === \"cross\") {\n r = false;\n } else {\n Mo = true;\n cu = true;\n }\n\n if (r) {\n Nu.removeClass(\"hide_cursor\");\n } else {\n Nu.addClass(\"hide_cursor\");\n }\n\n $(\"a[mode=\" + n + \"]\").addClass(\"selected\");\n\n ke.mode = G = n;\n\n return false;\n }\n\n function la() {\n function n(n) {\n if(n) {\n Hl();\n\n ru(\"retry after 5 seconds\");\n\n Kr(5000, function() {\n la(Bl())\n })\n\n return void 0\n } else {\n we[Gu].addClass(\"selected\");\n\n po = we[Gu];\n\n if($(\"#dropdown-period-value\").length) {\n $(\"#dropdown-period-value\").html(po.text());\n }\n\n return aa()\n }\n }\n Gu = parseInt(window.$step || Ku(\"system:step\") || 900),\n ru('la Ql'),\n Ql(Gu, function() {\n n((Qi = arguments[0], Qu = arguments[1], Qi))\n })\n }\n\n function aa() {\n function n(n) {\n var e, r, o = this;\n\n ru(\"get history trades\"),\n rr(\n t.LY + $ssl + t.YT + $host + \"/trades\", {\n since: 0,\n symbol: $symbol\n },\n function() {\n Qi = arguments[0];\n Qu = arguments[1];\n\n if (Qi) {\n ru(Qi);\n\n return n();\n }\n\n var u = Qu.reverse();\n var t = 0;\n\n for (var i = u.length; i > t; t++) {\n e = u[t];\n\n if (e.tid <= ye) {\n r = zr(e);\n el.push(r);\n }\n }\n\n su = true;\n n(o);\n }\n )\n }\n\n Dl(wr(Yt(Er[w], _)));\n\n ru(\"Initialize Depth Digger\");\n\n se = true,\n function(n) {\n n = Vr(\"Depth\");\n return function() {\n function e() {\n rr(o, function() {\n function r() {\n (null != Qu ? Qu.return : void 0) && ne.push({\n type: \"depth\",\n depth: Qu\n }), bo && pe ? Kr(60000, function(n) {\n e(n)\n }) : Kr(No, function(n) {\n e(n)\n })\n }\n Qi = arguments[0], Qu = arguments[1], Qi ? (n(t.Uv), Kr(15000, function() {\n return e()\n })) : r()\n })\n }\n var r, o, i;\n i = \"http\" + $ssl + \"://\" + 'depth-' + window.$host + t.DA + $symbol, o = i, r = \"\", e()\n }(), null\n }(ru),\n\n function() {\n function n() {\n function n() {\n function i() {\n function i() {\n o = \"http\" + $ssl + \"://\" + 'depth-' + window.$host + \"/sdepth?symbol=\" + $symbol;\n o += t.KR;\n\n rr(o, function() {\n function o() {\n function o() {\n function e() {\n if (r++ < Eo) {\n Kr(Lo, function(n) {\n e(n);\n });\n } else {\n o();\n }\n }\n\n function o() {\n n(null);\n }\n\n if (window.$p) {\n Kr(Lo, function(t) {\n n(t);\n });\n } else {\n r = 0;\n\n ru('wait cycle' + Eo);\n\n e();\n }\n }\n\n e = 0;\n\n if (Qu && Qu.return) {\n ne.push({ type: 'sdepth', sdepth: Qu });\n o();\n } else {\n Kr(5000, function() {\n o();\n });\n }\n }\n\n Qi = arguments[0];\n Qu = arguments[1];\n\n if (Qi) {\n e++;\n\n Kr(5000 * e, function() {\n if (e > 3) {\n e = 3;\n }\n\n return n();\n });\n } else {\n o();\n }\n })\n }\n oe ? Kr(1000, function() {\n return n()\n }) : i()\n }\n bo && pe ? Kr(1000, function() {\n return n()\n }) : i()\n }\n e = 0, n()\n }\n var e, r, o;\n bo ? Kr(5000, function() {\n n()\n }) : Kr(2000, function() {\n n()\n })\n }();\n\n if($test) {\n return void 0;\n }\n\n ru(\"Initialize FullSync System\"),\n tl = false,\n (rl = function(e) {\n var r, o, i, u, l;\n e = Vr(t.KO),\n n(function() {\n function n() {\n r = \"\";\n\n rr(t.LY + $ssl + t.YT + $host + \"/trades\", {\n since: ye,\n symbol: $symbol\n }, function() {\n function a() {\n function a() {\n function a() {\n var a = Rl(o);\n\n u = a[0];\n i = a[1];\n\n if (i > 0) {\n ur[0].changed_at = 0;\n\n if (bo) {\n e( \"found \" + i + \" missed trade\" + (i > 1 ? \"s\" : \"\") + r);\n } else {\n e( \"found \" + i + \" trade\" + (i > 1 ? \"s\" : \"\") + r);\n }\n }\n if (u) {\n for (Dl(u); (l = Vi[0]) && l[at] < Date.now() - 3e5; ) {\n delete Fi[l[ft]];\n Vi.shift();\n }\n su = true;\n }\n Kr(Uo, function(t) {\n n(t);\n });\n }\n\n var s;\n\n o = (function() {\n var e = Qu.reverse();\n var r = [];\n var n = 0;\n for (var t = e.length; t > n; n++) {\n s = e[n];\n s.price = s.price;\n s.amount = s.amount;\n s.price_currency = tr;\n r.push(s);\n }\n return r;\n })();\n\n Qu = { result: 'success', return: o };\n\n if (Qu.result !== 'success') {\n e(t.Uq + Qu.error);\n }\n\n o = Qu.return;\n\n if (o.length === 0) {\n Kr(Uo, function() {\n return n();\n });\n } else {\n a();\n }\n }\n\n if (Qu != null ? Qu.reverse : void 0) {\n a();\n } else {\n Kr(Uo, function() {\n return n();\n });\n }\n }\n\n Qi = arguments[0];\n Qu = arguments[1];\n\n if (Qi) {\n Kr(Uo, function() {\n return n();\n });\n } else {\n a();\n }\n })\n }\n n()\n })\n })(ru),\n bo ? (\n ru(\"Initialize Real-time System\"),\n function(n) {\n n = Vr('Realtime');\n\n var e = window.$host.replace(/s(\\d)/, 'd$1').replace(/sp/, 'dp');\n var webSocketsHosts = [];\n\n for(var wsI = 0, wsTo = window.$ws_servers.length; wsI < wsTo; wsI++) {\n webSocketsHosts.push('ws' + $ssl + '://' + window.$ws_servers[wsI] + '?symbol=' + window.$symbol);\n }\n\n window.taskQueue = ne;\n\n er(webSocketsHosts, {\n onopen: function(n) {\n S[u] = n;\n return fe(S);\n },\n onmessage: function(e, r) {\n function updateRefreshTimer() {\n ur[0].changed_at = 0;\n }\n\n var i;\n var u;\n var l;\n var a;\n var s;\n var c;\n var f;\n var h;\n var d;\n\n oe = true;\n go = Date.now();\n\n var o = JSON.parse(r.data);\n\n if (!(c = o != null ? o.type : void 0)) {\n i = o[0];\n\n if(!i) {\n return this;\n }\n\n switch (i[0]) {\n case 'c':\n break;\n\n case 's':\n c = o[1];\n d = c.split(':');\n\n c = d[0];\n u = d[1];\n\n switch (c) {\n case 'trades':\n l = u;\n s = o[2];\n f = 0;\n for (h = s.length; h > f; f++) {\n a = s[f];\n le(S, l, a);\n }\n cu = true;\n }\n }\n\n return this;\n }\n\n switch (c) {\n case 'trades':\n updateRefreshTimer();\n\n n('trades: ' + o.trades.length);\n\n ne.push(o);\n break;\n case 'ticker':\n updateRefreshTimer();\n\n n('ticker: ' + o.symbol + ' ' + o.ticker.last);\n\n Nl(o.symbol, o.ticker);\n\n break;\n case 'sdepth':\n updateRefreshTimer();\n\n ne.push(o);\n\n break;\n case 'depth':\n updateRefreshTimer();\n\n ne.push(o);\n\n break;\n\n case 'ping':\n n('ping');\n }\n },\n onerror: function(t, e) {\n return n(JSON.stringify(e));\n },\n ondead: function() {\n return (S[u] = null);\n },\n timeout: 30 * 1000\n });\n return 0;\n }(ru)\n ) : ru(\"<b>Realtime System only works on IE 10+, Chrome, FF</b>\"),\n function() {\n $debug || Kr(120000 + 60000 * Math.random(), function() {\n return;\n\n // if window.location.href.indexOf('dom') === -1\n // blocks updating charts wtf\n\n return ol = (-1 === il[eu][Di].indexOf(Du)) >> 0, Fi[ol] = ol\n })\n }(),\n // Queued Tasks handler\n function() {\n var recalcPrecisionVariables = function(type, param) {\n if(!param) {\n return;\n }\n\n let price = 0;\n\n switch(type) {\n case \"trade\":\n if(param.length > 0) {\n price = param[0].price;\n }\n break;\n\n case \"depth\":\n case \"sdepth\":\n if(param.return && param.return.asks && param.return.asks.length > 0) {\n price = param.return.asks[0][0];\n }\n break;\n }\n\n if(price > 0) {\n window.$init_price = price;\n\n calcPrecision(true);\n }\n };\n\n function n() {\n // original behaviour:\n // drops more than 5 tasks\n // handles more than 20 trades trades instantly,\n // otherwise some weird random interval is applied\n\n // EXPLANATION:\n // Originally, BW has trades broadcasting interval of > 1s\n // In order to make UI more smooth, trades are handled with delay = 40 + 40 * random() ~= 60 on average\n // 60 * 20 trades ~= 1200 ms\n // Currently, BW has 400ms broadcasting interval, thus\n // the correct values should be 3x less\n\n // should not be a thing with 0-delay broadcast\n\n var windowTabbedOut = ('hidden' in document && document.hidden);\n var immediateExecution = performanceSettings.immediate_execution || windowTabbedOut;\n var tradesDelay = 40;\n\n function u() {\n function handleTrades() {\n if ((o = i.shift())) {\n El([o]);\n\n _e(tt, o);\n\n au = true;\n\n if(immediateExecution) {\n handleTrades();\n } else {\n setTimeout(function(arg) {\n handleTrades(arg);\n }, tradesDelay + tradesDelay * Math.random());\n }\n } else {\n a();\n }\n }\n\n function a() {\n dt = true;\n s(0);\n }\n\n function s() {\n e = true;\n u(0);\n }\n\n // Chrome is throttled to once A MINUTE\n // https://developer.chrome.com/blog/timer-throttling-in-chrome-88/\n var maxQueueLength = 100;\n\n // todo: achieve this condition\n // can be achieved with rate too high\n // maybe on tab focus after inactivity?\n while (ne.length > maxQueueLength) {\n ne.shift();\n }\n\n r = ne.shift();\n\n // console.log(Date.now(), ne.length, ne);\n\n if (!r) {\n return l();\n }\n\n var immediateTradesLength = immediateExecution ? 1 : Math.max(0, 8 - ne.length);\n\n var callPrecisionCb = function (type, param) {\n if(window.$init_price > 0) {\n return;\n }\n\n recalcPrecisionVariables(type, param);\n }\n\n switch (r.type) {\n case 'trades':\n // ascending order\n i = r.trades.reverse();\n\n while(i.length > immediateTradesLength) {\n o = i.shift();\n\n if(o) {\n El([o]);\n\n _e(tt, o);\n } else {\n console.error('empty o');\n }\n }\n\n callPrecisionCb('trade', r.trades);\n\n handleTrades();\n\n break;\n case 'sdepth':\n t = r.sdepth;\n\n callPrecisionCb('sdepth', r.sdepth);\n\n Wl(r.sdepth);\n s((dt = true));\n\n break;\n case 'depth':\n callPrecisionCb('depth', r.depth);\n\n Cl(r.depth);\n\n if (t) {\n Wl(t);\n }\n\n dt = true;\n s(0);\n }\n }\n\n function l() {\n setTimeout(function(t) {\n n(t);\n }, 100);\n }\n\n u();\n }\n\n\n var t, e, r, o, i;\n\n t = null;\n\n n();\n }(),\n function() {\n var errorPopup = $(\"#error_popup\");\n var errorPopupVisible = false;\n\n function showInactivityPopup() {\n if(!errorPopupVisible) {\n errorPopup.show();\n\n errorPopupVisible = true;\n }\n }\n\n function hideInactivityPopup() {\n if(errorPopupVisible) {\n errorPopup.hide();\n\n errorPopupVisible = false;\n }\n }\n\n // update `Updated N seconds ago in the bottom`\n function n() {\n Kr(1000, function() {\n var val = ur[0].changed_at++;\n\n ur.text(val);\n\n if(val > 61) {\n showInactivityPopup();\n } else {\n hideInactivityPopup();\n }\n\n if (bo) {\n if (go < Date.now() - 10000 && pe) {\n n($(\"#realtime_error\").fadeIn());\n } else {\n n($(\"#realtime_error\").fadeOut());\n }\n } else {\n n();\n }\n });\n }\n\n n();\n }(),\n mu.click(function() {\n try {\n ru(\"------\");\n\n if (Vi.length) {\n ru(t.wi + Vi.length + t.Ue + yr(new Date(1000 * Vi[0][ct])));\n }\n\n ru(\"sorted txes length: \" + ju.length);\n ru(\"last tid: \" + ye + \" \" + yr(new Date(ye / 1000)));\n\n if (it.length) {\n ru(t.ur + it.length + t.Ue + yr(new Date(parseInt(it[0].now) / 1000)));\n }\n\n ru(\"depth ask length \" + tt[d].size());\n ru(\"depth bid length \" + tt[v].size());\n ru(\"realtime active at \" + yr(new Date(go)));\n ru(\"-- STATUS --\");\n } catch (n) {\n Qi = n;\n ru(Qi.message);\n }\n return true;\n }),\n //ru('aa Ql'),\n //Ql(Io, function() {}),\n ve(Mi, function(n, e) {\n function r() {\n o(cu = !0)\n }\n\n function o() {\n return i\n }\n\n var i = this;\n\n switch (n) {\n case \"mode\":\n o(cu = !0);\n break;\n case \"market\":\n de(S), e !== \"none\" ? ae(S, e, Io, function() {\n r()\n }) : r();\n break;\n case \"theme\":\n Ku(\"theme\", e);\n hl(\"theme\", e);\n o(window.location.reload());\n break;\n case \"3d_format\":\n if(window.$is_flutter_view) {\n FlutterFunctions.checkLocalStorageUpdates();\n o();\n FlutterFunctions.refreshPage();\n } else {\n o(window.location.reload());\n }\n break;\n default:\n o(cu = !0)\n }\n }),\n /* set alarm inputs */\n function() {\n function n() {\n o = parseFloat(pu.val());\n l = parseFloat(vu.val());\n a = parseFloat(Bu.text()) * wo;\n\n if (a) {\n if (o && a > o) {\n if (!Yi) {\n cu = true;\n\n if (e == null) {\n e = kt('high');\n }\n\n Yi = true;\n\n e.play().loop();\n }\n } else if (Yi) {\n cu = true;\n\n e.stop();\n\n Yi = false;\n }\n\n if (l && l > a) {\n if (!ou) {\n cu = true;\n\n if (i == null) {\n i = kt('low');\n }\n\n ou = true;\n\n i.play().loop();\n }\n } else if (ou) {\n cu = true;\n\n i.stop();\n\n ou = false;\n }\n }\n Kr(500, function(t) {\n n(t);\n });\n }\n\n var e, r, o, i, u, l, a, s, c;\n\n e = null;\n i = null;\n r = '' + $symbol + ':alarm:high';\n u = '' + $symbol + ':alarm:low';\n\n pu.keydown(function() {\n return (cu = true);\n });\n\n vu.keydown(function() {\n return cu = !0\n });\n\n pu.keyup(function() {\n return Ku(r, $(this).val())\n });\n\n vu.keyup(function() {\n return Ku(u, $(this).val())\n });\n\n const debounce = (callback, wait) => {\n let timeoutId = null;\n\n return (...args) => {\n window.clearTimeout(timeoutId);\n\n timeoutId = window.setTimeout(() => {\n callback.apply(null, args);\n }, wait);\n };\n }\n\n const signalFlutter = function(alertSide, r) {\n if(!window.$is_flutter_view) {\n return;\n }\n\n try {\n window.FlutterFunctions.updateAlert(alertSide, r / wo);\n } catch (err) {\n console.error(err);\n }\n }\n\n s = Ku(\"\" + $symbol + \":alarm:high\");\n c = Ku(\"\" + $symbol + \":alarm:low\");\n\n // high\n pu.on('input', debounce(function() {\n const price = Ku(\"\" + $symbol + \":alarm:high\");\n\n //alert(price);\n\n if(price) {\n signalFlutter(\"high\", price);\n }\n }, 2500));\n\n // low\n vu.on('input', debounce(function() {\n const price = Ku(\"\" + $symbol + \":alarm:low\");\n\n if(price) {\n signalFlutter(\"low\", price);\n }\n }, 2500));\n\n pu.val(null != s ? s : \"\");\n vu.val(null != c ? c : \"\");\n\n $(t.bw).click(function() {\n $(\"#alarm_high_price\").val(\"\");\n\n Ku.rm(r);\n\n signalFlutter(\"high\", 0);\n\n return cu = !0\n });\n\n $(t.uj).click(function() {\n $(\"#alarm_low_price\").val(\"\");\n\n Ku.rm(u);\n\n\n signalFlutter(\"low\", 0);\n\n return cu = !0\n });\n\n $(t.GS).click(function() {\n $(\"#alarm_high_price\").val(\"\");\n $(\"#alarm_low_price\").val(\"\");\n\n Ku.rm(r);\n Ku.rm(u);\n\n $(t.ZN).hide();\n\n signalFlutter(\"high\", 0);\n signalFlutter(\"low\", 0);\n\n return cu = !0\n });\n\n n()\n }(),\n function() {\n // this function adds empty candles\n // for each of cached interval\n function n() {\n for (Gu in Ur) {\n if (Ur.hasOwnProperty(Gu)) {\n e = Ur[Gu];\n\n Or(e);\n }\n }\n\n var o = S[i];\n\n for (r in o) {\n if (o.hasOwnProperty(r)) {\n t = o[r];\n\n for (Gu in t) {\n if (t.hasOwnProperty(Gu)) {\n e = t[Gu];\n\n Or(e);\n }\n }\n }\n }\n\n cu = true;\n\n Kr(10 * 1000, function(t) {\n n(t);\n });\n }\n\n var t, e, r;\n\n setTimeout(function() {\n n()\n }, (60 - new Date().getSeconds()) * 1000)\n }()\n\n return 0;\n }\n\n var sa, ca, fa, ha, da, pa, va, ba, ga, ma, Fa;\n\n window.$script_loaded = true;\n Fo = 'Arial, sans';\n qe = 'Consolas, Monospace';\n re = '11px';\n zu = null;\n\n if (window.localStorage == null) {\n window.localStorage = {};\n }\n\n if (window.sessionStorage == null) {\n window.sessionStorage = {};\n }\n\n (function() {\n function n() {\n function n(n) {\n delete sessionStorage[n];\n return delete localStorage[n];\n }\n function t() {\n var t;\n var r;\n var o;\n switch (arguments.length) {\n case 1:\n t = arguments[0];\n try {\n return JSON.parse(\n (o = sessionStorage[t]) != null ? o : localStorage[t]\n );\n } catch (i) {\n n(t);\n return null;\n }\n break;\n case 2:\n t = arguments[0];\n r = arguments[1];\n delete sessionStorage[t];\n return (e[t] = JSON.stringify(r));\n case 3:\n t = arguments[0];\n r = arguments[1];\n delete localStorage[t];\n return (sessionStorage[t] = JSON.stringify(r));\n }\n }\n t.rm = function(t) {\n return n(t);\n };\n return t;\n }\n var e =\n typeof localStorage !== t.bQ && localStorage !== null ? localStorage : {};\n return (zu = n);\n })();\n\n Ku = zu();\n\n pr = $('#now');\n\n pr.click(function() {\n if ($r()) {\n return $('tr[o=time_zone] li[v=local]').click();\n } else {\n return $('tr[o=time_zone] li[v=utc]').click();\n }\n });\n\n ha = m(7);\n\n zo = ha[0];\n qo = ha[1];\n Ko = ha[2];\n jo = ha[3];\n Yo = ha[4];\n Do = ha[5];\n Go = ha[6];\n\n da = m(8);\n\n ui = da[0];\n di = da[1];\n si = da[2];\n li = da[3];\n ci = da[4];\n fi = da[5];\n ai = da[6];\n hi = da[7];\n\n Ge = {};\n je = {};\n\n (function() {\n var n;\n var e;\n var r;\n var l;\n\n var o = [\n [\"cross\", ui, null],\n [\"draw_line\", di, D],\n [\"draw_fline\", fi, Q],\n [\"draw_hline\", hi, Y],\n [\"draw_fhline\", si, U],\n [\"draw_fhlineex\", ci, W],\n [\"draw_ffan\", li, N],\n [\"draw_ffanc\", ai, L]\n ];\n\n var a = [];\n var i = 0;\n for (var u = o.length; u > i; i++) {\n l = o[i];\n e = l[0];\n n = l[1];\n r = l[2];\n Ge[n] = r;\n a.push((je[e] = n));\n }\n return a;\n })();\n\n Xo = window.$theme_dark;\n Zo = window.$theme_light;\n\n if (window.$theme_name === \"light\") {\n Jo = $theme_light;\n\n $(\"html\").attr(\"class\", \"light\");\n } else {\n Jo = $theme_dark;\n\n $(\"html\").attr(\"class\", \"dark\");\n }\n\n $.support.cors = true;\n\n il = window;\n Eu = $(window);\n\n eu = null;\n Di = null;\n Du = null;\n\n Iu = $('#main');\n Ou = $('#sidebar_outer');\n ku = $('#header_outer');\n kuHeight = ku.height();\n\n Vu = $('#footer_outer');\n Mu = $('#leftbar_outer');\n Ju = $(\"#nav\");\n Nu = $(\"#wrapper\");\n $u = $(\"#date\");\n mu = $(\"#assist\");\n Hu = $('#periods');\n Ru = $(\"#trades\");\n wu = $(\"#depth\");\n Fu = $(\"#before_trades\");\n gu = $(\"#ask\");\n xu = $(\"#bid\");\n Bu = $('#price');\n Zu = $('#markets');\n yu = $('#chart_info');\n Su = $(\"#indicator_info\");\n Xu = $('#main_indicator_info');\n bu = $(\"#dlg_estimate_trading .amount\");\n pu = $(\"#alarm_high_price\");\n vu = $(\"#alarm_low_price\");\n\n Yi = false;\n ou = false;\n\n Tu = {\n asks: $(\"#asks div\"),\n bids: $(\"#bids div\"),\n gasks: $(\"#gasks div\"),\n gbids: $(\"#gbids div\")\n };\n\n Ei = Ru[0];\n\n HeatmapCanvas = $('#canvas_heatmap')[0];\n Oi = $('#canvas_main')[0];\n Bi = $('#canvas_cross')[0];\n Ri = $('#canvas_shapes')[0];\n\n if (!Oi || !Oi.getContext) {\n Iu.html(\"<div style=\\\"margin:6px\\\">\" +\n \"<div>Sorry, your browser doesn't support BitcoinWisdom.</div>\" +\n \"<dl><dt>Minimum requirements:</dt>\" +\n \"<dd>IE 9+, Chrome, Firefox or other modern browser.</dd></dl>\" +\n \"</div>\");\n return;\n }\n\n Ii = Oi.getContext(\"2d\"),\n _i = Bi.getContext(\"2d\"),\n Xi = Ri.getContext(\"2d\"),\n nu = Mu.width(),\n qt = !0,\n qt = -1 === window.$theme_name.indexOf(\"filled\"),\n qt = !0,\n Mr = null,\n mo = null,\n function() {\n function n(n) {\n function e(e, r) {\n var o, i, u, l;\n if (null == r && (r = \"\"), $debug) {\n if (r && (r = t.Xr + r + t.Xa), typeof e !== t.lB && (e = JSON.stringify(e)), i = yr(new Date), mu.prepend($(t.Xp + r + t.Tw).html(t.UI + i + (t.se + n + t.Xl) + e)), u = mu[0], o = u.childNodes, l = o.length, l > 100)\n for (; l-- > 50;) u.removeChild(o[l]);\n return this\n }\n }\n return e.d = function() {\n return $debug ? e.apply(null, arguments) : void 0\n }, e\n }\n return Vr = n\n }(),\n\n ru = Vr(\"Eva\"),\n ru(\"Welcome to BitcoinWisdom.io\"),\n\n qu = {\n 60: \"1m\",\n 180: \"3m\",\n 300: \"5m\",\n 900: \"15m\",\n 1800: \"30m\",\n 3600: \"1h\",\n 7200: \"2h\",\n 14400: \"4h\",\n 21600: \"6h\",\n 43200: \"12h\",\n 86400: \"1d\",\n 259200: \"3d\",\n 604800: \"1w\",\n // 2628000: \"1M\",\n // 31536000: \"1y\"\n };\n nl = {};\n\n for (ji in qu) {\n if(qu.hasOwnProperty(ji)) {\n ol = qu[ji];\n nl[ol] = ji;\n }\n }\n\n we = {};\n po = null;\n pa = $(\".period\", Hu);\n\n for (ca = 0, fa = pa.length; ca < fa; ca++) {\n tu = pa[ca];\n tu = $(tu);\n\n if(Gu = nl[tu.text()]) {\n we[Gu] = tu,\n function (n, e) {\n return e.click(function () {\n var r, o;\n\n Ql(n, function () {\n r = arguments[0];\n o = arguments[1];\n\n if(r) {\n return void 0;\n } else {\n if(po) {\n po.removeClass(\"selected\");\n }\n\n po = e;\n\n we[n].addClass(\"selected\");\n\n if($(\"#dropdown-period-value\").length) {\n $(\"#dropdown-period-value\").html(po.text());\n }\n\n return !0\n }\n })\n })\n }(Gu, tu)\n };\n }\n\n Fi = {};\n Vi = [];\n ju = [];\n el = [];\n\n bo = window.WebSocket != null;\n go = Date.now();\n\n oe = false;\n\n va = m(12);\n ei = va[0];\n vi = va[1];\n pi = va[2];\n gi = va[3];\n oi = va[4];\n Ao = va[5];\n ri = va[6];\n bi = va[7];\n ni = va[8];\n ii = va[9];\n mi = va[10];\n Co = va[11];\n Qo = va[12];\n\n Ur = {};\n Er = null;\n\n tt = Se();\n\n it = [];\n Qt = null;\n Wt = null;\n At = 0;\n qr = null;\n to = null;\n no = {};\n Xr = false;\n Io = 60;\n Je = 0;\n Oe = 0;\n Le = 0;\n Lo = 3000;\n Eo = 1;\n No = 3e4;\n Uo = window.$p || 6e4;\n Wo = Date.now();\n Ut = 15;\n pt = 15;\n $t = true;\n Nt = null;\n Tt = 0;\n St = [];\n ne = [];\n Vo = [];\n ko = 0;\n To = null;\n Ye = ui;\n G = null;\n dt = false;\n\n $(window).on('mousemove touchmove', function() {\n Lo = 3000;\n return (Wo = Date.now());\n });\n\n kr = false;\n\n S = ce();\n\n S[o] = [Pl, Bl];\n\n (function() {\n function n() {\n Eo = 0.1 + (Date.now() - Wo) / 1000 / 10 / 60;\n Kr(500, function(t) {\n n(t);\n });\n }\n n();\n })();\n\n ie = {\n price_mas: {\n cookie: t.gC,\n params: [7, 30],\n labels: ['MA%', 'MA%', 'MA%', 'MA%']\n },\n volume_mas: {\n cookie: t.eZ,\n params: [5, 10, 20],\n labels: ['MA%', 'MA%', 'MA%']\n },\n bbands: {\n cookie: t.tL,\n params: [20],\n labels: [t.OD, t.OL, t.ka],\n pids: [T],\n fn: _t\n },\n sar: {\n cookie: 'sar_params',\n params: [0.02, 0.2, 4],\n labels: ['SAR'],\n pids: [M, I, T, P, H],\n fn: Et\n },\n macd: {\n cookie: 'macd_params',\n params: [12, 26, 9, 2],\n labels: ['MACD', 'SIG', 'HIST'],\n colors: [Jo[t.VB][0], Jo[t.VB][1], Jo['Main Text']],\n mode: ['MACD', [T]]\n },\n stoch_rsi: {\n cookie: t.Ak,\n params: [14, 14, 3, 3],\n labels: [t.CK, t.OA],\n axis: '100'\n },\n rsi: {\n cookie: t.Oz,\n params: [14],\n labels: [t.GC],\n pids: [T],\n axis: 'auto',\n fn: Rt\n },\n dmi: {\n cookie: t.wR,\n params: [14, 14],\n labels: [t.Ow, t.JY, t.FH, t.Ku],\n pids: [M, I, T],\n axis: 'auto',\n colors: [Jo[t.PO], Jo[t.PQ], Jo[t.VB][0], Jo[t.VB][1]],\n fn: Xt\n },\n kdj: {\n cookie: t.Os,\n params: [9, 3, 3],\n labels: [t.Fg, t.VW, t.ir],\n axis: 'custom'\n },\n cmf: {\n cookie: t.Eo,\n params: [20],\n labels: [t.Oo],\n pids: [M, I, T, H],\n axis: 'symm',\n fn: It\n },\n obv: {\n cookie: 'obv_params',\n params: [],\n labels: ['OBV'],\n pids: [T, H],\n axis: 'auto',\n fn: Ot\n },\n bid_ratio: { cookie: 'bid_ratio_params', params: [3], labels: ['BIDRATIO'] }\n };\n\n xe = null;\n h = null;\n ye = null;\n Xe = null;\n Me = null;\n Po = null;\n Ro = null;\n\n n = {};\n\n So = false;\n\n ur = $('#change');\n ur[0].changed_at = 0;\n\n Ue = 0;\n\n window.$is_mobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n\n window.$is_zh = (window.navigator.userLanguage || window.navigator.language).indexOf('zh') !== -1;\n\n Gt = {\n depth_hint: true,\n sidebar: true\n };\n\n ba = $hsymbol.match(/(.+) (.+)/);\n\n sl = ba[0];\n Ze = ba[1];\n E = ba[2];\n\n j = '';\n C = '';\n\n if ((iu = E.match(/(.+)\\/(.+)/))) {\n tr = iu[2];\n\n j = iu[1];\n C = iu[2];\n\n f = '' + iu[1] + iu[2];\n vo = '' + iu[2] + t.Hj + iu[1];\n } else if (E === t.dT) {\n tr = t.dT;\n f = t.dT;\n vo = t.dT;\n C = t.ni;\n j = t.dT;\n } else {\n tr = t.ni;\n f = t.ni;\n vo = t.ni;\n C = '';\n j = t.ni;\n }\n\n $(\".o li[v=base]\").text(t.zj + j + t.TZ);\n $(\".o li[v=quote]\").text(t.Xf + C + t.TZ);\n\n ru('' + tr + t.Iz + f + t.Iz + vo);\n\n xo = 1;\n $o = 0;\n yo = 1;\n wo = 1;\n\n ti = false;\n\n calcPrecision = function(recreateDepth) {\n var n = vl([5, 2, 1], 0.01);\n if (1e-7 >= n) {\n yo = 1e8;\n wo = 1e8;\n } else {\n yo = Math.pow(10, Math.ceil(Math.log(1 / n) / Math.log(10)));\n wo = 1;\n }\n $o = 0;\n if (1 > yo) {\n yo = 1;\n } else if (yo === 10) {\n yo = 1;\n $o = 1;\n } else if (yo === 100) {\n yo = 1;\n $o = 2;\n }\n xo = n;\n ru([xo, yo, $o, wo]);\n\n if(recreateDepth) {\n tt = Se(xo);\n }\n };\n\n if(window.$init_price > 0) {\n calcPrecision(false);\n }\n\n Pr = C;\n\n if (wo > 1e7) {\n C = t.DJ;\n f = '' + j + C;\n vo = '' + C + t.Hj + j;\n }\n\n tt = Se(xo);\n a = !window.$disable_volume || false;\n e = Ze !== t.Ob;\n jt = null;\n\n switch ($symbol) {\n case 'mtgoxbtcusd':\n jt = 500;\n break;\n case 'bitstampbtcusd':\n jt = 500;\n break;\n case 'btcchinabtccny':\n case 'huobibtccny':\n jt = 200;\n break;\n case 'btcebtcusd':\n jt = 200;\n break;\n case 'btceltcusd':\n jt = 5000;\n break;\n case 'btceltcbtc':\n jt = 5000;\n break;\n case 'okcoinltccny':\n jt = 5000;\n }\n\n pe = Ze === t.ZE,\n he = Ze === t.Ob,\n ki = null,\n Si = null,\n xi = window.$is_flutter_view ? 100 : 100, // right sidebar with depth chart width\n Rr = window.$is_mobile ? 6 : 8,\n yi = parseInt(null != (ga = Ku(\"system:barWidth\")) ? ga : 5),\n Ai = parseInt(null != (ma = Ku(\"system:gapWidth\")) ? ma : 3),\n al = (yi - 1) / 2,\n Hi = 0,\n Ti = yi + Ai,\n uu = null,\n $i = null,\n wi = null,\n Wu = null,\n Cu = null,\n Ji = null,\n Pi = null,\n Au = null,\n Yu = null,\n Ni = !1, cu = !1, su = !1, au = !1,\n eu = t.XB,\n Di = t.eH,\n Du = t.bh,\n Ci = null, Ui = null, Ne = null, Qe = null, Tr = null, ho = 0, Li = null, Wi = null,\n Mi = be(),\n window.$conf = Mi,\n (Zi = function() {\n var n, e, r, o, i, u, l, a, s, f, h;\n r = $.cookie(), o = function() {\n var n;\n n = [];\n for (ji in ie) so.call(ie, ji) && (u = ie[ji], n.push(u.cookie));\n return n\n }(), n = function() {\n var n, t;\n n = Mi[c], t = [];\n for (ji in n) so.call(n, ji) && (u = n[ji], t.push(ji));\n return t\n }(), a = [t.NX, t.ud, t.NV], e = [t.Ao, t.Bm, t.NT];\n for (ji in r)\n if (so.call(r, ji) && (ol = r[ji], l = null, ji !== \"theme\")) {\n if (co.call(n, ji) >= 0 && (l = t.NR), co.call(o, ji) >= 0) {\n l = t.VT;\n try {\n ol = JSON.parse(ol)\n } catch (d) {}\n }\n co.call(a, ji) >= 0 && (l = t.Wm), l && Ku(l + t.TC + ji, ol), ji.match(/^_/) || co.call(e, ji) >= 0 || $.removeCookie(ji, {\n path: \"/\"\n })\n } for (f = 0, h = n.length; h > f; f++)\n if (i = n[f], s = Ku(t.Xc + i), null != s) try {\n ge(Mi, i, s)\n } catch (d) {\n Ku.rm(t.Xc + i)\n }\n })(),\n ve(Mi, function(n, e) {\n return Ku(t.Xc + n, e)\n }),\n function() {\n function n() {\n cl(), Kr(1000, function(t) {\n n(t)\n })\n }\n n()\n }(),\n lockCross = false,\n g = null,\n F = null,\n zi = !1,\n Bo = H,\n Oo = j,\n function() {\n function n(n) {\n var e = n.d.updated_at;\n var t = (Date.now() / 1000 - e) << 0;\n\n e = parseInt(e);\n t = sr(t);\n\n return n.date.html(t);\n }\n\n function e(n) {\n if (d) {\n d.removeClass(\"selected\");\n }\n\n d = $(t.NG, n);\n\n return d.addClass(\"selected\");\n }\n\n function r(r) {\n var o;\n var i;\n var a;\n var s;\n var u;\n var c;\n\n if ($user_id) {\n o = r;\n\n u = o.id;\n a = o.subid;\n s = o.symbol;\n c = o.updated_at;\n\n i = $(\"<div>\");\n i.d = o;\n i.html(t.RH + s + t.Iz + a + t.my);\n i.date = $(\"g\", i);\n\n n(i);\n\n i.click(function() {\n var handleDrawingGet = function(n) {\n if (n.ok) {\n o = n.data;\n l = o.id;\n Vo = JSON.parse(n.data.drawing);\n To = null;\n cu = true;\n\n return e(i);\n }\n };\n\n if(DrawingsStore.has(o.id)) {\n var n = DrawingsStore.get(o.id);\n\n handleDrawingGet(n);\n } else {\n call_api(\"drawing_get\", {id: o.id}, function () {\n var n = arguments[0];\n\n handleDrawingGet(n);\n });\n }\n });\n\n return i;\n }\n }\n\n function o(n) {\n var t;\n return t = r(n), s[n.id] = t, f.prepend(t)\n }\n\n function i() {\n var n, r, i, u;\n\n if(!$user_id) {\n return;\n }\n\n r = (function() {\n var e = [];\n var n = 0;\n\n for (var t = Vo.length; t > n; n++) {\n u = Vo[n];\n e.push(Qr(u));\n }\n\n return e;\n })();\n\n var handleDrawingReplace = function(i) {\n if (i.ok) {\n n = r = i.data;\n l = n.id;\n\n if (s[l]) {\n return (s[l].d = n);\n } else {\n o(n);\n\n return e(s[l]);\n }\n } else {\n return;\n }\n };\n\n // create new drawings locally\n if(!l || DrawingsStore.has(l)) {\n var i = DrawingsStore.set(l, JSON.stringify(r));\n\n handleDrawingReplace(i);\n } else {\n call_api(\"drawing_replace\",\n {\n id: l,\n symbol: window.$symbol,\n drawing: JSON.stringify(r)\n },\n function() {\n i = arguments[0];\n\n handleDrawingReplace(i);\n }\n );\n }\n }\n\n function u(n) {\n s[n].remove();\n\n delete s[n];\n\n var e = $(\"div:first\", f).click();\n\n if (e.length === 0) {\n Vo = [];\n To = null;\n l = 0;\n }\n\n cu = true;\n\n var handleDrawingDelete = function(i) {\n if (e.length === 0) {\n c();\n }\n\n cu = true;\n\n return true;\n };\n\n if(DrawingsStore.has(n)) {\n var i = DrawingsStore.delete(n);\n\n handleDrawingDelete(i);\n } else {\n call_api(\"drawing_delete\", { id: n }, function() {\n handleDrawingDelete(arguments[0]);\n });\n }\n\n }\n\n var l, a, s, c, f, h, d;\n\n l = null;\n s = {};\n f = $(\"#drawings\");\n d = null;\n\n (c = function() {\n var n, r, i;\n\n var u = this;\n\n var handleDrawingsGetAll = function(i) {\n if (i.ok) {\n var c = i.data.reverse();\n var l = 0;\n\n for (var a = c.length; a > l; l++) {\n n = c[l];\n\n o(n);\n\n if (r.updated_at < n.updated_at) {\n r = n;\n }\n }\n\n if (r) {\n s[r.id].click();\n }\n }\n };\n\n if ($user_id) {\n r = null;\n\n var localData = DrawingsStore.getAll(window.$symbol);\n\n if(localData && localData.data.length) {\n r = localData.data[0];\n }\n\n handleDrawingsGetAll(localData);\n\n call_api(\"drawing_get_all\", { symbol: window.$symbol }, function(i) {\n var i = arguments[0];\n\n if (i.ok) {\n if(!r || r.updated_at < n.updated_at) {\n r = i.data[0];\n }\n }\n\n handleDrawingsGetAll(i);\n\n return u;\n });\n\n return;\n } else {\n f.html(\"Need login first.\");\n return;\n }\n })();\n\n $(t.MO).click(function() {\n l = 0;\n return i();\n });\n\n $(t.Nx).click(function() {\n l = 0;\n Vo = [];\n To = null;\n cu = true;\n i();\n return false;\n });\n\n a = [];\n\n $(t.Nw).click(function() {\n a.push(Vo);\n var n = s[l];\n if (n) {\n u(l);\n return $(t.Xo)\n .html(t.IM + a.length + t.TZ)\n .show();\n } else {\n return;\n }\n });\n\n $(t.Xo).click(function() {\n l = 0;\n Vo = a.pop();\n $(t.Xo)\n .html(t.IM + a.length + t.TZ)\n .show();\n cu = true;\n i();\n if (a.length === 0) {\n return $(this).hide();\n } else {\n return;\n }\n });\n\n (h = function() {\n var t;\n for (ji in s) {\n if (so.call(s, ji)) {\n t = s[ji];\n n(t);\n }\n }\n Kr(1000, function() {\n return h();\n });\n })();\n\n return (Dr = i)\n }(),\n function() {\n var heatmapArguments = [];\n\n var requestHeatmapVar = false;\n var requestCrossVar = false;\n var requestMainVar = false;\n var requestShapesVar = false;\n\n var frameRedrawRequest = false;\n\n function rafLoop() {\n if(!frameRedrawRequest) {\n return;\n }\n\n if(requestMainVar) {\n ul();\n\n requestMainVar = false;\n }\n\n if(requestCrossVar) {\n Il();\n\n requestCrossVar = false;\n }\n\n if(requestHeatmapVar) {\n window.Heatmap.draw(\n heatmapArguments[0],\n heatmapArguments[1],\n heatmapArguments[2],\n heatmapArguments[3],\n heatmapArguments[4],\n heatmapArguments[5],\n heatmapArguments[6],\n heatmapArguments[7]\n );\n\n requestHeatmapVar = false;\n }\n\n // shapes draw time is almost 12ms on mobile\n if(requestShapesVar) {\n Zl();\n\n requestShapesVar = false;\n }\n\n frameRedrawRequest = false;\n }\n\n /*\n59398.559999999634 \"request 1\"\n59398.699999999735 \"request 2\"\n\n59409.70499999912 59398.699999999735 \"frame 2\" 1581161940 <-- HOW IS THIS POSSIBLE?!\n59418.85999999977 59398.559999999634 \"frame 1\" 1581162060\n*/\n\n var requestTime, frameTimeout;\n\n function requestFrameRedraw() {\n if(frameRedrawRequest) {\n return;\n }\n\n frameRedrawRequest = true;\n\n if('hidden' in document && document.hidden) {\n setTimeout(function () {\n rafLoop();\n }, 1000);\n\n return;\n } else {\n window.requestAnimationFrame(rafLoop);\n }\n }\n\n redrawHeatmap = function(Xe, Po, To, Mo, Ti, Hi, Mi, D) {\n if(!('Heatmap' in window)) {\n return;\n }\n\n heatmapArguments = [Xe, Po, To, Mo, Ti, Hi, Mi, D];\n\n requestHeatmapVar = true;\n requestFrameRedraw();\n };\n\n redrawCross = function() {\n requestCrossVar = true;\n requestFrameRedraw();\n };\n\n redrawMain = function() {\n requestMainVar = true;\n requestShapesVar = true;\n\n requestFrameRedraw();\n };\n\n redrawShapes = function() {\n requestShapesVar = true;\n requestFrameRedraw();\n };\n }(),\n function() {\n var o = false;\n\n // calculate distance maybe?\n // sets cursor\n function n(event) {\n // al & Hi - candles' width and gap\n\n // Ti - barSize (expected, px)\n // Hi - barSize (expected, px)\n\n // var eventX = event.pageX;\n // var eventY = event.pageX;\n\n var eventX, eventY;\n\n if(event.center) {\n eventX = event.center.x;\n eventY = event.center.y;\n } else {\n if (!event.pageX && event.originalEvent && event.originalEvent.touches) {\n event = event.originalEvent.touches.item(0);\n }\n\n eventX = event.pageX;\n eventY = event.pageY;\n }\n\n var actualBarSize = Ti;\n\n var t = eventX;\n var e = eventY - kuHeight;\n\n Au = t;\n Yu = e;\n Wi = Math.floor((t - Hi) / Ti);\n t = Wi * actualBarSize + al + Hi;\n Ji = t;\n Pi = e;\n kr = eventX > Si - xi;\n }\n\n function e(event) {\n var r, i, u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y;\n\n o = true;\n\n if (!lockCross) {\n n(event);\n\n redrawCross();\n\n if (Ni) {\n redrawMain();\n }\n }\n\n if (Xe) {\n f = Er[w];\n }\n\n if (Ye === ui) {\n return true;\n }\n\n if(!Xe || !Xe.hasOwnProperty(vt)) {\n console.error(\"Xe error\");\n return true;\n }\n\n window.Measurer('cursorEvent').start();\n\n if (!To) {\n To = Ar(fl(Ye));\n\n if(Vo.length > 50) {\n alert(\"Maximum number of drawing (50) exceeded.\")\n } else {\n Vo.push(To);\n }\n }\n\n switch (Xe[vt]) {\n case yt:\n To[B] = z;\n break;\n\n case xt:\n To[B] = K;\n }\n\n p = Ml(Xe, Pi);\n\n if (Ui >= Ci + Wi) {\n ol = Dt(f, Ci + Wi, k);\n\n g = p;\n\n a = ol[X];\n u = ol[M];\n l = ol[I];\n i = ol[T];\n\n c = [a, u, l, i];\n\n r = Mi.stick_style;\n\n if (r === 'line' || r === 'line_o') {\n switch (Mi.line_style) {\n case 'm':\n v = Dt(f, Ci + Wi, Er[ii]);\n c.push(v[Er[ii]]);\n break;\n\n case 'w':\n v = Dt(f, Ci + Wi, Er[mi]);\n c.push(v[Er[mi]]);\n }\n }\n\n c = (function() {\n var e = [];\n var t = c.length;\n for (var n = 0; n < t; n++) {\n s = c[n];\n e.push([s, Math.abs(s - p)]);\n }\n return e;\n })();\n\n c.sort(function(n, t) {\n return n[1] - t[1];\n });\n\n p = c[0][0];\n\n x = uo(Xe, p);\n\n // ctrl\n d = event != null ? event.ctrlKey : void 0;\n\n if ((d || !To[nt]) && Math.abs(Pi - x) > 8) {\n p = g;\n }\n\n F = [ol[J], p];\n } else {\n b = Dt(f, Ui, k);\n\n if (b[V] == null) {\n return;\n }\n\n h = new Date(b[V]);\n h.setSeconds(Io * (Wi - (Ui - Ci)));\n\n F = [\n parseInt(h.getTime() / 1000),\n p\n ];\n }\n\n // draw horizonal line (start y = end y)\n if (event && event.shiftKey) {\n if (((y = To[ot]) === D || y === Q) && To[q].length) {\n m = To[q][0];\n\n F[1] = m[1];\n }\n }\n\n Yr(To, F);\n\n window.Measurer('cursorEvent').stop();\n\n redrawShapes();\n\n return true;\n }\n\n // save drawing\n function r() {\n if (Xe && (To != null ? To[q].length : void 0) && Wr(To)) {\n Dr();\n\n return (To = null);\n } else {\n return;\n }\n }\n\n function refreshLoop() {\n window.Measurer('frameTime').start();\n\n window.requestAnimationFrame(function() {\n window.Measurer('frameTime').stop();\n\n if (window.stats) {\n window.stats.update();\n }\n\n refreshLoop();\n });\n }\n\n if (window.$debug && $is_mobile) {\n refreshLoop();\n }\n\n var canClearChartInfo = true;\n\n function clearChartInfo() {\n if(!canClearChartInfo) {\n return;\n }\n\n isCrosshairInfoVisibleForMobile = false;\n\n if (!lockCross) {\n Ji = null;\n Au = null;\n\n yu.html('');\n Su.html('');\n\n yl();\n }\n\n canClearChartInfo = !window.$is_mobile;\n\n return true;\n }\n\n function touchEnd(ev) {\n if (!o && Ye !== ui && Mo) {\n r();\n }\n\n Ni = false;\n\n return true;\n };\n\n var touchStart = function(event, forceMove) {\n var r, i;\n\n // right click removes last drawn object\n if (event.button === 2 && Ye !== ui && Mo) {\n if (To) {\n if (To[q].length === 1) {\n Vo.pop();\n }\n\n To = null;\n }\n\n Vo.pop();\n\n Dr();\n\n redrawShapes();\n }\n\n if (event.eventPhase === 3 || forceMove) {\n Ni = true;\n o = false;\n }\n\n n(event);\n\n Li = Ci + Wi;\n\n if (kr && Ye === ui) {\n var canAddMoreAlerts = !window.$is_flutter_view || FlutterFunctions.canAddMoreAlerts;\n\n ru([h, xe[st] * wo]);\n\n r = h;\n\n var alertSide = \"low\";\n\n if (h > xe[st] * wo) {\n alertSide = \"high\";\n\n i = parseFloat(pu.val());\n\n if (i === r) {\n r = \"\";\n }\n\n if(r !== \"\" && !canAddMoreAlerts) {\n if (window.$is_flutter_view) {\n FlutterFunctions.sendCantAddMoreAlerts(alertSide, r / wo);\n }\n } else {\n pu.val(r);\n\n Ku(\"\" + $symbol + \":alarm:high\", r);\n\n if (window.$is_flutter_view) {\n try {\n window.FlutterFunctions.updateAlert(alertSide, r / wo);\n } catch (err) {\n console.error(err);\n }\n }\n }\n } else {\n i = parseFloat(vu.val());\n\n if (i === r) {\n r = \"\";\n }\n\n if(r !== \"\" && !canAddMoreAlerts) {\n if (window.$is_flutter_view) {\n FlutterFunctions.sendCantAddMoreAlerts(alertSide, r / wo);\n }\n } else {\n vu.val(r);\n\n Ku(\"\" + $symbol + \":alarm:low\", r);\n\n if (window.$is_flutter_view) {\n try {\n window.FlutterFunctions.updateAlert(alertSide, r / wo);\n } catch (err) {\n console.error(err);\n }\n }\n }\n }\n\n cu = true;\n }\n };\n\n scaleGraph = function(e, delta) {\n // todo: check for deltaX for touchpad\n var offset = e && e.hasOwnProperty('deltaY') ? e.deltaY : delta;\n\n if (offset > 0) {\n yi += 2;\n } else {\n yi -= 2;\n }\n\n if (yi < 3) {\n yi = 1;\n }\n\n if (yi > 27) {\n yi = 27;\n }\n\n Ai = Math.round(0.2 * yi);\n\n if (Ai < 3) {\n Ai = 3;\n }\n\n if (yi === 3) {\n Ai = 2;\n }\n\n if (yi === 1) {\n Ai = 1;\n }\n\n Ti = yi + Ai;\n al = (yi - 1) / 2;\n\n Ku(\"system:barWidth\", yi);\n Ku(\"system:gapWidth\", Ai);\n\n Fl();\n\n return false;\n };\n\n if (!$is_mobile) {\n Nu.mouseout(clearChartInfo);\n } else {\n document.body.addEventListener('touchstart',function(e) {\n var touch = e.touches[0];\n\n mouseX = touch.pageX;\n mouseY = touch.pageY;\n\n var rect = Nu.get(0).getBoundingClientRect();\n\n if(mouseX < rect.left || mouseX > rect.right || mouseY < rect.top || mouseY > rect.bottom) {\n canClearChartInfo = true;\n clearChartInfo();\n }\n });\n }\n\n Nu.mousewheel(scaleGraph);\n\n Nu.contextmenu(function() {\n return false;\n });\n\n // double click on chart\n /*Nu.dblclick(function(evt) {\n if (!kr) {\n if (evt.button === 0) {\n // if (autoScale) {\n if (lockCross) {\n gl();\n } else {\n bl();\n }\n }\n }\n\n return true;\n });*/\n\n if(window.$is_mobile && !window.$is_desktop_mode) {\n var element = document.getElementById('wrapper');\n var mc = new Hammer(element);\n\n var lastPinchValue = 1;\n mc.get('pinch').set({enable: true, threshold: 0});\n\n mc.on(\"pinch\", function (ev) {\n if (Math.abs(1 - ev.scale) <= 0.1) {\n lastPinchValue = 1;\n\n return;\n }\n\n if (Math.abs(lastPinchValue - ev.scale) > 0.1) {\n console.log(ev.scale);\n\n if (ev.scale > lastPinchValue) {\n scaleGraph(null, 1);\n } else {\n scaleGraph(null, -1);\n }\n\n lastPinchValue = ev.scale;\n }\n });\n\n mc.get('pan').set({ enable: true, direction: Hammer.DIRECTION_ALL });\n mc.get('tap').set({ enable: true });\n\n mc.on(\"panstart\", function(ev) {\n // console.log(ev.type);\n\n touchStart(ev, true);\n });\n\n mc.on(\"panend\", function(ev) {\n // console.log(ev.type);\n\n touchEnd(ev);\n });\n\n mc.on(\"panmove\", function(ev) {\n // console.log(ev.type);\n\n clearChartInfo();\n\n e(ev);\n });\n\n mc.on(\"tap\", function(ev) {\n // console.log(ev.type);\n\n drawChartInfo = true;\n canClearChartInfo = true;\n\n e(ev);\n\n requestAnimationFrame(function() {\n touchStart(ev, true);\n touchEnd(ev);\n })\n });\n } else {\n // actionStart\n Nu.bind(\"mousedown\", function(ev) {\n touchStart(ev, false);\n });\n\n Nu.bind(\"touchstart\", function(ev) {\n if (shouldIgnoreEvent(Mi)) return;\n\n touchStart(ev, false);\n });\n\n // move\n Nu.bind(\"mousemove touchstart touchmove\", function(ev) {\n return e(ev)\n });\n\n // actionEnd\n Eu.bind('mouseup', function(ev) {\n return touchEnd(ev);\n });\n\n Eu.bind('touchend', function(ev) {\n if (shouldIgnoreEvent(Mi)) return;\n\n return touchEnd(ev);\n });\n }\n\n return false;\n }(),\n s = !0,\n ve(Mi, \"volume_currency\", function(n) {\n var e, r, o, i, u;\n if (n) {\n ru(n);\n if (n === \"base\") {\n Oo = j;\n Bo = H;\n } else {\n Oo = C;\n Bo = P;\n }\n\n s = false;\n\n setTimeout(function() {\n return (s = true);\n }, 200);\n\n u = Ei.childNodes;\n\n o = 0;\n\n for (i = u.length; i > o; o++) {\n e = u[o];\n r = e.tx;\n if (Bo === H) {\n $(\".v\", e).html(zl(r[lt]));\n } else {\n $(\".v\", e).html(zl(r[st] * r[lt]));\n }\n }\n\n au = true;\n\n return ae;\n }\n }),\n\n du = [], Lu = [],\n Gi = null,\n qi = null,\n Kt = null,\n\n ve(Mi, \"depth_range\", function() {\n return dt = !0\n }),\n\n window.world_draw_main = ul = function() {\n if (window.isDrawing && new Date() - window.$load_time > 10000) return;\n\n window.Measurer('draw_main').start();\n\n window.isDrawing = true;\n\n // check before comitting\n if (!window.resetIsDrawing) {\n window.resetIsDrawing = setTimeout(function() {\n window.isDrawing = false\n\n clearTimeout(window.resetIsDrawing);\n\n window.resetIsDrawing = null;\n }, 5000);\n }\n\n // reserve space for volume\n function r(n) {\n if (n == null) {\n n = Rr;\n }\n\n D.y = D.y + D.h - n - 1;\n\n bt.push(D.y);\n\n ge.strokeStyle = Jo[t.Np];\n\n Ee(ge, D.y + 0.5, 0, Si);\n\n return (D.y -= n);\n }\n\n function o(n1, n2, n3) {\n var e, r, o, i, l, a, s, c, f, h, d, p, key;\n\n s = U[0];\n\n var fillStyle, strokeStyle, volumeStrokeStyle;\n var drawData = {};\n\n fillStyle = Jo[t.SW];\n strokeStyle = Jo[t.PO];\n volumeStrokeStyle = Jo[t.PO];\n\n p = [];\n\n for (it = c = 0, f = U.length; c < f; it = ++c) {\n lt = U[it];\n\n switch (u) {\n case \"candle_stick_hlc\":\n a = (h = U[it - 1]) != null ? h : ye[it];\n r = U[it];\n o = a;\n e = r;\n break;\n\n default:\n a = ye[it],\n r = U[it],\n o = a,\n e = r,\n a === r && (\n o = null != (d = ye[it - 1]) ? d : ye[it]\n )\n }\n\n l = At[it];\n i = vt[it];\n\n if(e > o) {\n fillStyle = Jo[t.BC];\n strokeStyle = Jo[t.PO];\n } else if(o > e) {\n fillStyle = Jo[t.FR];\n strokeStyle = Jo[t.PQ];\n }\n\n if(qt && dl(e, o)) {\n fillStyle = Jo[t.SW];\n }\n\n volumeStrokeStyle = strokeStyle;\n\n if (u === \"ohlc\") {\n strokeStyle = Jo[\"OHLC\"];\n }\n\n key = \"fill_\" + fillStyle + \"_stroke_\" + strokeStyle + \"_volume_\" + volumeStrokeStyle;\n\n if(!drawData.hasOwnProperty(key)) {\n drawData[key] = {\n fillStyle: fillStyle,\n strokeStyle: strokeStyle,\n volumeStrokeStyle: volumeStrokeStyle,\n data: []\n }\n }\n\n drawData[key].data.push([\n // index, open, close, low, high\n it, a, r, l, i\n ])\n\n p.push(s = lt)\n }\n\n function runDrawData(nCb) {\n for(var j in bars) {\n if(!drawData[key].data.hasOwnProperty(j)) {\n continue;\n }\n\n var dd = drawData[key].data[j];\n\n nCb(dd[0], dd[1], dd[2], dd[3], dd[4]);\n }\n }\n\n var usePath2D = false;\n\n for(key in drawData) {\n var barConfig = drawData[key];\n var bars = barConfig.data;\n\n ge.fillStyle = barConfig.fillStyle;\n ge.strokeStyle = barConfig.strokeStyle;\n\n var path;\n\n if(usePath2D && window.Path2D) {\n path = new Path2D();\n } else {\n path = ge;\n path.beginPath();\n }\n\n const styleEqStrokeStyle = barConfig.fillStyle === barConfig.strokeStyle;\n\n runDrawData(function(it, a, r, l, i) {\n n1(it, a, r, l, i, path, styleEqStrokeStyle);\n });\n\n if(usePath2D && window.Path2D) {\n ge.stroke(path);\n } else {\n ge.stroke();\n }\n\n runDrawData(function(it, a, r, l, i) {\n n2(it, a, r, l, i, null, styleEqStrokeStyle);\n });\n\n ge.strokeStyle = barConfig.volumeStrokeStyle;\n\n runDrawData(function(it, a, r, l, i) {\n n3(it, styleEqStrokeStyle);\n });\n }\n\n // p is array of closing prices\n\n return p\n }\n\n var u, l, s, c, f, h, p, b, g, m, F, $, k, _, Z, B, O, R, E, N, L, U, W, C, Q, A, Y, D, K, z, j, G, q, nt, et, rt, ot, it, ut, lt, at, ct, ft, ht, pt, vt, bt, gt, xt, yt, $t, kt, _t, It, Xt, Ot, Rt, Et, Ut, Wt, Qt, At, Dt, zt, jt, Gt, ne, te, oe, ue, le, ae, se, ce, fe, he, de, pe, ve, be, ge, me, ye, $e, we, Te, Ve, ke, Se, _e, Ie, Le, Ue, Ce, Ye, je, Ge, nr, tr, er, rr, ir, ur, lr, sr, cr, fr, hr, pr, br, gr, mr, Fr, yr, $r, Vr, kr, Mr, Xr, Zr, Jr, Pr, Hr, Br, Or, Nr, Lr, Ur, Wr, Cr, Qr, Ar, Yr, Dr, Kr, zr, jr, qr, no, to, io, uo, co, fo, po, vo, bo, go, mo, Fo, xo, yo, $o, To;\n\n if (Er) {\n window.Measurer('main-canvas').start();\n window.Measurer('main-canvas-p1').start();\n\n // return ml(Ii); // clear main\n\n xl();\n F = $ = Er[w];\n u = Mi[\"stick_style\"];\n\n So = xe && Io < 3600 && Je && Oe && Mi[\"depth_range\"] !== \"none\";\n ge = Ii;\n\n ml(ge, ge.canvas.width, ge.canvas.height);\n\n ut = Yt($, T).length - 1;\n\n if (ut > ho && Ci && ho === Ci + $i - 1) {\n Ci += ut - ho;\n ho = ut;\n }\n\n if (Ci > ut) {\n Ci = ut;\n }\n\n if (0 > Ci) {\n Ci = 0;\n }\n\n Ui = Ci + $i - 1;\n\n if (Ui > ut) {\n Ui = ut;\n }\n\n s = parseFloat(pu.val());\n c = parseFloat(vu.val());\n\n Y = Mi[\"market\"] != null && Mi[\"market\"] !== \"none\";\n\n mr = [];\n\n pe = Mi[\"main_lines\"];\n $e = ie[pe];\n\n if (Y) {\n pe = \"none\";\n u = \"line\";\n }\n\n switch (pe) {\n case 'mas':\n if (Er[pe] == null) {\n Er[pe] = (function () {\n var e = ie.price_mas.params;\n var r = [];\n var n = 0;\n for (var t = e.length; t > n; n++) {\n G = e[n];\n r.push(Pt(F, T, G));\n }\n return r;\n })();\n }\n break;\n case 'emas':\n if (Er[pe] == null) {\n Er[pe] = (function () {\n var e = ie.price_mas.params;\n var r = [];\n var n = 0;\n for (var t = e.length; t > n; n++) {\n G = e[n];\n r.push(Zt(F, T, G));\n }\n return r;\n })();\n }\n break;\n case 'bbands':\n case 'sar':\n if (Er[pe] == null) {\n Er[pe] = $e[t.Lz].apply($e, [F, $e[t.VV]].concat(ao.call($e[t.UB])));\n }\n break;\n case 'none':\n if (Er[pe] == null) {\n Er[pe] = [];\n }\n }\n\n switch (((Ie = Er[pe]), (pe = Mi[t.VT]))) {\n case 'macd':\n if (Er[pe] == null) {\n Er[pe] = Ht.apply(null, [F, T].concat(ao.call(ie.macd.params)));\n }\n ne = Er[pe];\n xo = Vt(ee, $, Ci, Ui, ne);\n rt = xo[0];\n et = xo[1];\n zt = xo[2];\n It = [rt, et];\n pt = Sr([rt, et, zt]);\n Xt = -pt;\n _t = 2 * pt;\n break;\n case 'stoch_rsi':\n if (Er[pe] == null) {\n Er[pe] = Lt.apply(null, [F, T].concat(ao.call(ie.stoch_rsi.params)));\n }\n je = Er[pe];\n yo = Vt(ee, $, Ci, Ui, je);\n Ue = yo[0];\n Le = yo[1];\n It = [Ue, Le];\n Xt = 0;\n _t = 100;\n break;\n case 'kdj':\n if (Er[pe] == null) {\n Er[pe] = Jt.apply(null, [F, [M, I, T]].concat(ao.call(ie.kdj.params)));\n }\n Rt = Er[pe];\n $o = Vt(ee, $, Ci, Ui, Rt);\n ji = $o[0];\n q = $o[1];\n Ot = $o[2];\n It = [ji, q, Ot];\n ue = _r([ji, q, Ot, [100]]);\n ce = Ir([ji, q, Ot, [0]]);\n Xt = ce;\n _t = ue - ce;\n break;\n case 'bid_ratio':\n if (Er[pe] == null) {\n Er[pe] = Mt.apply(null, [F, [x, y]].concat(ao.call(ie.bid_ratio.params)));\n }\n g = Vt(ee, $, Ci, Ui, Er[pe]);\n Xt = 0;\n _t = 1;\n ue = _r(g);\n ce = Ir(g);\n Xt = 0.5 - Math.max(0.5 - ce, ue - 0.5);\n _t = 1 - 2 * Xt;\n It = g;\n break;\n case 'none':\n break;\n default:\n pe = Mi[t.VT];\n $e = ie[pe];\n Ve = $e[t.VV];\n\n if (Er[pe] == null) {\n Er[pe] = $e[t.Lz].apply($e, [F, Ve].concat(ao.call($e[\"params\"])));\n }\n\n Qt = Vt(ee, $, Ci, Ui, Er[pe]);\n\n switch ($e[\"axis\"]) {\n case 'symm':\n pt = Sr(Qt);\n Xt = -pt;\n _t = 2 * pt;\n break;\n case '100':\n Xt = 0;\n _t = 100;\n break;\n case 'auto':\n ce = Ir(Qt);\n ue = _r(Qt);\n Xt = ce;\n _t = ue - ce;\n break;\n case 'custom':\n ce = $e[t.VR](Qt);\n ue = $e[t.Ug](Qt);\n Xt = ce;\n _t = ue - ce;\n }\n It = Qt;\n }\n\n to = Vt(ee, $, Ci, Ui, [Bo, X, T, M, I, V, J, x, y]);\n\n // $ is candles data?\n // Ci is probably first visible bar index\n // Ui is probably the last visible bar index\n\n // reason for diff time candles issue: all candles are init by the the time trade arrives, meaning\n // the open price is already set or\n // the close price is already set\n\n yr = to[0];\n // 1 is array of opening prices\n ye = to[1];\n // 2 is array of closing prices\n U = to[2];\n // 3 is array of highs prices\n vt = to[3];\n // 4 is array of lows prices\n At = to[4];\n // 5 is array of Date()\n nt = to[5];\n // 6 is array of unix timestamps\n ur = to[6];\n p = to[7];\n m = to[8];\n\n gr = Vt(ee, $, Ci, Ui, mr);\n // Ie is list of visible main indicator objects (lines, mainly)\n _e = Vt(ee, $, Ci, Ui, Ie);\n\n Po = ur;\n\n // get only visible candles\n ht = Math.floor((Si - xi) / Ti);\n yt = vt.slice(0, ht);\n $t = At.slice(0, ht);\n\n if (Er[mi] == null) {\n Er[mi] = Ct($, [P, H, T]);\n }\n\n Xr = Vt(ee, $, Ci, Ui, Er[mi])[0];\n\n if (u === \"line\" || u === \"line_o\") {\n switch (Mi[\"line_style\"]) {\n case 'm':\n if (Er[ii] == null) {\n Er[ii] = Bt(F, [X, M, I, T]);\n }\n U = Vt(ee, $, Ci, Ui, Er[ii])[0];\n break;\n case 'w':\n U = Xr;\n }\n }\n\n K = $i * Ti;\n Hi = Si - xi - wi * Ti;\n\n D = {x: Hi, y: ki, w: K, h: ki};\n ot = {x: 0, y: 0, w: $i, h: 0};\n\n bt = [];\n\n D.h = -16; // place for timestamp\n\n b = lo(D, ot);\n\n r(0);\n\n D.y -= Rr;\n D.h = -uu;\n\n if (Mi[t.VT] === \"none\") {\n Gt = null;\n } else {\n ot.y = Xt;\n ot.h = _t;\n Gt = lo(D, ot);\n r();\n }\n\n if (gr.length) {\n ot.y = 0;\n ot.h = _r([gr, yr]);\n } else {\n ot.y = 0;\n ot.h = _r([yr]);\n }\n\n Fr = lo(D, ot);\n\n Me = Gt;\n Ro = Fr;\n\n var mainBottomPadding = window.$is_mobile ? 0 : 8;\n var volumeTopPadding = Rr;\n\n r(volumeTopPadding);\n\n D.y -= mainBottomPadding; // main chart lower padding\n\n // window.Measurer('calc-low-high').start();\n\n var heatmapsEnabled = (Mi['enable_heatmap'] === \"yes\") ||\n ('$heatmap_settings' in window && window.$heatmap_settings.combined);\n\n var calcLows = [];\n var calcHighs = [];\n\n if(heatmapsEnabled) {\n if (_e.length) {\n calcHighs = [_e.slice(0), vt];\n calcLows = [_e.slice(0), At];\n } else {\n calcHighs = [[], vt];\n calcLows = [[], At];\n }\n } else {\n if (_e.length) {\n calcHighs = [_e, vt];\n calcLows = [_e, At];\n } else {\n calcHighs = [vt];\n calcLows = [At];\n }\n }\n\n // can be optimized\n if(heatmapsEnabled) {\n var heatmapsRange = 0.03;\n\n if(Io <= 180) {\n heatmapsRange /= 2;\n }\n\n var index;\n var vtTo = vt.length;\n var AtTo = At.length;\n\n index = calcHighs[0].length;\n calcHighs[0][index] = [];\n\n for(var vtI = 0; vtI < vtTo; vtI++) {\n calcHighs[0][index].push(vt[vtI] * (1 + heatmapsRange));\n }\n\n index = calcLows[0].length;\n calcLows[0][index] = [];\n\n for(var AtI = 0; AtI < AtTo; AtI++) {\n calcLows[0][index].push(At[AtI] * (1 - heatmapsRange));\n }\n }\n\n // window.Measurer('calc-low-high').stop();\n\n // max value of all gt sub-arrays (candles and indicators)\n ue = _r(calcHighs);\n // min value of all visible candles and indicators\n ce = Ir(calcLows);\n\n calcHighs = null;\n calcLows = null;\n\n ir = wr(ur);\n ve = Date.now() / 1000;\n\n // ue and ce are equal to high / low visible prices\n\n ue = (1 + 0.01) * ue;\n ce = (1 - 0.01) * ce;\n\n while(ue && ue < vt[vt.length - 1]) {\n ue *= 1.01;\n }\n\n while(ce && ce > At[At.length - 1]) {\n ce *= .99;\n }\n\n if(dt) {\n pl(\"calc depth\", function() {\n var nCounter = {\n 1: 0, 2: 0\n };\n\n function e(n, nId) {\n var t;\n var nIndex = nCounter[nId];\n if ((t = n[nIndex])) {\n nCounter[nId]++;\n return [t[0], t[1]];\n } else {\n return null;\n }\n }\n\n /*function e(n) {\n var t;\n if ((t = n.shift())) {\n return [t[0], t[1]];\n } else {\n return null;\n }\n }*/\n\n var l;\n var s;\n var f;\n var b;\n var F;\n var y;\n var T;\n var V;\n var k;\n var S;\n var J;\n var P;\n var H;\n var O;\n var E;\n var N;\n var U;\n var W;\n\n dt = false;\n du = tt[d].flatten();\n Lu = tt[v].flatten().reverse();\n\n var sliceLimit = 800;\n\n switch(Mi[\"depth_range\"]) {\n case \"pmax\":\n sliceLimit = 2500;\n break;\n\n case \"p2\":\n case \"p5\":\n sliceLimit = 1500;\n break;\n }\n\n var c = du.slice(0, sliceLimit);\n var g = Lu.slice(0, sliceLimit);\n var $ = [];\n var w = [];\n var a = e(c, 1);\n\n for (var p = e(g, 2); a && p; ) {\n if (a[1] <= p[1]) {\n if (a[1] > 1e-9) {\n $.push([a[0], a[1]]);\n w.push([p[0], a[1]]);\n }\n p[1] -= a[1];\n a = e(c, 1);\n } else if (p[1] <= a[1]) {\n if (p[1] > 1e-9) {\n $.push([a[0], p[1]]);\n w.push([p[0], p[1]]);\n }\n a[1] -= p[1];\n p = e(g, 2);\n }\n }\n\n var I = 0;\n var Z = 0;\n var h = [];\n\n f = 0;\n Gi = null;\n qi = null;\n\n if (Mi[\"depth_range\"] === \"pmax\") {\n S = 2;\n } else if (Mi[\"depth_range\"] === \"none\") {\n S = 1;\n } else {\n S = ((E = Mi[\"depth_range\"]) != null ? E.match(/\\d+/).toString() : void 0) >> 0;\n S = S / 100 + 1;\n }\n\n if (Tr !== S) {\n Ne = -100000000;\n Qe = 1e8;\n Tr = S;\n Nt = null;\n Tt = null;\n St = [];\n }\n\n var m = false;\n F = null;\n\n var _ = (Date.now() / 1000) >> 0;\n _ -= _ % 15;\n\n if (((N = St[0]) != null ? N[0] : void 0) !== _) {\n St.unshift([_, 0]);\n }\n\n if (St.length > 20) {\n St.pop();\n k = (function() {\n var e = [];\n var n = 0;\n for (var t = St.length; t > n; n++) {\n V = St[n];\n e.push(V[1]);\n }\n return e;\n })();\n Tt = Math.max.apply(Math, k);\n ru(t.VP + Tt);\n }\n\n var x = (P = 0);\n for (\n var L = $.length;\n (L >= 0 ? L > P : P > L) &&\n ((a = $[x]), (p = w[x]), a != null && p != null);\n x = L >= 0 ? ++P : --P\n ) {\n J = a[1];\n l = J;\n\n Gi = a;\n qi = p;\n\n if (F != null && Z / 2 + l > F) {\n l = F - Z / 2;\n m = true;\n }\n U = [a, p];\n H = 0;\n for (O = U.length; O > H; H++) {\n T = U[H];\n I += T[0] * l;\n Z += l;\n }\n f = I / Z;\n h.push([f, l, a[0], p[0]]);\n J -= l;\n Wt = Z / 2;\n if (F == null) {\n if (\n (a != null ? a[0] : void 0) > f * S ||\n (p != null ? p[0] : void 0) < f / S\n ) {\n if (St[0][1] < Wt) {\n ru(\"refresh limit \" + _ + t.Iz + Wt.toPrecision(4));\n St[0][1] = Wt;\n }\n if (!(Tt > Wt)) {\n break;\n }\n F = Tt;\n }\n } else if (m) {\n break;\n }\n }\n Tt = Wt;\n Nt = Wt;\n n[zo] = [];\n n[qo] = [];\n n[Yo] = [];\n n[Do] = [];\n n[Ko] = [];\n n[jo] = [];\n Gu = Wt / (xi - 8);\n Kt = Wt;\n var M = 0;\n var r = 0;\n var o = 0;\n var u = 0;\n x = 0;\n var C = [];\n var B = 0;\n for (R = h.length; R > B; B++) {\n W = h[B];\n f = W[0];\n l = W[1];\n s = W[2];\n b = W[3];\n C.push(\n (function() {\n var t;\n var e;\n var i;\n var a;\n var c;\n var f;\n var h;\n var d;\n for (var p = []; l > 1e-8; ) {\n y = Gu > M + l ? l : Gu - M;\n if ((t = n[Yo])[x] == null) {\n t[x] = (f = n[Yo][x - 1]) != null ? f : 0;\n }\n if ((e = n[Do])[x] == null) {\n e[x] = (h = n[Do][x - 1]) != null ? h : 0;\n }\n if ((i = n[qo])[x] == null) {\n i[x] = (d = n[qo][x - 1]) != null ? d : 0;\n }\n if ((a = n[Ko])[x] == null) {\n a[x] = s;\n }\n if ((c = n[jo])[x] == null) {\n c[x] = b;\n }\n r = n[Yo][x] += s * y;\n o = n[Do][x] += b * y;\n u = n[qo][x] += y;\n n[zo][x] = (r + o) / u / 2;\n M += y;\n l -= y;\n if (1e-8 > Gu - M) {\n M = 0;\n p.push(x++);\n } else {\n p.push(void 0);\n }\n }\n return p;\n })()\n );\n }\n\n //console.log(C)\n\n return C;\n });\n } else {\n Wt = Kt;\n }\n\n at = ue;\n ct = ce;\n\n // chart min range depends on last (or first?) candle time?!\n if(ve - ir < 86400) {\n l = 1;\n } else if(ve - ir < 604800) {\n l = 1 - (ve - ir) / 86400 / 7;\n } else {\n l = 0;\n }\n\n if (Gi != null) {\n if (Gi[0] > ue) {\n at = Gi[0];\n }\n }\n\n if (qi != null) {\n if (qi[0] < ce) {\n ct = qi[0];\n }\n }\n\n // Ne & Qe are old values for at and ct accordingly\n if (Ne / at > 1.02) {\n Ne = at;\n }\n\n if (ct / Qe > 1.02) {\n Qe = ct; // it was bugged initially\n }\n\n if (So) {\n at = Math.max(at, Ne);\n ct = Math.min(ct, Qe);\n }\n\n // Xr is array of indicators prices? Maybe?\n // max element of Xr\n kr = Math.max.apply(Math, Xr);\n // min element of Xr\n Mr = Math.min.apply(Math, Xr);\n\n R = Mi[\"chart_range\"] === \"pmax\" ? 100 : 1.05;\n se = 1 + (kr / Mr - 1) / 3;\n\n if (R > se) {\n se = R;\n }\n\n B = kr * se;\n O = Mr / se;\n\n ue = ue * (1 - l) + at * l;\n ce = ce * (1 - l) + ct * l;\n\n // max price on graph\n ue = Math.min(B, ue);\n // min price on graph\n ce = Math.max(O, ce);\n\n if(!autoScale) {\n ue = 5900;\n ce = 5000;\n }\n\n // what's the point using old values?\n // maybe to have smooth scrolling\n if(Mi['enable_heatmap'] !== \"yes\" || true) {\n Ne = at;\n Qe = ct;\n }\n\n if ((iu = (io = Mi[\"chart_range\"]) != null ? io.match(/\\d+/) : void 0)) {\n Te = (iu[0] >> 0) / 100 + 1;\n ue = kr * Te;\n ce = Mr / Te;\n }\n\n // main chart top padding\n D.h = -D.y + Rr;\n\n if(!window.$is_mobile) {\n D.h += 12 + 12;\n }\n\n ot.y = ce;\n ot.h = ue - ce;\n\n oe = lo(D, ot, Mi[\"scale\"] === \"logarithmic\");\n\n if (wo > 1e7) {\n oe[wt] = 1e8;\n }\n\n Xe = oe;\n\n if (Gt) {\n hr = Gt;\n ol = Mi[t.VT];\n Qt = [];\n\n if (ol === \"macd\") {\n tr = oo(hr, 0);\n we = zt[0];\n it = Jr = 0;\n // fixme: slow due constant styles change\n for (Br = zt.length; Br > Jr; it = ++Jr) {\n lt = zt[it];\n\n if (lt > 0) {\n ge.fillStyle = Jo[t.BC];\n ge.strokeStyle = Jo[t.PO];\n } else {\n ge.fillStyle = Jo[t.FR];\n ge.strokeStyle = Jo[t.PQ];\n }\n\n if (dl(lt, we)) {\n ge.fillStyle = Jo[t.SW];\n }\n\n Ke(ge, hr, tr, it, lt, yi);\n we = lt;\n }\n } else if (ol === t.CQ || ol === t.qx) {\n Qt = [20, 80];\n } else if (ol !== \"dmi\") {\n if (ol === \"rsi\") {\n Qt = [30, 70];\n } else if (ol === t.MW) {\n Qt = [0];\n } else if (ol === t.zs && e) {\n tr = oo(hr, 0.5);\n Ee(ge, tr + 0.5, 0, Si);\n }\n }\n\n Pr = 0;\n\n for (Nr = Qt.length; Nr > Pr; Pr++) {\n ol = Qt[Pr];\n tr = oo(hr, ol);\n D = hr[mt];\n if (D.y > tr && tr > D.y + D.h) {\n Ee(ge, tr + 0.5, 0, Si);\n }\n }\n }\n\n window.Measurer('main-canvas-p1').stop();\n\n window.Measurer('main-canvas-p2').start();\n //window.Measurer('main-canvas-p2-1').start();\n\n if(a) {\n tr = oo(Fr, 0);\n }\n // slow part 1\n // volume\n //o(function(n) {\n // return Ze !== \"Coinbase\" && yr[n] > 1e-11 ? Ke(ge, Fr, tr, n, yr[n], yi) : void 0\n //});\n\n //window.Measurer('main-canvas-p2-1').stop();\n window.Measurer('main-canvas-p2-2').start();\n\n // slow part 2\n Re(ge, oe, function () {\n return o(\n function (n, e, r, o, i, linePath, fillAndStroke) {\n if (u === \"ohlc\" || u === \"candle_stick\" || u === \"candle_stick_hlc\") {\n ze(linePath, oe, n, o, i, al);\n }\n },\n function (n, e, r, o, i, linePath, fillAndStroke) {\n var l, a, res;\n\n if (u === \"ohlc\" || u === \"candle_stick\" || u === \"candle_stick_hlc\") {\n switch (u) {\n case \"ohlc\":\n l = ro(oe, n);\n\n a = oo(oe, e);\n Ee(ge, a + .5, l - Ai / 2, l + al);\n\n a = oo(oe, r);\n return Ee(ge, a + .5, l + al, l + yi + Ai / 2);\n case \"candle_stick\":\n return De(ge, oe, n, e, r, yi, fillAndStroke);\n case \"candle_stick_hlc\":\n return De(ge, oe, n, e, r, yi, fillAndStroke);\n }\n }\n },\n function (n, fillAndStroke) {\n // draw volume\n if (yr[n] > 1e-11) {\n Ke(ge, Fr, tr, n, yr[n], yi, fillAndStroke)\n }\n }\n );\n });\n\n /* window.isDrawing = false\n\n return;*/\n\n window.Measurer('main-canvas-p2-2').stop();\n window.Measurer('main-canvas-p2-3').start();\n\n if (u === \"line\" || u === \"line_o\") {\n Re(ge, oe, function () {\n var n, e, r, o, i, l, a, s, c, f, h, d, p, v, b, g, m, F, x;\n\n if (!Y) {\n ge.beginPath();\n ge.fillStyle = Jo[t.MP];\n h = eo(oe, 0, vt[0]);\n n = h[0];\n e = h[1];\n ge.moveTo(n + al, e);\n it = r = 0;\n for (o = vt.length; o > r; it = ++r) {\n lt = vt[it];\n d = eo(oe, it, lt);\n n = d[0];\n e = d[1];\n ge.lineTo(n + al, e);\n }\n for (\n it = a = p = U.length - 1;\n 0 >= p ? 0 >= a : a >= 0;\n it = 0 >= p ? ++a : --a\n ) {\n lt = U[it];\n v = eo(oe, it, lt);\n n = v[0];\n e = v[1];\n ge.lineTo(n + al, e);\n }\n ge.fill();\n ge.beginPath();\n ge.fillStyle = Jo[t.ut];\n b = eo(oe, 0, At[0]);\n n = b[0];\n e = b[1];\n ge.moveTo(n + al, e);\n it = s = 0;\n for (i = At.length; i > s; it = ++s) {\n lt = At[it];\n g = eo(oe, it, lt);\n n = g[0];\n e = g[1];\n ge.lineTo(n + al, e);\n }\n for (\n it = c = m = U.length - 1;\n 0 >= m ? 0 >= c : c >= 0;\n it = 0 >= m ? ++c : --c\n ) {\n lt = U[it];\n F = eo(oe, it, lt);\n n = F[0];\n e = F[1];\n ge.lineTo(n + al, e);\n }\n ge.fill();\n }\n\n ge.lineWidth = yi === 1 ? 1.5 : 2;\n\n if (Y) {\n ge.lineWidth = 1;\n ge.strokeStyle = Jo[t.VB][0];\n } else {\n ge.strokeStyle = Jo[t.Nj];\n }\n\n Ae(ge, oe, U, al + 0.5);\n\n if (u === \"line_o\") {\n ge.fillStyle = Jo[t.SW];\n ge.strokeStyle = Jo[t.Nj];\n it = f = 0;\n for (l = U.length; l > f; it = ++f) {\n lt = U[it];\n x = eo(oe, it, lt);\n n = x[0];\n e = x[1];\n ge.beginPath();\n ge.arc(n + al + 0.5, e, ge.lineWidth, 0, 2 * Math.PI, true);\n ge.closePath();\n ge.fill();\n ge.stroke();\n }\n }\n\n ge.lineWidth = 1;\n vt = U;\n\n return (At = U);\n });\n }\n\n ge.lineWidth = 1;\n\n Z = [\n [oe, _e, true, Mi[\"main_lines\"]],\n [Fr, gr, true]\n ];\n\n if (Gt && (Mi[t.VT] !== t.zs || e)) {\n Z.unshift([Gt, It, true, Mi[t.VT]]);\n }\n\n Hr = 0;\n\n for (Lr = Z.length; Lr > Hr; Hr++) {\n uo = Z[Hr];\n\n hr = uo[0];\n Vr = uo[1];\n Ye = uo[2];\n pe = uo[3];\n\n if (Ye) {\n if (pe === \"sar\") {\n Ce = _e[0];\n ge.strokeStyle = Jo[t.VB][0];\n it = Dr = 0;\n\n for (Ur = Ce.length; Ur > Dr; it = ++Dr) {\n lt = Ce[it];\n co = eo(hr, it, lt);\n z = co[0];\n j = co[1];\n z += al + 0.5;\n ge.beginPath();\n Zr = yi / 2;\n\n if (Zr > 3.5) {\n Zr = 3.5;\n }\n\n // todo: try with arcTo?\n ge.arc(z + 0.5, j, Zr, 0, 2 * Math.PI, true);\n ge.stroke();\n }\n\n } else {\n if ((fo = (po = ie[pe]) != null ? po[t.qQ] : void 0) != null) {\n A = fo;\n } else {\n A = Jo[t.VB];\n }\n\n xt = Kr = 0;\n\n for (Wr = Vr.length; Wr > Kr; xt = ++Kr) {\n $r = Vr[xt];\n ge.strokeStyle = A[xt];\n\n // slowest call here\n Ae(ge, hr, $r, al + 0.5);\n }\n }\n }\n }\n\n window.Measurer('main-canvas-p2-3').stop();\n window.Measurer('main-canvas-p2').stop();\n\n window.Measurer('main-canvas-p3').start();\n window.Measurer('main-canvas-p3-0').start();\n\n ge.lineWidth = 1;\n\n le = 0;\n ae = 0;\n xt = zr = 0;\n\n for (Cr = yt.length; Cr > zr; xt = ++zr) {\n ol = yt[xt];\n if (ol > le) {\n le = ol;\n ae = xt;\n }\n }\n\n fe = 1 / 0;\n he = 0;\n xt = jr = 0;\n\n for (Qr = $t.length; Qr > jr; xt = ++jr) {\n ol = $t[xt];\n if (fe > ol) {\n fe = ol;\n he = xt;\n }\n }\n\n // fixme: save up to 2ms: cache pointing arrows\n Re(ge, oe, function () {\n Xl(ge, oe, ae, le, al);\n\n return Xl(ge, oe, he, fe, al);\n });\n\n window.Measurer('main-canvas-p3-0').stop();\n\n window.Measurer('main-canvas-p3-1').start();\n\n function drawXAxisLabels() {\n function n(n, e) {\n var r = 60 * Fe[\"getTimezoneOffset\"](n);\n return (n.getTime() / 1000 - r) % e < Io;\n }\n\n var e, r, o, i, u, l, a, s, c, f, h, d, p, v, g, m, F, x, y, w, T;\n\n Gu = Io;\n\n o = null;\n i = null;\n e = null;\n r = null;\n\n s = {\n 60: {\n cond: n,\n key_cond: function(n) {\n return Fe[\"getMinutes\"](n) === 0;\n },\n text: function(n) {\n return xr(n);\n },\n key_text: function(n) {\n return dr(n);\n },\n over: function(n) {\n return or(n);\n }\n },\n 3600: {\n cond: n,\n key_cond: function(n) {\n return Fe[\"getHours\"](n) === 0 && Fe[\"getDate\"](n) !== e;\n },\n text: function(n) {\n return dr(n);\n },\n key_text: function(n) {\n e = Fe[\"getDate\"](n);\n return or(n);\n },\n over: function(n) {\n return or(n);\n }\n },\n 86400: {\n cond: n,\n key_cond: function(n) {\n return false;\n },\n text: function(n) {\n return or(n);\n },\n key_text: function(n) {\n return or(n);\n },\n over: function(n) {\n return Fe[\"getFullYear\"](n);\n }\n },\n 604800: {\n cond: function(n) {\n return Fe[\"getDate\"](n) < 8 && Fe[\"getMonth\"](n) !== o;\n },\n key_cond: function(n) {\n return Fe[\"getMonth\"](n) === 0 && Fe[\"getFullYear\"](n) !== i;\n },\n text: function(n) {\n o = Fe[\"getMonth\"](n);\n return vr(n);\n },\n key_text: function(n) {\n i = Fe[\"getFullYear\"](n);\n o = Fe[\"getMonth\"](n);\n return Fe[\"getFullYear\"](n);\n },\n over: function(n) {\n return Fe[\"getFullYear\"](n);\n }\n }\n };\n\n if (Gu >= 86400) {\n a = 604800;\n d = 604800;\n } else {\n d = Gu * (80 / Ti);\n if (1800 >= d) {\n a = 60;\n g = [10, 30];\n } else if (28800 >= d) {\n a = 3600;\n g = [1, 2, 3, 6, 8];\n } else if (1296000 >= d) {\n a = 86400;\n g = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];\n } else {\n a = 604800;\n g = 1;\n }\n x = 0;\n for (F = g.length; F > x; x++) {\n xt = g[x];\n if (a * xt > d) {\n d = a * xt;\n break;\n }\n }\n }\n\n D = b[mt];\n\n if ((l = s[a])) {\n ge.strokeStyle = Jo[t.Np];\n ge.textAlign = t.VN;\n ge.textBaseline = \"middle\";\n\n var textFontObjects = [];\n var numbersFontObjects = [];\n\n nt = Yt($, V);\n f = null;\n h = 0;\n v = y = w = Ci - 1;\n\n for (T = Ci + $i; T >= w ? T >= y : y >= T; v = T >= w ? ++y : --y) {\n u = nt[v];\n\n if (!u) {\n if (!f) {\n continue;\n }\n u = new Date(f);\n u.setSeconds(Io);\n }\n\n xt = v - Ci;\n\n if (l.cond(u, d)) {\n if (l.key_cond(u)) {\n m = l.key_text(u);\n c = true;\n } else {\n m = l.text(u);\n c = false;\n }\n\n z = Hi + xt * Ti + al + 0.5;\n\n if (z > h + 30 || c) {\n if(c) {\n textFontObjects.push([m, z, D.y + D.h]);\n } else {\n numbersFontObjects.push([m, z, D.y + D.h]);\n }\n\n h = z;\n }\n }\n\n f = u;\n }\n\n var tfo = 0,\n toTfo = textFontObjects.length,\n textContent, textX, textWidth;\n\n if(toTfo) {\n ge.fillStyle = Jo[t.Sy];\n ge.font = t.VM + qe;\n\n for(; tfo < toTfo; tfo++) {\n textContent = textFontObjects[tfo][0];\n textX = textFontObjects[tfo][1];\n textWidth = textFontObjects[tfo][2];\n\n We(ge, textX, textWidth, textWidth + 4);\n ge.fillText(textContent, textX, textWidth + 8.5);\n }\n }\n\n var nfo = 0, toNfo = numbersFontObjects.length;\n\n if(toNfo) {\n ge.fillStyle = Jo[t.Sy];\n ge.font = \"\" + re + t.Iz + qe;\n\n for(; nfo < toNfo; nfo++) {\n textContent = numbersFontObjects[nfo][0];\n textX = numbersFontObjects[nfo][1];\n textWidth = numbersFontObjects[nfo][2];\n\n We(ge, textX, textWidth, textWidth + 4);\n ge.fillText(textContent, textX, textWidth + 8.5);\n }\n }\n\n if (nt[Ci]) {\n p = l.over(nt[Ci]);\n\n return $u.text(p);\n }\n }\n\n };\n\n //if(!window.$is_flutter_view) {\n drawXAxisLabels();\n //}\n\n window.Measurer('main-canvas-p3-1').stop();\n window.Measurer('main-canvas-p3-2').start();\n\n z = Si - xi;\n\n ge.strokeStyle = Jo[t.Np];\n ge.textAlign = t.uO;\n ge.textBaseline = \"middle\";\n ge.font = \"\" + re + t.Iz + qe;\n // ge.fillStyle = Jo[t.lU];\n // ge.fillRect(z, 0, z + xi, ki);\n ge.fillStyle = Jo[t.Sy];\n\n pr = a ? [Gt, oe, Fr] : [Gt, oe];\n\n //console.log(JSON.stringify(pr[2][17]), JSON.stringify(pr[2][18]))\n\n vo = function () {\n var n, t, e;\n for (e = [], t = 0, n = pr.length; n > t; t++) {\n hr = pr[t];\n\n if(hr) {\n hr = Gr(hr);\n\n hr[mt].w = xi;\n hr[mt].x = z;\n\n e.push(hr)\n } else {\n e.push(void 0);\n }\n }\n return e\n }();\n\n jt = vo[0];\n te = vo[1];\n br = vo[2];\n\n // bottom date series (X axis)\n // up to 3ms\n for (qr = 0, Ar = bt.length; qr < Ar; qr++) {\n j = bt[qr];\n Ee(ge, j + .5, z, z + xi);\n }\n\n window.Measurer('main-canvas-p3-2').stop();\n window.Measurer('main-canvas-p3-3').start();\n\n Pe(ge, te, { hr: \"hr\" });\n\n sr = 0;\n cr = 0;\n\n if(So) {\n pl(\"draw_depth_hints\", function () {\n var e, r, o, i;\n\n ol = Gr(te);\n\n ol[mt].x += 8;\n ol[mt].w -= 8;\n ol[Ft].x = 0;\n ol[Ft].w = Wt;\n\n o = ol[mt].x;\n e = o + ol[mt].w;\n r = ol[mt].y;\n i = r + ol[mt].h;\n Gu = Wt / ol[mt].w;\n\n return Re(ge, ol, function () {\n var u, l, a, s, c, f, h, d, p, v, b, g, m, F, x, y, $, w;\n\n ge.lineWidth = 1;\n\n c = [\n [du, t.MK],\n [Lu, t.MJ]\n ];\n\n window.Measurer('draw-depth').start();\n\n var useSimplifiedHints = performanceSettings['simplified_orderbook_hints'];\n\n for (b = 0, v = c.length; v > b; b++) {\n g = c[b];\n\n s = g[0];\n u = g[1];\n\n pl(\"draw \" + u, function () {\n var n, l, a, c, f, h, d, p, v, b, g;\n\n if(useSimplifiedHints) {\n if (u === \"Green\") {\n // ge.strokeStyle = \"#00C900\";\n // ge.strokeStyle = \"#14B514\";\n ge.strokeStyle = \"#129912\";\n } else if (u === \"Red\") {\n // ge.strokeStyle = \"#CA0000\";\n // ge.strokeStyle = \"#B61414\";\n ge.strokeStyle = \"#991111\";\n }\n } else {\n ge.fillStyle = Jo[\"\" + u + t.bT];\n ge.strokeStyle = Jo[\"\" + u + t.bT];\n }\n\n h = Wt;\n a = ol[mt].x;\n b = [];\n\n l = g = 0;\n d = s.length;\n\n if(useSimplifiedHints) {\n ge.beginPath();\n }\n\n while(d > g && !(h < 1e-8)) {\n c = s[l];\n\n if(c[1] < h) {\n n = c[1];\n } else {\n n = h;\n }\n\n f = c[0];\n\n p = eo(ol, Wt - h + n, f);\n\n //console.log(ol)\n //debugger\n\n z = p[0];\n j = p[1];\n\n if(a >= o && e >= a && i <= (v = j - 1) && r >= v) {\n if(useSimplifiedHints) {\n ge.moveTo(a, j - 1);\n ge.lineTo(z + 1, j - 1);\n\n ge.moveTo(a, j);\n ge.lineTo(z + 1, j);\n } else {\n ge.fillRect(a, j - 1, z - a + 1, 2);\n }\n\n }\n\n a = z;\n h -= n;\n l = ++g;\n\n b.push(void 0);\n }\n\n if(useSimplifiedHints) {\n ge.stroke()\n }\n\n return b\n });\n }\n\n window.Measurer('draw-depth').stop();\n\n h = Wt;\n m = [zo];\n y = [];\n\n ge.lineWidth = 1.5;\n ge.strokeStyle = Jo[t.MI];\n ge.beginPath();\n\n // bid/ask balance line\n for ($ = 0, d = m.length; $ < d; $++) {\n for (l = m[$], F = n[l], a = w = 0, p = F.length; p > w; a = ++w) {\n f = F[a],\n x = eo(ol, a * Gu, f),\n z = x[0],\n j = x[1],\n 0 === a && ge.moveTo(ol[mt].x, j),\n z >= o && e >= z && j >= i && r >= j && ge.lineTo(z, j);\n }\n\n y.push()\n }\n\n ge.stroke()\n\n return y\n })\n })\n }\n\n if (Gt) switch (be = function (n) {\n var t, e, r, o, i, u;\n for (ot = Gt[Ft], r = ot.y, e = ot.y + ot.h, t = [], u = 0, i = n.length; i > u; u++) o = n[u], o >= r && e >= o && t.push(o);\n return t\n }, Mi[t.VT]) {\n case \"macd\":\n He(ge, jt, {\n keep: \"keep\"\n });\n break;\n case \"bid_ratio\":\n case \"cmf\":\n case \"obv\":\n He(ge, jt, {\n keep: \"keep\"\n });\n break;\n case \"dmi\":\n Be(ge, jt, be([20, 50]), {\n keep: \"keep\"\n });\n break;\n case \"rsi\":\n Be(ge, jt, be([0, 30, 50, 70, 100]), {\n keep: \"keep\"\n });\n break;\n default:\n Be(ge, jt, be([0, 20, 50, 80, 100]), {\n keep: \"keep\"\n })\n }\n\n window.Measurer('main-canvas-p3-3').stop();\n window.Measurer('main-canvas-p3-4').start();\n\n de = Gr(te);\n\n if (wo > 1e7) {\n de[Ft].y *= 1e8;\n de[Ft].h *= 1e8;\n }\n\n window.Measurer('main-canvas-price-levels').start();\n\n // main chart y axis\n var priceLevels = Pe(ge, de, {text: 'pmax', keep: 'keep'});\n\n if(window.Heatmap && window.Heatmap.setPriceLevels) {\n window.Heatmap.setPriceLevels(priceLevels);\n }\n\n // volume y axis\n if (a) {\n Pe(ge, br);\n }\n\n window.Measurer('main-canvas-price-levels').stop();\n\n if (So || window.$is_flutter_view) {\n D = te[mt];\n\n (function () {\n if(!xe || !xe[st]) {\n return;\n }\n\n var r = xe[st];\n j = oo(oe, r);\n z = D.x;\n ge.strokeStyle = Jo[t.Lm];\n ge.fillStyle = Jo[t.Lm];\n\n if(xe[st] && window.$is_flutter_view) {\n Re(ge, br, function () {\n const priceText = xe[st].toPrecision(5);\n const leftPadding = xi / 2;\n\n iu = ge.measureText(priceText);\n\n ge.textBaseline = \"middle\";\n ge.textAlign = \"center\";\n //ge.font = ge.font.replace(/\\d+px/, \"10px\");\n //ge.font = \"\" + re + t.Iz + qe;\n ge.font = \"11px \" + qe;\n\n // semi-transparent background\n ge.fillStyle = Jo[t.Za];\n // ge.fillRect(z + leftPadding, j - 6, iu.width, 10);\n ge.fillRect(z + leftPadding - iu.width / 2, j - 6, iu.width, 10);\n\n // price label\n ge.fillStyle = Jo[t.Lm];\n ge.fillText(priceText, z + leftPadding, j);\n });\n }\n\n var u = te[mt];\n var i = u.y;\n pt = u.h;\n var e = i + pt;\n if (j >= e && i >= j) {\n Jl(ge, z, j);\n }\n ge.fillStyle = Jo[t.MI];\n j = oo(oe, sr / cr);\n })()\n\n // draw an arrow pointing ar current volume\n if (a && So) {\n D = te[mt];\n\n Re(ge, br, function () {\n ge.font = \"\" + re + t.Iz + qe;\n var n = wr(Yt($, Bo));\n var e = eo(Fr, Ui - Ci + 1, n);\n z = e[0];\n j = e[1];\n iu = ge.measureText(n.toFixed(5));\n ge.fillStyle = Jo[t.Za];\n ge.fillRect(D.x + 12, j - 6, iu.width, 12);\n ge.fillStyle = Jo[t.MF];\n ge.fillText(t.VJ, D.x, j);\n return ge.fillText(kl(n, false), D.x + 12, j);\n });\n }\n }\n\n if (!a) {\n D = Fr[mt];\n ge.textAlign = t.VN;\n ge.fillText('Volume is disabled.', Si / 2, D.y + D.h / 2);\n }\n\n if (Gt && Mi[t.VT] === t.zs && !e) {\n D = Gt[mt];\n ge.textAlign = t.VN;\n ge.fillText(\"\" + Ze + t.CU, Si / 2, D.y + D.h / 2);\n }\n\n D = b[mt];\n Et = Ui - Ci;\n $r = [[Et, nt[Ui]]];\n ge.font = t.Ja;\n no = 0;\n\n for (Yr = $r.length; Yr > no; no++) {\n bo = $r[no];\n xt = bo[0];\n q = bo[1];\n if (q) {\n if (xt !== 0 || !(120 / Ti > Et)) {\n z = D.x + D.w;\n j = D.y + D.h + 8.5;\n ge.strokeStyle = Jo[t.Np];\n ge.fillStyle = Jo[t.Np];\n ge.strokeStyle = Jo[t.Sy];\n ge.fillStyle = Jo[t.Sy];\n ge.beginPath();\n ge.arc(z, j, 2, 0, 2 * Math.PI, true);\n ge.closePath();\n ge.fillStyle = Jo[t.Sy];\n rr = Ci + xt === ut ? t.iG : ar(parseInt((wr(nt) - q) / 1000));\n ge.textAlign = t.uO;\n iu = ge.measureText(rr);\n ge.fillText(rr, z + (xi - iu.width) / 2, j);\n }\n }\n }\n\n window.Measurer('main-canvas-p3-4').stop();\n window.Measurer('main-canvas-p3-5').start();\n\n // console.log(Fr, te, b, Fr == te, te == b, Fr == b);\n\n // st: alerts are rendered here\n\n D = te[mt];\n ge.lineWidth = 1;\n\n f = [[s, Jo[t.MD], \"high\"], [c, Jo[t.VX], \"low\"]];\n\n To = 0;\n\n for (Or = f.length; Or > To; To++) {\n go = f[To];\n\n Se = go[0];\n Q = go[1];\n fr = go[2];\n\n if (Se) {\n ge.fillStyle = ge.strokeStyle = Q;\n\n j = oo(Xe, Se / wo) + 0.5;\n\n if (D.y + D.h < j && j < D.y) {\n ge.beginPath();\n\n ge.font = \"12px FontAwesome\";\n ge.textAlign = \"right\";\n ge.textBaseline = \"middle\";\n\n rr = '\\uf0a2';\n\n if ((fr === \"high\" && Yi) || (fr === \"low\" && ou)) {\n rr = '\\uf0f3';\n }\n\n ge.fillText(rr, D.x + D.w - 10, j);\n\n Ee(ge, j, D.x + D.w - 6, D.x + D.w);\n }\n }\n }\n\n // end: alerts are rendered here\n\n window.Measurer('main-canvas-p3-5').stop();\n window.Measurer('main-canvas-p3').stop();\n window.Measurer('main-canvas').stop();\n\n redrawHeatmap(Xe, Po, To, Mo, Ti, Hi, Mi, D);\n\n kt = 1;\n mo = S[i];\n\n for (er in mo)\n if (so.call(mo, er) && (h = mo[er], _ = null != h ? null != (Fo = h[Io]) ? Fo[w] : void 0 : void 0)) {\n switch (ft = Math.round(nt[0].getTime() / 1000), lr = Yt(_, J), k = $, C = Yt(_, T), W = Yt(k, T), me = (ft - lr[0]) / Io, Mi[\"mode\"]) {\n case \"absolute\":\n Ut = null, $r = function () {\n var n, t;\n for (n = [], ke = t = Ci; Ui >= Ci ? Ui >= t : t >= Ui; ke = Ui >= Ci ? ++t : --t) E = C[ke + me], null == E ? n.push(null) : n.push(E);\n return n\n }();\n break;\n case \"relative\":\n Ut = null, $r = function () {\n var n, t;\n for (n = [], ke = t = Ci; Ui >= Ci ? Ui >= t : t >= Ui; ke = Ui >= Ci ? ++t : --t) E = C[ke + me], null == E ? n.push(null) : (null == Ut && (Ut = U[ke - Ci] / E), n.push(E * Ut));\n return n\n }();\n break;\n case \"benchmark\":\n Ut = null, Ge = 0, nr = 0, $r = function () {\n var n, t;\n for (n = [], ke = t = Ci; Ui >= Ci ? Ui >= t : t >= Ui; ke = Ui >= Ci ? ++t : --t) N = W[ke], L = C[ke + me], N && L ? (Ge += N, nr += L, n.push(L)) : n.push(null);\n return n\n }(), Ut = Ge / nr, $r = function () {\n var n, t, e;\n for (t = [], e = 0, n = $r.length; n > e; e++) E = $r[e], null != E ? t.push(E * Ut) : t.push(E);\n return t\n }()\n }\n\n S[t.Wi] = Ut,\n ge.lineWidth = 1 === yi ? 1.5 : 2,\n ge.lineWidth = 1,\n ge.strokeStyle = Jo[t.VB][1],\n Ae(ge, oe, $r, al + .5)\n }\n {\n window.isDrawing = false\n }\n\n // Zl();\n\n window.Measurer('draw_main').stop();\n\n return;\n }\n };\n\n Mo = true;\n ll = me(150, function() {\n return Lr(Fl)\n });\n _u = $(\"#loading\");\n Ve = 0;\n Pu = $(\"#notify\");\n hu = false;\n Ho = {};\n\n var isCombinedHeatmap = ('$heatmap_settings' in window && window.$heatmap_settings.combined);\n\n if(isCombinedHeatmap) {\n $(\".symbol_combined_heatmap\").addClass(\"active\");\n } else {\n $(\".symbol_\" + window.$symbol).addClass(\"active\");\n }\n\n fu = 0,\n function() {\n var n;\n return n = 0,\n function() {\n function e() {\n rr(t.LY + $ssl + t.YT + $host + '/ticker', {\n nonce: 0\n }, function() {\n r = arguments[0];\n l = arguments[1];\n\n // console.log(l, r);\n\n if (l != null) {\n u = l.now;\n n = Date.now();\n\n for (i in l) {\n if (l.hasOwnProperty(i)) {\n o = l[i];\n\n Nl(i, o);\n\n if (u - o.date > 60) {\n $('.symbol_' + i).addClass(\"grey\");\n } else {\n $('.symbol_' + i).removeClass(\"grey\");\n }\n }\n }\n }\n\n Kr(20 * 1000, function(n) {\n e(n);\n });\n });\n }\n\n var r, o, i, u, l;\n\n setTimeout(function() {\n e();\n }, 500);\n }(),\n function() {\n var e;\n Kr(3000, function() {\n function r() {\n e = Date.now() - n;\n if (e > 30000) {\n $(\"#pc_to_bw\").attr(t.QQ, t.Mk);\n } else if (e > 15000) {\n $(\"#pc_to_bw\").attr(t.QQ, t.BU);\n } else {\n $(\"#pc_to_bw\").attr(t.QQ, t.Mi);\n }\n Kr(1000, function(n) {\n r(n);\n });\n }\n\n r();\n });\n }(), null\n }(),\n Eu.resize(function() {\n if(ku) {\n kuHeight = ku.height();\n }\n\n return lockCross && gl(), ll()\n }),\n\n mu.hover(function() {\n return mu.height(320)\n }, function() {\n return mu.height(32)\n }),\n\n /* desktop view */\n $(\".switch_desktop_version\").click(function() {\n var val = $(this).data('value');\n\n console.log(\"switch_desktop_version\", val);\n\n // set localStorage\n Ku(\"force_desktop\", val);\n\n // set cookie\n hl(\"force_desktop\", val, {\n wildcardDomain: true\n });\n\n setTimeout(function() {\n window.location.reload();\n }, 250);\n\n return true;\n }),\n\n /* */\n $(\"#switch-theme a\").click(function() {\n var val = $(this).data('theme');\n\n // set localStorage\n Ku(\"theme\", val);\n\n // set cookie\n // hl(\"theme\", val);\n\n setTimeout(function () {\n window.location.reload();\n }, 250);\n\n return true;\n }),\n\n $(\"#close_ad\").click(function() {\n return Mu.hide(), nu = 0, Fl(), !0\n }),\n\n $('#show_qr').click(function() {\n var n = $('#qr');\n if (n.is(':visible')) {\n $(this).text(t.cr);\n n.hide();\n } else {\n $(this).text(t.Ma);\n n.show();\n }\n return true;\n }),\n\n $(\"#close_qr\").click(function() {\n $('#show_qr').text(t.cr);\n $('#qr').hide();\n return true;\n }),\n\n Fr = $(\"#indicators_settings\"),\n $(\"#btn_indicators_settings\").click(function() {\n if (Fr.is(':visible')) {\n Fr.hide();\n } else {\n Fr.show();\n\n $(\"#btn_indicators_settings\").parents('.dropdown').removeClass('dropdown-hover');\n }\n\n return true;\n }),\n $(\"#close_indicators_settings\").click(function() {\n if (Fr.is(':visible')) {\n Fr.hide();\n } else {\n Fr.show();\n }\n\n return true;\n });\n\n const FrP = $(\"#performance_settings\");\n $(\"#btn_performance_settings\").click(function() {\n if (FrP.is(':visible')) {\n FrP.hide();\n } else {\n FrP.show();\n\n $(\"#btn_performance_settings\").parents('.dropdown').removeClass('dropdown-hover');\n }\n\n return true;\n });\n $(\"#close_performance_settings\").click(function() {\n if (FrP.is(':visible')) {\n FrP.hide();\n } else {\n FrP.show();\n }\n\n return true;\n });\n\n Fr2 = $(\"#heatmap_settings\"),\n $(\"#btn_heatmap_settings\").click(function() {\n if (Fr2.is(':visible')) {\n Fr2.hide();\n } else {\n Fr2.show();\n\n $(\"#btn_heatmap_settings\").parents('.dropdown').removeClass('dropdown-hover');\n }\n\n return true;\n }),\n $(\"#close_heatmap_settings\").click(function() {\n if (Fr2.is(':visible')) {\n Fr2.hide();\n } else {\n Fr2.show();\n }\n\n return true;\n });\n\n Fr3 = $(\"#aggregated_heatmap_settings\"),\n $(\"#btn_aggregated_heatmap_settings\").click(function() {\n if (Fr3.is(':visible')) {\n Fr3.hide();\n } else {\n Fr3.show();\n\n $(\"#btn_aggregated_heatmap_settings\").parents('.dropdown').removeClass('dropdown-hover');\n }\n\n return true;\n }),\n $(\"#close_aggregated_heatmap_settings\").click(function() {\n if (Fr3.is(':visible')) {\n Fr3.hide();\n } else {\n Fr3.show();\n }\n\n return true;\n });\n\n function initPopupDragging(popupSelector) {\n var lastPosX = 0;\n var lastPosY = 0;\n var isDragging = false;\n\n function handleDrag(ev) {\n // for convience, let's get a reference to our object\n var elem = $(ev.target).parents('.popup')[0];\n\n // DRAG STARTED here,\n // let's snag the current position\n // and keep track of the fact that we're dragging\n if (!isDragging) {\n isDragging = true;\n\n lastPosX = elem.offsetLeft;\n lastPosY = elem.offsetTop;\n }\n\n // we simply need to determine where the x,y of this\n // object is relative to where it's \"last\" known position is\n // NOTE:\n // deltaX and deltaY are cumulative\n // Thus we need to always calculate 'real x and y' relative\n // to the \"lastPosX/Y\"\n var posX = ev.deltaX + lastPosX;\n var posY = ev.deltaY + lastPosY;\n\n // move our element to that position\n elem.style.left = posX + \"px\";\n elem.style.top = posY + \"px\";\n\n // DRAG ENDED\n // this is where we simply forget we are dragging\n if (ev.isFinal) {\n isDragging = false;\n }\n }\n var eventWrapper = $(popupSelector);\n\n if(!eventWrapper.length) {\n return;\n }\n\n var mc = new Hammer(eventWrapper[0]);\n\n mc.add(new Hammer.Pan({direction: Hammer.DIRECTION_ALL, threshold: 0}));\n mc.on(\"pan\", handleDrag);\n }\n\n initPopupDragging('#heatmap_settings .drag');\n initPopupDragging('#indicators_settings .drag');\n\n/*\n var estimateHover = function() {\n return d.amount > 1000 ? bu.val(parseInt(d.amount)) :\n bu.val(parseFloat(d.amount.toPrecision(5))),\n Bo === H ? bu.click_base_currency() : bu.click_quote_currency(),\n bu.keyup()\n };\n\n d.hover(i);\n d.click(function() {\n return $(\".link_estimate_trading:first\").click(), i()\n });\n */\n\n sa = function(n, e) {\n function r() {\n var t, e, r, o, u, l;\n for (r = ie[n].params, l = [], t = o = 0, u = i.length; u > o; t = ++o) e = i[t], l.push($(e).val(r[t]));\n return l\n }\n var o, i, u;\n return e.default_params = e.params, o = e.cookie, i = $(t.Ve + n + t.GL), i.change(function() {\n var e, r, u, l, a, s;\n for (u = [], a = 0, s = i.length; s > a; a++) {\n if (e = i[a], ol = $(e).val(), !ol.match(/^\\d+$/)) {\n if (n === t.QM && ol === \"\") continue;\n return alert(ol + t.Fx), void 0\n }\n u.push(parseInt(ol))\n }\n Ku(t.mr + o, u), ie[n].params = u, r = to;\n for (Gu in Ur) so.call(Ur, Gu) && (l = Ur[Gu], to = Gu, Ur[Gu] = Nr(l), Yl(!1));\n return to = r, Er = Ur[r]\n }), $(t.gs + n + t.xH).click(function() {\n return ie[n].params = ie[n].default_params, r(), $(i[0]).change()\n }), u = Ku(t.mr + o), ie[n].params = u || ie[n].default_params || [], r()\n };\n\n for (lu in ie) so.call(ie, lu) && (Ki = ie[lu], sa(lu, Ki));\n te = !0,\n A = {\n USD: t.cx,\n EUR: t.Ho,\n GBP: t.LN,\n CNY: t.LM,\n JPY: t.LM,\n AUD: t.LL,\n CAD: t.Qq,\n BTC: \"₿\",\n LTC: \"Ł\"\n },\n _o = {},\n ve(Mi, \"time_zone\", function() {\n var n, e, r, o;\n\n var u = Ei.childNodes;\n\n for (var i = u.length; i > o; o++) {\n n = u[o];\n r = n.tx;\n e = yr(new Date(1000 * r[ct]));\n\n $(\".t\", n).text(e);\n }\n\n cl();\n\n return null;\n }),\n ve(Mi, \"orderbook_precision\", function() {\n $t = false;\n\n ql();\n\n $t = true;\n\n return true;\n }),\n Ce = null,\n io = {},\n zt = {},\n fo = {},\n Zr = {},\n // redraw charts every 80ms\n function() {\n var lastRequestTime = +new Date();\n\n function n() {\n if('hidden' in document && !document.hidden) {\n redrawCross();\n redrawMain();\n } else {\n if(cu) {\n Il();\n ul();\n cu = false;\n }\n }\n\n Kr(80, function(t) {\n n(t)\n })\n }\n\n n()\n }(),\n // run writeTrades\n function() {\n function n() {\n if(su) {\n // requestAnimationFrame(function () {\n Gl();\n su = !1\n // });\n }\n\n if(au) {\n if(!('hidden' in document) || !document.hidden) {\n requestAnimationFrame(function () {\n ql();\n au = !1\n });\n }\n }\n\n Kr(200, function(t) { // default value was 120\n n(t)\n })\n }\n\n n()\n }(),\n // FL IS THE FIRST COMMAND TO CALL FREEZE\n Fl(),\n function() {\n function n(n) {\n if (n >= 0) {\n return t.iM + n.toFixed(2) + t.Ta;\n } else {\n return n.toFixed(2) + t.Ta;\n }\n }\n\n function e(n, t) {\n t = t.toString();\n\n if (n.text() === t) {\n return;\n } else {\n return n.text(t);\n }\n }\n\n function r() {\n var r, i, a, c, f, h, p, b, g, m, F, x, y, w, T, k, M, _, I;\n\n var u = [[\"to\", d], [\"from\", v]];\n var V = 0;\n\n for (var S = u.length; S > V; V++) {\n _ = u[V];\n T = _[0];\n i = _[1];\n\n g = tt[i].flatten();\n\n if (i === v) {\n g.reverse();\n }\n\n x = parseFloat(bu.val());\n\n F = x;\n\n w = 0;\n y = 0;\n\n p = $(t.ih + T + t.fj, o);\n a = $(t.ih + T + t.zd, o);\n b = $(t.ih + T + t.cy, o);\n c = $(t.ih + T + t.TI, o);\n f = $(t.ih + T + t.Qy, o);\n h = $(t.ih + T + t.WK, o);\n\n h.html(l);\n\n k = 0;\n\n for (M = g.length; M > k; k++) {\n I = g[k];\n m = I[0];\n r = I[1];\n if (s === j) {\n if (!(F > r)) {\n w += m * F;\n y += F;\n break;\n }\n w += m * r;\n y += r;\n F -= r;\n } else {\n if (!(F > m * r)) {\n w += F;\n y += F / m;\n break;\n }\n w += m * r;\n y += r;\n F -= m * r;\n }\n }\n if (\n xe &&\n m &&\n !isNaN(x) &&\n ((s === j && Math.abs(y - x) < 0.000001) || Math.abs(w - x) < 0.000001)\n ) {\n e(p, m);\n e(b, n((m / xe[st]) * 100 - 100));\n e(a, parseFloat((w / y).toPrecision(6)));\n e(c, n((w / y / xe[st]) * 100 - 100));\n\n if (s === j) {\n e(f, parseFloat(w.toPrecision(6)));\n } else {\n e(f, parseFloat(y.toPrecision(6)));\n }\n } else {\n p.text(\"out of orderbook\");\n a.text(\"out of orderbook\");\n f.text(\"\");\n h.text(\"\");\n b.text(\"\");\n c.text(\"\");\n }\n }\n return true;\n }\n\n var u, s;\n var o = $('#dlg_estimate_trading');\n\n bu = $('.amount', o);\n\n bu.keyup(r);\n\n bu.click_base_currency = function() {\n return $(\".unit:first\", o).click();\n };\n\n bu.click_quote_currency = function() {\n return $($('.unit', o)[1]).click();\n };\n\n if (f.indexOf(t.ni) === -1) {\n if (j === \"DOGE\") {\n bu.val(5e5);\n } else {\n bu.val(100);\n }\n } else {\n bu.val(10);\n }\n\n s = j;\n\n var l = Pr;\n var c = $('.unit', o);\n\n var a = c[0];\n var i = c[1];\n\n $(a).text(j);\n $(i).text(Pr);\n\n $('.unit', o).click(function() {\n if (!$(this).hasClass(\"selected\")) {\n return;\n }\n\n $('.unit', o).removeClass(\"selected\");\n $(this).addClass(\"selected\");\n\n s = $(this).text();\n\n var n = $(t.Lp, o).text();\n\n if (n !== \"\") {\n $('.amount').val(parseFloat(parseFloat(n).toPrecision(5)));\n }\n\n if (s === j) {\n l = Pr;\n\n $(\".to\", o).text(\"Cost\");\n $(\".from\", o).text(\"Receive\");\n $(\".mode\", o).text(\"Buy\");\n $(\".to_text\", o).text(\"Buy\");\n $(\".from_text\", o).text(\"Sell\");\n } else {\n l = j;\n\n $(\".to\", o).text(\"Receive\");\n $(\".from\", o).text(\"Sell\");\n $(\".mode\", o).text(\"Sell\");\n $(\".to_text\", o).text(\"Spend\");\n $(\".from_text\", o).text(\"ToReceive\");\n }\n r();\n });\n\n (u = function() {\n r();\n return setTimeout(u, 1000);\n })();\n\n return 0;\n }();\n\n $(\".mode\").click(function() {\n return ua($(this).attr(\"mode\"))\n }),\n\n $(t.VZ).click(function() {});\n\n ke = window.localStorage;\n\n if (\n (Fa = ke != null ? ke.mode : void 0) === 'cross' ||\n Fa === 'draw_line' ||\n Fa === \"draw_fhline\" ||\n Fa === \"draw_fhlineex\" ||\n Fa === \"draw_ffan\" ||\n Fa === \"draw_fline\" ||\n Fa === \"draw_hline\"\n ) {\n ua(ke.mode);\n } else {\n ua('cross');\n }\n\n $(document).on('keydown', function(n) {\n var o = n.which;\n\n // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\n\n var keyCodes = {\n SHIFT: 16,\n ESCAPE: 27,\n FOUR: 52,\n EQUALS: 61,\n E: 69,\n L: 76,\n T: 84,\n ADD_NUMPAD: 107,\n SUBTRACT_NUMPAD: 109,\n ADD_DOM: 171,\n SUBTRACT_DOM: 173,\n SUBTRACT: 187,\n DASH: 189,\n DELETE: 46\n };\n\n if (\n (n.target.tagName.toLowerCase() === 'input' ||\n n.target.tagName.toLowerCase() === 'textarea') &&\n o !== keyCodes.ESCAPE\n ) {\n return;\n }\n\n if (o === keyCodes.SHIFT) {\n ti = true;\n }\n\n if ($(\".dialog:visible\").length) {\n if (o === keyCodes.ESCAPE) {\n $(\".dialog:visible\").hide();\n }\n\n return true;\n }\n\n if (o === keyCodes.T) {\n Mo = !Mo;\n cu = true;\n }\n\n if (o === keyCodes.EQUALS || o === keyCodes.SUBTRACT || o === keyCodes.ADD_NUMPAD || o === keyCodes.FOUR || o === keyCodes.ADD_DOM) {\n scaleGraph(null, 1);\n return true;\n }\n\n if (o === keyCodes.SUBTRACT_NUMPAD || o === keyCodes.DASH || o === keyCodes.SUBTRACT_DOM) {\n scaleGraph(null, -1);\n return true;\n }\n\n switch (n.which) {\n /*case keyCodes.E:\n ia('estimate_trading');\n break;*/\n\n case keyCodes.L:\n ua(\"draw_line\", false);\n break;\n\n default:\n return true;\n }\n return true;\n }),\n $(document).on(\"keyup\", function(n) {\n if (n.which === 16) {\n ti = false;\n }\n\n return true;\n }),\n la()\n })\n }(), ce = ae = fe = le = he = de = se = null, u = i = l = o = null,\n function() {\n function n() {\n var n = {};\n\n n[v] = {};\n n[g] = {};\n\n return n;\n }\n\n function e(n, e) {\n var r;\n\n if ((r = n[b]) == null) {\n return;\n } else {\n return r.send(JSON.stringify([\"c\" + F++, \"connect\", \"trades:\" + e]));\n }\n }\n\n function r(n, e) {\n var r;\n\n delete n[v][e];\n delete n[g][e];\n\n if ((r = n[b]) == null) {\n return;\n } else {\n return r.send(JSON.stringify([\"c\" + F++, \"disconnect\", \"trades:\" + e]));\n }\n }\n\n function a(n) {\n var t, e;\n var o = n[g];\n\n for (t in o) {\n if (o.hasOwnProperty(t)) {\n e = o[t];\n\n r(n, t);\n }\n }\n\n return this;\n }\n\n function s(n, t) {\n var e, o;\n var i = n[g];\n\n for (e in i) {\n if (i.hasOwnProperty(e)) {\n o = i[e];\n\n if (e !== t) {\n r(n, e);\n }\n }\n }\n\n return this;\n }\n\n function c(n) {\n var t, r;\n var o = n[g];\n\n for (t in o) {\n if (o.hasOwnProperty(t)) {\n r = o[t];\n\n e(n, t);\n }\n }\n\n return n;\n }\n\n function f(n, r, o, i) {\n function u() {\n e(n, r);\n\n i(l);\n }\n\n var l, a, c, f;\n\n o = parseInt(o);\n\n if ((f = n[v][r]) != null ? f[o] : void 0) {\n u();\n } else {\n n[p][0](\"Loading...\");\n\n rr(\n \"http\" + $ssl + \"://\" + window.$host + \"/period\",\n {\n symbol: r,\n step: o\n },\n function() {\n var e, c;\n\n l = arguments[0];\n a = arguments[1];\n\n n[p][1]();\n\n if (l) {\n (function() {\n n[p][0](\"Load failed.\");\n Kr(5000, function() {\n return n[p][1]();\n });\n })();\n\n return i(l);\n } else {\n a = nr(a, o);\n\n s(n, r);\n\n ((e = n[v])[r] != null ? (e = n[v])[r] : (e[r] = {}))[o] = Br(o, a);\n ((c = n[g])[r] != null ? (c = n[g])[r] : (c[r] = {}))[o] = true;\n\n u();\n\n return;\n }\n }\n );\n }\n }\n\n function h(n, t, e) {\n var r, o, i, u;\n\n if ((o = (u = n[v]) != null ? u[t] : void 0)) {\n for (i in o) {\n if (so.call(o, i)) {\n r = o[i];\n\n Pr(r, e);\n }\n }\n\n return this;\n }\n }\n\n function d(n) {\n var t;\n var r = n[g];\n\n for (t in r) {\n if (r.hasOwnProperty(t)) {\n r[t];\n\n return true;\n }\n }\n\n return false;\n }\n\n var p, v, b, g, F, x;\n\n x = m(4);\n\n b = x[0];\n v = x[1];\n g = x[2];\n p = x[3];\n\n F = 1;\n\n ce = n;\n ae = f;\n fe = c;\n le = h;\n he = r;\n de = a;\n se = d;\n\n u = b;\n i = v;\n l = g;\n\n return (o = p);\n }(),\n function() {\n // no #connection\n return $('#connection').hover(\n function() {\n var e = $(this);\n var r = e.offset();\n var n = $(\"#help_connection\");\n\n n.css({\n left: r.left - (n.width() - e.width()) / 2,\n top: r.top - n.outerHeight()\n });\n\n return n.show();\n },\n function() {\n var n = $(\"#help_connection\");\n return n.hide();\n }\n );\n }(),\n // performance settings\n function() {\n const container = $(\"#performance_settings\");\n const cacheKey = \"performance_settings_\";\n const default_performance_settings = window.$default_performance_settings;\n\n if(default_performance_settings) {\n for(let k in default_performance_settings) {\n performanceSettings[k] = default_performance_settings[k];\n }\n }\n\n const inputs = container.find(\"input\");\n\n inputs.each(function(key, input) {\n const el = $(this);\n const name = el.attr(\"name\");\n\n el.change(function() {\n const val = el.is(\":checked\");\n\n performanceSettings[name] = val\n\n localStorage.setItem(cacheKey + name, val)\n });\n\n if(localStorage.getItem(cacheKey + name) !== null) {\n performanceSettings[name] = localStorage.getItem(cacheKey + name) === \"true\"\n }\n\n el.prop('checked', performanceSettings[name]);\n })\n }()\n }).call(this);\n}).call(this);","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}