cevoaustralia / aws-google-auth

Provides AWS STS credentials based on Google Apps SAML SSO auth (what a jumble!)
MIT License
537 stars 181 forks source link

Stopped working circa 4/10/2020 #179

Closed sinkr closed 4 years ago

sinkr commented 4 years ago

Some people get Invalid username or password.

I get:

ERROR:root:'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/__init__.py", line 75, in cli process_auth(args, config) File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/__init__.py", line 222, in process_auth google_client.do_login() File "/usr/local/lib/python3.7/site-packages/aws_google_auth-0.0.34-py3.7.egg/aws_google_auth/google.py", line 235, in do_login passwd_challenge_url = 'https://accounts.google.com' + form.get('action') AttributeError: 'NoneType' object has no attribute 'get'

Passwords are verified correct, I've tried no cache, I've tried adding a new account, and I've tried resetting my Google password all to no avail.

It looks like Google changed something. Let me know how I can help diagnose it.

tristanpemble commented 4 years ago

We are having the same issue.

lukefromull commented 4 years ago

I have the same issue, i believe the captcha screens have changed.

vrijmetse commented 4 years ago

When you're not letting me in, I know I am not the only one...

Zlender commented 4 years ago

A couple of days earlier it stopped working for me with Google responding that browser doesn't support JS. https://github.com/cevoaustralia/aws-google-auth/issues/160#issuecomment-609731103_

stevemac007 commented 4 years ago

Grrr - this type of issue sux - I've created a new branch that can store all html that comes back from google see #181

If we can get some HTML we can see if this can help fix the issue.

sinkr commented 4 years ago

Hi Steve,

I have some HTML that has been generated. I need time to scrub the files for my IDP ID, etc, but the material error seems to be this:

Couldn't sign you in
The browser you're using doesn't support JavaScript, or has JavaScript turned off.

To keep your Google Account secure, try signing in on a browser that has JavaScript turned on. Learn more

I will scrub my HTML results here in a bit and get them up here in the event that this is a red herring. Also, thinking ahead and assuming that maybe Google is enforcing a JS-enabled browser, how hard would it be to just move this part of the authentication to the browser such that the JS requirement is happy?

Regards,

-R.

Grrr - this type of issue sux - I've created a new branch that can store all html that comes back from google see #181

If we can get some HTML we can see if this can help fix the issue.

sinkr commented 4 years ago

@sinkr could you please adjust your comments and wrap the html in triple backtick instead of single backtick? It'll help with readability.

They are wrapped with triple backticks. I guess it's just so large that the parser is breaking down:

image

sinkr commented 4 years ago

Here is the second of two files from --save-all-html:

accounts.google.com-o-saml2-initssofalse.html:

<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta content="width=300, initial-scale=1" name="viewport">
  <meta name="google-site-verification" content="redacted">
  <title>Sign in - Google Accounts</title>
  <style>
  @font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(//fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OUuhs.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(//fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVZ0e.ttf) format('truetype');
}
  </style>
  <style>
  h1, h2 {
  -webkit-animation-duration: 0.1s;
  -webkit-animation-name: fontfix;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0;
  }
  @-webkit-keyframes fontfix {
  from {
  opacity: 1;
  }
  to {
  opacity: 1;
  }
  }
  </style>
