<!DOCTYPE html>
<html>
<!--STATUS OK-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="百度帐号是登录所有百度系产品的通行证，登录后还可以在帐户管理页管理/修改您的个人信息，包括修改密码、绑定手机、身份认证等">
<title>登录百度帐号</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="width=240, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover">
<meta name="format-detection" content="telephone=no, email=no" />
<style type="text/css">body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0}html{color:#111;background:#f5f5f5;-webkit-text-size-adjust:none}body,button,input,select,textarea,pre{font-size:1.6rem;font-family:PingFang SC,Helvetica,sans-serif}h1,h2,h3,h4,h5,h6{font-size:100%}h3,h4,h5,h6{font-weight:400}ul,ol{list-style:none}a{text-decoration:none;color:#3c76ff;-webkit-touch-callout:none}a:hover{cursor:pointer}fieldset,img{border:0}table{border-collapse:collapse;border-spacing:0}textarea{resize:vertical}html,body{width:100%;height:100%;min-height:430px;position:relative}@media screen and (orientation:landscape){html,body{height:auto}}body{-webkit-touch-callout:none;-webkit-text-size-adjust:none;-webkit-user-select:none;-webkit-highlight:none;-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing:border-box}:focus{outline:0}.left{float:left}.right{float:right}.tright{text-align:right}.tcenter{text-align:center}.hide{display:none}.inlineBlock{display:inline-block;zoom:1}.inline{display:inline}button{cursor:pointer}.block,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}.clearfix:after{content:'\20';display:block;height:0;clear:both;overflow:hidden;visibility:hidden}.clearfix{zoom:1}.clear{clear:both}.wordwrap{word-break:break-all;word-wrap:break-word}input[type=submit],input[type=button]{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-appearance:none}.gray{color:#999}.f14{font-size:1.4rem}.fb{font-weight:700}.m-t05{margin-top:.5rem}.m-t10{margin-top:1rem}.m-t20{margin-top:2rem}.m-t40{margin-top:4rem}.m-t50{margin-top:5rem}.m-t25{margin-top:2.5rem}.m-b10{margin-bottom:1rem}.m-b15{margin-bottom:1.5rem}.link-font{color:#666;cursor:pointer;font-size:1.4rem;height:3rem}.p-t25{padding-top:2.5rem}.p-t15{padding-top:1.5rem}.p-t50{padding-top:5rem}.p-l5{padding-left:.5rem}.orange{color:#ff812d}.p-b20{padding-bottom:2rem;margin-bottom:constant(safe-area-inset-bottom)}.m-t180{margin-top:18rem}.p-b40{padding-bottom:4rem}.pass-header{background:#fff;border-bottom:1px solid #d6d6d6;height:4.4rem;width:100%;padding:0;display:block;text-align:center;z-index:100;position:relative}.pass-header-title{text-align:center;width:100%;height:4.4rem;display:block;font-size:2rem;line-height:4.4rem}.pass-header-links{margin:.6rem 0;border:1px solid #fff;background:#fff;font-size:1.6rem;line-height:3rem;text-align:center;width:5rem;color:#666;display:block;position:absolute;right:1.4rem;top:0;cursor:pointer;-webkit-border-radius:2px;border:1px solid #ccc}.pass-header-back{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAApCAYAAAAvUenwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowRTYwMTYyRkVBMTZFNDExOTczNkJERkUyMDY2QTY5NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMDAyNDIwMDE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDMDAyNDFGRjE2RUMxMUU0OTNFRTlCRTlEQkY5RkEzOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjBFNjAxNjJGRUExNkU0MTE5NzM2QkRGRTIwNjZBNjk1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k2fgIgAAAc1JREFUeNq0lz8sA2EYxq+XxmAwsJiYGIiNTSIiGBAiLGyGMwhDO2BikXQQBhJ6kxiIf5MYDBQTk9gsNpOlEZImkobnTd5PvjT9c9d7+ia/9L636fNr+9333V0snU47UcrzvP9j3/fjeDkGb+ivSM91SGWFT4FljFM0QUG4qTqKoET4Nv6iBENQNjyqoGJ4FEGg8GoFgcOrEYQKDysIHR5GUCx8CyQqfdCNEJ4M8s3cWoZXEkQOLyeghJcS0MKLCajhhQJ6uC2oSbgR1CzcCI4Kwi9Y4UaQAb9WbwyMMwV7YAF8WdfSczDLEjgq6QCv1qQfyl0JSyD1DvrAs/XePus0NfUBBsCjjmNgE6yxBFJZMAhurd66imIMgdQ3GAVXVi+pc+UyBFI5MAlOrN68Tn6cIZD60dP1wOrJ+MzcGjIumXkwB3as3gS4BPUMgaMrfQmkrN4QuMa9aQNDYGpVMdULbiBpYgkc/RWL1v7VDe4haWYJpHZ1XvI67gQPkLSyBI6eWTN6pkm1qaSdJZA61bWS03GL/l1dLIE8BMpqH9HVLyVzcQdJD+0ZDZKM7l9ZbTWCDepTJiSyA/frjvwEpqkClbzo2hjG8af0/gQYAHkain5LZUqyAAAAAElFTkSuQmCC') no-repeat 15px 13px;-webkit-background-size:1.2rem 2rem;padding:1.3rem 0 1.3rem 3.3rem;width:3.6rem;height:1.8rem;position:absolute;left:0;top:0;cursor:pointer;color:#f8f8f8}.mod-button-back.active{}#agreement-headerWrapper,#personal_agreement-headerWrapper{position:fixed}.error_area{color:#E85352;font-size:1.2rem;min-height:2.5rem;line-height:2.5rem;clear:both}.error_redtip{color:red;height:2rem;line-height:2rem;visibility:hidden}.mod-info{color:#cac9c9;-webkit-box-flex:1;visibility:visible;text-align:center}.error_div .t-a-l{text-align:left}.mod-ok,.mod-page-ok{background:url(/static/appsapi/img/icon_ok.png) no-repeat 0 5px;-webkit-background-size:14px 14px}.mod-page-ok{margin-top:14px;background-position:0 2px;-webkit-background-size:20px 20px;padding-left:25px}.pass-mod-toastWrapper{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-6rem;-webkit-border-radius:2px;z-index:101;padding:.8rem;display:none}.pass-form-item{display:-webkit-box;width:100%;background:#fff}.pass-form-item-v{width:100%;float:left;height:5rem;display:-webkit-box}.pass-form-verify-wrapper p.pass-form-item-v{margin:1rem 0 0}.pass-form-input-wrapper{display:-webkit-box;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;margin-left:1px}.pass-form-input-wrapper-forvcode{display:-webkit-box;-webkit-box-sizing:border-box;float:left;width:66%;border-radius:2px;-webkit-border-radius:2px;-webkit-box-flex:1;height:5rem;line-height:4.8rem;padding:0 1.4rem;background:#fff;z-index:10}.pass-form-verify-wrapper span.pass-form-input-wrapper-forvcode{margin-right:1rem}.pass-form-code{line-height:4rem}input[type=text],input[type=password],input[type=number],input[type=email],input[type=tel],textarea{border:0;display:block;-webkit-box-flex:1;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);line-height:2rem;font-size:1.6rem;height:2rem;padding-top:1.5rem;padding-bottom:1.3rem;color:#333;line-height:2rem;z-index:10;position:relative;margin-top:1px}textarea{padding-bottom:0}.pass-text-label{display:inline-block}.pass-text-label{font-size:1.6rem;width:5rem;margin-right:.5rem}.pass-text-label-long{width:6.5rem}.pass-overseas-wrapper{width:60px;display:inline-block;border-right:1px solid #efefef;margin-right:10px;margin-top:1rem}.pass-label-code{position:relative;z-index:14;text-align:right;width:50px;margin-right:4px;margin-left:-1.5rem;float:left;height:3rem;line-height:3rem}.pass-overseas-down{width:.6rem;height:.6rem;display:block;margin-top:1rem;margin-right:11px;border-right:1px solid #333;border-bottom:1px solid #333;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);float:left}.pass-input-aide{width:22px;height:19px;display:block;cursor:pointer;margin-top:1.5rem}.pass-input-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4MzY4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4MzU4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+hJCX0AAAAPdJREFUeNrsl9EKwiAYhWeMXUTdBdWLBLuOoEFvW9BFvVDQ3bqKwI7jF0SW+jvJG384E4bzfHPzuAkpZZWzZlXmKgAFoAAUgOwAtToIIf5urLcAewZa6AA1if0aGrcdnQGjttAKmkNX6J3IvIPW0NP3DtygF3XuEsyEad7T+E4A1emcCMI2v1DrXQUpIILMXctQQ/QREMHmvhwwLw6FYJmHBBEHQp0/csxDkzAEQptvOOacKHZBRJsPKawikRHFS+hE7QO6Q/sYcx3FXAAb4kNpyr7zX3sB93FEmY+SRNQC2lEb5Tt45/oz0gD1xFkon2QFYHJ9BRgA1YdoEYAKKm8AAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative;margin-left:20px;display:none}.pass-input-down-userlist{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzhDRjIwRkFCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzhDRjIwRjlCMTFCMTFFNTkxQzZEREUwMDFGOTcyMjciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2QzUzMjgzNThBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2QzUzMjgzNjhBQjgxMUU1QTEwOUQ3RjlDN0IzRkJCNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgkdx+4AAADZSURBVHja7NaxCsIwEAbgBqSTboI+idBZBIW6+KBOgosvJLh1EyH+gStEMcldEujgHfzc1PwfLbQ11tpmyjEKUIACFPD3gMYBxghnjmxoZ/W5fNwBYwz3nAXS0x6QC20WIPgImAC//IXMJIhSgF9+R27IFllzESWA7/Ir8kRaZM9F5AJC5eOwETmAVLkIIQVwy33EAVmFEBKAtJyF4AJc6ZFeMpLyJIIDKC2PIlKAWuVBBPqGGOCEtaxU/gvxQN859jHqkB1dVHNaOreLfoz0h0QBCphi3gIMAKyG6fHr2eHjAAAAAElFTkSuQmCC) no-repeat 50% 50%;-webkit-background-size:16px 16px;z-index:12;position:relative}.pass-input-userSelect{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAmCAYAAAC/H3lnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAb9JREFUeNrsmNFHQ1Ecx7eWMSJi9NTD3iMiRowYy1LKKNLD2FNE7Kk/IHqKntJDSmmKaaJsliKi/+L+FTHGrO/he7l+7rV27rnVcn58bPfce8/v4+w6v99dvN/vx0YpxmIjFlbYClthK2yFfzfGg044jrOEjwuQBHugHqHHKjgDXVDOZDKvOiusJpgB0+AW7EQkWwL3zKPyXek+EpOe7wmu9qZh2XVww/ndmNAVPhTHCU5eMiRb5C+XFONHusInPje70sWQsgU+BlL2OIywigNO4o0kkxU0ZfMBsmqBqia2tSon85PODymbAw8gJcbPwb7JfVhNdirGUkye++YcWfDoI3sJKlEUjl2uhJRugsUB9y7wOrkDXA8jq1PpKkziJ50NuGcetMU2qeJOFQnQi7o0l5ksJvbOJlfSG3MBsqpqbg8rqyvcY7K6T6FpU1LFLI+nxHUNXdkwzY8r3QiQVhXxBaTF+RbYYs/w491al8mfxHiaFUzKPoONMLIm2ssuJVoDrnsDa6DzF/phVzqoJXwHyyZkTTbwSmaFct74MClr+o2jQ7kaV73G40+T/Wjc/rdmha2wFbbCVvhfC38JMABCZlbvDsimaQAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:22px 19px;z-index:12;position:relative}.pass-input-pwdToggle{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAA4VBMVEVMaXGnp6elpaWfn5+ampqXl5eZmZmioqKsrKyZmZmZmZmZmZmfn5+mpqampqaZmZmZmZmjo6OYmJiZmZmlpaWYmJiZmZmZmZmZmZmcnJyYmJilpaWlpaWYmJiZmZmZmZmYmJiYmJiYmJiYmJigoKCmpqalpaWZmZmmpqaZmZmZmZmYmJiZmZmampqZmZmYmJimpqampqaenp6lpaWZmZmZmZmZmZmZmZmZmZmXl5eZmZmmpqalpaWZmZmYmJimpqampqalpaWmpqampqaZmZmmpqaYmJimpqafn5+ZmZmmpqbbCXr6AAAASXRSTlMACmkhHxWfBwH8+OUN9ufaRyrLSsFlpxi7ENDhYd+sfU3q8kIcmXjtg/7D1lI+joNBNyaPvm6KXsYwOK+osljs3OnEw3Gzk/pszOrydQAAAbpJREFUeNrlU+t6ojAQFVFCAAVEFKUgiC0q3mq992Lt7fsm7/9AixNgrd19gs6fnEwmc04OQ+kXhSbuD9PosBc7/6sgy8lsF0Ma/cbXRJT/VVNZJ6CoerfR6CaqAo115SdRsIPYmQeiUCrJA2PuxLCbXJFWNwqs7M5FwnYo3bS/UfkQSxUufbkcaGfUnoXgX1AOniEJzkLJ/cMrY68P9yTdyFYCz0UvrQXdKb6vXGdH1z2yepmc99MutDIJpKd4U0Q3p9rjQtMWn7X6DSYij84FRJZKbTRFbLIhpoQha4p49kLVAEFr5HPmcq1p8ubmW62MoCPRFgIPDH50y+4ym+U7dsuRBTquMex54omhEmzKnjg4QIirDlbRKS8qOgVZp5S2eq2pmWmq+lRCYBSve2dDgqbkr5O3VDVyn9SI+1RPfRKExSP6hPeVHskclyCJuOMndnLdU+54pIOk5TLbPnhbwr+dy5jLvx3ZeoBq8yrp7xSYpoi3K1IMUvvbPPX6o9X68trHCpQeTxQhGA70x7MXs0rkTjrs4z44hvBzxu0djEKccT0cwdhG+uuQRWvuqBQAwvHGwr/lV8Qftuw0O3ggesMAAAAASUVORK5CYII=) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-pwdToggle-show{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAkFBMVEVMaXE1e/82fP82e/81e/81fP82e/89ff82fP81fP81e/81e/81ev82fP81fP81fP81e/80ev81fP84e/80fP81fP81e/81fP82e/82e/8zff81e/81fP82e/82e/9Cef81e/82fP81e/8AAP82e/80fP80ef81f/82ff82fP81fP81e/82e/81fP81fP82fP9qlGdGAAAAL3RSTlMA2/mUmzYwDOvFYqNRIvzfjEqBEBbne3Hh/gnvRMr1A7rYWwFvaSkfPamGn7MrrIf6PmoAAAFJSURBVHja5ZPJloIwEEWFhJAAEiAyySA4j13//3fdVtCAh0Xvfasi554aH4uv0fro0SZt27Sh3nE9zzik5zagbN4TZwZZkiK0RbQ9M3beRsIOJVl+MrEIK78+Kf2lTrVfhSKeILuDBX2wGj+tgh6sw/gl50DYM3ADcu8OumlGgOeG8TgkmMbxJQDfboZkCXDvxdQWJC4yHfyJYox5E5DxMFcHN4VvN5z/akooCkLPmNkW0xNKhC7Pyjud7tHbGQYN7HUTkV4lT9Ri7enBNnkpMODAdPILaHH/StOf4QyQzkMo30DTcqFhwqspN228MFARTxtfitcKqIGoa1Yws0xU50yXiWcpM/U+C4D0kVFZyb3RgSuI3ge+kwDzsgiqfGyVvZyzitzvFmMF2nTucFltumDGvmVr7NuWBdr3Uw61zI9gUedfv9S36BcT/SwPiz/IggAAAABJRU5ErkJggg==) no-repeat 50% 50%;-webkit-background-size:18px 18px;z-index:12;position:relative;margin-left:20px}.pass-input-clearValue{width:20px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAMAAADW3miqAAAAJ1BMVEUAAABMaXFFRUXz8/MAAAAAAAAAAAAAAAAAAADx8fEAAAAAAAD///+VXwL6AAAADHRSTlMzAEHYHS8CKQfREQq/Q1+sAAAAsUlEQVR42pXU6w6DIAyG4W/aE+j9X++SynB1mnbvLxOeRCMUvAr9j6STMsBKXR6QEWPGZDdICJdIrsgUP6lFtDFu4u0b2WmishOJ4iGViQiP0QcZvNYWzJbW4NlANNC+LtOs+0B0IOG54Co+sjjqQFgKBuiOCFFFA3KkiCoaqCNGVNGAHQFRRQNUUf666ofnv6D+M/NtyTe4flTyQ5cf3/og5COVD2c+5vULo371JJXRG1ESBwk5JTX6AAAAAElFTkSuQmCC) no-repeat center center;-webkit-background-size:18px 18px;cursor:pointer;z-index:12;position:relative}.pass-form-vcodeImg{float:right;display:inline-block;position:relative;width:10rem;height:5rem}.pass-verifyCode-img{display:block;float:left;-webkit-box-sizing:border-box;-webkit-border-radius:2px;margin-left:1px;position:relative;z-index:15;height:4.8rem;width:9.8rem;top:1px}.pass-form-item-content{height:14rem}.pass-text-area{height:12rem;resize:none;font-size:1.6rem}.pass-form-item-realname{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0;padding-top:1px}.pass-form-item-code{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;margin-bottom:0;float:left;border-bottom:0}.pass-form-item-accpassword{border-top:0;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-item-smsvc,.pass-form-item-smsVcode{width:64%;float:left}.pass-form-item-password,.pass-form-item-idcard{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;float:left}.pass-form-input-wrapper{float:left}.pass-form-VerifyButton,.sms_verify-noVerifyButton{-webkit-box-sizing:border-box;display:box;background-color:#fff;border:0;line-height:4.8rem;width:98%;font-size:1.4rem;position:relative;z-index:12;left:1%;top:2%;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.pass-form-VerifyButton:disabled{border:0;background:#fff;color:#d6d6d6;opacity:1}p.verify-button{position:relative;height:5rem;width:33%;float:right;background:#fff}p.verify-button:before{content:" ";-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;z-index:1;-webkit-transform:scale(0.5,.5);-ms-transform:scale(0.5,.5);transform:scale(0.5,.5);-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;border:1px solid #ccc;border-radius:2px}.pass-form-item-univc{width:100%}.agree-link{text-decoration:underline;color:#999;display:inline-block}input[type=text]::-webkit-input-placeholder,input[type=password]::-webkit-input-placeholder,input[type=number]::-webkit-input-placeholder,input[type=email]::-webkit-input-placeholder,input[type=tel]::-webkit-input-placeholder{font-size:1.6rem;-webkit-appearance:none;color:#CCC}input.pass-button-vcode{z-index:10;top:0;float:right;margin-right:.5rem;width:40%}p.pass-form-input-wrapper{position:relative}p.pass-form-item.pass-form-input-wrapper:before,span.pass-form-input-wrapper-forvcode:before,span.pass-form-vcodeImg:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px}.border-lighter:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code{margin-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-username:before,p.pass-form-item.pass-form-input-wrapper.pass-form-item-code:before{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password:before{border-top-right-radius:0;border-top-left-radius:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-password-other:before{border-top-right-radius:3px;border-top-left-radius:3px}span.pass-form-input-wrapper-forvcode{position:relative;-webkit-box-flex:1}p.pass-form-item.pass-form-input-wrapper.pass-form-item-content:before{border-top-right-radius:0;border-top-left-radius:0;border-bottom:0}p.pass-form-item.pass-form-input-wrapper.pass-form-item-realname:before{border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-bottom:1px solid #e6e6e6}p.pass-form-item.pass-form-input-wrapper.pass-form-item-idcard:before{border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6}p.pass-form-item.pass-form-item-error:before,span.pass-form-item-error:before,span.pass-form-item-error:before{-webkit-transition:all .3s;border:1px solid red!important}@-webkit-keyframes progressError{0%{border:1px solid #fc4343}100%{border:1px solid #fc4343}}.pass-form-item-submit{float:left;border:0;background:0 0;margin:0 0 1.5rem}.pass-button-full{color:#fff;font-size:1.8rem;width:100%;line-height:4.8rem;height:4.8rem;background:#5291FF;border:1px solid #5291FF;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.pass-button-full-disabled{border:1px solid #5291FF;background:#5291FF;color:#90b6ff;-webkit-border-radius:2px;border-radius:2px}.pass-button-full-active{border:1px solid #3c76ff;background:#3c76ff;border-radius:2px;-webkit-border-radius:2px}.pass-button-auto{z-index:12;position:relative;display:block;font-size:1.8rem;color:#666;height:4.4rem;line-height:4.4rem;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);border:1px solid #ddd;background:#f1f1f1;padding:0 2rem;cursor:pointer;width:13.6rem;margin:.5rem .5rem .5rem 0}.pass-button-sub-full{background:#fff;border:1px solid #d6d6d6;color:#3c76ff}.pass-button-auto-active{background:#eee}.pass-button-disabled{color:#ccc}.pass-button-sub-default{width:100%;line-height:4.3rem;text-align:center;-webkit-box-sizing:border-box;background:#fff;border:1px solid #ddd;margin-top:2.5rem;-webkit-border-radius:2px;cursor:pointer;color:#666}.pass-button-sub-active{border:1px solid #ddd;background:#ddd}.mod-btn-colwrapper a{display:inline-block;width:12rem;padding:0;border:0}.mod-btn-colwrapper a.pass-button-auto{background:#dfdfdf;margin-left:1.4rem}.pass-button-minor{font-size:1.6rem;width:auto;line-height:4.4rem;background:#e1e1e1;border-color:#d5d5d5;color:#666;-webkit-box-sizing:border-box;cursor:pointer;display:block;text-align:center;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0);-webkit-border-radius:2px}.other-log{border:0;background:0 0;position:relative;color:#3c76ff;cursor:pointer;font-size:1.4rem;line-height:1.4rem;height:2rem;line-height:2rem}.pass-button-other{color:#3c76ff;font-size:1.8rem;width:100%;line-height:4.4rem;height:4.4rem;background:#fff;-webkit-box-sizing:border-box;border-radius:2px;-webkit-border-radius:2px;display:block;text-align:center;border:0;position:relative;z-index:3}.pass-button-other:before{border:1px solid #3c76ff}.mod-vcode{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1010;background:#000;opacity:.7}.mod-vcode-body{width:30rem;position:absolute;left:50%;top:50%;margin-left:-15rem;margin-top:-15rem;z-index:1012;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-vcode-content{background:#fff;padding:4rem 1.6rem 3rem;text-align:center}.vcode-content-btn{height:4.4rem;line-height:4.4rem}.mod-page-verifyImg{text-align:center;margin:2rem 0 .6rem}.vcodeInputWrapper{display:inline-block;position:relative}.mod-page-verifyImg img{height:4.6rem;width:11rem;border:1px solid #e0e0e0}.small-tip{font-size:1.2rem;color:#adadad;line-height:1.4rem}.vcode-close{background:url(/static/appsapi/img/vcode_close.png) no-repeat center center;width:3rem;height:3rem;background-size:1.4rem 1.4rem;position:absolute;top:.7rem;right:.7rem}.keyboardInputEle_focus{color:#fff;border-bottom:1px solid #3C76FF}.vcode_error_redtip{color:red;height:1.4rem;line-height:1.4rem;visibility:hidden;font-size:1.2rem;margin-top:.6rem}.vcodeInputWrapper .vcodeInput{display:block;position:absolute;border:0;height:5rem;width:20rem;left:-1rem;font-size:12px;top:0;color:#fff;opacity:0}.vcodeInputWrapper .vcodeInput_9300:focus{top:100rem}.vcodeInput_ios:focus{visibility:hidden}.keyboardInputEle{width:4rem;height:4rem;display:block;float:left;margin-right:1rem;text-align:center;line-height:4rem;border:0;border-bottom:1px solid #aaa;border-radius:0;font-size:1.8rem}.keyboardCursor,.keyboardCursor2{color:#3c76ff;font-size:2.2rem;font-weight:lighter;-webkit-animation:blink 1s infinite;animation:blink 1s infinite;border-bottom:1px solid #3C76FF}.keyboardCursor2:before{content:"|";position:relative;height:4rem;line-height:4rem;display:block;width:4rem;text-align:center}@keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}@-webkit-keyframes blink{0%,100%{color:#fff}50%{color:#3c76ff}}.keyboarddone{border-bottom:1px solid #3C76FF}.keyboarderror{border-bottom:1px solid #E85352}.mod-dialog{position:absolute;top:0;left:0;width:100%;height:100%;z-index:101;background:#000;opacity:.3}.mod-dialog-body{width:80%;position:absolute;left:50%;z-index:102;overflow-y:auto;-webkit-border-radius:2px;-webkit-transform-style:preserve-3d}.mod-dialog-content{background:#fff;padding:2.1rem 1.6rem 1.6rem}.page-dialog-content{line-height:2.8rem;font-size:1.6rem;text-align:left;padding-bottom:3.5rem}.dialog-title{font-size:20px;text-align:center;padding-bottom:3.2rem}.page-dialog-title{text-align:center;font-size:2rem;color:#333;margin-bottom:3rem;line-height:2rem}.pass-dialog-orangecolor{color:#ff5400}.dialog-content-btn{height:4.4rem;line-height:4.4rem}.dialog-content-btn input{background:0 0;border:0;display:inline-block;color:#333;text-align:center;height:100%;width:47%;border-radius:2px}.dialog-content-btn input.pass-dialog-btnleft{float:left;background:#fff;border:1px solid #ccc}.dialog-content-btn input.pass-dialog-btnright{float:right;background:#3c76ff;color:#fff;border:1px solid #3c76ff}.pass-fast-dialog{padding-bottom:3.5rem}a.dialog-banner-mainbtn{background:#3c76ff;color:#fff;border:1px solid #3c76ff;height:4.2rem;width:100%;display:inline-block;text-align:center}.footer{margin:2rem 0 1rem;text-align:center}.go-safe-manager{display:none;border-top:1px solid #d6d6d6;height:.1rem;position:relative;width:19rem;left:50%;margin-left:-9.5rem}.register-content .border-none{border:0}.fastlogin-bordertext{position:absolute;left:50%;margin-left:-2rem;font-size:1.2rem;color:#bcbcbc;top:-.7rem;z-index:10;width:4rem;background:#f5f5f5}.fastlogin-layer-login{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.fastlogin-item{padding-top:1.5rem}.fastlogin-item a{display:block;width:3rem;height:3rem;background-size:3rem 3rem;margin-right:5.4rem}.fastlogin-item:last-child a{margin-right:0}.li-img-tweixin_sso{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACpNJREFUaAXlm39sVlcZx9u3hUKlqxVil8kUZ8cQp1UzCcP+LluGm85Q12hoampLGWPOKGjYZD90lbmk7A+dc0AAu5U50W6iW7dgf9IKM/qHRQQ2TNwY4shoGtdSWugPP9/Xe9+8ve993/fc+7alxJOcnHPPec7zPN/zPOfnvTc5aRrC+Ph4oLu7e9HIyMjisbGxqxGZQVlGIBAgGR/guZ/8O6mpqW/k5eW9mZycPDbVaiVPhYD29vY5ACqEdwlpETGX/FniMaUA66esn1Ty55HPIM0mLlVKcQ+xg3wbaWdxcfEQ+UkNkwocwEVYdA0algEmqDxpW3p6+l9WrFhxwUTzQ4cOzR0cHLwJwMFOI1WnNeERe+mADhMeJjQJAwdYoK2t7U6EbSGmomjj7Nmz9+KyZ0wUiEfDELnm4sWLa5BTAe0Isa6kpGQ/chIaDgkBx8J5o6OjT6HMMBYJKhQPSCL16mA8Sh2cRtywcuXKLr/8fAHv6urKwgpPIrSQnr8HC/zOrwJ+2tEBX8IDfkbbg3jXvfn5+X1e+QS8NsDKSwD9ZwCfXrBgwQ3TDVr6Siayl0gH6SKdvOLwZPHW1tZVCHgGgRsR/oxXYVNBj/Ursf42eFeWlpa+YirDGDgCvsP42pSSkrKa2fU1UwHTQYfFlzPXvMA8U49BnjCRaQQcS2+mVx8D9LWAPm3CeLppAL8Qw7Qg9wCWvy+e/LjAW1paNuLaNWlpactYovrjMbyc9Sx9GUNDQ+9heQ3FmJaPObnRi7cBZCNbyVtnOmh1uHSUV2pIWvNRVDtEtbhmShgchNGdRUVFh6NymIEVGvPo/nssn8/QPOGmoqvFtU7T8CVcfNOVBlogNflq5REGYTEGrs0JDZtmypLlpni8MukuDNZGK4I8wuK4SR5UhfPnz/9hBLXPAlaEQGNj41VKfbLw1czCUMAEne9kMGGMSzHWa52qvk+P+d6G7ty581MIugNXWwkvHTUXwDuFdIznXtK/EruJTbW1tX8nnbKg7S161LHEfRrZoYPNBOAQrYZoM5v/ZX40AbCOpTpElJq2R5k/Mgk9XFNT02raxisdFtcWeyvgX7TbptoZpVIaJR4JLzPJ79u3b25fX9822q83oQ+nwRM+z66rZceOHfvI165bt+4/4fWTkQdTHbwfglcIeGjMMbaL6JUUry6usQvogzD1DDocFIqV8/za7t27rwsvn4w8mPbDJ1UYbX4h4FhrDcAb7QqTdM+ePXO4LWmG9iYTegOaJZcuXTrQ0NAw34DWE4mwCaPdKAicnphDQZluTuwKk5TLwy1yVSctQpqJj1F+yllnPV+i/jfEeuK7DpqPDQ8P/9JRlvCjha3MwpoUBE5PFMD5iJfrIqx9Pe2+59QIILuZqW8nPkC+2lmvZ8bcj6i/i/hdHjc7aejMW7Zv3/5lZ3kiz8IG3x6iLkH/B5y0hNhBNA64pEDNcjaAcehSEeDDzno9QxN+a+pKA1lEh7jx8lKGPh3QC2uSPasXo8wmFZgG6L/mRgvzu5mhR6g/ikfc40ZD3cMsfRnUv00+wmtoo6FwIzQL165de9qNh58yZLXRrl5tk3kIcJIZ5Ao4y/QKeNeuXRmM7/f8CI/S5hRAn2cIvEx9P8vb+8l/kI4Z5mSo+/ij1dXVCR+JravrPtbz9GQ28dcxmbSzaflIFKUiillyluLqk7Hj6gOw9g4HAHkvRtA19aIIgXgAZYeh25WTk/Mch5ARFxqjIjYzb3G3UBzQax1aHDNqZREBOtq49MKmh5l2BQ1ysPBxQH+L/KIoDDSXFNA5DSdPnnyDia84Cp1J8TFhDsDsaqjlTsZh8eLFb0Hsu9ex8vFZs2at5uT0HIC/DS97romrA/QfhUg7vfvjErsTnBVmLWcZKOJp/Fiudtydb+xSZJ2H4i685tekn4lNHbVWbxu3At7ThCxuFtYMMdCbS0/AxYDxtl2p14Csx4m1tPtseFsUGiX+gzgeXm7lR6LU/ZiJ1uuucQBe89A/ME4m2UVYzKLMzMwGCPpiEkVWDjKuf4u4DZFVSTVsaK6n/BvOOnSsUh3t7g6vowNTmB9+Gl4WL0+bcVw9WRYfgHhevAbO+vLy8gEphDJuFnKS28+vMq71JlVnc2cIrtfUaf6YEFD0Xypwq6NsOS7/iQkNYjygb3Boa4zrXbXeT3sObC720/Zx04Z0VBe0pW708Glitn6JOkVneBFwL0MTOlaGE1B+a/hzrDy0wqoPEQLvkMmORRyrjvPz/fB4JBaNXWdZ7sP2syO9iufbiemOcj1movAXSOe61KloUZRyt+JsYQ7o8wtqdT3kO2D5H9DYdXsazhQ3870EhvNx5j3yXSrMAU4tb8IoW9s5J0MvzwhPjkcPSQ7x7Xh0PupPmLSxMGYLcwBFdAHYo88vTBrHoCmz6i7A7wliFVHX1B2UnyB9F1f/APl2i25SEvhqGWwxYWZ9YqLL1DF7x9TOgyYdTT6eA5OSblGXw+NJ0q0sPf+2mPzCyYx19wa2jA9Qrok14YC8XyHvnyaM0K+E2CFaW7iOa0Uq8BOYLDLYgi5BgW8y2dmgXVlxynod4U+7Vnov7OUVlzrRKNBJRRAKa1JwXOo6Bjc8w6nlRi+3MGLgJ+iC8vz58920/aSf9mpD58nFVzGx/sGEhz4i4hR6FCNdw5Z7KGhxZWis1y1rTJgkSlNRUaFXubfA56hPXrrlWW0KWjIsbE0W1pCra++9F1eo8KmI52YofTYrK2sZVnuKxmNeGKBrNcPK05seYRNGW449xvWGsYPKUb1ysSunOmXbewEAG9i/60Oep4lnosjUISV0GkRP7emNA5h0wTEijHajEHAVwPxRxvqDduV0pVVVVSfpgPXEDyHz40xYq7DO18mXk95MmkmdNh66uDhM1A7POIBpC8R1URvQk7p/+9t0Wj2qMjEquIT8SnNzc1oMklCVsHDddETYQoVkInZbzPB59NDz+oYtNzdXlwZXbOjp6XnfuXPnXsdrvoqbaxUJhQm9oFKLoLO3t/ehENUVmrEwdDpBC04EcBUy2ejGsww3qdTzlRikuzAIi5v+Ea5uE+Hy/38f/wg87nGCsVHJvrqps7PzWrtDZnqKwRZyHfUCelYKQzR9XV3dJqbhq+S3cSN6Sh/P2eUzNZWOTMwtGKyetyWvxNIzqquHN2KJ+wnPBayjXywsLJyK83S4OF95eaUMxF5kM6DjXofFtLitAYzuY6J4FsZ/wpWW2+UzJe3o6LhZuqHPJhPQ0tvI4jZAQN+GKz1Lr860z7brNR9ZQ9NWN2bqCbg4WbO9vnps0ndkl2uTo82J1mktWYC+I9ZE5tYDRq4e3lACWBs/h8CF2hVdju2tZEq2dJAuXkELj2eLh3cC1tf29ucoMESvP1qSwEeB4Xyj5QUYeVvwtrnIWw/gCdvQaO3cyhMCLoaADv5+RfogCqUQp+z3K2SMArgOwHoN5ekM7wSfMPBwhnhA6Ic7yo8QdcZv9fnDnS4/i4j6PHTm/XCHUhGBDtAdXgEVJUR9X5NLepaoDxCCv1iSDlCuF5bB/0x51tscvdgI/mJJqmvoNix8EAvramxSw6RaPJpm4Iv4qRbA8+gckuC7+Wn/qfa/PZf1zxsyEuoAAAAASUVORK5CYII=) no-repeat}.li-img-tsina_sso,.li-img-tsina{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAADUlJREFUaAXVmwlwldUVx83LAiRkElygxUBAQCzgAK0VBMmKzBRGJLSm0omghk1cauu0FXCIOIgFywwVN2ISIEiDmKK17gYCYRNlS2WpECqVQohhD0gISPr7f77v8b0l733vJcR4Z27ucpZ7zj3n3nvu/V7CrmqGVF9fH15WVnbDpUuXepKvCwsLi6VsS3kJWI3D4aihXdm6desvbr/99q+aQaSrwq7EIOXl5THHjh1LQal0cipj9CIfIu9G2WrKGvIpciTwWPqiqSdS70kZR3sH9dXUS8PDw9elpqZepN6kqckUR9Cw1atX34F0WdRHUn5GLkWJks6dO5f36NHjvB3JNWnHjx+/7dtvv00DPwX67vArioiIeC0lJUU8myQ1WvEtW7ZE1tTUZOKq0xDwG9x2KUIWJSUlybKNTuvWrbuhrq7uXhjdC/+D8J+Vlpa2qrGMQ1YcIQwLUy7AKkcQ5Jn09PSPGitQQ/TO8bKAT6deHRkZOSU5OfnzhvAD9Yek+IYNG9rX1ta+ggB9scDEprBAIEFNuHMC7qM9h/oz7AEL2QNqTbjd0mEX0cQrLS3td+7cuS20yxm0d3MqLRnwrno8axET3ot6X/aCsvXr13c05bNbBmVxNq9fMsuvMOBkFP673UGuJB4yTUWmhzBCRjCbn23FV61alcMA2QwwEtfacSWVCZY3st0JTQH5UbyhyA69LcVh/CxKP9GmTZsOgwcP/toO4+bGwfK9kVHH55N4Y26g8QMqLkvDJIM1NTCUTSSQAE0JZ/9JYM0fRPnRWP5Nf7z9bm7ONZ1NKDmspSstJZHxfxjoFqq5yN43JMW1e+M6r2hNt1T39qUYbr4VuR8koHpbx64vHPX5tLgIcJm3tXu3tI2sIUWs/UOHDi3G8ouJNVbu2rUrygoz616KM1thCk5QOr+lHFmmsMGUyK69qerIkSPZvui8FGdt3IHyisjm+CL4IfW1atXqd+gyi2XbxVNut11dF46TJ0/uROkpzFijLwKeg9lpI6jj1VdffQTcfmSFol+RP0tISFg3fPhwWzc88F0JQ/6e9Z6E+49ydVJxUxyk3zDwZI6CJCtSc9Zzc3PvQQavIISld5L+xVxOZj/wwAO2b35YuzWKH8CYQ9mvdpq6uFwdpmHk6QBmmcDvo0TBcsY94Tk2ssXT99jFixf3Mjm679tKOobhOQ/lpZsruRR3ru2zWPuKXS1do/qpTJgwYU9UVFRH7vTXU3bFUumgzycfFJlzAt5Ced3RbSUUXwDdMOtlxuXqRGiFIGxhbT9vi1sQSAjZG/SRDN6fshJlilDwkyBYXLVw4cJI5JsJj6lOuvPwuRU+/7LDp6SkJB+83az1ecKP0B8991RXV49k/TyudlOlvLy8PsQDM+GXgcCuSab+CJPx1MSJE5/2NdaKFSvasMn+AdhN4H5JuXzSpEl6dJjGBLShfIzcCtgzlLqgBExMUiH4MqqhuOHqPAwmy9pN9VzEhhKBYjNQehsDjWZAl9KSUG1yzqJFi7RuvdLp06eTgcu6YwBOI2+DnyZQSWu1UhXgwzkBOqgeKOHJa8H/EbIlCNdQnIWvdVQaiNgOHGW67Nu37xMJDn6kHxqM4IjxBc/Ozv6QUHkA8FHA8zBKOPxmoHwmlv+G9mInneRPc9YDFtCtAUm6fufqlKl0PqiOxiQEG8TDoG5FDcbIFv77x40bd8jp1rcyfndgXVEwGitWcDEqHjt27Kf0/QP31tN0DrBfU65gQjbhTVQNq99kVOz9+Ri6VFCXOGAWTqV3p06ddtij9Y2FcHfDS2/hdpQWkwPQvHOCBN0avC5PRw51RVsv8rz1JXBZXGm5/jA5PVXiDf9W6UztzEqgEvrt5H7Cc+gLB+Uhu+/evphj6Qz6/0Zu5QveQJ9cboQfGn1kWChaLByvkqQPEVrb35nboy6Yv4TSXwC/EfowB7OsWdztj8AfDKuMgNHr4BgnhD/cEGDyRimuzbESwY2jFpmvNXkBO2zWA5UEM2eQ9Si3z04RMNG3LNshoJV5fn5+T9ZMEcz8bWImiT4DVTjHqoGmLe32tHtQNxQ0ES3lS6qz2W2icL2kgl8NXR1lLYHOWxZ8O9Wj58+fvzYCBrEwMFzIDpWJg6WjCR+LaceafT5KWWk5/Fe2a9dua2Zm5jlPnMLCwhg2xCEYYCywTHCNSYDuMBuczxsiQYvWfy/eAGvYAIN6A4RvjXSWxfXV8pSnQDbaCh76NID3NTxnxsfH56FsnXBQKIyjrjVKOnQkmXQIfpb6B8oEPLORpwDcn5M7ssH9l/2jDF6vx8XFFcPLtbbhsd/kEWQpXduGEao+QSWeGF2lrcRsd0aYfQjn9bpBfwk5C6tUcVRFnTp1St/V7oOxjhEHsHrKzeTlbKgvsu7cvoTKA3gIeRfeyeC4EnS7iCwz7r///n2uzhAq6PsevF7Qcab15s9dvdhD+GQDSr+PlUdI6SVLllxD2FmC0kthkE42giXoFLUNJM/fu3fvB8uWLXM7juQBrNt7GUOe4Erg975w4cIaJlN7Q8gJPvo2r2/yDvm8jg5bSeEoxJk+kCujo6PvkWvL0lhtPXhDfOBdsvSlnzlzRhPjlrhvH6TjfbdOGvDryGRO9OwPsh2Dzqd1nFVCmGiXGCsJN84Tn8l7Nisr67T6iUkmU3hFVAz4FMHHdcAOkM00gqXTzWxYSmuQ4upG+f6uRmiVzuh8xKGfX8BMZ7mtBH6tL0Tc812zn0mQ4kaivoysy8ZzjCM31bJyO/6A69rqmcygxa0fXKvHuMECNTZv3nwNOBFcTasczt+cxOlqGohQcMXXDO51/GFJ68nwYyev57l6ZpF1rfwjfb/g3D9Aeb0TbhR4wklrmwnSfqCozisxtqKvkBLLSgbeI2Jjw6Hczn18kDrsJAT7pyceG4/LasArBEfITSYe7qy7tS4ibgmcim7dum20dnKETQK3q7VPdXB1Irzj2W+3Dc/bwNVV+bswkxlfTWca7Y/VGSghwGxwxkCjUNJIrBvd7srUAJ4LTJ9ynkMJ7QnauaVMK0q3BO5U65HGzUzBzF/ckC433rX74nKZ5HKNsdLIBeoxLE6jFKGSL6P4r+G6u6CZacWC/h6EzlYfwuVTzKcvgfxn8p/Inmv2AjyywS02+UA/BqXfo+3rlPkaAz1s4gZbMn44NINiYmLWiNawmI4oBjzM497AIUOG/EcAOwn3XQpelhUXZeayAT6t8xhF9Auoh4APoDTGAn6WejGb4QvE4FtEW1BQ0Ivwdxb9GVZelvo37CHDxo8fv8HSF1SVN7dRjP0YgVqKCA1hVAHwVwDHAcxU206SMiinO7RozP1CpHpQLCC/ERsbu5NfRXWAdzyTW8fmdlghK+Fpd+op9GvJpHjQi4eRgFcAHw3N52ZfKCUR20p4vZOWlma4uktxrH4Lgi0H0AMEbSK2E0okocQ8CLSuPZPi8v3w1M6tXzJeTb0Tpafru9GBoxj/ZfByUNp6Yrjh2WnoGGNHr8AQXdlPjBPEpbgYYHX9oqAAq8uFg05sZPqNjFxb+4XVA2zzYvzj8HidZTeXuPyAbUI/iFhbMUQU5/dvTTQ3xbH6UKy+AKvrF0VBWd1kqJJ7ekfW7K+oDoLPzyi7MbDbWMJzJl1Vd4C3lfJD8D7EwhdMYGPLjRs3Xs0tbz98+mDQQyY/L2Gw+jqEkNUXmUiNLXWxwNXac9bH427GWmezOslt6wR36iPW62Zjx/Kkx9rz6YtCnylWmJfia9euvRlrrULAXqyHo1bkH1odpX+KzO+xbH7CaeX2Pc5rHepnkrjbG7j83B+aolZ5dUTTfhnvneGptPC8FFcnbvg4yt/MjNl+nBBdS0qcMq8hz172q1xfcvlUHBevxT30KfZhvqLa/iTra4Dvow+DTcfSXfm5+PiGxvepuJD5jqYgZBSWz2fd92+IQUvrx1B3IdNkNs5R/r4VNKi4FMLyCikfZTfexppJUF9LTsioJ61FWHuUDOdPVr+Ki5BjoAhGE1gzn7Zky+tnLMi4CS8dxrpWTOA3BVRc1CivL5YPccx9xPq52y/H7wFI7KH/jpiD0rc4vTSgFF7nuD8KZrUvx9zbDLCYWc3xh9scMB1ZyLMUpbuxGd8VyL2tMgWluAj5yHgda/5NqlX6HVlz/buUVWjVncHJSyhdkZiYmO1vI/OkVTtoxUWkn0lWVVVNZ7b1MDCbc18fBnw+Qgq/KZMz9p4BT/0sLIeLx8JQ+IekuDkQrtaFDWU+638geR55wZWaAOfVcipj65WnCNee7isiM2ULVDZKcZM5E9AH6+tBYhh9b7EHFLIHrDXhoZbwC8el72RCx8IjlbyE/BybreuWFSrvJlHcHFy/I+MLyhinoB3ol/IlTMR2Agr9+6TXs7RJq9JpVT0B68VXiqosh18heSXeZDwi0Nfo1KSKW6XBCxTwpOMJKViuH/UbycfIR1FCE6BXFX2OiqWMISeS9SC4h4nSOVyqh8EBAwaIpsnTFVPcU1IUDONESCAWMP6pFnhbcj0Tow94pzkhKpvzHwL+D/apVUBAYAKoAAAAAElFTkSuQmCC) no-repeat}.li-img-qzone{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACUtJREFUaAXVmwto1VUcx7fr1OlcGk40K3tQszKakEnJHtcpkVFKzaJaLUhpZCbUDOwJhRRRFkUvnQ+2qZWkpQUJuru7uTRxEKuQDAN7IK60ZFs6dW59vrf/uf233bv7v///f68Dh3PueXx/v+/5ndf/nHNTU/rBdXZ2Burr6y9vb2/P7ujomITITNIyA4EAQWcrv1uIH0tLS/spNzf3SGpqakdfq5XaFwJqamrSIVQAdiFhEJ9DvAl/UCHEWkhrIZT8McQzCSfir1NIciM+TDxEWDt79uw24r46X4lDOIhFi9GwCDIR5QlDo0ePbpg1a9ZpJ5rv3bt31KlTp2ZAONJohGq0rfSITTRA2AmGkzKeiUMsEAqFFiDseXwaim4cMWLEJrrsUScKJCrDEJl89uzZYuQ8SNl2/MrCwsLtyPE0HDwRx8K558+ffx9lzmCRiEKJiHjJVwPTo9TAI/GPz507d49bPFfE9+zZcyFWeBehBbT8Eiyww60CburRAPPpAe9Rt47etTQvL+/vZHECyVbAytdA+gCEf8/Kypra36Slr2Qi+xrpIF2kU7I8krJ4dXX1PARUIrAM4ZXJCuuL8li/BOuvArtkzpw5XzmV4Zg4Ap5ifJUNGzasiNn1G6cC+qMcFr+ZuWYbslYx7tUICZ0j4lh6Ba366vDhw6cUFBT8lhB1AApA/hIMswvRu7D8skQqJCS+e/fuMrr24pEjR85kiWpJBDiQ+Sx9mW1tbc2sMBqKb/amS6+TG614G5XL2EreOthJi6R0ZCheiuWXW/NRXO5xLa6ZEoA6gBYEg8F9cREGYYbGPLp/geXzmI9+jKViTItrnabil3Tx5UONtEhq8tXKIw7i4pi4NidMZtsGy5IVS/FEadId8lvhoo1OD9fD4nSTXEoVTJgw4aUepYdYwvjx419G5Twm6LzuqqfZE7CyPjg+oKWW5OTk/GPP8xqvrKzMOH369EKwF4I1DX8R8pr5/QvhTn5vLi0tjTke3coWB/g8Tv33kZGDrOiHTZfJjUJ3My5WsAmY6VZYrHrl5eX3I/gN/ORY+VZaB4qVZ2RkPFNcXJz03rsX3BQsri32K6zvn5lyXbo6pJ/XV5bJ9BpCNHXNmjVvgrs5AWmJ0nFMaWtr674NGzZc7lW2vb7FSV91URclztgO0irDmBR8+9LC0rLyk1FpziJTmZBqV69eneWseOJScNpOqTRxNKWjxLFKMcQ3mgyvIaQXQPoplzhT0KXSZd2Y1cRNHE1mhDgtkU5CkU5OTIaXELw0hPS6ZUyET6PNo/FuT1TOab7FrcjimhIhjpL5AHzn13HR4cOH7wPvSqdKxSsH+efi5SWbLm7gNeJ1CPofccJCfBjvi6Mhi3wBSkm5hbF+kU9YKXT3MFjiGiU+m5aoVoJXB04AAXO84qg+WEClzvUDy8ILgRlUXEuIfI6OgJXg1VVVVWWBp3NyXxzEPQ8Zo4g4iqs4R244yGhyeu5tQOKF586d861rSgZKToknK9l0i2OTbnUCutYBQDccvjiOgF7zBcgCgfgjWhp9xDwozgEmokmA6nrHF4eivoxvuzJg6sPJL9ckzgHQMhlHfh4pnfNLQ4MD8U4T9xpaXDM1A4/BN3sFVH325TcRjPIDy46BfjfDXUby7MCRkTMiYH6A8mGh3V+FZ81iAKBf3tq1a1+IkeUqSXy1lOl+eowrBFslPixeAOtaW5KvUbCfZZK7wisovScytGVx3VV7Wnet3VWZV6V6q4+OI/CP9FbGSZ7FtUXENaPrUt6LK6WybjD71KH0PT4IENemAF8th4joJYJrR/eZ57pychWv3rJli9fJ8zpxDvDVcgTZE/USITkd/i+NJab+/8v/GA1rlrNAc3PzxW4lWBwnirOWM511Ner5hVtAoxihjnQPuMWJU+9nGvZpk4e1XC+91hMTPVHpiCxngNbww8uO63Pq/8mtyzOEbxkl/QjBq8zOzn6bMAzetyUlJX+4xQWj0MKJfpaGAAu6BRw3btwSSE9ftGjR0bFjx24B/Gu3WN3qHcPab3Mz0p6enn4Hh4ae5hKwxFFcUyLHyzqOYf96lBvR6/04hWGzcT0fK99LgBdHAz6KK/eCYerqEdGZM2d+oPEm05Btka6uCAV03VJsCroNKyoqLob0J27r2+thoffYtJTY09zGLW5bLa7Rrp5CS2xC0INugU09WlUW8rQ8GizC4fTED9evXz/BluYqKm70oOgpspncdMMYBrGd2xRP374IuMGVZvErjaIH5cXPTpxjcWrnfL3WlI4StxJW0sJdbhxMQachrfqhg7JrKXMXXufuvc7S4Gm18LREWpy63BBFJjejKNbSpaHWuedonR0mPdmQz9N7wXoCnKmE2srq3eoRwv2Q+IjZP3q+t27dukxORDTEtB29Cn8BZU8SHqRuNeU3LF68+C9+u3LwmQ/xldybTQe3w4B0Ia5EZvhcCn6sN2x+35gaof0VNjY2Zhw/fvwQ89d9DOV6u9zuXV1jXQVqT5w48aK94FCMWxxqu5MWlx7Elci2cCnd7G6s/7B+D0VHF9fDP12LLY2lf4+ubgpRUeOznjE2f6i9g8Fg7h7/iDyTm8bGQ0w8W2tray81DTLYQ+nK8rdNutPFf4ynb8yubgpTcSfxVVwS/KrHcyZ9sIbSEUPtgvQblu5xVY3b1e01eCz3Dr/zeeh352B90ilLy0AsWStYul6z6x8r3qvFTQWAljHeqwDeHw6HbzHpgyWUTtINfZY7IS29HVncEGTSuI01voqutJyuVGHSBzLUyoNOr6NTSaLubdczKeKqaM32evW4Te/IBmqTo82J1mktu5C+E9JxJzI7YRN31NVNYYWa7VkbZyLwEu2KtCW05/dHXDIlWzpIl2RJS8ekLW4nRjcbkD/j0NvSsfJjEO6yDbXrlijuibjAafUuf7/i9yaOiTb6cZIjfJ2c8AZd39I6JGnHD/zfr6SY3dED9Ie7B0jTs83v8GF8iHO4hhkzZpwintA1NDSMPnny5I0Q1eFnEK/v+0+x8GYsHCbui/Ns8Vha0AA6w8snrxAfxOv5xZ+EeoDQBInIXyyJ60FOJmV1d6cbjmn81mmLGq0GH6JsHYTbiPvq+oR4dw01HOrq6i5jK5kNsUkQ1cVdZCdInq5tWyF4DH8oPz//F/Ki383dsfz6/S84OTwLeUTzXgAAAABJRU5ErkJggg==) no-repeat}.li-img-tqq{background:url(data:image/png;base64,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) no-repeat}.li-img-qr_app_login{background:url(data:image/png;base64,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) no-repeat}.li-img-device_login{background:url(data:image/png;base64,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) no-repeat}.li-img-nuomi_login{background:url(data:image/png;base64,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) no-repeat}.li-img-voice_login{background:url(data:image/png;base64,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) no-repeat}.li-img-huawei_login{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAADOhJREFUaAXVm3lw1dUVx5OXEIhAwQLiMEJYClKWQS1TkDUhmFqmskilyhKWhKUgICgCTQeKAy2LKC17IKwZ6WBBSgvOaCCyamioprIUiv6hIIQ9CVvY0s/39f2ev/fy+733fi8JDXfm5m7nnHu+99x77vJ7iYx4AKGkpCRq7969Te/fv/8ksV5kZGRN0hqk92krcrlcRZTPVqtW7USXLl2+eQAqRURWRCd5eXnVL126FA+oRGICfbQiniEeA+wF0iJiAbEK7TWpe4R8HPknSWtR/oL8bvLZUVFR+xISEu6SL9dQbsBRNHL37t3Pod1g8r1J/0HMBkRWo0aN8po3b14ciuYatMuXLz977969HtDHw/8j5G2Kjo7OjI+Pl8xyCWUGnpubW6WoqGgAU/U3KHiDabsRJTd169ZNli1z2LdvX9Pbt28PQdAQ5H+L/Nk9evTYVVbBYQNHCbeFSRdjlXMoMicxMfGjsipkx+/pbzDtaeQvVKlSZWz37t2/tKMPVh8W8AMHDjx269atFSjQDguMKg8LBFPUaPcMwDDK88jPwQesxAfcMtpDTV2hEhp02dnZT928eTOXch6dtn6QoKUDs6uEmbWWAW9Fvh2+YO/+/fsbGPqFmjqyOM6rP6O8gg7HAHhLqJ1UJB06TUencRihnxPnFzLwXbt2zaSDFDrozdT6oiLBOJWNbi/As4Y4gdmwKRT+kIAj+A+AnhYbG1u/c+fO50MR/KBpsHxrdNT2+VtmY3qw/oMCl6UR0o811TEcJxJMgfJsx/88wZr/FvAvYvkPAskO6Nw8azqFo2RSZQctkOh4GgO1J5uO7u3CAi7vzdRZoTVdWae3FTCm+WH0/jUHqu3adq1oVGdpcTEwZbbLe1c2R2YHxFzfs2fPv2D5dZw1th49ejTG3GbkSwFntCJ1OAF0RmXZsgxlnaToLt+Uf+7cuRQrvlLAWRvPAV4nsnlWDA9TXdWqVSeBZTbLtrG/3j5eXReOq1evHgH0WEaszBcBo7P09PQW5EeiRDzpxtGjR//JaFO6cuXKD0no1rWdLXPj4MGDC83tZcljyMms925M/75mOT4WLywsfIkpnl9eoLVsAD2XDv9N/g3S9sifvHnz5ihDiYyMjGfJP09MQsEl169f/4qBSDLay5rS3zJiR6zexizLC1xKEtNonG0mKEt+1apV05A5VbINOeTjCgoKuhrlu3fvDjLynrQu6TbAt/WrD6uobRjgCxlUYfMGL3DP2r5eXlfLtWvXVqOXN709mTKATzAVzXmjOhZlpxiFsqbIWkyfSebLjBc4wgezxjLD7cQD1MvOdvhjOqvtrTBlqO+oYmZm5g9I9CxlFbQEfMLOnTur+lSEWPAcvraxW71isLiB67kHZXrr5cRocJIyLVvySnLU48TcrEytWDsZWEBvaxHFxcVyepYBfXz4kT3+9OnTf8U/WO7LlkJMlRh1A/0mG1Vu4DwMdqcyN5znIhSpgbC/E5ui7GbD8ryQ2D49QddQ1mN92wJHnvcyhK/4CeW34fvZlStX3iHvOOCw98D/uM7zYnYDxzqJ5LMdS4MBReS1m3l42925c2eR8sOGDTtFcsVT75+4OFg8xmA/7t9glGUI5ZlNtdBvM0oblh7HQMQbdE5SZH4CvbB6j6wJVGapwklYv359HehTzTwoOJpp2Q95JUTbGxLWrgOt+O2C8dCxDIKmZiIGYqq57CD/Mb7H7UxddK49tXXDhg0dPy6wRjvDW8rhIHMFlqrLunrPTiloHmVgLJ0fPOdr166dpQEkP9BCRnfzWcCi3bKK/j4nPqVGl75wkJ4J9d3bLBHltb6tgqbxopSUFD0MnLYioF5Tt9SgeWjf4yBTk/xyK17q5PhkMEeBPk/A0AK9I11MG3nYY44kfE9s+7yL8EFYrCep3Zm/CmIUfQLK3cYxvoOvmA9vfZ9GTwGakwMGDLht1Raojm3tGjIvcvtsKOD6lmXrgQMJ4swt4J8GoNH63EjU5yP/oGXmdq7mBuoyiPK8Pr7DTEN+pV/ZSfEiS7SuC9CaUkVOOM20PFSMonzDXGfKN0P+eMry/D6B9X+bNn+rFcfExMzH8S0BvPeY68MYEZFD22KjLgCdQeKT0meRMMviWqf6gBdyMHeWmpp6BPA/h9nyRgXtdEDuoN1nWVAv0Hf8Op0L6CTqnvGrdxdR+BB99WKm3dGhiaW0bfXq1fpO5yQIaw1Z/D6ZUmstkCT20R10PIHo5gP8XsD1QFa+Bd8jgPwdbWOIJUY79Depv2mUSf9DlKXfMtV5s/Bm4ekTmRHRAJbT+xLaPqQtvEShZaIhK9E6KyJqujsJ3SD+I8ocYxB+KcaRI0ce5sjbljqrvXuIgEK2WrQK6pfEu8TgG0ucSL2/QyuG903q+/BWMJ7z9inyY+AVgAhm7F2loQZ49W2+KBqhAq7v0yEH6N3rj1SfcN/HAgeRM2nEiBGHEPIig5FMvY6Y9SSUNJKDw++ZpoPotK/qoS8gf5W8PgttIsqC2/yUyIEnlfoWtB8hbeLXLl6fJeTfblGuTt+FWuNnaYyzILCtorOT5kYU6oSczxiADTwsNMD6G9iSpOy70Bnr+HloWkLrvm4yOy7TplgArV5JdHevLrnwfUdMpn4E9e8St1iBhvQ8NPvF4yA0Qt45l35+gVDt5U5CqeMtMvSQMQTndIIBmFq9evUbo0aNmqzpj+CtEk77TBzTekDtTE5Ovk75AqOfBo/W/mjiNeIsdHqatlbs5fplRE/q7MKc4cOHh/ylNCcnpw6ConmGynd5fnNSS1dTO+n+9YzyUpT334oMshooO5fLy78YgJ6c3k4Atj9TtgMEUTjEZ3BSv/IQZ+MYl5OX40tHblPoPuNrbA5104iBnG4mcn3e7jwybZNr167JwMdF4F6rWVlZ+8i/xUh8rMpQAqDGAnBpMFoAaf1OYvq7Pb6uo7169So286nuwoULNXBcAjLQ3OafR9Zp+l3gFLTkgPN1kqbgHOcGzrPTLITF8Ow03b+jQGWc2GuslwXQuD1sANorTOkpgM+wo0HWK8hqaNUObwlt50m/ZoYcALy2YMeB74A74F3D3XyL+8hIIRvg3Z1KAsgi1nAb+BYSv0KO3fR/FMVXM0t2AVDH0VKB/q9T2ZzYGDkNSOuS6hdRuswo1IKmJQeWgSyXWv+rCv0vvLrUdML3fCIut8V5lYhGse84HHTs2rXr12oIJyA8ct26dbWQ45ZrJYN1do1panh6HxIAvUrFfGKsT4NvYQf8v/CtCl5imvdlEF9jVseL2j1FubXcpWGT59dFs4KL+Z4CK3ai9AagY7GmXlarIacqaVVZi3p3SlmO6iAjPojUEjiAlgD+Q/gWwKe7uE+g/jj8Q3wqQyzAm0zcYJB7LYPV22P1PzP/m0PgPVoahHYpCroAvIs03o6GejmzGWxvbyM7pPXJAHSBVie0JGTruflvLKuJHJIc3yS1jTHRTuEjmmDkq9LTC1wFrK6HgzVMB10lQw56gsIjH4DB6jywlW1qCgqHvYRCVsSGEKemGRSDN59okPjch9lD59CgH+r5DIhBbJcOHTr0kvwDg7YCmm9IT5Kmk/6U6dv//wn64MGDP0SXVHSR77APWH0fIzTcnuLhagHLIqIeRHyCj8XVwrQcSzKPNa9vWA91ALDu9S8zG9P8gZQCrp9JMtXfx9EFnhr+kipZWVs0Ki1nis9gi77ir14p4CJgrb8O+LaMmM7LD2XgGpyJ4ifZpdKtAFgCx+XfYnroSedVjrNKH6qAwdKwdBN+Lp5qp7glcBHzHe0s+54eDTL27NnztJ2AylaPofqg0xh8Vd9A3wpsgQsQls8lmcC9+J+sGcsztugqS0DHjhhqLdbuK8MF0isgcDFymNG1ciRr5lBltjyWHoiOnzJLk1jXhwOBVltQ4CIC/GrAj+Ol5CPWz0uqq0yBs4cOXfMA3d4zS4Oq5+iExqi2Y5vbTgfrGNWZQaVXMIG2LPTZCOhmOOM+waa3WR1HwMXIR8Z6rPkPyObrd2QP6t+lzEor7zmcLAP0qbi4uJRAjsyfV2XHwMWkn0nm5+enMdq6P+vZeKm2QLVVdNDZmze5GfTzMqBncvEI6ztaWMANcEy1xjiURax/XVAWEhdX1AB4rpZ6GkshbtIx1OpEZugWLC0TcEM4A9AG6+u/g/Tdaxs+YAM+YI/RHm6KvCim9AsMaDIyEojriQtwtmfClWnwlQtwQ5h+R6afVHkUrU+9wGcxEJ9zoNC/T3o/GRk85tRjVd3p9aojoErzkLeBuJXZ5H5EoK7MoVyBm7VhFujAk8hM0L9a6ucX+rh3iXgREBoAfbWMpq0mqd7044h6EDzOQGkfztbDYIcOHcRT7qHCgPtrCsBIdoQnOAvohwgCW4OoZ2P9U20hO8TZB/kPAf8FF4UKnEGaPSkAAAAASUVORK5CYII=) no-repeat}.li-img-feifan{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACxtJREFUaAXVm3lwVdUdx8nLQmiCAkKxRQguwTFgsZUOKFsWoB2mQMCaUUG2hCBLddTOFEsH/ijoUAanyohAIjEBJxgrUmZaZ2gWw6aUIKYFLY4VW6EkJiwlWAJk6ed7e+/rfS9vvXl5hjNz5qy/5Xt+v7O++2J6RCG0t7fH7tu37462tra7iQNiYmJ6kyaTttHW5HK5miifTUxMPDlu3Lh/RkGlHjFdIaS2tjbp3Llz6YDKImYgI414hvgxYBtIm4j/JsbT3pu6b5FPIX836c2UPyJfSb4qNjZ2f0ZGRgv5iIaIAUfRmMrKysloN4f8dNIjxCpAlA8ZMqQ2NTX1aiiaa9DOnz//QGtrayb906G/C36lcXFxO9LT08UzIqHTwGtqauKbmppycNVfouB/cNvtKFk6YcIEWbbTYf/+/Xdcu3btcRg9Dv8v4b8mMzOzorOMHQNHCcPCpBuxSh2KrM3KytrbWYX80Zvy5tC+knxDfHz80okTJ/7VX/9g9Y6AHzx48NvNzc2bUWAkFsiPhAWCKWq1mwMwn/I68mtZA7awBjRb7aGmrlA7Wv2qqqruu3LlSg3lWoQOjyZo6YB3teNZRQx4GvmRrAX7Dhw48F1Lv1DTsCzO4vUQo7wZgU8A+O1QhXRlP3R6Dp2WYYSZ4Sx+IQOvqKhYjYBcBEzHtT7qSjDh8ka3adBsIz6JN5SGQh8ScBi/AOgVvXr1Gjh27NivQmEc7T5Yfjg6avv8Fd64NZj8oMBlaZjMZE6NcbKIBFMgku2sP7cx578E/Cws/04g3gEXN3NO53KUnNLdQQskOp7GQKPIbkX3kY6Aa/XGdTZrTndX9/YFDDc/it5LOFDt0bbrq4/qfFpcBLjMHq3e3W0h8wfEXj9p0qTfYfnXOWvsOnHiRIK9zcp3AM5oxehwAujXusuWZSkbToruWpvq6+rqcn3RdQDO3JgMeJ3I1vkiuJHqevbs+TRY1jBth3rr7bGq68Jx8eLF44Beyoh1+iJQVFSUeP369VcQOg0PemTRokW6akY1YMhnmO8TcP9su2APi1+6dOlhFKyPBOgtW7bEA3o3I76QOADhqXbB0cqDZxNxDFYfYZcZZxVQTretlZSfturCSQH6HfpnI0QC+sNvBFEPEFY4ZWWimWobBtcGBl7YHrVku4Gbc/trXCLsq2VhYWEWjMsA2o9o8banv168eHFAvmVlZQnc63vm5ubqdSaiAWNsRL8zuszwtPUvMXcDJz+Hub0jXIkFBQUD2fp2QtfPHy2CDWH+2uGRe+HChRdpT966devvGbzV0PyM8mPkNRAvMHAv+6MPVi+rl5eX72a3ksU3qL8xx/Xcg4DpejkJxsS7HbqnqOvvXe9VfglAM73qjCKgl2GNQgo3EV3wmwnoWtJFxCTqbiW+RL81pI4DRi2B71yLgQGch8GJVNY4eS5CuQUWM3h8jYCHBg8enMgg/pDyIbXRJ4F4i9XPSlkX+gN6vVnW6p8DTSt9tducI59PLFM7/X5RUlLi9ySmPoECC3Y1fG/VeV79DOAwzSJfFYjQXxuKDbTaYLyRLWvX1KlTrzJXa8iPZyAW0+dd0s+tflZKnR4QetHe0Ldv3xW481uUj5rt7+bn5xf06dNnPu3/oM7FlNJrrOMAn/cgFlb3HM+gcokqHIQ2aGJFB5DTdnp4qk1XRMUOgYH5C1NgFu9nx3Nyci6rA4N30exoLHLUX8EzfowH9V2wYMEXZpvT5E8MXgbExXEIiuXqORz3dPS4AL0bOPkFxcXFO+fNm3cuVM2wqvv6CEBZdLhJa7ik8njC38y6TiUY4hgMlotJnH7hID0T6ru3iOwBZuD93xZGev/Vq1dPY8VPyV+jrYW+rUT9YtIuDzBTg0B5Oy/ydxIHmXXTGIgPoJHl9Zj4Bd2LGIQPzfawE3idhMcwYkwc81u/XnwcNpf/E8ji7gDTRArfUwV5d7297F3v0cmzMNreF8WXMBjPON3a2NYus601cvsc7AK4fstq8JQXegnFPICHThl+T2RpLdHWNiN8ajdFI17Z3wXo3lQZC4m7KbxM1IBbajEAz1r5cFPwNgmzLJ4MsX7AcxRg4unPjriERwRwPS85DcKaLIvLYvFOuUTT1W06OtYXHjqmt+uI2ESUuzsK34TFUfSaI2UhEla8XL/Ju+Tzjk9EMIq6q6Ov48UY7ElgvqQ5fpZCitMR7CqLw/cIL7zjSPf70O3vPupCrRoC5jqXPr/AaNrLHQVodUjpinAkLy/vIIzf92aOzA+860IpHz58+Bb6xfHmUO8yvzm5WVfTUIi9+2CRk951Dsve26IOK/ok5Od2fshrxlUL7XWh5i9fviwDf6L+xu2M9FhDQ8ODqnAQChzQuEkAojViFb/L3ZScnNwPUCupOw9gXU1HEi0dRXOdtvlcbk6pEG6A5wPQGEdegynCKmGYGS4j9UeJN0j2OqE1aV5F/il+cz+JRQ6gXDu3tfup03VWZ/VWos750nEy8t50Kgv6TGEVvQGciirkTXTCENo2FqFHSR3d7qB9mcVGz0q6nKShx/O8zmrdmUEsQ9EfkQ7lFpdFrHaio2jgoePug0lJSe+pbLnRARS/Sx/aqDLcwCJ0HobymN1h0tZyP5bMvnY6lNSLzVTqXqRdP2X9xN7uJG/+hl47evRo48psAOfW0oKgUvPrIid8e8yePfsCtya9qy1F0VDP/n9A7iw/Aq/AZxsekYalN/npE3I1vOYSSywCLSBG4C1qFC63MzMzM5UOWnAcB35B6dPS0jIdUIOIelq6B2b6jMQtTzJw42HIlDy9wevOrcPUBdLTgwYNOq4nLMdK2Ai1jbF+fIa82zGy8cLjVkT9uKtWIXgbP6pvt9FFJMvWtAdG0yxmyHkbS/7UKndlipuvZ2AT2L+fsuQYrm4VcKu15PWhnseAWO2dSQH6lY3+LG9oTt/4bGyCZw8dOtSPXnnI/429twdw3KAc0I38qjLf3ikSeQR/Dp99pBtJxyxcuLAz5+2QVWKbXEXnUrz4jJ2og2Wrq6vvZX5WMB/SGIhGe+cbLY+L/wCd/5iQkHDP+PHjtXa4g4fFVavPJLH6Wyw6Hq7hprhBMizWune/ioet8gYtCB2Aq5K5/izg72XEVqh8Iwb2/x3o/Sm7lM83fZ/AcfFm3GM6hMuZ70pvqIDBdN6/nc/F8/wp7hO4OvM72lnmeTaWf415/31/DLpbPYaagU5PcN7PDvRbgV/gAoTla0ie5Oz8ofVjm+q7a0DHMRiqCGtny3CB9AwIXIT6NhRGi5gzf+7OlsfSj6Hj+3jpFOb10UCg1RYUuDoBvhDwy9jm9jJ/HlZddwqcOHXoWgfoUaaXBlWvwz4eiIJRHck2twcBrzOqqwP1jUabtiz02Q7oO1mMZwRzb7tOYQEXIT8yDmDOv0O2Xt+RRevvUnallTcPJ5sA/VlKSkpuoIXMm1blsIGLSJ9J1tfXr2S0l1N8nn3/FW2BauvqoLO3eQx9BNCruXhscSLTEXBLEK42lAXlt8z/McQNxI1dNQDm1fI5ZOcSS3Htlb5OZJZuwdJOAbeYMwAjsL7+HTSFut2sASWsAdVWu9MUfvpoQV9FzoVHBrGYuN77wuGEf0SAW4L1HZk+qTIV1bcxAl/OQBzjQKG/TwZ8mTGtqidgvfgKqNJa+OmLpV14k/GIQF2nQ0SB27XBC/Qphz78S8dy95EfRtR7VyMgNAD61VKfovQm1Zt+ClEPgp8wUNqHq/QwaL2RUY5o6DLg3loCMIYd4TbOAsafamlPJrYzMPoB7xI7xNlo/iHgv4eoEePFQpR+AAAAAElFTkSuQmCC) no-repeat}.li-img-meizu_sso{background:url(data:image/png;base64,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) no-repeat}.li-img-chuanke{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACHNJREFUaAXlm2tsVEUUx9ttoYW2JhUSkEBi/FARE6oJGCAt3bYEMaIIjcRY0qTSQijED8AHTMAPglEjGDXyBht5xEioQSSFaLvdtgQfKElRCWJiiFYCESwI1Aql9fdf9pa7u3e7u927ly1OMpmZc+eec/5zzjzuzNzUFAdCb2+v6+jRow92d3fn9fT0jEZkDrQcl8tF0nuN8lXy59PT088UFBScTU1N7Um0WqmJENDU1JQJoCJ4l5C6ifnkLxBPKQXYVWhXSSU/m3wO6SjiBKWQ24he8h7S5uLi4i7ytgZbgQPYjUXL0bAMMD7lST3Dhw//btq0af9Eo/mxY8eGdXZ2TgKwr9FI1Wh1eMReGsAbDY9o6sQNHGAuj8czB2Griekoumfo0KF7cdlz0SgQqQ5dZMyNGzfKkbOAut3EdSUlJZ8hJ67uEBdwLFxw69atTSjzLxbxKRQJSDzP1cB4lBo4g7h0xowZrQPlNyDgra2tuVjhA4QW0fI1WODgQBUYyHs0wLN4wEbebcG7lhUWFnbEyscV6wtYeTygjwO4feTIkQ87DVr6Siayx0sH6SKdYsURk8UbGxufQsAuBK5A+K5YhSWiPtavwPob4F1RWlp6OFoZUQNHwHL618q0tLR5jK5fRyvAiXpYfApjzaeMM+sxyDvRyIwKOJZeRau+AehxgG6PhrHTdQA/FsM0IPcLLP9yJPkRgTc0NKzAtasyMjKeYIq6Gonh3XzO1JfT1dX1N5ZXV+zX8v0ObrTiLICsYCk5M9lBq8Glo7xSXdI/HoW1Q1iLa6SEQQuM5rjd7q/CckjCB+rz6P45li+ka562UtHS4pqnefEQLr5ysIEWSA2+mnmEQViiBq7FCS/WJcuUZaV4JJp0Fwb/QiukeojFcZMCahWNGDHitZDag4zgxzCdAbowWPUA4ExZLtxjMy1Vk5+ffz248mArCwNYlqL3RmELqz+LlHm0zrdhKwzSB2A6zig/16x+QCtg7dX6yjJXuBfyfkz6qgsN9G03rdIW+uTeoAibMBpo0o0M1i6nP+wxynak27dvfwS+W+D1GLybaPmXqqqq/grHe+fOnWNYc+tzdxp9sjY3N/f1+fPna08u7iBswggjr5j5XJ2WyCRfpp0TEe0KKP8hvKYT7yOvTYRXwvHeunXrA2xGtlJvLlH7b6uuXLkScc0djl8w3Y+tzI/1NnAUknIn7douMgmdbMqnAOhxc9nI79ix434s8iXlhwyaUvSabS7Hkxc25LcRtQl6GzhpCdFLtDUgJM3MEHB9Xcug4945ADxC3UcNmpFS/xMjb0cKPy98hLUPeDGCG0VwMtTW1mbSpw8iO8AzpANKbl20aNF7duqDHA/RLZ7a0VfM1xawnUIi8aJPD2E5ud9QJKh+bXV1dU0QLe6iMAqrMPtOOOB4Idp977ilw0CCsegusk9b8KvF0lU8j2v72IJvih/jBZ3quHSsQyWdcDgWmOa2AP4FC4EJA22SdUqYtTYfDVHHO46Ebdu2vQ3oagthToCW2AvCrFE2B7dyZEsJwFOQ55tOpIEpOAVag6aw5qSjjA7sHAGOHJ2ABAT1dQayhPTpAEF3CteQmc0q0tVLJuwW1J36icnR8BNwfzW+IwF5vbh6qqYyrYWzHZHKGZuFnEnQDu/bt88RHbCxr2u7EKqzakdaHKE6iHjXAvzUy5cvHwL8MItntpL8WHURwXUezvoocCQwRy9HUMhXIAoVdXR0HKivrw8ZB2xWbJQwu3T9Asa6ieBIwOq9eXl5laT1FgJntre379eqzuKZXaQJwuziq+UsHEfpJoJdnCPxYfu3Gws/D/hjwXWhz4b+MZ+PIR80wXVjLfsxjhJmLR17iG26fhEro3jqL168uDMrK0ufnT8G8wF82ZkzZz4i1RhkW/BfMdEVlR6DcROFUtskRMmovLy8A7d7kupnLV55kaWtrV9nYCwheiXLAO4h7xbB6bBw4cJz7I7MRKE/g2Vj8WX09+eC6QMtw8/Nu8J6GzijXAv5ibpoI2ICQ68V78rKyl9QahbgrVaQb1q9EytN2OCfT2zWuz6LM9h0kddxizbj7Ax/mJkB7idz2Zynz59AKVm300wnb8ug68dW58fa5+opWH0vii0IEhpXEZ46xfiVqDtu2mVd2x9D1uyeIUOGaDemkUa4TnqaaPUl1x8by2fCJoyWDzlxOKEbRZYPBzERTHPYV//eDMEY3Hw0WnktC/g15gr3Qh5MOkVZFxYL7uCiZX64l6wuLHjySWEzAw8oYPEe+sESKm1qa2vLMlccjHlhEBZuddQImxlDAHA9YNQ7StJ86dKlV80VB2Pej6HZjykAQghwPWVBsYyWKsNNKgJqD6KCdBcGYbFSO+zOCx8J/7/LP2oh3OM0/b2Crdi65ubmcVatlow0DDZWtxzRrUIYwulo6epGZV48Qn7DzZs3f9PlOYOerKl0ZOpqwGDrI91rDevqZnBMce9Tns6X1DNFRUW/m58lS15eKQMxeq8C9FuR9OrX4sbLuhvKQLEbxt/gSlMMerKkXq93qnRDn5XRgJbeUVncAAjoWbjSblo12a5tr9d45O+ahrr9pjEBFyf/aK9bj3W6R3a3roVpcaJ5WlMWoGf3N5BZtUBUrm5+UQKYGycjcOzFixd/vhvLW8mUbOkgXWIFLTwxW9zcCFi/ANffjAJdtPrakgT/myLA+uDA24YhbwmAtcocUIgLuCQC2vf7FekaFEojJuz3K2TcAvA6AB9ATsDaO1b0cQM3C8QD+n64g36S6EXZxgH+cKfNTzdxIjH5frhDqZBAA2TiktN5UELU/ZqQXyyhX4OuA0vff6aUdZrT94sl+SaiBwu3YOEu8rYGWy0eTjPwhfxUC+BsGofEt8Ho+E+1/wHQ9BFaxlmR0gAAAABJRU5ErkJggg==) no-repeat}#pageWrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box}[data-role]{-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,0,0,0)}.wrapper{width:100%;height:100%;-moz-box-sizing:border-box;box-sizing:border-box;display:none}.mod-content{overflow:hidden;padding:0 15px;-webkit-box-sizing:border-box}.mod-content-code{padding-right:0;-webkit-box-sizing:border-box}.pass-form-wrapper{margin-top:2.5rem}.pass-form-item-username{position:relative}.pass-input-suggest{position:absolute;left:0;top:4.9rem;width:100%;-webkit-box-sizing:content-box;background:#fff;max-height:150px;overflow-y:scroll;z-index:15;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:13;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border:1px solid #ccc;border-radius:2px;border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.pass-input-suggest li{cursor:pointer;color:#999;font-size:1.6rem;line-height:4.2rem;position:relative;word-spacing:break-word;word-break:break-all;display:-webkit-box;height:4.2rem;border:1px solid #e6e6e6;border-top:0;z-index:14;position:relative}.pass-input-suggest li:nth-child(odd){background:#fff}.pass-input-suggest li:nth-child(even){background:#fff}.pass-input-suggest li:nth-child(odd) span{color:#999}.pass-input-suggest li:nth-child(even) span{color:#999}.pass-input-suggest .pass-remove-item{background:url('data:image/png;base64,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') 4px 15px no-repeat;background-size:10px;position:absolute;top:0;right:0;width:12px;height:12px;padding:8px;text-align:center;padding-top:15px;padding-right:15px;z-index:14}.pass-input-suggest li a{color:#999;line-height:4.2rem;display:block;padding:0 2rem;-webkit-box-flex:1;height:4.2rem}.pass-input-suggest li a:focus{background:#aaa;color:#eee}.mod-page-tipInfo{font-size:1.5rem;color:#333;line-height:2.1rem;margin:4rem 0 0}.mod-page-downInfo{padding-top:1rem;clear:both}.mod-page-tipInfo-gray{color:#333;text-align:center;font-size:1.8rem}.mod-page-tipUsername{text-align:center;font-size:2.4rem;font-weight:400;padding-top:1.5rem}.mod-page-verifySendInfo{text-align:center;margin-bottom:1.5rem;height:2.1rem}.mod-page-verifySendInfo span{color:#2e82ff}.pass-mod-loadingWrap,.pass-mod-reSendToast{background:rgba(0,0,0,.7);text-align:center;min-height:3.4rem;line-height:3.4rem;color:#fff;width:50%;position:absolute;left:25%;top:50%;margin-top:-1.7re,;-webkit-border-radius:2px;z-index:151;padding:.8rem;display:none}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.pass-mod-loadingImg{background-color:#fff;border-radius:100%;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;border:2px solid #fff;border-bottom-color:transparent;height:20px;width:20px;margin-right:10px;background:transparent!important;display:inline-block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}.pass-mod-Mask{background:rgba(0,0,0,.5);position:absolute;top:0;left:0;display:none;width:100%;height:100%;z-index:100}.pass-mod-reSendToast{background:rgba(255,255,255,1);color:#2e82ff}.sms-verify-noVerifycode{text-align:center;color:#2e82ff;margin-bottom:15px;height:21px;display:none}.canshare-account-list{margin-top:20px}.loading-img{background:url(data:image/gif;base64,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) no-repeat 50% 50%}.loading{-webkit-background-size:30px 30px;width:100%;height:30px;margin-top:14px;text-align:center}.loading1{background-position:50% 20px;-webkit-background-size:60px 60px;padding-top:100px}.canshare-account-list li{height:90px;border-bottom:1px solid rgba(224,224,224,.5);padding:15px 17px;width:100%;-webkit-box-sizing:border-box;display:-webkit-box;-webkit-animation-duration:1s;-webkit-animation-name:fadeInDown;position:relative;background:#fff}.ajax-loading{-webkit-background-size:24px 24px;width:30px;display:none}.canshare-account-list li.canshare-account-active{background:#e7e7e7}.user-avatar{display:block;border-radius:100px;width:59px;height:59px;padding:3px;margin-right:15px;overflow:hidden}.user-avatar img{border-radius:100px;width:59px;height:59px}.canshare-account-list span:nth-child(2){-webkit-box-flex:1;display:block;white-space:nowrap;text-overflow:ellipsis;font-size:13px;color:#999}.canshare-account-list li:last-child{border-bottom:0}span.canshare-account-displayname{color:#333;float:left;font-size:18px;margin-top:5px}.canshare-account-tip{height:25px;display:inline-block;padding-top:5px}.mod-btn-wrapper input:nth-child(2){margin-top:10px}.mod-intro-tit{font-size:14px;color:#666;margin-top:10px}.mod-intro-info{font-size:14px;color:#999;line-height:20px;margin-top:10px}.mod-send-tip{margin-top:1rem;color:#999;font-size:1.4rem}.fast-reg-tip{margin-top:65px}.fast-reg-tip h4{}.fast-reg-tippaymsg{color:#969696;font-size:14px;margin:6px 6px 12px 0}.fast-reg-tip li{margin-top:10px}.fast-regSuccess-tip{line-height:24px;margin:10px 0 25px}.dialog-verifyCode-wrapper{padding:0 10px}.dialog-verifyCode-wrapper .dialog-verifyCode{border:1px solid #bcbcbc;display:inline-block;padding:10px 2px 10px 5px;width:46%}.dialog-verifyCode-img{vertical-align:middle;background:#f5f5f5;border:1px solid #bcbcbc;border-width:1px 1px 1px 0;height:40px;position:relative;top:-1px}.upstream-content{background:#fff;border:1px solid #ccc;margin-top:14px;padding:14px;color:#666}.upstream-tip{padding:15px 0 0;line-height:24px;color:#969696}.upstream-tip li{padding-left:15px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFZJREFUeNpivHv3LhMDA0MMEJcCsTIQ3wXibiBewgKVWMiAADowPkhXMQN2UAySVMUhqQqSvIZD8hpIshmI/6FJgPjNIMmNQBwMxIeA+DuUBvE3AgQYABc7EdTu/IgyAAAAAElFTkSuQmCC) no-repeat 0 8px;margin-top:12px}.prompt-css{margin-top:10px;font-size:14px}.account_login{color:#1b66c7;float:right;font-size:14px;line-height:35px}.pass-form-item-code,.overseas_login_header{display:none}.text-input-code{padding-left:2.3rem}.mod-agreement-info{word-break:break-all;line-height:2.4rem;font-family:PingFang SC,Helvetica,sans-serif;margin-top:8.4rem}.mod-agreement-info h5{margin:1.5rem 0}.mod-realName-loginSuccess{text-align:center;margin:20px 0 0}.mod-realName-loginSuccess span{display:inline-block;color:#367cff;font-size:24px;line-height:24px;height:24px;padding:15px 0;letter-spacing:3px}.logo-dom{display:inline-block;width:13.8rem;height:4.6rem;margin:0 auto;background:url(data:image/png;base64,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) no-repeat;background-size:100% 100%}.img-div{text-align:center;padding-top:39px}.other-baidu-sms{position:absolute;bottom:25px;width:100%;text-align:center}@media all and (max-height:400px){.other-baidu-sms{position:absolute;display:none;bottom:25px;width:100%;text-align:center}}.register-content{min-height:100px;position:relative;height:80px;text-align:center;visibility:hidden;display:-webkit-box;display:box;box-orient:horizontal;box-align:end;box-pack:center;-webkit-box-orient:horizontal;-webkit-box-align:end;-webkit-box-pack:center;display:-webkit-flex;display:flex;justify-content:center;align-items:flex-end;-webkit-justify-content:center;-webkit-align-items:flex-end}.login-register{line-height:20px;padding-bottom:1.5rem;font-size:1.4rem;color:#666;margin-bottom:constant(safe-area-inset-bottom)}.face_login-register{margin-bottom:5.5rem}.layer-account .go-safe-manager{margin-bottom:0}.other-text{font-size:14px;color:#96aecf;z-index:0}.other-text-reg{font-size:1.2rem;color:#999;z-index:0}.other-text-sms{font-size:14px;color:#96aecf;z-index:0}.img-item .item-icon{width:14px;height:14px;display:inline-block;line-height:14px;padding-top:30px;text-align:center;background-color:transparent;padding-right:15px;-webkit-tap-highlight-color:rgba(255,0,0,0)}.item-shoubai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAfCAYAAAD0ma06AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADxElEQVRIx53WXahdxRUH8N+c3MaSigYbq6X4mVoh5GE0tdASiqJXUuJXJCoVqUKtKcq8lFL0pVVbpL7Y1gEFBVGE1vgVFQ0xVgU/UKQ1IzYGakhKSQxaKbWNqI2948Pe53bf49knev4ve/Zaa9Z/zZpZayY4CGKqy/E7rMRT+EnJ4T9j7A7BESWHfZP8DQ5CdhiexVochytx/xi7ddiLt2Kqm2OqR0xFiKtxzIhsTUz19A7Z2XgAX25F38OmmGqYhvDcSfI2jXdi0Yj+uzhnGsITeuTHdYiP7bFZMw3hRz3y/7bflRPmHjIN4fYe+Rvt9+MJc18eJ5yBmOrRuAnfwHP4dcnh37hXc0K7+Bh/aMe7esj2dWwWIMRUl+BVnNyRF3wHH2ITzu/ori853NAGeij+iq929BUXlxwe7CNMuHWM7uaSw7Ux1S9gA1Zga8nhka5RTHUlbsE38XfcWHJ4OKZ6FNbjSPwJm0sOcyGm+gzOGEP4TsnhKFMgpvp1vIRlHfEWnD/AqT3zvtKmbBpcP0JGUyY/nWlz3of/jYn+WKzCe3il5LB/zLwze/xdOsBfepT/KDl80CFaFlN9CH/Dw3gae2KqPx4JaBGO7vF58gB39Sh/33GyFC/iQnR75OG4PaZ6bUc2qbYPDHAPNo4oXsIvOv+/0dRoH34VUz0DSg4HsL/H7u1ByWEO32/zfg1msbrk8F67uktwhclYhI3t/tI0j3HYGiZ5ianO4nEsbkV3tOO+ALZhNY7HHy1sCLuwupcwpnpOm+olQ1nJIcRUD8e/JsT5FC7Q7OUsvqZpdU+UHD6c6SH7EW7T9trPiVlNO7yg5LBpVLnAYUx1gN8itaI3cR/eH+P4IczhovZ/v+aGmMHZeDqmel7J4d1eQmTNs4Lmpvhhe+o+hZLD+jbIYePYXXKY7aT823g5prqm5LBzOG++Zto9G5LtwYaSw4GY6k0x1Z0x1TJFepdjaxvEQkJ0i/fRksMH7Sm9rp14/BSENM+U+W40aFe3uE3BEMN35/IpSUaxbnSFS0dWOyR60v/fL334yMExX49DknctrK21MdWTSg678S38THPlzCOmOrx+TtGUwlUTCN8eDmag5DAXU30MP2jlS7Alpnp5yeEFvDbGyb0x1ctKDjuw4yArfH44mO80MdUVmta0eMR4N/7Z+V+E2Enn3hH7gYUHrGJVyWHbAsKW9BLcjS9+hn35rPhlyeHnn1phh/QEXI4TW+L3Nbf7LryO7SWHd2KqM5rDEHEWTtOUwJc0XefPuLPk8FjX/yc/cCmMexx7NAAAAABJRU5ErkJggg==') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-tieba{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB7ElEQVRIx+2Wv2sVQRDHP/O8JBK0C4gk2BlQooyV2ljZCUKsggTTiSKLiGCMrUWKYOP+A8KDkMKABK2EVBaJ1YIBBUGDhaR80YCIkbG4e+Sy2Rfu/bCI+IWF3dnvzndnbndvRJ0JcAeYBkaohlPBy4fmQJ0dBRpADTBgJHj5mlqYAfeAJxWFmuiLxrWiAUjhN4kMuNumWBXMqrMtYAAYLNl/ZsCJkuEm8LmFk9dtCF7fL8IyVoKXdymiOutJ6Mlcq7MNoJ/8AFwIXj626Xce2ErYt1t93GOl/uEOApkJXr6kJmrteuoW/wUPvmDWzWJ1NgkMs/ck31ZnjcSSza4EgQfAmYT9YQv+5sFKaYQ1YCNhHwL0bwjOBi/zsVGdXQFeNsf//rXYI6jOjkSmwYq+KiEDVtgpGb4DYxFnFFiNeN86FgxeLkYR3o84V4F6zOsUu1Kqzs6RlxlljKuznojtElRn54FX5H/6Mg4Bi8V818jU2TVgHJhg514a8Jj8ieoHjgNv1NlzYAl4Ebz8iHyNqbPLCQ0t9X9nwGKCNB28zKmz98Az8nIvKzY1AZwF4mJrpmj74VN8LRrAjeBlDiB4WQAuAeu9SCfwtEZeXa0Cj4CTwUu9zAhe3gKngVvAcrGpX8X0dkWhdWAqeKn/AeHLdg+EotRhAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:14px 14px}.item-yun{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAbCAYAAAAZMl2nAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAEmklEQVRIx62WW2xUVRSGv31ml15ordMiIPdwMcUI6AwtkNRLVBBFioQUuQiICdEEGAgkxgdagRYhk5QApSbYaAxNEBCNXB+KMSAmwEynLdEHrg8iRBAQwkBpy559fJiBnO4Oc1phJetl7/X/6z9rrb3PFnTTxla2C+BtYBbwKvBsYutv4FdgJ3CoYVUPuzu8ojvB/rVtI4A6YJxLaAhYEClPP/3Ehfg/vzcOqAee6iLkNvBWZE3miScmxFfWMgA4BeR1VXjCbgFjGiuyLroFyi7RaV2TREQM+In4XEB8Xt4DLEfM00ANMPWxK/LSZ9ERwFlj+QpQ0rQhJ2zEFgH7gd5G/MimDTkp58XCzbSejNYYXmqKAGjakBNC65lJ4ie7pXEVYmvbb2sbhx9tCub+9qj4pmDuUVvbxwyM/7GFENN9iGkc7n4KYvq4genjBnEdVlvb+n9U0eTVbphOQnyVygOMB14BhhTcCBcP/beZWFuMUO5rXOvRt7gLQl7GshDpEiE9COkZ7qtUXwKXiJ+y442rZMyJ6XBqfBXqTaAaKDDJK07OpP+d8xzxTuFn77TSA9+M35NMxJjAjRmiZ8YeKys9ldbTQKCxTB7uVGbfGhVAU4+mAJ0opsOvZA3GQvP6zf0s+6t818K5P87uJGL5zTlWbvZuKyOdZBwOL0BT71ujAh0q4l+tZgBJvxAgS0X5IjSd3PbrD9cupg9l9cDNx9qsjKOAENIzUeblFgnpceucaaWR1XKP8JerLOAC0NcIuArsK7x2OG/Kxa/7Dbp7ZoKg4w91V95H7PXOQngs0np5SSrCto8gxHGgF1ACmCfoCjBM+MtUANhsbO4AFkUqZMuDhZp3l83ztZz8tqe+87CdLVY2nwzZjdWnN0Iac6+1jrW2LWyuytn+YMlfprKAWmCOkS9goZlu9K8ZzQKnCIDFBzbXXZe9P3SuxTxpZObnICzZcQaU3R671z7RKQIgUiFb0CxI5HBipltCM0pocPiWyDqpkjVzav2+OuA8QDTNS/D5Wu7LHAz8LYEY27wx+5dkHJF1UgnNFgMz2sImHxscfs5luE5H07wER9ZyOXM4BvY2Nm80rJe/p2SwOWfg8iWaO0C2IyzldRyV3oHBglouZww378vbwKSGoGzEzXSnHFELm7OGuvmPwn83bdG4Tc9Vj7mckbQSkxqC8qSrCBI5jC5IoTkI+BxhJYUrVSBcJbc4sYUr1TN1bZf2XksfgHBUQmBHbcSkcFVcROFKNRuYD5wD1oar5HWDJ4CmxJB2UBSuUP2I3yMZxuYh4i/yG4AfWGy2Tdr3lRJpxeGNCREr1ItAkyPkKrAVaATyib/83zHytALDBEDhcrUKqOhSWROWptvs/q0XSr//avQPD792uZoHbO8OD1AW3iQrrUTP1mOzw+hbKr87qOXM+04RCZ4jiXnpKs8ObNbHW5ywoqXKA5QDnyZpk9P+AD4IVctTyTaLlqpRxG/mF1JwtAJBYG2oOv4c6PR4LlqiBgMfA1OAEUAm8A9wAtgF7AxtlSkfOkVLlARmAHOBCcT/M/eID/BBYFtoq/zTifkPzJoOHOT14icAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:17px 14px}.item-map{background:url('data:image/png;base64,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') no-repeat 50% 50%;-webkit-background-size:13px 20px}.item-waimai{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAB1ElEQVRIx+2WMUwUQRSGv7ci0cAVZ0eDHYWZipAQ7bCAxExobCguWlhaYIwFFYUFJtAYSxITxWAMDc2EhgRDdxrPhomFQkJsJCZwQAzBgIzFDtwlt+fOeXtX3V/tznv7f9n3Zt+OOKX3SJFYc80p/QiYBiaAQ2AFeC7WPPUeRbHmjlP6HTD6D7tiF5BPg3pd8bmXgfPnrvpYHsj5694Uz1wUCMxUHWgH2oE2pK4Gcl8Bq8Am8AcYAnZ8bAj4lTlUrNmpggCUqmKlUB8ILK9TupE2XMoECvQ1AO3PCno7sCL9wEAI9CTAb8op3R2Q94T0fXIaAfsBZjeAl07puoZO6QLwMMCrHAFfQ0oHFIB1p/T1BOAMsEBYu75FwIdAKMAtQCWsa0ACPT5GxMeOduk3sBYB74HvbYIuizXlSKw5A2bbAHTAHFQaPw98aTH0tVjz+QIq1pwA94hr3gptA4/Pby62uB/aD3wZstQBMC7WlGugHrwI3AeOMwLuAmNizUb1Ys3HLNa8AUaAH00CPwHDYk3NHEicIGJNkXj0vfiPt/5J3L+bYs1WUkLdWSrW7AOTTulnxCW/CwzWST8iPlW8BZbEmqMmq1SRUzrnlO5JWE/9cVfrL3vfehZhAhjFAAAAAElFTkSuQmCC') no-repeat 50% 50%;-webkit-background-size:15px 15px}.item-nuomi{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADwklEQVRIx62WX4jVRRTHP/f2o+yfNt12t9DM3B7C/tAm+VLisGEI2ltFRUJSLxWIDERFD6099BKMQpAQYUaEWwSGppQVDNVGkEqJKK5LK0WLu+42ClKuurs9zJnrMMzd3bTvy/nNOed3zpxzZs6ZGhm8NhuAxcAG5ewk/zOqAu8N4AZgC3CksKEO4BPg1v/g5wLQo5zdXnltGsArQK9y9gBQi5vx2swDXgN2Kmd/FP4qYMUlBLce2F4BTwMvA13AykzpKdnMMqBbeLuAL4BbMt02YCFwBjiaySaAt2NKR4V5e2FXnUJPRoZy9i/g0UKqXwDeBX5Rzi5vFWYF/C7fC7w2tUy+SOhxMfoSsK6FrTah93lt9rXQOZg6vAroyBRi1MeFPgksZXpcN43O0goYIpyiSmrQMsIE+4D3gamEt4JwHgaQeiVYDjwDUFfOTgB/iiA96tcAjRYOvwE+Ax4EJpWz7wE/iOyErA8DDwP7gd74Y13oB8AhEUb8A+wG9gL9hfQsAtYCj8n6ykzeDTwhm2qiAlDObgQ2AnhtomxKObsmMzIAPAQMKWf3e23uT6K/OtN9SzLxE3C3lO2PymuzCViTRHu90D1em3PyfZBwYJ4jNIJhcfYz8C3wSCEDrwM9wHrl7DvSRM5XwPOEk5VjQfK9GLhNOdsPnJBMDAIfAd+JzrjQU0md74y1Vc7+HVO6StIU0QPMATZH40C/OGtCOeuBZxPWh4Rr1SvyPqAvj6Imu+0A5itnD3htTgHzgHsJBwfl7IDo3QF8XqjXbGHjtNgFPOC1WZYI50rBp7w27ZKSJcBdl+gMoDs6XCI0rWWNcBcB5gPHgK8AA9wEXJEZ6yIcnnEpR4qzkq0vK6/NHOBaEYwkSqeBc4T71QCOKWfHgU2lrXttPpXPvcrZV1uFWMluI0Yz+RhhDHUkhrsIlz4d3jVgdbThtXm84GsU+L4C2jMHKUbEYUOcrSbMwumwjtYTZWudi/1yTDl7obArkiykzf0s4KU2cT3F9NB1Ls6xsYJC5LUXZDcrZ28E3pT1ZuVsHXhR1luUszXlbI3Q6AGq1OFoweiw0EYuUM6eZvZovhjSlI4UFGOEbTNZnC3qSbpKKY1RX67D5v1OIzxZUIxRN2ayOAOaTaJOGLKDhPaWo48wmHdcpsMmKuXsNmBbSaicHQLuSVjnC2oTQuOVijN0sqAzUXrqjxFaXSnFRwh37XDC+5jQHLbKegdhDqZB/Ep4jnydv0Px2iwE5ipnD5Wi9tp0AsPK2TOzTaO8dzuB3/4FNUwSC0AuesEAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:14px 15px}.item-purse{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAYAAAAy2w7YAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAADDklEQVRIx63WT2hdRRQG8N97RomOggZsqYJgrQqimytKW70FlbQ760ZwUcU/K3VlUIIWV4JWcakIIoIGRSyIRARjSxVGrC060o0IFhdisUIJ/uHGok3i4t4nLzdz05fit5tvzpxv5szMOadXlcU4Ep7DhyGmv6wDVVn0cTPuwd24ESewL8T0ysCu1xgfwh1YwGF8je/xE042PFyCi7EZW3ArtuGyjn08GGJ6a1hoEp+u5yQj4nCIaTv0IcR0AG/8T84XcQzv4u0BOTZk8HgTlvvOwflJ7MfHiCGmhbZBb3hQlUUPD6sfxqYRBD7Dy5gLMS2uZdjLkVVZBBzFDR3rDmFviOmrUY881iaqstiI2Q6RE3gixLR/vbFth24TIq7J2M7ioRDTfGO7V32fl+M8zGMO07m/2BsSGccX6s/XxtN4McS03NheiG9wNcYz9t9he4jp95zQ843DNh4LMb3WFZKqLG7HR7i0NbWIHSGmL/8TqsriKhzH+S3jF0JMz4xyB1VZzGFni17G9SGmH/oNMZUROY5nRxGBENMufNuie02I9Zq/c8Lqf/NIiOnNzM434qYQ08GOk/1j9Wt+qo8NGZGFDpEtzQ4PVGWxr+Nw72e4J/vyGSB1iHyOKxtqukNsKsNt6OOizMSxTLiGRQZYJRZi+lX9CIbR6+OCjNDp1nhbRmSAR5viN4y2kD5yFfXa1nhWnfbb+AM7Q0xLGb+riN8yDlZkh8bRAy2xU5gMMR1phXl3xt9SHz9nJq6oymJFUm3KwEDsFO4MMR3NrH0pw80PMsMRdf0fxo8hplxyVZXFWIjpTIa/RV1e2nh1EMvXM5Obq7KYyQl1iEyok3Iby5geCM10hHBP0yGtieYkv8i/4A9CTNVw9t6FTzp8ncE7mBrUo2bNbvWdXNe1B0yEmP5uF76DuOssB1jGkrrYrYUl3DYo9+33PqluHtdCb0SRe4d7iq7mZAZ7nBv+VH/iFY1LP2cZYrofO9Qt8ahYVN/jRK476p1tdVUWW7EXW9U99nDYTjebeU/dUyx0+fkXIQsECBl2Z4IAAAAASUVORK5CYII=') no-repeat 50% 50%;-webkit-background-size:13px 15px}.pass-user-userlist{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkM1MzI4M0U4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkM1MzI4M0Q4QUI4MTFFNUExMDlEN0Y5QzdCM0ZCQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpiYTBkNDQzNC04NGRjLTRlNGYtYWFiMi1kY2U4ZGY1NGRhMTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YmEwZDQ0MzQtODRkYy00ZTRmLWFhYjItZGNlOGRmNTRkYTEyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+KUOq1gAAARVJREFUeNrsl88HAkEUx5t+SatIZBXRuWt/QmpF/b2ViA5JVpKNDhGROnfMttt3eOdtVrPzih4f5jL7vmbe+85bEYZhijPE1wsQQnycJCrHTwkYgQBMwUOXgHSM7+RAHTggq6sG4ggYgzuwQR9kOIqwRFdhgTNdR2C6CMskoghOYCZzmO6CChiCAjiCeZSIpNqwSiLy4AAWHD5QAwMS4YElhxHZJEK25g6sOJywQa0pRWyAy2HFTdAjb1mDLcdb0AJduY3qwdNpxSohfWFP645uK1Y9gTatXdPzAGsNsHYBqw+wOiHrW8D6GrLOA6wTkUXHLk/gQjPi0+RU7FDyG5ioJn8XccZrH1wpuf//NTMmIOl4CTAAiNLM3uuw2aUAAAAASUVORK5CYII=') no-repeat 50% 50%;background-size:16px 16px;-webkit-background-size:16px 16px;width:16px;height:16px;display:block;cursor:pointer;margin-top:22px;margin-left:5px}.user-text{margin-top:4px;color:#999;font-size:14px;display:block}.combobox-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;z-index:16;transition:all .5s;-webkit-transition:all .5s}.combobox-mask.show{opacity:.6}.mod-page-downInfo{font-size:1.4rem;color:#999}input.pass-button-verifycode{float:right;top:0;right:0}.mod-page-sub-tipInfo{width:75%;margin:0 auto 25px;background:#fff;font-size:14px;padding:10px;color:#999;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;border:1px solid #d5d4d4;position:relative}.mod-page-sub-tipInfo:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #d5d4d4;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-8px;margin-left:-11px}.mod-page-sub-tipInfo:after{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:7px solid #fff;border-top:0 none;border-left:7px dashed transparent;border-right:7px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-10px}.mod-page-tipInfo-black{font-size:1.5rem;line-height:2.2rem;margin:4rem 0 0}.user-info{margin-bottom:.3rem}.user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%;display:none;overflow:hidden}.face-user-img{height:6rem;margin:0 auto;width:6rem;border-radius:50%}.user-default-img{display:block;width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;border:1px solid rgba(218,231,253,.4);background:url(data:image/png;base64,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) no-repeat;background-size:100% 100%}.user-img img,.face-user-img img{width:6rem;height:6rem;top:.2rem;position:relative;border-radius:50%;display:none;border:1px solid rgba(218,231,253,.4)}.user-info p{text-align:center;font-size:1.6rem;color:#333;height:1.6rem;line-height:1.6rem;margin-top:2.5rem;margin-bottom:.7rem}.mod-voice-sms{float:left;margin-bottom:5px;margin-top:15px}.sms_verify-voice-verify{border:0;background:#f6f6f6;font-size:14px;color:#000}.mod-voice-sms .voice_sms_disabled{color:#666}.mod-unametip{position:absolute;font-size:14px;padding:0 5px;right:0;top:50px;z-index:14;background:#000;color:#fff;opacity:.7;border-radius:2px;line-height:44px;display:none}.mod-unametip:before{display:inline-block;width:0;height:0;overflow:hidden;line-height:0;font-size:0;vertical-align:center;border-bottom:8px solid #000;border-top:0 none;border-left:8px dashed transparent;border-right:8px dashed transparent;content:"";left:50%;position:absolute;top:-7px;margin-left:-6px}.layer-cover{position:fixed;top:0;width:100%;height:100%;z-index:10000;background-color:rgba(0,0,0,.5);display:none}.layer-account,.layer-account-third{position:absolute;left:0;width:100%;transition:all .3s;-webkit-transition:all .3s;z-index:17;-webkit-transform:translateY(0px);-ms-transform:translateY(0px);transform:translateY(0px);bottom:-158px;font-size:0}.layer-account >a,.layer-account-third>a{color:#2c85ff;background-color:#fff;cursor:pointer;border-bottom:1px solid #e6e6e6;display:block;width:100%;text-align:center;font-size:1.6rem;line-height:5rem;height:5rem;overflow:hidden}.layer-account-third{bottom:-205px}.layer-account a:last-child,.layer-account-third a:last-child{overflow:hidden;margin-top:5px;color:#000}.layermenu-out{-webkit-transform:translateY(-158px);-ms-transform:translateY(-158px);transform:translateY(-158px)}.p-l0{padding-left:0}.p-r3{padding-right:3px}.loadingText{text-align:center;font-size:1.8rem;padding-top:20rem;color:#222}.headerquestion{padding:1.7rem 1.5rem 0}.small-portrait{width:3.5rem;height:3.5rem;border-radius:3.5rem;margin:1.2rem 1.7rem;display:block;float:left}.top-userContent{background-color:#fff;border-bottom:1px solid #E0E0E0}.top-userContent span{line-height:2rem;padding-top:2rem;display:block;float:left}#fullName-contentWrapper{padding-bottom:10rem}.login-coolpad{top:-50px;position:relative}.success-img{height:5.7rem;width:100%;background:url(/static/touch/img/bindsuccess.png) no-repeat center 5.5rem;background-size:5.7rem 5.7rem;padding:5.5rem 0 1.7rem}.mod-page-bind-tipInfo{text-align:center;font-size:1.8rem;padding-bottom:1.5rem}.mod-page-bind-tipInfo1{text-align:center;font-size:1.5rem;line-height:2.2rem}.bottom-link{display:-webkit-flex;display:flex;display:-webkit-box;display:box;-webkit-box-pack:center;box-pack:center;-webkit-justify-content:center;justify-content:center}.spilit-line{color:#666;font-weight:lighter;font-size:16px;display:inline-block;padding:0 1rem}#face_login{background:#fff}.face-login-link{display:none}.face-main{padding:4.8rem 1.2rem 0}.biometry-loadingImg{margin:0 auto;-webkit-animation-fill-mode:both;animation-fill-mode:both;height:30px;width:30px;background:url(data:image/png;base64,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) no-repeat 0 0;background-size:30px 30px;display:block;vertical-align:middle;-webkit-animation:rotate .75s linear infinite;animation:rotate .75s linear infinite}@-webkit-keyframes rotate{0%,100%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes rotate{0%,100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.biometry-loadingMask{top:0;left:0;width:100%;height:100%;position:fixed;background:#fff;z-index:1020;display:none}.biometry-loading{font-size:24px;padding-top:15rem;padding-bottom:2rem;color:#367cff;text-align:center}.baidu-attention{font-weight:700;margin-top:1rem}.personal_agreement-info{line-height:2.4rem;font-size:1.4rem;padding-top:5rem}.personal_agreement-info ul{list-style:none;padding-left:2rem;margin-bottom:.5rem}.personal_agreement-info strong{line-height:5rem}.personal_agreement-info div>p{margin:1rem 0}.mod-tipinfo-title1{font-size:1.8rem;font-weight:300}.mod-tipinfo-title3{font-size:2.4rem;line-height:3rem}.form-label{font-size:1.3rem;color:#666}.mod-tipinfo-subtitle1{font-size:1.4rem;margin-top:.8rem;font-weight:200}.form-input-value{font-size:1.6rem;color:#333;display:-webkit-box;border-bottom:1px solid #eee}.pass-form-item-sep{background:#eee;height:1px;border:0;display:block;margin-top:-1px}.form-input-value input{padding-bottom:.6rem;padding-top:.8rem}.pass-form-item-sep-focus{background:#3c76ff;-webkit-animation:processFocus .3s ease-in}.pass-form-item-sep-blur{background:#3c76ff;-webkit-animation:processBlur .3s linear}.pass-form-item-sep-error{background:#e65757}@-webkit-keyframes processFocus{0%{width:0}100%{width:100%}}@-webkit-keyframes processBlur{0%{margin-left:0}100%{margin-left:100%}}.form-input-value .text-grey,.form-input-value .text-grey:disabled{color:#333;opacity:1}.pass-input-clearValue-new{height:20px;float:right}.other-baidu-reg{margin-bottom:constant(safe-area-inset-bottom)}.agreement-contentWrapper{padding-bottom:constant(safe-area-inset-bottom)}.personal_agreement-contentWrapper{padding-bottom:constant(safe-area-inset-bottom)}div.mod-dialog-content-faceLoginNotice{padding:2.1rem 0 0;background:#fafdff}.pass-faceLoginNotice-dialog{text-align:center}.pass-faceLoginNotice-icon{background:url(data:image/png;base64,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) no-repeat center center;background-size:12.2rem 9.8rem;height:9.8rem;margin:2.3rem}.pass-faceLoginNotice-title{margin-top:.1rem;color:#333;font-size:1.9rem;line-height:2.4rem}.pass-faceLoginNotice-msg{margin-top:.7rem;color:#666;font-size:1.4rem;padding:0 2.1rem 2.2rem}.pass-faceLoginNotice-ul{background:#fff}.pass-faceLoginNotice-ul li{height:5.2rem;line-height:5.2rem;color:#333;font-size:1.6rem;position:relative}.pass-faceLoginNotice-ul li:before{content:"";-webkit-box-sizing:border-box;display:block;width:200%;height:200%;position:absolute;left:0;top:0;z-index:1;-webkit-transform:scale(0.5);-webkit-transform-origin:0 0;border-top:1px solid #eee;border-radius:2px;-webkit-border-radius:2px;-moz-border-radius:2px}li.pass-faceLoginNotice-main{color:#5291ff}
</style><link href="" type=text/css rel=stylesheet id=product-skin>
</head>
<body>
<div id="pageWrapper" class="page-wrapper"></div>
<script type="text/javascript">
        var apiDomain = location.protocol+"//"+location.host,
            publicData = {
                "vcodestr": "{{$ppVcodestr|sp_escape_js}}",
                "action" : "{{$ppRequestInfo.action|default:'login'|sp_escape_js}}",
                "u" : "{{$ppRequestInfo.u|sp_escape_js}}",
                "tpl" : "{{$ppRequestInfo.tpl|default:'pp'|sp_escape_js}}",
                "tn" : "{{$ppRequestInfo.tn|sp_escape_js}}",
                "pu" : "{{$ppRequestInfo.pu|sp_escape_js}}",
                "ssid" : "{{$ppRequestInfo.ssid|sp_escape_js}}",
                "from" : "{{$ppRequestInfo.from|sp_escape_js}}",
                "bd_page_type" : "{{$ppRequestInfo.bd_page_type|sp_escape_js}}",
                "uid" : "{{$ppRequestInfo.uid|sp_escape_js}}",
                "type" : "{{$ppRequestInfo.type|sp_escape_js}}",
                "regtype" : "{{$ppRegtype|sp_escape_js}}",
                "adapter" : "{{$ppPageInfo.adapter|sp_escape_js}}",
                "skin" : "{{$ppPageInfo.skin|sp_escape_js}}",
                "regist_mode" : "{{$ppRequestInfo.regist_mode|sp_escape_js}}",
                "login_share_strategy" : "{{$ppRequestInfo.login_share_strategy|sp_escape_js}}",
                "bdcm" : "{{$ppRequestInfo.bdcm|sp_escape_js}}",
                "token" : "{{$ppBdToken|sp_escape_js}}",
                "client" : "{{$ppRequestInfo.client|sp_escape_js}}",
                "clientfrom" : "{{$ppRequestInfo.clientfrom|sp_escape_js}}"
            }

        var _hmt = _hmt || [];
        var currClientWidth, fontValue,originWidth;
        originWidth=375;
        __resize();
        window.addEventListener('resize', __resize, false);
        function __resize() {
            currClientWidth = document.documentElement.clientWidth;
            if (currClientWidth < 320) currClientWidth = 320;
            if (currClientWidth > 400) currClientWidth = 400;
            fontValue = ((62.5 * currClientWidth) /originWidth).toFixed(2);
            document.documentElement.style.fontSize = fontValue + '%';
        }
    </script>
<script type="text/javascript">function BarrettMu(t){this.modulus=biCopy(t),this.k=biHighIndex(this.modulus)+1;var e=new BigInt;e.digits[2*this.k]=1,this.mu=biDivide(e,this.modulus),this.bkplus1=new BigInt,this.bkplus1.digits[this.k+1]=1,this.modulo=BarrettMu_modulo,this.multiplyMod=BarrettMu_multiplyMod,this.powMod=BarrettMu_powMod}function BarrettMu_modulo(t){var e=biDivideByRadixPower(t,this.k-1),i=biMultiply(e,this.mu),n=biDivideByRadixPower(i,this.k+1),a=biModuloByRadixPower(t,this.k+1),o=biMultiply(n,this.modulus),s=biModuloByRadixPower(o,this.k+1),r=biSubtract(a,s);r.isNeg&&(r=biAdd(r,this.bkplus1));for(var c=biCompare(r,this.modulus)>=0;c;)r=biSubtract(r,this.modulus),c=biCompare(r,this.modulus)>=0;return r}function BarrettMu_multiplyMod(t,e){var i=biMultiply(t,e);return this.modulo(i)}function BarrettMu_powMod(t,e){var i=new BigInt;i.digits[0]=1;for(var n=t,a=e;0!=(1&a.digits[0])&&(i=this.multiplyMod(i,n)),a=biShiftRight(a,1),0!=a.digits[0]||0!=biHighIndex(a);)n=this.multiplyMod(n,n);return i}function setMaxDigits(t){maxDigits=t,ZERO_ARRAY=new Array(maxDigits);for(var e=0;e<ZERO_ARRAY.length;e++)ZERO_ARRAY[e]=0;bigZero=new BigInt,bigOne=new BigInt,bigOne.digits[0]=1}function BigInt(t){this.digits="boolean"==typeof t&&1==t?null:ZERO_ARRAY.slice(0),this.isNeg=!1}function biFromDecimal(t){for(var e,i="-"==t.charAt(0),n=i?1:0;n<t.length&&"0"==t.charAt(n);)++n;if(n==t.length)e=new BigInt;else{var a=t.length-n,o=a%dpl10;for(0==o&&(o=dpl10),e=biFromNumber(Number(t.substr(n,o))),n+=o;n<t.length;)e=biAdd(biMultiply(e,lr10),biFromNumber(Number(t.substr(n,dpl10)))),n+=dpl10;e.isNeg=i}return e}function biCopy(t){var e=new BigInt(!0);return e.digits=t.digits.slice(0),e.isNeg=t.isNeg,e}function biFromNumber(t){var e=new BigInt;e.isNeg=0>t,t=Math.abs(t);for(var i=0;t>0;)e.digits[i++]=t&maxDigitVal,t>>=biRadixBits;return e}function reverseStr(t){for(var e="",i=t.length-1;i>-1;--i)e+=t.charAt(i);return e}function biToString(t,e){var i=new BigInt;i.digits[0]=e;for(var n=biDivideModulo(t,i),a=hexatrigesimalToChar[n[1].digits[0]];1==biCompare(n[0],bigZero);)n=biDivideModulo(n[0],i),digit=n[1].digits[0],a+=hexatrigesimalToChar[n[1].digits[0]];return(t.isNeg?"-":"")+reverseStr(a)}function biToDecimal(t){var e=new BigInt;e.digits[0]=10;for(var i=biDivideModulo(t,e),n=String(i[1].digits[0]);1==biCompare(i[0],bigZero);)i=biDivideModulo(i[0],e),n+=String(i[1].digits[0]);return(t.isNeg?"-":"")+reverseStr(n)}function digitToHex(t){var e=15,n="";for(i=0;4>i;++i)n+=hexToChar[t&e],t>>>=4;return reverseStr(n)}function biToHex(t){for(var e="",i=(biHighIndex(t),biHighIndex(t));i>-1;--i)e+=digitToHex(t.digits[i]);return e}function charToHex(t){var e,i=48,n=i+9,a=97,o=a+25,s=65,r=90;return e=t>=i&&n>=t?t-i:t>=s&&r>=t?10+t-s:t>=a&&o>=t?10+t-a:0}function hexToDigit(t){for(var e=0,i=Math.min(t.length,4),n=0;i>n;++n)e<<=4,e|=charToHex(t.charCodeAt(n));return e}function biFromHex(t){for(var e=new BigInt,i=t.length,n=i,a=0;n>0;n-=4,++a)e.digits[a]=hexToDigit(t.substr(Math.max(n-4,0),Math.min(n,4)));return e}function biFromString(t,e){var i="-"==t.charAt(0),n=i?1:0,a=new BigInt,o=new BigInt;o.digits[0]=1;for(var s=t.length-1;s>=n;s--){var r=t.charCodeAt(s),c=charToHex(r),l=biMultiplyDigit(o,c);a=biAdd(a,l),o=biMultiplyDigit(o,e)}return a.isNeg=i,a}function biDump(t){return(t.isNeg?"-":"")+t.digits.join(" ")}function biAdd(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biSubtract(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;for(var n,a=0,o=0;o<t.digits.length;++o)n=t.digits[o]+e.digits[o]+a,i.digits[o]=65535&n,a=Number(n>=biRadix);i.isNeg=t.isNeg}return i}function biSubtract(t,e){var i;if(t.isNeg!=e.isNeg)e.isNeg=!e.isNeg,i=biAdd(t,e),e.isNeg=!e.isNeg;else{i=new BigInt;var n,a;a=0;for(var o=0;o<t.digits.length;++o)n=t.digits[o]-e.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);if(-1==a){a=0;for(var o=0;o<t.digits.length;++o)n=0-i.digits[o]+a,i.digits[o]=65535&n,i.digits[o]<0&&(i.digits[o]+=biRadix),a=0-Number(0>n);i.isNeg=!t.isNeg}else i.isNeg=t.isNeg}return i}function biHighIndex(t){for(var e=t.digits.length-1;e>0&&0==t.digits[e];)--e;return e}function biNumBits(t){var e,i=biHighIndex(t),n=t.digits[i],a=(i+1)*bitsPerDigit;for(e=a;e>a-bitsPerDigit&&0==(32768&n);--e)n<<=1;return e}function biMultiply(t,e){for(var i,n,a,o=new BigInt,s=biHighIndex(t),r=biHighIndex(e),c=0;r>=c;++c){for(i=0,a=c,j=0;s>=j;++j,++a)n=o.digits[a]+t.digits[j]*e.digits[c]+i,o.digits[a]=n&maxDigitVal,i=n>>>biRadixBits;o.digits[c+s+1]=i}return o.isNeg=t.isNeg!=e.isNeg,o}function biMultiplyDigit(t,e){var i,n,a;result=new BigInt,i=biHighIndex(t),n=0;for(var o=0;i>=o;++o)a=result.digits[o]+t.digits[o]*e+n,result.digits[o]=a&maxDigitVal,n=a>>>biRadixBits;return result.digits[1+i]=n,result}function arrayCopy(t,e,i,n,a){for(var o=Math.min(e+a,t.length),s=e,r=n;o>s;++s,++r)i[r]=t[s]}function biShiftLeft(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,0,n.digits,i,n.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=n.digits.length-1,r=s-1;s>0;--s,--r)n.digits[s]=n.digits[s]<<a&maxDigitVal|(n.digits[r]&highBitMasks[a])>>>o;return n.digits[0]=n.digits[s]<<a&maxDigitVal,n.isNeg=t.isNeg,n}function biShiftRight(t,e){var i=Math.floor(e/bitsPerDigit),n=new BigInt;arrayCopy(t.digits,i,n.digits,0,t.digits.length-i);for(var a=e%bitsPerDigit,o=bitsPerDigit-a,s=0,r=s+1;s<n.digits.length-1;++s,++r)n.digits[s]=n.digits[s]>>>a|(n.digits[r]&lowBitMasks[a])<<o;return n.digits[n.digits.length-1]>>>=a,n.isNeg=t.isNeg,n}function biMultiplyByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,e,i.digits.length-e),i}function biDivideByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,e,i.digits,0,i.digits.length-e),i}function biModuloByRadixPower(t,e){var i=new BigInt;return arrayCopy(t.digits,0,i.digits,0,e),i}function biCompare(t,e){if(t.isNeg!=e.isNeg)return 1-2*Number(t.isNeg);for(var i=t.digits.length-1;i>=0;--i)if(t.digits[i]!=e.digits[i])return t.isNeg?1-2*Number(t.digits[i]>e.digits[i]):1-2*Number(t.digits[i]<e.digits[i]);return 0}function biDivideModulo(t,e){var i,n,a=biNumBits(t),o=biNumBits(e),s=e.isNeg;if(o>a)return t.isNeg?(i=biCopy(bigOne),i.isNeg=!e.isNeg,t.isNeg=!1,e.isNeg=!1,n=biSubtract(e,t),t.isNeg=!0,e.isNeg=s):(i=new BigInt,n=biCopy(t)),new Array(i,n);i=new BigInt,n=t;for(var r=Math.ceil(o/bitsPerDigit)-1,c=0;e.digits[r]<biHalfRadix;)e=biShiftLeft(e,1),++c,++o,r=Math.ceil(o/bitsPerDigit)-1;n=biShiftLeft(n,c),a+=c;for(var l=Math.ceil(a/bitsPerDigit)-1,u=biMultiplyByRadixPower(e,l-r);-1!=biCompare(n,u);)++i.digits[l-r],n=biSubtract(n,u);for(var d=l;d>r;--d){var p=d>=n.digits.length?0:n.digits[d],f=d-1>=n.digits.length?0:n.digits[d-1],h=d-2>=n.digits.length?0:n.digits[d-2],g=r>=e.digits.length?0:e.digits[r],m=r-1>=e.digits.length?0:e.digits[r-1];i.digits[d-r-1]=p==g?maxDigitVal:Math.floor((p*biRadix+f)/g);for(var v=i.digits[d-r-1]*(g*biRadix+m),b=p*biRadixSquared+(f*biRadix+h);v>b;)--i.digits[d-r-1],v=i.digits[d-r-1]*(g*biRadix|m),b=p*biRadix*biRadix+(f*biRadix+h);u=biMultiplyByRadixPower(e,d-r-1),n=biSubtract(n,biMultiplyDigit(u,i.digits[d-r-1])),n.isNeg&&(n=biAdd(n,u),--i.digits[d-r-1])}return n=biShiftRight(n,c),i.isNeg=t.isNeg!=s,t.isNeg&&(i=s?biAdd(i,bigOne):biSubtract(i,bigOne),e=biShiftRight(e,c),n=biSubtract(e,n)),0==n.digits[0]&&0==biHighIndex(n)&&(n.isNeg=!1),new Array(i,n)}function biDivide(t,e){return biDivideModulo(t,e)[0]}function biModulo(t,e){return biDivideModulo(t,e)[1]}function biMultiplyMod(t,e,i){return biModulo(biMultiply(t,e),i)}function biPow(t,e){for(var i=bigOne,n=t;0!=(1&e)&&(i=biMultiply(i,n)),e>>=1,0!=e;)n=biMultiply(n,n);return i}function biPowMod(t,e,i){for(var n=bigOne,a=t,o=e;0!=(1&o.digits[0])&&(n=biMultiplyMod(n,a,i)),o=biShiftRight(o,1),0!=o.digits[0]||0!=biHighIndex(o);)a=biMultiplyMod(a,a,i);return n}function RSAKeyPair(t,e,i){this.e=biFromHex(t),this.d=biFromHex(e),this.m=biFromHex(i),this.chunkSize=2*biHighIndex(this.m),this.radix=16,this.barrett=new BarrettMu(this.m)}function twoDigit(t){return(10>t?"0":"")+String(t)}function encryptedString(t,e){for(var i=new Array,n=e.length,a=0;n>a;)i[a]=e.charCodeAt(a),a++;for(;i.length%t.chunkSize!=0;)i[a++]=0;var o,s,r,c=i.length,l="";for(a=0;c>a;a+=t.chunkSize){for(r=new BigInt,o=0,s=a;s<a+t.chunkSize;++o)r.digits[o]=i[s++],r.digits[o]+=i[s++]<<8;var u=t.barrett.powMod(r,t.e),d=16==t.radix?biToHex(u):biToString(u,t.radix);l+=d+" "}return l.substring(0,l.length-1)}function decryptedString(t,e){var i,n,a,o=e.split(" "),s="";for(i=0;i<o.length;++i){var r;for(r=16==t.radix?biFromHex(o[i]):biFromString(o[i],t.radix),a=t.barrett.powMod(r,t.d),n=0;n<=biHighIndex(a);++n)s+=String.fromCharCode(255&a.digits[n],a.digits[n]>>8)}return 0==s.charCodeAt(s.length-1)&&(s=s.substring(0,s.length-1)),s}!function(t){String.prototype.trim===t&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Array.prototype.reduce===t&&(Array.prototype.reduce=function(e){if(void 0===this||null===this)throw new TypeError;var i,n=Object(this),a=n.length>>>0,o=0;if("function"!=typeof e)throw new TypeError;if(0==a&&1==arguments.length)throw new TypeError;if(arguments.length>=2)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=a)throw new TypeError}for(;a>o;)o in n&&(i=e.call(t,i,n[o],o,n)),o++;return i})}();var Zepto=function(){function t(t){return null==t?String(t):J[Y.call(t)]||"object"}function e(e){return"function"==t(e)}function i(t){return null!=t&&t==t.window}function n(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function a(e){return"object"==t(e)}function o(t){return a(t)&&!i(t)&&t.__proto__==Object.prototype}function s(t){return t instanceof Array}function r(t){return"number"==typeof t.length}function c(t){return A.call(t,function(t){return null!=t})}function l(t){return t.length>0?k.fn.concat.apply([],t):t}function u(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function d(t){return t in E?E[t]:E[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function p(t,e){return"number"!=typeof e||B[u(t)]?e:e+"px"}function f(t){var e,i;return N[t]||(e=P.createElement(t),P.body.appendChild(e),i=R(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==i&&(i="block"),N[t]=i),N[t]}function h(t){return"children"in t?T.call(t.children):k.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function g(t,e,i){for(D in e)i&&(o(e[D])||s(e[D]))?(o(e[D])&&!o(t[D])&&(t[D]={}),s(e[D])&&!s(t[D])&&(t[D]=[]),g(t[D],e[D],i)):e[D]!==x&&(t[D]=e[D])}function m(t,e){return e===x?k(t):k(t).filter(e)}function v(t,i,n,a){return e(i)?i.call(t,n,a):i}function b(t,e,i){null==i?t.removeAttribute(e):t.setAttribute(e,i)}function y(t,e){var i=t.className,n=i&&i.baseVal!==x;return e===x?n?i.baseVal:i:void(n?i.baseVal=e:t.className=e)}function w(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:isNaN(e=Number(t))?/^[\[\{]/.test(t)?k.parseJSON(t):t:e):t}catch(i){return t}}function _(t,e){e(t);for(var i in t.childNodes)_(t.childNodes[i],e)}var x,D,k,C,I,S,j=[],T=j.slice,A=j.filter,P=window.document,N={},E={},R=P.defaultView.getComputedStyle,B={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},M=/^\s*<(\w+|!)[^>]*>/,O=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,L=/^(?:body|html)$/i,V=["val","css","html","text","data","width","height","offset"],q=["after","prepend","before","append"],F=P.createElement("table"),$=P.createElement("tr"),H={tr:P.createElement("tbody"),tbody:F,thead:F,tfoot:F,td:$,th:$,"*":P.createElement("div")},z=/complete|loaded|interactive/,W=/^\.([\w-]+)$/,Z=/^#([\w-]*)$/,U=/^[\w-]+$/,J={},Y=J.toString,Q={},X=P.createElement("div");return Q.matches=function(t,e){if(!t||1!==t.nodeType)return!1;var i=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(i)return i.call(t,e);var n,a=t.parentNode,o=!a;return o&&(a=X).appendChild(t),n=~Q.qsa(a,e).indexOf(t),o&&X.removeChild(t),n},I=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},S=function(t){return A.call(t,function(e,i){return t.indexOf(e)==i})},Q.fragment=function(t,e,i){t.replace&&(t=t.replace(O,"<$1></$2>")),e===x&&(e=M.test(t)&&RegExp.$1),e in H||(e="*");var n,a,s=H[e];return s.innerHTML=""+t,a=k.each(T.call(s.childNodes),function(){s.removeChild(this)}),o(i)&&(n=k(a),k.each(i,function(t,e){V.indexOf(t)>-1?n[t](e):n.attr(t,e)})),a},Q.Z=function(t,e){return t=t||[],t.__proto__=k.fn,t.selector=e||"",t},Q.isZ=function(t){return t instanceof Q.Z},Q.init=function(t,i){if(t){if(e(t))return k(P).ready(t);if(Q.isZ(t))return t;var n;if(s(t))n=c(t);else if(a(t))n=[o(t)?k.extend({},t):t],t=null;else if(M.test(t))n=Q.fragment(t.trim(),RegExp.$1,i),t=null;else{if(i!==x)return k(i).find(t);n=Q.qsa(P,t)}return Q.Z(n,t)}return Q.Z()},k=function(t,e){return Q.init(t,e)},k.extend=function(t){var e,i=T.call(arguments,1);return"boolean"==typeof t&&(e=t,t=i.shift()),i.forEach(function(i){g(t,i,e)}),t},Q.qsa=function(t,e){var i;return n(t)&&Z.test(e)?(i=t.getElementById(RegExp.$1))?[i]:[]:1!==t.nodeType&&9!==t.nodeType?[]:T.call(W.test(e)?t.getElementsByClassName(RegExp.$1):U.test(e)?t.getElementsByTagName(e):t.querySelectorAll(e))},k.contains=function(t,e){return t!==e&&t.contains(e)},k.type=t,k.isFunction=e,k.isWindow=i,k.isArray=s,k.isPlainObject=o,k.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},k.inArray=function(t,e,i){return j.indexOf.call(e,t,i)},k.camelCase=I,k.trim=function(t){return t.trim()},k.uuid=0,k.support={},k.expr={},k.map=function(t,e){var i,n,a,o=[];if(r(t))for(n=0;n<t.length;n++)i=e(t[n],n),null!=i&&o.push(i);else for(a in t)i=e(t[a],a),null!=i&&o.push(i);return l(o)},k.each=function(t,e){var i,n;if(r(t)){for(i=0;i<t.length;i++)if(e.call(t[i],i,t[i])===!1)return t}else for(n in t)if(e.call(t[n],n,t[n])===!1)return t;return t},k.grep=function(t,e){return A.call(t,e)},window.JSON&&(k.parseJSON=JSON.parse),k.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){J["[object "+e+"]"]=e.toLowerCase()}),k.fn={forEach:j.forEach,reduce:j.reduce,push:j.push,sort:j.sort,indexOf:j.indexOf,concat:j.concat,map:function(t){return k(k.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return k(T.apply(this,arguments))},ready:function(t){return z.test(P.readyState)?t(k):P.addEventListener("DOMContentLoaded",function(){t(k)},!1),this},get:function(t){return t===x?T.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return j.every.call(this,function(e,i){return t.call(e,i,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):k(A.call(this,function(e){return Q.matches(e,t)}))},add:function(t,e){return k(S(this.concat(k(t,e))))},is:function(t){return this.length>0&&Q.matches(this[0],t)},not:function(t){var i=[];if(e(t)&&t.call!==x)this.each(function(e){t.call(this,e)||i.push(this)});else{var n="string"==typeof t?this.filter(t):r(t)&&e(t.item)?T.call(t):k(t);this.forEach(function(t){n.indexOf(t)<0&&i.push(t)})}return k(i)},has:function(t){return this.filter(function(){return a(t)?k.contains(this,t):k(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!a(t)?t:k(t)},last:function(){var t=this[this.length-1];return t&&!a(t)?t:k(t)},find:function(t){var e,i=this;return e="object"==typeof t?k(t).filter(function(){var t=this;return j.some.call(i,function(e){return k.contains(e,t)})}):1==this.length?k(Q.qsa(this[0],t)):this.map(function(){return Q.qsa(this,t)})},closest:function(t,e){var i=this[0],a=!1;for("object"==typeof t&&(a=k(t));i&&!(a?a.indexOf(i)>=0:Q.matches(i,t));)i=i!==e&&!n(i)&&i.parentNode;return k(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=k.map(i,function(t){return(t=t.parentNode)&&!n(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return m(e,t)},parent:function(t){return m(S(this.pluck("parentNode")),t)},children:function(t){return m(this.map(function(){return h(this)}),t)},contents:function(){return this.map(function(){return T.call(this.childNodes)})},siblings:function(t){return m(this.map(function(t,e){return A.call(h(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return k.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=null),"none"==R(this,"").getPropertyValue("display")&&(this.style.display=f(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var i=e(t);if(this[0]&&!i)var n=k(t).get(0),a=n.parentNode||this.length>1;return this.each(function(e){k(this).wrapAll(i?t.call(this,e):a?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){k(this[0]).before(t=k(t));for(var e;(e=t.children()).length;)t=e.first();k(t).append(this)}return this},wrapInner:function(t){var i=e(t);return this.each(function(e){var n=k(this),a=n.contents(),o=i?t.call(this,e):t;a.length?a.wrapAll(o):n.append(o)})},unwrap:function(){return this.parent().each(function(){k(this).replaceWith(k(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=k(this);(t===x?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return k(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return k(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return t===x?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;k(this).empty().append(v(this,t,e,i))})},text:function(t){return t===x?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=t})},attr:function(t,e){var i;return"string"==typeof t&&e===x?0==this.length||1!==this[0].nodeType?x:"value"==t&&"INPUT"==this[0].nodeName?this.val():!(i=this[0].getAttribute(t))&&t in this[0]?this[0][t]:i:this.each(function(i){if(1===this.nodeType)if(a(t))for(D in t)b(this,D,t[D]);else b(this,t,v(this,e,i,this.getAttribute(t)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&b(this,t)})},prop:function(t,e){return e===x?this[0]&&this[0][t]:this.each(function(i){this[t]=v(this,e,i,this[t])})},data:function(t,e){var i=this.attr("data-"+u(t),e);return null!==i?w(i):x},val:function(t){return t===x?this[0]&&(this[0].multiple?k(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=v(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=k(this),n=v(this,t,e,i.offset()),a=i.offsetParent().offset(),o={top:n.top-a.top,left:n.left-a.left};"static"==i.css("position")&&(o.position="relative"),i.css(o)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,i){if(arguments.length<2&&"string"==typeof e)return this[0]&&(this[0].style[I(e)]||R(this[0],"").getPropertyValue(e));var n="";if("string"==t(e))i||0===i?n=u(e)+":"+p(e,i):this.each(function(){this.style.removeProperty(u(e))});else for(D in e)e[D]||0===e[D]?n+=u(D)+":"+p(D,e[D])+";":this.each(function(){this.style.removeProperty(u(D))});return this.each(function(){this.style.cssText+=";"+n})},index:function(t){return t?this.indexOf(k(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return j.some.call(this,function(t){return this.test(y(t))},d(t))},addClass:function(t){return this.each(function(e){C=[];var i=y(this),n=v(this,t,e,i);n.split(/\s+/g).forEach(function(t){k(this).hasClass(t)||C.push(t)},this),C.length&&y(this,i+(i?" ":"")+C.join(" "))})},removeClass:function(t){return this.each(function(e){return t===x?y(this,""):(C=y(this),v(this,t,e,C).split(/\s+/g).forEach(function(t){C=C.replace(d(t)," ")}),void y(this,C.trim()))})},toggleClass:function(t,e){return this.each(function(i){var n=k(this),a=v(this,t,i,y(this));a.split(/\s+/g).forEach(function(t){(e===x?!n.hasClass(t):e)?n.addClass(t):n.removeClass(t)})})},scrollTop:function(){return this.length?"scrollTop"in this[0]?this[0].scrollTop:this[0].scrollY:void 0},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),n=L.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(k(t).css("margin-top"))||0,i.left-=parseFloat(k(t).css("margin-left"))||0,n.top+=parseFloat(k(e[0]).css("border-top-width"))||0,n.left+=parseFloat(k(e[0]).css("border-left-width"))||0,{top:i.top-n.top,left:i.left-n.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||P.body;t&&!L.test(t.nodeName)&&"static"==k(t).css("position");)t=t.offsetParent;return t})}},k.fn.detach=k.fn.remove,["width","height"].forEach(function(t){k.fn[t]=function(e){var a,o=this[0],s=t.replace(/./,function(t){return t[0].toUpperCase()});return e===x?i(o)?o["inner"+s]:n(o)?o.documentElement["offset"+s]:(a=this.offset())&&a[t]:this.each(function(i){o=k(this),o.css(t,v(this,e,i,o[t]()))})}}),q.forEach(function(e,i){var n=i%2;k.fn[e]=function(){var e,a,o=k.map(arguments,function(i){return e=t(i),"object"==e||"array"==e||null==i?i:Q.fragment(i)}),s=this.length>1;return o.length<1?this:this.each(function(t,e){a=n?e:e.parentNode,e=0==i?e.nextSibling:1==i?e.firstChild:2==i?e:null,o.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!a)return k(t).remove();_(a.insertBefore(t,e),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},k.fn[n?e+"To":"insert"+(i?"Before":"After")]=function(t){return k(t)[e](this),this}}),Q.Z.prototype=k.fn,Q.uniq=S,Q.deserializeValue=w,k.zepto=Q,k}();window.Zepto=Zepto,"$"in window||(window.$=Zepto),function(t){function e(t){var e=this.os={},i=this.browser={},n=t.match(/WebKit\/([\d.]+)/),a=t.match(/(Android)\s+([\d.]+)/),o=t.match(/(iPad).*OS\s([\d_]+)/),s=!o&&t.match(/(iPhone\sOS)\s([\d_]+)/),r=t.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),c=r&&t.match(/TouchPad/),l=t.match(/Kindle\/([\d.]+)/),u=t.match(/Silk\/([\d._]+)/),d=t.match(/(BlackBerry).*Version\/([\d.]+)/),p=t.match(/(BB10).*Version\/([\d.]+)/),f=t.match(/(RIM\sTablet\sOS)\s([\d.]+)/),h=t.match(/PlayBook/),g=t.match(/Chrome\/([\d.]+)/)||t.match(/CriOS\/([\d.]+)/),m=t.match(/Firefox\/([\d.]+)/);(i.webkit=!!n)&&(i.version=n[1]),a&&(e.android=!0,e.version=a[2]),s&&(e.ios=e.iphone=!0,e.version=s[2].replace(/_/g,".")),o&&(e.ios=e.ipad=!0,e.version=o[2].replace(/_/g,".")),r&&(e.webos=!0,e.version=r[2]),c&&(e.touchpad=!0),d&&(e.blackberry=!0,e.version=d[2]),p&&(e.bb10=!0,e.version=p[2]),f&&(e.rimtabletos=!0,e.version=f[2]),h&&(i.playbook=!0),l&&(e.kindle=!0,e.version=l[1]),u&&(i.silk=!0,i.version=u[1]),!u&&e.android&&t.match(/Kindle Fire/)&&(i.silk=!0),g&&(i.chrome=!0,i.version=g[1]),m&&(i.firefox=!0,i.version=m[1]),e.tablet=!!(o||h||a&&!t.match(/Mobile/)||m&&t.match(/Tablet/)),e.phone=!(e.tablet||!(a||s||r||d||p||g&&t.match(/Android/)||g&&t.match(/CriOS\/([\d.]+)/)||m&&t.match(/Mobile/)))}e.call(t,navigator.userAgent),t.__detect=e}(Zepto),function(t){function e(t){return t._zid||(t._zid=f++)}function i(t,i,o,s){if(i=n(i),i.ns)var r=a(i.ns);return(p[e(t)]||[]).filter(function(t){return!(!t||i.e&&t.e!=i.e||i.ns&&!r.test(t.ns)||o&&e(t.fn)!==e(o)||s&&t.sel!=s)})}function n(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function a(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(e,i,n){"string"!=t.type(e)?t.each(e,n):e.split(/\s/).forEach(function(t){n(t,i)})}function s(t,e){return t.del&&("focus"==t.e||"blur"==t.e)||!!e}function r(t){return g[t]||t}function c(i,a,c,l,u,d){var f=e(i),h=p[f]||(p[f]=[]);o(a,c,function(e,a){var o=n(e);o.fn=a,o.sel=l,o.e in g&&(a=function(e){var i=e.relatedTarget;return!i||i!==this&&!t.contains(this,i)?o.fn.apply(this,arguments):void 0}),o.del=u&&u(a,e);var c=o.del||a;o.proxy=function(t){var e=c.apply(i,[t].concat(t.data));return e===!1&&(t.preventDefault(),t.stopPropagation()),e},o.i=h.length,h.push(o),i.addEventListener(r(o.e),o.proxy,s(o,d))})}function l(t,n,a,c,l){var u=e(t);o(n||"",a,function(e,n){i(t,e,n,c).forEach(function(e){delete p[u][e.i],t.removeEventListener(r(e.e),e.proxy,s(e,l))})})}function u(e){var i,n={originalEvent:e};for(i in e)b.test(i)||void 0===e[i]||(n[i]=e[i]);return t.each(y,function(t,i){n[t]=function(){return this[i]=m,e[t].apply(e,arguments)},n[i]=v}),n}function d(t){if(!("defaultPrevented"in t)){t.defaultPrevented=!1;var e=t.preventDefault;t.preventDefault=function(){this.defaultPrevented=!0,e.call(this)}}}var p=(t.zepto.qsa,{}),f=1,h={},g={mouseenter:"mouseover",mouseleave:"mouseout"};h.click=h.mousedown=h.mouseup=h.mousemove="MouseEvents",t.event={add:c,remove:l},t.proxy=function(i,n){if(t.isFunction(i)){var a=function(){return i.apply(n,arguments)};return a._zid=e(i),a}if("string"==typeof n)return t.proxy(i[n],i);throw new TypeError("expected function")},t.fn.bind=function(t,e){return this.each(function(){c(this,t,e)})},t.fn.unbind=function(t,e){return this.each(function(){l(this,t,e)})},t.fn.one=function(t,e){return this.each(function(i,n){c(this,t,e,null,function(t,e){return function(){var i=t.apply(n,arguments);return l(n,e,t),i}})})};var m=function(){return!0},v=function(){return!1},b=/^([A-Z]|layer[XY]$)/,y={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(e,i,n){return this.each(function(a,o){c(o,i,n,e,function(i){return function(n){var a,s=t(n.target).closest(e,o).get(0);return s?(a=t.extend(u(n),{currentTarget:s,liveFired:o}),i.apply(s,[a].concat([].slice.call(arguments,1)))):void 0}})})},t.fn.undelegate=function(t,e,i){return this.each(function(){l(this,e,i,t)})},t.fn.live=function(e,i){return t(document.body).delegate(this.selector,e,i),this},t.fn.die=function(e,i){return t(document.body).undelegate(this.selector,e,i),this},t.fn.on=function(e,i,n){return!i||t.isFunction(i)?this.bind(e,i||n):this.delegate(i,e,n)},t.fn.off=function(e,i,n){return!i||t.isFunction(i)?this.unbind(e,i||n):this.undelegate(i,e,n)},t.fn.trigger=function(e,i){return("string"==typeof e||t.isPlainObject(e))&&(e=t.Event(e)),d(e),e.data=i,this.each(function(){"dispatchEvent"in this&&this.dispatchEvent(e)})},t.fn.triggerHandler=function(e,n){var a,o;return this.each(function(s,r){a=u("string"==typeof e?t.Event(e):e),a.data=n,a.target=r,t.each(i(r,e.type||e),function(t,e){return o=e.proxy(a),a.isImmediatePropagationStopped()?!1:void 0})}),o},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){"string"!=typeof t&&(e=t,t=e.type);var i=document.createEvent(h[t]||"Events"),n=!0;if(e)for(var a in e)"bubbles"==a?n=!!e[a]:i[a]=e[a];return i.initEvent(t,n,!0,null,null,null,null,null,null,null,null,null,null,null,null),i.isDefaultPrevented=function(){return this.defaultPrevented},i}}(Zepto),function(t){function e(e,i,n){var a=t.Event(i);return t(e).trigger(a,n),!a.defaultPrevented}function i(t,i,n,a){return t.global?e(i||b,n,a):void 0}function n(e){e.global&&0===t.active++&&i(e,null,"ajaxStart")}function a(e){e.global&&!--t.active&&i(e,null,"ajaxStop")}function o(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||i(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void i(e,n,"ajaxSend",[t,e])}function s(t,e,n){var a=n.context,o="success";n.success.call(a,t,o,e),i(n,a,"ajaxSuccess",[e,n,t]),c(o,e,n),window.Pass&&window.Pass.traceID&&window.Pass.traceID.getTraceID&&window.Pass.traceID.getTraceID(e,t)}function r(t,e,n,a){var o=a.context;a.error.call(o,n,e,t),i(a,o,"ajaxError",[n,a,t]),c(e,n,a)}function c(t,e,n){var o=n.context;n.complete.call(o,e,t),i(n,o,"ajaxComplete",[e,n]),a(n)}function l(){}function u(t){return t&&(t=t.split(";",2)[0]),t&&(t==D?"html":t==x?"json":w.test(t)?"script":_.test(t)&&"xml")||"text"}function d(t,e){return(t+"&"+e).replace(/[&?]{1,2}/,"?")}function p(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=d(e.url,e.data))}function f(e,i,n,a){var o=!t.isFunction(i);return{url:e,data:o?i:void 0,success:o?t.isFunction(n)?n:void 0:i,dataType:o?a||n:n}}function h(e,i,n,a){var o,s=t.isArray(i);t.each(i,function(i,r){o=t.type(r),a&&(i=n?a:a+"["+(s?"":i)+"]"),!a&&s?e.add(r.name,r.value):"array"==o||!n&&"object"==o?h(e,r,n,i):e.add(i,r)})}var g,m,v=0,b=window.document,y=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,_=/^(?:text|application)\/xml/i,x="application/json",D="text/html",k=/^\s*$/;t.active=0,t.ajaxJSONP=function(e){if(!("type"in e))return t.ajax(e);var i,n="jsonp"+ ++v,a=b.createElement("script"),c=function(){clearTimeout(i),t(a).remove(),delete window[n]},u=function(t){c(),t&&"timeout"!=t||(window[n]=l),r(null,t||"abort",d,e)},d={abort:u};return o(d,e)===!1?(u("abort"),!1):(window[n]=function(t){c(),s(t,d,e)},a.onerror=function(){u("error")},a.src=e.url.replace(/=\?/,"="+n),t("head").append(a),e.timeout>0&&(i=setTimeout(function(){u("timeout")},e.timeout)),d)},t.ajaxSettings={type:"GET",beforeSend:l,success:l,error:l,complete:l,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:x,xml:"application/xml, text/xml",html:D,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){window.Pass&&window.Pass.traceID&&window.Pass.traceID.createTraceID&&window.Pass.traceID.setData&&window.Pass.traceID.setData(e);var i=t.extend({},e||{});for(g in t.ajaxSettings)void 0===i[g]&&(i[g]=t.ajaxSettings[g]);n(i),urlProtcol=null,urlDomain=null,crosstest=/^([\w-]+:)?\/\/([^\/]+)/.test(i.url),urlProtcol=RegExp.$1,urlDomain=RegExp.$2;var a="wappass.baidu.com";"http:"==urlProtcol&&urlDomain==a&&(i.url=i.url.replace(/^http:/,"https:")),i.crossDomain||(i.crossDomain=crosstest&&urlDomain!=window.location.host),i.url||(i.url=window.location.toString()),p(i),i.cache===!1&&(i.url=d(i.url,"_="+Date.now()));var c=i.dataType,f=/=\?/.test(i.url);if("jsonp"==c||f)return f||(i.url=d(i.url,"callback=?")),t.ajaxJSONP(i);var h,v=i.accepts[c],b={},y=urlProtcol?urlProtcol:window.location.protocol,w=i.xhr();urlDomain==a&&"http:"==window.location.protocol&&(i.crossDomain=!0),i.crossDomain||(b["X-Requested-With"]="XMLHttpRequest"),v&&(b.Accept=v,v.indexOf(",")>-1&&(v=v.split(",",2)[0]),w.overrideMimeType&&w.overrideMimeType(v)),(i.contentType||i.contentType!==!1&&i.data&&"GET"!=i.type.toUpperCase())&&(b["Content-Type"]=i.contentType||"application/x-www-form-urlencoded"),i.headers=t.extend(b,i.headers||{}),w.onreadystatechange=function(){if(4==w.readyState){w.onreadystatechange=l,clearTimeout(h);var e,n=!1;if(w.status>=200&&w.status<300||304==w.status||0==w.status&&"file:"==y){c=c||u(w.getResponseHeader("content-type")),e=w.responseText;try{"script"==c?(1,eval)(e):"xml"==c?e=w.responseXML:"json"==c&&(e=k.test(e)?null:t.parseJSON(e))}catch(a){n=a}n?r(n,"parsererror",w,i):s(e,w,i)}else r(null,w.status?"error":"abort",w,i)}};var _="async"in i?i.async:!0;w.open(i.type,i.url,_),urlDomain==a&&(w.withCredentials=!0);for(m in i.headers)w.setRequestHeader(m,i.headers[m]);return o(w,i)===!1?(w.abort(),!1):(i.timeout>0&&(h=setTimeout(function(){w.onreadystatechange=l,w.abort(),r(null,"timeout",w,i)},i.timeout)),w.send(i.data?i.data:null),w)
},t.get=function(){return t.ajax(f.apply(null,arguments))},t.post=function(){var e=f.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=f.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,i,n){if(!this.length)return this;var a,o=this,s=e.split(/\s/),r=f(e,i,n),c=r.success;return s.length>1&&(r.url=s[0],a=s[1]),r.success=function(e){o.html(a?t("<div>").html(e.replace(y,"")).find(a):e),c&&c.apply(o,arguments)},t.ajax(r),this};var C=encodeURIComponent;t.param=function(t,e){var i=[];return i.add=function(t,e){this.push(C(t)+"="+C(e))},h(i,t,e),i.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var e,i=[];return t(Array.prototype.slice.call(this.get(0).elements)).each(function(){e=t(this);var n=e.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&("radio"!=n&&"checkbox"!=n||this.checked)&&i.push({name:e.attr("name"),value:e.val()})}),i},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var i=t.Event("submit");this.eq(0).trigger(i),i.defaultPrevented||this.get(0).submit()}return this}}(Zepto),function(t,e){function i(t){return n(t.replace(/([a-z])([A-Z])/,"$1-$2"))}function n(t){return t.toLowerCase()}function a(t){return o?o+t:n(t)}var o,s,r,c,l,u,d,p,f="",h={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},g=window.document,m=g.createElement("div"),v=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,b={};t.each(h,function(t,i){return m.style[t+"TransitionProperty"]!==e?(f="-"+n(t)+"-",o=i,!1):void 0}),s=f+"transform",b[r=f+"transition-property"]=b[c=f+"transition-duration"]=b[l=f+"transition-timing-function"]=b[u=f+"animation-name"]=b[d=f+"animation-duration"]=b[p=f+"animation-timing-function"]="",t.fx={off:o===e&&m.style.transitionProperty===e,speeds:{_default:400,fast:200,slow:600},cssPrefix:f,transitionEnd:a("TransitionEnd"),animationEnd:a("AnimationEnd")},t.fn.animate=function(e,i,n,a){return t.isPlainObject(i)&&(n=i.easing,a=i.complete,i=i.duration),i&&(i=("number"==typeof i?i:t.fx.speeds[i]||t.fx.speeds._default)/1e3),this.anim(e,i,n,a)},t.fn.anim=function(n,a,o,f){var h,g,m,y={},w="",_=this,x=t.fx.transitionEnd;if(a===e&&(a=.4),t.fx.off&&(a=0),"string"==typeof n)y[u]=n,y[d]=a+"s",y[p]=o||"linear",x=t.fx.animationEnd;else{g=[];for(h in n)v.test(h)?w+=h+"("+n[h]+") ":(y[h]=n[h],g.push(i(h)));w&&(y[s]=w,g.push(s)),a>0&&"object"==typeof n&&(y[r]=g.join(", "),y[c]=a+"s",y[l]=o||"linear")}return m=function(e){if("undefined"!=typeof e){if(e.target!==e.currentTarget)return;t(e.target).unbind(x,m)}t(this).css(b),f&&f.call(this)},a>0&&this.bind(x,m),this.size()&&this.get(0).clientLeft,this.css(y),0>=a&&setTimeout(function(){_.each(function(){m.call(this)})},0),this},m=null}(Zepto),function(t){function e(t){return"tagName"in t?t:t.parentNode}function i(t,e,i,n){var a=Math.abs(t-e),o=Math.abs(i-n);return a>=o?t-e>0?"Left":"Right":i-n>0?"Up":"Down"}function n(){l=null,u.last&&(u.el.trigger("longTap"),u={})}function a(){l&&clearTimeout(l),l=null}function o(){s&&clearTimeout(s),r&&clearTimeout(r),c&&clearTimeout(c),l&&clearTimeout(l),s=r=c=l=null,u={}}var s,r,c,l,u={},d=750;t(document).ready(function(){var p,f,h=0,g=0;t(document.body).bind("touchstart",function(i){p=Date.now(),f=p-(u.last||p),u.el=t(e(i.touches[0].target)),s&&clearTimeout(s),u.x1=i.touches[0].pageX,u.y1=i.touches[0].pageY,f>0&&250>=f&&(u.isDoubleTap=!0),u.last=p,l=setTimeout(n,d)}).bind("touchmove",function(t){a(),u.x2=t.touches[0].pageX,u.y2=t.touches[0].pageY,Math.abs(u.x1-u.x2)>10&&t.preventDefault(),h+=Math.abs(u.x1-u.x2),g+=Math.abs(u.y1-u.y2)}).bind("touchend",function(){a(),u.x2&&Math.abs(u.x1-u.x2)>30||u.y2&&Math.abs(u.y1-u.y2)>30?c=setTimeout(function(){u.el.trigger("swipe"),u.el.trigger("swipe"+i(u.x1,u.x2,u.y1,u.y2)),u={}},0):"last"in u&&(30>h&&30>g?r=setTimeout(function(){var e=t.Event("tap");e.cancelTouch=o,u.el.trigger(e),u.isDoubleTap?(u.el.trigger("doubleTap"),u={}):s=setTimeout(function(){s=null,u.el.trigger("singleTap"),u={}},250)},0):u={}),h=g=0}).bind("touchcancel",o),t(window).bind("scroll",o)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(e){t.fn[e]=function(t){return this.bind(e,t)}})}(Zepto),function(t){function e(e){return e=t(e),!(!e.width()&&!e.height())&&"none"!==e.css("display")}function i(t,e){t=t.replace(/=#\]/g,'="#"]');var i,n,a=r.exec(t);if(a&&a[2]in s&&(i=s[a[2]],n=a[3],t=a[1],n)){var o=Number(n);n=isNaN(o)?n.replace(/^["']|["']$/g,""):o}return e(t,i,n)}var n=t.zepto,a=n.qsa,o=n.matches,s=t.expr[":"]={visible:function(){return e(this)?this:void 0},hidden:function(){return e(this)?void 0:this},selected:function(){return this.selected?this:void 0},checked:function(){return this.checked?this:void 0},parent:function(){return this.parentNode},first:function(t){return 0===t?this:void 0},last:function(t,e){return t===e.length-1?this:void 0},eq:function(t,e,i){return t===i?this:void 0},contains:function(e,i,n){return t(this).text().indexOf(n)>-1?this:void 0},has:function(t,e,i){return n.qsa(this,i).length?this:void 0}},r=new RegExp("(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*"),c=/^\s*>/,l="Zepto"+ +new Date;n.qsa=function(e,o){return i(o,function(i,s,r){try{var u;!i&&s?i="*":c.test(i)&&(u=t(e).addClass(l),i="."+l+" "+i);var d=a(e,i)}catch(p){throw console.error("error performing selector: %o",o),p}finally{u&&u.removeClass(l)}return s?n.uniq(t.map(d,function(t,e){return s.call(t,e,d,r)})):d})},n.matches=function(t,e){return i(e,function(e,i,n){return!(e&&!o(t,e)||i&&i.call(t,null,n)!==t)})}}(Zepto),function(t){t.fn.formJson=function(e,i){function n(t,e){var i=l[t];i?(i.push||(l[t]=[i]),l[t].push(e)):l[t]=e}for(var a,o,s,r,e=e||t(this).get(0),c=e.elements,i=i||function(t){return t},l={},u=0,d=c.length;d>u;u++)if(a=c[u],s=a.name,!a.disabled&&s)switch(o=a.type,r=a.value,o){case"radio":case"checkbox":if(!a.checked)break;case"textarea":case"text":case"tel":case"email":case"password":case"hidden":case"file":n(s,i(r,s))}return l}}(Zepto),function(t,e){function i(i,n,a,o,s){"function"!=typeof n||s||(s=n,n=e);var r={opacity:a};return o&&(r.scale=o,i.css(t.fx.cssPrefix+"transform-origin","0 0")),i.animate(r,n,null,s)}function n(e,n,a,o){return i(e,n,0,a,function(){s.call(t(this)),o&&o.call(this)})}var a=window.document,o=(a.documentElement,t.fn.show),s=t.fn.hide,r=t.fn.toggle;t.fn.show=function(t,n){return o.call(this),t===e?t=0:this.css("opacity",0),i(this,t,1,"1,1",n)},t.fn.hide=function(t,i){return t===e?s.call(this):n(this,t,"0,0",i)},t.fn.toggle=function(i,n){return i===e||"boolean"==typeof i?r.call(this,i):this.each(function(){var e=t(this);e["none"==e.css("display")?"show":"hide"](i,n)})},t.fn.fadeTo=function(t,e,n){return i(this,t,e,null,n)},t.fn.fadeIn=function(t,e){var i=this.css("opacity");return i>0?this.css("opacity",0):i=1,o.call(this).fadeTo(t,i,e)},t.fn.fadeOut=function(t,e){return n(this,t,null,e)},t.fn.fadeToggle=function(e,i){return this.each(function(){var n=t(this);n[0==n.css("opacity")||"none"==n.css("display")?"fadeIn":"fadeOut"](e,i)})}}(Zepto),function(t){t.fn.getQueryString=function(t){for(var e=location.href.substring(location.href.indexOf("?")+1).split("&"),i={},n=0,a=e.length;a>n;n++){var o=e[n].split("=");i[o[0]]=o[1]}return i[t]?i[t]:""}}(Zepto),function(t){t.extend(t.fn,{cookie:function(e,i,n){var a,o,s,r;return arguments.length>1&&"[object Object]"!==String(i)?(n=t.extend({},n),(null===i||void 0===i)&&(n.expires=-1),"number"==typeof n.expires&&(a=24*n.expires*60*60*1e3,o=n.expires=new Date,o.setTime(o.getTime()+a)),i=String(i),document.cookie=[encodeURIComponent(e),"=",n.raw?i:encodeURIComponent(i),n.expires?"; expires="+n.expires.toUTCString():"",n.path?"; path="+n.path:"",n.domain?"; domain="+n.domain:"",n.secure?"; secure":""].join("")):(n=i||{},r=n.raw?function(t){return t}:decodeURIComponent,(s=new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?r(s[1]):null)}})}(Zepto),!function(t){"use strict";function e(t){(e=Array.prototype.indexOf?function(t){return o.indexOf(t)>-1}:function(t){var e=t+s;return o.join(s).indexOf(e)>-1})(t)}function i(t,i){var a,t,o,s=t.split("/"),r=s.length;for(a=0,o=n;r>a;a++,o=o[t]){if(t=s[a],0==a&&e(t))throw t+"is reservedWord";o[t]||a===r-1||(o[t]={}),a===r-1&&(o[t]=i)}}var n,e,a={},o=["require","define"],s="arr"+ +new Date;n=t.Pass={},n.define=function(t,e){if(!t)throw"base/namespace Pass.define first param must be passed in";return a[t]||(e?(a[t]=e,i(t,a[t])):(a[t]={},i(t,a[t]))),a[t]},n.require=function(t){if(!t||!a[t])throw"base/namespace Pass.require cant get target obj";return a[t]},t.Pass=n}(this),!function(t,e){"use strict";var i=(e.require,{login:"/static/appsapi/js/app_show_webapp_login.js",login_again:"/static/appsapi/js/app_show_webapp_login_again.js",sms_login:"/static/appsapi/js/app_show_webapp_sms_login.js",sms_verify:"/static/appsapi/js/app_show_webapp_sms_verify.js",face_login:"/static/appsapi/js/app_show_webapp_face_login.js",bind:"/static/appsapi/js/app_show_webapp_bind.js",bind_verify:"/static/appsapi/js/app_show_webapp_bind_verify.js",bindResult:"/static/appsapi/js/app_show_webapp_bind_result.js",forcedBind:"/static/appsapi/js/app_show_webapp_forced_bind.js",forcedBind_verify:"/static/appsapi/js/app_show_webapp_forced_bind_verify.js",realName:"/static/appsapi/js/app_show_webapp_real_name.js",realName_verify:"/static/appsapi/js/app_show_webapp_real_name_verify.js",verify:"/static/appsapi/js/app_show_webapp_verify.js",reg:"/static/appsapi/js/app_show_webapp_reg.js",reg_verify:"/static/appsapi/js/app_show_webapp_reg_verify.js",canshare_accounts:"/static/appsapi/js/app_show_webapp_canshare_accounts.js",authPwd:"/static/appsapi/js/app_show_webapp_auth_pwd.js",agreement:"/static/appsapi/js/app_show_webapp_agreement.js",personal_agreement:"/static/appsapi/js/app_show_webapp_personal_agreement.js",getpass:"/static/appsapi/js/app_show_webapp_getpass.js",getpassbyphone:"/static/appsapi/js/app_show_webapp_getpassbyphone.js",getpassbyemail:"/static/appsapi/js/app_show_webapp_getpassbyemail.js",getpassbyemail_result:"/static/appsapi/js/app_show_webapp_getpassbyemail_result.js",fastReg:"/static/appsapi/js/app_show_webapp_fast_reg.js",upstreamReg:"/static/appsapi/js/app_show_webapp_upstream_reg.js",setpwd:"/static/appsapi/js/app_show_webapp_setpwd.js",fastRegSuccess:"/static/appsapi/js/app_show_webapp_fast_reg_success.js",fastRegVerify:"/static/appsapi/js/app_show_webapp_fast_reg_verify.js",feedback:"/static/appsapi/js/app_show_webapp_feedback.js",codelist:"/static/appsapi/js/app_show_webapp_codelist.js",idcardverify:"/static/appsapi/js/app_show_webapp_idcardverify.js",uniqueVerifyCode:"/static/appsapi/js/app_show_webapp_unique_verify_code.js",setunamepwd:"/static/appsapi/js/app_show_webapp_setuname_pwd.js",secondCardVerify:"/static/appsapi/js/app_show_webapp_secondCard_verify.js",secondCardResult:"/static/appsapi/js/app_show_webapp_secondCard_result.js",smsSecondcard:"/static/appsapi/js/app_show_webapp_sms_secondcard.js",fullName:"/static/appsapi/js/app_show_webapp_fullName.js",question:"/static/appsapi/js/app_show_webapp_question.js"}),n={realName:"/static/appsapi/css/realname.css",secondCardResult:"/static/appsapi/css/second_card.css",secondCardVerify:"/static/appsapi/css/second_card.css",smsSecondcard:"/static/appsapi/css/second_card.css",login_again:"/static/appsapi/css/login_again.css",question:"/static/appsapi/css/question.css",idcardverify:"/static/appsapi/css/idcard.css",codelist:"/static/appsapi/css/codelist.css",feedback:"/static/appsapi/css/feedback.css"};e._modulePool=e._modulePool||{},e._moduleList=e._moduleList||[],e._moduleCurrent="",e._define=e._define||function(t,i){e._modulePool[t]=i&&i()},e._getModule=e._getModule||function(t){return e._modulePool[t]};var a=function(t,e){for(var i=e.length;i>0;i--)return t===e[i-1]?i-1:-1},o=function(t,e){for(var i=0;i<e.length;i++)if(t===e[i])return i;return-1};e.switchView=function(i){if(e.logAll&&e.logAll.logBfb&&(e.logAll&&e.logAll.setRelation&&e.logAll.setRelation(),i=i||"pagename",e.logAll.logBfb({en:"appsapi-"+i,eg:"in",evSource:e._moduleCurrent,ev:[i,"show"]})),t("input").blur(),"back"==i){var n=a(e._moduleCurrent,e._moduleList);if(e._modulePool[e._moduleCurrent].backSign)return e._modulePool[e._moduleCurrent].back&&e._modulePool[e._moduleCurrent].back(),i=e._moduleList[n],void e.animate(i);if(i=n>0?e._moduleList[n-1]:"",t(".mod-dialog-body").length>0&&"block"==t(".mod-dialog-body").css("display"))return;e._moduleList.length>0&&e._moduleList.splice(n,1)}else if(-1==t.inArray(i,e._moduleList))e._moduleList.push(i);else{var n=o(i,e._moduleList);e._moduleList.splice(n,1),e._moduleList.push(i)}e.animate(i),""!=i&&(e._moduleCurrent=i,e.client.deviceClass("action_set_title",{title:e._getModule(i).lang.title}))},e._getScript=e._getScript||function(t,a){function o(){var i=e._getModule(t);if(!i)throw new Error("load "+t+"module script error.");a&&a(i)}function s(t){var e=document,i=e.createElement("SCRIPT");i.type="text/javascript",i.charset="UTF-8",i.readyState?i.onreadystatechange=function(){("loaded"==i.readyState||"complete"==i.readyState)&&(i.onreadystatechange=null,o())}:i.onload=function(){o()},i.src=apiDomain+t,e.getElementsByTagName("head")[0].appendChild(i)}var r=e._getModule(t);r?a&&a(r):n[t]?e.load.loadCssFileW(apiDomain+n[t],function(){s(i[t])}):s(i[t])}}($,window.Pass),!function(){var t,e;!function(){function i(e){var i=e.factory,n=function(i){var n=i;return"."===i.charAt(0)&&(n=e.id.slice(0,e.id.lastIndexOf(s))+s+i.slice(2)),t(n)};return e.exports={},delete e.factory,i(n,e.exports,e),e.exports}var n={},a=[],o={},s=".";t=function(t){if(!n[t])throw"module "+t+" not found";if(t in o){var e=a.slice(o[t]).join("->")+"->"+t;throw"Cycle in require graph: "+e}if(n[t].factory)try{return o[t]=a.length,a.push(t),i(n[t])}finally{delete o[t],a.pop()}return n[t].exports},e=function(t,e){if(n[t])throw"module "+t+" already defined";n[t]={id:t,factory:e}},e.remove=function(t){delete n[t]},e.moduleMap=n}(),e("sapi_bridge",function(t,e,i){var n={callbackId:Math.floor(2e9*Math.random()),callbacks:{},commandQueue:[],loopEnabled:!1,invoke:function(t,e,i,n){return this.loopEnabled?void this.enqueueCommand(t,e,i,n):(t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n},void(window.sapiUseIframe?this.bridgeLoadURL("sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId):document.location="sapi://"+t+"/"+JSON.stringify(e)+"/"+this.callbackId))},bridgeLoadURL:function(t){var e;e=document.createElement("iframe"),e.setAttribute("src",t),e.setAttribute("style","display:none;"),e.setAttribute("height","0px"),e.setAttribute("width","0px"),e.setAttribute("frameborder","0"),document.body.appendChild(e),e.parentNode.removeChild(e),e=null},enqueueCommand:function(t,e,i,n){t||(t="defaultCommand"),e||(e={}),this.callbackId++,this.callbacks[this.callbackId]={success:i,fail:n};var a=t+"/"+JSON.stringify(e)+"/"+this.callbackId;this.commandQueue.push(a)},fetchNativeCommands:function(){var t=JSON.stringify(this.commandQueue);return this.commandQueue=[],t},activateCommandQueue:function(){document.location="sapi://ready"},callbackSuccess:function(t,e){try{n.callbackFromNative(t,e,!0)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackError:function(t,e){try{n.callbackFromNative(t,e,!1)}catch(i){console.log("Error in error callback: "+t+" = "+i)}},callbackFromNative:function(t,e,i){var a=this.callbacks[t];a&&(i?a.success&&a.success(t,e):a.fail&&a.fail(t,e),delete n.callbacks[t])}};i.exports=n}),window.sapi_bridge=t("sapi_bridge")}(),!function(t,e){var e=Pass;e.client=e.client||{network:!1,encodeHTML:function(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},upData:function(){var t,e=location.search.substring(1).split("&"),i=this,n={};for(var a in e)t=e[a].split("="),n[t[0]]=i.encodeHTML(t[1]);publicData=n,publicData.lang=(publicData.lang||"zh-cn").toLowerCase(),-1=="zh-cn|en".indexOf(publicData.lang)&&(publicData.lang="zh-cn"),"en"==publicData.lang&&(publicData.overseas=1)},fastReg:function(){window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg")},customLogin:function(){window.sapi_obj&&window.sapi_obj.action_share_accounts_view_btn_clicked?window.sapi_obj.action_share_accounts_view_btn_clicked():"android"==publicData.client?prompt("{action:{name:'action_share_accounts_view_btn_clicked'}}"):"ios"==publicData.client&&this.deviceClass("action_share_accounts_view_btn_clicked")},vcodetoclient:function(t){window.sapi_obj&&window.sapi_obj.action_received_sms_code?window.sapi_obj.action_received_sms_code("Pass.client.setVcodeVal",t):"android"==publicData.client&&prompt("{action:{name:'action_received_sms_code', params:['Pass.client.setVcodeVal','"+t+"']}}")},setVcodeVal:function(t,e){Pass._modulePool[e]&&Pass._modulePool[e].setVcodeVal&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[e].setVcodeVal).toLowerCase()&&Pass._modulePool[e].setVcodeVal(t)},webViewWillAppear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillAppear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillAppear).toLowerCase()&&Pass._modulePool[t].webViewWillAppear()},webViewWillDisappear:function(){var t=Pass._moduleCurrent||"login";Pass._modulePool[t]&&Pass._modulePool[t].webViewWillDisappear&&"[object function]"==Object.prototype.toString.call(Pass._modulePool[t].webViewWillDisappear).toLowerCase()&&Pass._modulePool[t].webViewWillDisappear()},deviceClass:function(t,e,i,n){if("android"==publicData.client&&window.sapi_obj){if(window.sapi_obj[t])return window.sapi_obj[t]()}else{if("android"==publicData.client){var e=e||{},a="",o=JSON.stringify(e),s="";return e.title?(a=e.title,s="{action:{name:'"+t+"',params:['"+a+"']}}"):s="{action:{name:'"+t+"',params:['"+o+"']}}",prompt(s)}if("ios"==publicData.client){var e=e||{},r=function(t,e){i&&i(t,e)},c=function(t,e){n&&n(t,e)};window.sapi_bridge.invoke(arguments[0],e,r,c)}}},success:function(t,e){if(t=t.replace("<loginType></loginType>","<loginType>"+(e?e:"password")+"</loginType>"),window.sapi_obj)window.sapi_obj.authorized_response(t);else if("android"==publicData.client){var i="{action:{name:'authorized_response',params:['"+t+"']}}";prompt(i)}else if("ios"==publicData.client){var n=function(){},a=function(){};window.sapi_bridge.invoke("loginSucceed",{result:t},n,a)}},action_unite_verify:function(t){if(window.sapi_obj&&window.sapi_obj.action_unite_verify)window.sapi_obj.action_unite_verify&&window.sapi_obj.action_unite_verify(t);else if("android"==publicData.client)prompt("{action:{name:'action_unite_verify'}}")&&prompt("{action:{name:'action_unite_verify',params:['"+t+"']}}","action_unite_verify");else if("ios"==publicData.client){var e=function(){},i=function(){};window.sapi_bridge.invoke("action_unite_verify",{result:t},e,i)}},getNavWhiteList:function(){var t=[{title:"第三方登录",url:"https: //passport.baidu.com/phoenix/account/startlogin"}];return t},net:function(){this.network=!0,e._modulePool.canshare_accounts&&e._modulePool.canshare_accounts.getImg(),window.Pass.login&&window.Pass.login.getRerocdList&&window.Pass.login.getRerocdList(),window.Pass.sms_login&&window.Pass.sms_login.getRerocdList&&window.Pass.sms_login.getRerocdList(),e.getSeverTimeAsync(),window.Pass.face_login&&window.Pass.face_login.getUserInfo&&window.Pass.face_login.getUserInfo(),this.logPV(e._moduleCurrent)},checkNativeMethod:function(t,i,n){if("ios"===publicData.client)e.client.deviceClass("sapi_action_check_method_support",{method:t},function(t,e){e.errmsg,1===e.errno?i&&i():n&&n()});else{var a=JSON.parse(prompt('{action: {name: "sapi_action_check_method_support", params: ["'+t+'"]}}'));1===a?i&&i():n&&n()}},ischeckNativeMethod:function(t,e,i){"1"===publicData.suppcheck?this.checkNativeMethod(t,e,i):i&&i()},sendLog:function(t,i,n,a){var o=new Image;o.onerror=o.onload=function(){o=null},o.src="https://nsclick.baidu.com/v.gif?pid=111&type=1023&gid="+(e.guideRandom||"")+"&tpl="+(publicData.tpl||"")+"&device="+(t||"")+"&name="+(i||"")+"&time="+(n||"")+"&errno="+(a||"")+"&tt="+(new Date).getTime()},logAjax:function(t,e,i){"android"==publicData.client&&this.network?this.sendLog("android",t,e,i):"ios"==publicData.client&&this.sendLog("ios",t,e,i)},logPV:function(t){if("back"!=t){var e={login:"pv_login",bind:"pv_bind",verify:"pv_verify",reg:"pv_reg",sms_login:"pv_slogin",canshare_accounts:"pv_sh_acc",agreement:"pv_agree",getpass:"pv_forgot",getpassbyphone:"pv_pforgot",getpassbyemail:"pv_eforgot",getpassbyemail_result:"pv_eforgot_r",fastReg:"pv_sreg",fastRegVerify:"pv_sreg_vcd",fastRegSuccess:"pv_sreg_succ",setpwd:"pv_sreg_pwd"},i=e[t]?e[t]:t;"android"==publicData.client&&this.network?this.sendLog("android",i,"",0,0):"ios"==publicData.client&&this.sendLog("ios",i,"",0,0)}},logEffective:function(t,e){function i(){var n=new Image;n.onerror=n.onload=function(){n=null},n.src="https://passport.baidu.com/img/v.gif?type="+e+"&v="+(new Date).getTime();for(var a in t)t[a].off(a,i)}for(var n in t)t[n].on(n,i)},logAjaxAll:function(e,i,n){t.ajax({url:i+"&module="+e,type:"POST",dataType:"json",data:n,error:function(){},success:function(){}})}},e.client.upData()}($,window.Pass),!function(t,e){"use strict";function i(t){this.module=t.module}var n=(e.require,{"zh-cn":{goback:"返回"},en:{goback:"Back"}}[window.publicData.lang||"zh-cn"]);i.prototype.getId=function(t){var e=this.module+"-"+t;return e},i.prototype._getHeaderField=function(t){var e=t.nextRole?' data-role="'+t.nextRole+'"':"",i="";return i+=t.overseas?'<header class="pass-header overseas_login_header" id="login-overseas-headerWrapper" data-role="back"><span class="pass-header-back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":t.usual?'<header class="pass-header usual_login_header" id="'+this.getId("headerWrapper")+'">':'<header class="pass-header" id="'+this.getId("headerWrapper")+'">',i+=(t.goBack?'<span class="pass-header-back" data-role="back">'+(1==publicData.isVoiceover?n.goback:"")+"</span>":"")+'<span class="pass-header-title">'+t.title+"</span>"+(t.words?'<span class="pass-header-links"'+e+">"+t.words+"</span>":"")+"</header>"},i.prototype._getToastField=function(){var t='<p class="pass-mod-toastWrapper" id="'+this.getId("toastWrapper")+'"></p>';return t},i.prototype._getLoadingField=function(t){var e='<p class="pass-mod-loadingWrap" id="'+this.module+'-loading"><span class="pass-mod-loadingImg"></span>'+t.html+'</p><div class="pass-mod-Mask" id="'+this.module+'-loadingMask"></div>';return e},i.prototype._getErrorField=function(){var t='<p class="error_area" id="'+this.getId("errorWrapper")+'" role="alert"></p>';return t},i.prototype._getRegularField=function(t){var e=t.autoComplete?' autocomplete = "off"':"",i=t.type?t.type:t.pwd?"password":"text",n=t.maxLength?'maxlength="'+t.maxLength+'"':"",a=t.placeholder?' placeholder="'+t.placeholder+'"':"",o=t.value?t.value:"",s=(t.code?'<span class="pass-overseas-wrapper">':"")+'<label class="pass-text-label '+(t.labellong?"pass-text-label-long ":"")+(t.code?"pass-label-"+this.module+"-code pass-label-code pass-text-label-":"pass-text-label-"),r=t.code?'<p class="pass-form-code pass-form-item pass-form-input-wrapper pass-form-item-':'<p class="pass-form-item pass-form-input-wrapper pass-form-item-',c=r+t.field+'">'+(t.label?s+t.field+'" for="'+this.getId(t.field)+'" id="'+this.module+"-label-"+t.field+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+(t.code?'<span class="pass-overseas-down"></span></span>':"")+'<input type="'+i+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="'+(t.passcode?"text-input-code":"")+" pass-text-input pass-text-input-"+t.field+'" '+n+e+a+' value="'+o+'" '+(t.readonly?"readonly":"")+"/>"+(0==t.clearValue?"":'<span class="pass-input-clearValue hide pass-clearbtn-'+t.field+'"></span>')+(t.rightDom?t.rightDom:"")+"</p>";return c},i.prototype._getRegularFieldNew=function(t){var e=(t.autoComplete?' autocomplete = "off"':"",t.type?t.type:t.pwd?"password":"text",t.maxLength?'maxlength="'+t.maxLength+'"':""),i=t.placeholder?' placeholder="'+t.placeholder+'"':"",n=t.value?t.value:"",a=t.label?'<label class="form-label">'+t.labeltext+"</label>":"",o='<div class="form-input">'+a+'<p class="pass-form-item form-input-value"><input type="text" name="'+t.field+'" class="text-input'+(t.disabled?" text-grey":"")+'"'+e+i+' value="'+n+'" id="'+this.module+"-"+t.field+'"'+(t.disabled?"disabled":"")+'><span class="pass-input-clearValue hide pass-input-clearValue-new"></span></p><hr class="pass-form-item-sep"><p class="error_area" id="'+this.module+"-"+t.field+'Error"></p></div>';return o},i.prototype._getVCodeField=function(t){var e=1==t.show?"":' style="display:none;"',i=t.type?t.type:"text",n='<p class="pass-form-item-v pass-form-item-'+t.field+'"'+e+' id="'+this.getId("verifyCodeWrapper")+'"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+i+'" id="'+this.getId(t.field)+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span><span class="pass-form-vcodeImg"><img class="pass-verifyCode-img" width="100" height="40" id="'+this.getId("verifyCodeImg")+'" alt="验证码"/></span></p>';return n},i.prototype._getVCodeSmsField=function(t){var e=t.type?t.type:"text",i='<p class="pass-form-item-v pass-form-item-'+t.field+' pass-form-item-smsVcode pass-form-item-vcode"><span class="pass-form-input-wrapper-forvcode">'+(t.labeltext?'<label class="pass-text-label pass-text-label-verifyCode" for="'+this.getId(t.field)+'">'+(t.labeltext?t.labeltext:"")+"</label>":"")+'<input type="'+e+'" id="'+this.module+"-"+t.field+'" name="'+t.field+'" class="pass-text-input pass-text-input-'+t.field+'" value="" placeholder="'+t.placeholder+'" autocomplete="off" maxlength="6"/>'+(0==t.clearValue?"":'<span class="pass-input-clearValue pass-clearbtn-'+t.field+'"></span>')+'</span></p><p class="verify-button"><input type="button" value="'+t.text+'" class="pass-form-VerifyButton" id="'+this.getId("verifyCodeSend")+'"></p>';return i},i.prototype._getHiddenField=function(t){var e,i=this,n='<p id="'+this.getId("hiddenFields")+'" class="hide">';for(var a in t)t.hasOwnProperty(a)&&(e="string"==typeof t[a]?t[a].replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#39;"):t[a],n+='<input type="hidden" id="'+i.getId(a)+'" name="'+a+'" value="'+e+'" />');return n+="</p>"},i.prototype._getSubmitField=function(t){var e='<p class="pass-form-item pass-form-item-submit"><input id="'+this.getId("submit")+'" type="submit" value="'+t.value+'" class="pass-button-full pass-button-submit '+(t.actived?"":"pass-button-full-disabled")+'"'+(t.disabled?"disabled=disabled":"")+" /></p>";return e},i.prototype._getFooterField=function(){var t='<footer class="footer" id="'+this.getId("footerWrapper")+'">&copy;'+(new Date).getFullYear()+" Baidu</footer>";return t},e.define("ui/temp",i)}($,window.Pass),!function(t,e){"use strict";e.traceID={headID:"",flowID:"",cases:"",initTraceID:function(t){var e=this;t&&t.length>0?(e.headID=t.slice(0,6),e.flowID=t.slice(6,8)):e.destory()},createTraceID:function(){var t=this;return t.headID+t.flowID+t.cases},startFlow:function(t){var e=this,i=e.getFlowID(t);0===e.flowID.length&&(e.createHeadID(),e.flowID=i)},finishFlow:function(){var t=this;t.destory()},getRandom:function(){return parseInt(90*Math.random()+10,10)},createHeadID:function(){var t=this,e=(new Date).getTime()+t.getRandom().toString(),i=Number(e).toString(16),n=i.length,a=i.slice(n-6,n).toUpperCase();t.headID=a},getTraceID:function(t,e){var i=this,n=t&&t.getResponseHeader&&t.getResponseHeader("Trace-ID")||e&&e.traceid||"";i.initTraceID(n)},getFlowID:function(t){var e={wapLogin:"03",wapReg:"04",wapAppeal:"05",wapGetPass:"06",wapAccount:"07",wapFreeze:"08",wapUnFreeze:"09"};return e[t]},setData:function(t){var e=this;return t.data?t.data.traceid=e.createTraceID():t.url=t.url+(t.url.indexOf("?")>-1?"&":"?")+"traceid="+e.createTraceID(),t},destory:function(){var t=this;t.headID="",t.flowID=""}},e.logAll={logPass:function(t,e){function i(t){var e,i,n,a,o,s,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(n=t.length,i=0,e="";n>i;){if(a=255&t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4),e+="==";break}if(o=t.charCodeAt(i++),i==n){e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2),e+="=";break}s=t.charCodeAt(i++),e+=r.charAt(a>>2),e+=r.charAt((3&a)<<4|(240&o)>>4),e+=r.charAt((15&o)<<2|(192&s)>>6),e+=r.charAt(63&s)}return e}var n=document.location.protocol+"//nsclick.baidu.com/v.gif?pid=111&type=1023&v="+(new Date).getTime(),a="";for(var o in e)a=a+o+":"+e[o]+",";a=i("{"+a.substring(0,a.length-1)+"}");var s="&page="+t.page+"&source="+t.source+"&tpl="+t.tpl+"&auto_statistic="+a;if(n+=s){var r=new Image;r.onload=r.onerror=function(){r.onload=r.onerror=null,r=null},r.src=n}},getRefer:function(){var t,e=document.referrer;if(e.indexOf("?")>-1){var i=/(^.+?)\?{1}.*/,n=e.match(i);t=n[1]}else t=e||"source";return t},setRelation:function(){var t="localStorage"in window&&null!==window.localStorage;t&&(localStorage.setItem("keyprev",localStorage.getItem("key")||""),localStorage.setItem("key",(new Date).getTime()))},getRelation:function(){var t="localStorage"in window&&null!==window.localStorage,e="";if(t){var i=localStorage.getItem("keyprev")||"",n=localStorage.getItem("key")||"";e=""!=i&&""!=n&&parseInt(n,10)-parseInt(i,10)>18e5?"-"+localStorage.getItem("key"):i+"-"+n}return e},logBfb:function(i){window.statisticUserActionSwitcher=!0;var n,i=i||{},a=i.ev||[];if(e.logAll&&e.logAll.getRelation&&(n=e.logAll.getRelation()),e.logAll&&e.logAll.logPass){var o={page:i.logPage||e._moduleCurrent||"",source:"native",tpl:publicData.tpl||""},s={};i.autoStatisticObj&&(s=i.autoStatisticObj),s.eventType=i.en||"",e.logAll.logPass(o,s)}e.load.insertScript("https://baifubao.baidu.com/content/cashdesk/statistic.min.js",function(){if(window.BfbStatistic){var e=[];e.push(t.fn.cookie("BAIDUID")||"BAIDUID"),e.push(publicData.tpl||"ppdemo"),e.push(publicData.clientfrom||"clientfrom"),e.push(publicData.client||"client"),e.push(publicData.subpro||"subpro"),e.push(n||"source"),window.BfbStatistic.sendUserActionData({en:i.en,eg:i.eg||"",ev:e.concat(a)},function(){i.callback&&i.callback()})}})}}}($,window.Pass),!function(t,e){"use strict";function i(e){this.config=t.extend(e,{}),this.button=this.config.handler,this._validations=[],this._errno=0,this._time=this.config.sTime||60,this._init()}e.require,i.prototype._init=function(){var t=this;this.addValidation(this.config.validations),this.button.on("click",function(){t.clickCallBack(),t.config.tapcallback&&t.config.tapcallback()}),"disabled"==this.config.initStatus&&(this._timing(),this.button.get(0).disabled=!0)},i.prototype.clickCallBack=function(){this.button.get(0).disabled||(this._validate(),0===this.getErrno()&&(this._send(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend",ev:[e._moduleCurrent||"","click"]})))},i.prototype._timing=function(){function e(){return 0==--o?(a.val(n.config.sendText),a.removeClass("pass-button-disabled"),n.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),void(a.get(0).disabled=!1)):(a.val(n.config.reSend+"("+o+")"),void(i=setTimeout(function(){e()
},1e3)))}var i,n=this,a=n.button,o=n._time;a.addClass("pass-button-disabled"),e()},i.prototype._send=function(){var i,n,a=this;a.config.beforeSend&&a.config.beforeSend(),i="[object function]"==Object.prototype.toString.call(a.config.url).toLowerCase()?a.config.url():a.config.url,"[object function]"==Object.prototype.toString.call(a.config.data).toLowerCase()?(n=a.config.data(),n.tpl=publicData.tpl):(n=a.config.data,n.tpl=publicData.tpl),a.button.get(0).disabled=!0,a.button.get(0).value=a.config.loadingText,n.clientfrom=publicData.clientfrom||"native",a.config.beforeSend&&a.config.beforeSend();var o=new Date;t.ajax({url:i,data:n,type:a.config.type||"POST",dataType:a.config.dataType||"json",success:function(t){var i=(new Date).getTime()-o;e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-button_smsSend_request",ev:[e._moduleCurrent||"","request",t.errInfo.no,t.errInfo.msg]}),0==t.errInfo.no?(a._timing(),a.config.success(t)):(a.button.get(0).value=a.config.sendText,a.button.get(0).disabled=!1,a.config.error(t)),!a.config.page||"ios"!=publicData.client&&"android"!=publicData.client||e.client.logAjax(a.config.page,i,t.errno||t.errInfo&&t.errInfo.no),a.sendTimer&&clearTimeout(a.sendTimer)}}),a.config.timmerText&&(a.sendTimer=setTimeout(function(){a.button.get(0).disabled=!1,a.config.is_voice_sms?t("#sms_verify-verifyCodeSend").removeAttr("disabled").removeClass("pass-button-disabled"):t("#sms_verify-voiceVerify")&&t("#sms_verify-voiceVerify").removeAttr("disabled").removeClass("voice_sms_disabled"),a.button.get(0).value=a.config.sendText,a.config.error({errInfo:{msg:a.config.timmerText}})},a.config.timmer||15e3))},i.prototype.addValidation=function(t){"[object Function]"==Object.prototype.toString.call(t)&&this._validations.push(t)},i.prototype._validate=function(){for(var t=this._validations.length;t--;){var e=this._validations[t].call(this,this._value);if(this.setErrno(e.errNo),e.errNo)break}},i.prototype.getErrno=function(){return this._errno},i.prototype.setErrno=function(t){this._errno=t},e.define("ui/button",i)}($,window.Pass),!function(t,e){"use strict";var i=(e.require,{"zh-cn":{required:"请输入%s",phone:"请输入有效手机号码",email:"邮箱格式不正确",password:"密码格式不正确",idcard:"身份证格式不正确",passAllNum:"请输入数字、字母和符号组合",passHaveSpace:"密码6-14位不能含有空格"},en:{required:"Enter %s",phone:"Incorrect phone format",email:"Incorrect email format",password:"Incorrect password format",idcard:"Incorrect idcard format",passAllNum:"Incorrect password format",passHaveSpace:"Incorrect password format"}}[window.publicData.lang||"zh-cn"]);e.animate=function(i){if(""==i){var n=publicData.backType;return void(n?window.history.go(-1):"ios"==publicData.client||"android"==publicData.client?e.client.deviceClass("finish"):document.location=publicData.u)}""==e._moduleCurrent?t("#"+i).css("display","block"):e._moduleCurrent!=i?(t("#"+e._moduleCurrent).css("display","none").css("z-index","-1"),t("#"+i).css("display","block").css("z-index","0")):t("#"+i).css("display","block").css("z-index","0"),e._modulePool&&e._modulePool[i]&&e._modulePool[i].initModule&&e._modulePool[i].initModule(),("ios"==publicData.client||"android"==publicData.client)&&e.client.logPV(i)},e.infoAnimate=function(e,i){var n=t("#"+e+"-errorWrapper");n.html(i)},e.removeInfoAnimate=function(e){t("#"+e+"-errorWrapper").html(""),t(".pass-form-item-error").removeClass("pass-form-item-error")},"ios"==publicData.client&&t(window).on("resize",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),t(window).on("orientationchange",function(){var e=document.documentElement;setTimeout(function(){t("html").width(e.clientWidth)},0),setTimeout(function(){t("html").width(e.clientWidth)},400)}),e.view={tap:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("tap",i).on("touchstart",function(){t(document).on("click",n,!0)})},click:function(e,i){var n=function(e){e.stopPropagation(),e.preventDefault(),t(document).off("click",n,!0)};e.on("click",i).on("touchstart",function(){t(document).on("click",n,!0)})},cutPage:function(i,n){e.view.click(i,function(){var i=t(this).attr("data-role");if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i+"_cutPage",ev:[e.module||"","click"]}),n&&n.callback&&n.callback(),"back"==i)Pass.switchView(i);else{if("fastReg"==i||"reg"==i&&"1"===publicData.fastRegLink)return void e.client.fastReg();Pass._getScript(i,function(t){t.render("pageWrapper",n||{})})}})},clearInputValueBtn:function(i,n,a){i.on("focus",function(){""!=t(this).val()&&n.is(":hidden")&&setTimeout(function(){n.css("display","block")},25)}),i.on("blur",function(){n.is(":hidden")||n.css("display","none")}),i.on("keyup",function(){e.removeInfoAnimate(e._moduleCurrent),""!=t(this).val()||n.is(":hidden")?""!=t(this).val()&&n.is(":hidden")&&n.css("display","block"):n.css("display","none")}),n.on("tap",function(){e.removeInfoAnimate(e._moduleCurrent),i.val(""),t(this).hide(),a&&t(a).addClass("pass-button-full-disabled"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-input_clearValue_"+i.attr("name"),ev:[e._moduleCurrent||"","click"]})})},_setFocusStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-focus")&&n.addClass("pass-form-item-focus")},_setBlurStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&n.hasClass("pass-form-item-focus")&&n.removeClass("pass-form-item-focus")},_setErrorStyle:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item");n.length>0&&!n.hasClass("pass-form-item-error")&&n.addClass("pass-form-item-error")},_clearErrorStyle:function(){setTimeout(function(){t(".pass-form-item-error").each(function(){t(this).removeClass("pass-form-item-error")})},2e3)},_mobilenumFormat:function(e,i,n){t(e.getElement(i)).on("keyup",function(){var a=t(e.getElement(i)).val(),o=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;a=a&&a.replace(/\s/g,"").replace(o,"$1 $2"),t(e.getElement(i)).val(a),n&&n()})},_substrMobile:function(t){var e="",i=/(\d{3}){1}(\d){1,4}?(?=\d*$)/g;return t?(e=t.replace(/\s/g,"").replace(i,"$1 $2"),e=t.replace(/\s/g,"").length>11?t.replace(/\s/g,"").substring(0,11).replace(i,"$1 $2"):t.replace(/\s/g,"").replace(i,"$1 $2")):void 0},_strTrim:function(t){return"[object string]"==Object.prototype.toString.call(t).toLowerCase()?t.replace(/\s/g,""):void 0},_SBCtoDBC:function(t){var e="";if(t){for(var i=t.length,n=0;i>n;n++){var a=t.charCodeAt(n);a=a>=65281&&65374>=a?a-65248:a,a=12288==a?32:a,e+=String.fromCharCode(a)}return e}},_setMaxLength:function(t,i,n){t.on("keydown",function(){e.view._strTrim(this.value).length==i?this.setAttribute("maxlength",i+n):this.removeAttribute("maxlength")})},setSubmitStyle:function(e,i){function n(){e.keyupTimer=!0;for(var i in e.validateRules){var n=e.getElement(i);if(n&&0!=n.offsetHeight&&""==n.value)return-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&t(e.getElement("submit")).addClass("pass-button-full-disabled"),!1}t(e.getElement("submit")).removeClass("pass-button-full-disabled")}clearTimeout(e.keyupTimer),0===i?n():e.keyupTimer=setTimeout(function(){n()},200)},fullButton:function(e){e.on("touchstart",function(){t(this).hasClass("pass-button-full-disabled")||t(this).addClass("pass-button-full-active")}),e.on("touchend",function(){t(this).hasClass("pass-button-full-active")&&t(this).removeClass("pass-button-full-active")})},touch:function(e,i){e.on("touchstart",function(){t(this).disabled||t(this).addClass(i)}),e.on("touchend",function(){t(this).hasClass(i)>-1&&t(this).removeClass(i)})},labelFocus:function(e,i){t("#"+e.module+"-label-"+i).addClass("pass-label-"+i+"-focus")},labelBlur:function(e,i){t("#"+e.module+"-label-"+i).removeClass("pass-label-"+i+"-focus")},inputBlur:function(){t(document).on("tap",function(e){"input"!=e.target.tagName.toLowerCase()&&t("input").blur()})},inputFocusLine:function(e,i){var n=t(e.getElement(i)).parents(".pass-form-item").next(".pass-form-item-sep");t("#"+e.module+"-"+i+"Error").html(""),n.removeClass("pass-form-item-sep-error").removeClass("pass-form-item-sep-blur"),t(".pass-form-item-sep-blur").length>0?setTimeout(function(){n.addClass("pass-form-item-sep-focus")},300):n.addClass("pass-form-item-sep-focus")},inputBlurLine:function(e,i){var n=t(e.getElement(i)),a=n.parents(".pass-form-item").next(".pass-form-item-sep");a.removeClass("pass-form-item-sep-focus").addClass("pass-form-item-sep-blur"),setTimeout(function(){a.removeClass("pass-form-item-sep-blur")},300)},inputSuccessLine:function(e,i){var e=this,n=t(e.getElement(i));n.next(".input-clearValue").addClass("input-clearValue-ok");var a=t("#"+e.module+"-"+i+"Error");t(a).html(""),t(e.getElement(i)).parents(".pass-form-item").next(".pass-form-item-sep").removeClass("pass-form-item-sep-error")},inputScroll:function(e,i){var n=["automap"],a=t.fn.getQueryString(a);n.indexOf(a)&&t(e).each(function(e,n){n.focus(function(){var e=t(window).height(),n=e+e/2,a=t(this).offset().top;i.height(n),window.scrollTo(0,a-76)})})},setManMachine:function(i){0===t("#dv_Input").length&&(t(i.getElement("hiddenFields")).append('<input id="dv_Input" type="hidden" value="" name="dv" />'),e&&e.load&&e.load.insertScript&&e.load.insertScript("https://passport.baidu.com/static/passpc-base/js/ld.min.js?tt="+(new Date).getTime()))}},e.validator={_validator:{_validateInfo:{},confStorage:{},builtInMsg:i,builtInRules:{required:/\S+/,phone:/^1[3456789]\d{9}$/,email:/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,password:/^\S{6,14}$/,idcard:/(^\d{15}$)|(^\d{17}(\d|X|x)$)/,passAllNum:/^[0-9]*$/,passHaveSpace:/^([0-9a-zA-Z\_`!~@#$%^*+=,.?;'":)(}{/\\\|&lt;&gt;&amp;\[\-]|\]]){6,14}$/},init:function(t,e){this.confStorage[t.module]=e},validate:function(t,e,i){var n=this,a=t.getElement(e),o={field:e};if(!a||0==a.offsetHeight)return!1;var s,r=n.confStorage[t.module][e],c=r.rules;s=a.value;for(var l=0,u=c.length;u>l;l++){var d,p=c[l],f=n.builtInRules[p];if(f instanceof Function?d=f.call(t,a):(d=new RegExp(f).test(s),"passAllNum"==p&&(d=!d)),!d)return o.error=!0,n._validateInfo[e]=0,o.msg=n.builtInMsg[p].replace(/\%s/,r.desc),o.field=a,o.fieldname=e,t._validateError(o),void i.error(o)}r.asyncRule?r.asyncRule.call(t,{success:function(){o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o)},error:function(a){o.error=!0,n._validateInfo[e]=0,o.msg=a.msg,t._validateError(o),i.error(o)}}):(o.error=!1,n._validateInfo[e]=1,t._validateSuccess(o),i.success(o))},validateAll:function(t,e,i){function n(){r=!0,s?e&&e.error(c):e&&e.success(c)}var a=this.confStorage[t.module],o=0,s=!1,r=!1,c=[],l=this._getActiveValidate(t,!0);for(var u in a){if(r)break;this.validate(t,u,{success:function(t){o++,c.push(t),o==l&&n()},error:function(t){return s=!0,i?void n():(o++,c.push(t),void(o==l&&n()))}})}},_getActiveValidate:function(t,e){var i=this.confStorage[t.module],n=[];for(var a in i){var o=t.getElement(a);o&&0!=o.offsetHeight&&n.push(o)}return e?n.length:n},addRule:function(e,i){var n={};n[e]=i,t.extend(this.builtInRules,n)},addMsg:function(e,i){var n={};n[e]=i,t.extend(this.builtInMsg,n)}},validate:function(t,e){var i=this;this._validator.validate(i,t,{success:function(t){e&&e.success&&e.success(t)},error:function(t){e&&e.error&&e.error(t)}})},validateAll:function(t,e){var i=this;e="boolean"==typeof t?t:e?e:!1,i._validator.validateAll(i,{success:function(e){t&&t.success&&t.success(e)},error:function(e){t&&t.error&&t.error(e)}},e)},getValidateStatus:function(t){return this._validateInfo.hasOwnProperty(t)?this._validateInfo[t]:-1},setValidateSuccess:function(t){var e=this;e._validateInfo[t]=1,e._validateSuccess({field:t})},setValidateError:function(t,e){var i=this;i._validateInfo[t]=0,i._validateError({field:t,msg:e})}},e.load={insertScript:function(t,i){if(e.jsFileList=e.jsFileList||{},e.jsFileList[t])i&&i();else{var n=document,a=n.createElement("script");a.type="text/javascript",a.charset="utf-8",a.readyState?a.onreadystatechange=function(){("loaded"==a.readyState||"complete"==a.readyState)&&(a.onreadystatechange=null,e.jsFileList[t]=!0,i&&i())}:a.onload=function(){e.jsFileList[t]=!0,i&&i()},a.src=t,n.getElementsByTagName("head")[0].appendChild(a)}},loadCssFileW:function(t,e){if(window._loadedFilesW=window._loadedFilesW||{},window._loadedFilesW[t])e&&e();else{window._loadedFilesW[t]=!0;var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.href=t,document.getElementsByTagName("head")[0].appendChild(i),i.readyState?i.onreadystatechange=function(){("loaded"===i.readyState||"complete"===i.readyState)&&(i.onreadystatechange=null,e&&e())}:i.onload=function(){e&&e()}}}}}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.width=t.width,this.height=t.height,this.mask=t.mask,this.titleText=t.titleText,this.content=t.content,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.dialogclass=t.dialogclass||"",this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-dialog'+(this.dialogclass?" mod-dialog-"+this.dialogclass:"")+'" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.height(),this.domBody.show()},i.prototype.hide=function(){var t=this;t.domBody.height(),t.mask&&(t.maskDom.get(0).style.display="none"),t.domBody.hide()},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove()},i.prototype.createBody=function(){var e,i;Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.domBody=t('<div class="mod-dialog-body" id="pass-content'+this.num+'"><div class="mod-dialog-content'+(this.dialogclass?" mod-dialog-content-"+this.dialogclass:"")+'"><div class="mod-dialog-main"></div></div></div>'),t("body").append(this.domBody),this.domBody.css({width:this.width,marginLeft:-parseInt(this.width)/2+"%"}),e=this.domBody.children(".mod-dialog-content"),this.content&&(e.children(".mod-dialog-main").append(this.content),this.show(),i=this.domBody.height(),this.domBody.css({top:Math.max((t(window).height()-i)/2,0)+"px"})),this.bind(),this.onRender(this)},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.bind=function(){var e=this;t("#close-"+e.num).on("click",function(t){e.hide(),t.preventDefault()})},e.define("ui/dialog",i)}($,window.Pass),!function(t,e){"use strict";function i(t){this.conf=t,this.mask=t.mask,this.onRender=t.onRender||function(){},this.num=Math.floor(1e3*Math.random()),this.vcodestr=t.vcodestr,this.vcodenum="",this.lang={"zh-cn":{title:"验证码",uniqueVerifyCode:"验证码",uniqueVerifyCodePlaceholder:"请输入验证码",uniqueVerifyCodeTip:"请输入图中的验证码",clickReresh:"看不清?点击图片刷新",networkNoText:"网络连接失败，请稍后再试。"},en:{title:"Captcha",uniqueVerifyCode:"Captcha",uniqueVerifyCodePlaceholder:"Captcha",uniqueVerifyCodeTip:"Enter Image Captcha",clickReresh:"click refresh",networkNoText:"Network Error"}}[window.publicData.lang||"zh-cn"],this.current=0,this.init()}e.require,i.prototype.init=function(){this.mask&&this.createMask(),this.createBody()},i.prototype.createMask=function(){Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),this.maskDom=t('<div class="mod-vcode" id="pass-'+this.num+'"></div>'),t("body").append(this.maskDom)},i.prototype.show=function(){var e=this;this.mask&&(this.maskDom.get(0).style.display="block"),this.domBody.fadeIn(),t("input.pass-text-input").attr("disabled","true");var i="https://wappass.baidu.com/cgi-bin/genimage?"+e.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+e.num).attr("src",i)},i.prototype.hide=function(){var e=this;e.mask&&(e.maskDom.get(0).style.display="none"),e.domBody.fadeOut(150),t("input.pass-text-input").removeAttr("disabled")},i.prototype.remove=function(){this.mask&&this.maskDom.remove(),this.domBody.remove(),t("input.pass-text-input").removeAttr("disabled")},i.prototype.InputLayer=function(){var t=navigator.userAgent.indexOf("GT-I9300")>-1?1:0,e='<div class="vcodeInputWrapper" id="vcode-wrapper-'+this.num+'"><input class="vcodeInput '+("ios"==publicData.client?"vcodeInput_ios":"")+(t?"vcodeInput_9300":"")+'" id="vcode-input-'+this.num+'" type="password" autocapitalize="off"/><span class="keyboardInputEle"/><span class="keyboardInputEle" /><span class="keyboardInputEle" /><span class="keyboardInputEle" /></div>';return e},i.prototype.createBody=function(){var i;this.domBody=t('<div class="mod-vcode-body" id="pass-content'+this.num+'"><div class="mod-vcode-content clearfix"></div></div>'),t("body").append(this.domBody),i=this.domBody.children(".mod-vcode-content"),this.content='<p class="mod-page-tipInfo-gray">'+this.lang.uniqueVerifyCodeTip+'</p><p class="mod-page-verifyImg"><img id="vcode-'+this.num+'" alt="验证码"/></p><p class="small-tip" id="refresh-'+this.num+'">'+this.lang.clickReresh+'</p><p class="vcode_error_redtip" id="vcode-error-'+this.num+'"></p>',this.content+=this.InputLayer(),this.content+='<div id="close-'+this.num+'" class="vcode-close"></div>',i.append(this.content),this.show(),this.setEvent(),this.onRender(this),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode",eg:"in",ev:[e.module||"","show"]})},i.prototype.setContent=function(t){this.domBody.append(t),this.show()},i.prototype.setVcode=function(e){var i=this;t("#vcode-"+i.num).attr("src",e),this.vcodestr=e},i.prototype.setEvent=function(){function i(i){if(n.vcodenum+=i,t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarderror").eq(n.current).html(i).addClass("keyboarddone").removeClass("keyboardCursor2").next().addClass("keyboardCursor2"),"3"==n.current){t(n.conf.from_module+"-loading").css("display","block"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_submit",ev:[e.module||"","click"]});var a={verifycode:n.vcodenum,codestring:n.vcodestr};t.ajax({url:apiDomain+"/wp/api/security/checkvcode?tt="+(new Date).getTime(),data:a,success:function(i){if(e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_request",ev:[e.module||"","request",i.errInfo.no,i.errInfo.msg]}),0==i.errInfo.no)n.hide(),document.getElementById("vcode-input-"+n.num).blur(),t("input").blur(),t("#vcode-wrapper-"+n.num+" span").html(""),n.conf.verifySuccessFn&&n.conf.verifySuccessFn(n.vcodenum),n.vcodenum="",t("#vcode-input-"+n.num).val("");else{t("#vcode-error-"+n.num).html(i.errInfo.msg).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="";var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a),t("#vcode-input-"+n.num).val("")}},error:function(){t("#vcode-error-"+n.num).html(n.lang.networkNoText).css("visibility","visible"),t("#vcode-wrapper-"+n.num+" span").addClass("keyboarderror").html(""),t("#vcode-wrapper-"+n.num+" span").removeClass("keyboarddone").eq(0).addClass("keyboardCursor2"),n.vcodenum="",t("#vcode-input-"+n.num).val("")}})}}var n=this;document.getElementById("vcode-input-"+n.num).addEventListener("focus",function(){t(t("#vcode-wrapper-"+n.num).find("span").get(n.current)).addClass("keyboardCursor2"),"ios"==publicData.client&&t("body").css("height","125%")}),"ios"==publicData.client&&document.getElementById("vcode-input-"+n.num).addEventListener("blur",function(){t("body").css("height","100%")}),t("#close-"+n.num).on("touchend",function(t){t.preventDefault(),n.conf.closeFn&&n.conf.closeFn(),n.hide()}),t("#vcode-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t(this).attr("src",a)}),t("#refresh-"+n.num).on("touchend",function(i){i.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-vcode_verifyChange",ev:[e.module||"","click"]});var a="https://wappass.baidu.com/cgi-bin/genimage?"+n.conf.vcodestr+"&tt="+(new Date).getTime();t("#vcode-"+n.num).attr("src",a)}),t("#vcode-input-"+n.num).on("keyup",function(e){n.current=n.vcodenum.length,t("#vcode-error-"+n.num).html("").css("visibility","hidden"),8==e.keyCode?(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")):"android"==publicData.client&&(n.current<t("#vcode-input-"+n.num).val().length?(i(t("#vcode-input-"+n.num).val()[n.current]),n.current++):n.current>t("#vcode-input-"+n.num).val().length&&(n.vcodenum=n.vcodenum.substring(0,n.vcodenum.length-1),n.current=n.vcodenum.length,t(t("#vcode-wrapper-"+n.num+" span").get(n.current)).html("").removeClass("keyboarddone").addClass("keyboardCursor2").next().removeClass("keyboardCursor2 keyboarddone")))}),t("#vcode-input-"+n.num).on("keypress",function(t){var e=String.fromCharCode(t.keyCode);n.current=n.vcodenum.length,e&&8!=t.keyCode&&"ios"==publicData.client&&i(e)})},e.define("ui/vcode",i)}($,window.Pass);var biRadixBase=2,biRadixBits=16,bitsPerDigit=biRadixBits,biRadix=65536,biHalfRadix=biRadix>>>1,biRadixSquared=biRadix*biRadix,maxDigitVal=biRadix-1,maxInteger=9999999999999998,maxDigits,ZERO_ARRAY,bigZero,bigOne;setMaxDigits(20);var dpl10=15,lr10=biFromNumber(1e15),hexatrigesimalToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"),hexToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"),highBitMasks=new Array(0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535),lowBitMasks=new Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535);!function(t,e){e.getSeverTimeAsync=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",success:function(t){e.serverTime=t.time}})},e.getSeverTime=function(){t.ajax({url:apiDomain+"/wp/api/security/antireplaytoken?tpl="+publicData.tpl+"&v="+(new Date).getTime(),type:"GET",dataType:"json",async:!1,success:function(t){e.serverTime=t.time},error:function(){}})},"android"!==publicData.client&&e.getSeverTimeAsync()}($,window.Pass),!function(t,e){e.timerId||(e.timerId=1),e.connectURL={nuomi:"http://app.nuomi.com/naserver/user/checkaccount"},e.loginConnect=function(i,n,a){var i=i||{},o={username:i.username,sms:i.sms||""},s=apiDomain+"/wp/unitewidget-bind?v="+(new Date).getTime(),r=++e.timerId,c=function(t){if("object"==typeof t){var e=[];for(var i in t){var n=t[i];if(void 0!==n&&null!==n){e.length&&e.push("&");var a=encodeURIComponent("boolean"==typeof n?n?"1":"0":n.toString());e.push(encodeURIComponent(i),"=",a)}}return e.join("")}return"string"==typeof t?t:null},l=function(t,e){if(e=c(e),"string"==typeof e){var i=/\?/g.test(t);t+=(i?"&":"?")+c(e)}return t},u=e.connectURL[publicData.tpl],d=l(u,o);d=d+(d.indexOf("?")>0?"&":"?")+"callback=?",t.getJSON(d,function(o){if(clearTimeout(e["loginConnectTimer"+r]),0==o.errInfo.no)e.client.action_unite_verify(JSON.stringify(o.data)),n&&n.success&&n.success(o);else if(2==o.errInfo.no)n&&n.fail&&n.fail(o);else if(3==o.errInfo.no){var c={mobilenum:i.username,password:i.password,sms:i.sms||"",token:o.data.token||""};t.post(s,c,function(){a&&a()})}else a&&a()}),e["loginConnectTimer"+r]=setTimeout(function(){a&&a()},15e3)}}($,window.Pass),!function($,ns){var lang={"zh-cn":{sina:"新浪微博登录",tweibo:"腾讯微博",qq:"qq",weixin:"微信",qrcode:"二维码",device:"设备号",nuomi:"原糯米",voice:"百度语音",huawei:"华为帐号",feifan:"飞凡帐号",chuanke:"原传课帐号",ok:"确定",otherlogin:"第三方帐号登录"},en:{sina:"Sina Weibo",tweibo:"Tencent Weibo",qq:"QQ",weixin:"Weixin",qrcode:"QRcode",device:"Device Number",nuomi:"Nuomi",voice:"BaiduVoice",huawei:"Huawei",feifan:"Feifan",chuanke:"Chuanke",ok:"OK",otherlogin:"Other Account"}}[window.publicData.lang||"zh-cn"];ns.fastLogin={config:{tsina_sso:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tsina:{name:lang.sina,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_sina_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=2&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tqq:{name:lang.tweibo,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_tx_weibo_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=4&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qzone:{name:lang.qq,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_qzone_webview")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=15&u="+publicData.u+"&act="+publicData.act+"&display=wap"},tweixin_sso:{name:lang.weixin,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_weixin_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=42&u="+publicData.u+"&act="+publicData.act+"&display=wap"},qr_app_login:{name:lang.qrcode,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithQRCode")}:!1,href:""},device_login:{name:lang.device,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("loginWithDeviceId")}:!1,href:""},nuomi_login:{name:lang.nuomi,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_nuomi_login")}:!1,href:""},voice_login:{name:lang.voice,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_voice_login")}:!1,href:""},huawei_login:{name:lang.huawei,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_huawei_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=45&u="+publicData.u+"&act="+publicData.act+"&display=wap"},feifan:{name:lang.feifan,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_feifan_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=46&u="+publicData.u+"&act="+publicData.act+"&display=wap"},chuanke:{name:lang.chuanke,fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_chuanke_login")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=&u="+publicData.u+"&act="+publicData.act+"&display=wap"},meizu_sso:{name:"魅族",fn:"android"==publicData.client||"ios"==publicData.client?function(){ns.client.deviceClass("action_social_meizu_sso")}:!1,href:"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type=50&u="+publicData.u+"&act="+publicData.act+"&display=wap"}},num:1,init:function(module){var me=this;if(this.module=module,"android"==publicData.client){var str=ns.client.deviceClass("config_fastlogin_features"),realStrArray=[];return str&&(realStrArray=str.toLocaleString().split(",")),void me.draw(realStrArray,module)}"ios"==publicData.client?ns.client.deviceClass("getFastLoginOptionList",{},function(id,params){var thirdList=eval(params.result);me.draw(thirdList,module)}):me.draw(["feifan","chuanke","meizu_sso","tqq","tsina","feifan"],module)},getHref:function(t){return"https://passport.baidu.com/phoenix/account/startlogin?tpl="+publicData.tpl+"&type="+t+"&u="+publicData.u+"&act="+publicData.act+"&display=wap"},draw:function(t,e){var i=t.length||0,n="";if("[object Array]"==Object.prototype.toString.call(t)&&t.length>0){$("#"+e+"-sotherlogin").css("display","block"),$("#"+e+"-bottomLink").css("margin-bottom","0");for(var a=t.length>5?5:t.length,o=0;a>o;o++){var s=this.config[t[o]];s&&(n+=s.fn?'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" actjs="'+t[o]+'"></a></div>':'<div class="fastlogin-item"><a class="li-img-'+t[o]+'" type="'+t[o]+'" href="'+s.href+'"></a></div>')}this.num=i,document.getElementById("fastlogin-layer-"+e).innerHTML=n,this.bind()}},bind:function(){var t=this;ns.view.tap($("[actjs]","#"+this.module),function(){var e=$(this).attr("actjs");t.config[e].fn()}),$("body").on("click",".fastlogin-item a",function(){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-authsite_"+$(this).attr("type"),ev:[ns.module||"","click"]})})}}}($,window.Pass),!function(t,e){e.guideRandom=function(){return"xxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=16*Math.random()|0,i="x"==t?e:3&e|8;return i.toString(16)}).toUpperCase()}()}($,window.Pass); Pass._define("login",function(){var e,a,t,i=Pass,n={module:"login",initialized:!1,histroyRecordList:[],error:{field:""},stage:"usual",historyNum:0,backSign:!1,horizonBottom:"",pwdErrorCount:0,faceLoginData:{tempUsername:"",tempRealname:0},data:{code:"+86",countrycode:""},serverTimeCount:0,login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return n=$.extend(n,Pass.validator),n=$.extend(n,{lang:{"zh-cn":{title:"百度帐号登录",username:"手机号/用户名/邮箱",password:"密码",passwordError:"登录密码",verifycode:"验证码",usernamePlaceholder:"手机号/用户名/邮箱",passwordPlaceholder:"密码",verifycodePlaceholder:"验证码",faceLogin:"刷脸登录",forgot:"遇到问题",otherLogin:"其他登录方式",prompt:"登录百度帐号，体验全新个人中心，好礼等您拿！（不支持安卓网用户名登录）",submitText:"登录",submitLoading5s:"继续登录中",fastRegText:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",sms_loginText:"短信快速登录",submitLoading:"登录中",overseas:"海外登录",mobilenumPlaceholder:"手机号",code:"+86",loading:"登录中...",tel:"手机号",phoneformatRegError:"请输入有效手机号码",cancel:"取消",lecaiLogin:"原乐彩帐号登录",smsLogin:"短信验证码登录",otherLogin:"其他登录方式",fastLogin:"第三方登录",fastReg:"快速注册",usernameOrMobile:"为了您的帐号安全，请先确认您输入的帐号是用户名还是手机号",feedback:"帮助中心",smsReg:"短信注册",smsLoginBtn:"短信登录",networkError:"网络连接失败，请检查您的网络设置并稍后再试。",mobile:"手机号",accountname:"用户名",or:"或",mobileSure:"不需要解绑",appealBtn:"申诉去解绑",reg:"快速注册",sureMobileMsg:"您绑定的手机号,请确认该手机号是否还在使用,为了您的帐号安全，请及时解绑不使用的手机。"},en:{title:"Baidu Login",username:"Account",password:"Password",passwordError:"Login Password",verifycode:"Captcha",usernamePlaceholder:"Phone/Account/Email",passwordPlaceholder:"Password",verifycodePlaceholder:"Captcha",faceLogin:"face Login",forgot:"Can't Login?",prompt:"Logging on to Baidu account and experience all new personal center. There are more prices waiting for you too! (doesn’t support Android network login).",submitText:"Login",submitLoading5s:"Login",fastRegText:"Cellphone one click register",sms_loginText:"Login via SMS",submitLoading:"Login",overseas:"Overseas number",mobilenumPlaceholder:"Phone",code:"+86",loading:"Login",tel:"Phone",phoneformatRegError:"Incorrect phone format",cancel:"Cancel",lecaiLogin:"Lecai Account Login",smsLogin:"SMS Login",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",usernameOrMobile:"Phone or username?",feedback:"Feedback",smsReg:"Sign Up",smsLoginBtn:"SMS Login",networkError:"Network error",mobile:"Phone",accountname:"Account",or:"or",mobileSure:"don't unbind",appealBtn:"unbind",reg:"Sign Up",sureMobileMsg:"is the cell phone number you bind to your account. please make sure that the cell phone number is still available. Otherwise, for the safety of your account, please unbind it soon."}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var a=this,t={userNameRightDom:'<span id="'+a.module+'-userlist" class="pass-input-aide pass-input-userlist"></span>',passwordRightDom:'<span id="'+a.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',fastReg:'<span data-role="fastReg" class="'+(1==publicData.lPlayout?"pass-button-minor m-b10":"account_login")+'">'+a.lang.fastRegText+"</span>",forgot:'<div id="'+a.module+'-forgot">'+a.lang.forgot+"</div>",smsLogin:'<span id="'+a.module+'-smslogin" class="right link-font" >'+a.lang.sms_loginText+"</span>",faceLogin:'<span id="'+a.module+'-facelogin" class="left link-font face-login-link" >'+a.lang.faceLogin+"</span>",prompt:"<span>"+a.lang.prompt+"</span>",regLink:'<div id="'+a.module+'-register">'+a.lang.reg+"</div>",overseaslink:'<div id="overseasLink">'+a.lang.overseas+"</div>",loadingFaceLogin:'<div class="biometry-loadingMask"><p class="biometry-loading">'+a.lang.loading+'</p><div class="biometry-loadingImg"></div></div>',otherLayer:'<div id="'+a.module+'-sotherlogin" class="go-safe-manager"><div class="fastlogin-bordertext">或</div></div><div id="fastlogin-layer-login" class="fastlogin-layer-login"></div>'};return t[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),t='<article class="wrapper" id="'+this.module+'">',n=publicData,o=[];n.action="login",n.loginmerge=1,n.isphone="0",n.dialogVerifyCode="",n.dialogVcodestr="",n.dialogVcodesign="",n.gid=i.guideRandom||"",n.authtoken="",o.push({field:"username",labeltext:e.lang.username,maxLength:60,placeholder:e.lang.usernamePlaceholder,rightDom:e._getIrregularField("userNameRightDom")}),o.push({field:"code",label:!0,labeltext:e.lang.code,type:"tel",code:!0,placeholder:e.lang.mobilenumPlaceholder}),o.push({field:"password",placeholder:e.lang.passwordPlaceholder,pwd:!0,labeltext:e.lang.password,rightDom:e._getIrregularField("passwordRightDom")}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(t+=a._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0}),t+=a._getHeaderField({title:"<span>"+e.lang.overseas+"</span>",overseas:!0})),t+='<div class="img-div"><div class="logo-dom" id="'+a.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+a.getId("userImg")+'"/></div></div>',t+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',t+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="form-wrapper pass-form-verify-wrapper m-t25 clearfix">';for(var l=0;l<o.length;l++)t+=a._getRegularField(o[l]);return t+=a._getVCodeField({field:"verifycode",placeholder:e.lang.verifycodePlaceholder,vcodestr:n.vcodestr?"":""}),t+=a._getErrorField(),t+=a._getSubmitField({value:e.lang.submitText}),t+=a._getHiddenField(n),t+="</form>",t+='<div class="clearfix patch-clearfix">',1==publicData.liveAbility&&(t+=e._getIrregularField("faceLogin")),"bdwm"!=publicData.tpl&&(1==publicData.smsLoginLink||"en"==publicData.lang)&&(t+=e._getIrregularField("smsLogin")),t+=a._getLoadingField({module:e.module,html:e.lang.loading}),t+="</div>",1==publicData.androidmerge&&(t+='<div class="prompt-css">'+e._getIrregularField("prompt")+"</div>"),t+="</div>",t+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link login-register" id="'+e.module+'-bottomLink">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+(1==publicData.regLink&&1==publicData.overseas?'<span class="spilit-line">|</span>':"")+(1==publicData.overseas?e._getIrregularField("overseaslink"):"")+(1==publicData.regLink||1==publicData.overseas?'<span class="spilit-line">|</span>':"")+e._getIrregularField("forgot")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",1==publicData.liveAbility&&(t+=e._getIrregularField("loadingFaceLogin")),t+="</article>"},_checkUserName:function(e){var a=this;$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),e,function(e){e.data.codeString?a.getVerifyCode(e.data.codeString):a.getElement("verifyCodeWrapper").style.display="none",e.data.userid&&a._getSmsVerify(e)},"json")},getFaceLoginCheck:function(){if("1"===publicData.liveAbility){var e=this,a={username:i.view._strTrim(e.getElement("username").value),tpl:publicData.tpl,faceCheckRole:"passFe"};$.ajax({url:"/v3/login/facelogincheck",data:a,type:"GET",dataType:"json",success:function(a){var t=a.type&&"face_login"===a.type&&(0!==parseInt(a.hasRealName,10)||"1"===publicData.suppcheck);e.faceLoginData.hasRealName=a.hasRealName,t?(setTimeout(function(){$(e.getElement("facelogin")).show(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_show_faceLogin",ev:[e.module,"click"],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}})},0),e.faceLoginData.tempRealname="1"):($(e.getElement("facelogin")).hide(),e.faceLoginData.tempRealname="0"),e.exp_case=a.exp_case,e.livinguname=a.livinguname}})}},getUrlLoginUserName:function(){var e=$.fn.getQueryString("loginUserName");return e=decodeURIComponent(e&&e.indexOf("#")>-1?e.split("#")[0]:e)},getRerocdList:function(){var e=this,a=e.getUrlLoginUserName(),t=apiDomain+"/wp/api/login/history?item=&token="+publicData.token+"&clientfrom="+publicData.clientfrom+"&tpl="+publicData.tpl+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime();$.ajax({url:t,data:{},type:"GET",dataType:"json",success:function(t){var o=[];if(n.histroyRecordList=t.data.loginList,e.historyNum=t.data.loginList.length,""!=a){o.push(a);for(var l=0,s=e.historyNum;s>l;l++)o.push(n.histroyRecordList[l])}else o=n.histroyRecordList;if(o.length>0&&e.getElement("userlist")){e.getElement("userlist").style.display="block",$(e.getElement("username")).val(o[0]);var r={username:i.view._strTrim(o[0]),tpl:publicData.tpl};e._checkUserName(r),e.getFaceLoginCheck()}else""!=a&&($(e.getElement("username")).val(a),$(e.getElement("password")).val())},error:function(){}})},back:function(){$(".usual_login_header").css("display","block"),$(".overseas_login_header").css("display","none"),$(".pass-form-item-username").css("display","-webkit-box"),$(".pass-form-item-code").css("display","none"),$(".other-login-type").css("display","block"),$("#overseasLink").css("display","block"),$(".spilit-line").html()&&$(".spilit-line").css("display","block"),$("#login-label-password").css("padding-right","0").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","0").next().val(""),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","block"),i.removeInfoAnimate(this.module),this.backSign=!1,this.stage="usual"},render:function(e,a){var t=this;publicData.smsLoginLink=1;try{sessionStorage.setItem("liveAbility",publicData.liveAbility)}catch(n){}if((0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),a&&a.code&&($(".pass-label-"+t.module+"-code").html(a.code),t.data.code=a.code,t.data.countrycode=a.countrycode),i&&i.traceID&&i.traceID.startFlow&&i.traceID.startFlow("wapLogin"),t.initialized)Pass.switchView(t.module);else{var o=t._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),"android"!==publicData.client&&t.getRerocdList(),window.Pass.login=t,this.initialized=!0,Pass.switchView(t.module),t.setEvent(),t._suggestion();var l=!1;t.data.adapter&&"apps"!=t.data.adapter&&1!=t.data.adapter&&3!=t.data.adapter&&(l=!0),i.fastLogin.init(t.module),i.view.inputBlur()}t._setValidator();var s=(window.screen.height,window.innerHeight);if(s>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(t.getElement("registerWrapper")).html()){var r=$(t.getElement("registerWrapper")).offset().top;$(t.getElement("registerWrapper")).height($(window).height()-r).css("visibility","visible")}1==publicData.smsLoginLink&&1==publicData.regLink&&$("#login-sms-span").css("display","inline-block"),i&&i.view&&i.view.setManMachine&&i.view.setManMachine(t)},initModule:function(){},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,i.client.logPV("num_login_va"))},setVcodeVal:function(e){e&&i&&i.setloginAgainSmsVal&&i.setloginAgainSmsVal(e)},webViewWillAppear:function(){var e="localStorage"in window&&null!==window.localStorage;e&&1==localStorage.getItem("isCallLoginWebAppear")&&i&&i.setloginAgainWebViewWillAppear&&(i.setloginAgainWebViewWillAppear(),localStorage.setItem("isCallLoginWebAppear",""))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){i.view.cutPage($(this))});var a=function(a){e.logPageEffective(),e._eventHandler.entrance.apply(e,[a])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,change:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(a,t){var t=$(this);i.view.clearInputValueBtn(t.prev(),t,e.getElement("submit"))}),$(".pass-input-clearValue").on("tap",function(){"username"==$(this).prev().attr("name")&&(e.getElement("username-suggest")&&($(e.getElement("username-suggest")).hide(),$(e.getElement("userlist")).removeClass("pass-input-down-userlist")),e.faceLoginData.tempUsername="")}),$("input").on("focus",function(){$("#pageWrapper").css("height","")}),$(e.getElement("formWrapper")).on("submit",a),$(e.getElement("pwdToggle")).on("tap",a),$(e.getElement("verifyCodeImg")).on("tap",a),$(e.getElement("smslogin")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_smslogin_link",ev:[e.module,"click",publicData.overseas],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="acclogin",i._getScript("sms_login",function(a){a.render("pageWrapper",e.module)}),$(".cancle-btn").click()}),$(e.getElement("facelogin")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLogin_click",ev:[e.module,"click"]}),e.getUserInfo()}),$(e.getElement("register")).on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):i._getScript("reg",function(a){a.render("pageWrapper",e.module)})}),i.view.fullButton($(e.getElement("submit"))),i.view.tap($(e.getElement("forgot")),function(a){a.preventDefault(),$("input").blur(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_question_link",ev:[e.module,"click",publicData.overseas]}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_question_link_click",ev:[e.module,"click"]}),Pass._getScript("question",function(e){var a={type:"question"};e.render("pageWrapper",a)})}),i.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiLogin"),$("#overseasLink").on("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_overseas_link",ev:[e.module,"click",publicData.overseas]}),$(".usual_login_header").css("display","none"),$(".overseas_login_header").css("display","block"),$(".pass-form-item-username").css("display","none"),$(".pass-form-item-code").css("display","-webkit-box"),$("#login-label-password").css("padding-right","23px").next().val(""),$(".pass-text-label-verifyCode").css("padding-right","23px").next().val(""),$(this).css("display","none"),$(".spilit-line").html()&&$(".spilit-line").css("display","none"),(1==publicData.smsLoginLink||1==publicData.lPFastRegLink)&&$(".account_login").css("display","none"),i.removeInfoAnimate(e.module),e.stage="overseas",e.backSign=!0}),$(".pass-label-login-code").on("touchend",function(a){a.preventDefault(),$("input").blur();var t={};t.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",t)})})},getUserInfo:function(){var e=this,a={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.livinguname};$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:a,type:"POST",success:function(a){var a=JSON.parse(a);"0"===a.errInfo.no?a.data.authtoken&&($(e.getElement("authtoken")).val(a.data.authtoken),0===parseInt(e.faceLoginData.hasRealName,10)?e.identificationData():e.identification(a.data.authtoken)):(e._validateError({msg:a.errInfo.msg}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLoginError_request",ev:[e.module,"request",a.errInfo.no,a.errInfo.msg],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}))},error:function(){e._validateError({msg:e.lang.networkError})}})},identificationData:function(){{var e=this;publicData.subpro||"pp"}i.client.checkNativeMethod("sapi_biometrics_identification_with_uid",function(){var a={type:2,subpro:publicData.subpro||"pp",uid:"ios"===publicData.client?encodeURIComponent(e.livinguname):e.livinguname},t=function(a){e._validateError({msg:""}),$(".biometry-loadingMask").show(),e.upliving(a)},n=function(a,t){-204!==a&&(-301===a||-302===a||-306===a?t="登录失败，请确保本人操作，或尝试其他登录方式":-303===a&&(t="刷脸功能获取失败，请重新尝试"),e._validateError({msg:t})),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_faceLoginError_request",ev:[e.module,"request",a,t],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}})};if("ios"===publicData.client)i.client.deviceClass("sapi_biometrics_identification_with_uid",a,function(e,a){t&&t(a.callbackkey)},function(e,a){var t=parseInt(a.errno,10);n&&n(t,a.errmsg)});else{var o=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_uid", params: ['+JSON.stringify(a)+"]}}")),l=parseInt(o.errno,10);0===l?t&&t(o.callbackkey):n&&n(l,o.errmsg)}})},identification:function(e){var a=this,t=publicData.subpro||"pp";if("ios"==publicData.client)i.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:t,authtoken:encodeURIComponent(e)},function(e,t){a._validateError({msg:""}),$(".biometry-loadingMask").show(),a.upliving(t.credentialKey)},function(e,t){if(-204!=t.errno){var n=t.errmsg;-301==t.errno||-302==t.errno||-306==t.errno?n="登录失败，请确保本人操作，或尝试其他登录方式":-303==t.errno&&(n="刷脸功能获取失败，请重新尝试"),a._validateError({msg:n})}i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",t.errno,t.errmsg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})});else{var n=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+e+'","0","'+t+'"]}}'));if(0===n.errno)a._validateError({msg:""}),$(".biometry-loadingMask").show(),a.upliving(n.credentialKey);else{var o=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?o="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(o="刷脸功能获取失败，请重新尝试"),a._validateError({msg:o}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",n.errno,n.errmsg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})}}},upliving:function(e){var a=this,t={};t.callbackkey=e,t.tpl=publicData.tpl,t.clientfrom=publicData.clientfrom,t.client=publicData.client,t.token=$(a.getElement("authtoken")).val(),t.username=a.livinguname,t.faceLoginCase=a.exp_case||"none",$.ajax({url:"/v3/login/api/livinglogin",data:t,type:"POST",success:function(e){var e=JSON.parse(e);if(0==e.errInfo.no)if(a._validateError({msg:""}),$("#login").hide(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginSuccess_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}}),"ios"==publicData.client||"android"==publicData.client){var t=e.data.xml.replace("<account></account>","<account>"+a.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(e.data.livinguname)+"</livinguname>");i.client.success(t)}else document.location=publicData.u;else $(".biometry-loadingMask").hide(),a._validateError({msg:e.errInfo.msg}),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_faceLoginError_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg],autoStatisticObj:{faceLoginCase:a.data.faceLoginCase||"none"}})}})},_getUserImg:function(e){var a=this;$(a.getElement("loginLogo")).hide(),$(a.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+("overseas"==a.stage?a.data.countrycode:"")+e+"?isuname=1&tt="+(new Date).getTime()).parent().show()},_getLogoImg:function(){var e=this;$(e.getElement("userImg")).parent().hide(),$(e.getElement("loginLogo")).show()},_suggestion:function(){function e(){var e="",a=i.histroyRecordList;if(""==$(this).val())return void(i.getElement("username-suggest")&&($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist")));if(a.length>0&&$.each(a,function(a,t){0==t.indexOf(l.val())&&t!=l.val()&&(e+='<li><a href="###" data="'+t+'">'+t+'<span class="pass-remove-item"></span></a></li>')}),""==e){var c=o.exec(l.val()),g=l.val();if(c)if(c[2])for(var d=0,u=n.length;u>d;d++)0==n[d].indexOf(c[2])&&n[d]!=c[2]&&(e+='<li><a href="###">'+c[1]+"@"+n[d]+"</a></li>");else for(var d=0,u=n.length;u>d;d++)e='<li><a href="###">'+g+n.join('</a></li><li><a href="###">'+g)+"</a></li>"}if(""==e)$(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist");else{i.getElement("username-suggest")||(l.parent().append(s),$(i.getElement("username-suggest")).on("click",t));var p=i.getElement("username-suggest");$(p).html(e),$(p).is(":hidden")&&$(p).show(),$(i.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function a(){var e="",a=i.histroyRecordList;if(""!=$(this).val()||0!=a.length){a.length>0&&$.each(a,function(a,t){e+='<li><a href="###" data="'+t+'">'+t+'<span class="pass-remove-item"></span></a></li>'}),i.getElement("username-suggest")||(l.parent().append(s),$(i.getElement("username-suggest")).on("click",t));var n=i.getElement("username-suggest");$(n).html(e),$(n).is(":hidden")&&$(n).show(),$(i.getElement("userlist")).addClass("pass-input-down-userlist"),$(document).on("click",r)}}function t(e){var a=e.target,t=i.histroyRecordList;if("a"==a.tagName.toLowerCase()){var n=$(a).attr("data")?$(a).attr("data"):$(a).html();l.val(n),$(i.getElement("username")).change(),i.getFaceLoginCheck(),$(i.getElement("password")).focus(),$(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist")}else if(a.className.indexOf("pass-remove-item")>-1){var n=$(a).parent().attr("data"),o=$.inArray(n,t);t.splice(o,1),$(a).parent().remove(),$.getJSON(apiDomain+"/wp/api/login/history?item="+n+"&token="+publicData.token+"&tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&v="+(new Date).getTime(),{},function(){},"json"),0==i.getElement("username-suggest").getElementsByTagName("li").length&&($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))}e.preventDefault()}var i=this,n=["163.com","qq.com","gmail.com","sohu.com","126.com","sina.com","hotmail.com","139.com"],o=/^([a-zA-Z0-9_.\-+]+)@(.*)$/,l=$(i.getElement("username")),s='<ul class="pass-input-suggest" id="login-username-suggest"></ul>';l.on({focus:e,keyup:e}),$(i.getElement("userlist")).on("click",function(){!i.getElement("username-suggest")||$(i.getElement("username-suggest")).is(":hidden")?a():($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))});var r=function(){$(event.target).closest("#login-username-suggest").size()||$(event.target).closest("#login-username").size()||$(event.target).closest("#login-userlist").size()||($(i.getElement("username-suggest")).hide(),$(document).off("click",r),$(i.getElement("userlist")).removeClass("pass-input-down-userlist"))}},getVerifyCode:function(e){var a=this;if(a.getElement("verifyCodeWrapper").style.display="",$(a.getElement("registerWrapper")).html()){var t=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-t).css("visibility","visible")}if(e&&e.length)$(a.getElement("verifyCodeImg")).attr("src",apiDomain+"/cgi-bin/genimage?"+e+"&v="+(new Date).getTime()),a.getElement("vcodestr")||$(a.getElement("hiddenFields")).append('<input type="hidden" id="'+a.module+'-vcodestr" name="vcodestr" value="" />'),a.getElement("vcodestr").value=e;else{var n=$(a.getElement("verifyCodeImg")),o=n.attr("src").split("&")[0];n.attr("src",o+"&v="+(new Date).getTime())}$(a.getElement("verifycode")).val(""),i.view.setSubmitStyle(a)},clearVerifyCode:function(){var e=this;e.getElement("vcodestr").value=""},_validateError:function(e){var a=this;i.infoAnimate(a.module,e.msg),i.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){{var a=this;$(a.getElement("errorWrapper"))}e.msg?i.infoAnimate(a.module,e.msg):e.field==a.error.field&&(i.removeInfoAnimate(a.module),a.error.field="")},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],asyncRule:e._asyncValidate.checkUserName,desc:e.lang.username},code:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.tel},password:{rules:["required"],desc:e.lang.passwordError},verifycode:{rules:["required"],desc:e.lang.verifycode}},e._validator.addRule("phoneformatReg",function(){var a=i.view._strTrim(e.getElement("code").value);return/^1[3456789]\d{9}$/.test(a)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var a=i.view._strTrim(e.getElement("code").value);return/^\d+$/.test(a)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.init(e,e.validateRules)},_asyncValidate:{},sureAccountType:function(){var a=this,t='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+a.lang.usernameOrMobile+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.mobile+'" class="pass-button-auto pass-dialog-btnleft" id="account-type-phone"><input type="button" value="'+a.lang.accountname+'" class="pass-button-auto pass-dialog-btnright" id="account-type-username"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:t}),i.view.tap($("#account-type-phone"),function(){a.getElement("loginmerge").value=0,a.getElement("isphone").value=1,e.remove(),$(a.getElement("formWrapper")).submit()}),i.view.tap($("#account-type-username"),function(){a.getElement("loginmerge").value=0,a.getElement("isphone").value=0,e.remove(),$(a.getElement("formWrapper")).submit()}),$("#account-type-phone,#account-type-username").each(function(){i.view.touch($(this),"pass-button-auto-active")})},sureMobile:function(e){var t=this,n='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p><span class="pass-dialog-orangecolor">'+e.mobileNum+"</span>"+t.lang.sureMobileMsg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.mobileSure+'" class="pass-button-auto pass-dialog-btnleft" id="mobile-sure-btn"><input type="button" value="'+t.lang.appealBtn+'" class="pass-button-auto pass-dialog-btnright" id="appeal-btn"></div>';a=new Pass.ui.dialog({width:"90%",mask:!0,content:n}),i.view.tap($("#mobile-sure-btn"),function(){a.remove(),e.successFn&&e.successFn()}),i.view.tap($("#appeal-btn"),function(){a.remove(),e.otherFn&&e.otherFn()}),$("#mobile-sure-btn,#appeal-btn").each(function(){i.view.touch($(this),"pass-button-auto-active")})},_getSmsVerify:function(e){var a=this;a.globaTemp=e||{};var t=e.data.phone,n=e.data.userid,o=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",l={mobilenum:t,tpl:publicData.tpl,isuserid:1,username:n,sub_source:"leadsetpwd",clientfrom:"native",dialogVerifyCode:a.getElement("dialogVerifyCode").value,vcodesign:a.getElement("dialogVcodesign").value,vcodestr:a.getElement("dialogVcodestr").value,dv:o};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),l,function(e){if(a.getElement("dialogVcodesign").value="",a.getElement("dialogVcodestr").value="",i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),e.data.mobilenum=t,e.data.isuserid=1,e.data.checkUserid=n,e.data.sub_source="leadsetpwd",e.data.clientfrom="native",i._getScript("sms_verify",function(a){a.render("pageWrapper",e.data)});else if(50020==e.errInfo.no||50021==e.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),e.data.tempid=e.data.tempid;var o=e.data.vcodestr;e.data.verifyCodeData={mask:!0,vcodestr:o,from_module:"login",verifySuccessFn:function(t){a.getElement("dialogVerifyCode").value=t||"",a.getElement("dialogVcodesign").value=e.data.vcodesign,a.getElement("dialogVcodestr").value=o,a._getSmsVerify(a.globaTemp||{}),login_vcode.remove()}},login_vcode=new i.ui.vcode(e.data.verifyCodeData)}},"json")},_disablePwdCut:function(){var e=this,a=$(e.getElement("password"));"text"==a.attr("type")&&(a.on("longTap",function(){a.attr("type","password"),$(e.getElement("pwdToggle")).removeClass("pass-input-pwdToggle-show")}),a.on("copy",function(){return!1}),a.on("cut",function(){return!1}))},_eventHandler:function(){var e=this,a={focus:function(a){"verifycode"!=a&&i.view.labelFocus(e,a),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==a&&$("#login").addClass("login-coolpad"),"username"===a&&($(e.getElement("facelogin")).hide(),e.faceLoginData.tempUsername=$(e.getElement("username")).val())},blur:function(a){if("verifycode"!=a&&i.view.labelBlur(e,a),navigator.userAgent.indexOf("Coolpad")>-1&&"verifycode"==a&&setTimeout(function(){$("#login").removeClass("login-coolpad")},10),"username"===a&&"1"===publicData.liveAbility){if(""===$(e.getElement("username")).val())return;e.faceLoginData.tempUsername===$(e.getElement("username")).val()&&"1"===e.faceLoginData.tempRealname?$(e.getElement("facelogin")).show():e.faceLoginData.tempUsername!==$(e.getElement("username")).val()&&e.getFaceLoginCheck()}i.view.setSubmitStyle(e,0)},keyup:function(a){i.view.setSubmitStyle(e);var t={username:"num_login_wuna",password:"num_login_wpwd",verifycode:"num_login_gvcd"};e["logPNum"+a]||(e["logPNum"+a]=!0,i.client.logPV(t[a]))}},n={change:{username:function(){var a=e.getElement("username");e.pwdErrorCount=0,$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),{username:i.view._strTrim(a.value),tpl:publicData.tpl},function(a){a.data.codeString?e.getVerifyCode(a.data.codeString):e.getElement("verifyCodeWrapper").style.display="none",a.data.userid&&e._getSmsVerify(a)},"json"),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0,i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_change_user",ev:[e.module,"click"]})},code:function(){var a=e.getElement("code");e.validate("code",{success:function(){$.getJSON(apiDomain+"/wp/api/login/check?clientfrom="+publicData.clientfrom+"&gid="+(i.guideRandom||"")+"&tt="+(new Date).getTime(),{username:i.view._strTrim(a.value),tpl:publicData.tpl,countrycode:e.data.countrycode},function(a){a.data.codeString&&e.getVerifyCode(a.data.codeString),a.data.userid&&e._getSmsVerify(a)},"json")}})}},tap:{verifyCodeImg:function(a,t){e.getVerifyCode(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_verifyChange",ev:[e.module,"click",publicData.overseas]}),t.preventDefault()},pwdToggle:function(a){var t=$(e.getElement("password"));"text"==t.attr("type")?(t.attr("type","password"),$(e.getElement(a)).removeClass("pass-input-pwdToggle-show"),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_hidePwd_click",ev:[e.module,"click"]})):(t.attr("type","text"),$(e.getElement(a)).addClass("pass-input-pwdToggle-show"),e._disablePwdCut(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_showPwd_click",ev:[e.module,"click"]}))}},submit:function(a){var o=e.getElement("submit");a.preventDefault(),i.client.logPV("num_login_submit"),o.disabled||e.validateAll({success:function(){function l(){s.logLoginType="sdk_login",s.passAppHash=publicData.passAppHash||"",s.passAppVersion=publicData.passAppVersion||"",s.cv="170601",s.faceLoginCase=e.exp_case||"none",s.liveAbility=publicData.liveAbility||"";
var l=(new Date).getTime();$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime()+"&cv=170601",s,function(c){function g(){i.removeInfoAnimate(e.module),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_secLogin_guide",ev:[e.module,"click",publicData.overseas]}),Pass._getScript("login_again",function(a){var t={mobile:c.data.mobile,mobileHidden:c.data.mobileHidden,idcard:c.data.idcard,countrycode:c.data.countrycode,liveUsername:c.data.liveUsername,liveSecurity:c.data.liveSecurity,livinguname:c.data.livinguname,hasRealName:e.faceLoginData.hasRealName};a.render("pageWrapper",t)})}var d=(new Date).getTime()-l;if(o.disabled=!1,i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_request",ev:[e.module,"request",c.errInfo.no,c.errInfo.msg]}),clearTimeout(e.submitTimer5s),clearTimeout(e.submitTimer15s),"0"==c.errInfo.no&&"1"==c.data.realName&&(c.errInfo.no=400408),0==c.errInfo.no){if($(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client)if("1"===publicData.liveAbility&&"1"===publicData.suppcheck&&"1"===c.data.hasGuideFaceLogin){var u=c.data;u.username=s.username,u.password=r,u.suppcheck=publicData.suppcheck;try{sessionStorage.setItem("storageData",JSON.stringify(u))}catch(p){}var m="faceAuthsid="+c.data.guideFaceAuthsid+"&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+publicData.tpl+"&adapter="+publicData.adapter+"&guidefrom="+c.data.guidefrom;document.location.href="https://wappass.baidu.com/v3/login/faceloginguide?"+m}else{var f=c.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(c.data.livinguname)+"</livinguname>");i.client.success(f)}else document.location=publicData.u;e.getElement("loginmerge").value=1,e.getElement("isphone").value=0}else{if(i.getSeverTime(),$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),400101==c.errInfo.no||400023==c.errInfo.no)document.location.href=c.data.verifyUrl+"&newForgetPwd=no&redireu="+encodeURIComponent(window.location.href);else{if(50018==c.errInfo.no&&e.serverTimeCount<=5)return++e.serverTimeCount,void n[a.type].apply($(a.target),[a]);if(400032==c.errInfo.no)c.data.guide=1,c.data.account=s.username,c.data.password=s.password,c.data.livinguname=c.data.livinguname,i._getScript("bind",function(e){e.render("pageWrapper",c.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400024==c.errInfo.no)c.data.account=s.username,c.data.password=s.password,i._getScript("forcedBind",function(e){e.render("pageWrapper",c.data)}),e.getElement("loginmerge").value=1,e.getElement("isphone").value=0;else if(400408==c.errInfo.no)c.data.account=s.username,c.data.password=s.password,c.data.realnameNeed=1,c.data.loginProxy=c.data.ppU,c.data.realnameverifyemail?i._getScript("verify",function(e){e.render("pageWrapper",c.data)}):i._getScript("realName",function(e){e.render("pageWrapper",c.data)});else if(400401==c.errInfo.no)e.sureAccountType();else if(400036==c.errInfo.no){var v={mobileNum:c.data.phone||"",successFn:function(){var e=new Image;if(e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=mobileSureNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),"ios"==publicData.client||"android"==publicData.client){var a=c.data.xml.replace("<account></account>","<account>"+s.username+"</account>").replace("<password></password>","<password>"+r+"</password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(c.data.livinguname)+"</livinguname>");i.client.success(a)}else document.location=publicData.u},otherFn:function(){var e=new Image;e.onerror=e.onload=function(){e=null},e.src="https://passport.baidu.com/v.gif?type=appealMobileNative&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+(publicData.tpl||"")+"&tt="+(new Date).getTime(),document.location.href=c.data.appealurl}};e.sureMobile(v)}else if(400413==c.errInfo.no||400414==c.errInfo.no)c.data.loginType="password",i._getScript("secondCardVerify",function(e){e.render("pageWrapper",c.data)});else if($.inArray(c.errInfo.no,["100002","110001","400012"])>-1){var b='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+c.errInfo.msg+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:b}),$("#dialogmsg-ok-btn").live("click",function(){t.remove()})}else if($.inArray(c.errInfo.no,["50028","50029"])>-1){var b='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>帐号或密码多次输错，请3个小时之后再试或找回密码</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="找回密码" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-getpass-btn"></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:b}),$("#dialogmsg-cancel-btn").live("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdError_cancel_click",ev:[e.module,"click"]}),t.remove()}),$("#dialogmsg-getpass-btn").live("touchend",function(a){a.preventDefault(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdError_getpass_click",ev:[e.module,"click"]});var n=window.location.href,o=location.protocol+"//"+location.hostname,l="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,s=o+"/passport/getpass"+l;if(t.remove(),1==publicData.enableExternalWeb){var r=s+"&enableExternalWeb=1&adapter=3";"android"==publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[找回密码,"'+r+'"]}}'):i.client.deviceClass("action_load_external_webview",{placeholderTitle:"找回密码",url:encodeURIComponent(r)})}else window.location.href=s+"&newForgetPwd=no&redireu="+encodeURIComponent(n)})}else if(72200==c.errInfo.no){var b='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+c.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-cancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-unfreeze-btn"></div>';t=new Pass.ui.dialog({width:"90%",mask:!0,content:b}),$("#dialogmsg-cancel-btn").live("touchend",function(e){e.preventDefault(),t.remove()}),$("#dialogmsg-unfreeze-btn").live("touchend",function(e){e.preventDefault();var a=window.location.href,n=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,l=n+"/wp/v3/ucenter/accountunfreezeapply"+o;if(t.remove(),1==publicData.enableExternalWeb){var s=l+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+s+'"]}}'):i.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(s)})}else window.location.href=l+"&newForgetPwd=no&redireu="+encodeURIComponent(a)})}else(c.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(c.errInfo.no,["500004"])>-1)&&(c.errInfo.msg+='，<a data-role="feedback" data-no="'+c.errInfo.no+'">'+e.lang.feedback+"</a>"),e._validateError({msg:c.errInfo.msg}),$("[data-role]",$("#"+e.module+"-errorWrapper")).each(function(){$(this).on("click",function(){var e="feedback"==$(this).attr("data-role")?"num_login_tf":"num_login_ts";i.client.logPV(e)});var e=$(this).attr("data-no");i.view.cutPage($(this),{no:e})})}c.data.codeString&&e.getVerifyCode(c.data.codeString),$.inArray(c.errInfo.no,["230048","400010","400010"])>-1?(e.getElement("username").focus(),e.getElement("verifycode").value=""):$.inArray(c.errInfo.no,["400011","400015","400038"])>-1?($(e.getElement("password")).attr("type","text"),$(e.getElement("pwdToggle")).addClass("pass-input-pwdToggle-show"),e.getElement("verifycode").value="",e._disablePwdCut(),i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_pwdToggle_showPwd_pwdError",ev:[e.module,"click"]}),"1"===c.data.isFinance?g():++e.pwdErrorCount>1&&g()):$.inArray(c.errInfo.no,["310006","500002","500001"])>-1&&(e.getElement("verifycode").value="",e.getElement("verifycode").focus())}o.value=e.lang.submitText,("ios"==publicData.client||"android"==publicData.client)&&(400032==c.errInfo.no&&(c.errInfo.no=0),i.client.logAjax("ax_login_sb",d,c.errInfo.no))},"json"),e.submitTimer5s=setTimeout(function(){o.value=e.lang.submitLoading5s},5e3),e.submitTimer15s=setTimeout(function(){o.disabled=!1,o.value=e.lang.submitText,$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),e._validateError({msg:e.lang.networkError}),i.getSeverTime()},15e3)}e.getElement("submit").focus(),o.disabled=!0,i.logAll&&i.logAll.logBfb&&i.logAll.logBfb({en:"appsapi-"+e.module+"_submit",ev:[e.module,"click",publicData.overseas],autoStatisticObj:{faceLoginCase:e.data.faceLoginCase||"none"}}),i.removeInfoAnimate(e.module);var s=$(e.getElement("formWrapper")).formJson();$(e.getElement("loadingMask")).show(),$(e.getElement("loading")).show(),"overseas"==e.stage?(s.username=i.view._strTrim(s.code),s.isphone=1,s.countrycode=e.data.countrycode):s.countrycode="",s.username=i.view._strTrim(s.username),s.verifycode=i.view._strTrim(s.verifycode);var r=s.password;try{i.serverTime?(s.password=s.password+i.serverTime,r+=i.serverTime,s.servertime=i.serverTime):(i.getSeverTime(),s.password=s.password+i.serverTime,r+=i.serverTime,s.servertime=i.serverTime),setMaxDigits(131);var c=new RSAKeyPair("10001","",e.rsa);s.password=encryptedString(c,s.password),r=encryptedString(c,r)}catch(g){}l()}},!0)}};return{entrance:function(t){e=this;var i=($(t.target),t.target.name);if(!i&&t.target.id){var o=t.target.id.match(/login-(.*)$/);o&&(i=o[1])}i&&(a.hasOwnProperty(t.type)&&a[t.type].apply($(t.target),[i,t]),n.hasOwnProperty(t.type)&&("function"==typeof n[t.type]&&n[t.type].apply($(t.target),[t]),n[t.type].hasOwnProperty(i)&&n[t.type][i].apply($(t.target),[i,t])))}}}()}),window.Pass.login=n,window.Pass.client.fillLoginNameFn=function(e){$(window.Pass.login.getElement("username")).val(e)},sessionStorage&&sessionStorage.setItem("sdklogin_mobileAppeal_v2",location.href),n}); Pass._define("reg",function(){var e,t=Pass,a={error:{field:""},data:{code:"+86",countrycode:""},module:"reg",reg_vcode:"",sms_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:"注册",titleBar:"输入",words:"登录",username:"用户名",usernamePlaceholder:"用户名",mobilenum:"手机号码",mobilenumPlaceholder:"请输入手机号码",phoneformatRegError:"您输入的手机号格式有误，请重新输入",password:"密码",passwordPlaceholder:"6-14位，建议数字、字母、符号组合",submitTextVerify:"获取手机验证码",submitTextReg:"注册",loading:"请等待...",regDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",fastLogin:"注册",otherBaidu:"注册百度帐号，即可登录所有百度产品",regTip:"注册成功后，可用其登录百度所有产品,如贴吧、文库、知道、地图等",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',readAndAccept:"阅读并同意",agreement:"百度用户协议",personal_agreement:"百度隐私权保护声明",and:"及",cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录",agree:"请勾选“阅读并接受百度用户协议”"},en:{title:"Sign Up",titleBar:"Enter",words:"Login",username:"Account",usernamePlaceholder:"Account",mobilenum:"Phone",mobilenumPlaceholder:"Phone ",phoneformatRegError:"Incorrect phone format",password:"Password",passwordPlaceholder:"6-14 Alaphabets, numbers and symbols",submitTextVerify:"Next",submitTextReg:"Sign Up",loading:"Waiting",regDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",fastLogin:"Sign Up",otherBaidu:"This Baidu account can be used in all Baidu app.",regTip:"This Baidu account can be used in all Baidu app.",otherReg:'You can use <a id="#{module}-upstreamReg">expedite cellphone registration</a> to register.',readAndAccept:"I agree to",personal_agreement:"Baidu Privacy Statement",agreement:"Baidu Service Agreement",cancel:"Cancel",and:"and",feedback:"Feedback",smsLogin:"Login via SMS",agree:'Please check "Read and accept Baidu User Agreement"'}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={phoneRightDom:'<span id="'+t.module+'-userSelect" class="pass-input-aide pass-input-userSelect"></span>',passwordRightDom:'<span id="'+t.module+'-pwdToggle" class="pass-input-aide pass-input-pwdToggle"></span>',passportTip:'<p class="f14 m-b10 gray">'+t.lang.regTip+"</p>",regAgreement:'<p class="f14 gray"><input type="checkbox" name="agree" id="'+t.module+'-agree"/>&nbsp;'+t.lang.readAndAccept+'<a data-role="agreement" class="agree-link">'+t.lang.agreement+"</a>&nbsp;"+t.lang.and+'&nbsp;<a data-role="personal_agreement" class="agree-link">'+t.lang.personal_agreement+"</a></p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">'+t.lang.otherReg.replace("#{module}",t.module)+"</p>"};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),n='<article class="wrapper" id="'+this.module+'">',i=publicData,l=[];i.tempid="",i.agreement=1,i.nopsw=publicData.nopsw||"",i.regVcodesign="",i.regVcodestr="",i.regDialogVerifyCode="",i.smsVcodesign="",i.smsVcodestr="",i.smsDialogVerifyCode="",i.gid=t.guideRandom||"",l.push(1!=publicData.regdomestic&&1==publicData.overseas?{field:"mobilenum",label:!0,type:"tel",code:!0,labeltext:"+86",placeholder:e.lang.mobilenumPlaceholder}:{field:"mobilenum",type:"tel",placeholder:e.lang.mobilenumPlaceholder}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(n+=a._getHeaderField({title:e.lang.fastLogin,goBack:!0})),n+='<div class="img-div"><span  class="logo-dom"></span></div>',n+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',n+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var r=0;r<l.length;r++)n+=a._getRegularField(l[r]);return n+=a._getErrorField(),n+=a._getSubmitField({value:e.lang.submitTextVerify}),n+=a._getHiddenField(i),n+="</form>",n+=e._getIrregularField("regAgreement"),n+=e._getIrregularField("upstreamReg"),n+=a._getLoadingField({module:e.module,html:e.lang.loading}),n+="</div>",n+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="other-baidu-reg" id="other-baidu-reg"><div><span class="other-text-reg">'+e.lang.otherBaidu+'</span></div><div class="img-item"><span class="item-icon item-shoubai"></span><span class="item-icon item-tieba"></span><span class="item-icon item-yun"></span><span class="item-icon item-map"></span><span class="item-icon item-waimai"></span><span class="item-icon item-nuomi"></span><span class="item-icon item-purse"></span></div></div></div>',n+="</article>"},render:function(e,a){var n=this;if(t&&t.traceID&&t.traceID.startFlow&&t.traceID.startFlow("wapReg"),n.initialized)Pass.switchView(n.module);else{var i=n._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(n.module),n.setEvent(),Pass._getScript("login")}a&&a.code&&($(".pass-label-"+n.module+"-code").html(a.code),n.data.code=a.code,n.data.countrycode=a.countrycode),n._setValidator();var l=window.screen.height,r=window.innerHeight,o=64;if(r>l-o&&("apps"==publicData.adapter||1==publicData.adapter||3==publicData.adapter)&&"ios"==publicData.client){var s=document.getElementById("other-baidu-reg");s.style.bottom="79px"}var d=$(window).height();d>430&&($("html").css("height","100%"),$("body").css("height","100%"));var g=$(n.getElement("registerWrapper")).offset().top;$(n.getElement("registerWrapper")).height($(window).height()-g).css("visibility","visible"),t.view.inputBlur(),sessionStorage.setItem("regfrom","reg"),t&&t.view&&t.view.setManMachine&&t.view.setManMachine(n)},getPhone:function(){var e=this;if("android"==publicData.client){var a=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(a?t.view._substrMobile(a):""),a&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(a,n){var n=n||{},i=n.result;$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&1==publicData.nopsw&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_reg_va"))},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var a=function(t){e.logPageEffective(),e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,change:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(a,n){var n=$(this);t.view.clearInputValueBtn(n.prev(),n,e.getElement("submit"))}),e.getPhone(),2!=publicData.regtype&&(t.view._mobilenumFormat(e,"mobilenum",function(){1==publicData.nopsw&&("+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1)?t.view.setSubmitStyle(e,0):1==publicData.nopsw&&-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(e.getElement("mobilenum")).on("paste",function(){var e=this;setTimeout(function(){e.value=t.view._substrMobile(e.value)},100)})),$(e.getElement("formWrapper")).on("submit",a),$(e.getElement("pwdToggle")).on("tap",a),$(e.getElement("upstreamReg")).on("tap",function(){var a=$(e.getElement("mobilenum")).val(),n=n||{};n._upstreamMobile=t.view._strTrim(a),t._getScript("upstreamReg",function(e){e.render("pageWrapper",n)})}),t.view.fullButton($(e.getElement("submit"))),t.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg"),$(".pass-label-reg-code").on("touchend",function(t){t.preventDefault();var a={};a.module=e.module,Pass._getScript("codelist",function(e){e.render("pageWrapper",a)})}),$("#reg-agree").on("click",function(){$("#reg-agree").attr("checked")&&$(".error_area").html("")})},_setValidator:function(){var e=this;e.validateRules={username:{rules:["required"],desc:e.lang.username},mobilenum:{rules:"+86"==e.data.code?["required","phoneformatReg"]:["required","numformat"],desc:e.lang.mobilenum},agree:{rules:["agree"],desc:e.lang.agree}},e._validator.addRule("phoneformatReg",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^1[3456789]\d{9}$/.test(a)?!0:!1}),e._validator.addMsg("phoneformatReg",e.lang.phoneformatRegError),e._validator.addRule("numformat",function(){var a=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(a)?!0:!1}),e._validator.addMsg("numformat",e.lang.phoneformatRegError),e._validator.addRule("agree",function(){return $("#reg-agree").attr("checked")?!0:!1}),e._validator.addMsg("agree",e.lang.agree),e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this,e=e||{};e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(a.error.field="")},_showSuggestNames:function(e){var a=this,n="",i=$(a.getElement("username")),l='<ul class="pass-input-suggest" id="'+this.module+'-username-suggest"></ul>';if(e&&e.length){for(var r=0,o=e.length;o>r;r++)n+='<li><a href="###">'+e[r]+"</a></li>";a.getElement("username-suggest")||(i.parent().append(l),t.view.tap($(a.getElement("username-suggest")),function(e){var t=$(e.target).html();i.val(t),a._validateSuccess(),$(a.getElement("username-suggest")).fadeOut(),e.preventDefault()}));var s=a.getElement("username-suggest");$(s).html(n),$(s).is(":hidden")&&$(s).fadeIn()}else $(a.getElement("username-suggest")).hide()},_eventHandler:function(){var a=this,n={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),1!=publicData.nopsw&&t.view.setSubmitStyle(a,0)},keyup:function(e){1!=publicData.nopsw&&t.view.setSubmitStyle(a);var n={mobilenum:"num_reg_wtel",password:"num_reg_wpwd",username:"num_reg_wun"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(n[e]))}},i={change:{username:function(e){a.validate(e,{success:function(){var n=a.getElement(e);$.getJSON(apiDomain+"/wp/api/reg/check/uname?tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&gid="+(t.guideRandom||"")+"&username="+n.value+"&tt="+(new Date).getTime()+"&countrycode="+a.data.countrycode,function(e){0==e.errInfo.no?t.removeInfoAnimate(a.module):(a._showSuggestNames(e.data.suggNames),a._validateError({msg:e.errInfo}))},"json")}})}},blur:{username:function(){},mobilenum:function(e){var n=a.getElement(e).value;""!=n&&(a.getElement(e).value=t.view._substrMobile(n))},password:function(){}},tap:{pwdToggle:function(e){var t=$(a.getElement("password"));"text"==t.attr("type")?(t.attr("type","password"),$(a.getElement(e)).removeClass("pass-input-pwdToggle-show")):(t.attr("type","text"),$(a.getElement(e)).addClass("pass-input-pwdToggle-show")),a.getElement("password").focus()}},submit:function(n){var i=a.getElement("submit");n.preventDefault(),i.disabled||a.validateAll({success:function(){function n(){l.mobilenum=t.view._strTrim(a.getElement("mobilenum").value),l.vcodesign=a.getElement("regVcodesign").value,l.vcodestr=a.getElement("regVcodestr").value,l.dialogVerifyCode=a.getElement("regDialogVerifyCode").value,$.post(apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),l,function(o){function s(){a.data.username=a.getElement("mobilenum").value;var e=(new Date).getTime();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var n=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",l={username:t.view._strTrim(a.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:a.data.countrycode,gid:t.guideRandom||"",vcodesign:a.getElement("smsVcodesign").value,vcodestr:a.getElement("smsVcodestr").value,dialogVerifyCode:a.getElement("smsDialogVerifyCode").value,dv:n};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),l,function(n){var r=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_smsLogin_request",ev:[a.module,"request",n.errInfo.no,n.errInfo.msg]}),a.getElement("smsVcodesign").value="",a.getElement("smsVcodestr").value="",0==n.errInfo.no)$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),n.data.username=l.username,n.data.code=a.data.code,a.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(a.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",n.data)});else if(50020==n.errInfo.no||50021==n.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),n.data.tempid=n.data.tempid;var o=n.data.vcodestr;n.data.verifyCodeData={mask:!0,vcodestr:o,from_module:"reg-smsLogin",verifySuccessFn:function(e){a.getElement("smsDialogVerifyCode").value=e||"",a.getElement("smsVcodesign").value=n.data.vcodesign,a.getElement("smsVcodestr").value=o,s&&s(),a.sms_vcode.remove()}},a.sms_vcode=new t.ui.vcode(n.data.verifyCodeData)}else $(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:n.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",r,n.errInfo.no)},"json")}var d=(new Date).getTime()-r;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",o.errInfo.no,o.errInfo.msg]}),a.logPageEffective(),$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),0==o.errInfo.no)o.data.tempid&&(a.getElement("tempid").value=o.data.tempid),a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",o.data.tempid=o.data.tempid,o.data.mobilenum=l.mobilenum,o.data.code=a.data.code,t._getScript("reg_verify",function(e){e.render("pageWrapper",o.data)});else if(400003==o.errInfo.no){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+o.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="reg-cancel-btn"><input type="button" value="'+a.lang.smsLogin+'" class="pass-button-auto pass-dialog-btnright" id="sms_login-ok-btn" data-no="'+o.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#reg-cancel-btn").live("click",function(){e.remove(),a.getElement("regDialogVerifyCode").value="",a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value=""}),$("#sms_login-ok-btn").live("click",function(){e.remove(),s()})}else if(50019==o.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),o.data.tempid=o.data.tempid;var m=o.data.vcodestr;a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",o.data.verifyCodeData={mask:!0,vcodestr:m,from_module:"reg",verifySuccessFn:function(e){a.getElement("regDialogVerifyCode").value=e||"",a.getElement("regVcodesign").value=o.data.vcodesign,a.getElement("regVcodestr").value=m,n&&n(),a.reg_vcode.remove()}},a.reg_vcode=new t.ui.vcode(o.data.verifyCodeData)}else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),50013==o.errInfo.no)$(a.getElement("upstreamRegWrapper")).show(),a._validateError({msg:o.errInfo.msg});else if(o.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(o.errInfo.no,["50014","50015","50013"])>-1){var g='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+o.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+a.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+a.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+o.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),o.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",o.data)})})}else a._validateError({msg:o.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_vcd",d,o.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)}a.getElement("submit").focus();var l=$(a.getElement("formWrapper")).formJson();i.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();var r=(new Date).getTime();l.tpl=publicData.tpl,l.countrycode=a.data.countrycode,l.tt=(new Date).getTime();try{setMaxDigits(131);var o=new RSAKeyPair("10001","",a.rsa);l.password=encryptedString(o,l.password)}catch(s){}n()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var l=e.target.id.match(/reg-(.*)$/);l&&(t=l[1])}t&&(n.hasOwnProperty(e.type)&&n[e.type].apply($(e.target),[t,e]),i.hasOwnProperty(e.type)&&("function"==typeof i[e.type]&&i[e.type].apply($(e.target),[e]),i[e.type].hasOwnProperty(t)&&i[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("reg_verify",function(){var e,t,a=Pass,i={error:{field:""},data:{code:"+86",countrycode:""},module:"reg_verify",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"验证手机号",smsvc:"验证码",smsvcPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{mobilenum}",sendText:"验证码已发送",verifySendInfo:"发送验证码",countTime:60,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在注册",vcodeloading:"发送中",regVerDialogSmsvcErr:"验证码为空",regVerifyUpper:"此手机获取验证码已达上限，请在24小时后重试",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,fastLogin:"快速注册",otherReg:'您还可以通过<a id="#{module}-upstreamReg">手机快速注册</a>的方式完成注册',cancel:"取消",feedback:"问题反馈",smsLogin:"短信登录"},en:{title:"Phone Verify",smsvc:"Code",smsvcPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{mobilenum}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",countTime:60,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Register",vcodeloading:"Sending",regVerDialogSmsvcErr:"Code is empty",regVerifyUpper:"Please try again after 24 hours.",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,fastLogin:"Sign Up",otherReg:"",cancel:"Cancel",feedback:"Feedback",smsLogin:"Login via SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+t.data.code+" "+t.lang.pageTipUsername+"</p>",upstreamReg:'<p class="f14 m-t20 gray hide" id="'+t.module+'-upstreamRegWrapper">您还可以通过<a id="'+t.module+'-upstreamReg">手机快速注册</a>的方式完成注册</p>'};return a[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData;return n.tempid="",n.agreement=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="",publicData.nopsw=1,n.nopsw=publicData.nopsw||"",n.gid=a.guideRandom||"","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{mobilenum}",a.view._substrMobile(e.data.mobilenum)||""),i+='<form autocomplete="off" id="'+t.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=t._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.smsvcPlaceholder}),i+=t._getErrorField(),i+=t._getSubmitField({value:e.lang.submitText}),i+=t._getHiddenField(n),i+="</form>",i+=e._getIrregularField("upstreamReg"),i+=t._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,t){var i=this,n=$("#"+i.module);i.data=t||{},"+86"==i.data.code?t.countrycode="":i.data.code&&(t.countrycode="00"+i.data.code.substring(1)),n.length>0&&n.remove();var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),this.initialized||(this.initialized=!0,i._setValidator()),i.getElement("tempid").value=i.data.tempid,i.setEvent();var r=i.getElement("smsvc");r.focus(),a.view.inputBlur()},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");a.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,t){var t=$(this);a.view.clearInputValueBtn(t.prev(),t)}),"android"==publicData.client&&a.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/reg/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_reg_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t={mobilenum:e.data.mobilenum,tpl:publicData.tpl,gid:a.guideRandom||"",tt:(new Date).getTime(),clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value};return t},success:function(t){"android"==publicData.client&&a.client.vcodetoclient(e.module),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",t.data.tempid&&(e.getElement("tempid").value=t.data.tempid)},error:function(i){if(50019==i.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),i.data.tempid=i.data.tempid;var n=i.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",i.data.verifyCodeData={vcodestr:n,mask:!0,from_module:"reg_verify",verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=i.data.vcodesign,e.getElement("vcodestr").value=n,$(e.getElement("verifyCodeSend")).click()}},t=new a.ui.vcode(i.data.verifyCodeData)}e._validateError({msg:i.errInfo.msg,field:"smsvc"})}});$(e.getElement("upstreamReg")).on("tap",function(){var t=e.data.mobilenum||"",i=i||{};i._upstreamMobile=t,a.client.deviceClass("action_set_title",{title:"快速注册"}),a._getScript("upstreamReg",function(e){e.render("pageWrapper",i)})}),$(e.getElement("formWrapper")).on("submit",i),a.view.fullButton($(e.getElement("submit"))),a.client.logEffective({keydown:$(".pass-text-input",e.getElement("formWrapper")),tap:$(e.getElement("submit"))},"sapiReg"),sessionStorage.getItem("regfrom")&&"reg"==sessionStorage.getItem("regfrom")&&(data.regfrom="reg")},setVcodeVal:function(e){var t=this;t.getElement("smsvc").value=e,e&&$(t.getElement("submit")).click(),a.view.setSubmitStyle(t,0)},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.smsvc}},e._validator.init(e,e.validateRules)},_validateError:function(e){var t=this;a.infoAnimate(t.module,e.msg),a.view.setSubmitStyle(t),e.field?(t.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):t.error.field=""},_validateSuccess:function(e){var t=this,e=e||{};e.msg?a.infoAnimate(t.module,e.msg):e.field==t.error.field&&(a.removeInfoAnimate(t.module),t.error.field="")},_eventHandler:function(){var t=this,i={focus:function(e){a.view._setFocusStyle(t,e)},blur:function(e){a.view._setBlurStyle(t,e),a.view.setSubmitStyle(t,0)},keyup:function(e){a.view.setSubmitStyle(t);var i={smsvc:"num_reg_gvcd"};t["logPNum"+e]||(t["logPNum"+e]=!0,a.client.logPV(i[e]))}},n={blur:{smsvc:function(){}},submit:function(i){var n=t.getElement("submit");i.preventDefault(),a.client.logPV("num_reg_sb"),n.disabled||t.validateAll({success:function(){t.getElement("submit").focus();var i=$(t.getElement("formWrapper")).formJson();n.disabled=!0,a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_submit",ev:[t.module,"click"]}),$(t.getElement("loadingMask")).show(),$(t.getElement("loading")).show(),a.removeInfoAnimate(t.module);var o=(new Date).getTime();if(i.tpl=publicData.tpl||"ppdemo",i.logRegType="sdk_reg",i.mobilenum=t.data.mobilenum,i.countrycode=t.data.countrycode,i.tt=(new Date).getTime(),i.passAppHash=publicData.passAppHash||"",i.passAppVersion=publicData.passAppVersion||"",publicData.nopsw=1,1!=publicData.nopsw){i.password=t.data.password||"";try{setMaxDigits(131);var r=new RSAKeyPair("10001","",t.rsa);i.password=encryptedString(r,i.password)}catch(l){}}$.post(apiDomain+"/wp/api/reg/phone?v="+(new Date).getTime(),i,function(r){var l=(new Date).getTime()-o;if(a.logAll&&a.logAll.logBfb&&a.logAll.logBfb({en:"appsapi-"+t.module+"_request",ev:[t.module,"request",r.errInfo.no,r.errInfo.msg]}),0==r.errInfo.no){$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide();var s=r.data.xml.replace("<account></account>","<account>"+i.mobilenum+"</account>"),d=r.data||{};d.xml=s,d.from_module=t.module,d.authsid=r.data.authsid||"",d.bdstoken=r.data.bdstoken||"",d.jumpset=r.data.jumpset||"",d.tpl=i.tpl,Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",d)})}else if(400413==r.errInfo.no||400414==r.errInfo.no)r.data.loginType="sms",a._getScript("smsSecondcard",function(e){e.render("pageWrapper",r.data)});else if($(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),r.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(r.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var c='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+r.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+t.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="feedback-cancel-btn"><input type="button" value="'+t.lang.feedback+'" class="pass-button-auto pass-dialog-btnright" id="feedback-ok-btn" data-no="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:c}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),r.data.no=$(this).attr("data-no"),a.client.deviceClass("action_set_title",{title:t.lang.feedback}),a._getScript("feedback",function(e){e.render("pageWrapper",r.data)})})}else t._validateError({msg:r.errInfo.msg,field:"smsvc"}),$.inArray(r.errInfo.no,["300001","310005","310004"])>-1;n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),clearTimeout(t.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&a.client.logAjax("ax_reg_sb",l,r.errInfo.no)},"json"),t.submitTimer=setTimeout(function(){n.disabled=!1,$(t.getElement("loadingMask")).hide(),$(t.getElement("loading")).hide(),t._validateError({msg:t.lang.networkNoText,field:"smsvc"})},15e3)}},!0)}};return{entrance:function(e){t=this;var a=($(e.target),e.target.name);if(!a&&e.target.id){var o=e.target.id.match(/reg_verify-(.*)$/);o&&(a=o[1])}a&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[a,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(a)&&n[e.type][a].apply($(e.target),[a,e])))}}}()})}); Pass._define("canshare_accounts",function(){var ns=Pass,canshare_accounts={data:{},bduss:[],getnetwork:!1,num:0,submitData:[],netstrvalue:"",module:"canshare_accounts",initialized:!1,rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return ns.client=ns.client||{},canshare_accounts=$.extend(canshare_accounts,{lang:{"zh-cn":{title:"快速登录",words:"登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",pageTipInfo:"检测到您在百度产品中登录以下帐号，点击可以快速登录:",btn:"用其它帐号登录",promap:{BaiduBoxApp:"手机百度",Zhidao:"百度知道",netdisk:"百度网盘",Waimai:"百度外卖",BaiduVideo:"百度视频",smartnews:"百度新闻",translate:"百度翻译",mybox:"百度网盘"},baiduOtherApp:"百度其他产品",sms_login:"短信验证登录",fastReg:"快速注册",login:"百度帐号登录",face_login:"刷脸登录",fastLogin:"快速登录"},en:{title:"Login",words:"Login",networkNoText:"Network error",pageTipInfo:"Choose an account",btn:"Other Account",promap:{BaiduBoxApp:"Baidu App",Zhidao:"Baidu Know",netdisk:"Baidu Cloud",Waimai:"Baidu Takeaway",BaiduVideo:"Baidu Video",smartnews:"Baidu News",translate:"Baidu Trans",mybox:"Baidu Cloud"},baiduOtherApp:"Other App",sms_login:"SMS Login",fastReg:"Sign Up",login:"Login with account and password",face_login:"Face Login",fastLogin:"Login"}}[window.publicData.lang||"zh-cn"],getElement:function(a){return document.getElementById(this.module+"-"+a)},_getIrregularField:function(a){var e=this,t={pageTipInfo:'<p class="mod-page-tipInfo">'+e.lang.pageTipInfo+"</p>",normalLogin:'<div class="normal-login"><input type="button" class="pass-button-sub-default other-log" value="'+e.lang.btn+'"'+(3==publicData.loginInitType?"":' data-role="'+e.loginType+'"')+' id="'+this.module+'-login" /></div>'};return t[a]},_getTemplate:function(){var a=this,e=new Pass.ui.temp({module:a.module}),t='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(t+=e._getHeaderField({title:a.lang.title,nextRole:a.loginType,goBack:!0})),t+='<div class="img-div"><span  class="logo-dom"></span></div>',t+='<div class="mod-content-code '+e.getId("contentWrapper")+'" id="'+e.getId("contentWrapper")+'">',t+='<div class="loading loading-img"></div>',t+=a._getIrregularField("normalLogin"),t+=e._getErrorField(),t+="</div>",t+="</article>"},render:function(a){var e=this,t=publicData.loginInitType;if(e.loginType="login",e.loginType="1"===t?"sms_login":"2"===t&&"android"===publicData.client?"fastReg":"4"===t?"face_login":"login",ns&&ns.traceID&&ns.traceID.startFlow&&ns.traceID.startFlow("wapLogin"),e.initialized)Pass.switchView(e.module);else{var n=e._getTemplate();"[object string]"==Object.prototype.toString.call(a).toLowerCase()?$("#"+a).append(n):a.append(n),this.initialized=!0,Pass.switchView(e.module),e.setEvent(),e.getData()}},setEvent:function(){var a=this;$("[data-role]",$("#"+a.module)).each(function(){ns.view.cutPage($(this))}),$(a.getElement("login")).on("click",function(){ns.client.logPV("num_acc_oth")}),3==publicData.loginInitType&&$(a.getElement("login")).on("click",function(){ns.client.customLogin(),ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_login",ev:[a.module,"click"]})}),ns.view.touch($(a.getElement("login")),"pass-button-sub-active")},getData:function(){var me=this;if("android"==publicData.client){for(var str=ns.client.deviceClass("config_canshare_accounts"),realStr=eval("("+str.toLocaleString()+")"),strvalue="",retCopy=realStr,exeFlag=0,i=0;i<realStr.length;i++)strvalue+=realStr[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(realStr)}else"ios"==publicData.client&&ns.client.deviceClass("getAccountsInfo",{},function(id,params){for(var ret=eval("("+params.result+")"),strvalue="",retCopy=ret,i=0;i<ret.length;i++)strvalue+=ret[i].bduss+"|";strvalue=strvalue.substring(0,strvalue.length-1),me.netstrvalue=strvalue,me._draw(ret)})},_draw:function(a){var e=this;str='<ul class="canshare-account-list clearfix">',wrap=$(e.getElement("contentWrapper")),bduss=[],proMap=e.lang.promap,e.num=0,e.submitData=[];var t=(window.screen.height,window.innerHeight);if(a.length>0&&"[object Array]"==Object.prototype.toString.call(a)){for(var n=0,i=a.length;i>n;n++){var s=e.lang.baiduOtherApp;if(e.num>=3||e.num>=2&&500>t)break;if(""!=a[n].displayname&&""!=a[n].bduss){var o=a[n].app;proMap[o]&&void 0!=proMap[o]?s=proMap[o]:""!=o&&void 0!=o&&(s=o),str+=0==n?'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>':'<li id="purse-li-'+a[n].uid+'" data-role="2"><span class="user-avatar"><img/></span><span><span class="canshare-account-displayname">'+a[n].displayname+'</span><span class="canshare-account-tip"><img data-role="purse-icon" style="display:none;padding-left:10px;padding-top:5px;" id="purse-icon-'+a[n].uid+'"  src="" width="40" height="12"/></span><span class="user-text">通过'+s+'关联</span></span><span class="ajax-loading loading-img"></span><span class="pass-user-userlist"></span></li>',e.bduss.push(a[n].bduss?a[n].bduss:""),e.num++,e.submitData.push(a[n])}}if(0==e.num){3!=publicData.loginInitType&&(ns.client.deviceClass("action_set_title",{title:e.lang[e.loginType]}),Pass._getScript(e.loginType,function(a){a.render("pageWrapper")}))}else"android"!==publicData.client&&e.getImg(),str+="</ul>",$(".loading",wrap).remove(),$(".normal-login",wrap).before(str),this._bind()}},getCardImg:function(){var a=this;$.ajax({url:apiDomain+"/v3/login/api/getcardinfo/?v="+(new Date).getTime(),type:"POST",data:{data:a.netstrvalue},dataType:"json",error:function(){},success:function(a){if(-1==a.result);else for(var e=a.has_card_info.length,t=0;e>t;t++)1==a.has_card_info[t].hascard?(document.getElementById("purse-icon-"+a.has_card_info[t].uid).src=apiDomain+"/static/appsapi/img/purse.png",document.getElementById("purse-icon-"+a.has_card_info[t].uid).style.display="block",$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)):$("#purse-li-"+a.has_card_info[t].uid).attr("data-role",a.has_card_info[t].hascard)}})},getImg:function(){var a=this;a.getnetwork!==!0&&0!=a.num&&$.post(apiDomain+"/wp/api/ucenter/portrait/get?v="+(new Date).getTime(),{tpl:publicData.tpl,data:a.bduss},function(e){a.getnetwork=!0,a.reSetImgSrc(e.data.portrait),a.getCardImg()},"json")},reSetImgSrc:function(a){var e=this;if(e.getImg(),$(".canshare-account-list li").length>0){var t=0;$(".canshare-account-list img").each(function(){var e=a[t]?a[t]:$(this).attr("src"),n=e.indexOf("?")>0?"&":"?";"purse-icon"==$(this).attr("data-role")||(t++,$(this).attr("src",e+n+"v="+(new Date).getTime()))})}},_bind:function(){var a=this,e=$(".canshare-account-list li"),t=function(e){var n=$(e.target).closest("li"),i=n.index(),s=a.submitData[i];if(n){ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]});var o=n.attr("data-role"),r=0;a.num>1&&(r=1),$(".ajax-loading",n).css("display","block"),$(".canshare-account-list").off("tap").off("touchstart"),ns.removeInfoAnimate(a.module);var l=(new Date).getTime(),c=s.uid,p=s.uid;if(c)try{setMaxDigits(131);var u=new RSAKeyPair("10001","",a.rsa);c=encryptedString(u,c)}catch(d){}$.post(apiDomain+"/wp/checkuser?v="+(new Date).getTime(),{bduss:s.bduss,uid:c||"",tpl:publicData.tpl||"",client:publicData.client||"",cardflag:o,passAppHash:publicData.passAppHash||"",passAppVersion:publicData.passAppVersion||"",cardNum:r},function(e){var o=(new Date).getTime()-l;if(ns.logAll&&ns.logAll.logBfb&&ns.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",e.errInfo.no,e.errInfo.msg]}),0==e.errInfo.no)if("android"==publicData.client){var r="<client><page>login</page><data><actiontype></actiontype><errno>0</errno><errmsg></errmsg><res>";if(s.uname=e.data.uname,s.displayname=e.data.displayname,e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),$.each(s,function(a,e){r+="<"+a+">"+e+"</"+a+">"}),r+="</res></data></client>",window.sapi_obj&&window.sapi_obj.authorized_response)window.sapi_obj.authorized_response(r);else{var c="{action:{name:'authorized_response',params:['"+r+"']}}";prompt(c,"authorized_response_str")}}else"ios"==publicData.client&&(e.data.incomplete_user&&""!=e.data.incomplete_user&&(s.incomplete_user=e.data.incomplete_user),ns.client.deviceClass("loginWithExistedAccount",s));else 220003==e.errInfo.no?(ns.infoAnimate(e.errInfo.msg),"android"==publicData.client&&window.sapi_obj&&window.sapi_obj.action_remove_share_account?(n.remove(),a.submitData.splice(i,1),window.sapi_obj.action_remove_share_account(p)):"android"==publicData.client?(n.remove(),a.submitData.splice(i,1),prompt("{action:{name:'action_remove_share_account', params:['"+p+"']}}")):"ios"==publicData.client&&(n.remove(),a.submitData.splice(i,1),ns.client.deviceClass("action_remove_share_account",{uid:p}))):(ns.client.deviceClass("action_set_title",{title:"快速登录"}),Pass._getScript("authPwd",function(a){a.render("pageWrapper",s)}));$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&ns.client.logAjax("choice_login_share",o,e.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){$(".ajax-loading",n).css("display","none"),ns.view.tap($(".canshare-account-list"),t),ns.infoAnimate(a.module,a.lang.networkNoText)},15e3),e.preventDefault(),ns.client.logPV("num_acc_login")}};ns.view.tap($(".canshare-account-list"),t),ns.view.touch(e,"canshare-account-active")}})}); Pass._define("sms_login",function(){var e,t=Pass,i={error:{field:""},module:"sms_login",data:{code:"+86",countrycode:""},sms_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"},a=!1;return i=$.extend(i,Pass.validator),i=$.extend(i,{lang:{"zh-cn":{title:"短信验证登录",words:"注册",mobilenum:"手机号码",mobilenumError:"手机号",mobilenumPlaceholder:"请输入手机号码",phoneformatSmsError:"您输入的手机号格式有误，请重新输入",submitText:"获取手机验证码",loading:"请等待...",smsDialogVerifyCodeErr:"验证码为空",loginLinkText:"使用百度帐号登录",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",code:"+86",readAndAccept:"我已阅读并同意",agreement:"百度用户协议",cancel:"取消",baiduLogin:"百度帐号登录",workLogin:"合作帐号登录",otherLogin:"其他登录方式",fastLogin:"第三方帐号登录",fastReg:"快速注册",bindTip:"您的手机号尚未注册，点击注册将为您注册百度帐号，您可通过手机号和短信验证码登录",notReg:"该手机号尚未注册，无法登录",reg:"快速注册"},en:{title:"SMS Login",words:"Sign Up",mobilenum:"Phone",mobilenumError:"Phone",mobilenumPlaceholder:"Phone",phoneformatSmsError:"Incorrect phone format",submitText:"Next",loading:"Waiting",smsDialogVerifyCodeErr:"Code is empty",loginLinkText:"Login",networkNoText:"Network error",code:"+86",readAndAccept:"I agree to",agreement:"Baidu Service Agreement",cancel:"Cancel",baiduLogin:"Login with account and password",workLogin:"Switch account",otherLogin:"Other",fastLogin:"Other Account",fastReg:"Sign Up",bindTip:"Phone number is not registered, Automatically register Baidu account and bind to the cell phone number.",notReg:"Phone number is not registered,so can not login",reg:"Sign Up"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t,i,a=this;return i=1==publicData.loginLink?'<span id="" class="right login-index">'+a.lang.baiduLogin+"</span>":"",t={links:'<p class="account_login right clearfix"><a data-role="login">'+a.lang.loginLinkText+"</a></p>",regAgreement:'<p class="f14 gray">'+a.lang.readAndAccept+'<a data-role="agreement" class="agree-link">&nbsp;'+a.lang.agreement+"</a>"+i+"</p>",otherLayer:'<div id="'+a.module+'-sotherlogin" class="go-safe-manager '+(publicData.regLink?"":"border-none")+'">'+(publicData.regLink?'<div class="fastlogin-bordertext">或</div>':"")+'</div><div id="fastlogin-layer-sms_login" class="fastlogin-layer-login"></div>',regLink:'<div id="'+a.module+'-register">'+a.lang.reg+"</div>",userNameRightDom:'<span id="'+a.module+'-userlist" class="pass-input-aide pass-input-userlist"></span>'},t[e]},_getTemplate:function(){var e=this,i=new Pass.ui.temp({module:e.module}),a='<article class="wrapper" id="'+this.module+'">',l=publicData,n={sms:1},o=[];l.agreement=1,l.vcodesign="",l.vcodestr="",l.dialogVerifyCode="",l.gid=t.guideRandom||"",o.push({field:"mobilenum",labeltext:1==publicData.overseas?"+86":e.lang.mobilenum,type:"tel",code:1==publicData.overseas?!0:!1,label:1==publicData.overseas?!0:!1,code:1==publicData.overseas?!0:!1,placeholder:e.lang.mobilenumPlaceholder,rightDom:e._getIrregularField("userNameRightDom")}),"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(a+=i._getHeaderField({title:e.lang.title,goBack:!0})),a+='<div class="img-div"><div class="logo-dom" id="'+i.getId("loginLogo")+'"></div><div class="user-img"><img src="" id="'+i.getId("userImg")+'"/></div></div>',a+='<div class="mod-content" id="'+i.getId("contentWrapper")+'">',a+='<form autocomplete="off" id="'+i.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">';for(var r=0;r<o.length;r++)a+=i._getRegularField(o[r]);return a+=i._getErrorField(),a+=i._getSubmitField({value:e.lang.submitText}),a+=i._getHiddenField(l),a+=i._getHiddenField(n),a+="</form>",a+=e._getIrregularField("regAgreement"),a+=i._getLoadingField({module:e.module,html:e.lang.loading}),a+="</div>",a+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="p-b20"><div class="bottom-link login-register" id="'+e.module+'-bottomLink">'+(1==publicData.regLink?e._getIrregularField("regLink"):"")+"</div>"+e._getIrregularField("otherLayer")+"</div></div>",a+="</article>"},getRerocdList:function(){var e=this,i=apiDomain+"/wp/api/login/history?type=sms&item=&token="+publicData.token+"&clientfrom="+publicData.clientfrom+"&tpl="+publicData.tpl+"&gid="+(t.guideRandom||"")+"&tt="+(new Date).getTime();$.ajax({url:i,data:{},type:"GET",dataType:"json",success:function(i){var a=[];e.histroyRecordList=i.data.loginList,a=e.histroyRecordList;for(var l=a.length-1;l>=0;l--)/^1[345789]\d{9}$/.test(a[l])||a.splice(l,1);if(a.length>0&&e.getElement("userlist")){e.getElement("userlist").style.display="block";var n=t.view._substrMobile(a[0]);""===$(e.getElement("mobilenum")).val()&&($(e.getElement("mobilenum")).val(n),t.view.setSubmitStyle(e,0))}},error:function(){}})},render:function(e,i){var l=this;if(""!=$.fn.getQueryString("setTitleTxt")&&(document.title=decodeURIComponent($.fn.getQueryString("setTitleTxt"))),(0!=publicData.regLink&&"android"==publicData.client||1==publicData.regLink)&&(publicData.regLink=1),(i&&i.from&&"acclogin"==i.from||1==publicData.loginLink)&&(publicData.loginLink=1),i&&i.code&&($(".pass-label-"+l.module+"-code").html(i.code),l.data.code=i.code,l.data.countrycode=i.countrycode),l.error.field="",t&&t.traceID&&t.traceID.startFlow&&t.traceID.startFlow("wapLogin"),l.initialized)Pass.switchView(l.module);else{l.initialized=!0;var n=l._getTemplate();if("[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(n):e.append(n),publicData.reMobile){a=!0;var o=decodeURIComponent(publicData.reMobile);$(l.getElement("mobilenum")).val(o),t.view.setSubmitStyle(l,0)}"android"===publicData.client||a||l.getRerocdList(),window.Pass.sms_login=l,Pass.switchView(l.module),l.setEvent(),l.suggesTion(),1==publicData.loginmerge&&(publicData.loginmerge="")}var r=!1;if(l.data.adapter&&"apps"!=l.data.adapter&&1!=l.data.adapter&&3!=l.data.adapter&&(r=!0),l._setValidator(),publicData.smsfastlogin&&t.fastLogin.init(l.module),t.view.inputBlur(),$(l.getElement("registerWrapper")).html()){var s=$(l.getElement("registerWrapper")).offset().top;$(l.getElement("registerWrapper")).height($(window).height()-s).css("visibility","visible")}t&&t.view&&t.view.setManMachine&&t.view.setManMachine(l)},getPhone:function(){var e=this;if("android"==publicData.client){var i=t.client.deviceClass("get_preset_phone_number");$(e.getElement("mobilenum")).val(i?t.view._substrMobile(i):""),i&&t.view.setSubmitStyle(e,0)}else"ios"==publicData.client&&t.client.deviceClass("get_preset_phone_number",{},function(i,a){var a=a||{},l=a.result;$(e.getElement("mobilenum")).val(l?t.view._substrMobile(l):""),l&&t.view.setSubmitStyle(e,0)})},logPageEffective:function(){var e=this;e.logPEffective||(e.logPEffective=!0,t.client.logPV("num_smslogin_va"))},_getUserImg:function(e){var i=this;$(i.getElement("loginLogo")).hide(),$(i.getElement("userImg")).attr("src","https://gss0.baidu.com/7Ls0a8Sm2Q5IlBGlnYG/sys/portrait/item/"+i.data.countrycode+t.view._strTrim(e)+"?isuname=1&tt="+(new Date).getTime()).parent().show()},suggesTion:function(){function e(){var e="",t=n.histroyRecordList;if(""===$(this).val()||!t)return void(n.getElement("mobilenum-suggest")&&($(n.getElement("mobilenum-suggest")).hide(),$(n.getElement("userlist")).removeClass("pass-input-down-userlist")));if(t.length>0&&$.each(t,function(t,i){0===i.indexOf(o.val())&&i!==o.val()&&(e+='<li><a href="###" data="'+i+'">'+i+'<span class="pass-remove-item"></span></a></li>')}),""===e)l();else{n.getElement("mobilenum-suggest")||(o.parent().append(r),$(n.getElement("mobilenum-suggest")).on("click",a));var i=n.getElement("mobilenum-suggest");$(i).html(e),$(i).is(":hidden")&&$(i).show(),$(n.getElement("userlist")).addClass("pass-input-down-userlist")}}function i(){var e="",t=n.histroyRecordList;if(""!==$(this).val()||!t||0!==t.length){t.length>0&&$.each(t,function(t,i){e+='<li><a href="###" data="'+i+'">'+i+'<span class="pass-remove-item"></span></a></li>'}),n.getElement("mobilenum-suggest")||(o.parent().append(r),$(n.getElement("mobilenum-suggest")).on("touchend",a));var i=n.getElement("mobilenum-suggest");$(i).html(e),$(i).is(":hidden")&&$(i).show(),$(n.getElement("userlist")).addClass("pass-input-down-userlist")}}function a(e){var i=e.target,a=n.histroyRecordList;if("a"===i.tagName.toLowerCase()){var r=$(i).attr("data")?$(i).attr("data"):$(i).html(),s=t.view._substrMobile(r);o.val(s),t.view.setSubmitStyle(n,0),o.keyup(),l()}else if(i.className.indexOf("pass-remove-item")>-1){var r=$(i).parent().attr("data"),g=$.inArray(r,a);a.splice(g,1),$(i).parent().remove(),$(n.getElement("mobilenum-suggest")).hide(),$.getJSON(apiDomain+"/wp/api/login/history?type=sms&item="+r+"&token="+publicData.token+"&tpl="+publicData.tpl+"&clientfrom="+publicData.clientfrom+"&v="+(new Date).getTime(),{},function(){},"json"),0===n.getElement("mobilenum-suggest").getElementsByTagName("li").length&&l()}e.preventDefault()}function l(){$(n.getElement("mobilenum-suggest")).hide(),$(n.getElement("userlist")).removeClass("pass-input-down-userlist")}var n=this,o=$(n.getElement("mobilenum")),r='<ul class="pass-input-suggest" id="sms_login-mobilenum-suggest"></ul>';o.on({focus:e,keyup:e}),$(n.getElement("userlist")).on("touchend",function(e){e.preventDefault(),!n.getElement("mobilenum-suggest")||$(n.getElement("mobilenum-suggest")).is(":hidden")?i():($(n.getElement("mobilenum-suggest")).hide(),$(n.getElement("userlist")).removeClass("pass-input-down-userlist"))})},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){t.view.cutPage($(this))});var i=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:i,blur:i,keyup:i}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(i,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a,e.getElement("submit"))}),$(e.getElement("formWrapper")).on("submit",i),a||e.getPhone(),t.view._mobilenumFormat(e,"mobilenum",function(){"+86"==e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=11||"+86"!=e.data.code&&$(e.getElement("mobilenum")).val().replace(/\s/g,"").length>=1?t.view.setSubmitStyle(e,0):-1==e.getElement("submit").className.indexOf("pass-button-full-disabled")&&$(e.getElement("submit")).addClass("pass-button-full-disabled")}),t.view._setMaxLength($(e.getElement("mobilenum")),11,2),$(".pass-label-sms_login-code").on("touchend",function(t){t.preventDefault(),$("input").blur(),Pass._getScript("codelist",function(t){var i={};i.module=e.module,t.render("pageWrapper",i)})}),$(e.getElement("register")).on("touchend",function(i){i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_reg_link",ev:[e.module,"click",publicData.overseas]}),1==publicData.fastRegLink&&"android"==publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"==publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"==publicData.client&&this.deviceClass("action_fast_reg"):t._getScript("reg",function(t){t.render("pageWrapper",e.module)})}),$("body").on("touchend",".login-index",function(i){return i.preventDefault(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+e.module+"_usernameLogin",ev:[e.module,"click",publicData.overseas]}),e.module.adapter=publicData.adapter,e.module.client=publicData.client,e.module.from="sms_login",t._getScript("login",function(t){t.render("pageWrapper",e.module)}),!1}),e.windowHeight=$(window).height(),"android"===publicData.client&&$(window).on("resize",function(){var t=$(window).height();if(e.windowHeight<t){var i=$(e.getElement("registerWrapper")),a=i.offset().top;i.height(t-a).css("visibility","visible")}e.windowHeight=t})},_setValidator:function(){var e=this;"+86"!=e.data.code?(e.validateRules={mobilenum:{rules:["required","numformat"],desc:e.lang.mobilenumError}},e._validator.addRule("numformat",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^\d+$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)):(e.validateRules={mobilenum:{rules:["required","phoneformatSms"],desc:e.lang.mobilenumError}},e._validator.addRule("phoneformatSms",function(){var i=t.view._strTrim(e.getElement("mobilenum").value);return/^1[3456789]\d{9}$/.test(i)?!0:!1}),e._validator.addMsg("phoneformatSms",e.lang.phoneformatSmsError)),e._validator.init(e,e.validateRules)},_validateError:function(e){var i=this;t.infoAnimate(i.module,e.msg),t.view.setSubmitStyle(i),e.field?(i.error.field=e.field,$(e.field).parents("p.pass-form-item").addClass("pass-form-item-error")):i.error.field=""},_validateSuccess:function(e){var i=this;e.msg?t.infoAnimate(i.module,e.msg):e.field==i.error.field&&(t.removeInfoAnimate(i.module),i.error.field="")},_eventHandler:function(){var i=this,a={focus:function(e){i.logPageEffective(),t.view._setFocusStyle(i,e)},blur:function(e){t.view._setBlurStyle(i,e)},keyup:function(e){var a={mobilenum:"num_slogin_wtel"};i["logPNum"+e]||(i["logPNum"+e]=!0,t.client.logPV(a[e]))}},l={blur:{mobilenum:function(e){var a=i.getElement(e).value;""!==a&&(i.validate(e),i.getElement(e).value=t.view._substrMobile(a),i.data.countrycode)}},keyup:{mobilenum:function(e){var a=t.view._strTrim(i.getElement(e).value);!i.data.countrycode&&/^1[3456789]\d{9}$/.test(a)}},submit:function(a){var l=i.getElement("submit");a.preventDefault(),l.disabled||i.validateAll({success:function(){function a(){var e=(new Date).getTime();l.disabled=!0,$(i.getElement("loadingMask")).show(),$(i.getElement("loading")).show();var n=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",o={username:t.view._strTrim(i.getElement("mobilenum").value),tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:i.data.countrycode,gid:t.guideRandom||"",dialogVerifyCode:i.getElement("dialogVerifyCode").value,vcodesign:i.getElement("vcodesign").value,vcodestr:i.getElement("vcodestr").value,dv:n};$.post(apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),o,function(n){var r=(new Date).getTime()-e;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_request",ev:[i.module,"request",n.errInfo.no,n.errInfo.msg]}),i.getElement("vcodesign").value="",i.getElement("vcodestr").value="",0==n.errInfo.no)$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),n.data.username=o.username,n.data.code=i.data.code,i.getElement("submit").className.indexOf("pass-button-full-disabled")>-1&&$(i.getElement("submit")).removeClass("pass-button-full-disabled"),t._getScript("sms_verify",function(e){e.render("pageWrapper",n.data)});else if(50020==n.errInfo.no||50021==n.errInfo.no){$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),n.data.tempid=n.data.tempid;var s=n.data.vcodestr;n.data.verifyCodeData={mask:!0,vcodestr:s,from_module:"sms_login",verifySuccessFn:function(e){i.getElement("dialogVerifyCode").value=e||"",i.getElement("vcodesign").value=n.data.vcodesign,i.getElement("vcodestr").value=s,a(),i.sms_login_vcode.remove()}},i.sms_login_vcode=new t.ui.vcode(n.data.verifyCodeData)}else $(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:n.errInfo.msg});l.disabled=!1,clearTimeout(i.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_slogin_vcd",r,n.errInfo.no)},"json"),i.submitTimer=setTimeout(function(){l.disabled=!1,$(i.getElement("loadingMask")).hide(),$(i.getElement("loading")).hide(),i._validateError({msg:i.lang.networkNoText})},15e3)}i.getElement("submit").focus();var n=$(i.getElement("formWrapper")).formJson();n.username=t.view._strTrim(n.mobilenum),n.countrycode=i.data.countrycode,t.removeInfoAnimate(i.module),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_submit",ev:[i.module,"click",publicData.overseas]}),$.post(apiDomain+"/wp/api/security/getphonestatus?v="+(new Date).getTime(),n,function(l){if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_phonestatus_request",ev:[i.module,"request",l.errInfo.no,l.errInfo.msg]}),"0"===l.errInfo.no)a();else if("3"===l.errInfo.no)if(1==publicData.regdomestic&&""!=i.data.countrycode)i._validateError({msg:i.lang.notReg});else if(e)e.show();else{var n='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+i.lang.bindTip+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="'+i.lang.cancel+'" class="pass-button-auto pass-dialog-btnleft" id="smsreg-cancel-btn"><input type="button" value="'+i.lang.reg+'" class="pass-button-auto pass-dialog-btnright" id="smsreg-ok-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:n}),$("#smsreg-cancel-btn").live("click",function(){e.hide(),$(i.getElement("mobilenum")).focus(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg_cancel",ev:[i.module,"click",publicData.overseas]})}),$("#smsreg-ok-btn").live("click",function(){e.hide(),t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+i.module+"_reg",ev:[i.module,"click",publicData.overseas]}),""!=i.data.countrycode?t._getScript("reg",function(e){e.render("pageWrapper",l.data)}):a()})}else i._validateError({msg:l.errInfo.msg})},"json")}},!0)}};return{entrance:function(e){i=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var n=e.target.id.match(/sms_login-(.*)$/);n&&(t=n[1])}t&&(a.hasOwnProperty(e.type)&&a[e.type].apply($(e.target),[t,e]),l.hasOwnProperty(e.type)&&("function"==typeof l[e.type]&&l[e.type].apply($(e.target),[e]),l[e.type].hasOwnProperty(t)&&l[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("sms_verify",function(){var e,t=Pass,a={error:{field:""},module:"sms_verify",data:{},sms_verify_vcode:"",voice_login_vcode:"",rsa:"B3C61EBBA4659C4CE3639287EE871F1F48F7930EA977991C7AFE3CC442FEA49643212E7D570C853F368065CC57A2014666DA8AE7D493FD47D171C0D894EEE3ED7F99F6798B7FFD7B5873227038AD23E3197631A8CB642213B9F27D4901AB0D92BFA27542AE890855396ED92775255C977F5C302F1E7ED4B1E369C12CB6B1822F"};return a=$.extend(a,Pass.validator),a=$.extend(a,{lang:{"zh-cn":{title:"验证手机号",words:"注册",password:"验证码",passwordWaimai:'<input type="button" value="验证码">',passwordPlaceholder:"请输入验证码",submitText:"提交",pageTipInfo:"已发送短信验证码到",pageTipUsername:"#{username}",sendText:"验证码已发送",verifySendInfo:"发送验证码",verifySendInfoVoice:"发送语音验证码",countTime:60,countTimeVoice:20,noVerifycode:"没收到验证码？",reSendText:"重新发送",loading:"正在登录...",vcodeloading:"发送中",loginLinkText:"使用百度帐号登录",smsVerDialogVerifyCodeErr:"验证码为空",networkNoText:"网络连接失败，请检查您的网络设置并稍后再试。",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"请输入图片验证码",vcode:"验证码",cancel:"取消",ok:"确定",setpassTip:"该账户尚未设置密码，完成验证后即可登录并设置密码",sendvoiceSMS:"获取语音验证码"},en:{title:"Phone Verify",words:"Sign Up",password:"Code",passwordWaimai:'<input type="button" value="captcha">',passwordPlaceholder:"Verification Code",submitText:"Submit",pageTipInfo:"We have sent a verification code to the following number:",pageTipUsername:"#{username}",sendText:"Verification code has been sent to your phone",verifySendInfo:"Send Verification.",verifySendInfoVoice:"Send Voice Verification.",countTime:60,countTimeVoice:20,noVerifycode:"No SMS received?",reSendText:"Resend",loading:"Login",vcodeloading:"Sending",loginLinkText:"Login",smsVerDialogVerifyCodeErr:"Code is empty",networkNoText:"Network error",is_voice_sms:publicData.is_voice_sms,is_voice:0,inputVCode:"Code",vcode:"Code",cancel:"Cancel",ok:"OK",setpassTip:"Please setting login password",sendvoiceSMS:"Send Voice SMS"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,a={pageTipInfo:'<p class="mod-page-tipInfo mod-page-tipInfo-gray">'+t.lang.pageTipInfo+"</p>",pageTipUsername:'<p class="mod-page-tipUsername">'+(t.data.code||"")+" "+t.lang.pageTipUsername+"</p>",pageTipNoSetPwd:'<div class="mod-page-sub-tipInfo mod-page-tip-noSetpwd"><p class="mod-page-noSetpwd-msg">'+t.lang.setpassTip+"</p></div>",resendWrapper:'<div id="'+t.module+"-"+e+'"></div>',links:'<p class="f14 gray clearfix"><a data-role="login">'+t.lang.loginLinkText+"</a></p>",voice_sms:'<div class="mod-voice-sms"><input type="button" class="sms_verify-voice-verify voice_sms_disabled" disabled="true" id="sms_verify-voiceVerify" value="'+t.lang.sendvoiceSMS+'"/></div>'};return a[e]},_getTemplate:function(){var e=this,a=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">',n=publicData,o={sms:1};return n.smsverify=1,n.vcodesign="",n.vcodestr="",n.dialogVerifyCode="","apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=a._getHeaderField({title:e.lang.title,nextRole:"reg",goBack:!0})),i+='<div class="mod-content" id="'+a.getId("contentWrapper")+'">',i+=e._getIrregularField("pageTipInfo"),i+=e._getIrregularField("pageTipUsername").replace("#{username}",t.view._substrMobile(e.data.username)||""),e.data.checkUserid&&(i+=e._getIrregularField("pageTipNoSetPwd")),i+='<form autocomplete="off" id="'+a.getId("formWrapper")+'" method="POST" class="pass-form-wrapper m-t25 clearfix">',i+=a._getVCodeSmsField({field:"smsvc",type:"tel",placeholder:e.lang.passwordPlaceholder}),i+=a._getErrorField(),i+=a._getSubmitField({value:e.lang.submitText}),1==publicData.is_voice_sms&&(i+=e._getIrregularField("voice_sms")),i+=a._getHiddenField(n),i+=a._getHiddenField(o),i+="</form>",i+=a._getLoadingField({module:e.module,html:e.lang.loading}),i+="</div>",i+="</article>"},render:function(e,a){var i=this,n=$("#"+i.module);i.data=a||{},a&&a.mobilenum&&""!=a.mobilenum&&(i.data.username=a.mobilenum),i.error.field="",n.length>0&&n.remove(),i.data.countrycode=i.data.code&&"+86"!=i.data.code?"00"+i.data.code.substring(1):"";var o=i._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(o):e.append(o),Pass.switchView(i.module),i.setEvent(),this.initialized||(this.initialized=!0,i._setValidator()),t.view.inputBlur(),t&&t.view&&t.view.setManMachine&&t.view.setManMachine(i)},setVcodeVal:function(e){var a=this;a.getElement("smsvc").value=e,e&&$(a.getElement("submit")).click(),t.view.setSubmitStyle(a,0)},setEvent:function(){var e=this;$("[data-role]",$("#"+e.module)).each(function(){$(this).attr("data-role");t.view.cutPage($(this))});var a=function(t){e._eventHandler.entrance.apply(e,[t])};$(".pass-text-input",e.getElement("formWrapper")).on({focus:a,blur:a,keyup:a}),$(".pass-input-clearValue",e.getElement("formWrapper")).each(function(e,a){var a=$(this);t.view.clearInputValueBtn(a.prev(),a)}),"android"==publicData.client&&t.client.vcodetoclient(e.module);new Pass.ui.button({handler:$(e.getElement("verifyCodeSend")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfo,reSend:e.lang.reSendText,page:"ax_slogin_vcd",initStatus:"disabled",timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,tapcallback:function(){$(e.getElement("voiceVerify")).attr("disabled",!0).addClass("voice_sms_disabled"),$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",a={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value,dv:t};return a},success:function(){e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module),t.infoAnimate(e.module,e.lang.sendText)},error:function(a){if(50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide();var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("verifyCodeSend")).click(),e.sms_verify_vcode.remove()}},e.sms_verify_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}});if(e.getElement("voiceVerify")){new Pass.ui.button({handler:$(e.getElement("voiceVerify")),url:apiDomain+"/wp/api/login/sms?v="+(new Date).getTime(),type:"POST",dataType:"json",sendText:e.lang.verifySendInfoVoice,reSend:e.lang.reSendText,page:"ax_slogin_vcd",is_voice_sms:1,timmerText:e.lang.networkNoText,loadingText:e.lang.vcodeloading,sTime:20,tapcallback:function(){e.getElement("verifyCodeSend").disabled=!0,$(e.getElement("smsvc")).val(""),$(e.getElement("submit")).addClass("pass-button-full-disabled")},data:function(){var t=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",a={username:e.data.checkUserid?e.data.checkUserid:e.data.username,isuserid:e.data.isuserid?e.data.isuserid:"",sub_source:e.data.sub_source?e.data.sub_source:"",tpl:publicData.tpl,clientfrom:publicData.clientfrom,countrycode:e.data.countrycode,is_voice_sms:1,dialogVerifyCode:e.getElement("dialogVerifyCode").value,vcodesign:e.getElement("vcodesign").value,vcodestr:e.getElement("vcodestr").value,dv:t};return a},success:function(){e._validateSuccess({msg:"验证码将通过电话告知您，请注意接听"}),e.getElement("vcodesign").value="",e.getElement("vcodestr").value="","android"==publicData.client&&t.client.vcodetoclient(e.module)},error:function(a){if(e.getElement("verifyCodeSend").disabled=!1,50020==a.errInfo.no||50021==a.errInfo.no){$(e.getElement("loadingMask")).hide(),$(e.getElement("loading")).hide(),a.data.tempid=a.data.tempid;var i=a.data.vcodestr;e.getElement("vcodesign").value="",e.getElement("vcodestr").value="",a.data.verifyCodeData={vcodestr:i,from_module:"sms_verify",mask:!0,verifySuccessFn:function(t){e.getElement("dialogVerifyCode").value=t||"",e.getElement("vcodesign").value=a.data.vcodesign,e.getElement("vcodestr").value=i,$(e.getElement("voiceVerify")).click(),e.voice_login_vcode.remove()}},e.voice_login_vcode=new t.ui.vcode(a.data.verifyCodeData)}else e._validateError({msg:a.errInfo.msg,field:"smsvc"})}})}$(e.getElement("formWrapper")).on("submit",a),t.view.fullButton($(e.getElement("submit")))},_setValidator:function(){var e=this;e.validateRules={smsvc:{rules:["required"],desc:e.lang.password}},e._validator.init(e,e.validateRules)},_validateError:function(e){var a=this;t.infoAnimate(a.module,e.msg),t.view.setSubmitStyle(a),e.field?(a.error.field=e.field,$(e.field).parents("span.pass-form-input-wrapper-forvcode").addClass("pass-form-item-error")):a.error.field=""},_validateSuccess:function(e){var a=this;e.msg?t.infoAnimate(a.module,e.msg):e.field==a.error.field&&(t.removeInfoAnimate(a.module),a.error.field="")},_eventHandler:function(){var a=this,i={focus:function(e){t.view._setFocusStyle(a,e)},blur:function(e){t.view._setBlurStyle(a,e),t.view.setSubmitStyle(a,0)},keyup:function(e){t.view.setSubmitStyle(a);var i={smsvc:"num_slogin_wvcd"};a["logPNum"+e]||(a["logPNum"+e]=!0,t.client.logPV(i[e]))}},n={blur:{},submit:function(i){var n=a.getElement("submit");i.preventDefault(),n.disabled||a.validateAll({success:function(){function i(){var i=(new Date).getTime();o.mobilenum=a.data.username,o.username=a.data.username,o.countrycode=a.data.countrycode,o.loginmerge="",o.tpl=publicData.tpl||"ppdemo",o.passAppHash=publicData.passAppHash||"",o.passAppVersion=publicData.passAppVersion||"",a.data.checkUserid&&(o.isuserid=a.data.isuserid,o.username=a.data.checkUserid,o.sub_source="leadsetpwd",o.clientfrom="native"),o.dv=$("#dv_Input").val()||window.LG_DV_ARG&&window.LG_DV_ARG.dvjsInput||"",$.post(apiDomain+"/wp/api/login?v="+(new Date).getTime(),o,function(s){var l=(new Date).getTime()-i;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",s.errInfo.no,s.errInfo.msg]}),0==s.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client)if("1"===publicData.liveAbility&&"1"===publicData.suppcheck&&"1"===s.data.hasGuideFaceLogin){var d=s.data;d.username="",d.password="",d.suppcheck=publicData.suppcheck,d.xml=s.data.xml.replace("<loginType></loginType>","<loginType>sms</loginType>");try{sessionStorage.setItem("storageData",JSON.stringify(d))}catch(r){}var c="faceAuthsid="+s.data.guideFaceAuthsid+"&clientfrom="+publicData.clientfrom+"&client="+publicData.client+"&tpl="+publicData.tpl+"&adapter="+publicData.adapter+"&guidefrom="+s.data.guidefrom;document.location.href="https://wappass.baidu.com/v3/login/faceloginguide?"+c}else{var u=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>");t.client.success(u,"sms")}else document.location=publicData.u;else if(400410==s.errInfo.no||400412==s.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide();var u=s.data.xml.replace("{#user.account#}","").replace("{#user.password#}","").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(s.data.livinguname)+"</livinguname>"),p=s.data||{};p.xml=u,p.from_module=a.module,p.authsid=s.data.authsid||"",p.bdstoken=s.data.bdstoken||"",p.tpl=o.tpl,p.loginType="sms",400410==s.errInfo.no?(p.jump=!0,p.type="set",a.data.checkUserid&&(p.isuserid=1,p.checkUserid=a.data.checkUserid,p.sub_source="leadsetpwd",p.clientfrom="native"),Pass._getScript("setpwd",function(e){e.render("pageWrapper",p)})):(p.jumpset=s.data.jumpset||"",Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",p)}))}else if(72200==s.errInfo.no){var m='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+s.errInfo.msg+'</p></div><div class="dialog-content-btn tcenter"><input type="button" value="取消" class="pass-button-auto pass-dialog-btnleft" id="dialogmsg-smscancel-btn"><input type="button" value="去解冻" class="pass-button-auto pass-dialog-btnright" id="dialogmsg-smsunfreeze-btn"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:m}),$("#dialogmsg-smscancel-btn").live("touchend",function(t){t.preventDefault(),e.remove()}),$("#dialogmsg-smsunfreeze-btn").live("touchend",function(a){a.preventDefault();var i=window.location.href,n=location.protocol+"//"+location.hostname,o="?tpl="+publicData.tpl+"&client="+publicData.client+"&clientfrom="+publicData.clientfrom,s=n+"/wp/v3/ucenter/accountunfreezeapply"+o;if(e.remove(),1==publicData.enableExternalWeb){var l=s+"&enableExternalWeb=1&adapter=3";"android"===publicData.client?prompt('{"action":{"name":"action_load_external_webview",params:[帐号解冻,"'+l+'"]}}'):t.client.deviceClass("action_load_external_webview",{placeholderTitle:"帐号解冻",url:encodeURIComponent(l)})}else window.location.href=s+"&newForgetPwd=no&redireu="+encodeURIComponent(i)})}else 400413==s.errInfo.no?(s.data.loginType="sms",t._getScript("smsSecondcard",function(e){e.render("pageWrapper",s.data)})):400414==s.errInfo.no?(s.data.loginType="sms",t._getScript("secondCardVerify",function(e){e.render("pageWrapper",s.data)})):($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:s.errInfo.msg,field:"smsvc"}),$.inArray(s.errInfo.no,["400011","400015"])>-1);n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("sms_login",l,s.errInfo.no)},"json"),a.submitTimer=setTimeout(function(){n.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText,field:"smsvc"})},15e3)}a.getElement("submit").focus();var o=$(a.getElement("formWrapper")).formJson();n.disabled=!0,t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_submit",ev:[a.module,"click"]}),$(a.getElement("loadingMask")).show(),$(a.getElement("loading")).show();try{setMaxDigits(131);var s=new RSAKeyPair("10001","",a.rsa);o.password=encryptedString(s,o.password)}catch(l){}i()}},!0)}};return{entrance:function(e){a=this;var t=($(e.target),e.target.name);if(!t&&e.target.id){var o=e.target.id.match(/sms_verify-(.*)$/);o&&(t=o[1])}t&&(i.hasOwnProperty(e.type)&&i[e.type].apply($(e.target),[t,e]),n.hasOwnProperty(e.type)&&("function"==typeof n[e.type]&&n[e.type].apply($(e.target),[e]),n[e.type].hasOwnProperty(t)&&n[e.type][t].apply($(e.target),[t,e])))}}}()})}); Pass._define("fastReg",function(){var e=Pass,t={error:{field:""},module:"fastReg",data:{}};return t=$.extend(t,{lang:{"zh-cn":{title:publicData.fastRegText?decodeURIComponent(publicData.fastRegText):"手机一键注册",loading:"正在处理中...",tipPayMsg:"系统将使用您当前手机号发送一条短信验证您的身份，预计花费0.1元，短信费用将由短信运营商收取",tipTitle:"注册成功后",tipList1:"帐号：即为当前手机号，用于登录和找回密码;",tipList2:"密码：系统自动帮您生成密码，随时可以修改;",readAndAccept:"我已阅读并同意",agreement:"百度用户协议"},en:{title:"Sign Up",loading:"Proccessing",tipPayMsg:"System will send a short message to your current cellphone for verification. Expected charge is 0.1 yuan by telecom provider.",tipTitle:"After successful registration",tipList1:"Account: Your current cellphone number, used to login and retrieve password.",tipList2:"Password: System automatically generates password and can be revised at any time.",readAndAccept:"Agree to",agreement:"Baidu Service Agreement"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},_getIrregularField:function(e){var t=this,i={loading:'<p class="loading loading1">'+t.lang.loading+"</p>",tipPayMsg:'<p class="fast-reg-tippaymsg">'+t.lang.tipPayMsg+"</p>",tipTitle:"<h4>"+t.lang.tipTitle+"</h4>",tipList1:"<li>"+t.lang.tipList1+"</li>",tipList2:"<li>"+t.lang.tipList2+"</li>",regAgreement:'<p class="f14 gray m-t10">'+t.lang.readAndAccept+' <a data-role="agreement">&lt;&lt;'+t.lang.agreement+"&gt;&gt;</a></p>"};return i[e]},_getTemplate:function(){var e=this,t=new Pass.ui.temp({module:e.module}),i='<article class="wrapper" id="'+this.module+'">';return"apps"!=publicData.adapter&&1!=publicData.adapter&&3!=publicData.adapter&&(i+=t._getHeaderField({title:e.lang.title,goBack:!0})),i+='<div class="mod-content" id="'+t.getId("contentWrapper")+'">',i+=e._getIrregularField("loading"),i+='<section class="fast-reg-tip">',i+=e._getIrregularField("tipPayMsg"),i+=e._getIrregularField("tipTitle"),i+="<ul>",i+=e._getIrregularField("tipList1"),i+=e._getIrregularField("tipList2"),i+="</ul></section>",i+=e._getIrregularField("regAgreement"),i+="</article>"},render:function(e){var t=this;if(t.initialized)Pass.switchView(t.module);else{var i=t._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(i):e.append(i),this.initialized=!0,Pass.switchView(t.module),this.setEvent()}},setEvent:function(){var t=this;$("[data-role]",$("#"+t.module)).each(function(){e.view.cutPage($(this))})}})}); Pass._define("face_login",function(){var e=Pass,i={module:"face_login",initialized:!1,getUserInfoHasCall:"0"};return i=$.extend(i,{lang:{"zh-cn":{title:"刷脸登录",submitText:"刷脸登录",baiduLogin:"百度帐号登录",smsLogin:"短信快速登录",baiduLoginNotice:"百度帐号登录",smsLoginNotice:"短信快速登录",loading:"认证中",submitLoading:"登录中...",forgot:"遇到问题",reg:"快速注册",networkError:"网络连接失败，请检查您的网络设置并稍后再试。"},en:{title:"Face Login",submitText:"Face Login",baiduLogin:"Login",smsLogin:"SMS Login",baiduLoginNotice:"Login",smsLoginNotice:"SMS Login",loading:"loading",submitLoading:"Login...",forgot:"Can't Login?",reg:"Sign Up",networkError:"Network error"}}[window.publicData.lang||"zh-cn"],getElement:function(e){return document.getElementById(this.module+"-"+e)},getIrregularField:function(e){var i=this,a={baidLogin:'<span id="'+i.module+'-baidLogin" class="link-font" style="visibility:hidden;">'+i.lang.baiduLogin+"</span>",smsLogin:'<span id="'+i.module+'-smsLogin" class="right link-font" style="visibility:hidden;">'+i.lang.smsLogin+"</span>",forgot:'<div id="'+i.module+'-forgot" class="login-register face_login-register">'+i.lang.forgot+"</div>",regLink:'<div id="'+i.module+'-register" class="login-register">'+i.lang.reg+'</div><span class="spilit-line">|</span>',loading:'<div class="biometry-loadingMask"><p class="biometry-loading">'+i.lang.loading+'</p><div class="biometry-loadingImg"></div></div>'};return a[e]},getTemplate:function(){var e=this,i=new Pass.ui.temp({module:e.module}),a=publicData;a.authtoken="";var t="";return t+='<article class="wrapper" id="'+this.module+'">',"apps"!==publicData.adapter&&"1"!==publicData.adapter&&"3"!==publicData.adapter&&(t+=i._getHeaderField({title:"<span >"+e.lang.title+"</span>",goBack:!0,usual:!0})),t+='<div class="face-main clearfix">',t+='<div class="user-info" id="'+i.getId("userInfo")+'"><div class="face-user-img"><span class="user-default-img" id="'+i.getId("defaultImg")+'"></span><img src="" id="'+i.getId("userImg")+'"/></div><p id="'+i.getId("userName")+'"></p></div>',t+=i._getErrorField(),t+=i._getSubmitField({value:e.lang.submitText,disabled:!0}),t+=e.getIrregularField("baidLogin"),t+=e.getIrregularField("smsLogin"),t+="</div>",t+=i._getHiddenField(a),t+='<div class="register-content" id="'+e.module+'-registerWrapper"><div class="bottom-link">'+("1"===publicData.regLink?e.getIrregularField("regLink"):"")+e.getIrregularField("forgot")+"</div></div>",t+=e.getIrregularField("loading"),t+="</article>"},clearErrorMsg:function(){var e=this;$(e.getElement("errorWrapper")).html("")},setErrorMsg:function(e){var i='<div class="pass-dialog-content pass-fast-dialog"><p class="page-dialog-title">提示</p><p id="fastdialog-msg">'+e+'</p></div><div class="dialog-content-btn"><a class="dialog-banner-mainbtn" id="dialogmsg-ok-btn">确定</a></div>';dialogMsg=new Pass.ui.dialog({width:"90%",mask:!0,content:i}),$("#dialogmsg-ok-btn").live("click",function(e){e.preventDefault(),dialogMsg.remove()})},render:function(e,i){var a=this;if(a.data=i||{},a.data.faceLoginCan="1",a.initialized)Pass.switchView(a.module);else{var t=a.getTemplate();"[object string]"===Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(t):e.append(t),window.Pass.face_login=a,this.initialized=!0,Pass.switchView(a.module),a.setEvent()}a.getUid();var n=(window.screen.height,window.innerHeight);if(n>430&&($("html").css("height","100%"),$("body").css("height","100%")),$(a.getElement("registerWrapper")).html()){var o=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-o).css("visibility","visible")}},faceLoginShowNotice:function(){var e=this;try{e.data.hideFaceLoginNotice=localStorage.getItem("hideFaceLoginNotice")}catch(i){}var a=e.data.faceLoginCase&&"0003100051"===e.data.faceLoginCase&&e.data.faceLoginCan&&"1"===e.data.faceLoginCan&&"1"!==e.data.hideFaceLoginNotice?"1":"0";return a},setEvent:function(){var i=this;$("[data-role]",$("#"+i.module)).each(function(){e.view.cutPage($(this))}),e.view.tap($(i.getElement("baidLogin")),function(){e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_baidLogin_click",ev:[i.module,"click"],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}),"1"===i.faceLoginShowNotice()?i.faceLoginNotice("login",function(){e._getScript("login",function(e){e.render("pageWrapper",i.module)})}):e._getScript("login",function(e){e.render("pageWrapper",i.module)})}),e.view.tap($(i.getElement("smsLogin")),function(){e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_smsLogin_click",ev:[i.module,"click"],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}),"1"===i.faceLoginShowNotice()?i.faceLoginNotice("sms_login",function(){e._getScript("sms_login",function(e){e.render("pageWrapper",i.module)})}):e._getScript("sms_login",function(e){e.render("pageWrapper",i.module)})}),$(i.getElement("register")).on("touchend",function(a){a.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_reg_click",ev:[i.module,"click"],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}),"1"===publicData.fastRegLink&&"android"===publicData.client?window.sapi_obj&&window.sapi_obj.action_fast_reg?window.sapi_obj.action_fast_reg():"android"===publicData.client?prompt("{action:{name:'action_fast_reg'}}"):"ios"===publicData.client&&this.deviceClass("action_fast_reg"):e._getScript("reg",function(e){e.render("pageWrapper",i.module)})}),e.view.tap($(i.getElement("forgot")),function(a){a.preventDefault(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_question_link_click",ev:[i.module,"click"]}),Pass._getScript("question",function(e){var i={type:"question"};e.render("pageWrapper",i)})}),$(i.getElement("submit")).on("touchend",function(e){e.preventDefault(),i.submitFaceLogin()})},renderLog:function(){var i=this;e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_render_pv",ev:[i.module,"show"]})},faceLoginNotice:function(i,a){var t=this,n='<div class="pass-dialog-content pass-faceLoginNotice-dialog"><div class="pass-faceLoginNotice-icon"></div><p class="pass-faceLoginNotice-title">放弃刷脸登录吗？</p><p class="pass-faceLoginNotice-msg">更安全、便捷、高科技的登录方式</p><ul class="pass-faceLoginNotice-ul"><li id="faceLoginNoticeToFace" class="pass-faceLoginNotice-main">继续刷脸</li><li id="faceLoginNoticeTo'+i+'">'+("login"===i?t.lang.baiduLoginNotice:t.lang.smsLoginNotice)+"</li></ul></div>";dialogFaceLoginNotice=new Pass.ui.dialog({width:"70%",mask:!0,dialogclass:"faceLoginNotice",content:n,onRender:function(){e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+t.module+"_faceLoginNotice_"+i+"_show",ev:[t.module,"click"],autoStatisticObj:{faceLoginCase:t.data.faceLoginCase||"none"}});try{localStorage.setItem("hideFaceLoginNotice",1)}catch(a){}}}),$("#faceLoginNoticeToFace").on("click",function(i){i.preventDefault(),dialogFaceLoginNotice.remove(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+t.module+"_faceLoginNoticeToFace_click",ev:[t.module,"click"],autoStatisticObj:{faceLoginCase:t.data.faceLoginCase||"none"}}),""!==$(t.getElement("authtoken")).val()&&(0===parseInt(t.data.hasRealName,10)?t.identificationData():t.identification($(t.getElement("authtoken")).val()))}),$("#faceLoginNoticeTo"+i).on("click",function(n){n.preventDefault(),dialogFaceLoginNotice.remove(),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+t.module+"_faceLoginNoticeTo_"+i+"_click",ev:[t.module,"click"],autoStatisticObj:{faceLoginCase:t.data.faceLoginCase||"none"}}),a&&a()})},getUid:function(){var i=this;if("android"===publicData.client){var a=e.client.deviceClass("getFaceLoginInfo");a=JSON.parse(a),i.data.livinguname=a.livinguname,i.data.faceLoginCase=JSON.parse(a.queryRes).exp_case,i.data.hasRealName=JSON.parse(a.queryRes).hasRealName,"4"===publicData.loginInitType&&"0"===i.getUserInfoHasCall&&i.getUserInfo()}else"ios"===publicData.client&&e.client.deviceClass("getFaceLoginInfo",{},function(e,a){var a=a||{},t=a.result;i.data.livinguname=t.livinguname,i.data.faceLoginCase=t.queryRes.exp_case,i.data.hasRealName=t.queryRes.hasRealName,i.getUserInfo()})},getUserInfo:function(){var e=this,i={tpl:publicData.tpl,clientfrom:publicData.clientfrom,client:publicData.client,username:e.data.livinguname};e.getUserInfoHasCall="1",e.renderLog();var a=$(e.getElement("userImg"));$.ajax({url:apiDomain+"/v3/login/api/prelivinglogin?tt="+(new Date).getTime(),data:i,type:"POST",success:function(i){var i=JSON.parse(i);"0"===i.errInfo.no?(a.attr("src",i.data.portrait+"?tt="+(new Date).getTime()),$(e.getElement("defaultImg")).hide(),a.show(),$(e.getElement("userName")).html(i.data.username),e.userName=i.data.username,i.data.authtoken&&($(e.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),$(e.getElement("authtoken")).val(i.data.authtoken),e.data.faceLoginCan="1",$(e.getElement("baidLogin")).css("visibility","visible"),$(e.getElement("smsLogin")).css("visibility","visible"))):(e.data.faceLoginCan="0",$(e.getElement("baidLogin")).css("visibility","visible"),$(e.getElement("smsLogin")).css("visibility","visible"),e.setErrorMsg(i.errInfo.errmsg))},error:function(){e.data.faceLoginCan="0",$(e.getElement("baidLogin")).css("visibility","visible"),$(e.getElement("smsLogin")).css("visibility","visible"),e.setErrorMsg(e.lang.networkError)}})},submitFaceLogin:function(){var i=this,a=$(i.getElement("submit"));"disabled"!=a.attr("disabled")&&(a.attr("disabled","disabled").addClass("pass-button-full-disabled"),e.logAll&&e.logAll.logBfb&&e.logAll.logBfb({en:"appsapi-"+i.module+"_submitBtn_click",ev:[i.module,"click"],autoStatisticObj:{faceLoginCase:i.data.faceLoginCase||"none"}}),""!==$(i.getElement("authtoken")).val()&&(0===parseInt(i.data.hasRealName,10)?i.identificationData():i.identification($(i.getElement("authtoken")).val())))},identificationData:function(){{var i=this;publicData.subpro||"pp"}e.client.checkNativeMethod("sapi_biometrics_identification_with_uid",function(){var a={type:2,subpro:publicData.subpro||"pp",uid:"ios"===publicData.client?encodeURIComponent(i.data.livinguname):i.data.livinguname},t=function(e){$(".biometry-loadingMask").show(),i.upliving(e)},n=function(e,a){$(i.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!==e&&(-301===e||-302===e||-306===e?a="登录失败，请确保本人操作，或尝试其他登录方式":-303===e&&(a="刷脸功能获取失败，请重新尝试"),i.setErrorMsg(a))};if("ios"===publicData.client)e.client.deviceClass("sapi_biometrics_identification_with_uid",a,function(e,i){t&&t(i.callbackkey)},function(e,i){var a=parseInt(i.errno,10);n&&n(a,i.errmsg)});else{var o=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_uid", params: ['+JSON.stringify(a)+"]}}")),l=parseInt(o.errno,10);0===l?t&&t(o.callbackkey):n&&n(l,o.errmsg)}})},identification:function(i){var a=this,t=publicData.subpro||"pp";if($(a.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),"ios"==publicData.client)e.client.deviceClass("sapi_biometrics_identification_with_authtoken",{type:1,subpro:t,authtoken:encodeURIComponent(i)},function(e,i){$(".biometry-loadingMask").show(),a.upliving(i.credentialKey)},function(e,i){if($(a.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!=i.errno){var t=i.errmsg;-301==i.errno||-302==i.errno||-306==i.errno?t="登录失败，请确保本人操作，或尝试其他登录方式":-303==i.errno&&(t="刷脸功能获取失败，请重新尝试"),a.setErrorMsg(t)}});else{var n=JSON.parse(prompt('{action: {name: "sapi_biometrics_identification_with_authtoken", params: ["1","'+i+'","0","'+t+'"]}}'));if(0===n.errno)$(".biometry-loadingMask").show(),a.upliving(n.credentialKey);else if($(a.getElement("submit")).removeAttr("disabled").removeClass("pass-button-full-disabled"),-204!=n.errno){var o=n.errmsg;-301==n.errno||-302==n.errno||-306==n.errno?o="登录失败，请确保本人操作，或尝试其他登录方式":-303==n.errno&&(o="刷脸功能获取失败，请重新尝试"),a.setErrorMsg(o)}}},upliving:function(i){var a=this,t={};t.callbackkey=i,t.tpl=publicData.tpl,t.clientfrom=publicData.clientfrom,t.client=publicData.client,t.token=$(a.getElement("authtoken")).val(),t.username=a.data.livinguname,t.faceLoginCase=a.data.faceLoginCase||"none",$.ajax({url:"/v3/login/api/livinglogin",data:t,type:"POST",success:function(i){var i=JSON.parse(i);if(0==i.errInfo.no)if($("#face_login").hide(),"ios"==publicData.client||"android"==publicData.client){var t=i.data.xml.replace("<account></account>","<account>"+a.username+"</account>").replace("<password></password>","<password></password>").replace("<livinguname></livinguname>","<livinguname>"+encodeURIComponent(i.data.livinguname)+"</livinguname>");e.client.success(t)}else document.location=publicData.u;else $(".biometry-loadingMask").hide(),a.setErrorMsg(i.errInfo.msg)}})}})}); </script><script type="text/javascript">
    $(function(){
        var module = location.hash.substring(1) || publicData.action || 'login';
        Pass._getScript(module,function(module){
            module.render('pageWrapper')
        })
    })
    </script>
</body>
</html>
