http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/erlang_views.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/erlang_views.js 
b/share/www/script/test/erlang_views.js
deleted file mode 100644
index c6bc5d7..0000000
--- a/share/www/script/test/erlang_views.js
+++ /dev/null
@@ -1,136 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.erlang_views = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-
-
-  run_on_modified_server(
-    [{section: "native_query_servers",
-      key: "erlang",
-      value: "{couch_native_process, start_link, []}"}],
-    function() {
-      // Note we just do some basic 'smoke tests' here - the
-      // test/query_server_spec.rb tests have more comprehensive tests
-      var doc = {_id: "1", integer: 1, string: "str1", array: [1, 2, 3]};
-      T(db.save(doc).ok);
-
-      var mfun = 'fun({Doc}) -> ' +
-                 ' K = couch_util:get_value(<<"integer">>, Doc, null), ' +
-                 ' V = couch_util:get_value(<<"string">>, Doc, null), ' +
-                 ' Emit(K, V) ' +
-                 'end.';
-
-      // emitting a key value that is undefined should result in that row not
-      // being included in the view results
-      var results = db.query(mfun, null, null, null, "erlang");
-      T(results.total_rows == 1);
-      T(results.rows[0].key == 1);
-      T(results.rows[0].value == "str1");
-      
-      // check simple reduction - another doc with same key.
-      var doc = {_id: "2", integer: 1, string: "str2"};
-      T(db.save(doc).ok);
-      rfun = 'fun' +
-              ' (_, Values, false) -> length(Values); ' +
-              ' (_, Values, true) -> lists:sum(Values) ' +
-              ' end.';
-      results = db.query(mfun, rfun, null, null, "erlang");
-      T(results.rows[0].value == 2);
-
-      // simple 'list' tests
-      var designDoc = {
-        _id:"_design/erlview",
-        language: "erlang",
-        shows: {
-          simple:
-            'fun(Doc, {Req}) -> ' +
-            '  {Info} = couch_util:get_value(<<"info">>, Req, {[]}), ' +
-            '  Purged = couch_util:get_value(<<"purge_seq">>, Info, -1), ' +
-            '  Verb = couch_util:get_value(<<"method">>, Req, <<"not_get">>), 
' +
-            '  R = list_to_binary(io_lib:format("~b - ~s", [Purged, Verb])), ' 
+
-            '  {[{<<"code">>, 200}, {<<"headers">>, {[]}}, {<<"body">>, R}]} ' 
+
-            'end.'
-        },
-        lists: {
-          simple_list :
-            'fun(Head, {Req}) -> ' +
-            '  Send(<<"head">>), ' +
-            '  Fun = fun({Row}, _) -> ' +
-            '    Val = couch_util:get_value(<<"value">>, Row, -1), ' +
-            '    Send(list_to_binary(integer_to_list(Val))), ' +
-            '    {ok, nil} ' +
-            '  end, ' +
-            '  {ok, _} = FoldRows(Fun, nil), ' +
-            '  <<"tail">> ' +
-            'end. '
-        },
-        views: {
-          simple_view : {
-            map: mfun,
-            reduce: rfun
-          }
-        }
-      };
-      T(db.save(designDoc).ok);
-
-      var url = "/test_suite_db/_design/erlview/_show/simple/1";
-      var xhr = CouchDB.request("GET", url);
-      T(xhr.status == 200, "standard get should be 200");
-      T(xhr.responseText == "0 - GET");
-
-      var url = "/test_suite_db/_design/erlview/_list/simple_list/simple_view";
-      var xhr = CouchDB.request("GET", url);
-      T(xhr.status == 200, "standard get should be 200");
-      T(xhr.responseText == "head2tail");
-
-      // Larger dataset
-
-      db.deleteDb();
-      db.createDb();
-      var words = "foo bar abc def baz xxyz".split(/\s+/);
-      
-      var docs = [];
-      for(var i = 0; i < 250; i++) {
-        var body = [];
-        for(var j = 0; j < 100; j++) {
-          body.push({
-            word: words[j%words.length],
-            count: j
-          });
-        }
-        docs.push({
-          "_id": "test-" + i,
-          "words": body
-        });
-      }
-      T(db.bulkSave(docs).length, 250, "Saved big doc set.");
-      
-      var mfun = 'fun({Doc}) -> ' +
-        'Words = couch_util:get_value(<<"words">>, Doc), ' +
-        'lists:foreach(fun({Word}) -> ' +
-            'WordString = couch_util:get_value(<<"word">>, Word), ' + 
-            'Count = couch_util:get_value(<<"count">>, Word), ' + 
-            'Emit(WordString , Count) ' +
-          'end, Words) ' +
-        'end.';
-      
-      var rfun = 'fun(Keys, Values, RR) -> length(Values) end.';
-      var results = db.query(mfun, rfun, null, null, "erlang");
-      T(results.rows[0].key === null, "Returned a reduced value.");
-      T(results.rows[0].value > 0, "Reduce value exists.");
-    });
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/etags_head.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/etags_head.js 
b/share/www/script/test/etags_head.js
deleted file mode 100644
index 63e2999..0000000
--- a/share/www/script/test/etags_head.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.etags_head = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-  var xhr;
-
-  // create a new doc
-  xhr = CouchDB.request("PUT", "/test_suite_db/1", {
-    body: "{}"
-  });
-  T(xhr.status == 201);
-
-  // extract the ETag header values
-  var etag = xhr.getResponseHeader("etag");
-
-  // get the doc and verify the headers match
-  xhr = CouchDB.request("GET", "/test_suite_db/1");
-  T(etag == xhr.getResponseHeader("etag"));
-
-  // 'head' the doc and verify the headers match
-  xhr = CouchDB.request("HEAD", "/test_suite_db/1", {
-    headers: {"if-none-match": "s"}
-  });
-  T(etag == xhr.getResponseHeader("etag"));
-
-  // replace a doc
-  xhr = CouchDB.request("PUT", "/test_suite_db/1", {
-    body: "{}",
-    headers: {"if-match": etag}
-  });
-  T(xhr.status == 201);
-
-  // extract the new ETag value
-  var etagOld= etag;
-  etag = xhr.getResponseHeader("etag");
-
-  // fail to replace a doc
-  xhr = CouchDB.request("PUT", "/test_suite_db/1", {
-    body: "{}"
-  });
-  T(xhr.status == 409);
-
-  // verify get w/Etag
-  xhr = CouchDB.request("GET", "/test_suite_db/1", {
-    headers: {"if-none-match": etagOld}
-  });
-  T(xhr.status == 200);
-  xhr = CouchDB.request("GET", "/test_suite_db/1", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // fail to delete a doc
-  xhr = CouchDB.request("DELETE", "/test_suite_db/1", {
-    headers: {"if-match": etagOld}
-  });
-  T(xhr.status == 409);
-
-  //now do it for real
-  xhr = CouchDB.request("DELETE", "/test_suite_db/1", {
-    headers: {"if-match": etag}
-  });
-  T(xhr.status == 200);
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/etags_views.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/etags_views.js 
b/share/www/script/test/etags_views.js
deleted file mode 100644
index 6d8e97b..0000000
--- a/share/www/script/test/etags_views.js
+++ /dev/null
@@ -1,220 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.etags_views = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"true"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-  var designDoc = {
-    _id: "_design/etags",
-    language: "javascript",
-    views : {
-      fooView: {
-        map: stringFun(function(doc) {
-          if (doc.foo) {
-            emit("bar", 1);
-          }
-        }),
-      },
-      basicView : {
-        map : stringFun(function(doc) {
-          if(doc.integer && doc.string) {
-            emit(doc.integer, doc.string);
-          }
-        })
-      },
-      withReduce : {
-        map : stringFun(function(doc) {
-          if(doc.integer && doc.string) {
-            emit(doc.integer, doc.string);
-          }
-        }),
-        reduce : stringFun(function(keys, values, rereduce) {
-          if (rereduce) {
-            return sum(values);
-          } else {
-            return values.length;
-          }
-        })
-      }
-    }
-  };
-  T(db.save(designDoc).ok);
-  db.bulkSave(makeDocs(0, 10));
-
-  var xhr;
-
-  // verify get w/Etag on map view
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  T(xhr.status == 200);
-  var etag = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView", 
{
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // verify ETag doesn't change when an update
-  // doesn't change the view group's index
-  T(db.save({"_id":"doc1", "foo":"bar"}).ok);
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 == etag);
-
-  // verify ETag always changes for include_docs=true on update
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/basicView?include_docs=true");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(db.save({"_id":"doc2", "foo":"bar"}).ok);
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/basicView?include_docs=true");
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2);
- 
-  // Verify that purges affect etags
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/fooView");
-  var foo_etag = xhr.getResponseHeader("etag");
-  var doc1 = db.open("doc1");
-  xhr = CouchDB.request("POST", "/test_suite_db/_purge", {
-    body: JSON.stringify({"doc1":[doc1._rev]})
-  });
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/fooView");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 != foo_etag);
-
-  // Test that _purge didn't affect the other view etags.
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 == etag);
-
-  // verify different views in the same view group may have different ETags
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/fooView");
-  var etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2);
-
-  // verify ETag changes when an update changes the view group's index.
-  db.bulkSave(makeDocs(10, 20));
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 != etag);
-
-  // verify ETag is the same after a restart
-  restartServer();
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/basicView");
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 == etag2);
-
-  // reduce view
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  T(xhr.status == 200);
-  var etag = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce",{
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // verify ETag doesn't change when an update
-  // doesn't change the view group's index
-  T(db.save({"_id":"doc3", "foo":"bar"}).ok);
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 == etag);
-  // purge
-  var doc3 = db.open("doc3");
-  xhr = CouchDB.request("POST", "/test_suite_db/_purge", {
-    body: JSON.stringify({"doc3":[doc3._rev]})
-  });
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 == etag);
-
-  // verify different views in the same view group may have different ETags
-  xhr = CouchDB.request("GET", "/test_suite_db/_design/etags/_view/fooView");
-  var etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2);
-
-  // verify ETag changes when an update changes the view group's index
-  db.bulkSave(makeDocs(20, 30));
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  var etag1 = xhr.getResponseHeader("etag");
-  T(etag1 != etag);
-
-  // verify ETag is the same after a restart
-  restartServer();
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/etags/_view/withReduce");
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 == etag2);
-
-  // confirm ETag changes with different POST bodies
-  xhr = CouchDB.request("POST", "/test_suite_db/_design/etags/_view/basicView",
-    {body: JSON.stringify({keys:[1]})}
-  );
-  var etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("POST", "/test_suite_db/_design/etags/_view/basicView",
-    {body: JSON.stringify({keys:[2]})}
-  );
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2, "POST to map view generates key-depdendent ETags");
-
-  xhr = CouchDB.request("POST",
-    "/test_suite_db/_design/etags/_view/withReduce?group=true",
-    {body: JSON.stringify({keys:[1]})}
-  );
-  etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("POST",
-    "/test_suite_db/_design/etags/_view/withReduce?group=true",
-    {body: JSON.stringify({keys:[2]})}
-  );
-  etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2, "POST to reduce view generates key-depdendent ETags");
-  
-  // all docs
-  xhr = CouchDB.request("GET", "/test_suite_db/_all_docs");
-  T(xhr.status == 200);
-  var etag = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", "/test_suite_db/_all_docs", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // _changes
-  xhr = CouchDB.request("GET", "/test_suite_db/_changes");
-  T(xhr.status == 200);
-  var etag = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", "/test_suite_db/_changes", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // list etag
-  // in the list test for now
-  
-  // A new database should have unique _all_docs etags. 
-  db.deleteDb(); 
-  db.createDb(); 
-  db.save({a: 1}); 
-  xhr = CouchDB.request("GET", "/test_suite_db/_all_docs"); 
-  var etag = xhr.getResponseHeader("etag"); 
-  db.deleteDb(); 
-  db.createDb(); 
-  db.save({a: 2}); 
-  xhr = CouchDB.request("GET", "/test_suite_db/_all_docs"); 
-  var new_etag = xhr.getResponseHeader("etag");
-  T(etag != new_etag);
-  // but still be cacheable
-  xhr = CouchDB.request("GET", "/test_suite_db/_all_docs"); 
-  T(new_etag == xhr.getResponseHeader("etag"));
-  
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/form_submit.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/form_submit.js 
b/share/www/script/test/form_submit.js
deleted file mode 100644
index 710bf47..0000000
--- a/share/www/script/test/form_submit.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-// Do some basic tests.
-couchTests.form_submit = function(debug) {
-    var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-    db.deleteDb();
-    db.createDb();
-
-    var json = "{}";
-    var xhr = CouchDB.request("POST", "/test_suite_db/baz", {body: json});
-    T(xhr.status == 415);
-    result = JSON.parse(xhr.responseText);
-    T(result.error, "bad_content_type");
-    T(result.reason, "Invalid Content-Type header for form upload");
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/http.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/http.js b/share/www/script/test/http.js
deleted file mode 100644
index 21c42a0..0000000
--- a/share/www/script/test/http.js
+++ /dev/null
@@ -1,79 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.http = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-
-  // bug COUCHDB-100: DELETE on non-existent DB returns 500 instead of 404
-  db.deleteDb();
-
-  db.createDb();
-
-  // PUT on existing DB should return 412 instead of 500
-  if (debug) debugger;
-
-  var xhr = CouchDB.request("PUT", "/test_suite_db/test", {body: "{}"});
-  var host = CouchDB.host;
-
-  TEquals(CouchDB.protocol + host + "/test_suite_db/test", 
-    xhr.getResponseHeader("Location"),
-    "should include ip address");
-
-  xhr = CouchDB.request("PUT", "/test_suite_db/test2", {
-    body: "{}",
-    headers: {"X-Forwarded-Host": "mysite.com"}
-  });
-
-  TEquals(CouchDB.protocol + "mysite.com/test_suite_db/test2",
-    xhr.getResponseHeader("Location"),
-    "should include X-Forwarded-Host");
-
-  run_on_modified_server([{
-    section:"httpd",
-    key:"x_forwarded_host",
-    value:"X-Host"}],
-    function() {
-      xhr = CouchDB.request("PUT", "/test_suite_db/test3", {
-        body: "{}",
-        headers: {"X-Host": "mysite2.com"}
-      });
-      TEquals(CouchDB.protocol + "mysite2.com/test_suite_db/test3",
-        xhr.getResponseHeader("Location"),
-        "should include X-Host");
-    });
-
-  // COUCHDB-708: newlines document names
-  xhr = CouchDB.request("PUT", "/test_suite_db/docid%0A/attachment.txt", {
-    headers: {"Content-Type": "text/plain;charset=utf-8"},
-    body: ""
-  });
-  TEquals(CouchDB.protocol + host + "/test_suite_db/docid%0A/attachment.txt",
-    xhr.getResponseHeader("Location"),
-    "should work with newlines in document names for attachments");
-
-  xhr = CouchDB.request("PUT", "/test_suite_db/docidtest%0A", {
-    body: JSON.stringify({"foo": "bar"}),
-    headers: {"Content-Type": "application/json"}
-  });
-  TEquals(CouchDB.protocol + host + "/test_suite_db/docidtest%0A",
-    xhr.getResponseHeader("Location"),
-    "should work with newlines in document names");
-
-  xhr = CouchDB.request("POST", "/test_suite_db/", {
-    body: JSON.stringify({"_id": "docidtestpost%0A"}),
-    headers: {"Content-Type": "application/json"}
-  });
-  TEquals(CouchDB.protocol + host + "/test_suite_db/docidtestpost%250A",
-    xhr.getResponseHeader("Location"),
-    "should work with newlines in document names");
-}

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/invalid_docids.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/invalid_docids.js 
b/share/www/script/test/invalid_docids.js
deleted file mode 100644
index d0195b0..0000000
--- a/share/www/script/test/invalid_docids.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.invalid_docids = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-  // Test _local explicitly first.
-  T(db.save({"_id": "_local/foo"}).ok);
-  T(db.open("_local/foo")._id == "_local/foo");
-
-  var urls = [
-      "/test_suite_db/_local",
-      "/test_suite_db/_local/",
-      "/test_suite_db/_local%2F",
-      "/test_suite_db/_local/foo/bar",
-  ];
-
-  urls.forEach(function(u) {
-    var res = db.request("PUT", u, {"body": "{}"});
-    T(res.status == 400);
-    T(JSON.parse(res.responseText).error == "bad_request");
-  });
-
-  //Test non-string
-  try {
-    db.save({"_id": 1});
-    T(1 == 0, "doc id must be string");
-  } catch(e) {
-      T(db.last_req.status == 400);
-      T(e.error == "bad_request");
-  }
-
-  // Via PUT with _id not in body.
-  var res = res = db.request("PUT", "/test_suite_db/_other", {"body": "{}"});
-  T(res.status == 400);
-  T(JSON.parse(res.responseText).error == "bad_request");
-
-  // Accidental POST to form handling code.
-  res = db.request("POST", "/test_suite_db/_tmp_view", {"body": "{}"});
-  T(res.status == 400);
-  T(JSON.parse(res.responseText).error == "bad_request");
-
-  // Test invalid _prefix
-  try {
-    db.save({"_id": "_invalid"});
-    T(1 == 0, "doc id may not start with underscore");
-  } catch(e) {
-      T(db.last_req.status == 400);
-      T(e.error == "bad_request");
-  }
-
-  // Test _bulk_docs explicitly.
-  var docs = [{"_id": "_design/foo"}, {"_id": "_local/bar"}];
-  db.bulkSave(docs);
-  docs.forEach(function(d) {T(db.open(d._id)._id == d._id);});
-
-  docs = [{"_id": "_invalid"}];
-  try {
-    db.bulkSave(docs);
-    T(1 == 0, "doc id may not start with underscore, even in bulk docs");
-  } catch(e) {
-      T(db.last_req.status == 400);
-      T(e.error == "bad_request");
-  }
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/jsonp.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/jsonp.js b/share/www/script/test/jsonp.js
deleted file mode 100644
index e4f4490..0000000
--- a/share/www/script/test/jsonp.js
+++ /dev/null
@@ -1,84 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-// Verify callbacks ran
-var jsonp_flag = 0;
-
-// Callbacks
-function jsonp_no_chunk(doc) {
-  T(jsonp_flag == 0);
-  T(doc._id == "0");
-  jsonp_flag = 1;
-}
-
-function jsonp_chunk(doc) {
-  T(jsonp_flag == 0);
-  T(doc.total_rows == 1);
-  jsonp_flag = 1;
-}
-
-// Do some jsonp tests.
-couchTests.jsonp = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-  
-  var doc = {_id:"0",a:0,b:0};
-  T(db.save(doc).ok);
-  
-  // callback param is ignored unless jsonp is configured
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/0?callback=jsonp_not_configured");
-  JSON.parse(xhr.responseText);
-
-  run_on_modified_server(
-    [{section: "httpd",
-      key: "allow_jsonp",
-      value: "true"}],
-  function() {
-
-    // Test unchunked callbacks.
-    var xhr = CouchDB.request("GET", 
"/test_suite_db/0?callback=jsonp_no_chunk");
-    TEquals("application/javascript", xhr.getResponseHeader("Content-Type"));
-    T(xhr.status == 200);
-    jsonp_flag = 0;
-    eval(xhr.responseText);
-    T(jsonp_flag == 1);
-    xhr = CouchDB.request("GET", "/test_suite_db/0?callback=foo\"");
-    T(xhr.status == 400);
-
-    // Test chunked responses
-    var doc = {_id:"1",a:1,b:1};
-    T(db.save(doc).ok);
-
-    var designDoc = {
-      _id:"_design/test",
-      language: "javascript",
-      views: {
-        all_docs: {map: "function(doc) {if(doc.a) emit(null, doc.a);}"}
-      }
-    };
-    T(db.save(designDoc).ok);
-
-    var url = 
"/test_suite_db/_design/test/_view/all_docs?callback=jsonp_chunk";
-    xhr = CouchDB.request("GET", url);
-    TEquals("application/javascript", xhr.getResponseHeader("Content-Type"));
-    T(xhr.status == 200);
-    jsonp_flag = 0;
-    eval(xhr.responseText);
-    T(jsonp_flag == 1);
-    xhr = CouchDB.request("GET", url + "\'");
-    T(xhr.status == 400);
-  });
-
-
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/large_docs.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/large_docs.js 
b/share/www/script/test/large_docs.js
deleted file mode 100644
index b84648b..0000000
--- a/share/www/script/test/large_docs.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.large_docs = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-  var longtext = "0123456789\n";
-
-  for (var i=0; i<10; i++) {
-    longtext = longtext + longtext
-  }
-  T(db.save({"longtest":longtext}).ok);
-  T(db.save({"longtest":longtext}).ok);
-  T(db.save({"longtest":longtext}).ok);
-  T(db.save({"longtest":longtext}).ok);
-
-  // query all documents, and return the doc.foo member as a key.
-  results = db.query(function(doc){
-      emit(null, doc.longtest);
-  });
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/list_views.js
----------------------------------------------------------------------
diff --git a/share/www/script/test/list_views.js 
b/share/www/script/test/list_views.js
deleted file mode 100644
index ece81ea..0000000
--- a/share/www/script/test/list_views.js
+++ /dev/null
@@ -1,492 +0,0 @@
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy 
of
-// the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations 
under
-// the License.
-
-couchTests.list_views = function(debug) {
-  var db = new CouchDB("test_suite_db", {"X-Couch-Full-Commit":"false"});
-  db.deleteDb();
-  db.createDb();
-  if (debug) debugger;
-
-  var designDoc = {
-    _id:"_design/lists",
-    language: "javascript",
-    views : {
-      basicView : {
-        map : stringFun(function(doc) {
-          emit(doc.integer, doc.string);
-        })
-      },
-      withReduce : {
-        map : stringFun(function(doc) {
-          emit(doc.integer, doc.string);
-        }),
-        reduce : stringFun(function(keys, values, rereduce) {
-          if (rereduce) {
-            return sum(values);
-          } else {
-            return values.length;
-          }
-        })
-      }
-    },
-    lists: {
-      basicBasic : stringFun(function(head, req) {
-        send("head");
-        var row;
-        while(row = getRow()) {
-          log("row: "+toJSON(row));
-          send(row.key);
-        };
-        return "tail";
-      }),
-      basicJSON : stringFun(function(head, req) {
-        start({"headers":{"Content-Type" : "application/json"}});
-        send('{"head":'+toJSON(head)+', ');
-        send('"req":'+toJSON(req)+', ');
-        send('"rows":[');
-        var row, sep = '';
-        while (row = getRow()) {
-          send(sep + toJSON(row));
-          sep = ', ';
-        }
-        return "]}";
-      }),
-      simpleForm: stringFun(function(head, req) {
-        log("simpleForm");
-        send('<ul>');
-        var row, row_number = 0, prevKey, firstKey = null;
-        while (row = getRow()) {
-          row_number += 1;
-          if (!firstKey) firstKey = row.key;
-          prevKey = row.key;
-          send('\n<li>Key: '+row.key
-          +' Value: '+row.value
-          +' LineNo: '+row_number+'</li>');
-        }
-        return '</ul><p>FirstKey: '+ firstKey + ' LastKey: '+ prevKey+'</p>';
-      }),
-      acceptSwitch: stringFun(function(head, req) {
-        // respondWith takes care of setting the proper headers
-        provides("html", function() {
-          send("HTML <ul>");
-
-          var row, num = 0;
-          while (row = getRow()) {
-            num ++;
-            send('\n<li>Key: '
-              +row.key+' Value: '+row.value
-              +' LineNo: '+num+'</li>');
-          }
-
-          // tail
-          return '</ul>';
-        });
-      }),
-      qsParams: stringFun(function(head, req) {
-        return toJSON(req.query) + "\n";
-      }),
-      stopIter: stringFun(function(req) {
-        send("head");
-        var row, row_number = 0;
-        while(row = getRow()) {
-          if(row_number > 2) break;
-          send(" " + row_number);
-          row_number += 1;
-        };
-        return " tail";
-      }),
-      stopIter2: stringFun(function(head, req) {
-        provides("html", function() {
-          send("head");
-          var row, row_number = 0;
-          while(row = getRow()) {
-            if(row_number > 2) break;
-            send(" " + row_number);
-            row_number += 1;
-          };
-          return " tail";
-        });
-      }),
-      tooManyGetRows : stringFun(function() {
-        send("head");
-        var row;
-        while(row = getRow()) {
-          send(row.key);
-        };
-        getRow();
-        getRow();
-        getRow();
-        row = getRow();
-        return "after row: "+toJSON(row);
-      }),
-      emptyList: stringFun(function() {
-        return " ";
-      }),
-      rowError : stringFun(function(head, req) {
-        send("head");
-        var row = getRow();
-        send(fooBarBam); // intentional error
-        return "tail";
-      }),
-      docReference : stringFun(function(head, req) {
-        send("head");
-        var row = getRow();
-        send(row.doc.integer);
-        return "tail";
-      }),
-      secObj: stringFun(function(head, req) {
-        return toJSON(req.secObj);
-      }),
-      setHeaderAfterGotRow: stringFun(function(head, req) {
-        getRow();
-        start({
-          code: 400,
-          headers: {
-            "X-My-Header": "MyHeader"
-          }
-        });
-        send("bad request");
-      }),
-      allDocs: stringFun(function(head, req){
-        start({'headers': {'Content-Type': 'application/json'}});
-        var resp = head;
-        var rows = [];
-        while(row=getRow()){
-          rows.push(row);
-        }
-        resp.rows = rows;
-        return toJSON(resp);
-      })
-    }
-  };
-  var viewOnlyDesignDoc = {
-    _id:"_design/views",
-    language: "javascript",
-    views : {
-      basicView : {
-        map : stringFun(function(doc) {
-          emit(-doc.integer, doc.string);
-        })
-      }
-    }
-  };
-  var erlListDoc = {
-    _id: "_design/erlang",
-    language: "erlang",
-    lists: {
-        simple:
-            'fun(Head, {Req}) -> ' +
-            '  Send(<<"[">>), ' +
-            '  Fun = fun({Row}, Sep) -> ' +
-            '    Val = couch_util:get_value(<<"key">>, Row, 23), ' +
-            '    Send(list_to_binary(Sep ++ integer_to_list(Val))), ' +
-            '    {ok, ","} ' +
-            '  end, ' +
-            '  {ok, _} = FoldRows(Fun, ""), ' +
-            '  Send(<<"]">>) ' +
-            'end.'
-    }
-  };
-
-  T(db.save(designDoc).ok);
-
-  var docs = makeDocs(0, 10);
-  db.bulkSave(docs);
-
-  var view = db.view('lists/basicView');
-  T(view.total_rows == 10);
-
-  // standard get
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/basicBasic/basicView");
-  T(xhr.status == 200, "standard get should be 200");
-  T(/head0123456789tail/.test(xhr.responseText));
-
-  // standard options
-  var xhr = CouchDB.request("OPTIONS", 
"/test_suite_db/_design/lists/_list/basicBasic/basicView");
-  T(xhr.status == 200, "standard get should be 200");
-  T(/head0123456789tail/.test(xhr.responseText));
-
-  // test that etags are available
-  var etag = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/basicBasic/basicView", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-  
-  // confirm ETag changes with different POST bodies
-  xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/basicBasic/basicView",
-    {body: JSON.stringify({keys:[1]})}
-  );
-  var etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/basicBasic/basicView",
-    {body: JSON.stringify({keys:[2]})}
-  );
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2, "POST to map _list generates key-depdendent ETags");
-
-  // test the richness of the arguments
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/basicJSON/basicView?update_seq=true");
-  T(xhr.status == 200, "standard get should be 200");
-  var resp = JSON.parse(xhr.responseText);
-  TEquals(10, resp.head.total_rows);
-  TEquals(0, resp.head.offset);
-  TEquals(11, resp.head.update_seq);
-  
-  T(resp.rows.length == 10);
-  TEquals(resp.rows[0], {"id": "0","key": 0,"value": "0"});
-
-  TEquals(resp.req.info.db_name, "test_suite_db");
-  TEquals(resp.req.method, "GET");
-  TEquals(resp.req.path, [
-      "test_suite_db",
-      "_design",
-      "lists",
-      "_list",
-      "basicJSON",
-      "basicView"
-  ]);
-  T(resp.req.headers.Accept);
-  T(resp.req.headers.Host);
-  T(resp.req.headers["User-Agent"]);
-  T(resp.req.cookie);
-  
TEquals("/test_suite_db/_design/lists/_list/basicJSON/basicView?update_seq=true",
-    resp.req.raw_path, "should include raw path");
-
-  // get with query params
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/basicView?startkey=3&endkey=8");
-  T(xhr.status == 200, "with query params");
-  T(!(/Key: 1/.test(xhr.responseText)));
-  T(/FirstKey: 3/.test(xhr.responseText));
-  T(/LastKey: 8/.test(xhr.responseText));
-
-  // with 0 rows
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/basicView?startkey=30");
-  T(xhr.status == 200, "0 rows");
-  T(/<\/ul>/.test(xhr.responseText));
-
-  //too many Get Rows
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/tooManyGetRows/basicView");
-  T(xhr.status == 200, "tooManyGetRows");
-  T(/9after row: null/.test(xhr.responseText));
-
-
-  // reduce with 0 rows
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?startkey=30");
-  T(xhr.status == 200, "reduce 0 rows");
-  T(/LastKey: undefined/.test(xhr.responseText));
-
-  // when there is a reduce present, but not used
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?reduce=false");
-  T(xhr.status == 200, "reduce false");
-  T(/Key: 1/.test(xhr.responseText));
-
-
-  // when there is a reduce present, and used
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=true");
-  T(xhr.status == 200, "group reduce");
-  T(/Key: 1/.test(xhr.responseText));
-
-  // there should be etags on reduce as well
-  var etag = xhr.getResponseHeader("etag");
-  T(etag, "Etags should be served with reduce lists");
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=true", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 304);
-
-  // confirm ETag changes with different POST bodies
-  xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=true",
-    {body: JSON.stringify({keys:[1]})}
-  );
-  var etag1 = xhr.getResponseHeader("etag");
-  xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=true",
-    {body: JSON.stringify({keys:[2]})}
-  );
-  var etag2 = xhr.getResponseHeader("etag");
-  T(etag1 != etag2, "POST to reduce _list generates key-depdendent ETags");
-
-  // verify the etags expire correctly
-  var docs = makeDocs(11, 12);
-  db.bulkSave(docs);
-
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=true", {
-    headers: {"if-none-match": etag}
-  });
-  T(xhr.status == 200, "reduce etag");
-
-  // empty list
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/emptyList/basicView");
-  T(xhr.responseText.match(/^ $/));
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/emptyList/withReduce?group=true");
-  T(xhr.responseText.match(/^ $/));
-
-  // multi-key fetch
-  var xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/simpleForm/basicView", {
-    body: '{"keys":[2,4,5,7]}'
-  });
-  T(xhr.status == 200, "multi key");
-  T(!(/Key: 1 /.test(xhr.responseText)));
-  T(/Key: 2/.test(xhr.responseText));
-  T(/FirstKey: 2/.test(xhr.responseText));
-  T(/LastKey: 7/.test(xhr.responseText));
-
-  // multi-key fetch with GET
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/simpleForm/basicView" +
-    "?keys=[2,4,5,7]");
-
-  T(xhr.status == 200, "multi key");
-  T(!(/Key: 1 /.test(xhr.responseText)));
-  T(/Key: 2/.test(xhr.responseText));
-  T(/FirstKey: 2/.test(xhr.responseText));
-  T(/LastKey: 7/.test(xhr.responseText));
-
-  // no multi-key fetch allowed when group=false
-  xhr = CouchDB.request("POST", 
"/test_suite_db/_design/lists/_list/simpleForm/withReduce?group=false", {
-    body: '{"keys":[2,4,5,7]}'
-  });
-  T(xhr.status == 400);
-  T(/query_parse_error/.test(xhr.responseText));
-
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/rowError/basicView");
-  T(/ReferenceError/.test(xhr.responseText));
-
-
-  // with include_docs and a reference to the doc.
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/docReference/basicView?include_docs=true");
-  T(xhr.responseText.match(/head0tail/));
-
-  // now with extra qs params
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/qsParams/basicView?foo=blam");
-  T(xhr.responseText.match(/blam/));
-
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/stopIter/basicView");
-  // T(xhr.getResponseHeader("Content-Type") == "text/plain");
-  T(xhr.responseText.match(/^head 0 1 2 tail$/) && "basic stop");
-
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/stopIter2/basicView", {
-    headers : {
-      "Accept" : "text/html"
-    }
-  });
-  T(xhr.responseText.match(/^head 0 1 2 tail$/) && "stop 2");
-
-  // aborting iteration with reduce
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/stopIter/withReduce?group=true");
-  T(xhr.responseText.match(/^head 0 1 2 tail$/) && "reduce stop");
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/stopIter2/withReduce?group=true", {
-    headers : {
-      "Accept" : "text/html"
-    }
-  });
-  T(xhr.responseText.match(/^head 0 1 2 tail$/) && "reduce stop 2");
-
-  // with accept headers for HTML
-  xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/acceptSwitch/basicView", {
-    headers: {
-      "Accept": 'text/html'
-    }
-  });
-  T(xhr.getResponseHeader("Content-Type") == "text/html; charset=utf-8");
-  T(xhr.responseText.match(/HTML/));
-  T(xhr.responseText.match(/Value/));
-
-  // Test we can run lists and views from separate docs.
-  T(db.save(viewOnlyDesignDoc).ok);
-  var url = "/test_suite_db/_design/lists/_list/simpleForm/views/basicView" +
-                "?startkey=-3";
-  xhr = CouchDB.request("GET", url);
-  T(xhr.status == 200, "multiple design docs.");
-  T(!(/Key: -4/.test(xhr.responseText)));
-  T(/FirstKey: -3/.test(xhr.responseText));
-  T(/LastKey: 0/.test(xhr.responseText));
-
-  // Test we do multi-key requests on lists and views in separate docs.
-  var url = "/test_suite_db/_design/lists/_list/simpleForm/views/basicView";
-  xhr = CouchDB.request("POST", url, {
-    body: '{"keys":[-2,-4,-5,-7]}'
-  });
-  
-  T(xhr.status == 200, "multi key separate docs");
-  T(!(/Key: -3/.test(xhr.responseText)));
-  T(/Key: -7/.test(xhr.responseText));
-  T(/FirstKey: -2/.test(xhr.responseText));
-  T(/LastKey: -7/.test(xhr.responseText));
-
-    // Test if secObj is available
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/secObj/basicView");
-  T(xhr.status == 200, "standard get should be 200");
-  var resp = JSON.parse(xhr.responseText);
-  T(typeof(resp) == "object");
-
-  var erlViewTest = function() {
-    T(db.save(erlListDoc).ok);
-    var url = "/test_suite_db/_design/erlang/_list/simple/views/basicView" +
-                "?startkey=-3";
-    xhr = CouchDB.request("GET", url);
-    T(xhr.status == 200, "multiple languages in design docs.");
-    var list = JSON.parse(xhr.responseText);
-    T(list.length == 4);
-    for(var i = 0; i < list.length; i++)
-    {
-        T(list[i] + 3 == i);
-    }
-  };
-
-  run_on_modified_server([{
-    section: "native_query_servers",
-    key: "erlang",
-    value: "{couch_native_process, start_link, []}"
-  }], erlViewTest);
-
-  // COUCHDB-1113
-  var ddoc = {
-    _id: "_design/test",
-    views: {
-      me: {
-        map: (function(doc) { emit(null,null)}).toString()
-      }
-    },
-    lists: {
-      you: (function(head, req) {
-        var row;
-        while(row = getRow()) {
-          send(row);
-        }
-      }).toString()
-    }
-  };
-  db.save(ddoc);
-
-  var resp = CouchDB.request("GET", "/" + db.name + 
"/_design/test/_list/you/me", {
-    headers: {
-      "Content-Type": "application/x-www-form-urlencoded"
-    }
-  });
-  TEquals(200, resp.status, "should return a 200 response");
-
-  // TEST HTTP header response set after getRow() called in _list function.
-  var xhr = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/setHeaderAfterGotRow/basicView");
-  T(xhr.status == 400);
-  T(xhr.getResponseHeader("X-My-Header") == "MyHeader");
-  T(xhr.responseText.match(/^bad request$/));
-
-  // test handling _all_docs by _list functions. the result should be equal
-  var xhr_lAllDocs = CouchDB.request("GET", 
"/test_suite_db/_design/lists/_list/allDocs/_all_docs");
-  T(xhr_lAllDocs.status == 200, "standard get should be 200");
-  var xhr_allDocs = CouchDB.request("GET", "/test_suite_db/_all_docs");
-  var allDocs = JSON.parse(xhr_allDocs.responseText);
-  var lAllDocs = JSON.parse(xhr_lAllDocs.responseText);
-  TEquals(allDocs.total_rows, lAllDocs.total_rows, "total_rows mismatch");
-  TEquals(allDocs.offset, lAllDocs.offset, "offset mismatch");
-  TEquals(allDocs.rows.length, lAllDocs.rows.length, "amount of rows 
mismatch");
-  TEquals(allDocs.rows, lAllDocs.rows, "rows mismatch");
-};