<style>
  html, body {
  font-family: Arial, sans-serif;
  background: #fff;
  margin: 0;
  padding: 0;
  border: 0;
  position: absolute;
  height: 100%;
  min-width: 100%;
  font-size: 13px;
  color: #404040;
  direction: ltr;
  -webkit-text-size-adjust: none;
  }
  button,
  input[type=button],
  input[type=submit] {
  font-family: Arial, sans-serif;
  font-size: 13px;
  }
  a,
  a:hover,
  a:visited {
  color: #427fed;
  cursor: pointer;
  text-decoration: none;
  }
  a:hover {
  text-decoration: underline;
  }
  h1 {
  font-size: 20px;
  color: #262626;
  margin: 0 0 15px;
  font-weight: normal;
  }
  h2 {
  font-size: 14px;
  color: #262626;
  margin: 0 0 15px;
  font-weight: bold;
  }
  input[type=email],
  input[type=number],
  input[type=password],
  input[type=tel],
  input[type=text],
  input[type=url] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: inline-block;
  height: 36px;
  padding: 0 8px;
  margin: 0;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-top: 1px solid #c0c0c0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  font-size: 15px;
  color: #404040;
  }
  input[type=email]:hover,
  input[type=number]:hover,
  input[type=password]:hover,
  input[type=tel]:hover,
  input[type=text]:hover,
  input[type=url]:hover {
  border: 1px solid #b9b9b9;
  border-top: 1px solid #a0a0a0;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  input[type=email]:focus,
  input[type=number]:focus,
  input[type=password]:focus,
  input[type=tel]:focus,
  input[type=text]:focus,
  input[type=url]:focus {
  outline: none;
  border: 1px solid #4d90fe;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  input[type=checkbox],
  input[type=radio] {
  -webkit-appearance: none;
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0;
  cursor: pointer;
  vertical-align: bottom;
  background: #fff;
  border: 1px solid #c6c6c6;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  }
  input[type=checkbox]:active,
  input[type=radio]:active {
  background: #ebebeb;
  }
  input[type=checkbox]:hover {
  border-color: #c6c6c6;
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
  }
  input[type=radio] {
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  width: 15px;
  height: 15px;
  }
  input[type=checkbox]:checked,
  input[type=radio]:checked {
  background: #fff;
  }
  input[type=radio]:checked::after {
  content: '';
  display: block;
  position: relative;
  top: 3px;
  left: 3px;
  width: 7px;
  height: 7px;
  background: #666;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  }
  input[type=checkbox]:checked::after {
  content: url(https://ssl.gstatic.com/ui/v1/menu/checkmark.png);
  display: block;
  position: absolute;
  top: -6px;
  left: -5px;
  }
  input[type=checkbox]:focus {
  outline: none;
  border-color: #4d90fe;
  }
  .stacked-label {
  display: block;
  font-weight: bold;
  margin: .5em 0;
  }
  .hidden-label {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 0px;
  width: 0px;
  overflow: hidden;
  visibility: hidden;
  }
  input[type=checkbox].form-error,
  input[type=email].form-error,
  input[type=number].form-error,
  input[type=password].form-error,
  input[type=text].form-error,
  input[type=tel].form-error,
  input[type=url].form-error {
  border: 1px solid #dd4b39;
  }
  .error-msg {
  margin: .5em 0;
  display: block;
  color: #dd4b39;
  line-height: 17px;
  }
  .help-link {
  background: #dd4b39;
  padding: 0 5px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  border-radius: 1em;
  text-decoration: none;
  position: relative;
  top: 0px;
  }
  .help-link:visited {
  color: #fff;
  }
  .help-link:hover {
  color: #fff;
  background: #c03523;
  text-decoration: none;
  }
  .help-link:active {
  opacity: 1;
  background: #ae2817;
  }
  .wrapper {
  position: relative;
  min-height: 100%;
  }
  .content {
  padding: 0 44px;
  }
  .main {
  padding-bottom: 100px;
  }
  /* For modern browsers */
  .clearfix:before,
  .clearfix:after {
  content: "";
  display: table;
  }
  .clearfix:after {
  clear: both;
  }
  /* For IE 6/7 (trigger hasLayout) */
  .clearfix {
  zoom:1;
  }
  .google-header-bar {
  height: 71px;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden;
  }
  .header .logo {
  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_1x.png);
  background-size: 116px 38px;
  background-repeat: no-repeat;
  margin: 17px 0 0;
  float: left;
  height: 38px;
  width: 116px;
  }
  .header .logo-w {
  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_112x36dp.png);
  background-size: 112px 36px;
  margin: 21px 0 0;
  }
  .header .secondary-link {
  margin: 28px 0 0;
  float: right;
  }
  .header .secondary-link a {
  font-weight: normal;
  }
  .google-header-bar.centered {
  border: 0;
  height: 108px;
  }
  .google-header-bar.centered .header .logo {
  float: none;
  margin: 40px auto 30px;
  display: block;
  }
  .google-header-bar.centered .header .secondary-link {
  display: none
  }
  .google-footer-bar {
  position: absolute;
  bottom: 0;
  height: 35px;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  overflow: hidden;
  }
  .footer {
  padding-top: 7px;
  font-size: .85em;
  white-space: nowrap;
  line-height: 0;
  }
  .footer ul {
  float: left;
  max-width: 80%;
  min-height: 16px;
  padding: 0;
  }
  .footer ul li {
  color: #737373;
  display: inline;
  padding: 0;
  padding-right: 1.5em;
  }
  .footer a {
  color: #737373;
  }
  .lang-chooser-wrap {
  float: right;
  display: inline;
  }
  .lang-chooser-wrap img {
  vertical-align: top;
  }
  .lang-chooser {
  font-size: 13px;
  height: 24px;
  line-height: 24px;
  }
  .lang-chooser option {
  font-size: 13px;
  line-height: 24px;
  }
  .hidden {
  height: 0px;
  width: 0px;
  overflow: hidden;
  visibility: hidden;
  display: none !important;
  }
  .banner {
  text-align: center;
  }
  .card {
  background-color: #f7f7f7;
  padding: 20px 25px 30px;
  margin: 0 auto 25px;
  width: 304px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  }
  .card > *:first-child {
  margin-top: 0;
  }
  .rc-button,
  .rc-button:visited {
  display: inline-block;
  min-width: 46px;
  text-align: center;
  color: #444;
  font-size: 14px;
  font-weight: 700;
  height: 36px;
  padding: 0 8px;
  line-height: 36px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -o-transition: all 0.218s;
  -moz-transition: all 0.218s;
  -webkit-transition: all 0.218s;
  transition: all 0.218s;
  border: 1px solid #dcdcdc;
  background-color: #f5f5f5;
  background-image: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: -o-linear-gradient(top,#f5f5f5,#f1f1f1);
  background-image: linear-gradient(top,#f5f5f5,#f1f1f1);
  -o-transition: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
  }
  .card .rc-button {
  width: 100%;
  padding: 0;
  }
  .rc-button.disabled,
  .rc-button[disabled] {
  opacity: .5;
  filter: alpha(opacity=50);
  cursor: default;
  pointer-events: none;
  }
  .rc-button:hover {
  border: 1px solid #c6c6c6;
  color: #333;
  text-decoration: none;
  -o-transition: all 0.0s;
  -moz-transition: all 0.0s;
  -webkit-transition: all 0.0s;
  transition: all 0.0s;
  background-color: #f8f8f8;
  background-image: -webkit-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: -o-linear-gradient(top,#f8f8f8,#f1f1f1);
  background-image: linear-gradient(top,#f8f8f8,#f1f1f1);
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  box-shadow: 0 1px 1px rgba(0,0,0,0.1);
  }
  .rc-button:active {
  background-color: #f6f6f6;
  background-image: -webkit-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -moz-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -ms-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: -o-linear-gradient(top,#f6f6f6,#f1f1f1);
  background-image: linear-gradient(top,#f6f6f6,#f1f1f1);
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
  }
  .rc-button-submit,
  .rc-button-submit:visited {
  border: 1px solid #3079ed;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.1);
  background-color: #4d90fe;
  background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -moz-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -ms-linear-gradient(top,#4d90fe,#4787ed);
  background-image: -o-linear-gradient(top,#4d90fe,#4787ed);
  background-image: linear-gradient(top,#4d90fe,#4787ed);
  }
  .rc-button-submit:hover {
  border: 1px solid #2f5bb7;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.3);
  background-color: #357ae8;
  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);
  background-image: linear-gradient(top,#4d90fe,#357ae8);
  }
  .rc-button-submit:active {
  background-color: #357ae8;
  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);
  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);
  background-image: linear-gradient(top,#4d90fe,#357ae8);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  .rc-button-red,
  .rc-button-red:visited {
  border: 1px solid transparent;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.1);
  background-color: #d14836;
  background-image: -webkit-linear-gradient(top,#dd4b39,#d14836);
  background-image: -moz-linear-gradient(top,#dd4b39,#d14836);
  background-image: -ms-linear-gradient(top,#dd4b39,#d14836);
  background-image: -o-linear-gradient(top,#dd4b39,#d14836);
  background-image: linear-gradient(top,#dd4b39,#d14836);
  }
  .rc-button-red:hover {
  border: 1px solid #b0281a;
  color: #fff;
  text-shadow: 0 1px rgba(0,0,0,0.3);
  background-color: #c53727;
  background-image: -webkit-linear-gradient(top,#dd4b39,#c53727);
  background-image: -moz-linear-gradient(top,#dd4b39,#c53727);
  background-image: -ms-linear-gradient(top,#dd4b39,#c53727);
  background-image: -o-linear-gradient(top,#dd4b39,#c53727);
  background-image: linear-gradient(top,#dd4b39,#c53727);
  }
  .rc-button-red:active {
  border: 1px solid #992a1b;
  background-color: #b0281a;
  background-image: -webkit-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -moz-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -ms-linear-gradient(top,#dd4b39,#b0281a);
  background-image: -o-linear-gradient(top,#dd4b39,#b0281a);
  background-image: linear-gradient(top,#dd4b39,#b0281a);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);
  }
  .secondary-actions {
  text-align: center;
  }
</style>
<style media="">
  .google-header-bar.centered {
  height: 83px;
  }
  .google-header-bar.centered .header .logo {
  margin: 25px auto 20px;
  }
  .card {
  margin-bottom: 20px;
  }
</style>
<style media="">
  html, body {
  font-size: 14px;
  }
  .google-header-bar.centered {
  height: 73px;
  }
  .google-header-bar.centered .header .logo {
  margin: 20px auto 15px;
  }
  .content {
  padding-left: 10px;
  padding-right: 10px;
  }
  .hidden-small {
  display: none;
  }
  .card {
  padding: 20px 15px 30px;
  width: 270px;
  }
  .footer ul li {
  padding-right: 1em;
  }
  .lang-chooser-wrap {
  display: none;
  }
</style>
<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">
  .header .logo {
  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_2x.png);
  }
  .header .logo-w {
  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_112x36dp.png);
  }
</style>
<style>
  pre.debug {
  font-family: monospace;
  position: absolute;
  left: 0;
  margin: 0;
  padding: 1.5em;
  font-size: 13px;
  background: #f1f1f1;
  border-top: 1px solid #e5e5e5;
  direction: ltr;
  white-space: pre-wrap;
  width: 90%;
  overflow: hidden;
  }
</style>
<style>
  .banner h1 {
  font-family: 'Open Sans', arial;
  -webkit-font-smoothing: antialiased;
  color: #555;
  font-size: 42px;
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 20px;
  }
  .banner h2 {
  font-family: 'Open Sans', arial;
  -webkit-font-smoothing: antialiased;
  color: #555;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 20px;
  }
  .signin-card {
  width: 274px;
  padding: 40px 40px;
  }
  .signin-card .profile-img {
  width: 96px;
  height: 96px;
  margin: 0 auto 10px;
  display: block;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  }
  .signin-card .profile-name {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 10px 0 0;
  min-height: 1em;
  }
  .signin-card .profile-email {
  font-size: 16px;
  text-align: center;
  margin: 10px 0 20px 0;
  min-height: 1em;
  }
  .signin-card input[type=email],
  .signin-card input[type=password],
  .signin-card input[type=text],
  .signin-card input[type=submit] {
  width: 100%;
  display: block;
  margin-bottom: 10px;
  z-index: 1;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
  .signin-card #Email,
  .signin-card #Passwd,
  .signin-card .captcha {
  direction: ltr;
  height: 44px;
  font-size: 16px;
  }
  .signin-card #Email + .stacked-label {
  margin-top: 15px;
  }
  .signin-card #reauthEmail {
  display: block;
  margin-bottom: 10px;
  line-height: 36px;
  padding: 0 8px;
  font-size: 15px;
  color: #404040;
  line-height: 2;
  margin-bottom: 10px;
  font-size: 14px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  }
  .one-google p {
  margin: 0 0 10px;
  color: #555;
  font-size: 14px;
  text-align: center;
  }
  .one-google p.create-account,
  .one-google p.switch-account {
  margin-bottom: 60px;
  }
  .one-google .logo-strip {
  background-repeat: no-repeat;
  display: block;
  margin: 10px auto;
  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_1x.png);
  background-size: 230px 17px;
  width: 230px;
  height: 17px;
  }
</style>
<style media="">
  .banner h1 {
  font-size: 38px;
  margin-bottom: 15px;
  }
  .banner h2 {
  margin-bottom: 15px;
  }
  .one-google p.create-account,
  .one-google p.switch-account {
  margin-bottom: 30px;
  }
  .signin-card #Email {
  margin-bottom: 0;
  }
  .signin-card #Passwd {
  margin-top: -1px;
  }
  .signin-card #Email.form-error,
  .signin-card #Passwd.form-error {
  z-index: 2;
  }
  .signin-card #Email:hover,
  .signin-card #Email:focus,
  .signin-card #Passwd:hover,
  .signin-card #Passwd:focus {
  z-index: 3;
  }
</style>
<style media="">
  .banner h1 {
  font-size: 22px;
  margin-bottom: 15px;
  }
  .signin-card {
  width: 260px;
  padding: 20px 20px;
  margin: 0 auto 20px;
  }
  .signin-card .profile-img {
  width: 72px;
  height: 72px;
  -moz-border-radius: 72px;
  -webkit-border-radius: 72px;
  border-radius: 72px;
  }
</style>
<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">
  .one-google .logo-strip {
  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_2x.png);
  }
</style>
<style>
  .remember .bubble-wrap {
  position: absolute;
  padding-top: 3px;
  -o-transition: opacity .218s ease-in .218s;
  -moz-transition: opacity .218s ease-in .218s;
  -webkit-transition: opacity .218s ease-in .218s;
  transition: opacity .218s ease-in .218s;
  left: -999em;
  opacity: 0;
  width: 314px;
  margin-left: -20px;
  }
  .remember:hover .bubble-wrap,
  .remember input:focus ~ .bubble-wrap,
  .remember .bubble-wrap:hover,
  .remember .bubble-wrap:focus {
  opacity: 1;
  left: inherit;
  }
  .bubble-pointer {
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
  width: 0;
  height: 0;
  margin-left: 17px;
  }
  .bubble {
  background-color: #fff;
  padding: 15px;
  margin-top: -1px;
  font-size: 11px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
  }
  #stay-signed-in {
  float: left;
  }
  #stay-signed-in-tooltip {
  left: auto;
  margin-left: -20px;
  padding-top: 3px;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 314px;
  z-index: 1;
  }
  .dasher-tooltip {
  top: 380px;
  }
</style>
<style media="">
  .dasher-tooltip {
  top: 340px;
  }
</style>
<style>
  .jfk-tooltip {
  background-color: #fff;
  border: 1px solid;
  color: #737373;
  font-size: 12px;
  position: absolute;
  z-index: 800 !important;
  border-color: #bbb #bbb #a8a8a8;
  padding: 16px;
  width: 250px;
  }
 .jfk-tooltip h3 {
  color: #555;
  font-size: 12px;
  margin: 0 0 .5em;
  }
 .jfk-tooltip-content p:last-child {
  margin-bottom: 0;
  }
  .jfk-tooltip-arrow {
  position: absolute;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore,
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore {
  border: 9px solid;
  }
  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {
  border: 8px solid;
  }
  .jfk-tooltip-arrowdown {
  bottom: 0;
  }
  .jfk-tooltip-arrowup {
  top: -9px;
  }
  .jfk-tooltip-arrowleft {
  left: -9px;
  top: 30px;
  }
  .jfk-tooltip-arrowright {
  right: 0;
  top: 30px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {
  border-color: #bbb transparent;
  left: -9px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {
  border-color: #a8a8a8 transparent;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {
  border-color: #fff transparent;
  left: -8px;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {
  border-bottom-width: 0;
  }
  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter {
  border-bottom-width: 0;
  }
  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {
  border-top-width: 0;
  }
  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {
  border-top-width: 0;
  top: 1px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore,
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {
  border-color: transparent #bbb;
  top: -9px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter,
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {
  border-color:transparent #fff;
  top:-8px;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore {
  border-left-width: 0;
  }
  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter {
  border-left-width: 0;
  left: 1px;
  }
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {
  border-right-width: 0;
  }
  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {
  border-right-width: 0;
  }
  .jfk-tooltip-closebtn {
  background: url("//ssl.gstatic.com/ui/v1/icons/common/x_8px.png") no-repeat;
  border: 1px solid transparent;
  height: 21px;
  opacity: .4;
  outline: 0;
  position: absolute;
  right: 2px;
  top: 2px;
  width: 21px;
  }
  .jfk-tooltip-closebtn:focus,
  .jfk-tooltip-closebtn:hover {
  opacity: .8;
  cursor: pointer;
  }
  .jfk-tooltip-closebtn:focus {
  border-color: #4d90fe;
  }
</style>
<style media="">
  .jfk-tooltip {
  display: none;
  }
</style>
<style type="text/css">
.captcha-box {
  background: #fff;
  margin: 0 0 10px;
  overflow: hidden;
  padding: 10px;
}
.captcha-box .captcha-img {
  text-align: center;
}
.captcha-box .captcha-label {
  font-weight: bold;
  display: block;
  margin: .5em 0;
}
.captcha-box .captcha-msg {
  color: #999;
  display: block;
  position: relative;
}
.captcha-box .captcha-msg .accessibility-logo {
  float: right;
  border: 0;
}
.captcha-box .audio-box {
  position: absolute;
  top: 0;
}
</style>
<style>
.chromiumsync-custom-content {
  padding-top: 20px;
  margin-bottom: 0;
}
.form-panel {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
  width: 100%;
}
.form-panel.first {
  z-index: 2;
}
.form-panel.second {
  z-index: 1;
}
.shift-form .form-panel.first {
  z-index: 1;
}
.shift-form .form-panel.second {
  z-index: 2;
}
.slide-in,
.slide-out {
  display: block;
  -webkit-transition-property: -webkit-transform, opacity;
  -moz-transition-property: -moz-transform, opacity;
  -ms-transition-property: -ms-transform, opacity;
  -o-transition-property: -o-transform, opacity;
  transition-property: transform, opacity;
  -webkit-transition-duration: 0.1s;
  -moz-transition-duration: 0.1s;
  -ms-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -ms-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.slide-out {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.shift-form .slide-out {
  opacity: 0;
  -webkit-transform: translate3d(-120%, 0, 0);
  -moz-transform: translate3d(-120%, 0, 0);
  -ms-transform: translate3d(-120%, 0, 0);
  -o-transform: translate3d(-120%, 0, 0);
  transform: translate3d(-120%, 0, 0);
}
.slide-in {
  -webkit-transform: translate3d(120%, 0, 0);
  -moz-transform: translate3d(120%, 0, 0);
  -ms-transform: translate3d(120%, 0, 0);
  -o-transform: translate3d(120%, 0, 0);
  transform: translate3d(120%, 0, 0);
}
.shift-form .slide-in {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.error-msg {
  -webkit-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -moz-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -ms-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  -o-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);
  height: auto;
  max-height: 0;
  opacity: 0;
}
.has-error .error-msg {
  max-height: 3.5em;
  margin-top: 10px;
  margin-bottom: 10px;
  opacity: 1;
  visibility: visible;
}
.back-arrow {
  position: absolute;
  top: 37px;
  width: 24px;
  height: 24px;
  display: none;
  cursor: pointer;
}
.back-arrow {
  border-style: none;
}
.shift-form.back-arrow {
  display: block;
}
.back-arrow img {
  display: block;
}
#link-signup {
  text-align: center;
  font-size: 14px;
}
.shift-form #link-signup{
  display: none;
}
#link-signin-different {
  display: none;
  text-align: center;
  font-size: 14px;
}
.shift-form #link-signin-different {
  display: block;
}
.signin-card #profile-name {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 0;
  min-height: 1em;
}
.signin-card.no-name #profile-name {
  display: none;
}
.signin-card.no-name #email-display {
  line-height: initial;
  margin-bottom: 16px;
}
.signin-card #email-display {
  display: block;
  padding: 0px 8px;
  color: rgb(64, 64, 64);
  line-height: 2;
  margin-bottom: 10px;
  font-size: 14px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.signin-card #Email {
  margin-top: 16px;
}
.need-help {
  float: right;
  text-align: right;
}
.form-panel {
  width: 274px;
}
#gaia_firstform {
  z-index: 2;
}
.signin-card {
  position: relative;
  overflow: hidden;
}
.signin-card #profile-name {
  color: #000;
}
.circle-mask {
  display: block;
  height: 96px;
  width: 96px;
  overflow: hidden;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  z-index: 100;
  margin-bottom: 10px;
}
.circle {
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  -ms-transition-property: -ms-transform;
  -o-transition-property: -o-transform;
  transition-property: transform;
  -webkit-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -moz-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -ms-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  -o-transition-timing-function: cubic-bezier(.645,.045,.355,1);
  transition-timing-function: cubic-bezier(.645,.045,.355,1);
}
.circle {
  position: absolute;
  z-index: 101;
  height: 96px;
  width: 96px;
  border-radius: 50%;
  opacity: 0.99;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
}
.main {
  overflow: hidden;
}
.card-mask-wrap {
  position: relative;
  width: 360px;
  margin: 0 auto;
  z-index: 1;
}
.dasher-tooltip {
  position: absolute;
  left: 50%;
  margin-left: 150px;
}
.dasher-tooltip .tooltip-pointer {
  margin-top: 15px;
}
.dasher-tooltip p {
  margin-top: 0;
}
.dasher-tooltip p span {
  display: block;
}
.card {
  margin-bottom: 0;
}
.one-google {
  padding-top: 27px;
}
#canvas {
  -webkit-transition: opacity 0.075s;
  -moz-transition: opacity 0.075s;
  -ms-transition: opacity 0.075s;
  -o-transition: opacity 0.075s;
  transition: opacity 0.075s;
  opacity: 0.01;
}
.shift-form #canvas {
  opacity: 0.99;
}
.label {
  color: #404040;
}
#account-chooser-link {
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.input-wrapper {
  position: relative;
}
.google-footer-bar {
  z-index: 2;
}
</style>
<style media="">
.back-arrow {
  top: 17px;
}
.circle-mask {
  height: 72px;
  width: 72px;
  background-size: 72px;
}
.circle {
  height: 72px;
  width: 72px;
}
#canvas {
  height: 72px;
  width: 72px;
}
.form-panel {
  width: 256px;
}
.card-mask-wrap {
  width: 300px;
}
.signin-card {
  width: 256px;
}
.signin-card #EmailFirst {
  margin-top: 15px;
}
.one-google {
  padding-top: 22px;
}
</style>
  </head>
  <body>
  <div class="wrapper">
  <div class="google-header-bar  centered">
  <div class="header content clearfix">
  <div class="logo logo-w" aria-label="Google"></div>
  </div>
  </div>
  <div class="main content clearfix">
<div class="banner">
  <h2>
  Sign in with your Google Account
  </h2>
</div>
<div class="main-content 

    no-name

">
<div class="card signin-card

    pre-shift

   no-name">
  <img class="circle-mask"

          src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"

      >
  <form novalidate method="post" action="https://accounts.google.com/signin/v1/lookup" id="gaia_loginform">
  <input name="Page" type="hidden" value="PasswordSeparationSignIn">
  <input type="hidden" name="" value="">
  <input type="hidden" name="gxf" value="redacted">
  <input type="hidden" name="continue" value="https://accounts.google.com/o/saml2/initsso?idpid=redacted&amp;spid=redacted&amp;forceauthn=false&amp;from_login=1&amp;as=redacted">
  <input type="hidden" name="followup" value="https://accounts.google.com/o/saml2/initsso?idpid=redacted&amp;spid=redacted&amp;forceauthn=false&amp;from_login=1&amp;as=redacted">
  <input type="hidden" name="ltmpl" value="popup">
  <input type="hidden" name="scc" value="1">
  <input type="hidden" name="sarp" value="1">
  <input type="hidden" name="oauth" value="1">
  <input type="hidden" name="faa" value="1">
  <input id="profile-information" name="ProfileInformation" type="hidden" value="">
  <input id="session-state" name="SessionState" type="hidden" value="redacted">
  <input name="flowName" type="hidden" value="GlifWebSignIn">
  <input type="hidden" id="_utf8" name="_utf8" value="&#9731;"/>
  <input type="hidden" name="bgresponse" id="bgresponse" value="js_disabled">
  <div class="form-panel first valid" id="gaia_firstform">
  <div class="slide-out ">
  <div class="input-wrapper focused">
  <div id="identifier-shown">
  <div>
  <label class="hidden-label" for="Email">
  Enter your email</label>
  <input id="Email" type="email" value="" spellcheck="false"
                   name="Email"

                     placeholder="Email or phone"

                   autofocus>
  <input id="Passwd-hidden" type="password" spellcheck="false" class="hidden">
  </div>
  </div>
  <span role="alert" class="error-msg" id="errormsg_0_Email"></span>
  </div>
<input id="next" name="signIn" class="rc-button rc-button-submit" type="submit" value="Next">
  <a class="need-help"
          href="https://accounts.google.com/signin/usernamerecovery?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_loginredacted&amp;sarp=1&amp;scc=1&amp;faa=1&amp;oauth=1&amp;hl=en">
  Find my account
  </a>
  </div>
  </div>
  </form>
</div>
  <div class="card-mask-wrap

     no-name">
  <div class="card-mask">
  <div class="one-google">
  <p class="create-account">
  <span id="link-signin-different">
  <a href="https://accounts.google.com/AccountChooser?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpidredacted%26spid%redacted26forceauthn%3Dfalse%26from_login%3D1%26as%3DdaCRol223LudusyzQe6SMQ&amp;followup=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_login%redacted&amp;ltmpl=popup&amp;scc=1&amp;sarp=1&amp;oauth=1&amp;faa=1">
  Sign in with a different account
  </a>
  </span>
  <span id="link-signup">
  <a href="https://accounts.google.com/SignUp?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%redacted%26spid%redacted%26forceauthn%3Dfalse%26from_login%redacted&amp;ltmpl=popup">
  Create account
  </a>
  </span>
  </p>
<p class="tagline">
  One Google Account for everything Google
</p>
<div class="logo-strip"></div>
  </div>
  </div>
  </div>
</div>
  </div>
  <div class="google-footer-bar">
  <div class="footer content clearfix">
  <ul id="footer-list">
  <li>
  <a href="https://www.google.com/intl/en/about" target="_blank">
  About Google
  </a>
  </li>
  <li>
  <a href="https://accounts.google.com/TOS?loc=US&hl=en&privacy=true" target="_blank">
  Privacy
  </a>
  </li>
  <li>
  <a href="https://accounts.google.com/TOS?loc=US&hl=en" target="_blank">
  Terms
  </a>
  </li>
  <li>
  <a href="http://www.google.com/support/accounts?hl=en" target="_blank">
  Help
  </a>
  </li>
  </ul>
  </div>
</div>
  </div>
<script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">
  var gaia_attachEvent = function(element, event, callback) {
  if (element && element.addEventListener) {
  element.addEventListener(event, callback, false);
  } else if (element && element.attachEvent) {
  element.attachEvent('on' + event, callback);
  }
  };
</script>
  <script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">/* Anti-spam. Want to say hello? Contact (base64) Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t */Function('var nG=function(n,U){function h(){}(n.prototype=new (n.N=(h.prototype=U.prototype,U.prototype),h),n).prototype.constructor=n},h4=function(n,U,h,X,e){for(X=(U=[],h=0);X<n.length;X++)e=n.charCodeAt(X),128>e?U[h++]=e:(2048>e?U[h++]=e>>6|192:(55296==(e&64512)&&X+1<n.length&&56320==(n.charCodeAt(X+1)&64512)?(e=65536+((e&1023)<<10)+(n.charCodeAt(++X)&1023),U[h++]=e>>18|240,U[h++]=e>>12&63|128):U[h++]=e>>12|224,U[h++]=e>>6&63|128),U[h++]=e&63|128);return U},v,f=function(n,U,h){if((U=typeof n,"object")==U)if(n){if(n instanceof Array)return"array";if(n instanceof Object)return U;if((h=Object.prototype.toString.call(n),"[object Window]")==h)return"object";if("[object Array]"==h||"number"==typeof n.length&&"undefined"!=typeof n.splice&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("splice"))return"array";if("[object Function]"==h||"undefined"!=typeof n.call&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==U&&"undefined"==typeof n.call)return"object";return U},D=function(n,U){return"object"==(U=typeof n,U)&&null!=n||"function"==U},l=this||self,Uc=function(n){for(n=0;64>n;++n)W[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n),m["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n)]=n;m[m["/"]=((W[64]="",m)["+"]=62,63),"="]=64},MM=function(){},I=function(n,U){return U<n?-1:U>n?1:0},x,m={},W={},Xs=function(n){return/^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(n)[1]};a:{var el=l.navigator;if(el){var LG=el.userAgent;if(LG){x=LG;break a}}x=""}var pG=function(n){return(n=l.document)?n.documentMode:void 0},w="",iV=function(n,U,h){return(h=gW,Object.prototype.hasOwnProperty.call(h,n))?h[n]:h[n]=U(n)},ab=function(n,U,h){for(h in U)if(n.call(void 0,U[h],h,U))return true;return false},C=/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(x),vk=(C&&(w=C?C[1]:""),pG()),fG=null!=vk&&vk>parseFloat(w)?String(vk):w,Hk,gW={};if(l.document){var kW=pG();Hk=kW?kW:parseInt(fG,10)||void 0}else Hk=void 0;var V4=9<=Number(Hk),Dv=!function(n){return iV(n,function(U,h,X,e,g,M,L){for(e=(h=Xs(String(fG)).split((X=Xs(String(n)).split("."),".")),U=0,Math.max(h.length,X.length)),g=0;0==U&&g<e;g++){M=h[L=X[g]||"",g]||"";do{if(0==(M=(L=/(\\d*)(\\D*)(.*)/.exec(L)||["","","",""],/(\\d*)(\\D*)(.*)/.exec(M)||["","","",""]),M[0].length)&&0==L[0].length)break;L=(M=M[U=I(0==L[1].length?0:parseInt(L[1],10),0==M[1].length?0:parseInt(M[1],10))||I(0==L[2].length,0==M[2].length)||I(L[2],M[2]),3],L)[3]}while(0==U)}return 0<=U})}("9"),Oc=function(n,U){if(!l.addEventListener||!Object.defineProperty)return false;U=(n=false,Object).defineProperty({},"passive",{get:function(){n=true}});try{l.addEventListener("test",MM,U),l.removeEventListener("test",MM,U)}catch(h){}return n}(),t=function(n,U){(this.type=n,this).currentTarget=(this.defaultPrevented=false,this).target=U},A=(t.prototype.stopPropagation=(t.prototype.preventDefault=function(){this.defaultPrevented=true},function(){}),function(n,U,h,X){this.G=((this.pointerId=(this.state=(this.metaKey=this.shiftKey=this.altKey=(this.charCode=(this.button=this.screenY=this.screenX=(t.call(this,n?n.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.clientY=this.clientX=this.offsetY=this.offsetX=0),this.key="",this.keyCode=0),this.ctrlKey=false),null),0),this).pointerType="",null),n&&(h=this.type=n.type,X=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:null,this.target=n.target||n.srcElement,this.currentTarget=U,U=n.relatedTarget,U||("mouseover"==h?U=n.fromElement:"mouseout"==h&&(U=n.toElement)),this.relatedTarget=U,X?(this.clientX=void 0!==X.clientX?X.clientX:X.pageX,this.clientY=void 0!==X.clientY?X.clientY:X.pageY,this.screenX=X.screenX||0,this.screenY=X.screenY||0):(this.offsetX=void 0!==n.offsetX?n.offsetX:n.layerX,this.offsetY=void 0!==n.offsetY?n.offsetY:n.layerY,this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0),this.button=n.button,this.keyCode=n.keyCode||0,this.key=n.key||"",this.charCode=n.charCode||("keypress"==h?n.keyCode:0),this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.pointerId=n.pointerId||0,this.pointerType="string"===typeof n.pointerType?n.pointerType:lV[n.pointerType]||"",this.state=n.state,this.G=n,n.defaultPrevented&&this.preventDefault())}),lV={2:(nG(A,t),"touch"),3:"pen",4:"mouse"},B="closure_listenable_"+((A.prototype.preventDefault=function(n){if((A.N.preventDefault.call(this),n=this.G,n).preventDefault)n.preventDefault();else if(n.returnValue=false,Dv)try{if(n.ctrlKey||112<=n.keyCode&&123>=n.keyCode)n.keyCode=-1}catch(U){}},A).prototype.stopPropagation=function(){(A.N.stopPropagation.call(this),this).G.stopPropagation?this.G.stopPropagation():this.G.cancelBubble=true},1E6*Math.random()|0),Y=function(n){(this.A={},this.src=n,this).C=0},uV=0,xW=function(n,U,h,X,e){this.capture=(this.key=++uV,this.listener=(this.type=(this.J=this.S=false,h),this.src=U,this.X=(this.O=n,null),e),!!X)},wW=function(n){(n.O=null,n.src=null,n).X=null,n.listener=null,n.J=true},CG=(Y.prototype.remove=(Y.prototype.hasListener=function(n,U,h,X,e){return ab(function(g,M){for(M=0;M<g.length;++M)if(!(h&&g[M].type!=X||e&&g[M].capture!=U))return true;return false},(X=(e=void 0!==U,h=void 0!==n)?n.toString():"",this.A))},Y.prototype.add=function(n,U,h,X,e,g,M){return-1<(M=CG(e,(n=(g=n.toString(),this.A[g]),n||(n=this.A[g]=[],this.C++),X),n,U),M)?(U=n[M],h||(U.S=false)):(U=new xW(e,this.src,g,!!X,U),U.S=h,n.push(U)),U},function(n,U,h,X,e){if(!(n=n.toString(),n in this.A))return false;return-1<(U=CG(X,h,(e=this.A[n],e),U),U)?(wW(e[U]),Array.prototype.splice.call(e,U,1),0==e.length&&(delete this.A[n],this.C--),true):false}),function(n,U,h,X,e,g){for(e=0;e<h.length;++e)if(g=h[e],!g.J&&g.listener==X&&g.capture==!!U&&g.O==n)return e;return-1}),t4="closure_lm_"+(1E6*Math.random()|0),Ec=function(n,U,h,X){if(n.J)return true;if(!V4){if(!U)a:{for(X=(U=["window","event"],0),h=l;X<U.length;X++)if(h=h[U[X]],null==h){U=null;break a}U=h}return U=new A(U,this),A4(n,U)}return A4(n,new A(U,this))},ob=function(n,U,h,X,e,g,M){if("number"!==typeof n&&n&&!n.J)if((U=n.src)&&U[B])U.$I(n);else if(h=n.type,X=n.X,U.removeEventListener?U.removeEventListener(h,X,n.capture):U.detachEvent?U.detachEvent(Bk(h),X):U.addListener&&U.removeListener&&U.removeListener(X),YW--,h=J4(U)){if((X=n.type,X)in h.A){e=h.A[X];b:if("string"===typeof e)g="string"!==typeof n||1!=n.length?-1:e.indexOf(n,0);else{for(g=0;g<e.length;g++)if(g in e&&e[g]===n)break b;g=-1}((M=0<=g)&&Array.prototype.splice.call(e,g,1),M)&&(wW(n),0==h.A[X].length&&(delete h.A[X],h.C--))}0==h.C&&(h.src=null,U[t4]=null)}else wW(n)},J4=function(n){return n=n[t4],n instanceof Y?n:null},Rb=function(n,U,h,X,e,g){if(X&&X.once)dW(h,e,X,n,U);else if(Array.isArray(U))for(g=0;g<U.length;g++)Rb(n,U[g],h,X,e);else n=Zv(n),h&&h[B]?h.Dr(U,n,D(X)?!!X.capture:!!X,e):zG(h,X,e,U,false,n)},zG=function(n,U,h,X,e,g,M,L){if(!X)throw Error("Invalid event type");if(M=D(U)?!!U.capture:!!U,!M||V4)if((L=J4(n))||(n[t4]=L=new Y(n)),h=L.add(X,g,e,M,h),!h.X){if((((e=Fs(),h).X=e,e).src=n,e).listener=h,n.addEventListener)Oc||(U=M),void 0===U&&(U=false),n.addEventListener(X.toString(),e,U);else if(n.attachEvent)n.attachEvent(Bk(X.toString()),e);else if(n.addListener&&n.removeListener)n.addListener(e);else throw Error("addEventListener and attachEvent are unavailable.");YW++}},ck={},Bk=function(n){return n in ck?ck[n]:ck[n]="on"+n},bV=function(n,U,h,X,e,g){if(Array.isArray(h))for(g=0;g<h.length;g++)bV(n,U,h[g],X,e);else(X=D(X)?!!X.capture:!!X,U=Zv(U),n&&n[B])?n.jL(h,U,X,e):n&&(n=J4(n))&&(h=n.A[h.toString()],n=-1,h&&(n=CG(e,X,h,U)),(U=-1<n?h[n]:null)&&ob(U))},YW=0,dW=function(n,U,h,X,e,g){if(Array.isArray(e))for(g=0;g<e.length;g++)dW(n,U,h,X,e[g]);else X=Zv(X),n&&n[B]?n.fU(e,X,D(h)?!!h.capture:!!h,U):zG(n,h,U,e,true,X)},A4=function(n,U,h,X){return X=(h=n.listener,n.O||n.src),n.S&&ob(n),h.call(X,U)},Fs=function(n,U){return U=(n=Ec,V4?function(h){return n.call(U.src,U.listener,h)}:function(h){if(h=n.call(U.src,U.listener,h),!h)return h})},Pk="__closure_events_fn_"+(1E9*Math.random()>>>0),TG=function(n,U,h,X,e){if(h=(n.B=false,U[0]),h==y4)n.U=25,n.L(U);else if(h==sc){h=U[X=U[1],3];try{e=n.L(U)}catch(g){J(g,n),e=n.o}(X&&X(e),h).push(e)}else if(h==NM)n.L(U);else if(h==rW)n.L(U);else if(h==qM){try{for(e=0;e<n.a.length;e++)try{X=n.a[e],X[0][X[1]](X[2])}catch(g){}}catch(g){}(0,(n.a=[],U)[1])()}else if(h==Sl)return e=U[2],X=U[6],d(139,n,U[4]?[X[0].G]:X),d(165,n,e),n.L(U)},Sl={},Zv=function(n){if("function"==f(n))return n;return n[n[Pk]||(n[Pk]=function(U){return n.handleEvent(U)}),Pk]},GG=function(n,U){((n.H.push(n.W.slice()),n).W[109]=void 0,d)(109,n,U)},Q4=function(n,U){return n[U]<<24|n[U+1]<<16|n[U+2]<<8|n[U+3]},R=function(n,U){n.R.splice(0,0,U)},b=function(n,U,h,X,e){if(0!=h.R.length){if(e=0==h.I)h.g=h.F();return U=$W(X,U,h),e&&(e=h.F()-h.g,e<(n?10:0)||0>=h.U--||h.A8.push(254>=e?e:254)),U}},P=function(n,U,h){if(0>=h.Z||1<h.I||!h.B&&U||0!=document.hidden||h.F()-h.g<h.Z-n)return false;return!((h.l=true,n=h.P(U?55:109),d(109,h,h.h),h).R.push([NM,n]),0)},r=function(n,U,h,X,e){if(3<(X=(0==(void 0!=(U=[(e=n.P(55)>>3,U),e>>8&255,e&255],X)&&U.push(X),n.P(50).length)&&(n.W[50]=void 0,d(50,n,U)),""),h&&(h.message&&(X+=h.message),h.stack&&(X+=":"+h.stack)),h=n.P(115),h)){n.M=(U=(X=(h-=(X=X.slice(0,h-3),X.length+3),h4)(X.replace(/\\r\\n/g,"\\n")),n).M,n);try{y(252,n,N(X.length,2).concat(X),12)}finally{n.M=U}}d(115,n,h)},y4={},$W=function(n,U,h,X,e){for(;h.R.length;){if(n=n&&U)h.Z&&h.l?(n=0!=document.hidden?false:true,h.l=false):n=false;if(n){h.Go((e=h,function(){b(false,U,e,false)}));break}X=(X=(n=true,h.R.pop()),TG(h,X))}return X},qM={},jl=function(n,U,h,X){for(X=(h=S(U),0);0<n;n--)X=X<<8|S(U);d(h,U,X)},T=["botguard"],G=function(n,U){try{KG(U,n,this)}catch(h){J(h,this)}},nw=((G.prototype.i="caller",G.prototype).f=(G.prototype.Pb=36,function(n){return(n=n().shift(),this).K().length||this.D().length||(this.D=this.K=void 0,this.I--),n}),(G.prototype.Mi=function(n,U,h,X,e,g){if(this.o)return this.o;try{X=!!n,g=[],e=[],R(this,[y4,e,U]),R(this,[sc,n,e,g]),b(false,X,this,true),h=g[0]}catch(M){J(M,this),h=this.o,n&&n(h)}return h},G.prototype).L=function(n,U,h,X,e,g,M,L,p,a){if(U=n[0],U==rW){h=n[1];try{for(X=(e=0,[]);e<h.length;){if((p=(M=(g=m[h.charAt(e++)],e)<h.length?m[h.charAt(e)]:0,++e,L=e<h.length?m[h.charAt(e)]:64,++e,e<h.length?m[h.charAt(e)]:64),++e,null==g||null==M)||null==L||null==p)throw Error();X.push(g<<2|M>>4),64!=L&&(X.push(M<<4&240|L>>2),64!=p&&X.push(L<<6&192|p))}this.h=(this.c=X,this.c.length<<3)}catch(H){r(this,17,H)}Lw(this)}else if(U==y4)g=n[1],g.push(this.P(7).length,this.P(252).length,this.P(10).length,this.P(115)),d(165,this,n[2]),this.W[196]&&pw(this,this.P(196));else{if(U==sc){this.M=(L=N((g=n[2],this.P(7).length+2),2),M=this.M,this);try{h=this.P(50),0<h.length&&y(7,this,N(h.length,2).concat(h),15),X=this.P(221)&511,X-=this.P(7).length+5,e=this.P(252),4<e.length&&(X-=e.length+3),0<X&&y(7,this,N(X,2).concat(Mg(X)),10),4<e.length&&y(7,this,N(e.length,2).concat(e),153)}finally{this.M=M}for(L=(p=(((M=Mg(2).concat(this.P(7)),M)[1]=M[0]^3,M)[3]=M[1]^L[0],M[4]=M[1]^L[1],0),[]);p<M.length;p+=3)U=M[p],a=(h=p+1<M.length)?M[p+1]:0,n=(X=p+2<M.length)?M[p+2]:0,e=U>>2,U=(U&3)<<4|a>>4,a=(a&15)<<2|n>>6,n&=63,X||(n=64,h||(a=64)),L.push(W[e],W[U],W[a],W[n]);if(L=L.join(""))L="!"+L;else for(L="",p=0;p<M.length;p++)h=M[p][this.T](16),1==h.length&&(h="0"+h),L+=h;return(this.P((M=L,7)).length=g[0],this.P(252).length=g[1],this.P(10)).length=g[2],d(115,this,g[3]),M}if(U==NM)pw(this,n[1]);else if(U==Sl)return pw(this,n[1])}},function(n,U,h,X,e,g){for(g=((h=(U={},S(n)),U).Y=S(n),U.m=[],X=n.M==n?S(n)-1:1,e=S(n),0);g<X;g++)U.m.push(S(n));for((U.w=n.P(h),U).V=n.P(e);X--;)U.m[X]=n.P(U.m[X]);return U}),rW={},hM=function(n,U,h,X,e,g){return function(){if(U.M==U){var M=h&1,L=[Sl,X,n,void 0,e,g,arguments];if(h&2)var p=b(true,false,(R(U,L),U),false);else M&&U.R.length?R(U,L):M?(R(U,L),b(true,false,U,false)):p=TG(U,L);return p}}},KG=function(n,U,h,X,e,g){for(h.I=(e=(h.A8=[],h.K=(h.D=void 0,void 0),(h.Z=0,h.l=!(X=[],h.B=(h.v=function(M,L,p,a,H,k){return((k=(H=(p=(a=function(){return a[p.uw+(H[p.i]===L)-!k[p.i]]},this),function(){return a()}),p).L,H)[p.T]=function(V){a[p.Pb]=V},H)[p.T](M),M=H},false),1),h).mT=function(M,L,p){return L=function(){return p()},p=function(){return M},L[this.T]=function(a){M=a},L},h.U=25,0),0);128>e;e++)X[e]=String.fromCharCode(e);(((g=((((((((((h.R=((((((((e=(((((d(((h.M=(h.W=[],h.a=[],h),h).To=function(M){this.M=M},109),h,0),d)(55,h,0),d)(10,h,[]),d(14,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S)(M),d)(a,M,M.P(L)>>p)}),d(122,h,function(M,L,p){0!=(L=S(M),p=S(M),M.P(L))&&d(109,M,M.P(p))}),d(76,h,function(M){U2(4,M)}),d(241,h,function(M,L){(M=(L=S(M),M).P(L),bV)(M[0],M[2],M[1])}),d(237,h,function(M,L,p){P(5,true,M)||(L=S(M),p=S(M),d(p,M,function(a){return eval(a)}(M.P(L))))}),d)(148,h,257),d(85,h,function(M){jl(4,M)}),d(13,h,function(M){U2(1,M)}),d)(18,h,function(M){jl(2,M)}),U.s||function(){}),d)(252,h,Mg(4)),d(232,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),H=L.w,a=L.V,p=L.m,V=p.length,0==V?k=a[H]():1==V?k=a[H](p[0]):2==V?k=a[H](p[0],p[1]):3==V?k=a[H](p[0],p[1],p[2]):r(M,22),d(L.Y,M,k))}),d(253,h,function(M,L){GG((L=M.P(S(M)),M),L)}),d)(181,h,function(M,L,p,a){if(L=M.H.pop()){for(p=S(M);0<p;p--)a=S(M),L[a]=M.W[a];M.W=(L[115]=M.W[L[50]=M.W[50],115],L)}else d(109,M,M.h)}),d)(225,h,function(M,L,p,a){a=(L=S(M),p=S(M),S)(M),d(a,M,M.P(L)||M.P(p))}),d)(165,h,{}),d(221,h,0),d)(167,h,function(){}),d)(49,h,[0,0,0]),d(105,h,function(M,L,p,a){a=(p=(L=S(M),S(M)),S(M)),d(a,M,(M.P(L)in M.P(p))+0)}),d)(50,h,[]),d(142,h,function(M,L,p,a,H,k,V,Z,z,O,Wk,q,mb){for(O=z=(Z=(V=(k=(a=p=(L=S(M),0),H=function(u,E){for(;a<u;)p|=S(M)<<a,a+=8;return p>>=(E=p&(1<<(a-=u,u))-1,u),E},H)(3)+1,H(5)),[]),0);O<V;O++)Wk=H(1),Z.push(Wk),z+=Wk?0:1;for(z=(z-1).toString((O=0,2)).length,q=[];O<V;O++)Z[O]||(q[O]=H(z));for(O=0;O<V;O++)Z[O]&&(q[O]=S(M));for(O=(mb=[],k);O--;)mb.push(M.P(S(M)));d(L,M,function(u,E,Ib,F,c){for(Ib=(E=(F=(u.I++,0),[]),[]);F<V;F++){if(c=q[F],!Z[F]){for(;c>=E.length;)E.push(S(u));c=E[c]}Ib.push(c)}u.D=(u.K=u.v(mb.slice(),u.f),u.v(Ib,u.f))})}),[]),d(209,h,function(M){jl(1,M)}),d)(158,h,function(M,L){P(5,true,M)||(L=nw(M),d(L.Y,M,L.w.apply(L.V,L.m)))}),d(72,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),p=L.m,a=L.V,H=L.w,V=p.length,0==V?k=new a[H]:1==V?k=new a[H](p[0]):2==V?k=new a[H](p[0],p[1]):3==V?k=new a[H](p[0],p[1],p[2]):4==V?k=new a[H](p[0],p[1],p[2],p[3]):r(M,22),d(L.Y,M,k))}),d(11,h,function(M,L,p){(p=(L=S(M),S(M)),d)(p,M,M.P(p)+M.P(L))}),d)(7,h,[165,0,0]),d(74,h,function(M,L,p,a,H,k){if(!P(255,true,M)){if(M=(a=(L=(H=(a=(L=S(M),p=S(M),S(M)),S(M)),M.P(L)),p=M.P(p),M.P(a)),M).P(H),"object"==f(L)){for(k in H=[],L)H.push(k);L=H}for(a=(k=L.length,H=0,0<a?a:1);H<k;H+=a)p(L.slice(H,H+a),M)}}),d(218,h,function(M,L,p){L=(p=(L=S(M),S)(M),M.P(L)),d(p,M,f(L))}),d)(41,h,function(M,L,p,a,H,k,V){if((p=Xp((L=S(M),M)),a="",M).W[99])for(H=M.P(99),k=0,V=H.length;p--;)k=(k+Xp(M))%V,a+=X[H[k]];else for(;p--;)a+=X[S(M)];d(L,M,a)}),d(166,h,function(M,L,p,a){L=(a=(p=(L=S(M),S(M)),S(M)),M).P(L)==M.P(p),d(a,M,+L)}),d(227,h,l),d(103,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S(M)),M).M==M&&(M.P(L)[M.P(p)]=M.P(a),53==L&&(M.j=void 0,2==M.P(p)&&(M.$=void 0,d(109,M,M.P(109)+32))))}),d(157,h,function(M){M.Wb(4)}),h).H=[],d(53,h,[0,0,0]),d(182,h,h),d)(54,h,function(M,L,p){(p=(L=S(M),S)(M),d)(p,M,""+M.P(L))}),d)(51,h,function(M,L,p){L=(p=(L=S(M),S)(M),M).W[L]&&M.P(L),d(p,M,L)}),d(140,h,function(M,L,p,a){p=(p=(L=S(M),S(M)),a=S(M),M).P(p),L=M.P(L),d(a,M,L[p])}),d)(115,h,2048),h.Iz=function(M,L){(L.push(M[0]<<24|M[1]<<16|M[2]<<8|M[3]),L).push(M[4]<<24|M[5]<<16|M[6]<<8|M[7]),L.push(M[8]<<24|M[9]<<16|M[10]<<8|M[11])},d(112,h,function(M,L,p,a,H){H=(p=(L=S(M),S(M)),a=M.P(S(M)),M.P(S(M))),p=M.P(p),d(L,M,hM(a,M,H,p))}),Uc)(),d)(80,h,function(M,L,p,a,H){a=(H=(L=(a=(p=(L=S(M),S)(M),S(M)),M.P(L)),M.P(S(M))),p=M.P(p),M.P(a)),0!==L&&(a=hM(H,M,1,a,L,p),Rb(a,p,L),d(43,M,[L,p,a]))}),window.performance)||{},h).Rz=g.timeOrigin||(g.timing||{}).navigationStart||0,d(43,h,0),d)(70,h,function(M,L,p,a,H){for(H=(p=(L=S(M),Xp)(M),a=[],0);H<p;H++)a.push(S(M));d(L,M,a)}),n&&"!"==n.charAt(0))?(h.o=n,e()):(h.c=[],U=!!U.s,h.h=0,R(h,[rW,n]),R(h,[qM,e]),b(false,U,h,true))},Xp=function(n,U){return U=S(n),U&128&&(U=U&127|S(n)<<7),U},e9=function(n,U,h,X){try{for(X=0;79669387488!=X;)h+=(U<<4^U>>>5)+U^X+n[X&3],X+=2489668359,U+=(h<<4^h>>>5)+h^X+n[X>>>11&3];return[h>>>24,h>>16&255,h>>8&255,h&255,U>>>24,U>>16&255,U>>8&255,U&255]}catch(e){throw e;}},Q=(G.prototype.LU=function(n,U,h){return n^((U=(U^=U<<13,U^=U>>17,(U^U<<5)&h))||(U=1),U)},G.prototype.F=(window.performance||{}).now?function(){return Math.floor(this.Rz+window.performance.now())}:function(){return+new Date},G.prototype.b={},l),N=(G.prototype.uw=35,G.prototype.Wb=function(n,U,h,X){(h=(X=(h=S((n&=(U=n&4,3),this)),S(this)),this.P(h)),U&&(h=h4((""+h).replace(/\\r\\n/g,"\\n"))),n)&&y(X,this,N(h.length,2)),y(X,this,h)},(G.prototype.P=(G.prototype.kI=function(n,U,h){if(3==n.length){for(h=0;3>h;h++)U[h]+=n[h];for(n=[13,(h=0,8),13,12,16,5,3,10,15];9>h;h++)U[3](U,h%3,n[h])}},G.prototype.d$=false,function(n,U){if(void 0===(U=this.W[n],U))throw r(this,30,0,n),this.b;return U()}),G.prototype.t8=function(n,U,h,X,e){for(e=X=0;e<n.length;e++)X+=n.charCodeAt(e),X+=X<<10,X^=X>>6;return n=(X+=X<<3,X^=X>>11,X+(X<<15)>>>0),X=new Number(n&(1<<U)-1),X[0]=(n>>>U)%h,X},G.prototype).oz=function(n,U,h,X){for(;h--;)109!=h&&55!=h&&U.W[h]&&(U.W[h]=U[X](U[n](h),this));U[n]=this},function(n,U,h,X){for(X=(h=[],U-1);0<=X;X--)h[U-1-X]=n>>8*X&255;return h}),NM=(G.prototype.Go=l.requestIdleCallback?function(n){requestIdleCallback(n,{timeout:4})}:l.setImmediate?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},{}),S=function(n,U,h,X){if(n.K)return n.f(n.D);if(U=n.P(109),h=U>>3,U>=n.h)throw r(n,31),n.b;return(((void 0==n.$&&(n.$=Q4(n.c,h-4),n.j=void 0),n.j!=h>>3)&&(n.j=h>>3,X=n.P(53),n.yk=e9([0,0,X[1],X[2]],n.j,n.$)),d)(109,n,U+8),n.c[h])^n.yk[h%8]},d=((G.prototype.zo=function(n,U,h,X){try{X=n[(U+2)%3],n[U]=n[U]-n[(U+1)%3]-X^(1==U?X<<h:X>>>h)}catch(e){throw e;}},G.prototype).T="toString",function(n,U,h){if(109==n||55==n)if(U.W[n])U.W[n][U.T](h);else U.W[n]=U.mT(h);else if(7!=n&&252!=n&&10!=n&&50!=n&&49!=n||!U.W[n])U.W[n]=U.v(h,U.P);53==n&&(U.$=void 0,d(109,U,U.P(109)+32))}),y=function(n,U,h,X,e,g){if(U.M==U)for(e=U.P(n),252==n?(n=function(M,L,p,a){if(p=(L=e.length,L)-4>>3,e.h8!=p){a=[0,0,g[1],(p=((e.h8=p,p)<<3)-4,g[2])];try{e.KU=e9(a,Q4(e,p+4),Q4(e,p))}catch(H){throw H;}}e.push(e.KU[L&7]^M)},g=U.P(49)):n=function(M){e.push(M)},X&&n(X&255),U=h.length,X=0;X<U;X++)n(h[X])},J=(G.prototype.cb=function(n,U,h,X,e,g){for(g=(h=[],X=0);g<n.length;g++)for(e=e<<U|n[g],X+=U;7<X;)X-=8,h.push(e>>X&255);return h},function(n,U){U.o=("E:"+n.message+":"+n.stack).slice(0,2048)}),Mg=function(n,U){for(U=[];n--;)U.push(255*Math.random()|0);return U},pw=function(n,U,h){return Lw(((h=n.P(109),n.c&&h<n.h)?(d(109,n,n.h),GG(n,U)):d(109,n,U),n),h)},U2=function(n,U,h,X){X=(h=S(U),S(U)),y(X,U,N(U.P(h),n))},Lw=function(n,U,h,X,e,g,M){n.I++;try{for(e=(h=(X=5001,g=0,n.h),void 0);(n.d$||--X)&&(n.K||(g=n.P(109))<h);)try{n.K?e=n.f(n.K):(d(55,n,g),M=S(n),e=n.P(M)),e&&e.call?e(n):r(n,21,0,M),n.B=true,P(2,false,n)}catch(L){L!=n.b&&(n.P(148)?r(n,22,L):d(148,n,L))}X||r(n,33)}catch(L){try{r(n,22,L)}catch(p){J(p,n)}}return(h=n.P(165),U)&&d(109,n,U),n.I--,h},sc={};T[0]in Q||"undefined"==typeof Q.execScript||Q.execScript("var "+T[0]);for(var K;T.length&&(K=T.shift());)Q=Q[K]&&Q[K]!==Object.prototype[K]?Q[K]:Q[K]={};v=l.botguard,v.CLT=function(n,U,h){this.invoke=(h=new G({s:U},n),function(X,e,g){return(g=h.Mi(e&&X,g),X&&!e)&&X(g),g})},v.bg=function(n,U,h){return n&&n.substring&&(h=v[n.substring(0,3)])?new h(n.substring(3),U):new v.CLT(n,U)};try{v.u||(Rb(function(){},"unload",l),v.u=1)}catch(n){};')();</script>
  <script type="text/javascript" nonce="jistLhImIF7AsBJtkaAvTA">
  document.bg = new botguard.bg('redacted');
  </script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  gaia = window.gaia || {};
  gaia.ps = gaia.ps || {};
  gaia.ps.hasPrefilledIdentifier = false;
  function gaia_parseFragment() {
  var hash = location.hash;
  var params = {};
  if (!hash) {
  return params;
  }
  var paramStrs = decodeURIComponent(hash.substring(1)).split('&');
  for (var i = 0; i < paramStrs.length; i++) {
      var param = paramStrs[i].split('=');
      params[param[0]] = param[1];
    }
    return params;
  }

  function gaia_prefillEmail() {
    var email = null;
    var form = null;
    if (document.getElementById) {
      email = document.getElementById('Email');
      form = document.getElementById('gaia_loginform');
    }
    if (form && email && (email.value == null || email.value == '')
        && (email.type != 'hidden')) {
      hashParams = gaia_parseFragment();
      if (hashParams['Email'] && hashParams['Email'] != '') {
        email.value = hashParams['Email'];
      }
    }
  }

  try {
    gaia_prefillEmail();
  } catch (e) {
  }

