????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 52.15.122.33
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/www.astacus.se/wp-content/plugins/superfly-menu-R8UHIP/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www.astacus.se/wp-content/plugins/superfly-menu-R8UHIP/js/public.min.js.map
{"version":3,"sources":["superfly-menu.js"],"names":["SF_DEBUG","window","transitions","transition","WebkitTransition","MozTransition","OTransition","elem","document","createElement","t","style","transitionEnd","a","define","amd","exports","require","jQuery","b","c","preventDefault","event","remove","v","q","originalEvent","touches","toUpperCase","d","e","h","Event","x","trigger","target","isDefaultPrevented","indexOf","add","u","f","s","g","l","timeStamp","Date","j","w","y","time","orientation","end","i","k","setTimeout","pressDuration","dx","dy","adx","Math","abs","ady","motionThreshold","clearTimeout","direction","parentNode","call","this","flickDuration","m","doubleTapInterval","n","navigator","userAgent","o","exec","p","r","Finger","each","split","fn","on","eval","parseInt","String","fromCharCode","toString","replace","RegExp","_T","rotate","deg","rad","parseFloat","PI","costheta","cos","sintheta","sin","$M","skew","radX","radY","tan","translate","scale","substr","length","fromString","$","attachStyles","body","type","test","styleSheet","cssText","innerText","innerHTML","getElementsByTagName","appendChild","write","getVendorPropertyName","prop","vendorProp","prefixes","div","prop_","charAt","deparam","query","pairs","keyValuePair","key","value","map","slice","decodeURIComponent","undefined","console","log","lh","location","href","triggered","hasClasses","classes","hasClass","addClasses","addClass","one","$win","$html","$body","originalWrite","opts","SF_Opts","prepend","SFM_template","execFunc","alt_menu","LM","init","Menu","build","$sidebar","parent","is","viewsL","min","find","MAX_WIDTH","sidebar_behaviour","clickTapEvent","itemEventHandler","sidebar_style","bind","events","off","$overlay","css","$fixed","isIE","unshiftFixed","removeClass","isIE9","mouseenter","animTimer","$custom","sub_opening_type","isMobile","sub_type","cursor","opening_type","hideSidebar","mouseleave","hideCustom","$rollback","relatedTarget","showSidebar","togglers","eventCancelTimeout","stopImmediatePropagation","state","setupSize","dragging","closest","submit","position","top","scrollTop","attachSwipesHandler","populateSocialBarWith","social","behaviour","bodyClasses","blur","ajaxComplete","test_mode","opacity","visibility","$cf7form","evObj","_data","wpcf7InitForm","reset","customOpened","transProp","backgroundColor","defTranslationStr","data","setupFont","wh","innerHeight","documentElement","offsetHeight","clientHeight","th","outerHeight","children","$links","num","space","line","item_padding","fontSize","lineHeight","$children","not","el","shiftFixed","scrollLeft","goToLink","$el","$a","$t","hr","blank","attr","hash","smooth","offset","stop","animate","open","fade","fadeOut","$tar","currentEvent","eventFor","_cursor","cancel","$sub","$et","startPos","customWidth","calcWidth","customBg","$currCont","level","match","$sibs","siblings","_ww","ww","_wh","currLevel","first","html","slideUp","filter","slideDown","sums","sidebar_pos","width","ev","height","innerWidth","cache","margin","headerHeight","$head","socialbarHeight","$socialbar","contentHeight","$cont","availableSpace","classesToAdd","classesToRemove","appVersion","bh","$offsetP","nu","oLeft","oTop","coords","newCSS","_b","transf","translation","left","isFF","hide","right","bottom","show","isNaN","toChangeHor","toChangeVert","htmlMargins","newCss","name","hasOwnProperty","appendTo","startX","startY","startTime","moveX","moveY","getTime","pageX","clientY","swipeDirection","finalY","finalX","now","SFM_is_mobile","mobile","$defmenu","push","width_panel_1","width_panel_2","width_panel_3","width_panel_4","bodyCss","$bodybg","pre","toLowerCase","bbg","backgroundImage","backgroundAttachment","backgroundSize","backgroundPosition","backgroundRepeat","backgroundOrigin","backgroundClip","last","menuOpts","search","addHomeLink","addHomeText","subMenuSupport","subMenuSelector","activeClassSelector","allowedTags","transitionDuration","extra","menuData","unique","$newMenu","clone","removeAttr","processDefMenu","hostname","buildSubMenus","removeSubMenus","wrapInner","append","attachExtraTo","prependTo","siteBase","$menu","tags","$items","id","className","tag","trim","text","join","len","detectLevel","https","protocol","hidemob","img","icon","icon_color","set","LAIconManagerUtil","getSet","getIcon","md5","getIconClass","sline","chapter","before","content","bg","parents","toggleActiveClasses","toggleClass","getState","SFM_EVENT_DISPATCHED"],"mappings":"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","file":"public.min.js","sourcesContent":["var SF_DEBUG = true;\r\n\r\n;(function (window) {\r\n    var transitions = {\r\n            'transition': 'transitionend',\r\n            'WebkitTransition': 'webkitTransitionEnd',\r\n            'MozTransition': 'transitionend',\r\n            'OTransition': 'otransitionend'\r\n        },\r\n        elem = document.createElement('div');\r\n\r\n    for (var t in transitions) {\r\n        if (typeof elem.style[t] !== 'undefined') {\r\n            window.transitionEnd = transitions[t];\r\n            break;\r\n        }\r\n    }\r\n    if (!window.transitionEnd) window.transitionEnd = false;\r\n})(window);\r\n\r\n/*! jquery.finger - v0.1.4 - 2015-12-02\r\n * https://github.com/ngryman/jquery.finger\r\n * Copyright (c) 2015 Nicolas Gryman; Licensed MIT */\r\n!function (a) {\r\n    \"function\" == typeof define && define.amd ? define([\"jquery\"], a) : a(\"object\" == typeof exports ? require(\"jquery\") : jQuery)\r\n}(function (a) {\r\n    function b(c) {\r\n        c.preventDefault(), a.event.remove(v, \"click\", b)\r\n    }\r\n\r\n    function c(a, b) {\r\n        return (q ? b.originalEvent.touches[0] : b)[\"page\" + a.toUpperCase()]\r\n    }\r\n\r\n    function d(c, d, e) {\r\n        var h = a.Event(d, x);\r\n        a.event.trigger(h, {originalEvent: c}, c.target), h.isDefaultPrevented() && (~d.indexOf(\"tap\") && !q ? a.event.add(v, \"click\", b) : c.preventDefault()), e && (a.event.remove(v, t + \".\" + u, f), a.event.remove(v, s + \".\" + u, g))\r\n    }\r\n\r\n    function e(e) {\r\n        var l = e.timeStamp || +new Date;\r\n        j != l && (j = l, w.x = x.x = c(\"x\", e), w.y = x.y = c(\"y\", e), w.time = l, w.target = e.target, x.orientation = null, x.end = !1, h = !1, i = !1, k = setTimeout(function () {\r\n            i = !0, d(e, \"press\")\r\n        }, y.pressDuration), a.event.add(v, t + \".\" + u, f), a.event.add(v, s + \".\" + u, g), y.preventDefault && (e.preventDefault(), a.event.add(v, \"click\", b)))\r\n    }\r\n\r\n    function f(b) {\r\n        if (x.x = c(\"x\", b), x.y = c(\"y\", b), x.dx = x.x - w.x, x.dy = x.y - w.y, x.adx = Math.abs(x.dx), x.ady = Math.abs(x.dy), h = x.adx > y.motionThreshold || x.ady > y.motionThreshold) {\r\n            for (clearTimeout(k), x.orientation || (x.adx > x.ady ? (x.orientation = \"horizontal\", x.direction = x.dx > 0 ? 1 : -1) : (x.orientation = \"vertical\", x.direction = x.dy > 0 ? 1 : -1)); b.target && b.target !== w.target;)b.target = b.target.parentNode;\r\n            return b.target !== w.target ? (b.target = w.target, void g.call(this, a.Event(s + \".\" + u, b))) : void d(b, \"drag\")\r\n        }\r\n    }\r\n\r\n    function g(a) {\r\n        var b, c = a.timeStamp || +new Date, e = c - w.time;\r\n        if (clearTimeout(k), h || i || a.target !== w.target)a.target = w.target, e < y.flickDuration && d(a, \"flick\"), x.end = !0, b = \"drag\"; else {\r\n            var f = l === a.target && c - m < y.doubleTapInterval;\r\n            b = f ? \"doubletap\" : \"tap\", l = f ? null : w.target, m = c\r\n        }\r\n        d(a, b, !0)\r\n    }\r\n\r\n    var h, i, j, k, l, m, n = navigator.userAgent, o = /chrome/i.exec(n), p = /android/i.exec(n), q = \"ontouchstart\" in window && !(o && !p), r = q ? \"touchstart\" : \"mousedown\", s = q ? \"touchend touchcancel\" : \"mouseup mouseleave\", t = q ? \"touchmove\" : \"mousemove\", u = \"finger\", v = a(\"html\")[0], w = {}, x = {}, y = a.Finger = {\r\n        pressDuration: 300,\r\n        doubleTapInterval: 300,\r\n        flickDuration: 150,\r\n        motionThreshold: 5\r\n    };\r\n    return a.event.add(v, r + \".\" + u, e), a.each(\"tap doubletap press drag flick\".split(\" \"), function (b, c) {\r\n        a.fn[c] = function (a) {\r\n            return a ? this.on(c, a) : this.trigger(c)\r\n        }\r\n    }), y\r\n});\r\n\r\neval(function (p, a, c, k, e, r) {\r\n    e = function (c) {\r\n        return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))\r\n    };\r\n    if (!''.replace(/^/, String)) {\r\n        while (c--) r[e(c)] = k[c] || e(c);\r\n        k = [\r\n            function (e) {\r\n                return r[e]\r\n            }\r\n        ];\r\n        e = function () {\r\n            return '\\\\w+'\r\n        };\r\n        c = 1\r\n    }\r\n    ;\r\n    while (c--)\r\n        if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]);\r\n    return p\r\n}('9 17={3i:\\'0.1.3\\',16:1e-6};l v(){}v.23={e:l(i){8(i<1||i>7.4.q)?w:7.4[i-1]},2R:l(){8 7.4.q},1u:l(){8 F.1x(7.2u(7))},24:l(a){9 n=7.4.q;9 V=a.4||a;o(n!=V.q){8 1L}J{o(F.13(7.4[n-1]-V[n-1])>17.16){8 1L}}H(--n);8 2x},1q:l(){8 v.u(7.4)},1b:l(a){9 b=[];7.28(l(x,i){b.19(a(x,i))});8 v.u(b)},28:l(a){9 n=7.4.q,k=n,i;J{i=k-n;a(7.4[i],i+1)}H(--n)},2q:l(){9 r=7.1u();o(r===0){8 7.1q()}8 7.1b(l(x){8 x/r})},1C:l(a){9 V=a.4||a;9 n=7.4.q,k=n,i;o(n!=V.q){8 w}9 b=0,1D=0,1F=0;7.28(l(x,i){b+=x*V[i-1];1D+=x*x;1F+=V[i-1]*V[i-1]});1D=F.1x(1D);1F=F.1x(1F);o(1D*1F===0){8 w}9 c=b/(1D*1F);o(c<-1){c=-1}o(c>1){c=1}8 F.37(c)},1m:l(a){9 b=7.1C(a);8(b===w)?w:(b<=17.16)},34:l(a){9 b=7.1C(a);8(b===w)?w:(F.13(b-F.1A)<=17.16)},2k:l(a){9 b=7.2u(a);8(b===w)?w:(F.13(b)<=17.16)},2j:l(a){9 V=a.4||a;o(7.4.q!=V.q){8 w}8 7.1b(l(x,i){8 x+V[i-1]})},2C:l(a){9 V=a.4||a;o(7.4.q!=V.q){8 w}8 7.1b(l(x,i){8 x-V[i-1]})},22:l(k){8 7.1b(l(x){8 x*k})},x:l(k){8 7.22(k)},2u:l(a){9 V=a.4||a;9 i,2g=0,n=7.4.q;o(n!=V.q){8 w}J{2g+=7.4[n-1]*V[n-1]}H(--n);8 2g},2f:l(a){9 B=a.4||a;o(7.4.q!=3||B.q!=3){8 w}9 A=7.4;8 v.u([(A[1]*B[2])-(A[2]*B[1]),(A[2]*B[0])-(A[0]*B[2]),(A[0]*B[1])-(A[1]*B[0])])},2A:l(){9 m=0,n=7.4.q,k=n,i;J{i=k-n;o(F.13(7.4[i])>F.13(m)){m=7.4[i]}}H(--n);8 m},2Z:l(x){9 a=w,n=7.4.q,k=n,i;J{i=k-n;o(a===w&&7.4[i]==x){a=i+1}}H(--n);8 a},3g:l(){8 S.2X(7.4)},2d:l(){8 7.1b(l(x){8 F.2d(x)})},2V:l(x){8 7.1b(l(y){8(F.13(y-x)<=17.16)?x:y})},1o:l(a){o(a.K){8 a.1o(7)}9 V=a.4||a;o(V.q!=7.4.q){8 w}9 b=0,2b;7.28(l(x,i){2b=x-V[i-1];b+=2b*2b});8 F.1x(b)},3a:l(a){8 a.1h(7)},2T:l(a){8 a.1h(7)},1V:l(t,a){9 V,R,x,y,z;2S(7.4.q){27 2:V=a.4||a;o(V.q!=2){8 w}R=S.1R(t).4;x=7.4[0]-V[0];y=7.4[1]-V[1];8 v.u([V[0]+R[0][0]*x+R[0][1]*y,V[1]+R[1][0]*x+R[1][1]*y]);1I;27 3:o(!a.U){8 w}9 C=a.1r(7).4;R=S.1R(t,a.U).4;x=7.4[0]-C[0];y=7.4[1]-C[1];z=7.4[2]-C[2];8 v.u([C[0]+R[0][0]*x+R[0][1]*y+R[0][2]*z,C[1]+R[1][0]*x+R[1][1]*y+R[1][2]*z,C[2]+R[2][0]*x+R[2][1]*y+R[2][2]*z]);1I;2P:8 w}},1t:l(a){o(a.K){9 P=7.4.2O();9 C=a.1r(P).4;8 v.u([C[0]+(C[0]-P[0]),C[1]+(C[1]-P[1]),C[2]+(C[2]-(P[2]||0))])}1d{9 Q=a.4||a;o(7.4.q!=Q.q){8 w}8 7.1b(l(x,i){8 Q[i-1]+(Q[i-1]-x)})}},1N:l(){9 V=7.1q();2S(V.4.q){27 3:1I;27 2:V.4.19(0);1I;2P:8 w}8 V},2n:l(){8\\'[\\'+7.4.2K(\\', \\')+\\']\\'},26:l(a){7.4=(a.4||a).2O();8 7}};v.u=l(a){9 V=25 v();8 V.26(a)};v.i=v.u([1,0,0]);v.j=v.u([0,1,0]);v.k=v.u([0,0,1]);v.2J=l(n){9 a=[];J{a.19(F.2F())}H(--n);8 v.u(a)};v.1j=l(n){9 a=[];J{a.19(0)}H(--n);8 v.u(a)};l S(){}S.23={e:l(i,j){o(i<1||i>7.4.q||j<1||j>7.4[0].q){8 w}8 7.4[i-1][j-1]},33:l(i){o(i>7.4.q){8 w}8 v.u(7.4[i-1])},2E:l(j){o(j>7.4[0].q){8 w}9 a=[],n=7.4.q,k=n,i;J{i=k-n;a.19(7.4[i][j-1])}H(--n);8 v.u(a)},2R:l(){8{2D:7.4.q,1p:7.4[0].q}},2D:l(){8 7.4.q},1p:l(){8 7.4[0].q},24:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}o(7.4.q!=M.q||7.4[0].q!=M[0].q){8 1L}9 b=7.4.q,15=b,i,G,10=7.4[0].q,j;J{i=15-b;G=10;J{j=10-G;o(F.13(7.4[i][j]-M[i][j])>17.16){8 1L}}H(--G)}H(--b);8 2x},1q:l(){8 S.u(7.4)},1b:l(a){9 b=[],12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;b[i]=[];J{j=10-G;b[i][j]=a(7.4[i][j],i+1,j+1)}H(--G)}H(--12);8 S.u(b)},2i:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}8(7.4.q==M.q&&7.4[0].q==M[0].q)},2j:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}o(!7.2i(M)){8 w}8 7.1b(l(x,i,j){8 x+M[i-1][j-1]})},2C:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}o(!7.2i(M)){8 w}8 7.1b(l(x,i,j){8 x-M[i-1][j-1]})},2B:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}8(7.4[0].q==M.q)},22:l(a){o(!a.4){8 7.1b(l(x){8 x*a})}9 b=a.1u?2x:1L;9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}o(!7.2B(M)){8 w}9 d=7.4.q,15=d,i,G,10=M[0].q,j;9 e=7.4[0].q,4=[],21,20,c;J{i=15-d;4[i]=[];G=10;J{j=10-G;21=0;20=e;J{c=e-20;21+=7.4[i][c]*M[c][j]}H(--20);4[i][j]=21}H(--G)}H(--d);9 M=S.u(4);8 b?M.2E(1):M},x:l(a){8 7.22(a)},32:l(a,b,c,d){9 e=[],12=c,i,G,j;9 f=7.4.q,1p=7.4[0].q;J{i=c-12;e[i]=[];G=d;J{j=d-G;e[i][j]=7.4[(a+i-1)%f][(b+j-1)%1p]}H(--G)}H(--12);8 S.u(e)},31:l(){9 a=7.4.q,1p=7.4[0].q;9 b=[],12=1p,i,G,j;J{i=1p-12;b[i]=[];G=a;J{j=a-G;b[i][j]=7.4[j][i]}H(--G)}H(--12);8 S.u(b)},1y:l(){8(7.4.q==7.4[0].q)},2A:l(){9 m=0,12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;J{j=10-G;o(F.13(7.4[i][j])>F.13(m)){m=7.4[i][j]}}H(--G)}H(--12);8 m},2Z:l(x){9 a=w,12=7.4.q,15=12,i,G,10=7.4[0].q,j;J{i=15-12;G=10;J{j=10-G;o(7.4[i][j]==x){8{i:i+1,j:j+1}}}H(--G)}H(--12);8 w},30:l(){o(!7.1y){8 w}9 a=[],n=7.4.q,k=n,i;J{i=k-n;a.19(7.4[i][i])}H(--n);8 v.u(a)},1K:l(){9 M=7.1q(),1c;9 n=7.4.q,k=n,i,1s,1n=7.4[0].q,p;J{i=k-n;o(M.4[i][i]==0){2e(j=i+1;j<k;j++){o(M.4[j][i]!=0){1c=[];1s=1n;J{p=1n-1s;1c.19(M.4[i][p]+M.4[j][p])}H(--1s);M.4[i]=1c;1I}}}o(M.4[i][i]!=0){2e(j=i+1;j<k;j++){9 a=M.4[j][i]/M.4[i][i];1c=[];1s=1n;J{p=1n-1s;1c.19(p<=i?0:M.4[j][p]-M.4[i][p]*a)}H(--1s);M.4[j]=1c}}}H(--n);8 M},3h:l(){8 7.1K()},2z:l(){o(!7.1y()){8 w}9 M=7.1K();9 a=M.4[0][0],n=M.4.q-1,k=n,i;J{i=k-n+1;a=a*M.4[i][i]}H(--n);8 a},3f:l(){8 7.2z()},2y:l(){8(7.1y()&&7.2z()===0)},2Y:l(){o(!7.1y()){8 w}9 a=7.4[0][0],n=7.4.q-1,k=n,i;J{i=k-n+1;a+=7.4[i][i]}H(--n);8 a},3e:l(){8 7.2Y()},1Y:l(){9 M=7.1K(),1Y=0;9 a=7.4.q,15=a,i,G,10=7.4[0].q,j;J{i=15-a;G=10;J{j=10-G;o(F.13(M.4[i][j])>17.16){1Y++;1I}}H(--G)}H(--a);8 1Y},3d:l(){8 7.1Y()},2W:l(a){9 M=a.4||a;o(1g(M[0][0])==\\'1f\\'){M=S.u(M).4}9 T=7.1q(),1p=T.4[0].q;9 b=T.4.q,15=b,i,G,10=M[0].q,j;o(b!=M.q){8 w}J{i=15-b;G=10;J{j=10-G;T.4[i][1p+j]=M[i][j]}H(--G)}H(--b);8 T},2w:l(){o(!7.1y()||7.2y()){8 w}9 a=7.4.q,15=a,i,j;9 M=7.2W(S.I(a)).1K();9 b,1n=M.4[0].q,p,1c,2v;9 c=[],2c;J{i=a-1;1c=[];b=1n;c[i]=[];2v=M.4[i][i];J{p=1n-b;2c=M.4[i][p]/2v;1c.19(2c);o(p>=15){c[i].19(2c)}}H(--b);M.4[i]=1c;2e(j=0;j<i;j++){1c=[];b=1n;J{p=1n-b;1c.19(M.4[j][p]-M.4[i][p]*M.4[j][i])}H(--b);M.4[j]=1c}}H(--a);8 S.u(c)},3c:l(){8 7.2w()},2d:l(){8 7.1b(l(x){8 F.2d(x)})},2V:l(x){8 7.1b(l(p){8(F.13(p-x)<=17.16)?x:p})},2n:l(){9 a=[];9 n=7.4.q,k=n,i;J{i=k-n;a.19(v.u(7.4[i]).2n())}H(--n);8 a.2K(\\'\\\\n\\')},26:l(a){9 i,4=a.4||a;o(1g(4[0][0])!=\\'1f\\'){9 b=4.q,15=b,G,10,j;7.4=[];J{i=15-b;G=4[i].q;10=G;7.4[i]=[];J{j=10-G;7.4[i][j]=4[i][j]}H(--G)}H(--b);8 7}9 n=4.q,k=n;7.4=[];J{i=k-n;7.4.19([4[i]])}H(--n);8 7}};S.u=l(a){9 M=25 S();8 M.26(a)};S.I=l(n){9 a=[],k=n,i,G,j;J{i=k-n;a[i]=[];G=k;J{j=k-G;a[i][j]=(i==j)?1:0}H(--G)}H(--n);8 S.u(a)};S.2X=l(a){9 n=a.q,k=n,i;9 M=S.I(n);J{i=k-n;M.4[i][i]=a[i]}H(--n);8 M};S.1R=l(b,a){o(!a){8 S.u([[F.1H(b),-F.1G(b)],[F.1G(b),F.1H(b)]])}9 d=a.1q();o(d.4.q!=3){8 w}9 e=d.1u();9 x=d.4[0]/e,y=d.4[1]/e,z=d.4[2]/e;9 s=F.1G(b),c=F.1H(b),t=1-c;8 S.u([[t*x*x+c,t*x*y-s*z,t*x*z+s*y],[t*x*y+s*z,t*y*y+c,t*y*z-s*x],[t*x*z-s*y,t*y*z+s*x,t*z*z+c]])};S.3b=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[1,0,0],[0,c,-s],[0,s,c]])};S.39=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[c,0,s],[0,1,0],[-s,0,c]])};S.38=l(t){9 c=F.1H(t),s=F.1G(t);8 S.u([[c,-s,0],[s,c,0],[0,0,1]])};S.2J=l(n,m){8 S.1j(n,m).1b(l(){8 F.2F()})};S.1j=l(n,m){9 a=[],12=n,i,G,j;J{i=n-12;a[i]=[];G=m;J{j=m-G;a[i][j]=0}H(--G)}H(--12);8 S.u(a)};l 14(){}14.23={24:l(a){8(7.1m(a)&&7.1h(a.K))},1q:l(){8 14.u(7.K,7.U)},2U:l(a){9 V=a.4||a;8 14.u([7.K.4[0]+V[0],7.K.4[1]+V[1],7.K.4[2]+(V[2]||0)],7.U)},1m:l(a){o(a.W){8 a.1m(7)}9 b=7.U.1C(a.U);8(F.13(b)<=17.16||F.13(b-F.1A)<=17.16)},1o:l(a){o(a.W){8 a.1o(7)}o(a.U){o(7.1m(a)){8 7.1o(a.K)}9 N=7.U.2f(a.U).2q().4;9 A=7.K.4,B=a.K.4;8 F.13((A[0]-B[0])*N[0]+(A[1]-B[1])*N[1]+(A[2]-B[2])*N[2])}1d{9 P=a.4||a;9 A=7.K.4,D=7.U.4;9 b=P[0]-A[0],2a=P[1]-A[1],29=(P[2]||0)-A[2];9 c=F.1x(b*b+2a*2a+29*29);o(c===0)8 0;9 d=(b*D[0]+2a*D[1]+29*D[2])/c;9 e=1-d*d;8 F.13(c*F.1x(e<0?0:e))}},1h:l(a){9 b=7.1o(a);8(b!==w&&b<=17.16)},2T:l(a){8 a.1h(7)},1v:l(a){o(a.W){8 a.1v(7)}8(!7.1m(a)&&7.1o(a)<=17.16)},1U:l(a){o(a.W){8 a.1U(7)}o(!7.1v(a)){8 w}9 P=7.K.4,X=7.U.4,Q=a.K.4,Y=a.U.4;9 b=X[0],1z=X[1],1B=X[2],1T=Y[0],1S=Y[1],1M=Y[2];9 c=P[0]-Q[0],2s=P[1]-Q[1],2r=P[2]-Q[2];9 d=-b*c-1z*2s-1B*2r;9 e=1T*c+1S*2s+1M*2r;9 f=b*b+1z*1z+1B*1B;9 g=1T*1T+1S*1S+1M*1M;9 h=b*1T+1z*1S+1B*1M;9 k=(d*g/f+h*e)/(g-h*h);8 v.u([P[0]+k*b,P[1]+k*1z,P[2]+k*1B])},1r:l(a){o(a.U){o(7.1v(a)){8 7.1U(a)}o(7.1m(a)){8 w}9 D=7.U.4,E=a.U.4;9 b=D[0],1l=D[1],1k=D[2],1P=E[0],1O=E[1],1Q=E[2];9 x=(1k*1P-b*1Q),y=(b*1O-1l*1P),z=(1l*1Q-1k*1O);9 N=v.u([x*1Q-y*1O,y*1P-z*1Q,z*1O-x*1P]);9 P=11.u(a.K,N);8 P.1U(7)}1d{9 P=a.4||a;o(7.1h(P)){8 v.u(P)}9 A=7.K.4,D=7.U.4;9 b=D[0],1l=D[1],1k=D[2],1w=A[0],18=A[1],1a=A[2];9 x=b*(P[1]-18)-1l*(P[0]-1w),y=1l*((P[2]||0)-1a)-1k*(P[1]-18),z=1k*(P[0]-1w)-b*((P[2]||0)-1a);9 V=v.u([1l*x-1k*z,1k*y-b*x,b*z-1l*y]);9 k=7.1o(P)/V.1u();8 v.u([P[0]+V.4[0]*k,P[1]+V.4[1]*k,(P[2]||0)+V.4[2]*k])}},1V:l(t,a){o(1g(a.U)==\\'1f\\'){a=14.u(a.1N(),v.k)}9 R=S.1R(t,a.U).4;9 C=a.1r(7.K).4;9 A=7.K.4,D=7.U.4;9 b=C[0],1E=C[1],1J=C[2],1w=A[0],18=A[1],1a=A[2];9 x=1w-b,y=18-1E,z=1a-1J;8 14.u([b+R[0][0]*x+R[0][1]*y+R[0][2]*z,1E+R[1][0]*x+R[1][1]*y+R[1][2]*z,1J+R[2][0]*x+R[2][1]*y+R[2][2]*z],[R[0][0]*D[0]+R[0][1]*D[1]+R[0][2]*D[2],R[1][0]*D[0]+R[1][1]*D[1]+R[1][2]*D[2],R[2][0]*D[0]+R[2][1]*D[1]+R[2][2]*D[2]])},1t:l(a){o(a.W){9 A=7.K.4,D=7.U.4;9 b=A[0],18=A[1],1a=A[2],2N=D[0],1l=D[1],1k=D[2];9 c=7.K.1t(a).4;9 d=b+2N,2h=18+1l,2o=1a+1k;9 Q=a.1r([d,2h,2o]).4;9 e=[Q[0]+(Q[0]-d)-c[0],Q[1]+(Q[1]-2h)-c[1],Q[2]+(Q[2]-2o)-c[2]];8 14.u(c,e)}1d o(a.U){8 7.1V(F.1A,a)}1d{9 P=a.4||a;8 14.u(7.K.1t([P[0],P[1],(P[2]||0)]),7.U)}},1Z:l(a,b){a=v.u(a);b=v.u(b);o(a.4.q==2){a.4.19(0)}o(b.4.q==2){b.4.19(0)}o(a.4.q>3||b.4.q>3){8 w}9 c=b.1u();o(c===0){8 w}7.K=a;7.U=v.u([b.4[0]/c,b.4[1]/c,b.4[2]/c]);8 7}};14.u=l(a,b){9 L=25 14();8 L.1Z(a,b)};14.X=14.u(v.1j(3),v.i);14.Y=14.u(v.1j(3),v.j);14.Z=14.u(v.1j(3),v.k);l 11(){}11.23={24:l(a){8(7.1h(a.K)&&7.1m(a))},1q:l(){8 11.u(7.K,7.W)},2U:l(a){9 V=a.4||a;8 11.u([7.K.4[0]+V[0],7.K.4[1]+V[1],7.K.4[2]+(V[2]||0)],7.W)},1m:l(a){9 b;o(a.W){b=7.W.1C(a.W);8(F.13(b)<=17.16||F.13(F.1A-b)<=17.16)}1d o(a.U){8 7.W.2k(a.U)}8 w},2k:l(a){9 b=7.W.1C(a.W);8(F.13(F.1A/2-b)<=17.16)},1o:l(a){o(7.1v(a)||7.1h(a)){8 0}o(a.K){9 A=7.K.4,B=a.K.4,N=7.W.4;8 F.13((A[0]-B[0])*N[0]+(A[1]-B[1])*N[1]+(A[2]-B[2])*N[2])}1d{9 P=a.4||a;9 A=7.K.4,N=7.W.4;8 F.13((A[0]-P[0])*N[0]+(A[1]-P[1])*N[1]+(A[2]-(P[2]||0))*N[2])}},1h:l(a){o(a.W){8 w}o(a.U){8(7.1h(a.K)&&7.1h(a.K.2j(a.U)))}1d{9 P=a.4||a;9 A=7.K.4,N=7.W.4;9 b=F.13(N[0]*(A[0]-P[0])+N[1]*(A[1]-P[1])+N[2]*(A[2]-(P[2]||0)));8(b<=17.16)}},1v:l(a){o(1g(a.U)==\\'1f\\'&&1g(a.W)==\\'1f\\'){8 w}8!7.1m(a)},1U:l(a){o(!7.1v(a)){8 w}o(a.U){9 A=a.K.4,D=a.U.4,P=7.K.4,N=7.W.4;9 b=(N[0]*(P[0]-A[0])+N[1]*(P[1]-A[1])+N[2]*(P[2]-A[2]))/(N[0]*D[0]+N[1]*D[1]+N[2]*D[2]);8 v.u([A[0]+D[0]*b,A[1]+D[1]*b,A[2]+D[2]*b])}1d o(a.W){9 c=7.W.2f(a.W).2q();9 N=7.W.4,A=7.K.4,O=a.W.4,B=a.K.4;9 d=S.1j(2,2),i=0;H(d.2y()){i++;d=S.u([[N[i%3],N[(i+1)%3]],[O[i%3],O[(i+1)%3]]])}9 e=d.2w().4;9 x=N[0]*A[0]+N[1]*A[1]+N[2]*A[2];9 y=O[0]*B[0]+O[1]*B[1]+O[2]*B[2];9 f=[e[0][0]*x+e[0][1]*y,e[1][0]*x+e[1][1]*y];9 g=[];2e(9 j=1;j<=3;j++){g.19((i==j)?0:f[(j+(5-i)%3)%3])}8 14.u(g,c)}},1r:l(a){9 P=a.4||a;9 A=7.K.4,N=7.W.4;9 b=(A[0]-P[0])*N[0]+(A[1]-P[1])*N[1]+(A[2]-(P[2]||0))*N[2];8 v.u([P[0]+N[0]*b,P[1]+N[1]*b,(P[2]||0)+N[2]*b])},1V:l(t,a){9 R=S.1R(t,a.U).4;9 C=a.1r(7.K).4;9 A=7.K.4,N=7.W.4;9 b=C[0],1E=C[1],1J=C[2],1w=A[0],18=A[1],1a=A[2];9 x=1w-b,y=18-1E,z=1a-1J;8 11.u([b+R[0][0]*x+R[0][1]*y+R[0][2]*z,1E+R[1][0]*x+R[1][1]*y+R[1][2]*z,1J+R[2][0]*x+R[2][1]*y+R[2][2]*z],[R[0][0]*N[0]+R[0][1]*N[1]+R[0][2]*N[2],R[1][0]*N[0]+R[1][1]*N[1]+R[1][2]*N[2],R[2][0]*N[0]+R[2][1]*N[1]+R[2][2]*N[2]])},1t:l(a){o(a.W){9 A=7.K.4,N=7.W.4;9 b=A[0],18=A[1],1a=A[2],2M=N[0],2L=N[1],2Q=N[2];9 c=7.K.1t(a).4;9 d=b+2M,2p=18+2L,2m=1a+2Q;9 Q=a.1r([d,2p,2m]).4;9 e=[Q[0]+(Q[0]-d)-c[0],Q[1]+(Q[1]-2p)-c[1],Q[2]+(Q[2]-2m)-c[2]];8 11.u(c,e)}1d o(a.U){8 7.1V(F.1A,a)}1d{9 P=a.4||a;8 11.u(7.K.1t([P[0],P[1],(P[2]||0)]),7.W)}},1Z:l(a,b,c){a=v.u(a);a=a.1N();o(a===w){8 w}b=v.u(b);b=b.1N();o(b===w){8 w}o(1g(c)==\\'1f\\'){c=w}1d{c=v.u(c);c=c.1N();o(c===w){8 w}}9 d=a.4[0],18=a.4[1],1a=a.4[2];9 e=b.4[0],1W=b.4[1],1X=b.4[2];9 f,1i;o(c!==w){9 g=c.4[0],2l=c.4[1],2t=c.4[2];f=v.u([(1W-18)*(2t-1a)-(1X-1a)*(2l-18),(1X-1a)*(g-d)-(e-d)*(2t-1a),(e-d)*(2l-18)-(1W-18)*(g-d)]);1i=f.1u();o(1i===0){8 w}f=v.u([f.4[0]/1i,f.4[1]/1i,f.4[2]/1i])}1d{1i=F.1x(e*e+1W*1W+1X*1X);o(1i===0){8 w}f=v.u([b.4[0]/1i,b.4[1]/1i,b.4[2]/1i])}7.K=a;7.W=f;8 7}};11.u=l(a,b,c){9 P=25 11();8 P.1Z(a,b,c)};11.2I=11.u(v.1j(3),v.k);11.2H=11.u(v.1j(3),v.i);11.2G=11.u(v.1j(3),v.j);11.36=11.2I;11.35=11.2H;11.3j=11.2G;9 $V=v.u;9 $M=S.u;9 $L=14.u;9 $P=11.u;', 62, 206, '||||elements|||this|return|var||||||||||||function|||if||length||||create|Vector|null|||||||||Math|nj|while||do|anchor||||||||Matrix||direction||normal||||kj|Plane|ni|abs|Line|ki|precision|Sylvester|A2|push|A3|map|els|else||undefined|typeof|contains|mod|Zero|D3|D2|isParallelTo|kp|distanceFrom|cols|dup|pointClosestTo|np|reflectionIn|modulus|intersects|A1|sqrt|isSquare|X2|PI|X3|angleFrom|mod1|C2|mod2|sin|cos|break|C3|toRightTriangular|false|Y3|to3D|E2|E1|E3|Rotation|Y2|Y1|intersectionWith|rotate|v12|v13|rank|setVectors|nc|sum|multiply|prototype|eql|new|setElements|case|each|PA3|PA2|part|new_element|round|for|cross|product|AD2|isSameSizeAs|add|isPerpendicularTo|v22|AN3|inspect|AD3|AN2|toUnitVector|PsubQ3|PsubQ2|v23|dot|divisor|inverse|true|isSingular|determinant|max|canMultiplyFromLeft|subtract|rows|col|random|ZX|YZ|XY|Random|join|N2|N1|D1|slice|default|N3|dimensions|switch|liesIn|translate|snapTo|augment|Diagonal|trace|indexOf|diagonal|transpose|minor|row|isAntiparallelTo|ZY|YX|acos|RotationZ|RotationY|liesOn|RotationX|inv|rk|tr|det|toDiagonalMatrix|toUpperTriangular|version|XZ'.split('|'), 0, {}));\r\n\r\nvar _T = {\r\n    rotate: function (deg) {\r\n        var rad = parseFloat(deg) * (Math.PI / 180),\r\n            costheta = Math.cos(rad),\r\n            sintheta = Math.sin(rad);\r\n\r\n        var a = costheta,\r\n            b = sintheta,\r\n            c = -sintheta,\r\n            d = costheta;\r\n\r\n        return $M([\r\n            [a, c, 0],\r\n            [b, d, 0],\r\n            [0, 0, 1]\r\n        ]);\r\n    },\r\n\r\n    skew: function (dx, dy) {\r\n        var radX = parseFloat(dx) * (Math.PI / 180),\r\n            radY = parseFloat(dy) * (Math.PI / 180),\r\n            c = Math.tan(radX),\r\n            b = Math.tan(radY);\r\n\r\n\r\n        return $M([\r\n            [1, c, 0],\r\n            [b, 1, 0],\r\n            [0, 0, 1]\r\n        ]);\r\n    },\r\n\r\n    translate: function (x, y) {\r\n        var e = x || 0,\r\n            f = y || 0;\r\n\r\n        return $M([\r\n            [1, 0, e],\r\n            [0, 1, f],\r\n            [0, 0, 1]\r\n        ]);\r\n    },\r\n\r\n    scale: function (x, y) {\r\n        var a = x || 0,\r\n            d = y || 0;\r\n\r\n        return $M([\r\n            [a, 0, 0],\r\n            [0, d, 0],\r\n            [0, 0, 1]\r\n        ]);\r\n    },\r\n\r\n    toString: function (m) {\r\n        var s = 'matrix(',\r\n            r, c;\r\n\r\n        for (c = 1; c <= 3; c++) {\r\n            for (r = 1; r <= 2; r++)\r\n                s += m.e(r, c) + ', ';\r\n        }\r\n\r\n        s = s.substr(0, s.length - 2) + ')';\r\n\r\n        return s;\r\n    },\r\n\r\n    fromString: function (s) {\r\n        var t = /^matrix\\((\\S*), (\\S*), (\\S*), (\\S*), (\\S*), (\\S*)\\)$/g.exec(s),\r\n            a = parseFloat(!t ? 1 : t[1]),\r\n            b = parseFloat(!t ? 0 : t[2]),\r\n            c = parseFloat(!t ? 0 : t[3]),\r\n            d = parseFloat(!t ? 1 : t[4]),\r\n            e = parseFloat(!t ? 0 : t[5]),\r\n            f = parseFloat(!t ? 0 : t[6]);\r\n\r\n        return $M([\r\n            [a, c, e],\r\n            [b, d, f],\r\n            [0, 0, 1]\r\n        ]);\r\n    }\r\n};\r\n\r\n\r\n(function ($) {\r\n\r\n    var console = window.console && window.SF_DEBUG ? window.console : {\r\n        log: function () {\r\n        }\r\n    }\r\n    var lh = location.href.replace(/\\#.?/, '');\r\n\r\n    var triggered = false;\r\n\r\n    var set = function (obj, prop, val) {\r\n        Object.defineProperty(obj, prop, {\r\n            value: val\r\n        })\r\n        return val;\r\n    };\r\n\r\n    $.fn.hasClasses = function (e) {\r\n        var classes = e.replace(/\\s/g, \"\").split(\",\"),\r\n            t = this;\r\n        for (var i in classes) {\r\n            if ($(t).hasClass(classes[i])) return true;\r\n        }\r\n        return false\r\n    }\r\n\r\n    $.fn.addClasses = function (e) {\r\n        var classes = e.replace(/\\s/g, \"\").split(\",\"),\r\n            t = this;\r\n        for (var i in classes) $(t).addClass(classes[i]);\r\n        return this;\r\n    };\r\n\r\n\r\n    jQuery(document).one('sfm_doc_body_arrived ready', function () {\r\n\r\n        if (triggered) return;\r\n        else triggered = true;\r\n\r\n        var $win = $(window);\r\n        var $html = $('html');\r\n        var $body = $('body');\r\n        var originalWrite = document.write;\r\n        var opts = window.SF_Opts;\r\n\r\n        document.write = function () {\r\n            console.log('Superfly plugin debug: using document.write is bad practice and not supported')\r\n        };\r\n        $body.prepend(window.SFM_template);\r\n        document.write = originalWrite;\r\n\r\n        var execFunc = opts.alt_menu ? $ : setTimeout;\r\n        execFunc(function () {\r\n            var LM = window.LM || (function () {\r\n                    var isMobile = window.SFM_is_mobile;\r\n                    var clickTapEvent = isMobile ? ( $.mobile  ? 'vclick' : 'tap') : 'click'; // todo check android\r\n\r\n                    var eventCancelTimeout;\r\n\r\n                    var $rollback = $('.sfm-rollback');\r\n                    var $sidebar = $('#sfm-sidebar');\r\n                    var $overlay = $('#sfm-overlay-wrapper');\r\n                    var $socialbar = $('.sfm-social', $sidebar);\r\n                    var $defmenu = opts.alt_menu ? $(opts.alt_menu) : $('#sfm-nav');\r\n                    var $custom = $('.sfm-view-level-custom'), customOpened = false;\r\n                    var $cont;\r\n                    var $head = $('.sfm-logo');\r\n                    var sums = [];\r\n                    sums.push(parseInt(opts.width_panel_1));\r\n                    sums.push(sums[0] + parseInt(opts.width_panel_2));\r\n                    sums.push(sums[1] + parseInt(opts.width_panel_3));\r\n                    sums.push(sums[2] + parseInt(opts.width_panel_4));\r\n\r\n                    if (opts.alt_menu && $defmenu.length) {\r\n                        $('#sfm-nav').remove()\r\n                    } else {\r\n                        $defmenu = $('#sfm-nav')\r\n                    }\r\n\r\n                    //\r\n                    if (SF_DEBUG) {\r\n                        //$defmenu.find('a').attr('target', '_blank')\r\n                    }\r\n\r\n                    var direction = opts.sidebar_pos;\r\n                    var opposite = direction === 'left' ? 'right' : 'left';\r\n                    var pre = 'sfm';\r\n\r\n                    var isIE = /msie|trident.*rv\\:11\\./.test(navigator.userAgent.toLowerCase());\r\n                    var isFF = /firefox/.test(navigator.userAgent.toLowerCase());\r\n                    var transProp = getVendorPropertyName('transform');\r\n                    var translation = _T.translate((direction === 'left' ? opts.width_panel_1 : -opts.width_panel_1), 0);\r\n                    var defTranslationStr = _T.toString(_T.translate(0, 0));\r\n                    var htmlMargins = {\r\n                        top: parseInt($html.css('marginTop')),\r\n                        bottom: parseInt($html.css('marginBottom'))\r\n                    }\r\n\r\n                    var currentEvent = 'mouseenter';\r\n\r\n                    var bbg = $body.css('backgroundImage');\r\n                    var bodyCss;\r\n                    var $bodybg;\r\n                    var $children;\r\n\r\n                    if (opts.sidebar_behaviour === 'push') {\r\n\r\n                        if (bbg !== 'none') {\r\n\r\n                            $body.prepend('<div id=\"sfm-body-bg\"></div>');\r\n                            $bodybg = $('#sfm-body-bg');\r\n\r\n                            bodyCss = {\r\n                                'backgroundColor': $body.css('backgroundColor'),\r\n                                'backgroundImage': $body.css('backgroundImage'),\r\n                                'backgroundAttachment': $body.css('backgroundAttachment'),\r\n                                'backgroundSize': $body.css('backgroundSize'),\r\n                                'backgroundPosition': $body.css('backgroundPosition'),\r\n                                'backgroundRepeat': $body.css('backgroundRepeat'),\r\n                                'backgroundOrigin': $body.css('backgroundOrigin'),\r\n                                'backgroundClip': $body.css('backgroundClip')\r\n                            };\r\n\r\n                            if (bodyCss.backgroundColor.indexOf('(0, 0, 0, 0') + 1 || bodyCss.backgroundColor.indexOf('transparent') + 1) {\r\n                                bodyCss.backgroundColor = '#fff';\r\n                            }\r\n\r\n                            $children = $body.children().not('#sfm-body-bg, #sfm-fixed-container, script, style');\r\n\r\n                            if (parseInt($children.first().css('marginTop')) || parseInt($children.last().css('marginBottom'))) {\r\n                                $body.addClass('sfm-body-float');\r\n                            }\r\n\r\n                            if (bodyCss.backgroundAttachment === 'fixed') {\r\n                                bodyCss.position = 'fixed';\r\n                                bodyCss.backgroundAttachment = 'scroll';\r\n                            }\r\n\r\n                            $bodybg.css(bodyCss);\r\n                            attachStyles('body > * {position: relative} body {overflow-x:hidden!important}');\r\n                        }\r\n                    }\r\n\r\n                    var menuOpts = {\r\n                        search: opts.search,\r\n                        addHomeLink: opts.addHomeLink === 'yes',\r\n                        addHomeText: opts.addHomeText || 'Home',\r\n                        subMenuSupport: opts.subMenuSupport === 'yes' /*&& opts.sidebar_style !== 'full'*/,\r\n                        subMenuSelector: opts.subMenuSelector,\r\n                        activeClassSelector: opts.activeClassSelector || '',\r\n                        allowedTags: 'DIV, NAV, UL, OL, LI, A, P, H1, H2, H3, H4, SPAN, STRONG',\r\n                        transitionDuration: 300,\r\n                        extra: opts.menuData\r\n                    }\r\n                    //console.log(menuOpts)\r\n\r\n                    var Menu = {\r\n                        unique: 1,\r\n                        build: function () {\r\n\r\n                            var $newMenu;\r\n\r\n                            $newMenu = $defmenu.clone().removeAttr(\"id class\");\r\n                            $newMenu = this.processDefMenu($newMenu);\r\n                            $defmenu.remove();\r\n\r\n                            if (menuOpts.addHomeLink) {\r\n                                $newMenu.prepend('<li><a href=\"http://' + window.location.hostname + '\">' + menuOpts.addHomeText + \"</a></li>\");\r\n                            }\r\n\r\n                            if ($newMenu.prop(\"tagName\") === 'UL') {\r\n                                $newMenu.addClass(pre + \"-menu-level-0\");\r\n                            } else {\r\n                                $newMenu.find(\"ul\").first().addClass(pre + \"-menu-level-0\").siblings(\"ul\").addClass(pre + \"-menu-level-0\");\r\n                            }\r\n\r\n                            menuOpts.subMenuSelector && menuOpts.subMenuSupport ? this.buildSubMenus($newMenu) : this.removeSubMenus($newMenu);\r\n\r\n                            $newMenu.find('a').each(function () {\r\n                                var $t = $(this);\r\n                                if (!$t.children('span').length) $(this).wrapInner($('<span/>'));\r\n                                if (!menuOpts.subMenuSupport) return;\r\n\r\n                                if ($t.parent().is('.sfm-has-child-menu')) {\r\n                                    $t.append('<ins class=\"sfm-sm-indicator\"><i></i></ins>')\r\n                                }\r\n                            });\r\n\r\n                            if (menuOpts.extra) this.attachExtraTo($newMenu.find(\"[class*=menu-item]\"))\r\n\r\n                            $newMenu.prependTo('.sfm-nav .sfm-va-middle').show();\r\n\r\n                            if (menuOpts.search === 'show') {\r\n                                $('.sfm-va-middle').prepend('<form role=\"search\" method=\"get\" class=\"sfm-search-form\" action=\"' + opts.siteBase + '\"><input type=\"text\" class=\"search-field\" placeholder=\"\" value=\"\" name=\"s\"><span></span><input type=\"submit\" class=\"search-submit\" value=\"Search\"></form>');\r\n                            }\r\n                            $cont = $(\".\" + pre + \"-nav\");\r\n\r\n                            $newMenu.removeClass(pre + \"-has-child-menu\").addClass('sfm-menu');\r\n                        },\r\n\r\n                        processDefMenu: function ($menu) {\r\n\r\n                            var activeClassSelector = menuOpts.activeClassSelector ? menuOpts.activeClassSelector : \"\";\r\n                            var classes = menuOpts.subMenuSelector ? menuOpts.subMenuSelector : \"\";\r\n                            var tags = menuOpts.allowedTags.replace(/\\s/g, \"\").split(\",\");\r\n                            var $items = $menu.find(\"[class*=menu-item]\");\r\n\r\n                            $menu.find('.skip-link, .menu-toggle, a[title*=\"Skip to content\"]').remove();\r\n\r\n                            $items.each(function () {\r\n                                var id = this.id ? this.id.replace('menu-item-', '') : (this.className.match(/menu-item-(\\d+):?\\b/) ? this.className.match(/menu-item-(\\d+):?\\b/)[1] : '');\r\n                                $(this).data('sfm-id', id);\r\n                            })\r\n\r\n                            $menu.find(\"*\").each(function () {\r\n                                var $t = $(this);\r\n                                var tag = $t.prop('tagName');\r\n                                var cls = $t.prop('className');\r\n\r\n                                if (tags.indexOf(tag) === -1 || $.trim($t.text()) === \"\" || $t.is('.uber-close')) {\r\n                                    return $t.remove();\r\n                                }\r\n\r\n                                if ($t.hasClasses(classes)) {\r\n                                    $t.removeAttr(\"class id\").addClass(classes.split(\",\").join(' '));\r\n\r\n                                } else {\r\n                                    if ($t.hasClasses(activeClassSelector)) {\r\n                                        $t.removeAttr(\"class id\").addClass(pre + \"-active-class\");\r\n                                    } else {\r\n                                        $t.removeAttr(\"class id\");\r\n                                    }\r\n                                }\r\n\r\n                                $t.removeAttr(\"style\");\r\n\r\n                                if (tag === 'LI') {\r\n                                    $t.addClass('sfm-menu-item-' + $t.data('sfm-id'));\r\n                                }\r\n\r\n                            });\r\n                            return $menu;\r\n                        },\r\n\r\n                        buildSubMenus: function ($menu) {\r\n                            var children = menuOpts.subMenuSelector.replace(/\\s/g, \"\").split(\",\");\r\n\r\n                            for (var i = 0, len = children.length; i < len; i++) {\r\n                                $menu.find(\".\" + children[i]).each(function () {\r\n                                    var $t = $(this);\r\n                                    $t.removeAttr(\"id class\")\r\n                                        .addClass(pre + \"-child-menu \")\r\n                                        .parent()\r\n                                        .addClass(pre + \"-has-child-menu\")\r\n                                });\r\n                            }\r\n\r\n                            this.detectLevel($menu)\r\n                        },\r\n\r\n                        attachExtraTo: function ($items) {\r\n                            var data;\r\n                            var https = location.protocol === 'https:';\r\n\r\n                            $items.each(function () {\r\n                                var $t = $(this);\r\n                                var id = $t.data('sfm-id');\r\n                                var data;\r\n                                if (menuOpts.extra[id]) {\r\n                                    data = deparam(menuOpts.extra[id]);\r\n                                    if (data.hidemob && isMobile) {\r\n                                        $t.remove();\r\n                                        return;\r\n                                    }\r\n                                    if (data.img) {\r\n                                        if (direction == 'right' && opts.sidebar_style == 'skew') {\r\n                                            $t.find('> a').append('<img src=\"' + ( https ? data.img.replace('http:', 'https:') : data.img ) + '\"/>')\r\n                                        } else {\r\n                                            $t.find('> a').prepend('<img src=\"' + ( https ? data.img.replace('http:', 'https:') : data.img ) + '\"/>')\r\n                                        }\r\n                                    } else if (data.icon) {\r\n                                        var style = data.icon_color ? 'color: ' + data.icon_color + ';' : '';\r\n                                        var icon = data.icon\r\n                                        var set = LAIconManagerUtil.getSet(icon) ? LAIconManagerUtil.getSet(icon) : 'Font Awesome';\r\n                                        if (set === '####') {\r\n                                            icon = LAIconManagerUtil.getIcon(icon)\r\n                                            if (direction == 'right' && opts.sidebar_style == 'skew') {\r\n                                                $t.find('> a').append('<i style=\"background-image:url(' + icon + ')\" class=\"la_icon la_icon_manager_custom\">');\r\n                                            } else {\r\n                                                $t.find('> a').prepend('<i style=\"background-image:url(' + icon + ')\" class=\"la_icon la_icon_manager_custom\">');\r\n                                            }\r\n                                        } else {\r\n                                            icon = icon.indexOf('fa-') !== -1 ? 'la' + md5('Font Awesome') + '-' + icon.substr(3) : LAIconManagerUtil.getIconClass(icon);\r\n                                            if (direction == 'right' && opts.sidebar_style == 'skew') {\r\n                                                $t.find('> a').append('<i style=\"' + style + '\" class=\"la_icon ' + icon + '\">');\r\n                                            } else {\r\n                                                $t.find('> a').prepend('<i style=\"' + style + '\" class=\"la_icon ' + icon + '\">');\r\n                                            }\r\n                                        }\r\n                                    }\r\n                                    ;\r\n                                    if (data.sline) {\r\n                                        $t.find('> a span').append('<br><i class=\"sfm-sl\">' + data.sline.replace(/\\+/g, ' ') + '</i>');\r\n                                    }\r\n                                    ;\r\n                                    if (data.chapter) {\r\n                                        $t.before('<li class=\"sfm-chapter\"><div>' + data.chapter.replace(/\\+/g, ' ') + '</div></li>')\r\n                                    }\r\n                                    ;\r\n                                    if (data.content) {\r\n                                        if (!$t.find(\".sfm-sm-indicator\").length && menuOpts.subMenuSupport) {\r\n                                            $t.addClass(pre + '-has-child-menu');\r\n                                            $t.find(' > a').append('<ins class=\"sfm-sm-indicator\"><i></i></ins>');\r\n                                        }\r\n                                    }\r\n                                    $t.data('sfm-extra', data)\r\n                                    if (data.width)    $t.attr('data-extra-width', data.width);\r\n                                    if (data.bg)    $t.attr('data-bg', data.bg);\r\n                                    $t.attr('data-sfm-id', id);\r\n                                } else {\r\n                                    return\r\n                                }\r\n\r\n                            })\r\n\r\n                        },\r\n\r\n                        detectLevel: function ($menu) {\r\n                            $menu.find(\".\" + pre + \"-child-menu\").each(function () {\r\n                                var $t = $(this);\r\n                                var t = $t.parents(\".\" + pre + \"-child-menu\").length + 1;\r\n                                $t.addClass(pre + \"-menu-level-\" + t);\r\n\r\n                                if (!$sidebar.find('.' + pre + '-view-level-' + t).length) $sidebar.append($('<div class=\"sfm-view ' + pre + '-view-level-' + t + '\"></div>'))\r\n                            })\r\n                        },\r\n\r\n                        removeSubMenus: function ($menu) {\r\n                            if (!menuOpts.subMenuSupport) {\r\n\r\n                                return $menu.children().each(function () {\r\n                                    $(this).find(\"ul\").remove();\r\n                                });\r\n                            } else {\r\n                                var o = menuOpts.subMenuSelector.replace(/\\s/g, \"\").split(\",\");\r\n                                for (var l in o) $menu.find(\".\" + o[l]).each(function () {\r\n                                    $(this).remove()\r\n                                })\r\n                            }\r\n                        },\r\n\r\n                        toggleActiveClasses: function ($menu) {\r\n                            $menu.find(\".\" + pre + \"-has-child-menu\").each(function () {\r\n                                var $t = $(this);\r\n                                if ($t.find(\"*\").children(\".\" + pre + \"-active-class\").length > 0) {\r\n                                    $t.toggleClass(pre + \"-child-menu-open\");\r\n                                    setTimeout(function () {\r\n                                        $t.addClass(pre + \"-child-menu-open\");\r\n                                        $t.find(\".\" + pre + \"-child-menu\").first().show()\r\n                                    }, menuOpts.transitionDuration);\r\n                                }\r\n                            })\r\n                        }\r\n                    };\r\n\r\n                    var currLevel = 0;\r\n                    var cursor;\r\n                    var animTimer;\r\n                    var state = 'hidden';\r\n                    var events = 'off';\r\n                    var ww;\r\n                    var wh;\r\n                    var MAX_WIDTH = 0;\r\n                    var dragging = false;\r\n                    var cancel = false;\r\n                    var isIE9 = /MSIE 9/.test(navigator.userAgent);\r\n\r\n                    function init() {\r\n\r\n                        Menu.build();\r\n\r\n                        if (!$sidebar.parent().is('body'))  $body.prepend($('#sfm-body-bg, .sfm-rollback, #sfm-sidebar, #sfm-mob-navbar, #sfm-overlay-wrapper'))\r\n\r\n                        var viewsL = Math.min(1 + $sidebar.find('.sfm-view').length, 4);\r\n                        for (var i = 1; i <= viewsL; i++) {\r\n                            MAX_WIDTH += parseInt(opts['width_panel_' + i]);\r\n                        }\r\n\r\n                        if (opts.sidebar_behaviour === 'always') {\r\n                            $sidebar.on('mouseenter ' + clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler);\r\n                        }\r\n                        else if (opts.sidebar_style === 'full') {\r\n                            $sidebar.on(clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler);\r\n                        }\r\n                        else {\r\n                            $sidebar.bind(window.transitionEnd, function (e) {\r\n\r\n                                if (!$(e.target).is($sidebar)) return;\r\n\r\n                                if ($sidebar.is('.sfm-sidebar-exposed') && events === 'off') {\r\n\r\n                                    $sidebar.on('mouseenter ' + clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler);\r\n\r\n                                    events = 'on';\r\n                                    //todo check cursor\r\n\r\n                                } else if (!$sidebar.is('.sfm-sidebar-exposed')) {\r\n\r\n                                    $sidebar.off('mouseenter ' + clickTapEvent, '.sfm-menu-level-0 > li, .sfm-view ul > li');\r\n                                    events = 'off';\r\n                                    $overlay.css('visibility', 'hidden');\r\n\r\n                                    if (opts.sidebar_behaviour === 'push') {\r\n\r\n                                        //setTimeout(function(){\r\n                                        var $fixed = $('.sfm-inner-fixed')\r\n                                        if (!isIE) $fixed.each(unshiftFixed);\r\n                                        $fixed.removeClass('sfm-inner-fixed');\r\n                                        //}, 0)\r\n                                    }\r\n                                }\r\n                            });\r\n                        }\r\n\r\n                        if (isIE9) {\r\n                            $sidebar.on('mouseenter', '.sfm-menu-level-0 > li:not(.sfm-chapter), .sfm-view ul > li:not(.sfm-chapter)', itemEventHandler);\r\n                        }\r\n\r\n                        $('.sfm-view').mouseenter(function () {\r\n                            clearTimeout(animTimer);\r\n                        });\r\n\r\n                        $custom.on((opts.sub_opening_type === 'hover' && !isMobile && opts.sub_type !== 'yes') ? 'mouseenter' : clickTapEvent, function () {\r\n                            cursor = this;\r\n                        });\r\n\r\n                        if (opts.opening_type === 'hover' && !isMobile) {\r\n\r\n                            if (opts.sidebar_behaviour !== 'always') {\r\n                                $rollback.mouseenter(function (e) {\r\n                                    if (!$(e.relatedTarget).is('.sfm-sidebar-close')) showSidebar()\r\n                                });\r\n                            }\r\n\r\n                            $sidebar.mouseleave(function (e) {\r\n                                setTimeout(function () {\r\n                                    hideSidebar()\r\n                                }, 250)\r\n                            });\r\n\r\n                        } else if (opts.opening_type === 'click' || isMobile || opts.sub_type === 'yes') {\r\n\r\n                            $('#sfm-overlay').on(clickTapEvent, hideSidebar);\r\n\r\n                            if (opts.sub_opening_type === 'hover') {\r\n                                $sidebar.mouseleave(function (e) {\r\n                                    setTimeout(function () {\r\n                                        $body.removeClass('sfm-view-pushed-custom sfm-view-pushed-1 sfm-view-visible-1 sfm-view-pushed-2 sfm-view-visible-2 sfm-view-pushed-3 sfm-view-visible-3');\r\n                                        hideCustom(true);\r\n                                        $sidebar.find('.sfm-active-item').removeClass('sfm-active-item');\r\n                                        if (opts.sidebar_behaviour === 'always') {\r\n                                            setTimeout(function () {\r\n                                                $overlay.css('visibility', 'hidden')\r\n                                            }, 400);\r\n                                        }\r\n                                    }, 250)\r\n                                });\r\n                            }\r\n                        }\r\n\r\n                        if (opts.togglers) {\r\n                            /*\r\n                             var $togglers = $body.find(opts.togglers);\r\n                             if ($togglers) {\r\n\r\n                             }\r\n                             */\r\n                            $body.on(clickTapEvent, opts.togglers, function (e) {\r\n\r\n                                // preventing immediate double tap events occuring in some themes\r\n                                if (eventCancelTimeout) {\r\n                                    return;\r\n                                } else {\r\n                                    eventCancelTimeout = setTimeout(function () {\r\n                                        eventCancelTimeout = null\r\n                                    }, 301)\r\n                                }\r\n\r\n                                e.preventDefault();\r\n                                e.stopImmediatePropagation();\r\n                                state === 'hidden' ? showSidebar() : hideSidebar();\r\n                                return false;\r\n                            });\r\n                        }\r\n\r\n                        $sidebar.on('click', '.sfm-menu a', function (e) {\r\n                            console.log('preventing');\r\n                            if (!isIE9) e.preventDefault();\r\n                        });\r\n\r\n                        $win.on('resize orientationchange', setupSize);\r\n\r\n\r\n                        $sidebar.on(\"touchmove\", function () {\r\n                            dragging = true;\r\n                        });\r\n\r\n                        $sidebar.on(\"touchend\", function () {\r\n                            dragging = false;\r\n                        });\r\n\r\n                        $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button, .sfm-sidebar-close').on(clickTapEvent, function (e) {\r\n                            //e.stopImmediatePropagation();\r\n                            // preventing immediate double tap events occuring in some themes\r\n                            if (eventCancelTimeout) {\r\n                                return;\r\n                            } else {\r\n                                eventCancelTimeout = setTimeout(function () {\r\n                                    eventCancelTimeout = null;\r\n                                }, 301)\r\n                            }\r\n\r\n                            if (state === 'hidden') {\r\n                                showSidebar();\r\n                                $(this).addClass(\"sfm-open\");\r\n                            } else {\r\n                                hideSidebar();\r\n                                $(this).removeClass(\"sfm-open\");\r\n                            }\r\n\r\n                            return false;\r\n                        });\r\n\r\n                        $('#sfm-sidebar .sfm-search-form span').on(clickTapEvent, function () {\r\n                            console.log('yo')\r\n                            $(this).closest('form').submit()\r\n                        })\r\n\r\n                        if (isMobile) {\r\n                            if (/iPad|iPhone/.test(navigator.userAgent)) {\r\n                                $sidebar.on('focus', 'input', function (e) {\r\n                                    $body.css('overflowX', 'visible');\r\n                                    $sidebar.css({'position': 'absolute', top: '-62px'})\r\n                                    $(document).scrollTop(0);\r\n\r\n                                }).on('blur', 'input', function () {\r\n                                    $sidebar.css('position', '');\r\n                                    $body.css('overflowX', 'hidden');\r\n                                });\r\n                            }\r\n                            attachSwipesHandler();\r\n                        }\r\n\r\n                        populateSocialBarWith(opts.social);\r\n\r\n                        var behaviour = opts.sidebar_style == 'full' ? 'full' : opts.sidebar_behaviour;\r\n\r\n                        var bodyClasses = 'superfly-on sfm-style-' + opts.sidebar_style + ' sfm-sidebar-' + behaviour + ' sfm-toggle-' + opts.opening_type + (opts.blur === 'blur' ? ' sfm-blur' : '');\r\n                        console.log(bodyClasses);\r\n                        $body.addClass(bodyClasses);\r\n\r\n                        $( document ).ajaxComplete(function() {\r\n                            setTimeout(function(){\r\n                                if(!$body.is('.superfly-on')) {\r\n                                    $body.addClass(bodyClasses);\r\n                                }\r\n                            }, 0);\r\n                        });\r\n\r\n                        setTimeout(function () {\r\n\r\n                            if (opts.sidebar_behaviour === 'always') {\r\n                                setTimeout(function () {\r\n                                    setupSize();\r\n                                    $sidebar.css('opacity', '1');\r\n                                }, 300);\r\n                            } else {\r\n                                $sidebar.css('opacity', '1');\r\n                            }\r\n                        }, 0);\r\n\r\n                        if (opts.test_mode === 'yes') {\r\n                            $sidebar.addClass('sfm-test-mode');\r\n                        }\r\n\r\n                        $('.sfm-close').bind(clickTapEvent, function () {\r\n                            $custom.removeClass('sfm-modal');\r\n                            var css = {'opacity': '', 'visibility': ''};\r\n                            $custom.css(css);\r\n                            $custom.find('.sfm-active').removeClass('sfm-active');\r\n                        })\r\n\r\n                        // fix for CF7\r\n                        $(function(){\r\n                            setTimeout(function(){\r\n                                var $cf7form = $('#sfm-sidebar .wpcf7 form');\r\n                                if (!$cf7form.length) return;\r\n                                var evObj = $._data( $('#sfm-sidebar .wpcf7 form')[0], \"events\" );\r\n                                if (!evObj) {\r\n                                    $('div.wpcf7 > form').wpcf7InitForm();\r\n                                }\r\n                            },0)\r\n                        });\r\n\r\n                        LM.init = function () {\r\n                        };\r\n                        return this;\r\n                    }\r\n\r\n                    function hideCustom(reset) {\r\n                        if (customOpened) {\r\n                            var css = {'opacity': '', 'visibility': '', transProp: '', backgroundColor: ''};\r\n                            if (reset) {\r\n                                css[transProp] = defTranslationStr;\r\n                                css['width'] = '';\r\n                            }\r\n                            else css[transProp] = $custom.data('startPos') || defTranslationStr;\r\n                            $custom.css(css)//.data('startPos', '');\r\n                            $custom.find('.sfm-active').removeClass('sfm-active');\r\n                        }\r\n                    }\r\n\r\n                    function setupFont() {\r\n                        var wh = window.innerHeight || document.documentElement.offsetHeight || document.documentElement.clientHeight;\r\n                        var th = wh - $('.sfm-logo').outerHeight() - $('.sfm-social').outerHeight() - 60;\r\n                        var th = wh - ($('.sfm-logo img').length ? 80 : 0 ) - ($('.sfm-social').children().length ? 85 : 0 ) - 30;\r\n                        var $links = $sidebar.find('.sfm-nav .sfm-menu li > a');\r\n                        var num = $links.length;\r\n                        var space = th / num;\r\n                        var line = Math.min(space - opts.item_padding * 2, isMobile ? 45 : 65);\r\n                        $links.css({'fontSize': line, 'lineHeight': space - opts.item_padding + 'px'})\r\n                        //$links.css('lineHeight', space + 'px')\r\n                        //console.log('line', th, space, space - opts.item_padding * 2, line)\r\n                    }\r\n\r\n                    function showSidebar() {\r\n                        var $children;\r\n                        if (state !== 'hidden') return;\r\n\r\n                        clearTimeout(animTimer);\r\n                        setupSize();\r\n\r\n                        $sidebar.addClass('sfm-sidebar-exposed')\r\n                        $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button').addClass('sfm-open');\r\n                        $overlay.css('visibility', 'visible');\r\n\r\n                        /*animTimer = */\r\n\r\n                        $body.addClass('sfm-body-pushed');\r\n\r\n                        if (opts.sidebar_behaviour === 'push' && opts.sidebar_style != 'full') {\r\n\r\n                            $children = $body.children().not('[id*=sfm-], script, style');\r\n\r\n                            $children.find('*').each(function (i, el) {\r\n                                shiftFixed(i, el, $win.scrollTop(), $win.scrollLeft())\r\n                            });\r\n                        }\r\n\r\n                        state = 'open';\r\n\r\n                        return false;\r\n                    }\r\n\r\n                    function hideSidebar() {\r\n                        clearTimeout(animTimer);\r\n                        if (isIE && (opts.sidebar_behaviour === 'push')) {\r\n                            $('.sfm-inner-fixed').each(unshiftFixed);\r\n                        }\r\n\r\n                        if (opts.sidebar_behaviour === 'always' || opts.sidebar_style === 'full') {\r\n                            setTimeout(function () {\r\n                                $overlay.css('visibility', 'hidden')\r\n                            }, 400);\r\n                        }\r\n                        $sidebar.find('.sfm-active-item').removeClass('sfm-active-item');\r\n\r\n                        hideCustom(true);\r\n\r\n                        //animTimer = setTimeout(function(){\r\n\r\n                        $body.removeClass('sfm-body-pushed sfm-view-pushed-custom sfm-view-pushed-1 sfm-view-pushed-2 sfm-view-pushed-3  sfm-view-pushed-4 sfm-view-visible-1 sfm-view-visible-2 sfm-view-visible-3 sfm-view-visible-4')\r\n                        $sidebar.removeClass('sfm-sidebar-exposed')\r\n                        $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button').removeClass('sfm-open');\r\n                        state = 'hidden';\r\n                        //}, 75);\r\n                    }\r\n\r\n                    function itemEventHandler(e) {\r\n\r\n                        // preventing immediate double tap events occuring in some themes\r\n                        if (eventCancelTimeout) {\r\n                            return;\r\n                        } else {\r\n                            eventCancelTimeout = setTimeout(function () {\r\n                                eventCancelTimeout = null\r\n                            }, 14)\r\n                        }\r\n                        e.stopImmediatePropagation();\r\n\r\n                        var $t = $(this);\r\n                        var $tar;\r\n\r\n                        function goToLink() {\r\n\r\n                            var $a = $t.find('a');\r\n                            var hr = $a.prop('href');\r\n                            var blank = $a.attr('target') === '_blank';\r\n                            var hash = $a.prop('hash');\r\n                            var smooth = hash && hash.length > 0 && hr == lh + hash, scrollTop, $el;\r\n                            if (smooth) {\r\n                                hideSidebar();\r\n                                /*if (opts.sidebar_style === 'static') {\r\n                                 $sidebar.find('.sfm-active-smooth').removeClass('sfm-active-smooth');\r\n                                 $t.addClass('sfm-active-smooth');\r\n                                 }*/\r\n                                if (hash !== '#') {\r\n                                    $el = $(hash);\r\n                                    if (!$el.length) {\r\n                                        $el = $('[name=\"' + hash.replace('#', '') + '\"]');\r\n                                    }\r\n                                }\r\n                                scrollTop = $el && $el.length ? $el.offset().top : 0;\r\n                                $('html, body').stop().animate({\r\n                                    scrollTop: scrollTop\r\n                                }, 600);\r\n                            }\r\n                            else if (blank) {\r\n                                window.open(hr, '_blank');\r\n                            } else {\r\n                                //hideSidebar();\r\n                                if (opts.fade === 'yes') {\r\n                                    //TODO don't fade when #\r\n                                    if (hr.indexOf('#') !== -1 && hash === '') {\r\n                                        return\r\n                                    }\r\n                                    $body.fadeOut(200, function () {\r\n                                        location.href = hr\r\n                                    });\r\n                                } else {\r\n                                    location.href = hr\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                        if (e.type === clickTapEvent) {\r\n                            if (currentEvent === 'mouseenter') {\r\n                                goToLink();\r\n                            } else {\r\n                                $tar = $(e.target);\r\n                                if ($tar.closest('.sfm-sm-indicator').length || isMobile || opts.sub_type === 'yes' || opts.sidebar_style === 'full') {\r\n                                    console.log('ev 1', e.target)\r\n                                    eventFor($t, e);\r\n                                } else {\r\n                                    e.stopImmediatePropagation();\r\n                                    goToLink();\r\n                                }\r\n                            }\r\n\r\n                        }\r\n                        else if (e.type !== currentEvent) {\r\n                            return;\r\n                        } else {\r\n                            var _cursor = this;\r\n                            var timer = setTimeout(function () {\r\n                                if (_cursor === cursor) {\r\n                                    eventFor($t, e);\r\n                                }\r\n                            }, 225);\r\n\r\n                            cursor = this;\r\n                        }\r\n\r\n\r\n                        //e.stopImmediatePropagation();\r\n                        //return false\r\n                    }\r\n\r\n                    function eventFor($t, e) {\r\n\r\n                        if (dragging) {\r\n                            return;\r\n                        }\r\n                        console.log('event for')\r\n\r\n                        cancel = false;\r\n                        clearTimeout(animTimer);\r\n\r\n                        var level = parseInt(($t.closest('ul').attr('class') || '0').match(/\\d/)[0]) + 1;\r\n                        var $sub, $et;\r\n                        var $sibs = $t.siblings('.sfm-active-item'), css;\r\n                        var $a = $t.find('a');\r\n                        var hr, blank, hash, smooth, scrollTop;\r\n                        var _ww = ww;\r\n                        var _wh = wh;\r\n                        var id;\r\n                        var startPos, customWidth, calcWidth, customBg, $currCont, classes;\r\n\r\n                        hideCustom(level <= currLevel);\r\n\r\n                        if ($t.is('.sfm-has-child-menu')) {\r\n\r\n                            //console.log('child menu item');\r\n                            $sub = $t.children('.sfm-child-menu').first();\r\n\r\n                            if ($sub.length) {\r\n\r\n                                if (MAX_WIDTH < _ww && !isMobile && opts.sub_type !== 'yes' && opts.sidebar_style !== 'full') {\r\n\r\n                                    cancel = true;\r\n\r\n                                    if ($body.is('.sfm-view-pushed-' + level) && !$sibs.length) {\r\n                                        cancel = false;\r\n                                    }\r\n\r\n                                    $sibs.removeClass('sfm-active-item');\r\n\r\n                                    $body.removeClass('sfm-view-pushed-custom sfm-view-pushed-' + (level + 1) + ' sfm-view-visible-' + (level + 1) + ' sfm-view-pushed-' + (level + 2) + ' sfm-view-visible-' + (level + 2));\r\n\r\n                                    if (!$sidebar.is('.sfm-sidebar-exposed') && opts.sidebar_behaviour !== 'always') return;\r\n                                    $('.sfm-view-level-' + level).attr('class',\r\n                                        function (i, c) {\r\n                                            return c.replace(/(^|\\s)sfm-current-\\S+/g, '');\r\n                                        }).html('<ul class=\"sfm-menu-level-' + level + ' sfm-menu\">' + $sub.html() + '</ul>').addClass('sfm-current-' + $t.data('sfmId'));\r\n\r\n                                    animTimer = setTimeout(function () {\r\n                                        $body.addClass('sfm-view-pushed-' + level);\r\n                                        if (opts.sidebar_behaviour === 'always') $overlay.css('visibility', 'visible');\r\n                                        currLevel = level;\r\n                                    }, 25);\r\n\r\n                                    $t.addClass('sfm-active-item');\r\n\r\n                                } else {\r\n                                    $et = $(e.target);\r\n                                    hr = $a.attr('href');\r\n                                    var hash = $a.prop('hash');\r\n                                    if ($et.closest('.sfm-sm-indicator').length || hash === '#' || hr === '#' || hr === '/') {\r\n\r\n                                        if (!$t.is('.sfm-submenu-visible')) {\r\n                                            console.log('sub', $sub)\r\n                                            $t.siblings().filter('.sfm-submenu-visible').removeClass('sfm-submenu-visible').find('> ul').slideUp()\r\n                                            $t.addClass('sfm-submenu-visible');\r\n                                            $sub.slideDown();\r\n                                            cancel = true;\r\n                                        } else {\r\n                                            if ($a.length && e.type === clickTapEvent) {\r\n                                                $t.removeClass('sfm-submenu-visible');\r\n                                                $sub.slideUp();\r\n                                                cancel = true;\r\n                                            }\r\n                                        }\r\n                                    }\r\n                                }\r\n                            } else {\r\n                                // Custom content\r\n                                customWidth = $t.attr('data-extra-width');\r\n                                customBg = $t.attr('data-bg');\r\n                                calcWidth = parseInt(customWidth || opts['width_panel_' + (level + 1)]);\r\n\r\n                                if (sums[level - 1] + calcWidth < _ww && opts.sidebar_style !== 'full') {\r\n                                    cancel = true;\r\n                                    $currCont = $custom.find('#sfm-cc-' + $t.attr('data-sfm-id'));\r\n\r\n                                    if ($body.is('.sfm-view-pushed-' + level) && !$sibs.length) {\r\n                                        cancel = false;\r\n                                    }\r\n\r\n                                    $sibs.removeClass('sfm-active-item');\r\n                                    $body.removeClass('sfm-view-pushed-custom sfm-view-pushed-' + level + ' sfm-view-visible-' + level + ' sfm-view-pushed-' + (level + 1) + ' sfm-view-visible-' + (level + 1))\r\n                                        .addClass('sfm-view-pushed-custom');\r\n\r\n                                    if (!$sidebar.is('.sfm-sidebar-exposed') && opts.sidebar_behaviour !== 'always') return;\r\n\r\n                                    if (opts.sidebar_behaviour === 'always') $overlay.css('visibility', 'visible');\r\n\r\n                                    $t.addClass('sfm-active-item');\r\n\r\n                                    if (isMobile || opts.sub_type === 'yes') {\r\n                                        startPos = _T.toString(_T.translate(0));\r\n                                        console.log(startPos)\r\n                                    } else {\r\n                                        startPos = _T.toString(_T.translate(opts.sidebar_pos === 'right' ? sums[level - 1] - sums[0] : sums[level - 1] - calcWidth));\r\n                                    }\r\n\r\n                                    css = {\r\n                                        'opacity': 1,\r\n                                        'visibility': 'visible',\r\n                                        'backgroundColor': customBg,\r\n                                        'width': calcWidth\r\n                                    };\r\n                                    css[transProp] = startPos;\r\n                                    $custom.css(css).data('startPos', startPos);\r\n\r\n                                    $custom.find('.sfm-active').removeClass('sfm-active');\r\n\r\n                                    $currCont.width(calcWidth);\r\n\r\n                                    if (_wh > $currCont.outerHeight()) {\r\n                                        $currCont.addClass('sfm-vert-align sfm-active');\r\n                                    } else {\r\n                                        $currCont.removeClass('sfm-vert-align').addClass('sfm-active');\r\n                                    }\r\n\r\n                                    setTimeout(function () {\r\n                                        if (isMobile || opts.sub_type === 'yes') {\r\n                                            $custom.css(transProp, _T.toString(_T.translate(sums[0])));\r\n                                        } else {\r\n                                            $custom.css(transProp, _T.toString(_T.translate(opts.sidebar_pos === 'right' ? -calcWidth - (sums[level - 1] - sums[0]) : sums[level - 1])));\r\n                                        }\r\n                                    }, 0);\r\n\r\n                                    customOpened = true;\r\n\r\n                                } else {\r\n                                    // open modal for custom content\r\n                                    $et = $(e.target);\r\n\r\n                                    if ($et.closest('.sfm-sm-indicator').length || isMobile || opts.sub_type === 'yes') {\r\n                                        if (!$t.is('.sfm-submenu-visible')) {\r\n                                            console.log('sub', $sub);\r\n                                            customBg = $t.attr('data-bg');\r\n                                            $t.siblings().filter('.sfm-submenu-visible').removeClass('sfm-submenu-visible').find('> ul').slideUp()\r\n\r\n                                            $custom.addClass('sfm-modal');\r\n                                            css = {\r\n                                                'opacity': 1,\r\n                                                'visibility': 'visible',\r\n                                                'backgroundColor': customBg,\r\n                                                'width': _ww\r\n                                            };\r\n                                            $custom.find('.sfm-active').removeClass('sfm-active');\r\n                                            $custom.find('#sfm-cc-' + $t.attr('data-sfm-id')).addClass('sfm-active')\r\n                                            $custom.css(css);\r\n                                            cancel = true;\r\n                                        }\r\n                                    }\r\n                                }\r\n                            }\r\n\r\n                        } else {\r\n\r\n                            if (MAX_WIDTH < _ww + 200) {\r\n                                //console.log('siblings', $t.siblings('.sfm-active-item').length)\r\n                                $t.siblings('.sfm-active-item').removeClass('sfm-active-item');\r\n\r\n                                animTimer = setTimeout(function () {\r\n                                    $body.removeClass('sfm-view-pushed-custom sfm-view-pushed-' + level + ' sfm-view-visible-' + level + ' sfm-view-pushed-' + (level + 1) + ' sfm-view-visible-' + (level + 1) + ' sfm-view-pushed-' + (level + 2) + ' sfm-view-visible-' + (level + 2));\r\n                                }, 50);\r\n                            }\r\n\r\n                        }\r\n\r\n                        var ev = isIE9 ? 'mouseenter' : clickTapEvent;\r\n\r\n\r\n                        if ($a.length && e.type === ev && !cancel && !isIE9) {\r\n                            hr = $a.prop('href');\r\n                            blank = $a.attr('target') === '_blank';\r\n                            hash = $a.prop('hash');\r\n                            smooth = hash && hash.length > 1 && hr == lh + hash, scrollTop;\r\n\r\n                            if (smooth) {\r\n                                hideSidebar();\r\n                                $t.addClass('sfm-active-item');\r\n                                scrollTop = $a.prop('hash') === '#' ? 0 : $($a.prop('hash')).offset().top;\r\n                                $('html, body').stop().animate({\r\n                                    scrollTop: scrollTop\r\n                                }, 600);\r\n                            }\r\n                            else if (blank) {\r\n                                window.open(hr, '_blank');\r\n                            } else {\r\n                                // todo\r\n                                //$body.fadeOut(200,function(){location.href = hr});\r\n                                location.href = hr\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    function setupSize(e) {\r\n                        wh = window.innerHeight ? window.innerHeight : $win.height();\r\n                        ww = window.innerWidth ? window.innerWidth : $win.width();\r\n                        var init = !setupSize.cache;\r\n\r\n                        if (init) {\r\n                            $sidebar.addClass('sfm-compact')\r\n                        }\r\n\r\n                        var margin = parseInt(opts.item_padding) * 2;\r\n\r\n                        setupSize.cache = setupSize.cache || {\r\n                                headerHeight: $head.is(':empty') ? 0 : $head.outerHeight() + 70 + margin,\r\n                                socialbarHeight: $socialbar.is(':empty') ? 0 : $socialbar.outerHeight() + margin,\r\n                                contentHeight: $cont.outerHeight()\r\n                            };\r\n\r\n                        if (init) {\r\n                            $sidebar.removeClass('sfm-compact')\r\n                        }\r\n                        var contentHeight = setupSize.cache.contentHeight;\r\n                        var headerHeight = setupSize.cache.headerHeight;\r\n                        var socialbarHeight = setupSize.cache.socialbarHeight;\r\n                        var availableSpace = ( wh - contentHeight );\r\n                        var classesToAdd = '';\r\n                        var classesToRemove = '';\r\n                        console.log('availableSpace', wh, contentHeight , availableSpace)\r\n                        if (availableSpace < (headerHeight + socialbarHeight) || isMobile || opts.sub_type === 'yes') {\r\n                            if (opts.sidebar_style !== 'full') {\r\n                                classesToAdd = 'sfm-compact sfm-compact-header sfm-compact-footer';\r\n                            }\r\n                        } else {\r\n                            classesToRemove = 'sfm-compact sfm-compact-header sfm-compact-footer';\r\n                        }\r\n\r\n                        if (MAX_WIDTH > ww || isMobile || opts.sub_type === 'yes' || opts.sidebar_style === 'full') {\r\n                            classesToAdd += ' sfm-vertical-nav';\r\n                            currentEvent = clickTapEvent;\r\n                        } else {\r\n                            classesToRemove += ' sfm-vertical-nav';\r\n                            currentEvent = 'mouseenter';\r\n                        }\r\n\r\n                        if (navigator.appVersion.indexOf(\"Mac\") != -1) {\r\n                            classesToAdd += ' sfm-mac';\r\n                        }\r\n\r\n                        if (classesToAdd) $sidebar.addClass(classesToAdd);\r\n                        if (classesToRemove && !init) $sidebar.removeClass(classesToRemove);\r\n                        opts.sidebar_style === 'full' && setupFont(wh);\r\n                    }\r\n\r\n                    function shiftFixed(i, el, scrollTop, scrollLeft, bh, wh) {\r\n\r\n                        var $t = $(el);\r\n                        var $offsetP;\r\n                        var t;\r\n                        var nu;\r\n                        var offset;\r\n                        var oLeft;\r\n                        var oTop;\r\n                        var coords;\r\n                        var newCSS;\r\n                        var _b;\r\n                        var transf;\r\n\r\n                        if ($t.css('position') === 'fixed') {\r\n\r\n                            $t.addClass('sfm-inner-fixed');\r\n\r\n                            if (isIE) {\r\n\r\n                                t = $t.css(transProp);\r\n\r\n                                if (t !== 'none') {\r\n                                    $t.data('sfm-old-matrix', t);\r\n                                    t = _T.fromString(t);\r\n                                    nu = t.x(translation); // add translation\r\n                                    $t.css(transProp, _T.toString(nu)).data('sfm-transformed', 1);\r\n                                } else {\r\n                                    $t.css(transProp, _T.toString(translation)/*, transition: trans + 'transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1)', transitionDelay: '90ms'*/).data('sfm-transformed', 1);\r\n                                }\r\n\r\n                            } else {\r\n\r\n                                $offsetP = $t;\r\n\r\n                                while ($offsetP = $offsetP.parent()) {\r\n                                    transf = $offsetP.css('webkitTransform');\r\n                                    if ((transf && transf !== 'none') || $offsetP.is('body')) {\r\n                                        break\r\n                                    }\r\n                                }\r\n\r\n                                //console.log('offset parent' , $offsetP[0])\r\n\r\n                                offset = $offsetP.offset();\r\n                                oLeft = offset.left;\r\n                                oTop = offset.top;\r\n                                //if (oTop === htmlMargins.top) oTop = 0;\r\n\r\n                                if (isFF && $t.is(':visible')) {\r\n                                    $t.hide().data('sfm-ff-hidden', 1);\r\n                                }\r\n\r\n                                coords = {\r\n                                    left: $t.css('left'),\r\n                                    right: $t.css('right'),\r\n                                    top: $t.css('top'),\r\n                                    bottom: $t.css('bottom')\r\n                                }\r\n\r\n                                if (isFF && $t.data('sfm-ff-hidden')) $t.show();\r\n\r\n                                newCSS = {};\r\n                                _b = parseInt(coords.bottom);\r\n                                _b = isNaN(_b) ? 0 : _b;\r\n\r\n                                if (coords.left !== 'auto') {\r\n                                    coords.toChangeHor = 'left';\r\n                                    newCSS[coords.toChangeHor] = '-=' + (oLeft - scrollLeft);\r\n                                } else if (coords.right !== 'auto') {\r\n                                    coords.toChangeHor = 'right';\r\n                                    newCSS[coords.toChangeHor] = '-=' + (oLeft - scrollLeft);\r\n                                } else {\r\n                                    coords.toChangeHor = 'left'\r\n                                }\r\n\r\n                                if (coords.top !== 'auto') {\r\n                                    coords.toChangeVert = 'top';\r\n                                    newCSS[coords.toChangeVert] = oTop - scrollTop > 0 ? parseInt(coords.top) - (oTop - scrollTop) : parseInt(coords.top) + (scrollTop - oTop);\r\n                                } else if (coords.bottom !== 'auto') {\r\n                                    coords.toChangeVert = 'bottom';\r\n                                    newCSS[coords.toChangeVert] = $body.height() + htmlMargins.top + htmlMargins.bottom + _b - $win.height() - scrollTop + 'px';\r\n                                } else {\r\n                                    coords.toChangeVert = 'top';\r\n                                    newCSS[coords.toChangeVert] = scrollTop;\r\n                                }\r\n\r\n                                //\t\t\t\t\t\t\tconsole.log('transf', transProp);\r\n                                //\t\t\t\t\t\t\tconsole.log('el', el);\r\n                                //\t\t\t\t\t\t\tconsole.log('parent', $offsetP[0]);\r\n                                //\t\t\t\t\t\t\tconsole.log('coords', coords);\r\n                                //\t\t\t\t\t\t\tconsole.log('newCSS', newCSS);\r\n                                //\t\t\t\t\t\t\tconsole.log('offsetTop', oTop);\r\n                                //\t\t\t\t\t\t\tconsole.log(scrollTop, scrollLeft);\r\n\r\n                                $t.css(newCSS).data('sfm-old-pos', coords)\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    function unshiftFixed(i, el) {\r\n                        var $el = $(el);\r\n                        var coords;\r\n                        var newCss;\r\n                        if (isIE) {\r\n                            if ($el.data('sfm-old-matrix')) {\r\n                                $el.css(transProp, $el.data('sfm-old-matrix')).data('sfm-old-matrix', '');\r\n                            } else {\r\n                                $el.css(transProp, defTranslationStr).data('sfm-transformed', '');\r\n                            }\r\n                        } else {\r\n                            coords = $el.data('sfm-old-pos');\r\n                            //console.log('coords', coords);\r\n                            newCss = {};\r\n                            if (coords) {\r\n                                newCss[coords.toChangeHor] = coords[coords.toChangeHor];\r\n                                newCss[coords.toChangeVert] = coords[coords.toChangeVert];\r\n                                if (coords.toChangeVert === 'bottom') newCss['top'] = '';\r\n                                $el.css(newCss);\r\n                                $el.data('sfm-old-pos', '');\r\n                            } else {\r\n                                $el.css({left: '', top: '', bottom: '', right: ''})\r\n                            }\r\n                        }\r\n                    }\r\n\r\n\r\n                    function populateSocialBarWith(social) {\r\n                        var name;\r\n                        for (name in social) {\r\n                            if (social.hasOwnProperty(name)) {\r\n                                if (name === 'skype') {\r\n                                    $('<li class=\"sfm-icon-' + name + '\"><a href=\"skype:' + social[name] + '?call\"></a></li>').appendTo($socialbar);\r\n                                } else if (name === 'email') {\r\n                                    $('<li class=\"sfm-icon-' + name + '\"><a href=\"mailto:' + social[name] + '\"></a></li>').appendTo($socialbar);\r\n                                } else {\r\n                                    $('<li class=\"sfm-icon-' + name + '\"><a href=\"' + social[name] + '\" target=\"_blank\"></a></li>').appendTo($socialbar);\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    function attachSwipesHandler() {\r\n                        var startX, startY, startTime, moveX, moveY;\r\n                        $sidebar.add($overlay).bind('touchstart', function (e) {\r\n                            if (state === 'open') {\r\n                                startTime = (new Date).getTime();\r\n                                startX = e.originalEvent.touches[0].pageX;\r\n                                startY = e.originalEvent.touches[0].clientY;\r\n                            }\r\n                        })\r\n                            .bind('touchmove', function (e) {\r\n                                if (state === 'open') {\r\n                                    moveX = e.originalEvent.touches[0].pageX;\r\n                                    moveY = e.originalEvent.touches[0].clientY\r\n                                }\r\n                            })\r\n                            .bind('touchend', function () {\r\n                                if (state === 'open') {\r\n                                    var swipeDirection = moveX > startX ? \"right\" : \"left\";\r\n                                    var finalY = moveY - startY > 30 || -30 > moveY - startY;\r\n                                    var finalX = moveX - startX > 60 || -60 > moveX - startX;\r\n                                    var now = (new Date).getTime();\r\n                                    if (!(now - startTime > 200 || finalY) && finalX) {\r\n                                        switch (swipeDirection) {\r\n                                            case \"left\":\r\n                                                \"left\" === direction ? hideSidebar() : showSidebar();\r\n                                                break;\r\n                                            case \"right\":\r\n                                                \"left\" === direction ? showSidebar() : hideSidebar()\r\n                                        }\r\n                                    }\r\n                                }\r\n                            });\r\n                    }\r\n\r\n                    function freezeBodyScroll(e) {\r\n                        var scrollTo = null;\r\n\r\n                        if (e.type == 'mousewheel') {\r\n                            scrollTo = (e.originalEvent.wheelDelta * -1);\r\n                        }\r\n                        else if (e.type == 'DOMMouseScroll') {\r\n                            scrollTo = 40 * e.originalEvent.detail;\r\n                        }\r\n\r\n                        if (scrollTo) {\r\n                            e.preventDefault();\r\n                            $(this).scrollTop(scrollTo + $(this).scrollTop());\r\n                        }\r\n                    }\r\n\r\n                    function freezeBody(e) {\r\n                        if (e.type == 'mousewheel' || e.type == 'DOMMouseScroll') {\r\n                            e.preventDefault()\r\n                        }\r\n                    }\r\n\r\n                    function checkOrientation() {\r\n                        var o = window.orientation;\r\n                        if (o) {\r\n                            if (o != 90 && o != -90) {\r\n                                return 'portrait';\r\n                            } else {\r\n                                return 'landscape';\r\n                            }\r\n                        } else {\r\n                            if ($win.height() > $win.width()) {\r\n                                return 'portrait';\r\n                            } else {\r\n                                return 'landscape';\r\n                            }\r\n                        }\r\n                    }\r\n\r\n\r\n                    return {\r\n                        init: init,\r\n                        showSidebar: showSidebar,\r\n                        hideSidebar: hideSidebar,\r\n                        getState: function () {\r\n                            return state\r\n                        }\r\n                    }\r\n                }());\r\n\r\n            window.LM = LM.init();\r\n\r\n\r\n        }, 0);\r\n\r\n    });\r\n\r\n    if (window.SFM_EVENT_DISPATCHED) $(document).trigger('sfm_doc_body_arrived');\r\n\r\n    function attachStyles(t) {\r\n        if (document.body) {\r\n            var s = document.createElement('style');\r\n            s.type = 'text/css';\r\n            if (/WebKit|MSIE/i.test(navigator.userAgent)) {\r\n                if (s.styleSheet) {\r\n                    s.styleSheet.cssText = t;\r\n                } else {\r\n                    s.innerText = t;\r\n                }\r\n            } else {\r\n                s.innerHTML = t;\r\n            }\r\n            document.getElementsByTagName('head')[0].appendChild(s);\r\n        } else {\r\n            document.write('<style type=\"text/css\">' + t + '</style>');\r\n        }\r\n    }\r\n\r\n    function getVendorPropertyName(prop) {\r\n\r\n        var prefixes = ['Moz', 'Webkit', 'O', 'ms'],\r\n            vendorProp, i,\r\n            div = document.createElement('div'),\r\n            prop_ = prop.charAt(0).toUpperCase() + prop.substr(1);\r\n\r\n        if (prop in div.style) {\r\n            return prop;\r\n        }\r\n\r\n        for (i = 0; i < prefixes.length; ++i) {\r\n\r\n            vendorProp = prefixes[i] + prop_;\r\n\r\n            if (vendorProp in div.style) {\r\n                return vendorProp;\r\n            }\r\n\r\n        }\r\n\r\n        // Avoid memory leak in IE.\r\n        this.div = null;\r\n    };\r\n\r\n    function deparam(query) {\r\n        var pairs, i, keyValuePair, key, value, map = {};\r\n        // remove leading question mark if its there\r\n        if (query.slice(0, 1) === '?') {\r\n            query = query.slice(1);\r\n        }\r\n        if (query !== '') {\r\n            pairs = query.split('&');\r\n            for (i = 0; i < pairs.length; i += 1) {\r\n                keyValuePair = pairs[i].split('=');\r\n                key = decodeURIComponent(keyValuePair[0]);\r\n                value = (keyValuePair.length > 1) ? decodeURIComponent(keyValuePair[1]) : undefined;\r\n                map[key] = value;\r\n            }\r\n        }\r\n        return map;\r\n    }\r\n\r\n\r\n})(window.jQuery);"],"sourceRoot":"/source/"}

Youez - 2016 - github.com/yon3zu
LinuXploit