public static function login($ck, $cs, $username, $password, $proxy = '') {
        $to = new self($ck, $cs);
        $username = self::validateString('$username', $username);
        $password = self::validateString('$password', $password);
        $proxy    = self::validateString('$proxy', $proxy);
        $ch = self::curlInit($proxy);
        $to = $to->renewWithRequestToken('oob');
        self::curlSetOptForAuthenticityToken($ch, $to);
        $token = self::parseAuthenticityToken($ch, curl_exec($ch));
        self::curlSetOptForVerifier($ch, $to, $token, $username, $password);
        $verifier = self::parseVerifier($ch, curl_exec($ch));
        return $to->renewWithAccessToken($verifier);
    }