http://git-wip-us.apache.org/repos/asf/couchdb/blob/e2d9c9b1/share/www/script/test/lorem.txt
----------------------------------------------------------------------
diff --git a/share/www/script/test/lorem.txt b/share/www/script/test/lorem.txt
deleted file mode 100644
index 0ef85ba..0000000
--- a/share/www/script/test/lorem.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus nunc 
sapien, porta id pellentesque at, elementum et felis. Curabitur condimentum 
ante in metus iaculis quis congue diam commodo. Donec eleifend ante sed nulla 
dapibus convallis. Ut cursus aliquam neque, vel porttitor tellus interdum ut. 
Sed pharetra lacinia adipiscing. In tristique tristique felis non tincidunt. 
Nulla auctor mauris a velit cursus ultricies. In at libero quis justo 
consectetur laoreet. Nullam id ultrices nunc. Donec non turpis nulla, eu 
lacinia ante. Nunc eu orci et turpis pretium venenatis. Nam molestie, lacus at 
dignissim elementum, ante libero consectetur libero, ut lacinia lacus urna et 
purus. Nullam lorem ipsum, dapibus vel ullamcorper a, malesuada a metus. Sed 
porta adipiscing magna, quis pulvinar purus mattis fringilla. Integer 
pellentesque sapien in neque tristique ac iaculis libero ultricies. Ut eget 
pharetra purus.
-
-Nulla in convallis tellus. Proin tincidunt suscipit vulputate. Suspendisse 
potenti. Nullam tristique justo mi, a tristique ligula. Duis convallis aliquam 
iaculis. Nulla dictum fringilla congue. Suspendisse ac leo lectus, ac aliquam 
justo. Ut porttitor commodo mi sed luctus. Nulla at enim lorem. Nunc eu justo 
sapien, a blandit odio. Curabitur faucibus sollicitudin dolor, id lacinia sem 
auctor in. Donec varius nunc at lectus sagittis nec luctus arcu pharetra. Nunc 
sed metus justo. Cras vel mauris diam. Ut feugiat felis eget neque pharetra 
vestibulum consectetur massa facilisis. Quisque consectetur luctus nisi quis 
tincidunt. Vivamus cursus cursus quam non blandit. Pellentesque et velit lacus. 
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac 
turpis egestas.
-
-In et dolor vitae orci adipiscing congue. Aliquam gravida nibh at nisl gravida 
molestie. Curabitur a bibendum sapien. Aliquam tincidunt, nulla nec pretium 
lobortis, odio augue tincidunt arcu, a lobortis odio sem ut purus. Donec 
accumsan mattis nunc vitae lacinia. Suspendisse potenti. Integer commodo nisl 
quis nibh interdum non fringilla dui sodales. Class aptent taciti sociosqu ad 
litora torquent per conubia nostra, per inceptos himenaeos. In hac habitasse 
platea dictumst. Etiam ullamcorper, mi id feugiat bibendum, purus neque cursus 
mauris, id sodales quam nisi id velit. Sed lectus leo, tincidunt vel rhoncus 
imperdiet, blandit in leo. Integer quis magna nulla. Donec vel nisl magna, ut 
rhoncus dui. Aliquam gravida, nulla nec eleifend luctus, neque nibh pharetra 
ante, quis egestas elit metus a mi. Nunc nec augue quam. Morbi tincidunt 
tristique varius. Suspendisse iaculis elit feugiat magna pellentesque 
ultricies. Vestibulum aliquam tortor non ante ullamcorper fringilla. Donec 
iaculis
  mi quis mauris ornare vestibulum.
