function SSOController(){var undefined;var me=this;var updateCookieTimer=null;var updateCookieTimeHardLimit=1800;var cookieExpireTimeLength=3600*24;var crossDomainForward=null;var crossDomainTimer=null;var crossDomainTime=3;var autoLoginCallBack2=null;var ssoCrosssDomainUrl="https://login.sina.com.cn/sso/crossdomain.php";var ssoLoginUrl="https://login.sina.com.cn/sso/login.php";var ssoLogoutUrl="https://login.sina.com.cn/sso/logout.php";var ssoUpdateCookieUrl="https://login.sina.com.cn/sso/updatetgt.php";var ssoPreLoginUrl="https://login.sina.com.cn/sso/prelogin.php";var pincodeUrl="https://login.sina.com.cn/cgi/pin.php";var vfValidUrl="http://weibo.com/sguide/vdun.php";var generateVisitorUrl="https://passport.weibo.com/visitor/visitor";var crossDomainUrlList=null;var loginMethod="";var ssoServerTimeTimer=null;var ssoLoginTimer=null;var loginByConfig=null;var loginMethodCheck=null;var https=1;var rsa=2;var wsse=4;var pcid="";var tmpData={};var preloginTimeStart=0;var preloginTime=0;var callbackLogoutStatus;this.https=1;this.rsa=2;this.wsse=4;this.name="sinaSSOController";this.loginFormId="ssoLoginForm";this.scriptId="ssoLoginScript";this.ssoCrossDomainScriptId="ssoCrossDomainScriptId";this.loginFrameName="ssoLoginFrame";this.appLoginURL={"weibo.com":"https://passport.weibo.com/wbsso/login"};this.appDomainService={"weibo.com":"miniblog"};this.loginExtraQuery={};this.setDomain=false;this.feedBackUrl="";this.service="sso";this.domain="sina.com.cn";this.from="";this.pageCharset="GB2312";this.useTicket=false;this.isCheckLoginState=false;this.isUpdateCookieOnLoad=true;this.useIframe=true;this.noActiveTime=7200;this.autoUpdateCookieTime=1800;this.loginType=rsa;this.timeoutEnable=false;this.loginTimeout=5000;this.crossDomain=true;this.scriptLoginHttps=false;this.allowAutoFoundServerTime=false;this.allowAutoFoundServerTimeError=true;this.calcServerTimeInterval=2000;this.servertime=null;this.nonce=null;this.rsaPubkey=null;this.rsakv=null;this.loginExtraFlag={};this.cdult=false;this.crossDomainTime=5;this.failRedirect=false;this.isGenerateVisitor=true;this.generateVisitorProbability=1;this.generateVisitorDelay=6;this.generateVisitorDomain=["^.*sina.com.cn$"];this.getVersion=function(){return"ssologin.js(v1.4.19) 2017-01-09"};this.getEntry=function(){return me.entry};this.getClientType=function(){return me.getVersion().split(" ")[0]};this.init=function(){if(getType(arguments[0])==="object"){return customPrepare(arguments[0])}me.setLoginType(me.loginType);var ssoConfig=window.sinaSSOConfig;if(typeof ssoConfig!="object"){ssoConfig={}}var name;for(name in ssoConfig){me[name]=ssoConfig[name]}if(!me.entry){me.entry=me.service}if(me.isUpdateCookieOnLoad){setTimeout(me.name+".updateCookie()",10000)}if(me.isGenerateVisitor){if(self===top&&Math.random()5){if(updateCookieTimer!=null){clearTimeout(updateCookieTimer)}updateCookieTimer=setTimeout(me.name+".updateCookie()",me.autoUpdateCookieTime*1000)}var cookieExpireTime=me.getCookieExpireTime();var now=(new Date()).getTime()/1000;var result={};if(cookieExpireTime==null){result={retcode:6102}}else{if(cookieExpireTimenow){result={retcode:6110}}else{if(cookieExpireTime-now>me.noActiveTime){result={retcode:6111}}}}}if(result.retcode!==undefined){me.customUpdateCookieCallBack(result);return false}var url=makeURL(ssoUpdateCookieUrl,{entry:me.getEntry(),callback:me.name+".updateCookieCallBack"});excuteScript(me.scriptId,url)}catch(e){}return true};this.setCrossDomainUrlList=function(urlList){crossDomainUrlList=urlList};this.checkAltLoginName=function(){return true};this.callFeedBackUrl=function(loginStatus){try{var request={callback:me.name+".feedBackUrlCallBack"};if(loginStatus.ticket){request.ticket=loginStatus.ticket}if(loginStatus.retcode!==undefined){request.retcode=loginStatus.retcode}var url=makeURL(me.feedBackUrl,request);excuteScript(me.scriptId,url)}catch(e){}return true};this.loginCallBack=function(result){try{if(me.timeoutEnable&&!ssoLoginTimer.isset()){return}ssoLoginTimer.clear();me.loginExtraFlag={};var loginStatus={};var st=result.ticket;var uid=result.uid;if(uid){loginStatus.result=true;loginStatus.retcode=0;loginStatus.userinfo={uniqueid:result.uid};if(st){loginStatus.ticket=st}if(result.cookie){loginStatus.cookie=result.cookie}if(me.feedBackUrl){if(me.crossDomain){me.crossDomainAction("login",function(){me.callFeedBackUrl(loginStatus)})}else{me.callFeedBackUrl(loginStatus)}}else{if(me.crossDomain){if(result.crossDomainUrlList){me.setCrossDomainUrlList({retcode:0,arrURL:result.crossDomainUrlList})}me.crossDomainAction("login",function(){if(st&&me.appLoginURL[me.domain]){me.appLogin(st,me.domain,me.name+".callbackLoginStatus")}else{loginStatus.userinfo=objMerge(loginStatus.userinfo,me.getSinaCookie());me.callbackLoginStatus(loginStatus)}})}else{me.callbackLoginStatus(loginStatus)}}}else{if(loginMethodCheck&&result.retcode=="2092"&&me.allowAutoFoundServerTimeError){me.setServerTime(0);me.loginExtraFlag=objMerge(me.loginExtraFlag,{wsseretry:"servertime_error"});loginMethodCheck();loginMethodCheck=null;return false}loginStatus.result=false;loginStatus.errno=result.retcode;if(loginStatus.errno=="4069"){var reason=result.reason.split("|");loginStatus.reason=reason[0];if(reason.length==2){loginStatus.rurl=reason[1]}if(loginStatus.rurl){try{top.location.href=loginStatus.rurl;return}catch(e){}}}else{loginStatus.reason=result.reason}me.callbackLoginStatus(loginStatus)}}catch(e){}return true};this.updateCookieCallBack=function(result){if(result.retcode==0){me.crossDomainAction("update",function(){me.customUpdateCookieCallBack(result)})}else{me.customUpdateCookieCallBack(result)}};this.feedBackUrlCallBack=function(result){if(loginMethod=="post"&&me.timeoutEnable&&!ssoLoginTimer.isset()){return}if(result.errno=="2092"){me.setServerTime(0)}if(loginMethodCheck&&(result.errno=="2092")&&me.allowAutoFoundServerTimeError){me.loginExtraFlag=objMerge(me.loginExtraFlag,{wsseretry:"servertime_error"});loginMethodCheck();loginMethodCheck=null;return false}else{ssoLoginTimer&&ssoLoginTimer.clear()}if(result.errno=="4069"){var reason=result.reason.split("|");result.reason=reason[0];if(reason.length==2){result.rurl=reason[1];try{top.location.href=result.rurl;return}catch(e){}}}me.callbackLoginStatus(result);removeNode(me.loginFrameName)};this.doCrossDomainCallBack=function(result){me.crossDomainCounter++;if(result){removeNode(result.scriptId)}if(me.crossDomainCounter==me.crossDomainCount){clearTimeout(crossDomainTimer);me.crossDomainResult()}};this.crossDomainCallBack=function(result){removeNode(me.ssoCrossDomainScriptId);if(!result||result.retcode!=0){return false}var arrURL=result.arrURL;var url,scriptId;var request={callback:me.name+".doCrossDomainCallBack"};me.crossDomainCount=arrURL.length;me.crossDomainCounter=0;if(arrURL.length==0){clearTimeout(crossDomainTimer);me.crossDomainResult();return true}for(var i=0;i");setTimeout(function(){try{var ifr=me.$("visitorfrm84747h4784");if(ifr){ifr.parentNode.removeChild(ifr)}}catch(e){}},1000*30)}}catch(e){return false}return true};this.shouldGenerateVisitor=function(){var is_subp_exists=false;var is_sup_exists=false;var subp=getCookie("SUBP");if(subp){is_subp_exists=true}var sup=getCookie("SUP");if(sup){is_sup_exists=true}if(!is_subp_exists&&!is_sup_exists){return true}return false}}var sinaSSOEncoder=sinaSSOEncoder||{};(function(){var k=0;var h=8;this.hex_sha1=function(l){return i(c(g(l),l.length*h))};var c=function(B,s){B[s>>5]|=128<<(24-s%32);B[((s+64>>9)<<4)+15]=s;var C=Array(80);var A=1732584193;var z=-271733879;var y=-1732584194;var v=271733878;var u=-1009589776;for(var p=0;p>16)+(o>>16)+(n>>16);return(m<<16)|(n&65535)};var e=function(l,m){return(l<>>(32-m))};var g=function(o){var n=Array();var l=(1<>5]|=(o.charCodeAt(m/h)&l)<<(24-m%32)}return n};var i=function(n){var m=k?"0123456789ABCDEF":"0123456789abcdef";var o="";for(var l=0;l>2]>>((3-l%4)*8+4))&15)+m.charAt((n[l>>2]>>((3-l%4)*8))&15)}return o};var j=function(l){var m="",n=0;for(;n>2;r=((u&3)<<4)|(s>>4);p=((s&15)<<2)|(q>>6);o=q&63;if(isNaN(s)){p=o=64}else{if(isNaN(q)){o=64}}l=l+this._keys.charAt(t)+this._keys.charAt(r)+this._keys.charAt(p)+this._keys.charAt(o);u=s=q="";t=r=p=o=""}while(m>4);z=((y&15)<<4)|(v>>2);w=((v&3)<<6)|u;n.push(B);if(v!=64&&v!=-1){n.push(z)}if(u!=64&&u!=-1){n.push(w)}B=z=w="";A=y=v=u=""}while(p=0){var az=t*this[aB++]+z[aA]+aD;aD=Math.floor(az/67108864);z[aA++]=az&67108863}return aD}function ax(aB,aG,aH,aA,aE,t){var aD=aG&32767,aF=aG>>15;while(--t>=0){var az=this[aB]&32767;var aC=this[aB++]>>15;var z=aF*az+aC*aD;az=aD*az+((z&32767)<<15)+aH[aA]+(aE&1073741823);aE=(az>>>30)+(z>>>15)+aF*aC+(aE>>>30);aH[aA++]=az&1073741823}return aE}function aw(aB,aG,aH,aA,aE,t){var aD=aG&16383,aF=aG>>14;while(--t>=0){var az=this[aB]&16383;var aC=this[aB++]>>14;var z=aF*az+aC*aD;az=aD*az+((z&16383)<<14)+aH[aA]+aE;aE=(az>>28)+(z>>14)+aF*aC;aH[aA++]=az&268435455}return aE}if(Y&&(navigator.appName=="Microsoft Internet Explorer")){aq.prototype.am=ax;av=30}else{if(Y&&(navigator.appName!="Netscape")){aq.prototype.am=b;av=26}else{aq.prototype.am=aw;av=28}}aq.prototype.DB=av;aq.prototype.DM=((1<=0;--t){z[t]=this[t]}z.t=this.t;z.s=this.s}function n(t){this.t=1;this.s=(t<0)?-1:0;if(t>0){this[0]=t}else{if(t<-1){this[0]=t+DV}else{this.t=0}}}function c(t){var z=h();z.fromInt(t);return z}function w(aD,z){var aA;if(z==16){aA=4}else{if(z==8){aA=3}else{if(z==256){aA=8}else{if(z==2){aA=1}else{if(z==32){aA=5}else{if(z==4){aA=2}else{this.fromRadix(aD,z);return}}}}}}this.t=0;this.s=0;var aC=aD.length,az=false,aB=0;while(--aC>=0){var t=(aA==8)?aD[aC]&255:A(aD,aC);if(t<0){if(aD.charAt(aC)=="-"){az=true}continue}az=false;if(aB==0){this[this.t++]=t}else{if(aB+aA>this.DB){this[this.t-1]|=(t&((1<<(this.DB-aB))-1))<>(this.DB-aB))}else{this[this.t-1]|=t<=this.DB){aB-=this.DB}}if(aA==8&&(aD[0]&128)!=0){this.s=-1;if(aB>0){this[this.t-1]|=((1<<(this.DB-aB))-1)<0&&this[this.t-1]==t){--this.t}}function q(z){if(this.s<0){return"-"+this.negate().toString(z)}var az;if(z==16){az=4}else{if(z==8){az=3}else{if(z==2){az=1}else{if(z==32){az=5}else{if(z==4){az=2}else{return this.toRadix(z)}}}}}var aB=(1<0){if(aD>aD)>0){t=true;aC=ay(aE)}while(aA>=0){if(aD>(aD+=this.DB-az)}else{aE=(this[aA]>>(aD-=az))&aB;if(aD<=0){aD+=this.DB;--aA}}if(aE>0){t=true}if(t){aC+=ay(aE)}}}return t?aC:"0"}function R(){var t=h();aq.ZERO.subTo(this,t);return t}function ak(){return(this.s<0)?this.negate():this}function G(t){var az=this.s-t.s;if(az!=0){return az}var z=this.t;az=z-t.t;if(az!=0){return az}while(--z>=0){if((az=this[z]-t[z])!=0){return az}}return 0}function j(z){var aA=1,az;if((az=z>>>16)!=0){z=az;aA+=16}if((az=z>>8)!=0){z=az;aA+=8}if((az=z>>4)!=0){z=az;aA+=4}if((az=z>>2)!=0){z=az;aA+=2}if((az=z>>1)!=0){z=az;aA+=1}return aA}function u(){if(this.t<=0){return 0}return this.DB*(this.t-1)+j(this[this.t-1]^(this.s&this.DM))}function ap(az,z){var t;for(t=this.t-1;t>=0;--t){z[t+az]=this[t]}for(t=az-1;t>=0;--t){z[t]=0}z.t=this.t+az;z.s=this.s}function W(az,z){for(var t=az;t=0;--az){aA[az+aB+1]=(this[az]>>t)|aD;aD=(this[az]&aC)<=0;--az){aA[az]=0}aA[aB]=aD;aA.t=this.t+aB+1;aA.s=this.s;aA.clamp()}function l(aD,aA){aA.s=this.s;var aB=Math.floor(aD/this.DB);if(aB>=this.t){aA.t=0;return}var z=aD%this.DB;var t=this.DB-z;var aC=(1<>z;for(var az=aB+1;az>z}if(z>0){aA[this.t-aB-1]|=(this.s&aC)<>=this.DB}if(z.t>=this.DB}aB+=this.s}else{aB+=this.s;while(az>=this.DB}aB-=z.s}aA.s=(aB<0)?-1:0;if(aB<-1){aA[az++]=this.DV+aB}else{if(aB>0){aA[az++]=aB}}aA.t=az;aA.clamp()}function D(z,aA){var t=this.abs(),aB=z.abs();var az=t.t;aA.t=az+aB.t;while(--az>=0){aA[az]=0}for(az=0;az=0){az[z]=0}for(z=0;z=t.DV){az[z+t.t]-=t.DV;az[z+t.t+1]=1}}if(az.t>0){az[az.t-1]+=t.am(z,t[z],az,2*z,0,1)}az.s=0;az.clamp()}function E(aH,aE,aD){var aN=aH.abs();if(aN.t<=0){return}var aF=this.abs();if(aF.t0){aN.lShiftTo(aM,aB);aF.lShiftTo(aM,aD)}else{aN.copyTo(aB);aF.copyTo(aD)}var aJ=aB.t;var az=aB[aJ-1];if(az==0){return}var aI=az*(1<1)?aB[aJ-2]>>this.F2:0);var aQ=this.FV/aI,aP=(1<=0){aD[aD.t++]=1;aD.subTo(aC,aD)}aq.ONE.dlShiftTo(aJ,aC);aC.subTo(aB,aB);while(aB.t=0){var aA=(aD[--aL]==az)?this.DM:Math.floor(aD[aL]*aQ+(aD[aL-1]+aO)*aP);if((aD[aL]+=aB.am(0,aA,aD,aK,0,aJ))0){aD.rShiftTo(aM,aD)}if(z<0){aq.ZERO.subTo(aD,aD)}}function N(t){var z=h();this.abs().divRemTo(t,null,z);if(this.s<0&&z.compareTo(aq.ZERO)>0){t.subTo(z,z)}return z}function K(t){this.m=t}function U(t){if(t.s<0||t.compareTo(this.m)>=0){return t.mod(this.m)}else{return t}}function aj(t){return t}function J(t){t.divRemTo(this.m,null,t)}function H(t,az,z){t.multiplyTo(az,z);this.reduce(z)}function at(t,z){t.squareTo(z);this.reduce(z)}K.prototype.convert=U;K.prototype.revert=aj;K.prototype.reduce=J;K.prototype.mulTo=H;K.prototype.sqrTo=at;function B(){if(this.t<1){return 0}var t=this[0];if((t&1)==0){return 0}var z=t&3;z=(z*(2-(t&15)*z))&15;z=(z*(2-(t&255)*z))&255;z=(z*(2-(((t&65535)*z)&65535)))&65535;z=(z*(2-t*z%this.DV))%this.DV;return(z>0)?this.DV-z:-z}function f(t){this.m=t;this.mp=t.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<(t.DB-15))-1;this.mt2=2*t.t}function ai(t){var z=h();t.abs().dlShiftTo(this.m.t,z);z.divRemTo(this.m,null,z);if(t.s<0&&z.compareTo(aq.ZERO)>0){this.m.subTo(z,z)}return z}function ar(t){var z=h();t.copyTo(z);this.reduce(z);return z}function P(t){while(t.t<=this.mt2){t[t.t++]=0}for(var az=0;az>15)*this.mpl)&this.um)<<15))&t.DM;z=az+this.m.t;t[z]+=this.m.am(0,aA,t,az,0,this.m.t);while(t[z]>=t.DV){t[z]-=t.DV;t[++z]++}}t.clamp();t.drShiftTo(this.m.t,t);if(t.compareTo(this.m)>=0){t.subTo(this.m,t)}}function al(t,z){t.squareTo(z);this.reduce(z)}function y(t,az,z){t.multiplyTo(az,z);this.reduce(z)}f.prototype.convert=ai;f.prototype.revert=ar;f.prototype.reduce=P;f.prototype.mulTo=y;f.prototype.sqrTo=al;function i(){return((this.t>0)?(this[0]&1):this.s)==0}function x(aE,aF){if(aE>4294967295||aE<1){return aq.ONE}var aD=h(),az=h(),aC=aF.convert(this),aB=j(aE)-1;aC.copyTo(aD);while(--aB>=0){aF.sqrTo(aD,az);if((aE&(1<0){aF.mulTo(az,aC,aD)}else{var aA=aD;aD=az;az=aA}}return aF.revert(aD)}function am(az,t){var aA;if(az<256||t.isEven()){aA=new K(t)}else{aA=new f(t)}return this.exp(az,aA)}aq.prototype.copyTo=X;aq.prototype.fromInt=n;aq.prototype.fromString=w;aq.prototype.clamp=O;aq.prototype.dlShiftTo=ap;aq.prototype.drShiftTo=W;aq.prototype.lShiftTo=s;aq.prototype.rShiftTo=l;aq.prototype.subTo=aa;aq.prototype.multiplyTo=D;aq.prototype.squareTo=Q;aq.prototype.divRemTo=E;aq.prototype.invDigit=B;aq.prototype.isEven=i;aq.prototype.exp=x;aq.prototype.toString=q;aq.prototype.negate=R;aq.prototype.abs=ak;aq.prototype.compareTo=G;aq.prototype.bitLength=u;aq.prototype.mod=N;aq.prototype.modPowInt=am;aq.ZERO=c(0);aq.ONE=c(1);function k(){this.i=0;this.j=0;this.S=new Array()}function e(aB){var aA,z,az;for(aA=0;aA<256;++aA){this.S[aA]=aA}z=0;for(aA=0;aA<256;++aA){z=(z+this.S[aA]+aB[aA%aB.length])&255;az=this.S[aA];this.S[aA]=this.S[z];this.S[z]=az}this.i=0;this.j=0}function a(){var z;this.i=(this.i+1)&255;this.j=(this.j+this.S[this.i])&255;z=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=z;return this.S[(z+this.S[this.i])&255]}k.prototype.init=e;k.prototype.next=a;function an(){return new k()}var M=256;var m;var T;var ab;function d(t){T[ab++]^=t&255;T[ab++]^=(t>>8)&255;T[ab++]^=(t>>16)&255;T[ab++]^=(t>>24)&255;if(ab>=M){ab-=M}}function S(){d(new Date().getTime())}if(T==null){T=new Array();ab=0;var I;if(navigator.appName=="Netscape"&&navigator.appVersion<"5"&&window.crypto&&typeof(window.crypto.random)==="function"){var F=window.crypto.random(32);for(I=0;I>>8;T[ab++]=I&255}ab=0;S()}function C(){if(m==null){S();m=an();m.init(T);for(ab=0;ab=0&&aD>0){var aB=aA.charCodeAt(az--);if(aB<128){aC[--aD]=aB}else{if((aB>127)&&(aB<2048)){aC[--aD]=(aB&63)|128;aC[--aD]=(aB>>6)|192}else{aC[--aD]=(aB&63)|128;aC[--aD]=((aB>>6)&63)|128;aC[--aD]=(aB>>12)|224}}}aC[--aD]=0;var z=new ac();var t=new Array();while(aD>2){t[0]=0;while(t[0]==0){z.nextBytes(t)}aC[--aD]=t[0]}aC[--aD]=2;aC[--aD]=0;return new aq(aC)}function L(){this.n=null;this.e=0;this.d=null;this.p=null;this.q=null;this.dmp1=null;this.dmq1=null;this.coeff=null}function o(z,t){if(z!=null&&t!=null&&z.length>0&&t.length>0){this.n=g(z,16);this.e=parseInt(t,16)}else{alert("Invalid RSA public key")}}function V(t){return t.modPowInt(this.e,this.n)}function p(az){var t=ae(az,(this.n.bitLength()+7)>>3);if(t==null){return null}var aA=this.doPublic(t);if(aA==null){return null}var z=aA.toString(16);if((z.length&1)==0){return z}else{return"0"+z}}L.prototype.doPublic=V;L.prototype.setPublic=o;L.prototype.encrypt=p;this.RSAKey=L}).call(sinaSSOEncoder);sinaSSOController=new SSOController();sinaSSOController.init();