</script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  var gaia_scrollToElement = function(element) {
  var calculateOffsetHeight = function(element) {
  var curtop = 0;
  if (element.offsetParent) {
  while (element) {
  curtop += element.offsetTop;
  element = element.offsetParent;
  }
  }
  return curtop;
  }
  var siginOffsetHeight = calculateOffsetHeight(element);
  var scrollHeight = siginOffsetHeight - window.innerHeight +
  element.clientHeight + 0.02 * window.innerHeight;
  window.scroll(0, scrollHeight);
  }
</script>
  <script nonce="jistLhImIF7AsBJtkaAvTA">
  if (gaia.ps.hasPrefilledIdentifier) {
  var form = document.getElementById('gaia_loginform');
  if (form) {
  form.submit();
  }
  }
  </script>
<script nonce="jistLhImIF7AsBJtkaAvTA">
  (function(){
  gaia_onLoginSubmit = function() {
  try {
  document.bg.invoke(function(response) {
  document.getElementById('bgresponse').value = response;
  });
  } catch (err) {
  document.getElementById('bgresponse').value = '';
  }
  return true;
  }
  document.getElementById('gaia_loginform').onsubmit = gaia_onLoginSubmit;
  var signinButton;
  signinButton = document.getElementById('next');
  gaia_attachEvent(window, 'load', function(){
  gaia_scrollToElement(signinButton);
  });
  })();