-
-In a magna nisi, a ultricies massa. Donec elit neque, viverra non tempor quis, 
fringilla in metus. Integer odio odio, euismod vitae mollis sed, sodales eget 
libero. Donec nec massa in felis ornare pharetra at nec tellus. Nunc lorem 
dolor, pretium vel auctor in, volutpat vitae felis. Maecenas rhoncus, orci vel 
blandit euismod, turpis erat tincidunt ante, elementum adipiscing nisl urna in 
nisi. Phasellus sagittis, enim sed accumsan consequat, urna augue lobortis 
erat, non malesuada quam metus sollicitudin ante. In leo purus, dignissim quis 
varius vel, pellentesque et nibh. In sed tortor iaculis libero mollis 
pellentesque id vitae lectus. In hac habitasse platea dictumst. Phasellus 
mauris enim, posuere eget luctus ac, iaculis et quam. Vivamus et nibh diam, 
elementum egestas tellus. Aenean vulputate malesuada est. Sed posuere porta 
diam a sodales. Proin eu sem non velit facilisis venenatis sed a turpis.
-
-Pellentesque sed risus a ante vulputate lobortis sit amet eu nisl. Suspendisse 
ut eros mi, a rhoncus lacus. Curabitur fermentum vehicula tellus, a ornare mi 
condimentum vel. Integer molestie volutpat viverra. Integer posuere euismod 
venenatis. Proin ac mauris sed nulla pharetra porttitor. Duis vel dui in risus 
sodales auctor sit amet non enim. Maecenas mollis lacus at ligula faucibus 
sodales. Cras vel neque arcu. Sed tincidunt tortor pretium nisi interdum quis 
dictum arcu laoreet. Morbi pretium ultrices feugiat. Maecenas convallis augue 
nec felis malesuada malesuada scelerisque mauris placerat. Sed at magna enim, 
at fringilla dolor. Quisque ut mattis dui. Praesent consectetur ante viverra 
nisi blandit pharetra. Quisque metus elit, dignissim vitae fermentum sit amet, 
fringilla imperdiet odio. Cras eget purus eget tellus feugiat luctus a ac 
purus. Cras vitae nisl vel augue rhoncus porttitor sit amet quis lorem. Donec 
interdum pellentesque adipiscing. Phasellus neque libero, aliquam in
  mattis vitae, consectetur adipiscing nibh.
