<!DOCTYPE html>
<html>
<!--STATUS OK-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="百度帐号是登录所有百度系产品的通行证，登录后还可以在帐户管理页管理/修改您的个人信息，包括修改密码、绑定手机、身份认证等">
<title>passport</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,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) no-repeat}.li-img-tsina_sso,.li-img-tsina{background:url(data:image/png;base64,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) no-repeat}.li-img-qzone{background:url(data:image/png;base64,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) 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,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAYAAABzwahEAAAAAXNSR0IArs4c6QAACMtJREFUaAXlm11sVEUUx9tlhRbailBTQ/hQCR/hgb6IQdLSpSABRYmQ4EObvvBZMCYKMSSCD4IxGuDByDeEWIpGtASUAMGy3VJEEcEUEkJNTBAI0ghIaMG2tF1//8u9zd12t3tvuy3bdZLZmXvm45z/OefOzJ2ZTU7qhRAMBj2nTp16trm5eWxra+szsEyHlu7xeEiC9TzXkb/p9Xp/z8nJuZKcnNza02Il9wSDioqKFADl0Xc+qY+YTb6WeEkpwOqg1ZGKfxr5dNIs4gSlkKuJAfJ+0spp06Y1kI9piClwAPuwaAESzgeMITypf+DAgb9OmTLlXyeSnz59OvXBgwcvANhQGqmUVoZH7EMBASd9OKnTbeAA8/j9/rkwW0P0Imhp//799+GyN5wIEK0Or8iwpqamAvgUUreZuD4/P/8QfLr1OnQLOBbOaWlp2YIwjVjEECgakO6US8F4lBQ8gLhixowZVV3tr0vAq6qqnsIKn8M0D80vxwLfdVWArrRDAa/jAZtpexLveis3N/cft/143DbAyuMBfRbA1zMzM8f1NmjJK57wHi8ZJItkcovDlcVPnDgxGwYlMFwJ8xK3zHqiPtYvwvob6bto+vTpR53ycAwcBu/yfq3q16/fPEbXn50y6I16WHwyY80BxpkNGGSTE56OgGPp1Wj1Y0CPAPR1Jx33dh3AD8cw5fA9juXfjsY/KvDy8vKVuPaiAQMGvMgUVRetw8dZztSX3tDQcA/L61Xs1PKdDm5ocRZAVrKUnBnvoKVwySiv1CtpjkcR7RDR4hop6eAkHc31+Xw/RewhDgv0ziP791g+l1fzcjgRw1pc8zQND+Piq/oaaIHU4KuZRxiExTFwLU5oWBYvU1Y4waPRJLswmAutDtU7WBw3yaFW3tChQz/sULuPEUwMUxmgc9uLHgKcKcuDe2xFU8uzs7Pvt6/c156FASwrkHuzsEWUn0XKPLTzS8QKfbQATGcZ5d+wix+iBay9Rl9Z9gqJkDcx6auuY+Dd9qGV6o4liUERNmG00LRZHGsX8D6UWgWJlgqbMFq4DOBoIgXCfO2cWAWJlprY5ptYkwzgaGIqQC/EarsoHpUmbIzs1URtgj4CTppPDBATOuDuAQAKa5JXP4RpaGLVo6zz3z179gzmO9hDbFi6dOkDtSwtLc3gC8noNyUlpbmwsPBe+x63b9/+BN8A2lI2wsKFC+8iVKvm2t27dw+26PY0IyOjfsGCBU3wTIHfwNTU1GBBQYGrLSf699PnBvWrHX3FbG0B2xk5yTc2Nl58+PDhbdp/ZNWvr68/LppiXV3dtSNHjmhjMCRQf41VR+mOHTvGqoJSO92ev3PnjjEwwfMd0en7ZkinDh6EUViJHuOEgza1Tve9HfRvr5Jx9epVfdqGBBi/GULopQcTY61Odbw61oGvTjhiHf6kw1FEgTxkdb5t2zZpfByufZ10uEUPk85jrX3MRm+y5buTvSTMXkZ0nWXpeCemAWDnADaK+Nr+/ftTeT+tkxTL2r/BMCJw2jfa2sRStlph1iCUDpOYbynRpzb7XwZ4+t27d18hXybpeTaAU35YShEtQsjcuXNnm2IWLVp0gzbdOj0RHxNrugY2nVzGHDh9thAPihkaNsAyeE3i8XmYn6fsD5VFCpR/gUtes+KuXbuejlTXJb0e/mms3z1BMhG3oFx2GlKdKesrk/BqSUnJIKYhQwGA+jqkYpgHRApCloWtGKaWexK8gxgi2Uuq8+lh7ruI3mLMmDE/1NTU3IJH5v3792cCZh55NdxPHB2lhznFxcVHotRxXYwMWj/8pSWrzqrbFhOue+qkAXtfzRR/qyowXAKf50jPAOiKaI8jmFjrvLj6TVwwqweFkLsvg6Exn5NGdXNTlidZ4WVacrHF3cgKLxZjUZYwe3T9gs51E6FHAkvZKqx8XZ2TBuH3jRNGKOhL3sW/rcim4TYn7RzUmSDMHr5arlA5SzcRHDRyXUVgbVb+cfHixYYSXHcUgwYmxixh1g2GVu1O6PoFfbs6aB8yZMjotLS0ZNbnepeNQH+5I0eO9Nhpy5Yte+/o0aPv82HRYtXDE/zQtA+QNHv27Caek5YsWVJj0ax6Vmq1heen8NxE/8YoaZU7Sc0rJrqi0mp8RdGogofppK6A62upPUMAPGxPEyNojXY6NAkelWZvozw8pbw2BbYv7+wZnvnEgOoYGxGkfqKPmNCBV84HQGF9BJxR7iT5ibpoI2IiBmHD2tnESuEzLM5820Bexy1tm3GJBt7EVmZibXP1JKy+D1coTDTAFh5hE0brOSTlxOG8bhSFEBPgAUxzmbnO2aFYg5tBw//XsWBYa6+QCHkwrQHH+ohYcAcPmrmYSFYXFjz5grDZgYc8YPFW3oNiKm2prq4eZK/YF/PCICx8Hi8XNjuGEOAqYNQ7RVJ5+/btD+wV+2LexFBpYgqB0AG4SnVNEk3Nx02KQmr3oQfJLgzCEk7siDsvnDH9/y7/SEO4x2Xe9yL2vMoqKytHhNNaPNIw2HD2Fw4gW5EwRJIxrKtblWl4jPxGTi6u6vKcRY/XVDIydZVjsA3R7rVGdHU7OKa4z3ieygf8a3l5edfsZfGSl1fKQIzeqwH9STS5OrW41Vh3Qxko9tLxGVxpskWPlzQQCLwk2ZBnlRPQktuRxS2AgJ6FK+1Fq/F2bXuDxiPz1bTE7TR1BVw9maO9bj2W6R7Z47oWpsWJ5mlNWYCe09lAFk4Djlzd3lAMmBsnwXD4rVu3ah7H8lY8xVsySBa3oIXHtcXtSsD6Obj+VgRoQOvr8nv4vykCrA8OvC0VfsUA1iqzS6FbwMUR0Mbfr0jXIlA/Yo/9/QoeLQBeD+CD8AlZe7tF323gdoZ4QNsf7qBfIAYQ9kQX/3CnzU8fcSIx/v5wh1AdAgpIwSWnUpBP1P2abNJaoi4gGH+xJK2HrgNL43+mPOs0Rwcbxl8sSSuIfix8EgtrayymIaYWjyQZ+Dr8qRbAaSiHxDib7/U/1f4H6rqNgYgM/yMAAAAASUVORK5CYII=) 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,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) no-repeat}.li-img-feifan{background:url(data:image/png;base64,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) 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,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) 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:20;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?C.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||R[u(t)]?e:e+"px"}function f(t){var e,i;return N[t]||(e=P.createElement(t),P.body.appendChild(e),i=B(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):C.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?C(t):C(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)?C.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,C,k,I,S,j=[],T=j.slice,A=j.filter,P=window.document,N={},E={},B=P.defaultView.getComputedStyle,R={"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=C.each(T.call(s.childNodes),function(){s.removeChild(this)}),o(i)&&(n=C(a),C.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__=C.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 C(P).ready(t);if(Q.isZ(t))return t;var n;if(s(t))n=c(t);else if(a(t))n=[o(t)?C.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 C(i).find(t);n=Q.qsa(P,t)}return Q.Z(n,t)}return Q.Z()},C=function(t,e){return Q.init(t,e)},C.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))},C.contains=function(t,e){return t!==e&&t.contains(e)},C.type=t,C.isFunction=e,C.isWindow=i,C.isArray=s,C.isPlainObject=o,C.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},C.inArray=function(t,e,i){return j.indexOf.call(e,t,i)},C.camelCase=I,C.trim=function(t){return t.trim()},C.uuid=0,C.support={},C.expr={},C.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)},C.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},C.grep=function(t,e){return A.call(t,e)},window.JSON&&(C.parseJSON=JSON.parse),C.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){J["[object "+e+"]"]=e.toLowerCase()}),C.fn={forEach:j.forEach,reduce:j.reduce,push:j.push,sort:j.sort,indexOf:j.indexOf,concat:j.concat,map:function(t){return C(C.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return C(T.apply(this,arguments))},ready:function(t){return z.test(P.readyState)?t(C):P.addEventListener("DOMContentLoaded",function(){t(C)},!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)):C(A.call(this,function(e){return Q.matches(e,t)}))},add:function(t,e){return C(S(this.concat(C(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):C(t);this.forEach(function(t){n.indexOf(t)<0&&i.push(t)})}return C(i)},has:function(t){return this.filter(function(){return a(t)?C.contains(this,t):C(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:C(t)},last:function(){var t=this[this.length-1];return t&&!a(t)?t:C(t)},find:function(t){var e,i=this;return e="object"==typeof t?C(t).filter(function(){var t=this;return j.some.call(i,function(e){return C.contains(e,t)})}):1==this.length?C(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=C(t));i&&!(a?a.indexOf(i)>=0:Q.matches(i,t));)i=i!==e&&!n(i)&&i.parentNode;return C(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=C.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 C.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=null),"none"==B(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=C(t).get(0),a=n.parentNode||this.length>1;return this.each(function(e){C(this).wrapAll(i?t.call(this,e):a?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){C(this[0]).before(t=C(t));for(var e;(e=t.children()).length;)t=e.first();C(t).append(this)}return this},wrapInner:function(t){var i=e(t);return this.each(function(e){var n=C(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(){C(this).replaceWith(C(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=C(this);(t===x?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return C(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return C(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;C(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?C(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=C(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)]||B(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(C(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){k=[];var i=y(this),n=v(this,t,e,i);n.split(/\s+/g).forEach(function(t){C(this).hasClass(t)||k.push(t)},this),k.length&&y(this,i+(i?" ":"")+k.join(" "))})},removeClass:function(t){return this.each(function(e){return t===x?y(this,""):(k=y(this),v(this,t,e,k).split(/\s+/g).forEach(function(t){k=k.replace(d(t)," ")}),void y(this,k.trim()))})},toggleClass:function(t,e){return this.each(function(i){var n=C(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(C(t).css("margin-top"))||0,i.left-=parseFloat(C(t).css("margin-left"))||0,n.top+=parseFloat(C(e[0]).css("border-top-width"))||0,n.left+=parseFloat(C(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"==C(t).css("position");)t=t.offsetParent;return t})}},C.fn.detach=C.fn.remove,["width","height"].forEach(function(t){C.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=C(this),o.css(t,v(this,e,i,o[t]()))})}}),q.forEach(function(e,i){var n=i%2;C.fn[e]=function(){var e,a,o=C.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 C(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)})})})},C.fn[n?e+"To":"insert"+(i?"Before":"After")]=function(t){return C(t)[e](this),this}}),Q.Z.prototype=C.fn,Q.uniq=S,Q.deserializeValue=w,C.zepto=Q,C}();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",C=/^\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=C.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 k=encodeURIComponent;t.param=function(t,e){var i=[];return i.add=function(t,e){this.push(k(t)+"="+k(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){if(window.sapi_obj)window.sapi_obj.authorized_response(t);else if("android"==publicData.client){var e="{action:{name:'authorized_response',params:['"+t+"']}}";prompt(e)}else if("ios"==publicData.client){var i=function(){},n=function(){};window.sapi_bridge.invoke("loginSucceed",{result:t},i,n)}},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(),e.getSeverTimeAsync(),window.Pass.face_login&&window.Pass.face_login.getUserInfo&&window.Pass.face_login.getUserInfo(),this.logPV(e._moduleCurrent)},checkNativeMethod:function(t,i){if("ios"===publicData.client)e.client.deviceClass("sapi_action_check_method_support",{method:t},function(t,e){e.errmsg,1===e.errno&&i&i()});else{var n=JSON.parse(prompt('{action: {name: "sapi_action_check_method_support", params: ["'+t+'"]}}'));1===n&&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.flowID===i?(e.createHeadID(),e.flowID=i):e.finishFlow(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={login:"01",reg:"02"};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{e.jsFileList[t]=!0;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,i&&i())}:a.onload=function(){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),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},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){var g=(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.suppcheck&&"1"===c.data.hasGuideFaceLogin){var d=c.data;
d.username=s.username,d.password=r,d.suppcheck=publicData.suppcheck;try{sessionStorage.setItem("storageData",JSON.stringify(d))}catch(u){}var p="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?"+p}else{var m=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(m)}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 f={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(f)}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 v='<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:v}),$("#dialogmsg-ok-btn").live("click",function(){t.remove()})}else if($.inArray(c.errInfo.no,["50028","50029"])>-1){var v='<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:v}),$("#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 v='<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:v}),$("#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"]}),++e.pwdErrorCount>1&&(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(e){var a={mobile:c.data.mobile,mobileHidden:c.data.mobileHidden,idcard:c.data.idcard,countrycode:c.data.countrycode,liveUsername:c.data.liveUsername,liveSecurity:c.data.liveSecurity};e.render("pageWrapper",a)}))):$.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",g,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.traceID&&i.traceID.startFlow&&i.traceID.startFlow("login"),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)},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:2==publicData.regtype?"输入用户名":"注册",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(2==publicData.regtype?{field:"username",maxLength:14,placeholder:e.lang.usernamePlaceholder}: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:2==publicData.regtype?e.lang.titleBar+e.lang.username: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 o=0;o<l.length;o++)n+=a._getRegularField(l[o]);return n+=a._getErrorField(),n+=a._getSubmitField({value:2==publicData.regtype?e.lang.submitTextReg: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(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,o=window.innerHeight,r=64;if(o>l-r&&("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 o=0,r=e.length;r>o;o++)n+='<li><a href="###">'+e[o]+"</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(r){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 o=(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 r=n.data.vcodestr;n.data.verifyCodeData={mask:!0,vcodestr:r,from_module:"reg-smsLogin",verifySuccessFn:function(e){a.getElement("smsDialogVerifyCode").value=e||"",a.getElement("smsVcodesign").value=n.data.vcodesign,a.getElement("smsVcodestr").value=r,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",o,n.errInfo.no)},"json")}var d=(new Date).getTime()-o;if(t.logAll&&t.logAll.logBfb&&t.logAll.logBfb({en:"appsapi-"+a.module+"_request",ev:[a.module,"request",r.errInfo.no,r.errInfo.msg]}),a.logPageEffective(),$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),0==r.errInfo.no)r.data.tempid&&(a.getElement("tempid").value=r.data.tempid),a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.tempid=r.data.tempid,r.data.mobilenum=l.mobilenum,r.data.code=a.data.code,t._getScript("reg_verify",function(e){e.render("pageWrapper",r.data)});else if(400003==r.errInfo.no){var g='<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="'+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="'+r.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:g}),$("#reg-cancel-btn").live("click",function(){e.remove()}),$("#sms_login-ok-btn").live("click",function(){e.remove(),s()})}else if(50019==r.errInfo.no){$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),r.data.tempid=r.data.tempid;var m=r.data.vcodestr;a.getElement("regVcodesign").value="",a.getElement("regVcodestr").value="",r.data.verifyCodeData={mask:!0,vcodestr:m,from_module:"reg",verifySuccessFn:function(e){a.getElement("regDialogVerifyCode").value=e||"",a.getElement("regVcodesign").value=r.data.vcodesign,a.getElement("regVcodestr").value=m,n&&n(),a.reg_vcode.remove()}},a.reg_vcode=new t.ui.vcode(r.data.verifyCodeData)}else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),50013==r.errInfo.no)$(a.getElement("upstreamRegWrapper")).show(),a._validateError({msg:r.errInfo.msg});else if(r.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(r.errInfo.no,["50014","50015","50013"])>-1){var g='<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="'+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="'+r.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(),r.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",r.data)})})}else a._validateError({msg:r.errInfo.msg});i.disabled=!1,clearTimeout(a.submitTimer),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_vcd",d,r.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 o=(new Date).getTime();l.tpl=publicData.tpl,l.countrycode=a.data.countrycode,l.tt=(new Date).getTime();try{setMaxDigits(131);var r=new RSAKeyPair("10001","",a.rsa);l.password=encryptedString(r,l.password)}catch(s){}2==publicData.regtype?(t.client.logPV("num_reg_sb"),l.logRegType="sdk_reg",$.post(apiDomain+"/wp/api/reg/uname&v="+(new Date).getTime(),l,function(n){var r=(new Date).getTime()-o;if(0==n.errInfo.no)if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),"ios"==publicData.client||"android"==publicData.client){var s=n.data.xml.replace("<account></account>","<account>"+l.username+"</account>").replace("<password></password>","<password>"+l.password+"</password>");t.client.success(s)}else document.location=publicData.u;else if($(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),n.errInfo.msg.indexOf("系统繁忙")>-1||$.inArray(n.errInfo.no,["500004","400012","50014","50015","50013"])>-1){var d='<div class="page-dialog-content"><p class="page-dialog-title">提示</p><p>'+n.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="'+n.errInfo.no+'"></div>';e=new Pass.ui.dialog({width:"90%",mask:!0,content:d}),$("#feedback-cancel-btn").live("click",function(){e.remove()}),$("#feedback-ok-btn").live("click",function(){e.remove(),n.data.no=$(this).attr("data-no"),t._getScript("feedback",function(e){e.render("pageWrapper",n.data)})})}else a._validateError({msg:n.errInfo.msg}),$.inArray(n.errInfo.no,["400001","230049","230053","230054","230048"])>-1?a.getElement("username").focus():$.inArray(n.errInfo.no,["230052","230052"])>-1&&$(a.getElement("password")).attr("type","text").focus();i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),clearTimeout(a.submitTimerReg),("ios"==publicData.client||"android"==publicData.client)&&t.client.logAjax("ax_reg_sb",r,n.errInfo.no)},"json"),a.submitTimerReg=setTimeout(function(){i.disabled=!1,$(a.getElement("loadingMask")).hide(),$(a.getElement("loading")).hide(),a._validateError({msg:a.lang.networkNoText})},15e3)):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",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.traceID&&ns.traceID.startFlow&&ns.traceID.startFlow("login"),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"};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>"},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}),"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>"},render:function(e,i){var a=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-"+a.module+"-code").html(i.code),a.data.code=i.code,a.data.countrycode=i.countrycode),a.error.field="",a.initialized)Pass.switchView(a.module);else{a.initialized=!0;var l=a._getTemplate();"[object string]"==Object.prototype.toString.call(e).toLowerCase()?$("#"+e).append(l):e.append(l),Pass.switchView(a.module),a.setEvent(),1==publicData.loginmerge&&(publicData.loginmerge="")}var n=!1;if(a.data.adapter&&"apps"!=a.data.adapter&&1!=a.data.adapter&&3!=a.data.adapter&&(n=!0),a._setValidator(),publicData.smsfastlogin&&t.fastLogin.init(a.module),t.view.inputBlur(),$(a.getElement("registerWrapper")).html()){var o=$(a.getElement("registerWrapper")).offset().top;$(a.getElement("registerWrapper")).height($(window).height()-o).css("visibility","visible")}t&&t.view&&t.view.setManMachine&&t.view.setManMachine(a)},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()},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),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]}),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.suppcheck&&"1"===s.data.hasGuideFaceLogin){var d=s.data;d.username="",d.password="",d.suppcheck=publicData.suppcheck;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)}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>"),m=s.data||{};m.xml=u,m.from_module=a.module,m.authsid=s.data.authsid||"",m.bdstoken=s.data.bdstoken||"",m.tpl=o.tpl,400410==s.errInfo.no?(m.jump=!0,m.type="set",a.data.checkUserid&&(m.isuserid=1,m.checkUserid=a.data.checkUserid,m.sub_source="leadsetpwd",m.clientfrom="native"),Pass._getScript("setpwd",function(e){e.render("pageWrapper",m)})):(m.jumpset=s.data.jumpset||"",Pass._getScript("setunamepwd",function(e){e.render("pageWrapper",m)}))}else if(72200==s.errInfo.no){var p='<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:p}),$("#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.traceID&&t.traceID.startFlow&&t.traceID.startFlow("login"),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>