</script>
  </body>
</html>
charsleysa commented 4 years ago

@sinkr could you please adjust your comments and wrap the html in triple backtick instead of single backtick? It'll help with readability.

bigbee commented 4 years ago

👍 I am experiencing the same issue.

stevemac007 commented 4 years ago

Fixed the code embed - will need to take a deeper look later, but worrying that they are moving to processing some security in the browser. There seem to be an increasing number of these reports.

pedroxs commented 4 years ago

Is it possible to have this part done on the browser?

pedroxs commented 4 years ago

Enhancing on what I proposed, could this flow be applied? https://developers.google.com/identity/protocols/oauth2/native-app

Example app: https://github.com/googlesamples/oauth-apps-for-windows/blob/master/OAuthConsoleApp/OAuthConsoleApp/Program.cs

Seems like a more robust way to have this feature working. Unless I am missing something critical.

ryanmillerdev commented 4 years ago

Was able to get past this issue by doing the following:

sinkr commented 4 years ago

Was able to get past this issue by doing the following:

  • Upgrading from V1 to V2 of the AWS CLI.
  • Ensuring that I had the latest version of aws_google_auth installed (0.0.34).

Hmm, I've had awscli v2 installed this whole time. I think it might be where you are in the rotation of being presented with a CAPTCHA by Google, based on what I think I read on this thread.

saada commented 4 years ago

I'm experiencing this as well. Here are the versions I'm running on

aws-cli/2.0.0 Python/3.8.1 Darwin/19.3.0 botocore/2.0.0dev4 aws-google-auth 0.0.35

reedox commented 4 years ago

I'm seeing this too. It only affects a colleague's google account, not mine. One piece of anecdotal evidence is that he switched from Ubuntu to OSX and this worked on Ubuntu.

(aws-google-auth) ➜  aws-google-auth git:(debug-page-content) ✗ bin/aws-google-auth -u xxx@xxx.com -I xx -S xx -d xx -p development --resolve-aliases -r arn:aws:iam::xxxx:role/Administrator  --save-all-html -l debug
AWS Region: us-east-2
DEBUG:root:aws_google_auth: region is: us-east-2
INFO:root:aws_google_auth: SAML cache not found
Google Password:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /o/saml2/initsso?xxx
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https://accounts.google.com/o/saml2/initsso?xxx9%26forceauthn%3Dfalse%26from_login%xxxx&ltmpl=popup&oauth=1&faa=1&sarp=1&scc=1 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Invalid username or password

I open the HTML file and it's asking for a captcha:

Screen Shot 2020-04-14 at 3 32 43 PM

One more note is that I had to modify the code on the debug-page-content branch to wrap the response.text.encode in str() because of this:

File "/Users/mark/Code/aws-google-auth/aws_google_auth/google.py", line 100, in post
    out.write(response.text.encode('utf-8'))
TypeError: write() argument must be str, not bytes
ramnes commented 4 years ago

I've been hit by this also, so I've started working on a fix by modifying the code directly inside .local/lib64/python3.6/site-packages/aws_google_auth/. Basically the problem is that the HTML changed, and that things like the captcha-container div got replaced by another div named identifier-captcha.

Eventually I cloned the repository to do my work here. I made a virtual environment, installed the project and its dependencies with pip install -e .... and then couldn't hit the CAPTCHA anymore! I ended up figuring out that the difference between the two setups was the version of urllib3. Version 1.22 triggers the CAPTCHA, but version 1.25.8 does not.

TL;DR: as a workaround and before a fix is released, installing urllib3 1.25.8 (i.e. pip install --user urllib3==1.25.8 or alike) might help if you're encountering this.

ramnes commented 4 years ago

As I can now use AWS I've got more urgent things to do, sorry lads, but feel free to check and use my changes to the codebase so far here (it's not functional yet): https://github.com/cevoaustralia/aws-google-auth/compare/master...ramnes:fix-google-captcha

matiyashpr commented 4 years ago

Installing urllib3==1.25.8 doesn't help me :(

maximeloizeau commented 4 years ago

It's not going to help to resolve this issue but if anyone is blocked because of that, in the meantime there's this Chrome extension extracting the credentials from the browser: https://chrome.google.com/webstore/detail/saml-to-aws-sts-keys-conv/ekniobabpcnfjgfbphhcolcinmnbehde?hl=en

I'll try the urllib update on my side too

matiyashpr commented 4 years ago

I've tried to apply changes that @ramnes made, but unfortunately, it doesn't help me. Now the captcha is showing me but some another error is blocking me

matiyashpr commented 4 years ago

It's not going to check my captcha and printing the same error - "Invalid username or password"

maximeloizeau commented 4 years ago

Just did a git clone of @ramnes repo and pip install -e ./ --user and it works perfectly now (it might be just luck and did not get captach this time). Thanks a lot for the work anyway

matiyashpr commented 4 years ago

It returns me HTML page after I passing the captcha