-
-Donec nec nulla urna, ac sagittis lectus. Suspendisse non elit sed mi auctor 
facilisis vitae et lectus. Fusce ac vulputate mauris. Morbi condimentum 
ultrices metus, et accumsan purus malesuada at. Maecenas lobortis ante sed 
massa dictum vitae venenatis elit commodo. Proin tellus eros, adipiscing sed 
dignissim vitae, tempor eget ante. Aenean id tellus nec magna cursus pharetra 
vitae vel enim. Morbi vestibulum pharetra est in vulputate. Aliquam vitae metus 
arcu, id aliquet nulla. Phasellus ligula est, hendrerit nec iaculis ut, 
volutpat vel eros. Suspendisse vitae urna turpis, placerat adipiscing diam. 
Phasellus feugiat vestibulum neque eu dapibus. Nulla facilisi. Duis tortor 
felis, euismod sit amet aliquet in, volutpat nec turpis. Mauris rhoncus ipsum 
ut purus eleifend ut lobortis lectus dapibus. Quisque non erat lorem. Vivamus 
posuere imperdiet iaculis. Ut ligula lacus, eleifend at tempor id, auctor eu 
leo.
-
-Donec mi enim, laoreet pulvinar mollis eu, malesuada viverra nunc. In vitae 
metus vitae neque tempor dapibus. Maecenas tincidunt purus a felis aliquam 
placerat. Nulla facilisi. Suspendisse placerat pharetra mattis. Integer tempor 
malesuada justo at tempus. Maecenas vehicula lorem a sapien bibendum vel 
iaculis risus feugiat. Pellentesque diam erat, dapibus et pellentesque quis, 
molestie ut massa. Vivamus iaculis interdum massa id bibendum. Quisque ut 
mauris dui, sit amet varius elit. Vestibulum elit lorem, rutrum non consectetur 
ut, laoreet nec nunc. Donec nec mauris ante. Curabitur ut est sed odio pharetra 
laoreet. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur 
purus risus, laoreet sed porta id, sagittis vel ipsum. Maecenas nibh diam, 
cursus et varius sit amet, fringilla sed magna. Nullam id neque eu leo faucibus 
mollis. Duis nec adipiscing mauris. Suspendisse sollicitudin, enim eu pulvinar 
commodo, erat augue ultrices mi, a tristique magna sem non libero.
-
-Sed in metus nulla. Praesent nec adipiscing sapien. Donec laoreet, velit non 
rutrum vestibulum, ligula neque adipiscing turpis, at auctor sapien elit ut 
massa. Nullam aliquam, enim vel posuere rutrum, justo erat laoreet est, vel 
fringilla lacus nisi non lectus. Etiam lectus nunc, laoreet et placerat at, 
venenatis quis libero. Praesent in placerat elit. Class aptent taciti sociosqu 
ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque 
fringilla augue eu nibh placerat dictum. Nunc porttitor tristique diam, eu 
aliquam enim aliquet vel. Aliquam lacinia interdum ipsum, in posuere metus 
luctus vel. Vivamus et nisl a eros semper elementum. Donec venenatis orci at 
diam tristique sollicitudin. In eu eros sed odio rutrum luctus non nec tellus.
-
-Nulla nec felis elit. Nullam in ipsum in ipsum consequat fringilla quis vel 
tortor. Phasellus non massa nisi, sit amet aliquam urna. Sed fermentum nibh 
vitae lacus tincidunt nec tincidunt massa bibendum. Etiam elit dui, facilisis 
sit amet vehicula nec, iaculis at sapien. Ut at massa id dui ultrices volutpat 
ut ac libero. Fusce ipsum mi, bibendum a lacinia et, pulvinar eget mauris. 
Proin faucibus urna ut lorem elementum vulputate. Duis quam leo, malesuada non 
euismod ut, blandit facilisis mauris. Suspendisse sit amet magna id velit 
tincidunt aliquet nec eu dolor. Curabitur bibendum lorem vel felis tempus 
dapibus. Aliquam erat volutpat. Aenean cursus tortor nec dui aliquet porta. 
Aenean commodo iaculis suscipit. Vestibulum ante ipsum primis in faucibus orci 
luctus et ultrices posuere cubilia Curae; Quisque sit amet ornare elit. Nam 
ligula risus, vestibulum nec mattis in, condimentum ac ante. Donec fringilla, 
justo et ultrices faucibus, tellus est volutpat massa, vitae commodo sapien d
 iam non risus. Vivamus at arcu gravida purus mollis feugiat.
-
-Nulla a turpis quis sapien commodo dignissim eu quis justo. Maecenas eu lorem 
odio, ut hendrerit velit. Cum sociis natoque penatibus et magnis dis parturient 
montes, nascetur ridiculus mus. Proin facilisis porttitor ullamcorper. Praesent 
mollis dignissim massa, laoreet aliquet velit pellentesque non. Nunc facilisis 
convallis tristique. Mauris porttitor ante at tellus convallis placerat. Morbi 
aliquet nisi ac nisl pulvinar id dictum nisl mollis. Sed ornare sem et risus 
placerat lobortis id eget elit. Integer consequat, magna id suscipit pharetra, 
nulla velit suscipit orci, ut interdum augue augue quis quam. Fusce pretium 
aliquet vulputate. Mauris blandit dictum molestie. Proin nulla nibh, bibendum 
eu placerat at, tincidunt ac nisl. Nullam vulputate metus ut libero rutrum 
ultricies. Nunc sit amet dui mauris. Suspendisse adipiscing lacus in augue 
eleifend mollis.
-
-Duis pretium ultrices mattis. Nam euismod risus a erat lacinia bibendum. Morbi 
massa tortor, consectetur id eleifend id, pellentesque vel tortor. Praesent 
urna lorem, porttitor at condimentum vitae, luctus eget elit. Maecenas 
fringilla quam convallis est hendrerit viverra. Etiam vehicula, sapien non 
pulvinar adipiscing, nisi massa vestibulum est, id interdum mauris velit eu 
est. Vestibulum est arcu, facilisis at ultricies non, vulputate id sapien. 
Vestibulum ipsum metus, pharetra nec pellentesque id, facilisis id sapien. 
Donec rutrum odio et lacus ultricies ullamcorper. Integer sed est ut mi posuere 
tincidunt quis non leo. Morbi tellus justo, ultricies sit amet ultrices quis, 
facilisis vitae magna. Donec ligula metus, pellentesque non tristique ac, 
vestibulum sed erat. Aliquam erat volutpat.
-
-Nam dignissim, nisl eget consequat euismod, sem lectus auctor orci, ut 
porttitor lacus dui ac neque. In hac habitasse platea dictumst. Fusce egestas 
porta facilisis. In hac habitasse platea dictumst. Mauris cursus rhoncus risus 
ac euismod. Quisque vitae risus a tellus venenatis convallis. Curabitur laoreet 
sapien eu quam luctus lobortis. Vivamus sollicitudin sodales dolor vitae 
sodales. Suspendisse pharetra laoreet aliquet. Maecenas ullamcorper orci vel 
tortor luctus iaculis ut vitae metus. Vestibulum ut arcu ac tellus mattis 
eleifend eget vehicula elit.
-
-In sed feugiat eros. Donec bibendum ullamcorper diam, eu faucibus mauris 
dictum sed. Duis tincidunt justo in neque accumsan dictum. Maecenas in rutrum 
sapien. Ut id feugiat lacus. Nulla facilisi. Nunc ac lorem id quam varius 
cursus a et elit. Aenean posuere libero eu tortor vehicula ut ullamcorper odio 
consequat. Sed in dignissim dui. Curabitur iaculis tempor quam nec placerat. 
Aliquam venenatis nibh et justo iaculis lacinia. Pellentesque habitant morbi 
tristique senectus et netus et malesuada fames ac turpis egestas. Lorem ipsum 
dolor sit amet, consectetur adipiscing elit. Pellentesque tempus magna sed mi 
aliquet eget varius odio congue.
-
-Integer sem sem, semper in vestibulum vitae, lobortis quis erat. Duis ante 
lectus, fermentum sed tempor sit amet, placerat sit amet sem. Mauris congue 
tincidunt ipsum. Ut viverra, lacus vel varius pharetra, purus enim pulvinar 
ipsum, non pellentesque enim justo non erat. Fusce ipsum orci, ultrices sed 
pellentesque at, hendrerit laoreet enim. Nunc blandit mollis pretium. Ut 
mollis, nulla aliquam sodales vestibulum, libero lorem tempus tortor, a 
pellentesque nibh elit a ipsum. Phasellus fermentum ligula at neque adipiscing 
sollicitudin. Suspendisse id ipsum arcu. Sed tincidunt placerat viverra. Donec 
libero augue, porttitor sit amet varius eget, rutrum nec lacus. Proin blandit 
orci sit amet diam dictum id porttitor risus iaculis. Integer lacinia feugiat 
leo, vitae auctor turpis eleifend vel. Suspendisse lorem quam, pretium id 
bibendum sed, viverra vitae tortor. Nullam ultricies libero eu risus convallis 
eget ullamcorper nisi elementum. Mauris nulla elit, bibendum id vulputate 
vitae, i
 mperdiet rutrum lorem. Curabitur eget dignissim orci. Sed semper tellus ipsum, 