Google Password: 
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /o/saml2/initsso?idpid=C03bq2iwp&spid=957518930669&forceauthn=false HTTP/1.1" 302 0
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /ServiceLogin?passive=1209600&continue=https://accounts.google.com/o/saml2/initsso?idpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&followup=https://accounts.google.com/o/saml2/initsso?idpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&ltmpl=popup&oauth=1&faa=1&sarp=1&scc=1 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Please visit the following URL to view your CAPTCHA: https://accounts.google.com/Captcha?v=2&ctoken=AAWk9lSNYm1gb_3vUlYbzG5Cfb8k9Wh6YjrlBkbbN_eMYW5O575MvcvwVdIL4li30wb6Qx7ht_ePekWZ7tMQ7vmYi_SGSEEzJmghZVmQ8kfOI8pb1mkKt0NM-Wjw8JkVjxiipycZiFK3PAm4OZk_wSBaL34pmjWe9CgDqJwxhJXb432wmgrGD5U
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): accounts.google.com:443
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "GET /Captcha?v=2&ctoken=AAWk9lSNYm1gb_3vUlYbzG5Cfb8k9Wh6YjrlBkbbN_eMYW5O575MvcvwVdIL4li30wb6Qx7ht_ePekWZ7tMQ7vmYi_SGSEEzJmghZVmQ8kfOI8pb1mkKt0NM-Wjw8JkVjxiipycZiFK3PAm4OZk_wSBaL34pmjWe9CgDqJwxhJXb432wmgrGD5U HTTP/1.1" 200 None
Captcha (case insensitive): rebratut
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
b'\n<!DOCTYPE html>\n<html lang="uk">\n  <head>\n  <meta charset="utf-8">\n  <meta content="width=300, initial-scale=1" name="viewport">\n  <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">\n  <title>\xd0\x92\xd1\x85\xd1\x96\xd0\xb4 \xe2\x80\x93 \xd0\x9e\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd1\x96 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb8 Google</title>\n  <style>\n  @font-face {\n  font-family: \'Open Sans\';\n  font-style: normal;\n  font-weight: 300;\n  src: local(\'Open Sans Light\'), local(\'OpenSans-Light\'), url(//fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8OVuhs.ttf) format(\'truetype\');\n}\n@font-face {\n  font-family: \'Open Sans\';\n  font-style: normal;\n  font-weight: 400;\n  src: local(\'Open Sans\'), local(\'OpenSans\'), url(//fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFUZ0e.ttf) format(\'truetype\');\n}\n  </style>\n  <style>\n  h1, h2 {\n  -webkit-animation-duration: 0.1s;\n  -webkit-animation-name: fontfix;\n  -webkit-animation-iteration-count: 1;\n  -webkit-animation-timing-function: linear;\n  -webkit-animation-delay: 0;\n  }\n  @-webkit-keyframes fontfix {\n  from {\n  opacity: 1;\n  }\n  to {\n  opacity: 1;\n  }\n  }\n  </style>\n<style>\n  html, body {\n  font-family: Arial, sans-serif;\n  background: #fff;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  position: absolute;\n  height: 100%;\n  min-width: 100%;\n  font-size: 13px;\n  color: #404040;\n  direction: ltr;\n  -webkit-text-size-adjust: none;\n  }\n  button,\n  input[type=button],\n  input[type=submit] {\n  font-family: Arial, sans-serif;\n  font-size: 13px;\n  }\n  a,\n  a:hover,\n  a:visited {\n  color: #427fed;\n  cursor: pointer;\n  text-decoration: none;\n  }\n  a:hover {\n  text-decoration: underline;\n  }\n  h1 {\n  font-size: 20px;\n  color: #262626;\n  margin: 0 0 15px;\n  font-weight: normal;\n  }\n  h2 {\n  font-size: 14px;\n  color: #262626;\n  margin: 0 0 15px;\n  font-weight: bold;\n  }\n  input[type=email],\n  input[type=number],\n  input[type=password],\n  input[type=tel],\n  input[type=text],\n  input[type=url] {\n  -moz-appearance: none;\n  -webkit-appearance: none;\n  appearance: none;\n  display: inline-block;\n  height: 36px;\n  padding: 0 8px;\n  margin: 0;\n  background: #fff;\n  border: 1px solid #d9d9d9;\n  border-top: 1px solid #c0c0c0;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -moz-border-radius: 1px;\n  -webkit-border-radius: 1px;\n  border-radius: 1px;\n  font-size: 15px;\n  color: #404040;\n  }\n  input[type=email]:hover,\n  input[type=number]:hover,\n  input[type=password]:hover,\n  input[type=tel]:hover,\n  input[type=text]:hover,\n  input[type=url]:hover {\n  border: 1px solid #b9b9b9;\n  border-top: 1px solid #a0a0a0;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  }\n  input[type=email]:focus,\n  input[type=number]:focus,\n  input[type=password]:focus,\n  input[type=tel]:focus,\n  input[type=text]:focus,\n  input[type=url]:focus {\n  outline: none;\n  border: 1px solid #4d90fe;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  input[type=checkbox],\n  input[type=radio] {\n  -webkit-appearance: none;\n  display: inline-block;\n  width: 13px;\n  height: 13px;\n  margin: 0;\n  cursor: pointer;\n  vertical-align: bottom;\n  background: #fff;\n  border: 1px solid #c6c6c6;\n  -moz-border-radius: 1px;\n  -webkit-border-radius: 1px;\n  border-radius: 1px;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  position: relative;\n  }\n  input[type=checkbox]:active,\n  input[type=radio]:active {\n  background: #ebebeb;\n  }\n  input[type=checkbox]:hover {\n  border-color: #c6c6c6;\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);\n  }\n  input[type=radio] {\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  width: 15px;\n  height: 15px;\n  }\n  input[type=checkbox]:checked,\n  input[type=radio]:checked {\n  background: #fff;\n  }\n  input[type=radio]:checked::after {\n  content: \'\';\n  display: block;\n  position: relative;\n  top: 3px;\n  left: 3px;\n  width: 7px;\n  height: 7px;\n  background: #666;\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  }\n  input[type=checkbox]:checked::after {\n  content: url(https://ssl.gstatic.com/ui/v1/menu/checkmark.png);\n  display: block;\n  position: absolute;\n  top: -6px;\n  left: -5px;\n  }\n  input[type=checkbox]:focus {\n  outline: none;\n  border-color: #4d90fe;\n  }\n  .stacked-label {\n  display: block;\n  font-weight: bold;\n  margin: .5em 0;\n  }\n  .hidden-label {\n  position: absolute !important;\n  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */\n  clip: rect(1px, 1px, 1px, 1px);\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n  visibility: hidden;\n  }\n  input[type=checkbox].form-error,\n  input[type=email].form-error,\n  input[type=number].form-error,\n  input[type=password].form-error,\n  input[type=text].form-error,\n  input[type=tel].form-error,\n  input[type=url].form-error {\n  border: 1px solid #dd4b39;\n  }\n  .error-msg {\n  margin: .5em 0;\n  display: block;\n  color: #dd4b39;\n  line-height: 17px;\n  }\n  .help-link {\n  background: #dd4b39;\n  padding: 0 5px;\n  color: #fff;\n  font-weight: bold;\n  display: inline-block;\n  -moz-border-radius: 1em;\n  -webkit-border-radius: 1em;\n  border-radius: 1em;\n  text-decoration: none;\n  position: relative;\n  top: 0px;\n  }\n  .help-link:visited {\n  color: #fff;\n  }\n  .help-link:hover {\n  color: #fff;\n  background: #c03523;\n  text-decoration: none;\n  }\n  .help-link:active {\n  opacity: 1;\n  background: #ae2817;\n  }\n  .wrapper {\n  position: relative;\n  min-height: 100%;\n  }\n  .content {\n  padding: 0 44px;\n  }\n  .main {\n  padding-bottom: 100px;\n  }\n  /* For modern browsers */\n  .clearfix:before,\n  .clearfix:after {\n  content: "";\n  display: table;\n  }\n  .clearfix:after {\n  clear: both;\n  }\n  /* For IE 6/7 (trigger hasLayout) */\n  .clearfix {\n  zoom:1;\n  }\n  .google-header-bar {\n  height: 71px;\n  border-bottom: 1px solid #e5e5e5;\n  overflow: hidden;\n  }\n  .header .logo {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_1x.png);\n  background-size: 116px 38px;\n  background-repeat: no-repeat;\n  margin: 17px 0 0;\n  float: left;\n  height: 38px;\n  width: 116px;\n  }\n  .header .logo-w {\n  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_112x36dp.png);\n  background-size: 112px 36px;\n  margin: 21px 0 0;\n  }\n  .header .secondary-link {\n  margin: 28px 0 0;\n  float: right;\n  }\n  .header .secondary-link a {\n  font-weight: normal;\n  }\n  .google-header-bar.centered {\n  border: 0;\n  height: 108px;\n  }\n  .google-header-bar.centered .header .logo {\n  float: none;\n  margin: 40px auto 30px;\n  display: block;\n  }\n  .google-header-bar.centered .header .secondary-link {\n  display: none\n  }\n  .google-footer-bar {\n  position: absolute;\n  bottom: 0;\n  height: 35px;\n  width: 100%;\n  border-top: 1px solid #e5e5e5;\n  overflow: hidden;\n  }\n  .footer {\n  padding-top: 7px;\n  font-size: .85em;\n  white-space: nowrap;\n  line-height: 0;\n  }\n  .footer ul {\n  float: left;\n  max-width: 80%;\n  min-height: 16px;\n  padding: 0;\n  }\n  .footer ul li {\n  color: #737373;\n  display: inline;\n  padding: 0;\n  padding-right: 1.5em;\n  }\n  .footer a {\n  color: #737373;\n  }\n  .lang-chooser-wrap {\n  float: right;\n  display: inline;\n  }\n  .lang-chooser-wrap img {\n  vertical-align: top;\n  }\n  .lang-chooser {\n  font-size: 13px;\n  height: 24px;\n  line-height: 24px;\n  }\n  .lang-chooser option {\n  font-size: 13px;\n  line-height: 24px;\n  }\n  .hidden {\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n  visibility: hidden;\n  display: none !important;\n  }\n  .banner {\n  text-align: center;\n  }\n  .card {\n  background-color: #f7f7f7;\n  padding: 20px 25px 30px;\n  margin: 0 auto 25px;\n  width: 304px;\n  -moz-border-radius: 2px;\n  -webkit-border-radius: 2px;\n  border-radius: 2px;\n  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  }\n  .card > *:first-child {\n  margin-top: 0;\n  }\n  .rc-button,\n  .rc-button:visited {\n  display: inline-block;\n  min-width: 46px;\n  text-align: center;\n  color: #444;\n  font-size: 14px;\n  font-weight: 700;\n  height: 36px;\n  padding: 0 8px;\n  line-height: 36px;\n  -moz-border-radius: 3px;\n  -webkit-border-radius: 3px;\n  border-radius: 3px;\n  -o-transition: all 0.218s;\n  -moz-transition: all 0.218s;\n  -webkit-transition: all 0.218s;\n  transition: all 0.218s;\n  border: 1px solid #dcdcdc;\n  background-color: #f5f5f5;\n  background-image: -webkit-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f5f5f5,#f1f1f1);\n  background-image: linear-gradient(top,#f5f5f5,#f1f1f1);\n  -o-transition: none;\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n  cursor: default;\n  }\n  .card .rc-button {\n  width: 100%;\n  padding: 0;\n  }\n  .rc-button.disabled,\n  .rc-button[disabled] {\n  opacity: .5;\n  filter: alpha(opacity=50);\n  cursor: default;\n  pointer-events: none;\n  }\n  .rc-button:hover {\n  border: 1px solid #c6c6c6;\n  color: #333;\n  text-decoration: none;\n  -o-transition: all 0.0s;\n  -moz-transition: all 0.0s;\n  -webkit-transition: all 0.0s;\n  transition: all 0.0s;\n  background-color: #f8f8f8;\n  background-image: -webkit-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f8f8f8,#f1f1f1);\n  background-image: linear-gradient(top,#f8f8f8,#f1f1f1);\n  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  box-shadow: 0 1px 1px rgba(0,0,0,0.1);\n  }\n  .rc-button:active {\n  background-color: #f6f6f6;\n  background-image: -webkit-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -moz-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -ms-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: -o-linear-gradient(top,#f6f6f6,#f1f1f1);\n  background-image: linear-gradient(top,#f6f6f6,#f1f1f1);\n  -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n  }\n  .rc-button-submit,\n  .rc-button-submit:visited {\n  border: 1px solid #3079ed;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.1);\n  background-color: #4d90fe;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -moz-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -ms-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: -o-linear-gradient(top,#4d90fe,#4787ed);\n  background-image: linear-gradient(top,#4d90fe,#4787ed);\n  }\n  .rc-button-submit:hover {\n  border: 1px solid #2f5bb7;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.3);\n  background-color: #357ae8;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: linear-gradient(top,#4d90fe,#357ae8);\n  }\n  .rc-button-submit:active {\n  background-color: #357ae8;\n  background-image: -webkit-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -moz-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -ms-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: -o-linear-gradient(top,#4d90fe,#357ae8);\n  background-image: linear-gradient(top,#4d90fe,#357ae8);\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  .rc-button-red,\n  .rc-button-red:visited {\n  border: 1px solid transparent;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.1);\n  background-color: #d14836;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -moz-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -ms-linear-gradient(top,#dd4b39,#d14836);\n  background-image: -o-linear-gradient(top,#dd4b39,#d14836);\n  background-image: linear-gradient(top,#dd4b39,#d14836);\n  }\n  .rc-button-red:hover {\n  border: 1px solid #b0281a;\n  color: #fff;\n  text-shadow: 0 1px rgba(0,0,0,0.3);\n  background-color: #c53727;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -moz-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -ms-linear-gradient(top,#dd4b39,#c53727);\n  background-image: -o-linear-gradient(top,#dd4b39,#c53727);\n  background-image: linear-gradient(top,#dd4b39,#c53727);\n  }\n  .rc-button-red:active {\n  border: 1px solid #992a1b;\n  background-color: #b0281a;\n  background-image: -webkit-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -moz-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -ms-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: -o-linear-gradient(top,#dd4b39,#b0281a);\n  background-image: linear-gradient(top,#dd4b39,#b0281a);\n  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  box-shadow: inset 0 1px 2px rgba(0,0,0,0.3);\n  }\n  .secondary-actions {\n  text-align: center;\n  }\n</style>\n<style media="">\n  .google-header-bar.centered {\n  height: 83px;\n  }\n  .google-header-bar.centered .header .logo {\n  margin: 25px auto 20px;\n  }\n  .card {\n  margin-bottom: 20px;\n  }\n</style>\n<style media="">\n  html, body {\n  font-size: 14px;\n  }\n  .google-header-bar.centered {\n  height: 73px;\n  }\n  .google-header-bar.centered .header .logo {\n  margin: 20px auto 15px;\n  }\n  .content {\n  padding-left: 10px;\n  padding-right: 10px;\n  }\n  .hidden-small {\n  display: none;\n  }\n  .card {\n  padding: 20px 15px 30px;\n  width: 270px;\n  }\n  .footer ul li {\n  padding-right: 1em;\n  }\n  .lang-chooser-wrap {\n  display: none;\n  }\n</style>\n<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">\n  .header .logo {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/logo_2x.png);\n  }\n  .header .logo-w {\n  background-image: url(https://ssl.gstatic.com/images/branding/googlelogo/2x/googlelogo_color_112x36dp.png);\n  }\n</style>\n<style>\n  pre.debug {\n  font-family: monospace;\n  position: absolute;\n  left: 0;\n  margin: 0;\n  padding: 1.5em;\n  font-size: 13px;\n  background: #f1f1f1;\n  border-top: 1px solid #e5e5e5;\n  direction: ltr;\n  white-space: pre-wrap;\n  width: 90%;\n  overflow: hidden;\n  }\n</style>\n<style>\n  .banner h1 {\n  font-family: \'Open Sans\', arial;\n  -webkit-font-smoothing: antialiased;\n  color: #555;\n  font-size: 42px;\n  font-weight: 300;\n  margin-top: 0;\n  margin-bottom: 20px;\n  }\n  .banner h2 {\n  font-family: \'Open Sans\', arial;\n  -webkit-font-smoothing: antialiased;\n  color: #555;\n  font-size: 18px;\n  font-weight: 400;\n  margin-bottom: 20px;\n  }\n  .signin-card {\n  width: 274px;\n  padding: 40px 40px;\n  }\n  .signin-card .profile-img {\n  width: 96px;\n  height: 96px;\n  margin: 0 auto 10px;\n  display: block;\n  -moz-border-radius: 50%;\n  -webkit-border-radius: 50%;\n  border-radius: 50%;\n  }\n  .signin-card .profile-name {\n  font-size: 16px;\n  font-weight: bold;\n  text-align: center;\n  margin: 10px 0 0;\n  min-height: 1em;\n  }\n  .signin-card .profile-email {\n  font-size: 16px;\n  text-align: center;\n  margin: 10px 0 20px 0;\n  min-height: 1em;\n  }\n  .signin-card input[type=email],\n  .signin-card input[type=password],\n  .signin-card input[type=text],\n  .signin-card input[type=submit] {\n  width: 100%;\n  display: block;\n  margin-bottom: 10px;\n  z-index: 1;\n  position: relative;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  }\n  .signin-card #Email,\n  .signin-card #Passwd,\n  .signin-card .captcha {\n  direction: ltr;\n  height: 44px;\n  font-size: 16px;\n  }\n  .signin-card #Email + .stacked-label {\n  margin-top: 15px;\n  }\n  .signin-card #reauthEmail {\n  display: block;\n  margin-bottom: 10px;\n  line-height: 36px;\n  padding: 0 8px;\n  font-size: 15px;\n  color: #404040;\n  line-height: 2;\n  margin-bottom: 10px;\n  font-size: 14px;\n  text-align: center;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  }\n  .one-google p {\n  margin: 0 0 10px;\n  color: #555;\n  font-size: 14px;\n  text-align: center;\n  }\n  .one-google p.create-account,\n  .one-google p.switch-account {\n  margin-bottom: 60px;\n  }\n  .one-google .logo-strip {\n  background-repeat: no-repeat;\n  display: block;\n  margin: 10px auto;\n  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_1x.png);\n  background-size: 230px 17px;\n  width: 230px;\n  height: 17px;\n  }\n</style>\n<style media="">\n  .banner h1 {\n  font-size: 38px;\n  margin-bottom: 15px;\n  }\n  .banner h2 {\n  margin-bottom: 15px;\n  }\n  .one-google p.create-account,\n  .one-google p.switch-account {\n  margin-bottom: 30px;\n  }\n  .signin-card #Email {\n  margin-bottom: 0;\n  }\n  .signin-card #Passwd {\n  margin-top: -1px;\n  }\n  .signin-card #Email.form-error,\n  .signin-card #Passwd.form-error {\n  z-index: 2;\n  }\n  .signin-card #Email:hover,\n  .signin-card #Email:focus,\n  .signin-card #Passwd:hover,\n  .signin-card #Passwd:focus {\n  z-index: 3;\n  }\n</style>\n<style media="">\n  .banner h1 {\n  font-size: 22px;\n  margin-bottom: 15px;\n  }\n  .signin-card {\n  width: 260px;\n  padding: 20px 20px;\n  margin: 0 auto 20px;\n  }\n  .signin-card .profile-img {\n  width: 72px;\n  height: 72px;\n  -moz-border-radius: 72px;\n  -webkit-border-radius: 72px;\n  border-radius: 72px;\n  }\n</style>\n<style media="screen and (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3 / 2), (min-device-pixel-ratio: 1.5)">\n  .one-google .logo-strip {\n  background-image: url(https://ssl.gstatic.com/accounts/ui/wlogostrip_230x17_2x.png);\n  }\n</style>\n<style>\n  .remember .bubble-wrap {\n  position: absolute;\n  padding-top: 3px;\n  -o-transition: opacity .218s ease-in .218s;\n  -moz-transition: opacity .218s ease-in .218s;\n  -webkit-transition: opacity .218s ease-in .218s;\n  transition: opacity .218s ease-in .218s;\n  left: -999em;\n  opacity: 0;\n  width: 314px;\n  margin-left: -20px;\n  }\n  .remember:hover .bubble-wrap,\n  .remember input:focus ~ .bubble-wrap,\n  .remember .bubble-wrap:hover,\n  .remember .bubble-wrap:focus {\n  opacity: 1;\n  left: inherit;\n  }\n  .bubble-pointer {\n  border-left: 10px solid transparent;\n  border-right: 10px solid transparent;\n  border-bottom: 10px solid #fff;\n  width: 0;\n  height: 0;\n  margin-left: 17px;\n  }\n  .bubble {\n  background-color: #fff;\n  padding: 15px;\n  margin-top: -1px;\n  font-size: 11px;\n  -moz-border-radius: 2px;\n  -webkit-border-radius: 2px;\n  border-radius: 2px;\n  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);\n  }\n  #stay-signed-in {\n  float: left;\n  }\n  #stay-signed-in-tooltip {\n  left: auto;\n  margin-left: -20px;\n  padding-top: 3px;\n  position: absolute;\n  top: 0;\n  visibility: hidden;\n  width: 314px;\n  z-index: 1;\n  }\n  .dasher-tooltip {\n  top: 380px;\n  }\n</style>\n<style media="">\n  .dasher-tooltip {\n  top: 340px;\n  }\n</style>\n<style>\n  .jfk-tooltip {\n  background-color: #fff;\n  border: 1px solid;\n  color: #737373;\n  font-size: 12px;\n  position: absolute;\n  z-index: 800 !important;\n  border-color: #bbb #bbb #a8a8a8;\n  padding: 16px;\n  width: 250px;\n  }\n .jfk-tooltip h3 {\n  color: #555;\n  font-size: 12px;\n  margin: 0 0 .5em;\n  }\n .jfk-tooltip-content p:last-child {\n  margin-bottom: 0;\n  }\n  .jfk-tooltip-arrow {\n  position: absolute;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore,\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplbefore {\n  border: 9px solid;\n  }\n  .jfk-tooltip-arrow .jfk-tooltip-arrowimplafter {\n  border: 8px solid;\n  }\n  .jfk-tooltip-arrowdown {\n  bottom: 0;\n  }\n  .jfk-tooltip-arrowup {\n  top: -9px;\n  }\n  .jfk-tooltip-arrowleft {\n  left: -9px;\n  top: 30px;\n  }\n  .jfk-tooltip-arrowright {\n  right: 0;\n  top: 30px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {\n  border-color: #bbb transparent;\n  left: -9px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {\n  border-color: #a8a8a8 transparent;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter,.jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {\n  border-color: #fff transparent;\n  left: -8px;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplbefore {\n  border-bottom-width: 0;\n  }\n  .jfk-tooltip-arrowdown .jfk-tooltip-arrowimplafter {\n  border-bottom-width: 0;\n  }\n  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplbefore {\n  border-top-width: 0;\n  }\n  .jfk-tooltip-arrowup .jfk-tooltip-arrowimplafter {\n  border-top-width: 0;\n  top: 1px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore,\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {\n  border-color: transparent #bbb;\n  top: -9px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter,\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {\n  border-color:transparent #fff;\n  top:-8px;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplbefore {\n  border-left-width: 0;\n  }\n  .jfk-tooltip-arrowleft .jfk-tooltip-arrowimplafter {\n  border-left-width: 0;\n  left: 1px;\n  }\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplbefore {\n  border-right-width: 0;\n  }\n  .jfk-tooltip-arrowright .jfk-tooltip-arrowimplafter {\n  border-right-width: 0;\n  }\n  .jfk-tooltip-closebtn {\n  background: url("//ssl.gstatic.com/ui/v1/icons/common/x_8px.png") no-repeat;\n  border: 1px solid transparent;\n  height: 21px;\n  opacity: .4;\n  outline: 0;\n  position: absolute;\n  right: 2px;\n  top: 2px;\n  width: 21px;\n  }\n  .jfk-tooltip-closebtn:focus,\n  .jfk-tooltip-closebtn:hover {\n  opacity: .8;\n  cursor: pointer;\n  }\n  .jfk-tooltip-closebtn:focus {\n  border-color: #4d90fe;\n  }\n</style>\n<style media="">\n  .jfk-tooltip {\n  display: none;\n  }\n</style>\n<style type="text/css">\n.captcha-box {\n  background: #fff;\n  margin: 0 0 10px;\n  overflow: hidden;\n  padding: 10px;\n}\n.captcha-box .captcha-img {\n  text-align: center;\n}\n.captcha-box .captcha-label {\n  font-weight: bold;\n  display: block;\n  margin: .5em 0;\n}\n.captcha-box .captcha-msg {\n  color: #999;\n  display: block;\n  position: relative;\n}\n.captcha-box .captcha-msg .accessibility-logo {\n  float: right;\n  border: 0;\n}\n.captcha-box .audio-box {\n  position: absolute;\n  top: 0;\n}\n</style>\n<style>\n.chromiumsync-custom-content {\n  padding-top: 20px;\n  margin-bottom: 0;\n}\n.form-panel {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transform: translateZ(0);\n  -moz-transform: translateZ(0);\n  -ms-transform: translateZ(0);\n  -o-transform: translateZ(0);\n  transform: translateZ(0);\n  width: 100%;\n}\n.form-panel.first {\n  z-index: 2;\n}\n.form-panel.second {\n  z-index: 1;\n}\n.shift-form .form-panel.first {\n  z-index: 1;\n}\n.shift-form .form-panel.second {\n  z-index: 2;\n}\n.slide-in,\n.slide-out {\n  display: block;\n  -webkit-transition-property: -webkit-transform, opacity;\n  -moz-transition-property: -moz-transform, opacity;\n  -ms-transition-property: -ms-transform, opacity;\n  -o-transition-property: -o-transform, opacity;\n  transition-property: transform, opacity;\n  -webkit-transition-duration: 0.1s;\n  -moz-transition-duration: 0.1s;\n  -ms-transition-duration: 0.1s;\n  -o-transition-duration: 0.1s;\n  transition-duration: 0.1s;\n  -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -ms-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  -o-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.slide-out {\n  -webkit-transform: translate3d(0, 0, 0);\n  -moz-transform: translate3d(0, 0, 0);\n  -ms-transform: translate3d(0, 0, 0);\n  -o-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n.shift-form .slide-out {\n  opacity: 0;\n  -webkit-transform: translate3d(-120%, 0, 0);\n  -moz-transform: translate3d(-120%, 0, 0);\n  -ms-transform: translate3d(-120%, 0, 0);\n  -o-transform: translate3d(-120%, 0, 0);\n  transform: translate3d(-120%, 0, 0);\n}\n.slide-in {\n  -webkit-transform: translate3d(120%, 0, 0);\n  -moz-transform: translate3d(120%, 0, 0);\n  -ms-transform: translate3d(120%, 0, 0);\n  -o-transform: translate3d(120%, 0, 0);\n  transform: translate3d(120%, 0, 0);\n}\n.shift-form .slide-in {\n  opacity: 1;\n  -webkit-transform: translate3d(0, 0, 0);\n  -moz-transform: translate3d(0, 0, 0);\n  -ms-transform: translate3d(0, 0, 0);\n  -o-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n.error-msg {\n  -webkit-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -moz-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -ms-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  -o-transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  transition: max-height 0.3s, opacity 0.3s 0s steps(10, end);\n  height: auto;\n  max-height: 0;\n  opacity: 0;\n}\n.has-error .error-msg {\n  max-height: 3.5em;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  opacity: 1;\n  visibility: visible;\n}\n.back-arrow {\n  position: absolute;\n  top: 37px;\n  width: 24px;\n  height: 24px;\n  display: none;\n  cursor: pointer;\n}\n.back-arrow {\n  border-style: none;\n}\n.shift-form.back-arrow {\n  display: block;\n}\n.back-arrow img {\n  display: block;\n}\n#link-signup {\n  text-align: center;\n  font-size: 14px;\n}\n.shift-form #link-signup{\n  display: none;\n}\n#link-signin-different {\n  display: none;\n  text-align: center;\n  font-size: 14px;\n}\n.shift-form #link-signin-different {\n  display: block;\n}\n.signin-card #profile-name {\n  font-size: 16px;\n  font-weight: bold;\n  text-align: center;\n  margin: 0;\n  min-height: 1em;\n}\n.signin-card.no-name #profile-name {\n  display: none;\n}\n.signin-card.no-name #email-display {\n  line-height: initial;\n  margin-bottom: 16px;\n}\n.signin-card #email-display {\n  display: block;\n  padding: 0px 8px;\n  color: rgb(64, 64, 64);\n  line-height: 2;\n  margin-bottom: 10px;\n  font-size: 14px;\n  text-align: center;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.signin-card #Email {\n  margin-top: 16px;\n}\n.need-help {\n  float: right;\n  text-align: right;\n}\n.form-panel {\n  width: 274px;\n}\n#gaia_firstform {\n  z-index: 2;\n}\n.signin-card {\n  position: relative;\n  overflow: hidden;\n}\n.signin-card #profile-name {\n  color: #000;\n}\n.circle-mask {\n  display: block;\n  height: 96px;\n  width: 96px;\n  overflow: hidden;\n  border-radius: 50%;\n  margin-left: auto;\n  margin-right: auto;\n  z-index: 100;\n  margin-bottom: 10px;\n}\n.circle {\n  -webkit-transition-property: -webkit-transform;\n  -moz-transition-property: -moz-transform;\n  -ms-transition-property: -ms-transform;\n  -o-transition-property: -o-transform;\n  transition-property: transform;\n  -webkit-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -moz-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -ms-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  -o-transition-timing-function: cubic-bezier(.645,.045,.355,1);\n  transition-timing-function: cubic-bezier(.645,.045,.355,1);\n}\n.circle {\n  position: absolute;\n  z-index: 101;\n  height: 96px;\n  width: 96px;\n  border-radius: 50%;\n  opacity: 0.99;\n  overflow: hidden;\n  background-repeat: no-repeat;\n  background-position: center center;\n}\n.main {\n  overflow: hidden;\n}\n.card-mask-wrap {\n  position: relative;\n  width: 360px;\n  margin: 0 auto;\n  z-index: 1;\n}\n.dasher-tooltip {\n  position: absolute;\n  left: 50%;\n  margin-left: 150px;\n}\n.dasher-tooltip .tooltip-pointer {\n  margin-top: 15px;\n}\n.dasher-tooltip p {\n  margin-top: 0;\n}\n.dasher-tooltip p span {\n  display: block;\n}\n.card {\n  margin-bottom: 0;\n}\n.one-google {\n  padding-top: 27px;\n}\n#canvas {\n  -webkit-transition: opacity 0.075s;\n  -moz-transition: opacity 0.075s;\n  -ms-transition: opacity 0.075s;\n  -o-transition: opacity 0.075s;\n  transition: opacity 0.075s;\n  opacity: 0.01;\n}\n.shift-form #canvas {\n  opacity: 0.99;\n}\n.label {\n  color: #404040;\n}\n#account-chooser-link {\n  -webkit-transition: opacity 0.3s;\n  -moz-transition: opacity 0.3s;\n  -ms-transition: opacity 0.3s;\n  -o-transition: opacity 0.3s;\n  transition: opacity 0.3s;\n}\n.input-wrapper {\n  position: relative;\n}\n.google-footer-bar {\n  z-index: 2;\n}\n</style>\n<style media="">\n.back-arrow {\n  top: 17px;\n}\n.circle-mask {\n  height: 72px;\n  width: 72px;\n  background-size: 72px;\n}\n.circle {\n  height: 72px;\n  width: 72px;\n}\n#canvas {\n  height: 72px;\n  width: 72px;\n}\n.form-panel {\n  width: 256px;\n}\n.card-mask-wrap {\n  width: 300px;\n}\n.signin-card {\n  width: 256px;\n}\n.signin-card #EmailFirst {\n  margin-top: 15px;\n}\n.one-google {\n  padding-top: 22px;\n}\n</style>\n  </head>\n  <body>\n  <div class="wrapper">\n  <div  class="google-header-bar  centered">\n  <div class="header content clearfix">\n  <div class="logo logo-w" aria-label="Google"></div>\n  </div>\n  </div>\n  <div  class="main content clearfix">\n<div class="banner">\n  <h2>\n  \xd0\xa3\xd0\xb2\xd1\x96\xd0\xb9\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c, \xd0\xb2\xd0\xb8\xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xbe\xd0\xb2\xd1\x83\xd1\x8e\xd1\x87\xd0\xb8 \xd0\xb4\xd0\xb0\xd0\xbd\xd1\x96 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xbe\xd0\xb3\xd0\xbe \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd1\x83 Google\n  </h2>\n</div>\n<div class="main-content \n  \n  \n    no-name\n  \n  \n  \n">\n<div  class="card signin-card\n  \n    pre-shift\n  \n  \n  \n   no-name">\n  <img  class="circle-mask"\n      \n        \n          src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"\n        \n      >\n  <form novalidate method="post" action="https://accounts.google.com/signin/v1/lookup" id="gaia_loginform">\n  <input name="Page" type="hidden" value="PasswordSeparationSignIn">\n  <input type="hidden" name="GALX" value="1OBOoCUyb10">\n  <input type="hidden" name="gxf" value="AFoagUWPwfN9puRXfKShWA3ZsK8n3sBJ7w:1586952131125">\n  <input type="hidden" name="continue" value="https://accounts.google.com/o/saml2/initsso?idpid=C03bq2iwp&amp;spid=957518930669&amp;forceauthn=false&amp;from_login=1&amp;as=sAGgeAHjWrJFSQp0XnNpcA">\n  <input type="hidden" name="ltmpl" value="popup">\n  <input type="hidden" name="scc" value="1">\n  <input type="hidden" name="sarp" value="1">\n  <input type="hidden" name="checkedDomains" value="youtube">\n  <input type="hidden" name="checkConnection" value="">\n  <input type="hidden" name="pstMsg" value="0">\n  <input type="hidden" name="oauth" value="1">\n  <input id="profile-information" name="ProfileInformation" type="hidden" value="">\n  <input id="session-state" name="SessionState" type="hidden" value="">\n  <input type="hidden" id="_utf8" name="_utf8" value="&#9731;"/>\n  <input type="hidden" name="bgresponse" id="bgresponse" value="js_disabled">\n  <div class="form-panel first valid" id="gaia_firstform">\n  <div  class="slide-out ">\n  <div class="input-wrapper focused">\n  <div id="identifier-shown">\n  <div>\n  <label  class="hidden-label" for="Email">\n  \xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb5\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xbd\xd0\xbd\xd1\x83 \xd0\xb0\xd0\xb4\xd1\x80\xd0\xb5\xd1\x81\xd1\x83</label>\n  <input  id="Email" type="email" value="vasyl@rxdefine.com" spellcheck="false"\n                   name="Email"\n                   \n                     placeholder="\xd0\x95\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xbe\xd0\xbd\xd0\xbd\xd0\xb0 \xd0\xb0\xd0\xb4\xd1\x80\xd0\xb5\xd1\x81\xd0\xb0 \xd1\x87\xd0\xb8 \xd0\xbd\xd0\xbe\xd0\xbc\xd0\xb5\xd1\x80 \xd1\x82\xd0\xb5\xd0\xbb\xd0\xb5\xd1\x84\xd0\xbe\xd0\xbd\xd1\x83"\n                   \n                   \n                   \n                   autofocus>\n  <input id="Passwd-hidden" type="password" spellcheck="false" class="hidden">\n  </div>\n  </div>\n  <span role="alert" class="error-msg" id="errormsg_0_Email"></span>\n  </div>\n<div   id="identifier-captcha">\n<input type="hidden" name="identifiertoken" id="identifier-token" value="AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU">\n<input type="hidden" name="identifiertoken_audio" id="identifier-token-audio">\n<div class="audio-box">\n  <div id="playIdentifierAudio"></div>\n</div>\n<div id="captcha-box" class="captcha-box">\n  <div id="captcha-img" class="captcha-img" data-alt-text="\xd0\x92\xd1\x96\xd0\xb7\xd1\x83\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xb0 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb2\xd1\x96\xd1\x80\xd0\xba\xd0\xb0">\n  <img src="/Captcha?v=2&amp;ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU"\n           alt="\xd0\x92\xd1\x96\xd0\xb7\xd1\x83\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xb0 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb2\xd1\x96\xd1\x80\xd0\xba\xd0\xb0">\n  </div>\n  <span class="captcha-msg">\n  \xd0\x9b\xd1\x96\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8 \xd0\xbd\xd0\xb5 \xd1\x87\xd1\x83\xd1\x82\xd0\xbb\xd0\xb8\xd0\xb2\xd1\x96 \xd0\xb4\xd0\xbe \xd1\x80\xd0\xb5\xd0\xb3\xd1\x96\xd1\x81\xd1\x82\xd1\x80\xd1\x83\n  <a id="captcha-play-identifier" href="#">\n  <img src="https://accounts.google.com/accessibility.gif"\n             class="accessibility-logo"\n             alt="/Captcha?v=2&amp;kind=audio&amp;ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU">\n  </a>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  document.getElementById(\'captcha-play-identifier\').onclick = function() {\n  playIdentifierCaptcha();\n  return false;\n  };\n  </script>\n  </span>\n</div>\n<label  for="identifier-captcha-input"\n    \n      class="hidden-label"\n    ></label>\n<input type="text"\n       id="identifier-captcha-input"\n       name="identifier-captcha-input"\n       class="captcha"\n       placeholder="\xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb7\xd0\xbe\xd0\xb1\xd1\x80\xd0\xb0\xd0\xb6\xd0\xb5\xd0\xbd\xd1\x96 \xd0\xb2\xd0\xb8\xd1\x89\xd0\xb5 \xd0\xbb\xd1\x96\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8"\n       title="\xd0\x92\xd0\xb2\xd0\xb5\xd0\xb4\xd1\x96\xd1\x82\xd1\x8c \xd0\xb7\xd0\xbe\xd0\xb1\xd1\x80\xd0\xb0\xd0\xb6\xd0\xb5\xd0\xbd\xd1\x96 \xd1\x81\xd0\xb8\xd0\xbc\xd0\xb2\xd0\xbe\xd0\xbb\xd0\xb8 \xd0\xb0\xd0\xb1\xd0\xbe \xd0\xbf\xd0\xbe\xd1\x87\xd1\x83\xd1\x82\xd1\x96 \xd1\x86\xd0\xb8\xd1\x84\xd1\x80\xd0\xb8">\n</div>\n<input id="next" name="signIn" class="rc-button rc-button-submit" type="submit" value="\xd0\x94\xd0\xb0\xd0\xbb\xd1\x96">\n  <a  class="need-help"\n          href="https://accounts.google.com/signin/usernamerecovery?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;sarp=1&amp;scc=1&amp;checkedDomains=youtube&amp;pstMsg=0&amp;oauth=1&amp;hl=en">\n  \xd0\x97\xd0\xbd\xd0\xb0\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xbc\xd1\x96\xd0\xb9 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </div>\n  </div>\n  </form>\n</div>\n  <div  class="card-mask-wrap\n    \n         has-captcha\n     no-name">\n  <div class="card-mask">\n  <div class="one-google">\n  <p class="create-account">\n  <span id="link-signin-different">\n  <a href="https://accounts.google.com/AccountChooser?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;hl=uk&amp;scc=1">\n  \xd0\xa3\xd0\xb2\xd1\x96\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xb2 \xd1\x96\xd0\xbd\xd1\x88\xd0\xb8\xd0\xb9 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </span>\n  <span id="link-signup">\n  <a  href="https://accounts.google.com/SignUp?continue=https%3A%2F%2Faccounts.google.com%2Fo%2Fsaml2%2Finitsso%3Fidpid%3DC03bq2iwp%26spid%3D957518930669%26forceauthn%3Dfalse%26from_login%3D1%26as%3DsAGgeAHjWrJFSQp0XnNpcA&amp;ltmpl=popup#RecoveryEmailAddress=vasyl%40rxdefine.com">\n  \xd0\xa1\xd1\x82\xd0\xb2\xd0\xbe\xd1\x80\xd0\xb8\xd1\x82\xd0\xb8 \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\n  </a>\n  </span>\n  </p>\n<p class="tagline">\n  \xd0\x9e\xd0\xb4\xd0\xb8\xd0\xbd \xd0\xbe\xd0\xb1\xd0\xbb\xd1\x96\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb8\xd0\xb9 \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81 Google \xd0\xb4\xd0\xbb\xd1\x8f \xd0\xb2\xd1\x81\xd1\x96\xd1\x85 \xd1\x81\xd0\xbb\xd1\x83\xd0\xb6\xd0\xb1 Google\n</p>\n<div class="logo-strip"></div>\n  </div>\n  </div>\n  </div>\n</div>\n  </div>\n  <div  class="google-footer-bar">\n  <div class="footer content clearfix">\n  <ul id="footer-list">\n  <li>\n  <a href="https://www.google.com/intl/uk/about" target="_blank">\n  \xd0\x9f\xd1\x80\xd0\xbe Google\n  </a>\n  </li>\n  <li>\n  <a href="https://accounts.google.com/TOS?loc=UA&hl=uk&privacy=true" target="_blank">\n  \xd0\x9a\xd0\xbe\xd0\xbd\xd1\x84\xd1\x96\xd0\xb4\xd0\xb5\xd0\xbd\xd1\x86\xd1\x96\xd0\xb9\xd0\xbd\xd1\x96\xd1\x81\xd1\x82\xd1\x8c\n  </a>\n  </li>\n  <li>\n  <a href="https://accounts.google.com/TOS?loc=UA&hl=uk" target="_blank">\n  \xd0\xa3\xd0\xbc\xd0\xbe\xd0\xb2\xd0\xb8 \xd0\xb2\xd0\xb8\xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x81\xd1\x82\xd0\xb0\xd0\xbd\xd0\xbd\xd1\x8f\n  </a>\n  </li>\n  <li>\n  <a href="http://www.google.com/support/accounts?hl=uk" target="_blank">\n  \xd0\x94\xd0\xbe\xd0\xb2\xd1\x96\xd0\xb4\xd0\xba\xd0\xb0\n  </a>\n  </li>\n  </ul>\n  </div>\n</div>\n  </div>\n<script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  var gaia_attachEvent = function(element, event, callback) {\n  if (element && element.addEventListener) {\n  element.addEventListener(event, callback, false);\n  } else if (element && element.attachEvent) {\n  element.attachEvent(\'on\' + event, callback);\n  }\n  };\n</script>\n<script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\nfunction playIdentifierCaptcha() {\n  function canPlayAudioWithHtml() {\n  var audio = document.createElement(\'audio\');\n  return audio.canPlayType && audio.canPlayType(\'audio/x-wav\');\n  }\n  var wavURL = \'\\x2FCaptcha?v=2\\x26kind=audio\\x26ctoken=AAWk9lR3poC5B8wfQr5w9mWRkFx4wrkkySiGQ8So1YgQH5wn3BEh6zCROKHIIY1g6LkRRq67DijL4zW-jWgY0kGBecSsv8qP1v7945bP6K6dZqmwEOFrLkfQOxxK5v1wQhatRbgxF7Z31iUEoJm3nR_A0dtKZ_PiMCSSTuyF6xyYKYHL0NDKtpU\';\n  var audioCode;\n  if (canPlayAudioWithHtml()) {\n  audioCode = \'<audio src=\' + wavURL + \' autoplay="autoplay">\';\n  } else {\n  audioCode = \'<embed src=\' + wavURL + \' hidden="true" autostart="true" >\';\n  }\n  document.getElementById(\'playIdentifierAudio\').innerHTML = audioCode;\n  document.getElementById(\'identifier-captcha-input\').value = \'\';\n  document.getElementById(\'identifier-captcha-input\').focus();\n}\n</script>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">/* Anti-spam. Want to say hello? Contact (base64) Ym90Z3VhcmQtY29udGFjdEBnb29nbGUuY29t */Function(\'var nG=function(n,U){function h(){}(n.prototype=new (n.N=(h.prototype=U.prototype,U.prototype),h),n).prototype.constructor=n},h4=function(n,U,h,X,e){for(X=(U=[],h=0);X<n.length;X++)e=n.charCodeAt(X),128>e?U[h++]=e:(2048>e?U[h++]=e>>6|192:(55296==(e&64512)&&X+1<n.length&&56320==(n.charCodeAt(X+1)&64512)?(e=65536+((e&1023)<<10)+(n.charCodeAt(++X)&1023),U[h++]=e>>18|240,U[h++]=e>>12&63|128):U[h++]=e>>12|224,U[h++]=e>>6&63|128),U[h++]=e&63|128);return U},v,f=function(n,U,h){if((U=typeof n,"object")==U)if(n){if(n instanceof Array)return"array";if(n instanceof Object)return U;if((h=Object.prototype.toString.call(n),"[object Window]")==h)return"object";if("[object Array]"==h||"number"==typeof n.length&&"undefined"!=typeof n.splice&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("splice"))return"array";if("[object Function]"==h||"undefined"!=typeof n.call&&"undefined"!=typeof n.propertyIsEnumerable&&!n.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==U&&"undefined"==typeof n.call)return"object";return U},D=function(n,U){return"object"==(U=typeof n,U)&&null!=n||"function"==U},l=this||self,Uc=function(n){for(n=0;64>n;++n)W[n]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n),m["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n)]=n;m[m["/"]=((W[64]="",m)["+"]=62,63),"="]=64},MM=function(){},I=function(n,U){return U<n?-1:U>n?1:0},x,m={},W={},Xs=function(n){return/^[\\\\s\\\\xa0]*([\\\\s\\\\S]*?)[\\\\s\\\\xa0]*$/.exec(n)[1]};a:{var el=l.navigator;if(el){var LG=el.userAgent;if(LG){x=LG;break a}}x=""}var pG=function(n){return(n=l.document)?n.documentMode:void 0},w="",iV=function(n,U,h){return(h=gW,Object.prototype.hasOwnProperty.call(h,n))?h[n]:h[n]=U(n)},ab=function(n,U,h){for(h in U)if(n.call(void 0,U[h],h,U))return true;return false},C=/\\\\b(?:MSIE|rv)[: ]([^\\\\);]+)(\\\\)|;)/.exec(x),vk=(C&&(w=C?C[1]:""),pG()),fG=null!=vk&&vk>parseFloat(w)?String(vk):w,Hk,gW={};if(l.document){var kW=pG();Hk=kW?kW:parseInt(fG,10)||void 0}else Hk=void 0;var V4=9<=Number(Hk),Dv=!function(n){return iV(n,function(U,h,X,e,g,M,L){for(e=(h=Xs(String(fG)).split((X=Xs(String(n)).split("."),".")),U=0,Math.max(h.length,X.length)),g=0;0==U&&g<e;g++){M=h[L=X[g]||"",g]||"";do{if(0==(M=(L=/(\\\\d*)(\\\\D*)(.*)/.exec(L)||["","","",""],/(\\\\d*)(\\\\D*)(.*)/.exec(M)||["","","",""]),M[0].length)&&0==L[0].length)break;L=(M=M[U=I(0==L[1].length?0:parseInt(L[1],10),0==M[1].length?0:parseInt(M[1],10))||I(0==L[2].length,0==M[2].length)||I(L[2],M[2]),3],L)[3]}while(0==U)}return 0<=U})}("9"),Oc=function(n,U){if(!l.addEventListener||!Object.defineProperty)return false;U=(n=false,Object).defineProperty({},"passive",{get:function(){n=true}});try{l.addEventListener("test",MM,U),l.removeEventListener("test",MM,U)}catch(h){}return n}(),t=function(n,U){(this.type=n,this).currentTarget=(this.defaultPrevented=false,this).target=U},A=(t.prototype.stopPropagation=(t.prototype.preventDefault=function(){this.defaultPrevented=true},function(){}),function(n,U,h,X){this.G=((this.pointerId=(this.state=(this.metaKey=this.shiftKey=this.altKey=(this.charCode=(this.button=this.screenY=this.screenX=(t.call(this,n?n.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.clientY=this.clientX=this.offsetY=this.offsetX=0),this.key="",this.keyCode=0),this.ctrlKey=false),null),0),this).pointerType="",null),n&&(h=this.type=n.type,X=n.changedTouches&&n.changedTouches.length?n.changedTouches[0]:null,this.target=n.target||n.srcElement,this.currentTarget=U,U=n.relatedTarget,U||("mouseover"==h?U=n.fromElement:"mouseout"==h&&(U=n.toElement)),this.relatedTarget=U,X?(this.clientX=void 0!==X.clientX?X.clientX:X.pageX,this.clientY=void 0!==X.clientY?X.clientY:X.pageY,this.screenX=X.screenX||0,this.screenY=X.screenY||0):(this.offsetX=void 0!==n.offsetX?n.offsetX:n.layerX,this.offsetY=void 0!==n.offsetY?n.offsetY:n.layerY,this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0),this.button=n.button,this.keyCode=n.keyCode||0,this.key=n.key||"",this.charCode=n.charCode||("keypress"==h?n.keyCode:0),this.ctrlKey=n.ctrlKey,this.altKey=n.altKey,this.shiftKey=n.shiftKey,this.metaKey=n.metaKey,this.pointerId=n.pointerId||0,this.pointerType="string"===typeof n.pointerType?n.pointerType:lV[n.pointerType]||"",this.state=n.state,this.G=n,n.defaultPrevented&&this.preventDefault())}),lV={2:(nG(A,t),"touch"),3:"pen",4:"mouse"},B="closure_listenable_"+((A.prototype.preventDefault=function(n){if((A.N.preventDefault.call(this),n=this.G,n).preventDefault)n.preventDefault();else if(n.returnValue=false,Dv)try{if(n.ctrlKey||112<=n.keyCode&&123>=n.keyCode)n.keyCode=-1}catch(U){}},A).prototype.stopPropagation=function(){(A.N.stopPropagation.call(this),this).G.stopPropagation?this.G.stopPropagation():this.G.cancelBubble=true},1E6*Math.random()|0),Y=function(n){(this.A={},this.src=n,this).C=0},uV=0,xW=function(n,U,h,X,e){this.capture=(this.key=++uV,this.listener=(this.type=(this.J=this.S=false,h),this.src=U,this.X=(this.O=n,null),e),!!X)},wW=function(n){(n.O=null,n.src=null,n).X=null,n.listener=null,n.J=true},CG=(Y.prototype.remove=(Y.prototype.hasListener=function(n,U,h,X,e){return ab(function(g,M){for(M=0;M<g.length;++M)if(!(h&&g[M].type!=X||e&&g[M].capture!=U))return true;return false},(X=(e=void 0!==U,h=void 0!==n)?n.toString():"",this.A))},Y.prototype.add=function(n,U,h,X,e,g,M){return-1<(M=CG(e,(n=(g=n.toString(),this.A[g]),n||(n=this.A[g]=[],this.C++),X),n,U),M)?(U=n[M],h||(U.S=false)):(U=new xW(e,this.src,g,!!X,U),U.S=h,n.push(U)),U},function(n,U,h,X,e){if(!(n=n.toString(),n in this.A))return false;return-1<(U=CG(X,h,(e=this.A[n],e),U),U)?(wW(e[U]),Array.prototype.splice.call(e,U,1),0==e.length&&(delete this.A[n],this.C--),true):false}),function(n,U,h,X,e,g){for(e=0;e<h.length;++e)if(g=h[e],!g.J&&g.listener==X&&g.capture==!!U&&g.O==n)return e;return-1}),t4="closure_lm_"+(1E6*Math.random()|0),Ec=function(n,U,h,X){if(n.J)return true;if(!V4){if(!U)a:{for(X=(U=["window","event"],0),h=l;X<U.length;X++)if(h=h[U[X]],null==h){U=null;break a}U=h}return U=new A(U,this),A4(n,U)}return A4(n,new A(U,this))},ob=function(n,U,h,X,e,g,M){if("number"!==typeof n&&n&&!n.J)if((U=n.src)&&U[B])U.$I(n);else if(h=n.type,X=n.X,U.removeEventListener?U.removeEventListener(h,X,n.capture):U.detachEvent?U.detachEvent(Bk(h),X):U.addListener&&U.removeListener&&U.removeListener(X),YW--,h=J4(U)){if((X=n.type,X)in h.A){e=h.A[X];b:if("string"===typeof e)g="string"!==typeof n||1!=n.length?-1:e.indexOf(n,0);else{for(g=0;g<e.length;g++)if(g in e&&e[g]===n)break b;g=-1}((M=0<=g)&&Array.prototype.splice.call(e,g,1),M)&&(wW(n),0==h.A[X].length&&(delete h.A[X],h.C--))}0==h.C&&(h.src=null,U[t4]=null)}else wW(n)},J4=function(n){return n=n[t4],n instanceof Y?n:null},Rb=function(n,U,h,X,e,g){if(X&&X.once)dW(h,e,X,n,U);else if(Array.isArray(U))for(g=0;g<U.length;g++)Rb(n,U[g],h,X,e);else n=Zv(n),h&&h[B]?h.Dr(U,n,D(X)?!!X.capture:!!X,e):zG(h,X,e,U,false,n)},zG=function(n,U,h,X,e,g,M,L){if(!X)throw Error("Invalid event type");if(M=D(U)?!!U.capture:!!U,!M||V4)if((L=J4(n))||(n[t4]=L=new Y(n)),h=L.add(X,g,e,M,h),!h.X){if((((e=Fs(),h).X=e,e).src=n,e).listener=h,n.addEventListener)Oc||(U=M),void 0===U&&(U=false),n.addEventListener(X.toString(),e,U);else if(n.attachEvent)n.attachEvent(Bk(X.toString()),e);else if(n.addListener&&n.removeListener)n.addListener(e);else throw Error("addEventListener and attachEvent are unavailable.");YW++}},ck={},Bk=function(n){return n in ck?ck[n]:ck[n]="on"+n},bV=function(n,U,h,X,e,g){if(Array.isArray(h))for(g=0;g<h.length;g++)bV(n,U,h[g],X,e);else(X=D(X)?!!X.capture:!!X,U=Zv(U),n&&n[B])?n.jL(h,U,X,e):n&&(n=J4(n))&&(h=n.A[h.toString()],n=-1,h&&(n=CG(e,X,h,U)),(U=-1<n?h[n]:null)&&ob(U))},YW=0,dW=function(n,U,h,X,e,g){if(Array.isArray(e))for(g=0;g<e.length;g++)dW(n,U,h,X,e[g]);else X=Zv(X),n&&n[B]?n.fU(e,X,D(h)?!!h.capture:!!h,U):zG(n,h,U,e,true,X)},A4=function(n,U,h,X){return X=(h=n.listener,n.O||n.src),n.S&&ob(n),h.call(X,U)},Fs=function(n,U){return U=(n=Ec,V4?function(h){return n.call(U.src,U.listener,h)}:function(h){if(h=n.call(U.src,U.listener,h),!h)return h})},Pk="__closure_events_fn_"+(1E9*Math.random()>>>0),TG=function(n,U,h,X,e){if(h=(n.B=false,U[0]),h==y4)n.U=25,n.L(U);else if(h==sc){h=U[X=U[1],3];try{e=n.L(U)}catch(g){J(g,n),e=n.o}(X&&X(e),h).push(e)}else if(h==NM)n.L(U);else if(h==rW)n.L(U);else if(h==qM){try{for(e=0;e<n.a.length;e++)try{X=n.a[e],X[0][X[1]](X[2])}catch(g){}}catch(g){}(0,(n.a=[],U)[1])()}else if(h==Sl)return e=U[2],X=U[6],d(139,n,U[4]?[X[0].G]:X),d(165,n,e),n.L(U)},Sl={},Zv=function(n){if("function"==f(n))return n;return n[n[Pk]||(n[Pk]=function(U){return n.handleEvent(U)}),Pk]},GG=function(n,U){((n.H.push(n.W.slice()),n).W[109]=void 0,d)(109,n,U)},Q4=function(n,U){return n[U]<<24|n[U+1]<<16|n[U+2]<<8|n[U+3]},R=function(n,U){n.R.splice(0,0,U)},b=function(n,U,h,X,e){if(0!=h.R.length){if(e=0==h.I)h.g=h.F();return U=$W(X,U,h),e&&(e=h.F()-h.g,e<(n?10:0)||0>=h.U--||h.A8.push(254>=e?e:254)),U}},P=function(n,U,h){if(0>=h.Z||1<h.I||!h.B&&U||0!=document.hidden||h.F()-h.g<h.Z-n)return false;return!((h.l=true,n=h.P(U?55:109),d(109,h,h.h),h).R.push([NM,n]),0)},r=function(n,U,h,X,e){if(3<(X=(0==(void 0!=(U=[(e=n.P(55)>>3,U),e>>8&255,e&255],X)&&U.push(X),n.P(50).length)&&(n.W[50]=void 0,d(50,n,U)),""),h&&(h.message&&(X+=h.message),h.stack&&(X+=":"+h.stack)),h=n.P(115),h)){n.M=(U=(X=(h-=(X=X.slice(0,h-3),X.length+3),h4)(X.replace(/\\\\r\\\\n/g,"\\\\n")),n).M,n);try{y(252,n,N(X.length,2).concat(X),12)}finally{n.M=U}}d(115,n,h)},y4={},$W=function(n,U,h,X,e){for(;h.R.length;){if(n=n&&U)h.Z&&h.l?(n=0!=document.hidden?false:true,h.l=false):n=false;if(n){h.Go((e=h,function(){b(false,U,e,false)}));break}X=(X=(n=true,h.R.pop()),TG(h,X))}return X},qM={},jl=function(n,U,h,X){for(X=(h=S(U),0);0<n;n--)X=X<<8|S(U);d(h,U,X)},T=["botguard"],G=function(n,U){try{KG(U,n,this)}catch(h){J(h,this)}},nw=((G.prototype.i="caller",G.prototype).f=(G.prototype.Pb=36,function(n){return(n=n().shift(),this).K().length||this.D().length||(this.D=this.K=void 0,this.I--),n}),(G.prototype.Mi=function(n,U,h,X,e,g){if(this.o)return this.o;try{X=!!n,g=[],e=[],R(this,[y4,e,U]),R(this,[sc,n,e,g]),b(false,X,this,true),h=g[0]}catch(M){J(M,this),h=this.o,n&&n(h)}return h},G.prototype).L=function(n,U,h,X,e,g,M,L,p,a){if(U=n[0],U==rW){h=n[1];try{for(X=(e=0,[]);e<h.length;){if((p=(M=(g=m[h.charAt(e++)],e)<h.length?m[h.charAt(e)]:0,++e,L=e<h.length?m[h.charAt(e)]:64,++e,e<h.length?m[h.charAt(e)]:64),++e,null==g||null==M)||null==L||null==p)throw Error();X.push(g<<2|M>>4),64!=L&&(X.push(M<<4&240|L>>2),64!=p&&X.push(L<<6&192|p))}this.h=(this.c=X,this.c.length<<3)}catch(H){r(this,17,H)}Lw(this)}else if(U==y4)g=n[1],g.push(this.P(7).length,this.P(252).length,this.P(10).length,this.P(115)),d(165,this,n[2]),this.W[196]&&pw(this,this.P(196));else{if(U==sc){this.M=(L=N((g=n[2],this.P(7).length+2),2),M=this.M,this);try{h=this.P(50),0<h.length&&y(7,this,N(h.length,2).concat(h),15),X=this.P(221)&511,X-=this.P(7).length+5,e=this.P(252),4<e.length&&(X-=e.length+3),0<X&&y(7,this,N(X,2).concat(Mg(X)),10),4<e.length&&y(7,this,N(e.length,2).concat(e),153)}finally{this.M=M}for(L=(p=(((M=Mg(2).concat(this.P(7)),M)[1]=M[0]^3,M)[3]=M[1]^L[0],M[4]=M[1]^L[1],0),[]);p<M.length;p+=3)U=M[p],a=(h=p+1<M.length)?M[p+1]:0,n=(X=p+2<M.length)?M[p+2]:0,e=U>>2,U=(U&3)<<4|a>>4,a=(a&15)<<2|n>>6,n&=63,X||(n=64,h||(a=64)),L.push(W[e],W[U],W[a],W[n]);if(L=L.join(""))L="!"+L;else for(L="",p=0;p<M.length;p++)h=M[p][this.T](16),1==h.length&&(h="0"+h),L+=h;return(this.P((M=L,7)).length=g[0],this.P(252).length=g[1],this.P(10)).length=g[2],d(115,this,g[3]),M}if(U==NM)pw(this,n[1]);else if(U==Sl)return pw(this,n[1])}},function(n,U,h,X,e,g){for(g=((h=(U={},S(n)),U).Y=S(n),U.m=[],X=n.M==n?S(n)-1:1,e=S(n),0);g<X;g++)U.m.push(S(n));for((U.w=n.P(h),U).V=n.P(e);X--;)U.m[X]=n.P(U.m[X]);return U}),rW={},hM=function(n,U,h,X,e,g){return function(){if(U.M==U){var M=h&1,L=[Sl,X,n,void 0,e,g,arguments];if(h&2)var p=b(true,false,(R(U,L),U),false);else M&&U.R.length?R(U,L):M?(R(U,L),b(true,false,U,false)):p=TG(U,L);return p}}},KG=function(n,U,h,X,e,g){for(h.I=(e=(h.A8=[],h.K=(h.D=void 0,void 0),(h.Z=0,h.l=!(X=[],h.B=(h.v=function(M,L,p,a,H,k){return((k=(H=(p=(a=function(){return a[p.uw+(H[p.i]===L)-!k[p.i]]},this),function(){return a()}),p).L,H)[p.T]=function(V){a[p.Pb]=V},H)[p.T](M),M=H},false),1),h).mT=function(M,L,p){return L=function(){return p()},p=function(){return M},L[this.T]=function(a){M=a},L},h.U=25,0),0);128>e;e++)X[e]=String.fromCharCode(e);(((g=((((((((((h.R=((((((((e=(((((d(((h.M=(h.W=[],h.a=[],h),h).To=function(M){this.M=M},109),h,0),d)(55,h,0),d)(10,h,[]),d(14,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S)(M),d)(a,M,M.P(L)>>p)}),d(122,h,function(M,L,p){0!=(L=S(M),p=S(M),M.P(L))&&d(109,M,M.P(p))}),d(76,h,function(M){U2(4,M)}),d(241,h,function(M,L){(M=(L=S(M),M).P(L),bV)(M[0],M[2],M[1])}),d(237,h,function(M,L,p){P(5,true,M)||(L=S(M),p=S(M),d(p,M,function(a){return eval(a)}(M.P(L))))}),d)(148,h,257),d(85,h,function(M){jl(4,M)}),d(13,h,function(M){U2(1,M)}),d)(18,h,function(M){jl(2,M)}),U.s||function(){}),d)(252,h,Mg(4)),d(232,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),H=L.w,a=L.V,p=L.m,V=p.length,0==V?k=a[H]():1==V?k=a[H](p[0]):2==V?k=a[H](p[0],p[1]):3==V?k=a[H](p[0],p[1],p[2]):r(M,22),d(L.Y,M,k))}),d(253,h,function(M,L){GG((L=M.P(S(M)),M),L)}),d)(181,h,function(M,L,p,a){if(L=M.H.pop()){for(p=S(M);0<p;p--)a=S(M),L[a]=M.W[a];M.W=(L[115]=M.W[L[50]=M.W[50],115],L)}else d(109,M,M.h)}),d)(225,h,function(M,L,p,a){a=(L=S(M),p=S(M),S)(M),d(a,M,M.P(L)||M.P(p))}),d)(165,h,{}),d(221,h,0),d)(167,h,function(){}),d)(49,h,[0,0,0]),d(105,h,function(M,L,p,a){a=(p=(L=S(M),S(M)),S(M)),d(a,M,(M.P(L)in M.P(p))+0)}),d)(50,h,[]),d(142,h,function(M,L,p,a,H,k,V,Z,z,O,Wk,q,mb){for(O=z=(Z=(V=(k=(a=p=(L=S(M),0),H=function(u,E){for(;a<u;)p|=S(M)<<a,a+=8;return p>>=(E=p&(1<<(a-=u,u))-1,u),E},H)(3)+1,H(5)),[]),0);O<V;O++)Wk=H(1),Z.push(Wk),z+=Wk?0:1;for(z=(z-1).toString((O=0,2)).length,q=[];O<V;O++)Z[O]||(q[O]=H(z));for(O=0;O<V;O++)Z[O]&&(q[O]=S(M));for(O=(mb=[],k);O--;)mb.push(M.P(S(M)));d(L,M,function(u,E,Ib,F,c){for(Ib=(E=(F=(u.I++,0),[]),[]);F<V;F++){if(c=q[F],!Z[F]){for(;c>=E.length;)E.push(S(u));c=E[c]}Ib.push(c)}u.D=(u.K=u.v(mb.slice(),u.f),u.v(Ib,u.f))})}),[]),d(209,h,function(M){jl(1,M)}),d)(158,h,function(M,L){P(5,true,M)||(L=nw(M),d(L.Y,M,L.w.apply(L.V,L.m)))}),d(72,h,function(M,L,p,a,H,k,V){P(5,true,M)||(L=nw(M),p=L.m,a=L.V,H=L.w,V=p.length,0==V?k=new a[H]:1==V?k=new a[H](p[0]):2==V?k=new a[H](p[0],p[1]):3==V?k=new a[H](p[0],p[1],p[2]):4==V?k=new a[H](p[0],p[1],p[2],p[3]):r(M,22),d(L.Y,M,k))}),d(11,h,function(M,L,p){(p=(L=S(M),S(M)),d)(p,M,M.P(p)+M.P(L))}),d)(7,h,[165,0,0]),d(74,h,function(M,L,p,a,H,k){if(!P(255,true,M)){if(M=(a=(L=(H=(a=(L=S(M),p=S(M),S(M)),S(M)),M.P(L)),p=M.P(p),M.P(a)),M).P(H),"object"==f(L)){for(k in H=[],L)H.push(k);L=H}for(a=(k=L.length,H=0,0<a?a:1);H<k;H+=a)p(L.slice(H,H+a),M)}}),d(218,h,function(M,L,p){L=(p=(L=S(M),S)(M),M.P(L)),d(p,M,f(L))}),d)(41,h,function(M,L,p,a,H,k,V){if((p=Xp((L=S(M),M)),a="",M).W[99])for(H=M.P(99),k=0,V=H.length;p--;)k=(k+Xp(M))%V,a+=X[H[k]];else for(;p--;)a+=X[S(M)];d(L,M,a)}),d(166,h,function(M,L,p,a){L=(a=(p=(L=S(M),S(M)),S(M)),M).P(L)==M.P(p),d(a,M,+L)}),d(227,h,l),d(103,h,function(M,L,p,a){(a=(p=(L=S(M),S(M)),S(M)),M).M==M&&(M.P(L)[M.P(p)]=M.P(a),53==L&&(M.j=void 0,2==M.P(p)&&(M.$=void 0,d(109,M,M.P(109)+32))))}),d(157,h,function(M){M.Wb(4)}),h).H=[],d(53,h,[0,0,0]),d(182,h,h),d)(54,h,function(M,L,p){(p=(L=S(M),S)(M),d)(p,M,""+M.P(L))}),d)(51,h,function(M,L,p){L=(p=(L=S(M),S)(M),M).W[L]&&M.P(L),d(p,M,L)}),d(140,h,function(M,L,p,a){p=(p=(L=S(M),S(M)),a=S(M),M).P(p),L=M.P(L),d(a,M,L[p])}),d)(115,h,2048),h.Iz=function(M,L){(L.push(M[0]<<24|M[1]<<16|M[2]<<8|M[3]),L).push(M[4]<<24|M[5]<<16|M[6]<<8|M[7]),L.push(M[8]<<24|M[9]<<16|M[10]<<8|M[11])},d(112,h,function(M,L,p,a,H){H=(p=(L=S(M),S(M)),a=M.P(S(M)),M.P(S(M))),p=M.P(p),d(L,M,hM(a,M,H,p))}),Uc)(),d)(80,h,function(M,L,p,a,H){a=(H=(L=(a=(p=(L=S(M),S)(M),S(M)),M.P(L)),M.P(S(M))),p=M.P(p),M.P(a)),0!==L&&(a=hM(H,M,1,a,L,p),Rb(a,p,L),d(43,M,[L,p,a]))}),window.performance)||{},h).Rz=g.timeOrigin||(g.timing||{}).navigationStart||0,d(43,h,0),d)(70,h,function(M,L,p,a,H){for(H=(p=(L=S(M),Xp)(M),a=[],0);H<p;H++)a.push(S(M));d(L,M,a)}),n&&"!"==n.charAt(0))?(h.o=n,e()):(h.c=[],U=!!U.s,h.h=0,R(h,[rW,n]),R(h,[qM,e]),b(false,U,h,true))},Xp=function(n,U){return U=S(n),U&128&&(U=U&127|S(n)<<7),U},e9=function(n,U,h,X){try{for(X=0;79669387488!=X;)h+=(U<<4^U>>>5)+U^X+n[X&3],X+=2489668359,U+=(h<<4^h>>>5)+h^X+n[X>>>11&3];return[h>>>24,h>>16&255,h>>8&255,h&255,U>>>24,U>>16&255,U>>8&255,U&255]}catch(e){throw e;}},Q=(G.prototype.LU=function(n,U,h){return n^((U=(U^=U<<13,U^=U>>17,(U^U<<5)&h))||(U=1),U)},G.prototype.F=(window.performance||{}).now?function(){return Math.floor(this.Rz+window.performance.now())}:function(){return+new Date},G.prototype.b={},l),N=(G.prototype.uw=35,G.prototype.Wb=function(n,U,h,X){(h=(X=(h=S((n&=(U=n&4,3),this)),S(this)),this.P(h)),U&&(h=h4((""+h).replace(/\\\\r\\\\n/g,"\\\\n"))),n)&&y(X,this,N(h.length,2)),y(X,this,h)},(G.prototype.P=(G.prototype.kI=function(n,U,h){if(3==n.length){for(h=0;3>h;h++)U[h]+=n[h];for(n=[13,(h=0,8),13,12,16,5,3,10,15];9>h;h++)U[3](U,h%3,n[h])}},G.prototype.d$=false,function(n,U){if(void 0===(U=this.W[n],U))throw r(this,30,0,n),this.b;return U()}),G.prototype.t8=function(n,U,h,X,e){for(e=X=0;e<n.length;e++)X+=n.charCodeAt(e),X+=X<<10,X^=X>>6;return n=(X+=X<<3,X^=X>>11,X+(X<<15)>>>0),X=new Number(n&(1<<U)-1),X[0]=(n>>>U)%h,X},G.prototype).oz=function(n,U,h,X){for(;h--;)109!=h&&55!=h&&U.W[h]&&(U.W[h]=U[X](U[n](h),this));U[n]=this},function(n,U,h,X){for(X=(h=[],U-1);0<=X;X--)h[U-1-X]=n>>8*X&255;return h}),NM=(G.prototype.Go=l.requestIdleCallback?function(n){requestIdleCallback(n,{timeout:4})}:l.setImmediate?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},{}),S=function(n,U,h,X){if(n.K)return n.f(n.D);if(U=n.P(109),h=U>>3,U>=n.h)throw r(n,31),n.b;return(((void 0==n.$&&(n.$=Q4(n.c,h-4),n.j=void 0),n.j!=h>>3)&&(n.j=h>>3,X=n.P(53),n.yk=e9([0,0,X[1],X[2]],n.j,n.$)),d)(109,n,U+8),n.c[h])^n.yk[h%8]},d=((G.prototype.zo=function(n,U,h,X){try{X=n[(U+2)%3],n[U]=n[U]-n[(U+1)%3]-X^(1==U?X<<h:X>>>h)}catch(e){throw e;}},G.prototype).T="toString",function(n,U,h){if(109==n||55==n)if(U.W[n])U.W[n][U.T](h);else U.W[n]=U.mT(h);else if(7!=n&&252!=n&&10!=n&&50!=n&&49!=n||!U.W[n])U.W[n]=U.v(h,U.P);53==n&&(U.$=void 0,d(109,U,U.P(109)+32))}),y=function(n,U,h,X,e,g){if(U.M==U)for(e=U.P(n),252==n?(n=function(M,L,p,a){if(p=(L=e.length,L)-4>>3,e.h8!=p){a=[0,0,g[1],(p=((e.h8=p,p)<<3)-4,g[2])];try{e.KU=e9(a,Q4(e,p+4),Q4(e,p))}catch(H){throw H;}}e.push(e.KU[L&7]^M)},g=U.P(49)):n=function(M){e.push(M)},X&&n(X&255),U=h.length,X=0;X<U;X++)n(h[X])},J=(G.prototype.cb=function(n,U,h,X,e,g){for(g=(h=[],X=0);g<n.length;g++)for(e=e<<U|n[g],X+=U;7<X;)X-=8,h.push(e>>X&255);return h},function(n,U){U.o=("E:"+n.message+":"+n.stack).slice(0,2048)}),Mg=function(n,U){for(U=[];n--;)U.push(255*Math.random()|0);return U},pw=function(n,U,h){return Lw(((h=n.P(109),n.c&&h<n.h)?(d(109,n,n.h),GG(n,U)):d(109,n,U),n),h)},U2=function(n,U,h,X){X=(h=S(U),S(U)),y(X,U,N(U.P(h),n))},Lw=function(n,U,h,X,e,g,M){n.I++;try{for(e=(h=(X=5001,g=0,n.h),void 0);(n.d$||--X)&&(n.K||(g=n.P(109))<h);)try{n.K?e=n.f(n.K):(d(55,n,g),M=S(n),e=n.P(M)),e&&e.call?e(n):r(n,21,0,M),n.B=true,P(2,false,n)}catch(L){L!=n.b&&(n.P(148)?r(n,22,L):d(148,n,L))}X||r(n,33)}catch(L){try{r(n,22,L)}catch(p){J(p,n)}}return(h=n.P(165),U)&&d(109,n,U),n.I--,h},sc={};T[0]in Q||"undefined"==typeof Q.execScript||Q.execScript("var "+T[0]);for(var K;T.length&&(K=T.shift());)Q=Q[K]&&Q[K]!==Object.prototype[K]?Q[K]:Q[K]={};v=l.botguard,v.CLT=function(n,U,h){this.invoke=(h=new G({s:U},n),function(X,e,g){return(g=h.Mi(e&&X,g),X&&!e)&&X(g),g})},v.bg=function(n,U,h){return n&&n.substring&&(h=v[n.substring(0,3)])?new h(n.substring(3),U):new v.CLT(n,U)};try{v.u||(Rb(function(){},"unload",l),v.u=1)}catch(n){};\')();</script>\n  <script type="text/javascript" nonce="q1tvyPlpm50XYI7uuVU9ww">\n  document.bg = new botguard.bg(\'CLTQpz8uK6dD6uHAszSV1qt8lWNJ/9KoMWAAdtev0inAiwefozRQW0NMZZAnOHPCDiYsD9lNQKpZFPkN6D3a+doa9Qr5vCHek0HuG477Mwd8oGhgj3PYmLXewustISJ//uGb6NEZRvHkkk4KEJrO7O1EAvbWyAX9IH6gQ6peb2ZmMPRPmGizx6KUCcTHDbkEeJiIVBU88dfkCtfD6+45l3JKcxCLQxJjc+RTXGJXdHGzJo1lmW/e4JM2Rsc3iDyztTj2hTuTT6Jwk4IH+cqzRcBINQBED7Z6PhTMhh5Bw3fKjunwQFmTFvdvmGP5fvptlUjeha4xXJcgUm1Drd9celVDGUHqe8/wgxZZaC1lrabhX8TcBN1Ah+jlfglWB4bqZP2oy9wMwHGH/jFJ2Gcg1Kv4G7nsTsAE+8lWAGeyJnIgZRpgVNvUJF7dcyJKbnVfDfaKzthbl8lQpWj6mpqsDJa6ydL1syM5seiBgZvSnLwzJqKfnhoocVancNm+V8eNQ7rv1gZlIb7L2bn7HO2uWlk4IiPVOCC0lEJ6Aox0GLwKDs+taEN4UT/whOTRkI1V95vXtHEFESvTXIazTFUf5A3+3UdkzOyTg4EtNgEHVi1aYO4ZLHHZwXWpxXVh25el62R13DdnYzg+p9MKSlLEOFmJIz/t9P+npdB6l7N01DuD/4MhXN6OL4yCj2ZAc7ILDaVJSb76XnnsujMe3br4nvBwT2D0uSA8YcgIGdbCIPJKkENWg84QvIzKAvwsvHUtr17K2vkB5n91UIhM+YUdbe+pCjajdek2dKuhln4++RI9UCAimwRoDC7AAVUsU/jFpxYVcePSgdmzxepOZuNOUXucX6b1+rxpGEFZdugarcuR+LWTVQ79tqvP7S4cCf1w1pm+RmUpDSMjMus+U99yKAdqNDD6BKjjTWlZQkaKJ52qwTH3+S1MoeonzNwRuNKT/TsFx7TJJOIhhqnhoYyX92xhgx+tXXm9/Xx8/i1rVNhGcpM5vkQBhdgEOWMZY934v4EcrfkWvCrsv6e+WOoFyhUziBt3cQRmjd3+FlLr/DSXSd2HUeUo/Lzb+IPPvB/Sk5Xh+cpZf5+pERZqmXK/VHL6dT9EKLNIIHtp4oCy85FOhjAGkuaF/YmKy1fsWdLlLeTkVyV5O1NVzraGHxbCLP62/jmo8B/K+bD6+c3mbOTH5nm6/LYP1lM+QTEwhVZ7CyIJmtN/JTqUsx7HZ0O10dmQtasEOc00cqId99x/yMat8C+/0Za50/9CufWqmXjcwguAQzIPSHqORoscQoYmCEqeyz0MOXQAJnjxYt5WtgtzM/nuFVAjHCdScb8VdWS/hwkeye5K5txWydwj8NQrxvqGSto9W7LHC8+Jfq6T/Z3Z2VhzrN9kuER+LUWkR6VTKFJWELmWdUH77H7TECMa2ruo2AApeq3UuAjBYzoVhTCVjVa0GVhwf3mVqvBqGFeOLwak+m3PjkVrZRA1Q7LpCnya/Yba3oaqwC/i2Gt36mabdQeIoB2AY01BQs7/QcenWvZCBFDah8Gmu/ULBKnvbe38DE9CTKtnN0Fz/mfxLHZDboNO9P0VnqLjBuzAGOUKu6Z7n76B0kgKLhgyrP4RyxQ2vTIpkzQs7QOBhf+6dSzM0FEfxbsThAyH2OIBxxb3FWxkfZIZ+TaNBL5zv561GrI9NyzVlF10KTfSCXxRyyciGEu7wqdk5vRF7yzFxD4W675J026wn6tswOdWExZydJk2xa/rwQstizC1iYMs9PTYntiyk5XhwwS7qaf+hfLU9YrM0Tm2mDvPkD7jlmoL0uiBuyn2nn/WC5lTVEOErg66YcKtnq1+M3Vi8O1SDn5Vvk3xN7Xj9bBahxVvPWLrSg9cLZ90vYXZDN7aSGQUHoEOtoQQL5XSI7THUVsXVWDs7EyqJ+r/CniGMGTyaj6+Wx85iDBDrXmrTY4tL2IYfij04Nq26QlVT4h8NO6ssytYPwbP6xxLF3w2WaEjsSdtape84OLkVLZonc38wCpEA42SxkZcdLp1gPkzL4k8D9bTD7MZHzjHUAlKxTXwwlavdggGSEMK2x6drEhSqmZ1O6jHVFQRnW4cJf4Y8e72xdhX/ytVOw3o6U+dk3Od/aIWpnB5OQV7AQFEGw5z4Z+Jn0d3V744NXu+Nq9zvJQ2rwi2bq/zL52iufnH+Vr182JCMgDDD9OOx7MFUYu+v6aMLt/Por53tpADuukM8yBNPYC1cAxMC447JcZAkG9OigC3FalnaABk7IY4LKWC7BJcabEo9NdRD/B3duauk21MmJP9wRwudAU1IdAQoIJzB+0s3B6oD6GfM2VG7PVG/5J7RKXjO/K83TYdQC/f8tF5ozDgoq2UKwDoHdkJ+vp4AiI4HuhEcXWriYdKnSy615l/lfAE8pyUCdZhhxe9RV1ZrULD87clqNZ4pRATva/yZBhT8O+yz1I0bJd+aPYG1gxSqwi04ipoKLS4Wz2f3E5ZzTfWm3i4BJn6Hvvxgm3qfZYqdV7J2xrsAtwNhnxZzXtPcBKzIn0TT/cPJvIHYZQQ7Vf4GTLfDJwi+fe4PF+nxVMq/bwCjHw2Ko3e0p9JdrX9nfXjP1Df8jfqSyO8Xdpxa1m1ID9Vu9uN+auR2GWQQbwlgpzxCkGNV9Vazs/hqlqLoxWANHBjzaBoJphmOJROLOOZTjaBH/cWbcYzHmDdrJW04RMEqMWQQy8MLEdNTeW98EjOrM7ddQ2ww4rnmrK0WpNtwoyyIK3+Shoa81NOhWCK9S7hWKPDITdh9W+Qr4PNpjpaO9YbsBUTlVg3tfFvnDOKBdMvbfyCPC6HaymNfMwLp1EWmFSVMk2cLzQ8isJJjG97ZDHWMcDVvnpyZXOUN1vSpFhoy/71emHvIokYLEqa9OokCH0NpZxqXhKmb0N4EUDU7UVk+fakSO/ckLbZD24OW0OXtOCFpR5DkY6wNcbJdya3g5X7j8u3KkUBehmM5rExWAo4UTZCh4TO/xHHgfGNz5vR4+4P1qjjPYUuZJALryKFPRaCtflfapHzR+EespShQfs//hlETGzW+f0/ZFFh90p31+RRL8vPdtsuC+PTZZUiTsNBCY2zBJbyD150oFXsEhYF1AxnB6yl4hjsLZLbYnandhwHcXW7OeseFYPjaaXC3KSE9mhCBqQv9EN9Uq/wFy4OoDRC07frswDXnYpl/aZYwuf+cYCAYiaaMdOZXFxqoaqGkmvGengNQaQknLTBkyaECp7/HfKswpKWUuv8EKUODnRo6CMYEKua1PrZ5k4qjmZhZjFnHv6Bn3zqlM0zynHzc5eegR6qT6ClH4VQ5v2lZkkLsdhu5eIcEJXlN/AwtOuwh1mHlrt+doLdiW36nQhVR4svlaxr6oflfw6culSvGDJoIqSzEPulJ7pJMO1uf/L0LSOoFAGSJpWf7hL34YZi/2wS2B3wOM07Y91gUAULAig9/+zJyDDeQ06SGyBMij9D32UsBcOPTW6bNfLX/FKNQwZl6GX9jvrTt+Ow4Yp9zWaVRK26j5qZs2E2Tl8vOmRNQv5e54rY8KByjIFgRbdVvIUIvHjLEBR171EvkOlrtsKd5yjNXI96rrtCVTPz1y+mc+VyXLXpiiYehPauDJUMLJ0qy79IfLwNtu7zXtUVUKlOVuVC2N+L8qPmF1HEW66JHblLQPvG+N1jXnN+Oq0R+HGWSq0SeCmtnTqG+hyIRetjmaCqfa4yzCFaT84GZU0PAHKKxkXo9tWpMTWEB+mb53KstLKzdAJZGfd3I9jSorLp5dWdiiUy23l6dbUs1t8T16x8VGjYIBQmgpZaQauequCadwZrNu8vFfyvw8fYBvrhG2yOo1V3OkLMctbvBvr+DxoTFbq5hQlQoFfC+WFBtiaUg+wCiR2s0tIfLQC0yQlEbc2vp9627mi0acxTC22O3gpXvj0LFxL3W/Qdq8wxYw6WFvJO/e1kyytZLGc02sRh3Zcoc5tmwj21rjQaZ3NNuJsq1ndjg0yrRvL8ddSExscipCtCT0gGAPGtsdEtyqN/iJnAnUjvEfe9t1O5r2HUo7SFHXcbBGJxFX4Klqr7YHi2aqzsffR6TUFjPVRF1EEJQJdlb7ZhsyZWHIC+LvfczBeTVroCEKErFc84JCrQJlctO5/uKHsIEOVVCdKyDLVkLqvKOqmZ5qUNCRuKxOZy0dovQSqrU3XlP30LNL81UCQ8Re8arwctG+z4pU2PVYcWjDJPY6XWgujzfOVhDb2abrEW2A1fTFaLGImZ1s3AEg1C3auCcVcF6uVWViTGMzz5iVr40tJShsk/LSecZZlGQ15vf98hvloMKTYimOYdvVwZOalQ8zbyGe6QUcjPJjP/NQM/cN52MpAgY+3l+kux6vb7LK2LH/qoXShrHr9xHgTRKaANBAcDn0Hj2cs6dcOCOAezqlWPcATzJS9jUXJ3il9s1y9pskKYgNA12Ys2myWUzbYBhT1+rZPwHCbnfwTZn2HKhC5mBMdz1mZ6Mq5ly5POtiFJdcRjf8PrWSDD+t7gQ4t8PocWJqSxqSt9cGhdqzntmKHHJZD+wpnLGo2NO3cprWBkgScDdqo2AjfDH7xBxktTk+7yG/gK7dbf+gKSfivbfswj1zvjXUNizJgjk4qxo0azAgjOH32NWsl97c5OLgaBAw0krZL1ulp8gE5GqVL/ro+mre2pNeSZdhuQM9F5NL+r9gvv0qdonlXyNtOFkqkREpsErSKijytwY9nmorumW+lnyzKdZpNcyd0wuGWexjIceEhHoC5O7BFjaDAx3bShmEhtsbL7OSI0N1DaSmcC/g7Dd5DlVPcJmh5JmvNHAucmY+4q61FX9LhyTFi1rNLhZCU+hUC1BCwbnrCCwt5BWScDtQtqD4+Xri1YjM5OOHEz3gat7fyRbtxhp0MKmU/+GDyyVHn5pd7hzm5ayQrNpOft0cmTWxmIp7Gx+NWfm4=\');\n  </script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  gaia = window.gaia || {};\n  gaia.ps = gaia.ps || {};\n  gaia.ps.hasPrefilledIdentifier = false;\n  function gaia_parseFragment() {\n  var hash = location.hash;\n  var params = {};\n  if (!hash) {\n  return params;\n  }\n  var paramStrs = decodeURIComponent(hash.substring(1)).split(\'&\');\n  for (var i = 0; i < paramStrs.length; i++) {\n      var param = paramStrs[i].split(\'=\');\n      params[param[0]] = param[1];\n    }\n    return params;\n  }\n\n  function gaia_prefillEmail() {\n    var email = null;\n    var form = null;\n    if (document.getElementById) {\n      email = document.getElementById(\'Email\');\n      form = document.getElementById(\'gaia_loginform\');\n    }\n    if (form && email && (email.value == null || email.value == \'\')\n        && (email.type != \'hidden\')) {\n      hashParams = gaia_parseFragment();\n      if (hashParams[\'Email\'] && hashParams[\'Email\'] != \'\') {\n        email.value = hashParams[\'Email\'];\n      }\n    }\n  }\n\n  \n  try {\n    gaia_prefillEmail();\n  } catch (e) {\n  }\n  \n</script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  var gaia_scrollToElement = function(element) {\n  var calculateOffsetHeight = function(element) {\n  var curtop = 0;\n  if (element.offsetParent) {\n  while (element) {\n  curtop += element.offsetTop;\n  element = element.offsetParent;\n  }\n  }\n  return curtop;\n  }\n  var siginOffsetHeight = calculateOffsetHeight(element);\n  var scrollHeight = siginOffsetHeight - window.innerHeight +\n  element.clientHeight + 0.02 * window.innerHeight;\n  window.scroll(0, scrollHeight);\n  }\n</script>\n  <script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  if (gaia.ps.hasPrefilledIdentifier) {\n  var form = document.getElementById(\'gaia_loginform\');\n  if (form) {\n  form.submit();\n  }\n  }\n  </script>\n<script nonce="q1tvyPlpm50XYI7uuVU9ww">\n  (function(){\n  gaia_onLoginSubmit = function() {\n  try {\n  gaia.loginAutoRedirect.stop();\n  } catch (err) {\n  // do not prevent form from being submitted\n  }\n  try {\n  document.bg.invoke(function(response) {\n  document.getElementById(\'bgresponse\').value = response;\n  });\n  } catch (err) {\n  document.getElementById(\'bgresponse\').value = \'\';\n  }\n  return true;\n  }\n  document.getElementById(\'gaia_loginform\').onsubmit = gaia_onLoginSubmit;\n  var signinButton;\n  signinButton = document.getElementById(\'next\');\n  gaia_attachEvent(window, \'load\', function(){\n  gaia_scrollToElement(signinButton);\n  });\n  })();\n</script>\n  </body>\n</html>\n'
Invalid username or password
`
ramnes commented 4 years ago

Yes, it's a debug from my WIP branch. You should not try to run it. As I said, it's not functional yet.

matiyashpr commented 4 years ago

I've tried to apply changes that @ramnes made, but unfortunately, it doesn't help me. Now the captcha is showing me but some another error is blocking me

As I said, my changes are not functional. Did you try to update urllib3?

Yep, it is 1.25.8 now

elbro commented 4 years ago

Same issue, upgrading urllib3 didnt fix anything

limewxr commented 4 years ago

Related discussions and alternative approaches that are worth taking a look: https://github.com/aws/aws-cli/issues/4784 https://github.com/cevoaustralia/aws-google-auth/issues/160 https://github.com/ruimarinho/gsts

mkrakowitzer commented 4 years ago

Thanks @limewxr. This gsts tool is working perfectly for me.

Crevil commented 4 years ago

We tried out https://github.com/ruimarinho/gsts as well and it works out of the box for the developers having issues at Lunar.

jordiclariana commented 4 years ago

For what is worth, I faced this problem too (Invalid username or password). I was able to temporarily fix it removing any google_config. entry from my ~/.aws/config (at least the ones in the AWS profile I'm trying to update the credentials for). I have no idea why this works, but after removing those entries everything works as expected.

alongwill commented 4 years ago

aws-google-auth is working for me with these dependencies:

$ pip list
Package            Version
------------------ -----------
aws-google-auth    0.0.35
beautifulsoup4     4.8.2
boto3              1.12.11
botocore           1.15.11
certifi            2019.11.28
chardet            3.0.4
configparser       4.0.2
docutils           0.15.2
filelock           3.0.12
hidapi             0.9.0.post2
idna               2.9
importlib-metadata 1.5.0
jmespath           0.9.5
keyring            21.1.0
keyrings.alt       3.4.0
lxml               4.5.0
Pillow             7.0.0
pip                20.0.2
python-dateutil    2.8.1
python-u2flib-host 3.0.3
pytz               2019.3
requests           2.23.0
s3transfer         0.3.3
setuptools         40.8.0
six                1.12.0
soupsieve          2.0
tabulate           0.8.6
tzlocal            2.0.0
urllib3            1.25.8
wheel              0.33.1
zipp               3.0.0
jordiclariana commented 4 years ago

I can confirm that only removing google_config.bg_response is enough to make it work again.

lure commented 4 years ago

Removal/adding of google_config lines from ~/.aws doesn't help in my case.

DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:https://accounts.google.com:443 "POST /signin/v1/lookup HTTP/1.1" 200 None
Invalid username or password

last free lines.

saada commented 4 years ago

I don't even have the google_config configuration shown in ~/.aws/config. And still I get Invalid username or password

rafaelferreira90 commented 4 years ago

@saada In this case you can try to config it manually into your ~/.aws/config and try login again

[profile default]
region = ap-southeast-2
google_config.ask_role = False
google_config.keyring = False
google_config.duration = 3600
google_config.google_idp_id = ******
google_config.role_arn = arn:aws:iam::************:role/yourRoleHere
google_config.google_sp_id = ********
google_config.u2f_disabled = False
google_config.google_username = youemail@email.com

If you can login successfully, the param google_config.bg_response will appear into this block above on your config file. So every time you'll have to remove it to be able to login again.

It's working for me this way...

lure commented 4 years ago

@saada In this case you can try to config it manually into your ~/.aws/config

It doesn't help.

reedox commented 4 years ago

My team and I have moved over to https://github.com/ruimarinho/gsts since this achieves the same goal.

saada commented 4 years ago

I moved to gsts as well and it works well. Thanks

elbro commented 4 years ago

@saada In this case you can try to config it manually into your ~/.aws/config and try login again

[profile default]
region = ap-southeast-2
google_config.ask_role = False
google_config.keyring = False
google_config.duration = 3600
google_config.google_idp_id = ******
google_config.role_arn = arn:aws:iam::************:role/yourRoleHere
google_config.google_sp_id = ********
google_config.u2f_disabled = False
google_config.google_username = youemail@email.com

If you can login successfully, the param google_config.bg_response will appear into this block above on your config file. So every time you'll have to remove it to be able to login again.

It's working for me this way...

Manually adding a profile which these options fixed the issue for me.

brunodasilvalenga commented 4 years ago

I saw that the user @ramnes (Thanks mate) created a pull request resolving the conflict in captcha request but still continue to receive authentication errors, after a few hours of debugging I discovered that you cannot send the password together with the captcha, first you need to pass the captcha and after that it redirect you (301) to the password authentication page. I changed the code to include this new request and everything worked again.

I've created a pull request for that.

Please feel free to ask any question :)

tlvince commented 4 years ago

@brunodasilvalenga's fix worked for me. Here's how you can use it:

git clone https://github.com/brunodasilvalenga/aws-google-auth.git
cd aws-google-auth
git checkout fix-google-captcha
pip install -e . --user
dgccdna commented 4 years ago

fwiw @brunodasilvalenga's branch did not work for me, still get the javascript error page

brunodasilvalenga commented 4 years ago

Which one @dgccdna ??

dgccdna commented 4 years ago

@brunodasilvalenga https://github.com/brunodasilvalenga/aws-google-auth/tree/fix-google-captcha

sinkr commented 4 years ago

@brunodasilvalenga https://github.com/brunodasilvalenga/aws-google-auth/tree/fix-google-captcha

Just cloned this branch and did a python pip install on it and it worked! This is a welcome development after being left out to dry for several weeks!

brunodasilvalenga commented 4 years ago

@brunodasilvalenga https://github.com/brunodasilvalenga/aws-google-auth/tree/fix-google-captcha

but I mean which error are you getting?

dgccdna commented 4 years ago

@brunodasilvalenga sorry, also didn't realize I switched accounts between issues, this one: https://github.com/cevoaustralia/aws-google-auth/issues/184#issuecomment-618010185

brunodasilvalenga commented 4 years ago

Hey @dgccdna . I don't reckon that problem that you're having is the same that I solved :(( Maybe this step is not cover by the package yet. It's happen because google does changes every time and I was wondering some of could be just a test A/B because is not everyone is getting the same issue with you. Try to debug the code and doing the same steps manually using a Rest API Client like Insomnia or postman.