at blandit dui. Integer dapibus facilisis sodales. Vivamus sollicitudin varius 
est, quis ornare justo cursus id.
-
-Nunc vel ullamcorper mi. Suspendisse potenti. Nunc et urna a augue scelerisque 
ultrices non quis mi. In quis porttitor elit. Aenean quis erat nulla, a 
venenatis tellus. Fusce vestibulum nisi sed leo adipiscing dignissim. Nunc 
interdum, lorem et lacinia vestibulum, quam est mattis magna, sit amet volutpat 
elit augue at libero. Cras gravida dui quis velit lobortis condimentum et 
eleifend ligula. Phasellus ac metus quam, id venenatis mi. Aliquam ut turpis ac 
tellus dapibus dapibus eu in mi. Quisque eget nibh eros. Fusce consectetur leo 
velit.
-
-Vestibulum semper egestas mauris. Morbi vestibulum sem sem. Aliquam venenatis, 
felis sed eleifend porta, mauris diam semper arcu, sit amet ultricies est 
sapien sit amet libero. Vestibulum dui orci, ornare condimentum mollis nec, 
molestie ac eros. Proin vitae mollis velit. Praesent eget felis mi. Maecenas eu 
vulputate nisi. Vestibulum varius, arcu in ultricies vestibulum, nibh leo 
sagittis odio, ut bibendum nisl mi nec diam. Integer at enim feugiat nulla 
semper bibendum ut a velit. Proin at nisi ut lorem aliquam varius eget quis 
elit. Nullam nec odio vel lectus congue consequat adipiscing ac mi. Fusce vitae 
laoreet libero. Curabitur sit amet sem neque, nec posuere enim. Curabitur at 
massa a sem gravida iaculis nec et nibh. Sed vitae dui vitae leo tincidunt 
pretium a aliquam erat. Suspendisse ultricies odio at metus tempor in 
pellentesque arcu ultricies.
-
-Sed aliquam mattis quam, in vulputate sapien ultrices in. Pellentesque quis 
velit sed dui hendrerit cursus. Pellentesque non nunc lacus, a semper metus. 
Fusce euismod velit quis diam suscipit consequat. Praesent commodo accumsan 
neque. Proin viverra, ipsum non tristique ultrices, velit velit facilisis 
lorem, vel rutrum neque eros ac nisi. Suspendisse felis massa, faucibus in 
volutpat ac, dapibus et odio. Pellentesque id tellus sit amet risus ultricies 
ullamcorper non nec sapien. Nam placerat viverra ullamcorper. Nam placerat 
porttitor sapien nec pulvinar. Curabitur vel odio sit amet odio accumsan 
aliquet vitae a lectus. Pellentesque lobortis viverra consequat. Mauris 
elementum cursus nulla, sit amet hendrerit justo dictum sed. Maecenas diam 
odio, fringilla ac congue quis, adipiscing ut elit.
-
-Aliquam lorem eros, pharetra nec egestas vitae, mattis nec risus. Mauris arcu 
massa, sodales eget gravida sed, viverra vitae turpis. Ut ligula urna, euismod 
ac tincidunt eu, faucibus sed felis. Praesent mollis, ipsum quis rhoncus 
dignissim, odio sem venenatis nulla, at consequat felis augue vel erat. Nam 
fermentum feugiat volutpat. Class aptent taciti sociosqu ad litora torquent per 
conubia nostra, per inceptos himenaeos. Etiam vitae dui in nisi adipiscing 
ultricies non eu justo. Donec tristique ultricies adipiscing. Nulla sodales, 
nunc a tristique elementum, erat neque egestas nisl, at hendrerit orci sapien 
sed libero. Vivamus a mauris turpis, quis laoreet ipsum. Nunc nec mi et nisl 
pellentesque scelerisque. Vivamus volutpat, justo tristique lacinia 
condimentum, erat justo ultrices urna, elementum viverra eros augue non libero. 
Sed mollis mollis arcu, at fermentum diam suscipit quis.
-
-Etiam sit amet nibh justo, posuere volutpat nunc. Morbi pellentesque neque in 
orci volutpat eu scelerisque lorem dictum. Mauris mollis iaculis est, nec 
sagittis sapien consequat id. Nunc nec malesuada odio. Duis quis suscipit odio. 
Mauris purus dui, sodales id mattis sit amet, posuere in arcu. Phasellus porta 
elementum convallis. Maecenas at orci et mi vulputate sollicitudin in in 
turpis. Pellentesque cursus adipiscing neque sit amet commodo. Fusce ut mi eu 
lectus porttitor volutpat et nec felis.
-
-Curabitur scelerisque eros quis nisl viverra vel ultrices velit vestibulum. 
Sed lobortis pulvinar sapien ac venenatis. Sed ante nibh, rhoncus eget dictum 
in, mollis ut nisi. Phasellus facilisis mi non lorem tristique non eleifend sem 
fringilla. Integer ut augue est. In venenatis tincidunt scelerisque. Etiam ante 
dui, posuere quis malesuada vitae, malesuada a arcu. Aenean faucibus venenatis 
sapien, ut facilisis nisi blandit vel. Aenean ac lorem eu sem fermentum 
placerat. Proin neque purus, aliquet ut tincidunt ut, convallis sit amet eros. 
Phasellus vehicula ullamcorper enim non vehicula. Etiam porta odio ut ipsum 
adipiscing egestas id a odio. Pellentesque blandit, sapien ut pulvinar 
interdum, mi nulla hendrerit elit, in tempor diam enim a urna. In tellus odio, 
ornare sed condimentum a, mattis eu augue.
-
-Fusce hendrerit porttitor euismod. Donec malesuada egestas turpis, et 
ultricies felis elementum vitae. Nullam in sem nibh. Nullam ultricies hendrerit 
justo sit amet lobortis. Sed tincidunt, mauris at ornare laoreet, sapien purus 
elementum elit, nec porttitor nisl purus et erat. Donec felis nisi, rutrum 
ullamcorper gravida ac, tincidunt sit amet urna. Proin vel justo vitae eros 
sagittis bibendum a ut nibh. Phasellus sodales laoreet tincidunt. Maecenas odio 
massa, condimentum id aliquet ut, rhoncus vel lectus. Duis pharetra consectetur 
sapien. Phasellus posuere ultricies massa, non rhoncus risus aliquam tempus.
-
-Praesent venenatis magna id sem dictum eu vehicula ipsum vulputate. Sed a 
convallis sapien. Sed justo dolor, rhoncus vel rutrum mattis, sollicitudin ut 
risus. Nullam sit amet convallis est. Etiam non tincidunt ligula. Fusce 
suscipit pretium elit at ullamcorper. Quisque sollicitudin, diam id interdum 
porta, metus ipsum volutpat libero, id venenatis felis orci non velit. 
Suspendisse potenti. Mauris rutrum, tortor sit amet pellentesque tincidunt, 
erat quam ultricies odio, id aliquam elit leo nec leo. Pellentesque justo eros, 
rutrum at feugiat nec, porta et tellus. Aenean eget metus lectus.
-
-Praesent euismod, turpis quis laoreet consequat, neque ante imperdiet quam, ac 
semper tortor nibh in nulla. Integer scelerisque eros vehicula urna lacinia ac 
facilisis mauris accumsan. Phasellus at mauris nibh. Curabitur enim ante, 
rutrum sed adipiscing hendrerit, pellentesque non augue. In hac habitasse 
platea dictumst. Nam tempus euismod massa a dictum. Donec sit amet justo ac 
diam ultricies ultricies. Sed tincidunt erat quis quam tempus vel interdum erat 
rhoncus. In hac habitasse platea dictumst. Vestibulum vehicula varius sem eget 
interdum. Cras bibendum leo nec felis venenatis sed pharetra sem feugiat. Cum 
sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus 
mus. Sed quam orci, mollis eget sagittis accumsan, vulputate sit amet dui. 
Praesent eu elementum arcu.
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nisl 
metus, hendrerit ut laoreet sed, consectetur at purus. Duis interdum congue 
lobortis. Nullam sed massa porta felis eleifend consequat sit amet nec metus. 
Aliquam placerat dictum erat at eleifend. Vestibulum libero ante, ullamcorper a 
porttitor suscipit, accumsan vel nisi. Donec et magna neque. Nam elementum 
ultrices justo, eget sollicitudin sapien imperdiet eget. Nullam auctor dictum 
nunc, at feugiat odio vestibulum a. Sed erat nulla, viverra hendrerit commodo 
id, ullamcorper ac orci. Phasellus pellentesque feugiat suscipit. Etiam egestas 
fermentum enim. Etiam gravida interdum tellus ac laoreet. Morbi mattis aliquet 
eros, non tempor erat ullamcorper in. Etiam pulvinar interdum turpis ac 
vehicula. Sed quam justo, accumsan id consectetur a, aliquet sed leo. Aenean 
vitae blandit mauris.
-
-In sed eros augue, non rutrum odio. Etiam vitae dui neque, in tristique massa. 
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere 
cubilia Curae; Maecenas dictum elit at lectus tempor non pharetra nisl 
hendrerit. Sed sed quam eu lectus ultrices malesuada tincidunt a est. Nam vel 
eros risus. Maecenas eros elit, blandit fermentum tempor eget, lobortis id 
diam. Vestibulum lacinia lacus vitae magna volutpat eu dignissim eros 
convallis. Vivamus ac velit tellus, a congue neque. Integer mi nulla, varius 
non luctus in, dictum sit amet sem. Ut laoreet, sapien sit amet scelerisque 
porta, purus sapien vestibulum nibh, sed luctus libero massa ac elit. Donec 
iaculis odio eget odio sagittis nec venenatis lorem blandit.
-
-Aliquam imperdiet tellus posuere justo vehicula sed vestibulum ante tristique. 
Fusce feugiat faucibus purus nec molestie. Nulla tempor neque id magna iaculis 
quis sollicitudin eros semper. Praesent viverra sagittis luctus. Morbi sit amet 
magna sed odio gravida varius. Ut nisi libero, vulputate feugiat pretium 
tempus, egestas sit amet justo. Pellentesque consequat tempor nisi in lobortis. 
Sed fermentum convallis dui ac sollicitudin. Integer auctor augue eget tellus 
tempus fringilla. Proin nec dolor sapien, nec tristique nibh. Aliquam a velit 
at mi mattis aliquet.
-
-Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac 
turpis egestas. Aliquam ultrices erat non turpis auctor id ornare mauris 
sagittis. Quisque porttitor, tellus ut convallis sagittis, mi libero feugiat 
tellus, rhoncus placerat ipsum tortor id risus. Donec tincidunt feugiat leo. 
Cras id mi neque, eu malesuada eros. Ut molestie magna quis libero placerat 
malesuada. Aliquam erat volutpat. Aliquam non mauris lorem, in adipiscing 
metus. Donec eget ipsum in elit commodo ornare bibendum a nibh. Vivamus odio 
erat, placerat ac vestibulum eget, malesuada ut nisi. Etiam suscipit 
sollicitudin leo semper sollicitudin. Sed rhoncus risus sit amet sem eleifend 
dictum pretium sapien egestas. Nulla at urna nunc, vel aliquet leo. Praesent 
ultricies, mi eu pretium lobortis, erat nibh euismod leo, sit amet gravida 
sapien eros et turpis. Donec lacinia venenatis lectus, non lacinia mi hendrerit 
sit amet. Integer sed felis vel orci aliquam pulvinar. Phasellus et risus id 
erat euis
 mod tincidunt. Sed luctus tempor nisi, nec tempor ipsum elementum eget. 
Integer nisl tortor, viverra in dapibus at, mattis ac erat. Curabitur nec dui 
lectus.
-
-Phasellus suscipit, tortor eu varius fringilla, sapien magna egestas risus, ut 
suscipit dui mauris quis velit. Cras a sapien quis sapien hendrerit tristique a 
sit amet elit. Pellentesque dui arcu, malesuada et sodales sit amet, dapibus 
vel quam. Sed non adipiscing ligula. Ut vulputate purus at nisl posuere 
sodales. Maecenas diam velit, tincidunt id mattis eu, aliquam ac nisi. Maecenas 
pretium, augue a sagittis suscipit, leo ligula eleifend dolor, mollis feugiat 
odio augue non eros. Pellentesque scelerisque orci pretium quam mollis at 
lobortis dui facilisis. Morbi congue metus id tortor porta fringilla. Sed lorem 
mi, molestie fermentum sagittis at, gravida a nisi. Donec eu vestibulum velit. 
In viverra, enim eu elementum sodales, enim odio dapibus urna, eget commodo 
nisl mauris ut odio. Curabitur nec enim nulla. In nec elit ipsum. Nunc in massa 
suscipit magna elementum faucibus in nec ipsum. Nullam suscipit malesuada 
elementum. Etiam sed mi in nibh ultricies venenatis nec pharetra mag
 na. In purus ante, rhoncus vel placerat sed, fermentum sit amet dui. Sed at 
sodales velit.
-
-Duis suscipit pellentesque pellentesque. Praesent porta lobortis cursus. 
Quisque sagittis velit non tellus bibendum at sollicitudin lacus aliquet. Sed 
nibh risus, blandit a aliquet eget, vehicula et est. Suspendisse facilisis 
bibendum aliquam. Fusce consectetur convallis erat, eget mollis diam fermentum 
sollicitudin. Quisque tincidunt porttitor pretium. Nullam id nisl et urna 
vulputate dapibus. Donec quis lorem urna. Quisque id justo nec nunc blandit 
convallis. Nunc volutpat, massa sollicitudin adipiscing vestibulum, massa urna 
congue lectus, sit amet ultricies augue orci convallis turpis. Nulla at lorem 
elit. Nunc tristique, quam facilisis commodo porttitor, lacus ligula accumsan 
nisi, et laoreet justo ante vitae eros. Curabitur sed augue arcu. Phasellus 
porttitor vestibulum felis, ut consectetur arcu tempor non. In justo risus, 
semper et suscipit id, ullamcorper at urna. Quisque tincidunt, urna nec aliquam 
tristique, nibh odio faucibus augue, in ornare enim turpis accumsan dolor. 
 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac 
turpis egestas. Suspendisse sodales varius turpis eu fermentum.
-
-Morbi ultricies diam eget massa posuere lobortis. Aliquam volutpat 
pellentesque enim eu porttitor. Donec lacus felis, consectetur a pretium vitae, 
bibendum non enim. Pellentesque habitant morbi tristique senectus et netus et 
malesuada fames ac turpis egestas. Etiam ut nibh a quam pellentesque auctor ut 
id velit. Duis lacinia justo eget mi placerat bibendum. Cum sociis natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec velit 
tortor, tempus nec tristique id, aliquet sit amet turpis. Praesent et neque nec 
magna porta fringilla. Morbi id egestas eros. Donec semper tincidunt 
ullamcorper. Phasellus tempus lacinia hendrerit. Quisque faucibus pretium neque 
non convallis. Nunc malesuada accumsan rhoncus. Cras lobortis, sem sed 
fringilla convallis, augue velit semper nisl, commodo varius nisi diam ac leo.
-
-Quisque interdum tellus ac ante posuere ut cursus lorem egestas. Nulla 
facilisi. Aenean sed massa nec nisi scelerisque vulputate. Etiam convallis 
consectetur iaculis. Maecenas ac purus ut ante dignissim auctor ac quis lorem. 
Pellentesque suscipit tincidunt orci. Fusce aliquam dapibus orci, at bibendum 
ipsum adipiscing eget. Morbi pellentesque hendrerit quam, nec placerat urna 
vulputate sed. Quisque vel diam lorem. Praesent id diam quis enim elementum 
rhoncus sagittis eget purus. Quisque fringilla bibendum leo in laoreet. 
Vestibulum id nibh risus, non elementum metus. Ut a felis diam, non mollis 
nisl. Cras elit ante, ullamcorper quis iaculis eu, sodales vel est. Curabitur 
quis lobortis dolor. Aliquam mattis gravida metus pellentesque vulputate.
-
-Ut id augue id dolor luctus euismod et quis velit. Maecenas enim dolor, tempus 
sit amet hendrerit eu, faucibus vitae neque. Proin sit amet varius elit. Proin 
varius felis ullamcorper purus dignissim consequat. Cras cursus tempus eros. 
Nunc ultrices venenatis ullamcorper. Aliquam et feugiat tellus. Phasellus sit 
amet vestibulum elit. Phasellus ac purus lacus, et accumsan eros. Morbi 
ultrices, purus a porta sodales, odio metus posuere neque, nec elementum risus 
turpis sit amet magna. Sed est quam, ultricies at congue adipiscing, lobortis 
in justo. Proin iaculis dictum nunc, eu laoreet quam varius vitae. Donec sit 
amet feugiat turpis. Mauris sit amet magna quam, ac consectetur dui. Curabitur 
eget magna tellus, eu pharetra felis. Donec sit amet tortor nisl. Aliquam et 
tortor facilisis lacus tincidunt commodo. Pellentesque habitant morbi tristique 
senectus et netus et malesuada fames ac turpis egestas. Curabitur nunc magna, 
ultricies id convallis at, ullamcorper vitae massa.
-
-Phasellus viverra iaculis placerat. Nulla consequat dolor sit amet erat 
dignissim posuere. Nulla lacinia augue vitae mi tempor gravida. Phasellus non 
tempor tellus. Quisque non enim semper tortor sagittis facilisis. Aliquam urna 
felis, egestas at posuere nec, aliquet eu nibh. Praesent sed vestibulum enim. 
Mauris iaculis velit dui, et fringilla enim. Nulla nec nisi orci. Sed volutpat, 
justo eget fringilla adipiscing, nisl nulla condimentum libero, sed sodales est 
est et odio. Cras ipsum dui, varius eu elementum consequat, faucibus in leo. 
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac 
turpis egestas.
-
-Ut malesuada molestie eleifend. Curabitur id enim dui, eu tincidunt nibh. 
Mauris sit amet ante leo. Duis turpis ipsum, bibendum sed mattis sit amet, 
accumsan quis dolor. Vestibulum ante ipsum primis in faucibus orci luctus et 
ultrices posuere cubilia Curae; Aenean a imperdiet metus. Quisque sollicitudin 
felis id neque tempor scelerisque. Donec at orci felis. Vivamus tempus 
convallis auctor. Donec interdum euismod lobortis. Sed at lacus nec odio 
dignissim mollis. Sed sapien orci, porttitor tempus accumsan vel, tincidunt nec 
ante. Nunc rhoncus egestas dapibus. Suspendisse fermentum dictum fringilla. 
Nullam nisi justo, eleifend a consectetur convallis, porttitor et tortor. Proin 
vitae lorem non dolor suscipit lacinia eu eget nulla.
-
-Suspendisse egestas, sapien sit amet blandit scelerisque, nulla arcu tristique 
dui, a porta justo quam vitae arcu. In metus libero, bibendum non volutpat ut, 
laoreet vel turpis. Nunc faucibus velit eu ipsum commodo nec iaculis eros 
volutpat. Vivamus congue auctor elit sed suscipit. Duis commodo, libero eu 
vestibulum feugiat, leo mi dapibus tellus, in placerat nisl dui at est. 
Vestibulum viverra tristique lorem, ornare egestas erat rutrum a. Nullam at 
augue massa, ut consectetur ipsum. Pellentesque malesuada, velit ut lobortis 
sagittis, nisi massa semper odio, malesuada semper purus nisl vel lectus. Nunc 
dui sem, mattis vitae laoreet vitae, sollicitudin ac leo. Nulla vel fermentum 
est.
-
-Vivamus in odio a nisi dignissim rhoncus in in lacus. Donec et nisl tortor. 
Donec sagittis consequat mi, vel placerat tellus convallis id. Aliquam 
facilisis rutrum nisl sed pretium. Donec et lacinia nisl. Aliquam erat 
volutpat. Curabitur ac pulvinar tellus. Nullam varius lobortis porta. Cras 
dapibus, ligula ut porta ultricies, leo lacus viverra purus, quis mollis urna 
risus eu leo. Nunc malesuada consectetur purus, vel auctor lectus scelerisque 
posuere. Maecenas dui massa, vestibulum bibendum blandit non, interdum eget 
mauris. Phasellus est ante, pulvinar at imperdiet quis, imperdiet vel urna. 
Quisque eget volutpat orci. Quisque et arcu purus, ut faucibus velit.
-
-Praesent sed ipsum urna. Praesent sagittis varius magna, id commodo dolor 
malesuada ac. Pellentesque habitant morbi tristique senectus et netus et 
malesuada fames ac turpis egestas. Quisque sit amet nunc eu sem ornare tempor. 
Mauris id dolor nec erat convallis porta in lobortis nisi. Curabitur hendrerit 
rhoncus tortor eu hendrerit. Pellentesque eu ante vel elit luctus eleifend quis 
viverra nulla. Suspendisse odio diam, euismod eu porttitor molestie, 
sollicitudin sit amet nulla. Sed ante urna, dictum bibendum rhoncus et, blandit 
nec ante. Suspendisse tortor augue, accumsan quis suscipit id, accumsan sit 
amet erat. Donec pharetra varius lobortis. Maecenas ipsum diam, faucibus eu 
tempus id, convallis nec enim. Duis arcu turpis, fringilla nec egestas ut, 
dignissim tristique nulla. Curabitur suscipit dui non justo ultrices pharetra. 
Aliquam erat volutpat. Nulla facilisi. Quisque id felis eu sem aliquam 
fringilla.
-
-Etiam quis augue in tellus consequat eleifend. Aenean dignissim congue felis 
id elementum. Duis fringilla varius ipsum, nec suscipit leo semper vel. Ut 
sollicitudin, orci a tincidunt accumsan, diam lectus laoreet lacus, vel 
fermentum quam est vel eros. Aliquam fringilla sapien ac sapien faucibus 
convallis. Aliquam id nunc eu justo consequat tincidunt. Quisque nec nisl dui. 
Phasellus augue lectus, varius vitae auctor vel, rutrum at risus. Vivamus 
lacinia leo quis neque ultrices nec elementum felis fringilla. Proin vel 
porttitor lectus.
-
-Curabitur sapien lorem, mollis ut accumsan non, ultricies et metus. Curabitur 
vel lorem quis sapien fringilla laoreet. Morbi id urna ac orci elementum 
blandit eget volutpat neque. Pellentesque sem odio, iaculis eu pharetra vitae, 
cursus in quam. Nulla molestie ligula id massa luctus et pulvinar nisi 
pulvinar. Nunc fermentum augue a lacus fringilla rhoncus porttitor erat dictum. 
Nunc sit amet tellus et dui viverra auctor euismod at nisl. In sed congue 
magna. Proin et tortor ut augue placerat dignissim a eu justo. Morbi porttitor 
porta lobortis. Pellentesque nibh lacus, adipiscing ut tristique quis, 
consequat vitae velit. Maecenas ut luctus libero. Vivamus auctor odio et erat 
semper sagittis. Vivamus interdum velit in risus mattis quis dictum ante 
rhoncus. In sagittis porttitor eros, at lobortis metus ultrices vel. Curabitur 
non aliquam nisl. Vestibulum luctus feugiat suscipit. Etiam non lacus vel nulla 
egestas iaculis id quis risus.
-
-Etiam in auctor urna. Fusce ultricies molestie convallis. In hac habitasse 
platea dictumst. Vestibulum ante ipsum primis in faucibus orci luctus et 
ultrices posuere cubilia Curae; Mauris iaculis lorem faucibus purus gravida at 
convallis turpis sollicitudin. Suspendisse at velit lorem, a fermentum ipsum. 
Etiam condimentum, dui vel condimentum elementum, sapien sem blandit sapien, et 
pharetra leo neque et lectus. Nunc viverra urna iaculis augue ultrices ac 
porttitor lacus dignissim. Aliquam ut turpis dui. Sed eget aliquet felis. In 
bibendum nibh sit amet sapien accumsan accumsan pharetra magna molestie.
-
-Mauris aliquet urna eget lectus adipiscing at congue turpis consequat. Vivamus 
tincidunt fermentum risus et feugiat. Nulla molestie ullamcorper nibh sed 
facilisis. Phasellus et cursus purus. Nam cursus, dui dictum ultrices viverra, 
erat risus varius elit, eu molestie dui eros quis quam. Aliquam et ante neque, 
ac consectetur dui. Donec condimentum erat id elit dictum sed accumsan leo 
sagittis. Proin consequat congue risus, vel tincidunt leo imperdiet eu. 
Vestibulum malesuada turpis eu metus imperdiet pretium. Aliquam condimentum 
ultrices nibh, eu semper enim eleifend a. Etiam condimentum nisl quam.
-
-Pellentesque id molestie nisl. Maecenas et lectus at justo molestie viverra 
sit amet sit amet ligula. Nullam non porttitor magna. Quisque elementum arcu 
cursus tortor rutrum lobortis. Morbi sit amet lectus vitae enim euismod 
dignissim eget at neque. Vivamus consequat vehicula dui, vitae auctor augue 
dignissim in. In tempus sem quis justo tincidunt sit amet auctor turpis 
lobortis. Pellentesque non est nunc. Vestibulum mollis fringilla interdum. 
Maecenas ipsum dolor, pharetra id tristique mattis, luctus vitae urna. Ut 
ullamcorper arcu eget elit convallis mollis. Pellentesque condimentum, massa ac 
hendrerit tempor, mauris purus blandit justo, et pharetra leo justo a est. Duis 
arcu augue, facilisis vel dignissim sed, aliquam quis magna. Quisque non 
consequat dolor. Suspendisse a ultrices leo.
-
-Donec vitae pretium nibh. Maecenas bibendum bibendum diam in placerat. Ut 
accumsan, mi vitae vestibulum euismod, nunc justo vulputate nisi, non placerat 
mi urna et diam. Maecenas malesuada lorem ut arcu mattis mollis. Nulla 
facilisi. Donec est leo, bibendum eu pulvinar in, cursus vel metus. Aliquam 
erat volutpat. Nullam feugiat porttitor neque in vulputate. Quisque nec mi eu 
magna consequat cursus non at arcu. Etiam risus metus, sollicitudin et ultrices 
at, tincidunt sed nunc. Sed eget scelerisque augue. Ut fringilla venenatis sem 
non eleifend. Nunc mattis, risus sit amet vulputate varius, risus justo egestas 
mauris, id interdum odio ipsum et nisl. Lorem ipsum dolor sit amet, consectetur 
adipiscing elit. Morbi id erat odio, nec pulvinar enim.
-
-Curabitur ac fermentum quam. Morbi eu eros sapien, vitae tempus dolor. Mauris 
vestibulum blandit enim ut venenatis. Aliquam egestas, eros at consectetur 
tincidunt, lorem augue iaculis est, nec mollis felis arcu in nunc. Sed in odio 
sed libero pellentesque volutpat vitae a ante. Morbi commodo volutpat tellus, 
ut viverra purus placerat fermentum. Integer iaculis facilisis arcu, at gravida 
lorem bibendum at. Aenean id eros eget est sagittis convallis sed et dui. Donec 
eu pulvinar tellus. Nunc dignissim rhoncus tellus, at pellentesque metus luctus 
at. Sed ornare aliquam diam, a porttitor leo sollicitudin sed. Nam vitae lectus 
lacus. Integer adipiscing quam neque, blandit posuere libero. Sed libero nunc, 
egestas sodales tempus sed, cursus blandit tellus. Vestibulum mi purus, 
ultricies quis placerat vel, molestie at dui.
-
-Nulla commodo odio justo. Pellentesque non ornare diam. In consectetur sapien 
ac nunc sagittis malesuada. Morbi ullamcorper tempor erat nec rutrum. Duis ut 
commodo justo. Cras est orci, consectetur sed interdum sed, scelerisque sit 
amet nulla. Vestibulum justo nulla, pellentesque a tempus et, dapibus et arcu. 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi tristique, eros 
nec congue adipiscing, ligula sem rhoncus felis, at ornare tellus mauris ac 
risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere 
cubilia Curae; Proin mauris dui, tempor fermentum dictum et, cursus a leo. 
Maecenas nec nisl a tellus pellentesque rhoncus. Nullam ultrices euismod dui eu 
congue.
-
-In nec tempor risus. In faucibus nisi eget diam dignissim consequat. Donec 
pulvinar ante nec enim mattis rutrum. Vestibulum leo augue, molestie nec 
dapibus in, dictum at enim. Integer aliquam, lorem eu vulputate lacinia, mi 
orci tempor enim, eget mattis ligula magna a magna. Praesent sed erat ut tortor 
interdum viverra. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nulla facilisi. Maecenas sit amet lectus lacus. Nunc vitae purus id ligula 
laoreet condimentum. Duis auctor tortor vel dui pulvinar a facilisis arcu 
dignissim. In hac habitasse platea dictumst. Donec sollicitudin pellentesque 
egestas. Sed sed sem justo. Maecenas laoreet hendrerit mauris, ut porttitor 
lorem iaculis ac. Quisque molestie sem quis lorem tempor rutrum. Phasellus nibh 
mauris, rhoncus in consectetur non, aliquet eu massa.
-
-Curabitur velit arcu, pretium porta placerat quis, varius ut metus. Vestibulum 
vulputate tincidunt justo, vitae porttitor lectus imperdiet sit amet. Vivamus 
enim dolor, sollicitudin ut semper non, ornare ornare dui. Aliquam tempor 
fermentum sapien eget condimentum. Curabitur laoreet bibendum ante, in euismod 
lacus lacinia eu. Pellentesque habitant morbi tristique senectus et netus et 
malesuada fames ac turpis egestas. Suspendisse potenti. Sed at libero eu tortor 
tempus scelerisque. Nulla facilisi. Nullam vitae neque id justo viverra rhoncus 
pretium at libero. Etiam est urna, aliquam vel pulvinar non, ornare vel purus.
-
-Nulla varius, nisi eget condimentum semper, metus est dictum odio, vel mattis 
risus est sed velit. Cum sociis natoque penatibus et magnis dis parturient 
montes, nascetur ridiculus mus. Nunc non est nec tellus ultricies mattis ut 
eget velit. Integer condimentum ante id lorem blandit lacinia. Donec vel tortor 
augue, in condimentum nisi. Pellentesque pellentesque nulla ut nulla porttitor 
quis sodales enim rutrum. Sed augue risus, euismod a aliquet at, vulputate non 
libero. Nullam nibh odio, dignissim fermentum pulvinar ac, congue eu mi. Duis 
tincidunt, nibh id venenatis placerat, diam turpis gravida leo, sit amet mollis 
massa dolor quis mauris. Vivamus scelerisque sodales arcu et dapibus. 
Suspendisse potenti. Cras quis tellus arcu, quis laoreet sem. Fusce porttitor, 
sapien vel tristique sodales, velit leo porta arcu, quis pellentesque nunc 
metus non odio. Nam arcu libero, ullamcorper ut pharetra non, dignissim et 
velit. Quisque dolor lorem, vehicula sit amet scelerisque in, varius at n
 ulla. Pellentesque vitae sem eget tortor iaculis pulvinar. Sed nunc justo, 
euismod gravida pulvinar eget, gravida eget turpis. Cras vel dictum nisi. 
Nullam nulla libero, gravida sit amet aliquam quis, commodo vitae odio. Cras 
vitae nibh nec dui placerat semper.
-
-Vivamus at fringilla eros. Vivamus at nisl id massa commodo feugiat quis non 
massa. Morbi tellus urna, auctor sit amet elementum sed, rutrum non lectus. 
Nulla feugiat dui in sapien ornare et imperdiet est ornare. Pellentesque 
habitant morbi tristique senectus et netus et malesuada fames ac turpis 
egestas. Vestibulum semper rutrum tempor. Sed in felis nibh, sed aliquam enim. 
Curabitur ut quam scelerisque velit placerat dictum. Donec eleifend vehicula 
purus, eu vestibulum sapien rutrum eu. Vivamus in odio vel est vulputate 
iaculis. Nunc rutrum feugiat pretium.
-
-Maecenas ipsum neque, auctor quis lacinia vitae, euismod ac orci. Donec 
molestie massa consequat est porta ac porta purus tincidunt. Nam bibendum leo 
nec lacus mollis non condimentum dolor rhoncus. Nulla ac volutpat lorem. Nullam 
erat purus, convallis eget commodo id, varius quis augue. Nullam aliquam 
egestas mi, vel suscipit nisl mattis consequat. Quisque vel egestas sapien. 
Nunc lorem velit, convallis nec laoreet et, aliquet eget massa. Nam et nibh ac 
dui vehicula aliquam quis eu augue. Cras vel magna ut elit rhoncus interdum 
iaculis volutpat nisl. Suspendisse arcu lorem, varius rhoncus tempor id, 
pulvinar sed tortor. Pellentesque ultricies laoreet odio ac dignissim. Aliquam 
diam arcu, placerat quis egestas eget, facilisis eu nunc. Mauris vulputate, 
nisl sit amet mollis interdum, risus tortor ornare orci, sed egestas orci eros 
non diam. Vestibulum hendrerit, metus quis placerat pellentesque, enim purus 
faucibus dui, sit amet ultricies lectus ipsum id lorem. Class aptent taciti soc
 iosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent 
eget diam odio, eu bibendum elit. In vestibulum orci eu erat tincidunt 
tristique.
-
-Cras consectetur ante eu turpis placerat sollicitudin. Mauris et lacus tortor, 
eget pharetra velit. Donec accumsan ultrices tempor. Donec at nibh a elit 
condimentum dapibus. Integer sit amet vulputate ante. Suspendisse potenti. In 
sodales laoreet massa vitae lacinia. Morbi vel lacus feugiat arcu vulputate 
molestie. Aliquam massa magna, ullamcorper accumsan gravida quis, rhoncus 
pulvinar nulla. Praesent sit amet ipsum diam, sit amet lacinia neque. In et 
sapien augue. Etiam enim elit, ultrices vel rutrum id, scelerisque non enim.
-
-Proin et egestas neque. Praesent et ipsum dolor. Nunc non varius nisl. Fusce 
in tortor nisi. Maecenas convallis neque in ligula blandit quis vehicula leo 
mollis. Pellentesque sagittis blandit leo, dapibus pellentesque leo ultrices 
ac. Curabitur ac egestas libero. Donec pretium pharetra pretium. Fusce 
imperdiet, turpis eu aliquam porta, ante elit eleifend risus, luctus auctor 
arcu ante ut nunc. Vivamus in leo felis, vitae eleifend lacus. Donec tempus 
aliquam purus porttitor tristique. Suspendisse diam neque, suscipit feugiat 
fringilla non, eleifend sit nullam.

Reply via email to