bitbake: Update to 1.46.2 release

Message ID 20200817145404.15198-1-Vijaikumar_Kanagarajan@mentor.com
State Superseded, archived
Headers show
Series bitbake: Update to 1.46.2 release | expand

Commit Message

Vijai Kumar K Aug. 17, 2020, 6:54 a.m. UTC
Update bitbake to the latest 1.46.2 release.

Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com>
---
 bitbake/bin/bitbake                           |    2 +-
 bitbake/bin/bitbake-layers                    |    4 +-
 bitbake/bin/bitbake-worker                    |   11 +-
 bitbake/bin/toaster                           |   19 +-
 bitbake/classes/base.bbclass                  |   26 +-
 bitbake/conf/bitbake.conf                     |    3 -
 bitbake/contrib/autobuilderlog.json           |   13 +
 bitbake/contrib/vim/indent/bitbake.vim        |  343 +++
 .../bitbake-user-manual-execution.xml         |  109 +-
 .../bitbake-user-manual-fetching.xml          |    2 +-
 .../bitbake-user-manual-hello.xml             |   14 +-
 .../bitbake-user-manual-intro.xml             |   27 +-
 .../bitbake-user-manual-metadata.xml          |   44 +-
 .../bitbake-user-manual-ref-variables.xml     |   13 +-
 bitbake/lib/bb/COW.py                         |    1 -
 bitbake/lib/bb/__init__.py                    |   14 +-
 bitbake/lib/bb/build.py                       |   28 +-
 bitbake/lib/bb/cache.py                       |   29 +-
 bitbake/lib/bb/checksum.py                    |    6 +-
 bitbake/lib/bb/codeparser.py                  |   26 +-
 bitbake/lib/bb/command.py                     |  102 +-
 bitbake/lib/bb/cooker.py                      |   50 +-
 bitbake/lib/bb/data.py                        |    6 +-
 bitbake/lib/bb/data_smart.py                  |   63 +-
 bitbake/lib/bb/event.py                       |    7 +-
 bitbake/lib/bb/fetch2/__init__.py             |  276 +-
 bitbake/lib/bb/fetch2/bzr.py                  |    2 -
 bitbake/lib/bb/fetch2/clearcase.py            |    9 +-
 bitbake/lib/bb/fetch2/cvs.py                  |    1 -
 bitbake/lib/bb/fetch2/git.py                  |   31 +-
 bitbake/lib/bb/fetch2/gitannex.py             |    2 -
 bitbake/lib/bb/fetch2/gitsm.py                |   22 +-
 bitbake/lib/bb/fetch2/hg.py                   |   29 +-
 bitbake/lib/bb/fetch2/npm.py                  |  539 ++--
 bitbake/lib/bb/fetch2/npmsw.py                |  255 ++
 bitbake/lib/bb/fetch2/osc.py                  |    4 +-
 bitbake/lib/bb/fetch2/perforce.py             |    3 +-
 bitbake/lib/bb/fetch2/ssh.py                  |    4 +-
 bitbake/lib/bb/fetch2/svn.py                  |   22 +-
 bitbake/lib/bb/fetch2/wget.py                 |   11 +-
 bitbake/lib/bb/monitordisk.py                 |    2 +-
 bitbake/lib/bb/msg.py                         |  184 +-
 bitbake/lib/bb/parse/ast.py                   |   24 +-
 bitbake/lib/bb/parse/parse_py/BBHandler.py    |    2 -
 bitbake/lib/bb/parse/parse_py/ConfHandler.py  |   46 +-
 bitbake/lib/bb/persist_data.py                |    3 +
 bitbake/lib/bb/progress.py                    |    1 -
 bitbake/lib/bb/providers.py                   |    6 +-
 bitbake/lib/bb/pysh/pyshyacc.py               |    1 +
 bitbake/lib/bb/remotedata.py                  |   49 +-
 bitbake/lib/bb/runqueue.py                    |  206 +-
 bitbake/lib/bb/server/process.py              |   25 +-
 bitbake/lib/bb/server/xmlrpcclient.py         |    3 -
 bitbake/lib/bb/server/xmlrpcserver.py         |    3 -
 bitbake/lib/bb/siggen.py                      |  194 +-
 bitbake/lib/bb/taskdata.py                    |    2 +-
 bitbake/lib/bb/tests/cooker.py                |    1 -
 bitbake/lib/bb/tests/cow.py                   |    2 +-
 bitbake/lib/bb/tests/data.py                  |  141 +-
 .../tests/fetch-testdata/apple/cups/releases  | 2400 +++++++++++++++++
 .../debian/pool/main/d/db5.3/index.html       |  509 ++++
 .../downloads/enchant/1.6.0/index.html        |   15 +
 .../fetch-testdata/files/v2.8/index.html      |  774 ++++++
 .../fetch-testdata/files/v3.0/index.html      |  209 ++
 .../fetch-testdata/files/v3.1/index.html      |  156 ++
 .../fetch-testdata/files/v3.10/index.html     |  131 +
 .../fetch-testdata/files/v3.11/index.html     |  131 +
 .../fetch-testdata/files/v3.12/index.html     |  118 +
 .../fetch-testdata/files/v3.13/index.html     |  131 +
 .../fetch-testdata/files/v3.14/index.html     |  170 ++
 .../fetch-testdata/files/v3.15/index.html     |  157 ++
 .../fetch-testdata/files/v3.16/index.html     |   86 +
 .../fetch-testdata/files/v3.2/index.html      |  132 +
 .../fetch-testdata/files/v3.3/index.html      |  163 ++
 .../fetch-testdata/files/v3.4/index.html      |  127 +
 .../fetch-testdata/files/v3.5/index.html      |  111 +
 .../fetch-testdata/files/v3.6/index.html      |  159 ++
 .../fetch-testdata/files/v3.7/index.html      |   92 +
 .../fetch-testdata/files/v3.8/index.html      |  105 +
 .../fetch-testdata/files/v3.9/index.html      |  183 ++
 .../linux/utils/util-linux/v2.23/index.html   |   45 +
 .../linux/utils/util-linux/v2.24/index.html   |   43 +
 .../linux/utils/util-linux/v2.25/index.html   |   46 +
 .../linux/utils/util-linux/v2.26/index.html   |   42 +
 .../linux/utils/util-linux/v2.27/index.html   |   35 +
 .../linux/utils/util-linux/v2.28/index.html   |   42 +
 .../linux/utils/util-linux/v2.29/index.html   |   42 +
 .../linux/utils/util-linux/v2.30/index.html   |   42 +
 .../linux/utils/util-linux/v2.31/index.html   |   35 +
 .../linux/utils/util-linux/v2.32/index.html   |   35 +
 .../linux/utils/util-linux/v2.33/index.html   |   42 +
 .../linux/utils/util-linux/v2.34/index.html   |   28 +
 .../linux/utils/util-linux/v2.35/index.html   |   18 +
 .../fetch-testdata/releases/eglibc/index.html |   21 +
 .../releases/gnu-config/index.html            |    9 +
 .../releases/individual/xserver/index.html    |  609 +++++
 .../software/pulseaudio/releases/index.html   |  383 +++
 bitbake/lib/bb/tests/fetch.py                 |  571 +++-
 bitbake/lib/bb/tests/runqueue.py              |    3 +-
 bitbake/lib/bb/tests/support/httpserver.py    |   65 +
 bitbake/lib/bb/tests/utils.py                 |   70 +
 bitbake/lib/bb/tinfoil.py                     |  183 +-
 bitbake/lib/bb/ui/buildinfohelper.py          |    8 +-
 bitbake/lib/bb/ui/knotty.py                   |  252 +-
 bitbake/lib/bb/ui/ncurses.py                  |    5 +-
 bitbake/lib/bb/ui/taskexp.py                  |   17 +-
 bitbake/lib/bb/ui/teamcity.py                 |  396 +++
 bitbake/lib/bb/ui/toasterui.py                |    2 +-
 bitbake/lib/bb/ui/uievent.py                  |    2 +-
 bitbake/lib/bb/ui/uihelper.py                 |   39 +-
 bitbake/lib/bb/utils.py                       |  121 +-
 bitbake/lib/bblayers/common.py                |    2 +-
 bitbake/lib/bblayers/layerindex.py            |   17 +-
 bitbake/lib/bblayers/query.py                 |   20 +-
 bitbake/lib/bs4/__init__.py                   |    2 +-
 bitbake/lib/bs4/builder/_html5lib.py          |    3 +-
 bitbake/lib/bs4/dammit.py                     |    8 -
 bitbake/lib/bs4/element.py                    |    1 -
 bitbake/lib/bs4/testing.py                    |    1 -
 bitbake/lib/bs4/tests/test_docs.py            |    4 -
 bitbake/lib/bs4/tests/test_htmlparser.py      |    1 -
 bitbake/lib/bs4/tests/test_lxml.py            |    8 +-
 bitbake/lib/bs4/tests/test_soup.py            |    6 +-
 bitbake/lib/bs4/tests/test_tree.py            |   11 +-
 bitbake/lib/hashserv/__init__.py              |   22 +
 bitbake/lib/hashserv/client.py                |   52 +-
 bitbake/lib/hashserv/server.py                |  137 +-
 bitbake/lib/hashserv/tests.py                 |   23 +
 bitbake/lib/layerindexlib/cooker.py           |    5 +-
 bitbake/lib/layerindexlib/plugin.py           |    3 -
 bitbake/lib/layerindexlib/tests/cooker.py     |    3 -
 .../lib/layerindexlib/tests/layerindexobj.py  |    6 -
 bitbake/lib/layerindexlib/tests/restapi.py    |    3 -
 bitbake/lib/ply/yacc.py                       |    6 +-
 bitbake/lib/prserv/db.py                      |   14 +-
 bitbake/lib/prserv/serv.py                    |   38 +-
 bitbake/lib/pyinotify.py                      |    4 +-
 bitbake/lib/toaster/bldcollector/urls.py      |    2 +-
 bitbake/lib/toaster/bldcollector/views.py     |   10 +-
 bitbake/lib/toaster/bldcontrol/admin.py       |    1 -
 .../lib/toaster/bldcontrol/bbcontroller.py    |    4 +-
 .../bldcontrol/localhostbecontroller.py       |   11 +-
 .../management/commands/checksettings.py      |    6 +-
 .../management/commands/runbuilds.py          |    6 +-
 .../bldcontrol/migrations/0001_initial.py     |   18 +-
 bitbake/lib/toaster/bldcontrol/models.py      |   21 +-
 bitbake/lib/toaster/orm/fixtures/oe-core.xml  |   12 +-
 bitbake/lib/toaster/orm/fixtures/poky.xml     |   18 +-
 .../orm/management/commands/lsupdates.py      |    2 +-
 .../toaster/orm/migrations/0001_initial.py    |  100 +-
 .../orm/migrations/0002_customimagerecipe.py  |    6 +-
 .../orm/migrations/0003_customimagepackage.py |    2 +-
 .../toaster/orm/migrations/0004_provides.py   |    4 +-
 .../0008_refactor_artifact_models.py          |    4 +-
 .../orm/migrations/0011_delete_layersource.py |    2 +-
 .../0012_use_release_instead_of_up_branch.py  |    2 +-
 .../orm/migrations/0017_distro_clone.py       |    2 +-
 .../toaster/orm/migrations/0019_django_2_2.py |   23 +
 bitbake/lib/toaster/orm/models.py             |  102 +-
 .../tests/browser/selenium_helpers_base.py    |    1 -
 .../tests/browser/test_all_builds_page.py     |    2 +-
 .../tests/browser/test_all_projects_page.py   |    2 +-
 .../tests/browser/test_builddashboard_page.py |    2 +-
 .../test_builddashboard_page_artifacts.py     |    2 +-
 .../test_builddashboard_page_recipes.py       |    2 +-
 .../browser/test_builddashboard_page_tasks.py |    2 +-
 .../tests/browser/test_js_unit_tests.py       |    2 +-
 .../tests/browser/test_landing_page.py        |    2 +-
 .../tests/browser/test_layerdetails_page.py   |    2 +-
 .../browser/test_most_recent_builds_states.py |    2 +-
 .../browser/test_new_custom_image_page.py     |    2 +-
 .../tests/browser/test_new_project_page.py    |    2 +-
 .../tests/browser/test_project_builds_page.py |    2 +-
 .../tests/browser/test_project_config_page.py |    8 +-
 .../tests/browser/test_project_page.py        |    2 +-
 .../lib/toaster/tests/browser/test_sample.py  |    2 +-
 .../toaster/tests/browser/test_task_page.py   |    2 +-
 .../tests/browser/test_toastertable_ui.py     |    2 +-
 .../tests/functional/test_functional_basic.py |    1 -
 bitbake/lib/toaster/tests/views/test_views.py |    2 +-
 bitbake/lib/toaster/toastergui/api.py         |    5 +-
 bitbake/lib/toaster/toastergui/tables.py      |    9 +-
 .../objects_to_dictionaries_filter.py         |    1 -
 .../templatetags/project_url_tag.py           |    2 +-
 .../toastergui/templatetags/projecttags.py    |   10 +-
 bitbake/lib/toaster/toastergui/typeaheads.py  |    2 +-
 bitbake/lib/toaster/toastergui/urls.py        |    5 +-
 bitbake/lib/toaster/toastergui/views.py       |   45 +-
 bitbake/lib/toaster/toastergui/widgets.py     |    2 +-
 .../management/commands/builddelete.py        |    4 +-
 .../management/commands/buildimport.py        |   22 +-
 .../management/commands/buildslist.py         |    3 +-
 bitbake/lib/toaster/toastermain/settings.py   |   17 +-
 bitbake/lib/toaster/toastermain/urls.py       |    4 +-
 bitbake/toaster-requirements.txt              |    2 +-
 195 files changed, 11522 insertions(+), 1792 deletions(-)
 create mode 100644 bitbake/contrib/autobuilderlog.json
 create mode 100644 bitbake/contrib/vim/indent/bitbake.vim
 create mode 100644 bitbake/lib/bb/fetch2/npmsw.py
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.2/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.3/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.4/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.5/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.6/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.7/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.8/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/files/v3.9/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.23/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.24/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.25/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.26/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.27/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.28/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.29/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.30/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.31/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.32/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.33/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.34/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.35/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/releases/eglibc/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/releases/gnu-config/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/releases/individual/xserver/index.html
 create mode 100644 bitbake/lib/bb/tests/fetch-testdata/software/pulseaudio/releases/index.html
 create mode 100644 bitbake/lib/bb/tests/support/httpserver.py
 create mode 100644 bitbake/lib/bb/ui/teamcity.py
 create mode 100644 bitbake/lib/toaster/orm/migrations/0019_django_2_2.py

Comments

Jan Kiszka Aug. 17, 2020, 7:31 a.m. UTC | #1
On 17.08.20 16:54, Vijai Kumar K wrote:
> Update bitbake to the latest 1.46.2 release.
> 

...

> diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
> index 66d08f8..6c73710 100755
> --- a/bitbake/bin/bitbake
> +++ b/bitbake/bin/bitbake
> @@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
>  if sys.getfilesystemencoding() != "utf-8":
>      sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
>  
> -__version__ = "1.44.0"
> +__version__ = "1.46.0"

Sure that this is 1.46.2 then? Or did upstream forget to update?

Jan
vijai kumar Aug. 17, 2020, 7:50 a.m. UTC | #2
On Mon, Aug 17, 2020 at 9:01 PM Jan Kiszka <jan.kiszka@siemens.com> wrote:
>
> On 17.08.20 16:54, Vijai Kumar K wrote:
> > Update bitbake to the latest 1.46.2 release.
> >
>
> ...
>
> > diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
> > index 66d08f8..6c73710 100755
> > --- a/bitbake/bin/bitbake
> > +++ b/bitbake/bin/bitbake
> > @@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
> >  if sys.getfilesystemencoding() != "utf-8":
> >      sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
> >
> > -__version__ = "1.44.0"
> > +__version__ = "1.46.0"
>
> Sure that this is 1.46.2 then? Or did upstream forget to update?
>

I think upstream did not update.
https://github.com/openembedded/bitbake/blob/1.46.2/bin/bitbake
https://github.com/openembedded/bitbake/blob/cc11dfa4eb3616547a8a3909f89da0cc4f35dc57/bin/bitbake#L29

I will capture the commit hash in the commit message to avoid confusions.

Thanks,
Vijai Kumar K

> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux
>
> --
> You received this message because you are subscribed to the Google Groups "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/8116d4bf-871c-0dda-d7c6-d60603b47197%40siemens.com.

Patch

diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 66d08f8..6c73710 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -26,7 +26,7 @@  from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
 if sys.getfilesystemencoding() != "utf-8":
     sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
 
-__version__ = "1.44.0"
+__version__ = "1.46.0"
 
 if __name__ == "__main__":
     if __version__ != bb.__version__:
diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers
index a884dc1..149f1b1 100755
--- a/bitbake/bin/bitbake-layers
+++ b/bitbake/bin/bitbake-layers
@@ -52,7 +52,9 @@  def main():
 
     # Need to re-run logger_create with color argument
     # (will be the same logger since it has the same name)
-    bb.msg.logger_create('bitbake-layers', output=sys.stdout, color=global_args.color)
+    bb.msg.logger_create('bitbake-layers', output=sys.stdout,
+                         color=global_args.color,
+                         level=logger.getEffectiveLevel())
 
     plugins = []
     tinfoil = bb.tinfoil.Tinfoil(tracking=True)
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker
index 6776cad..97cc0fd 100755
--- a/bitbake/bin/bitbake-worker
+++ b/bitbake/bin/bitbake-worker
@@ -65,7 +65,6 @@  if 0:
     format_str = "%(levelname)s: %(message)s"
     conlogformat = bb.msg.BBLogFormatter(format_str)
     consolelog = logging.FileHandler(logfilename)
-    bb.msg.addDefaultlogFilter(consolelog)
     consolelog.setFormatter(conlogformat)
     logger.addHandler(consolelog)
 
@@ -195,9 +194,6 @@  def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
             global worker_pipe_lock
             pipein.close()
 
-            signal.signal(signal.SIGTERM, sigterm_handler)
-            # Let SIGHUP exit as SIGTERM
-            signal.signal(signal.SIGHUP, sigterm_handler)
             bb.utils.signal_on_parent_exit("SIGTERM")
 
             # Save out the PID so that the event can include it the
@@ -212,6 +208,11 @@  def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
             # This ensures signals sent to the controlling terminal like Ctrl+C
             # don't stop the child processes.
             os.setsid()
+
+            signal.signal(signal.SIGTERM, sigterm_handler)
+            # Let SIGHUP exit as SIGTERM
+            signal.signal(signal.SIGHUP, sigterm_handler)
+
             # No stdin
             newsi = os.open(os.devnull, os.O_RDWR)
             os.dup2(newsi, sys.stdin.fileno())
@@ -412,7 +413,7 @@  class BitbakeWorker(object):
 
     def handle_workerdata(self, data):
         self.workerdata = pickle.loads(data)
-        bb.msg.loggerDefaultDebugLevel = self.workerdata["logdefaultdebug"]
+        bb.msg.loggerDefaultLogLevel = self.workerdata["logdefaultlevel"]
         bb.msg.loggerDefaultVerbose = self.workerdata["logdefaultverbose"]
         bb.msg.loggerVerboseLogs = self.workerdata["logdefaultverboselogs"]
         bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]
diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index c3472df..6b90ee1 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -8,12 +8,13 @@ 
 #
 
 HELP="
-Usage: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
+Usage 1: source toaster start|stop [webport=<address:port>] [noweb] [nobuild] [toasterdir]
     Optional arguments:
         [nobuild] Setup the environment for capturing builds with toaster but disable managed builds
         [noweb] Setup the environment for capturing builds with toaster but don't start the web server
         [webport] Set the development server (default: localhost:8000)
         [toasterdir] Set absolute path to be used as TOASTER_DIR (default: BUILDDIR/../)
+Usage 2: source toaster manage [createsuperuser|lsupdates|migrate|makemigrations|checksettings|collectstatic|...]
 "
 
 custom_extention()
@@ -208,13 +209,21 @@  for param in $*; do
     toasterdir=*)
             TOASTERDIR="${param#*=}"
     ;;
+    manage )
+            CMD=$param
+            manage_cmd=""
+    ;;
     --help)
             echo "$HELP"
             return 0
     ;;
     *)
-            echo "$HELP"
-            return 1
+            if [ "manage" == "$CMD" ] ; then
+                manage_cmd="$manage_cmd $param"
+            else
+                echo "$HELP"
+                exit 1
+            fi
     ;;
 
     esac
@@ -306,6 +315,10 @@  case $CMD in
         stop_system
         echo "Successful ${CMD}."
     ;;
+    manage )
+        cd $BBBASEDIR/lib/toaster
+        $MANAGE $manage_cmd
+    ;;
 esac
 custom_extention toaster_postpend $CMD $ADDR_PORT
 
diff --git a/bitbake/classes/base.bbclass b/bitbake/classes/base.bbclass
index 08441fe..1809396 100644
--- a/bitbake/classes/base.bbclass
+++ b/bitbake/classes/base.bbclass
@@ -38,30 +38,30 @@  bbfatal() {
 addtask showdata
 do_showdata[nostamp] = "1"
 python do_showdata() {
-	import sys
-	# emit variables and shell functions
-	bb.data.emit_env(sys.__stdout__, d, True)
-	# emit the metadata which isnt valid shell
-	for e in bb.data.keys(d):
-		if d.getVarFlag(e, 'python', False):
-			bb.plain("\npython %s () {\n%s}" % (e, d.getVar(e)))
+    import sys
+    # emit variables and shell functions
+    bb.data.emit_env(sys.__stdout__, d, True)
+    # emit the metadata which isn't valid shell
+    for e in bb.data.keys(d):
+        if d.getVarFlag(e, 'python', False):
+            bb.plain("\npython %s () {\n%s}" % (e, d.getVar(e)))
 }
 
 addtask listtasks
 do_listtasks[nostamp] = "1"
 python do_listtasks() {
-	import sys
-	for e in bb.data.keys(d):
-		if d.getVarFlag(e, 'task', False):
-			bb.plain("%s" % e)
+    import sys
+    for e in bb.data.keys(d):
+        if d.getVarFlag(e, 'task', False):
+            bb.plain("%s" % e)
 }
 
 addtask build
 do_build[dirs] = "${TOPDIR}"
 do_build[nostamp] = "1"
 python base_do_build () {
-	bb.note("The included, default BB base.bbclass does not define a useful default task.")
-	bb.note("Try running the 'listtasks' task against a .bb to see what tasks are defined.")
+    bb.note("The included, default BB base.bbclass does not define a useful default task.")
+    bb.note("Try running the 'listtasks' task against a .bb to see what tasks are defined.")
 }
 
 EXPORT_FUNCTIONS do_clean do_mrproper do_build
diff --git a/bitbake/conf/bitbake.conf b/bitbake/conf/bitbake.conf
index a460df4..b3d5fab 100644
--- a/bitbake/conf/bitbake.conf
+++ b/bitbake/conf/bitbake.conf
@@ -19,14 +19,12 @@ 
 # OTHER DEALINGS IN THE SOFTWARE.
 
 B = "${S}"
-CVSDIR = "${DL_DIR}/cvs"
 DEPENDS = ""
 DEPLOY_DIR = "${TMPDIR}/deploy"
 DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
 DL_DIR = "${TMPDIR}/downloads"
 FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
 FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE', False))}"
-GITDIR = "${DL_DIR}/git"
 IMAGE_CMD = "_NO_DEFINED_IMAGE_TYPES_"
 IMAGE_ROOTFS = "${TMPDIR}/rootfs"
 OVERRIDES = "local:${MACHINE}:${TARGET_OS}:${TARGET_ARCH}"
@@ -40,7 +38,6 @@  PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0
 S = "${WORKDIR}/${P}"
 SRC_URI = "file://${FILE}"
 STAMP = "${TMPDIR}/stamps/${PF}"
-SVNDIR = "${DL_DIR}/svn"
 T = "${WORKDIR}/temp"
 TARGET_ARCH = "${BUILD_ARCH}"
 TMPDIR = "${TOPDIR}/tmp"
diff --git a/bitbake/contrib/autobuilderlog.json b/bitbake/contrib/autobuilderlog.json
new file mode 100644
index 0000000..193a675
--- /dev/null
+++ b/bitbake/contrib/autobuilderlog.json
@@ -0,0 +1,13 @@ 
+{
+    "version": 1,
+    "loggers": {
+        "BitBake.SigGen.HashEquiv": {
+            "level": "VERBOSE",
+            "handlers": ["BitBake.verbconsole"]
+        },
+        "BitBake.RunQueue.HashEquiv": {
+            "level": "VERBOSE",
+            "handlers": ["BitBake.verbconsole"]
+        }
+    }
+}
diff --git a/bitbake/contrib/vim/indent/bitbake.vim b/bitbake/contrib/vim/indent/bitbake.vim
new file mode 100644
index 0000000..1381034
--- /dev/null
+++ b/bitbake/contrib/vim/indent/bitbake.vim
@@ -0,0 +1,343 @@ 
+" Vim indent file
+" Language:             BitBake
+" Copyright:            Copyright (C) 2019 Agilent Technologies, Inc.
+" Maintainer:           Chris Laplante <chris.laplante@agilent.com>
+" License:              You may redistribute this under the same terms as Vim itself
+
+
+if exists("b:did_indent")
+    finish
+endif
+
+if exists("*BitbakeIndent")
+    finish
+endif
+
+runtime! indent/sh.vim
+unlet b:did_indent
+
+setlocal indentexpr=BitbakeIndent(v:lnum)
+setlocal autoindent nolisp
+
+function s:is_bb_python_func_def(lnum)
+    let stack = synstack(a:lnum, 1)
+    if len(stack) == 0
+        return 0
+    endif
+
+    let top = synIDattr(stack[0], "name")
+    echo top
+
+    return synIDattr(stack[0], "name") == "bbPyFuncDef"
+endfunction
+
+"""" begin modified from indent/python.vim, upstream commit 7a9bd7c1e0ce1baf5a02daf36eeae3638aa315c7
+"""" This copied code is licensed the same as Vim itself.
+setlocal indentkeys+=<:>,=elif,=except
+
+let s:keepcpo= &cpo
+set cpo&vim
+
+let s:maxoff = 50	" maximum number of lines to look backwards for ()
+
+function GetPythonIndent(lnum)
+
+  " If this line is explicitly joined: If the previous line was also joined,
+  " line it up with that one, otherwise add two 'shiftwidth'
+  if getline(a:lnum - 1) =~ '\\$'
+    if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
+      return indent(a:lnum - 1)
+    endif
+    return indent(a:lnum - 1) + (exists("g:pyindent_continue") ? eval(g:pyindent_continue) : (shiftwidth() * 2))
+  endif
+
+  " If the start of the line is in a string don't change the indent.
+  if has('syntax_items')
+	\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
+    return -1
+  endif
+
+  " Search backwards for the previous non-empty line.
+  let plnum = prevnonblank(v:lnum - 1)
+
+  if plnum == 0
+    " This is the first non-empty line, use zero indent.
+    return 0
+  endif
+
+  call cursor(plnum, 1)
+
+  " Identing inside parentheses can be very slow, regardless of the searchpair()
+  " timeout, so let the user disable this feature if he doesn't need it
+  let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
+
+  if disable_parentheses_indenting == 1
+    let plindent = indent(plnum)
+    let plnumstart = plnum
+  else
+    " searchpair() can be slow sometimes, limit the time to 150 msec or what is
+    " put in g:pyindent_searchpair_timeout
+    let searchpair_stopline = 0
+    let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
+
+    " If the previous line is inside parenthesis, use the indent of the starting
+    " line.
+    " Trick: use the non-existing "dummy" variable to break out of the loop when
+    " going too far back.
+    let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
+            \ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
+            \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+            \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
+            \ searchpair_stopline, searchpair_timeout)
+    if parlnum > 0
+      " We may have found the opening brace of a BitBake Python task, e.g. 'python do_task {'
+      " If so, ignore it here - it will be handled later.
+      if s:is_bb_python_func_def(parlnum)
+        let parlnum = 0
+        let plindent = indent(plnum)
+        let plnumstart = plnum
+      else
+        let plindent = indent(parlnum)
+        let plnumstart = parlnum
+      endif
+    else
+      let plindent = indent(plnum)
+      let plnumstart = plnum
+    endif
+
+    " When inside parenthesis: If at the first line below the parenthesis add
+    " two 'shiftwidth', otherwise same as previous line.
+    " i = (a
+    "       + b
+    "       + c)
+    call cursor(a:lnum, 1)
+    let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
+            \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
+            \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+            \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
+            \ searchpair_stopline, searchpair_timeout)
+    if p > 0
+        if s:is_bb_python_func_def(p)
+          " Handle first non-empty line inside a BB Python task
+          if p == plnum
+              return shiftwidth()
+          endif
+
+          " Handle the user actually trying to close a BitBake Python task
+          let line = getline(a:lnum)
+          if line =~ '^\s*}'
+              return -2
+          endif
+
+          " Otherwise ignore the brace
+          let p = 0
+        else
+          if p == plnum
+            " When the start is inside parenthesis, only indent one 'shiftwidth'.
+            let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
+                \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
+                \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+                \ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
+                \ searchpair_stopline, searchpair_timeout)
+            if pp > 0
+              return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
+            endif
+            return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : (shiftwidth() * 2))
+          endif
+          if plnumstart == p
+            return indent(plnum)
+          endif
+          return plindent
+        endif
+    endif
+
+  endif
+
+
+  " Get the line and remove a trailing comment.
+  " Use syntax highlighting attributes when possible.
+  let pline = getline(plnum)
+  let pline_len = strlen(pline)
+  if has('syntax_items')
+    " If the last character in the line is a comment, do a binary search for
+    " the start of the comment.  synID() is slow, a linear search would take
+    " too long on a long line.
+    if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
+      let min = 1
+      let max = pline_len
+      while min < max
+	let col = (min + max) / 2
+	if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
+	  let max = col
+	else
+	  let min = col + 1
+	endif
+      endwhile
+      let pline = strpart(pline, 0, min - 1)
+    endif
+  else
+    let col = 0
+    while col < pline_len
+      if pline[col] == '#'
+	let pline = strpart(pline, 0, col)
+	break
+      endif
+      let col = col + 1
+    endwhile
+  endif
+
+  " If the previous line ended with a colon, indent this line
+  if pline =~ ':\s*$'
+    return plindent + shiftwidth()
+  endif
+
+  " If the previous line was a stop-execution statement...
+  " TODO: utilize this logic to deindent when ending a bbPyDefRegion
+  if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\|bb\.fatal\)\>'
+    " See if the user has already dedented
+    if indent(a:lnum) > indent(plnum) - shiftwidth()
+      " If not, recommend one dedent
+      return indent(plnum) - shiftwidth()
+    endif
+    " Otherwise, trust the user
+    return -1
+  endif
+
+  " If the current line begins with a keyword that lines up with "try"
+  if getline(a:lnum) =~ '^\s*\(except\|finally\)\>'
+    let lnum = a:lnum - 1
+    while lnum >= 1
+      if getline(lnum) =~ '^\s*\(try\|except\)\>'
+	let ind = indent(lnum)
+	if ind >= indent(a:lnum)
+	  return -1	" indent is already less than this
+	endif
+	return ind	" line up with previous try or except
+      endif
+      let lnum = lnum - 1
+    endwhile
+    return -1		" no matching "try"!
+  endif
+
+  " If the current line begins with a header keyword, dedent
+  if getline(a:lnum) =~ '^\s*\(elif\|else\)\>'
+
+    " Unless the previous line was a one-liner
+    if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
+      return plindent
+    endif
+
+    " Or the user has already dedented
+    if indent(a:lnum) <= plindent - shiftwidth()
+      return -1
+    endif
+
+    return plindent - shiftwidth()
+  endif
+
+  " When after a () construct we probably want to go back to the start line.
+  " a = (b
+  "       + c)
+  " here
+  if parlnum > 0
+    return plindent
+  endif
+
+  return -1
+
+endfunction
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
+""" end of stuff from indent/python.vim
+
+
+let b:did_indent = 1
+setlocal indentkeys+=0\"
+
+
+function BitbakeIndent(lnum)
+    if !has('syntax_items')
+        return -1
+    endif
+
+    let stack = synstack(a:lnum, 1)
+    if len(stack) == 0
+        return -1
+    endif
+
+    let name = synIDattr(stack[0], "name")
+
+    " TODO: support different styles of indentation for assignments. For now,
+    " we only support like this:
+    " VAR = " \
+    "     value1 \
+    "     value2 \
+    " "
+    "
+    " i.e. each value indented by shiftwidth(), with the final quote " completely unindented.
+    if name == "bbVarValue"
+        " Quote handling is tricky. kernel.bbclass has this line for instance:
+        "     EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" " HOSTCPP="${BUILD_CPP}""
+        " Instead of trying to handle crazy cases like that, just assume that a
+        " double-quote on a line by itself (following an assignment) means the
+        " user is closing the assignment, and de-dent.
+        if getline(a:lnum) =~ '^\s*"$'
+            return 0
+        endif
+
+        let prevstack = synstack(a:lnum - 1, 1)
+        if len(prevstack) == 0
+            return -1
+        endif
+
+        let prevname = synIDattr(prevstack[0], "name")
+
+        " Only indent if there was actually a continuation character on
+        " the previous line, to avoid misleading indentation.
+        let prevlinelastchar = synIDattr(synID(a:lnum - 1, col([a:lnum - 1, "$"]) - 1, 1), "name")
+        let prev_continued = prevlinelastchar == "bbContinue"
+
+        " Did the previous line introduce an assignment?
+        if index(["bbVarDef", "bbVarFlagDef"], prevname) != -1
+            if prev_continued
+                return shiftwidth()
+            endif
+        endif
+
+        if !prev_continued
+            return 0
+        endif
+
+        " Autoindent can take it from here
+        return -1
+    endif
+
+    if index(["bbPyDefRegion", "bbPyFuncRegion"], name) != -1
+        let ret = GetPythonIndent(a:lnum)
+        " Should normally always be indented by at least one shiftwidth; but allow
+        " return of -1 (defer to autoindent) or -2 (force indent to 0)
+        if ret == 0
+            return shiftwidth()
+        elseif ret == -2
+            return 0
+        endif
+        return ret
+    endif
+
+    " TODO: GetShIndent doesn't detect tasks prepended with 'fakeroot'
+    " Need to submit a patch upstream to Vim to provide an extension point.
+    " Unlike the Python indenter, the Sh indenter is way too large to copy and
+    " modify here.
+    if name == "bbShFuncRegion"
+        return GetShIndent()
+    endif
+
+    " TODO:
+    "   + heuristics for de-denting out of a bbPyDefRegion? e.g. when the user
+    "       types an obvious BB keyword like addhandler or addtask, or starts
+    "       writing a shell task. Maybe too hard to implement...
+
+    return -1
+endfunction
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
index 46dafee..e4251df 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
@@ -113,7 +113,7 @@ 
         </para>
 
         <para>
-            Prior to parsing configuration files, Bitbake looks
+            Prior to parsing configuration files, BitBake looks
             at certain variables, including:
             <itemizedlist>
                 <listitem><para>
@@ -339,7 +339,7 @@ 
             <link linkend='var-bb-BB_HASHCONFIG_WHITELIST'><filename>BB_HASHCONFIG_WHITELIST</filename></link>)
             and then checking if the checksum matches.
             If that checksum matches what is in the cache and the recipe
-            and class files have not changed, Bitbake is able to use
+            and class files have not changed, BitBake is able to use
             the cache.
             BitBake then reloads the cached information about the recipe
             instead of reparsing it from scratch.
@@ -429,7 +429,7 @@ 
             The default
             <link linkend='var-bb-PREFERRED_PROVIDER'><filename>PREFERRED_PROVIDER</filename></link>
             is the provider with the same name as the target.
-            Bitbake iterates through each target it needs to build and
+            BitBake iterates through each target it needs to build and
             resolves them and their dependencies using this process.
         </para>
 
@@ -618,12 +618,12 @@ 
         <para>
             Tasks can be either a shell task or a Python task.
             For shell tasks, BitBake writes a shell script to
-            <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
+            <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.do_taskname.<replaceable>pid</replaceable></filename>
             and then executes the script.
             The generated shell script contains all the exported variables,
             and the shell functions with all variables expanded.
             Output from the shell script goes to the file
-            <filename>${T}/log.do_taskname.pid</filename>.
+            <filename>${T}/log.do_taskname.<replaceable>pid</replaceable></filename>.
             Looking at the expanded shell functions in the run file and
             the output in the log files is a useful debugging technique.
         </para>
@@ -821,7 +821,7 @@ 
 
         <para>
             It is worth noting that BitBake's "-S" option lets you
-            debug Bitbake's processing of signatures.
+            debug BitBake's processing of signatures.
             The options passed to -S allow different debugging modes
             to be used, either using BitBake's own debug functions
             or possibly those defined in the metadata/signature handler
@@ -929,4 +929,101 @@ 
             section.
         </para>
     </section>
+
+    <section id="logging">
+        <title>Logging</title>
+        <para>
+            In addition to the standard command line option to control how
+            verbose builds are when execute, bitbake also supports user defined
+            configuration of the
+            <ulink url='https://docs.python.org/3/library/logging.html'>Python logging</ulink>
+            facilities through the
+            <link linkend="var-bb-BB_LOGCONFIG"><filename>BB_LOGCONFIG</filename></link>
+            variable. This variable defines a json or yaml
+            <ulink url='https://docs.python.org/3/library/logging.config.html'>logging configuration</ulink>
+            that will be intelligently merged into the default configuration.
+            The logging configuration is merged using the following rules:
+            <itemizedlist>
+                <listitem><para>
+                    The user defined configuration will completely replace the default
+                    configuration if top level key
+                    <filename>bitbake_merge</filename> is set to the value
+                    <filename>False</filename>. In this case, all other rules
+                    are ignored.
+                </para></listitem>
+                <listitem><para>
+                    The user configuration must have a top level
+                    <filename>version</filename> which must match the value of
+                    the default configuration.
+                </para></listitem>
+                <listitem><para>
+                    Any keys defined in the <filename>handlers</filename>,
+                    <filename>formatters</filename>, or <filename>filters</filename>,
+                    will be merged into the same section in the default
+                    configuration, with the user specified keys taking
+                    replacing a default one if there is a conflict. In
+                    practice, this means that if both the default configuration
+                    and user configuration specify a handler named
+                    <filename>myhandler</filename>, the user defined one will
+                    replace the default. To prevent the user from inadvertently
+                    replacing a default handler, formatter, or filter, all of
+                    the default ones are named with a prefix of
+                    "<filename>BitBake.</filename>"
+                </para></listitem>
+                <listitem><para>
+                    If a logger is defined by the user with the key
+                    <filename>bitbake_merge</filename> set to
+                    <filename>False</filename>, that logger will be completely
+                    replaced by user configuration. In this case, no other
+                    rules will apply to that logger.
+                </para></listitem>
+                <listitem><para>
+                    All user defined <filename>filter</filename> and
+                    <filename>handlers</filename> properties for a given logger
+                    will be merged with corresponding properties from the
+                    default logger. For example, if the user configuration adds
+                    a filter called <filename>myFilter</filename> to the
+                    <filename>BitBake.SigGen</filename>, and the default
+                    configuration adds a filter called
+                    <filename>BitBake.defaultFilter</filename>, both filters
+                    will be applied to the logger
+                </para></listitem>
+            </itemizedlist>
+        </para>
+
+        <para>
+            As an example, consider the following user logging configuration
+            file which logs all Hash Equivalence related messages of VERBOSE or
+            higher to a file called <filename>hashequiv.log</filename>
+            <literallayout class='monospaced'>
+    {
+        "version": 1,
+        "handlers": {
+            "autobuilderlog": {
+                "class": "logging.FileHandler",
+                "formatter": "logfileFormatter",
+                "level": "DEBUG",
+                "filename": "hashequiv.log",
+                "mode": "w"
+            }
+        },
+        "formatters": {
+                "logfileFormatter": {
+                    "format": "%(name)s: %(levelname)s: %(message)s"
+                }
+        },
+        "loggers": {
+            "BitBake.SigGen.HashEquiv": {
+                "level": "VERBOSE",
+                "handlers": ["autobuilderlog"]
+            },
+            "BitBake.RunQueue.HashEquiv": {
+                "level": "VERBOSE",
+                "handlers": ["autobuilderlog"]
+            }
+        }
+    }
+            </literallayout>
+        </para>
+    </section>
 </chapter>
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
index 6840408..d1bfc23 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
@@ -139,7 +139,7 @@ 
         </para>
 
         <para>
-            Since network accesses are slow, Bitbake maintains a
+            Since network accesses are slow, BitBake maintains a
             cache of files downloaded from the network.
             Any source files that are not local (i.e.
             downloaded from the Internet) are placed into the download
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
index 39066e4..11eb36a 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-hello.xml
@@ -166,7 +166,7 @@ 
                 Having a project directory is a good way to isolate your
                 project.
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake:</emphasis>
+            <listitem><para><emphasis>Run BitBake:</emphasis>
                 At this point, you have nothing but a project directory.
                 Run the <filename>bitbake</filename> command and see what
                 it does:
@@ -197,7 +197,7 @@ 
                 <link linkend='var-bb-BBPATH'><filename>BBPATH</filename></link>
                 variable is what tells BitBake where to look for those files.
                 <filename>BBPATH</filename> is not set and you need to set it.
-                Without <filename>BBPATH</filename>, Bitbake cannot
+                Without <filename>BBPATH</filename>, BitBake cannot
                 find any configuration files (<filename>.conf</filename>)
                 or recipe files (<filename>.bb</filename>) at all.
                 BitBake also cannot find the <filename>bitbake.conf</filename>
@@ -225,7 +225,7 @@ 
                     as the shell would.
                 </note>
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake:</emphasis>
+            <listitem><para><emphasis>Run BitBake:</emphasis>
                 Now that you have <filename>BBPATH</filename> defined, run
                 the <filename>bitbake</filename> command again:
                 <literallayout class='monospaced'>
@@ -313,7 +313,7 @@ 
                 example, click on the links to take you to the definitions in
                 the glossary.
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake:</emphasis>
+            <listitem><para><emphasis>Run BitBake:</emphasis>
                 After making sure that the <filename>conf/bitbake.conf</filename>
                 file exists, you can run the <filename>bitbake</filename>
                 command again:
@@ -364,7 +364,7 @@ 
                 more depending on which build environments BitBake is
                 supporting.
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake:</emphasis>
+            <listitem><para><emphasis>Run BitBake:</emphasis>
                 After making sure that the <filename>classes/base.bbclass</filename>
                 file exists, you can run the <filename>bitbake</filename>
                 command again:
@@ -434,7 +434,7 @@ 
                 For more information on these variables, follow the links
                 to the glossary.
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
+            <listitem><para><emphasis>Run BitBake With a Target:</emphasis>
                 Now that a BitBake target exists, run the command and provide
                 that target:
                 <literallayout class='monospaced'>
@@ -468,7 +468,7 @@ 
                 You need to provide your own information for
                 <filename>you</filename> in the file.
                 </para></listitem>
-            <listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
+            <listitem><para><emphasis>Run BitBake With a Target:</emphasis>
                 Now that you have supplied the <filename>bblayers.conf</filename>
                 file, run the <filename>bitbake</filename> command and provide
                 the target:
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
index 8f2a960..995c2fa 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml
@@ -127,7 +127,7 @@ 
                     (e.g. Cygwin, the BSDs, and so forth).
                     </para></listitem>
                 <listitem><para>
-                    Be self contained, rather than tightly
+                    Be self-contained, rather than tightly
                     integrated into the build machine's root
                     filesystem.
                     </para></listitem>
@@ -221,6 +221,8 @@ 
                         them</para></listitem>
                     <listitem><para>How to configure and compile the
                         source code</para></listitem>
+                    <listitem><para>How to assemble the generated artifacts into
+                        one or more installable packages</para></listitem>
                     <listitem><para>Where on the target machine to install the
                         package or packages created</para></listitem>
                 </itemizedlist>
@@ -229,7 +231,7 @@ 
             <para>
                 Within the context of BitBake, or any project utilizing BitBake
                 as its build system, files with the <filename>.bb</filename>
-                extension are referred to as recipes.
+                extension are referred to as <firstterm>recipes</firstterm>.
                 <note>
                     The term "package" is also commonly used to describe recipes.
                     However, since the same word is used to describe packaged
@@ -252,9 +254,9 @@ 
                 various configuration variables that govern the project's build
                 process.
                 These files fall into several areas that define
-                machine configuration options, distribution configuration
-                options, compiler tuning options, general common
-                configuration options, and user configuration options.
+                machine configuration, distribution configuration,
+                possible compiler tuning, general common
+                configuration, and user configuration.
                 The main configuration file is the sample
                 <filename>bitbake.conf</filename> file, which is
                 located within the BitBake source tree
@@ -292,7 +294,7 @@ 
                 Layers allow you to isolate different types of
                 customizations from each other.
                 While you might find it tempting to keep everything in one layer
-                when working on a single project, the more modular you organize
+                when working on a single project, the more modular
                 your metadata, the easier it is to cope with future changes.
             </para>
 
@@ -300,8 +302,8 @@ 
                 To illustrate how you can use layers to keep things modular,
                 consider customizations you might make to support a specific target machine.
                 These types of customizations typically reside in a special layer,
-                rather than a general layer, called a Board Support Package (BSP)
-                Layer.
+                rather than a general layer, called a <firstterm>Board Support Package</firstterm> (BSP)
+                layer.
                 Furthermore, the machine customizations should be isolated from
                 recipes and metadata that support a new GUI environment, for
                 example.
@@ -448,7 +450,7 @@ 
                 <listitem><para><emphasis>Using the BitBake that Comes With Your
                     Build Checkout:</emphasis>
                     A final possibility for getting a copy of BitBake is that it
-                    already comes with your checkout of a larger Bitbake-based build
+                    already comes with your checkout of a larger BitBake-based build
                     system, such as Poky.
                     Rather than manually checking out individual layers and
                     gluing them together yourself, you can check
@@ -692,14 +694,9 @@ 
                 </para>
 
                 <para>
-                    When you generate a dependency graph, BitBake writes three files
+                    When you generate a dependency graph, BitBake writes two files
                     to the current working directory:
                     <itemizedlist>
-                        <listitem><para>
-                            <emphasis><filename>recipe-depends.dot</filename>:</emphasis>
-                            Shows dependencies between recipes (i.e. a collapsed version of
-                            <filename>task-depends.dot</filename>).
-                            </para></listitem>
                         <listitem><para>
                             <emphasis><filename>task-depends.dot</filename>:</emphasis>
                             Shows dependencies between tasks.
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index 421364c..0ca5321 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -5,7 +5,7 @@ 
     <title>Syntax and Operators</title>
 
     <para>
-        Bitbake files have their own syntax.
+        BitBake files have their own syntax.
         The syntax has similarities to several
         other languages but also has some unique features.
         This section describes the available syntax and operators
@@ -294,17 +294,20 @@ 
                 rather than when the variable is actually used:
                 <literallayout class='monospaced'>
      T = "123"
-     A := "${B} ${A} test ${T}"
+     A := "test ${T}"
      T = "456"
-     B = "${T} bval"
+     B := "${T} ${C}"
      C = "cval"
      C := "${C}append"
                 </literallayout>
                 In this example, <filename>A</filename> contains
-                "test 123" because <filename>${B}</filename> and
-                <filename>${A}</filename> at the time of parsing are undefined,
-                which leaves "test 123".
-                And, the variable <filename>C</filename>
+                "test 123", even though the final value of <filename>T</filename>
+                is "456".
+                The variable <filename>B</filename> will end up containing "456 cvalappend".
+                This is because references to undefined variables are preserved as is
+                during (immediate)expansion. This is in contrast to GNU Make, where undefined
+                variables expand to nothing.
+                The variable <filename>C</filename>
                 contains "cvalappend" since <filename>${C}</filename> immediately
                 expands to "cval".
             </para>
@@ -429,7 +432,7 @@ 
                 The variable <filename>FOO</filename> becomes
                 "&nbsp;&nbsp;789&nbsp;123456&nbsp;&nbsp;&nbsp;&nbsp;"
                 and <filename>FOO2</filename> becomes
-                "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jkl&nbsp;&nbsp;abcdef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
+                "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abcdef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
             </para>
 
             <para>
@@ -1414,7 +1417,7 @@ 
         </section>
 
         <section id='bitbake-style-python-functions-versus-python-functions'>
-            <title>Bitbake-Style Python Functions Versus Python Functions</title>
+            <title>BitBake-Style Python Functions Versus Python Functions</title>
 
             <para>
                 Following are some important differences between
@@ -1864,7 +1867,7 @@ 
                         accessing your <filename>$HOME/.ccache</filename>
                         directory.
                         The following command "whitelists" the environment variable
-                        <filename>CCACHE_DIR</filename> causing BitBack to allow that
+                        <filename>CCACHE_DIR</filename> causing BitBake to allow that
                         variable into the datastore:
                         <literallayout class='monospaced'>
      export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR"
@@ -1895,7 +1898,7 @@ 
             <para>
                 Sometimes, it is useful to be able to obtain information
                 from the original execution environment.
-                Bitbake saves a copy of the original environment into
+                BitBake saves a copy of the original environment into
                 a special variable named
                 <link linkend='var-bb-BB_ORIGENV'><filename>BB_ORIGENV</filename></link>.
             </para>
@@ -2523,6 +2526,9 @@ 
                 In the previous example, the <filename>do_packagedata</filename>
                 task of each item in <filename>RDEPENDS</filename> must have
                 completed before <filename>do_package_qa</filename> can execute.
+                Although <filename>RDEPENDS</filename> contains entries from the
+                runtime dependency namespace, BitBake knows how to map them back
+                to the build-time dependency namespace, in which the tasks are defined.
             </para>
         </section>
 
@@ -2559,15 +2565,17 @@ 
             </para>
 
             <para>
-                You might want to not only have BitBake look for
-                dependencies of those tasks, but also have BitBake look
-                for build-time and runtime dependencies of the dependent
-                tasks as well.
-                If that is the case, you need to reference the task name
-                itself in the task list:
+                BitBake allows a task to recursively depend on itself by
+                referencing itself in the task list:
                 <literallayout class='monospaced'>
      do_a[recrdeptask] = "do_a do_b"
                 </literallayout>
+                In the same way as before, this means that the <filename>do_a</filename>
+                and <filename>do_b</filename> tasks of the current recipe and all
+                recipes reachable (by way of dependencies) from the recipe
+                must run before the <filename>do_a</filename> task can run. In this
+                case BitBake will ignore the current recipe's <filename>do_a</filename>
+                task circular dependency on itself.
             </para>
         </section>
 
@@ -2616,7 +2624,7 @@ 
             <para>
                 It is often necessary to access variables in the
                 BitBake datastore using Python functions.
-                The Bitbake datastore has an API that allows you this
+                The BitBake datastore has an API that allows you this
                 access.
                 Here is a list of available operations:
             </para>
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
index aca6741..c4bd1f2 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
@@ -539,6 +539,17 @@ 
             </glossdef>
         </glossentry>
 
+        <glossentry id='var-bb-BB_LOGCONFIG'><glossterm>BB_LOGCONFIG</glossterm>
+            <glossdef>
+                <para>
+                    Specifies the name of a config file that contains the user
+                    logging configuration. See
+                    <link linkend="logging">Logging</link> for additional
+                    information
+                </para>
+            </glossdef>
+        </glossentry>
+
         <glossentry id='var-bb-BB_LOGFMT'><glossterm>BB_LOGFMT</glossterm>
             <glossdef>
                 <para>
@@ -1780,7 +1791,7 @@ 
                 </para>
 
                 <para>
-                    Bitbake normally issues a warning when building two
+                    BitBake normally issues a warning when building two
                     different recipes where each provides the same output.
                     This scenario is usually something the user does not
                     want.
diff --git a/bitbake/lib/bb/COW.py b/bitbake/lib/bb/COW.py
index d26e981..bc20ce3 100644
--- a/bitbake/lib/bb/COW.py
+++ b/bitbake/lib/bb/COW.py
@@ -10,7 +10,6 @@ 
 
 
 import copy
-import types
 ImmutableTypes = (
     bool,
     complex,
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py
index c144311..b96466e 100644
--- a/bitbake/lib/bb/__init__.py
+++ b/bitbake/lib/bb/__init__.py
@@ -9,11 +9,11 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-__version__ = "1.44.0"
+__version__ = "1.46.0"
 
 import sys
-if sys.version_info < (3, 4, 0):
-    raise RuntimeError("Sorry, python 3.4.0 or later is required for this version of bitbake")
+if sys.version_info < (3, 5, 0):
+    raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake")
 
 
 class BBHandledException(Exception):
@@ -43,7 +43,13 @@  class BBLogger(Logger):
         Logger.__init__(self, name)
 
     def bbdebug(self, level, msg, *args, **kwargs):
-        return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
+        loglevel = logging.DEBUG - level + 1
+        if not bb.event.worker_pid:
+            if self.name in bb.msg.loggerDefaultDomains and loglevel > (bb.msg.loggerDefaultDomains[self.name]):
+                return
+            if loglevel > bb.msg.loggerDefaultLogLevel:
+                return
+        return self.log(loglevel, msg, *args, **kwargs)
 
     def plain(self, msg, *args, **kwargs):
         return self.log(logging.INFO + 1, msg, *args, **kwargs)
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 30a2ba2..23b6ee4 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -15,7 +15,6 @@ 
 import os
 import sys
 import logging
-import shlex
 import glob
 import time
 import stat
@@ -57,14 +56,17 @@  builtins['os'] = os
 class TaskBase(event.Event):
     """Base class for task events"""
 
-    def __init__(self, t, logfile, d):
+    def __init__(self, t, fn, logfile, d):
         self._task = t
+        self._fn = fn
         self._package = d.getVar("PF")
         self._mc = d.getVar("BB_CURRENT_MC")
         self.taskfile = d.getVar("FILE")
         self.taskname = self._task
         self.logfile = logfile
         self.time = time.time()
+        self.pn = d.getVar("PN")
+        self.pv = d.getVar("PV")
         event.Event.__init__(self)
         self._message = "recipe %s: task %s: %s" % (d.getVar("PF"), t, self.getDisplayName())
 
@@ -81,8 +83,8 @@  class TaskBase(event.Event):
 
 class TaskStarted(TaskBase):
     """Task execution started"""
-    def __init__(self, t, logfile, taskflags, d):
-        super(TaskStarted, self).__init__(t, logfile, d)
+    def __init__(self, t, fn, logfile, taskflags, d):
+        super(TaskStarted, self).__init__(t, fn, logfile, d)
         self.taskflags = taskflags
 
 class TaskSucceeded(TaskBase):
@@ -91,9 +93,9 @@  class TaskSucceeded(TaskBase):
 class TaskFailed(TaskBase):
     """Task execution failed"""
 
-    def __init__(self, task, logfile, metadata, errprinted = False):
+    def __init__(self, task, fn, logfile, metadata, errprinted = False):
         self.errprinted = errprinted
-        super(TaskFailed, self).__init__(task, logfile, metadata)
+        super(TaskFailed, self).__init__(task, fn, logfile, metadata)
 
 class TaskFailedSilent(TaskBase):
     """Task execution failed (silently)"""
@@ -103,8 +105,8 @@  class TaskFailedSilent(TaskBase):
 
 class TaskInvalid(TaskBase):
 
-    def __init__(self, task, metadata):
-        super(TaskInvalid, self).__init__(task, None, metadata)
+    def __init__(self, task, fn, metadata):
+        super(TaskInvalid, self).__init__(task, fn, None, metadata)
         self._message = "No such task '%s'" % task
 
 class TaskProgress(event.Event):
@@ -572,7 +574,7 @@  def _exec_task(fn, task, d, quieterr):
 
     try:
         try:
-            event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
+            event.fire(TaskStarted(task, fn, logfn, flags, localdata), localdata)
         except (bb.BBHandledException, SystemExit):
             return 1
 
@@ -583,15 +585,15 @@  def _exec_task(fn, task, d, quieterr):
             for func in (postfuncs or '').split():
                 exec_func(func, localdata)
         except bb.BBHandledException:
-            event.fire(TaskFailed(task, logfn, localdata, True), localdata)
+            event.fire(TaskFailed(task, fn, logfn, localdata, True), localdata)
             return 1
         except Exception as exc:
             if quieterr:
-                event.fire(TaskFailedSilent(task, logfn, localdata), localdata)
+                event.fire(TaskFailedSilent(task, fn, logfn, localdata), localdata)
             else:
                 errprinted = errchk.triggered
                 logger.error(str(exc))
-                event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata)
+                event.fire(TaskFailed(task, fn, logfn, localdata, errprinted), localdata)
             return 1
     finally:
         sys.stdout.flush()
@@ -614,7 +616,7 @@  def _exec_task(fn, task, d, quieterr):
             logger.debug(2, "Zero size logfn %s, removing", logfn)
             bb.utils.remove(logfn)
             bb.utils.remove(loglink)
-    event.fire(TaskSucceeded(task, logfn, localdata), localdata)
+    event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)
 
     if not localdata.getVarFlag(task, 'nostamp', False) and not localdata.getVarFlag(task, 'selfstamp', False):
         make_stamp(task, localdata)
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
index b6f7da5..d1be836 100644
--- a/bitbake/lib/bb/cache.py
+++ b/bitbake/lib/bb/cache.py
@@ -17,11 +17,11 @@ 
 #
 
 import os
-import sys
 import logging
 import pickle
 from collections import defaultdict
 import bb.utils
+import re
 
 logger = logging.getLogger("BitBake.Cache")
 
@@ -208,10 +208,10 @@  class CoreRecipeInfo(RecipeInfoCommon):
 
         # Collect files we may need for possible world-dep
         # calculations
-        if self.not_world:
-            logger.debug(1, "EXCLUDE FROM WORLD: %s", fn)
-        else:
+        if not self.not_world:
             cachedata.possible_world.append(fn)
+        #else:
+        #    logger.debug(2, "EXCLUDE FROM WORLD: %s", fn)
 
         # create a collection of all targets for sanity checking
         # tasks, such as upstream versions, license, and tools for
@@ -370,6 +370,7 @@  class Cache(NoCache):
         self.data_fn = None
         self.cacheclean = True
         self.data_hash = data_hash
+        self.filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
 
         if self.cachedir in [None, '']:
             self.has_cache = False
@@ -608,20 +609,12 @@  class Cache(NoCache):
         if hasattr(info_array[0], 'file_checksums'):
             for _, fl in info_array[0].file_checksums.items():
                 fl = fl.strip()
-                while fl:
-                    # A .split() would be simpler but means spaces or colons in filenames would break
-                    a = fl.find(":True")
-                    b = fl.find(":False")
-                    if ((a < 0) and b) or ((b > 0) and (b < a)):
-                        f = fl[:b+6]
-                        fl = fl[b+7:]
-                    elif ((b < 0) and a) or ((a > 0) and (a < b)):
-                        f = fl[:a+5]
-                        fl = fl[a+6:]
-                    else:
-                        break
-                    fl = fl.strip()
-                    if "*" in f:
+                if not fl:
+                    continue
+                # Have to be careful about spaces and colons in filenames
+                flist = self.filelist_regex.split(fl)
+                for f in flist:
+                    if not f or "*" in f:
                         continue
                     f, exist = f.split(":")
                     if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
diff --git a/bitbake/lib/bb/checksum.py b/bitbake/lib/bb/checksum.py
index 5bc8a8f..1d50a26 100644
--- a/bitbake/lib/bb/checksum.py
+++ b/bitbake/lib/bb/checksum.py
@@ -9,7 +9,6 @@  import glob
 import operator
 import os
 import stat
-import pickle
 import bb.utils
 import logging
 from bb.cache import MultiProcessCache
@@ -74,7 +73,7 @@  class FileChecksumCache(MultiProcessCache):
             else:
                 dest[0][h] = source[0][h]
 
-    def get_checksums(self, filelist, pn):
+    def get_checksums(self, filelist, pn, localdirsexclude):
         """Get checksums for a list of files"""
 
         def checksum_file(f):
@@ -90,7 +89,8 @@  class FileChecksumCache(MultiProcessCache):
             if pth == "/":
                 bb.fatal("Refusing to checksum /")
             dirchecksums = []
-            for root, dirs, files in os.walk(pth):
+            for root, dirs, files in os.walk(pth, topdown=True):
+                [dirs.remove(d) for d in list(dirs) if d in localdirsexclude]
                 for name in files:
                     fullpth = os.path.join(root, name)
                     checksum = checksum_file(fullpth)
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py
index fd2c473..25a7ac6 100644
--- a/bitbake/lib/bb/codeparser.py
+++ b/bitbake/lib/bb/codeparser.py
@@ -25,13 +25,11 @@  import ast
 import sys
 import codegen
 import logging
-import pickle
 import bb.pysh as pysh
-import os.path
 import bb.utils, bb.data
 import hashlib
 from itertools import chain
-from bb.pysh import pyshyacc, pyshlex, sherrors
+from bb.pysh import pyshyacc, pyshlex
 from bb.cache import MultiProcessCache
 
 logger = logging.getLogger('BitBake.CodeParser')
@@ -58,30 +56,10 @@  def check_indent(codestr):
 
     return codestr
 
-
-# Basically pickle, in python 2.7.3 at least, does badly with data duplication 
-# upon pickling and unpickling. Combine this with duplicate objects and things
-# are a mess.
-#
-# When the sets are originally created, python calls intern() on the set keys
-# which significantly improves memory usage. Sadly the pickle/unpickle process
-# doesn't call intern() on the keys and results in the same strings being duplicated
-# in memory. This also means pickle will save the same string multiple times in
-# the cache file.
-#
-# By having shell and python cacheline objects with setstate/getstate, we force
-# the object creation through our own routine where we can call intern (via internSet).
-#
-# We also use hashable frozensets and ensure we use references to these so that
-# duplicates can be removed, both in memory and in the resulting pickled data.
-#
-# By playing these games, the size of the cache file shrinks dramatically
-# meaning faster load times and the reloaded cache files also consume much less
-# memory. Smaller cache files, faster load times and lower memory usage is good.
-#
 # A custom getstate/setstate using tuples is actually worth 15% cachesize by
 # avoiding duplication of the attribute names!
 
+
 class SetCache(object):
     def __init__(self):
         self.setcache = {}
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 378f389..6abf386 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -65,7 +65,7 @@  class Command:
             # Can run synchronous commands straight away
             command_method = getattr(self.cmds_sync, command)
             if ro_only:
-                if not hasattr(command_method, 'readonly') or False == getattr(command_method, 'readonly'):
+                if not hasattr(command_method, 'readonly') or not getattr(command_method, 'readonly'):
                     return None, "Not able to execute not readonly commands in readonly mode"
             try:
                 self.cooker.process_inotify_updates()
@@ -414,7 +414,11 @@  class CommandsSync:
     getAllAppends.readonly = True
 
     def findProviders(self, command, params):
-        return command.cooker.findProviders()
+        try:
+            mc = params[0]
+        except IndexError:
+            mc = ''
+        return command.cooker.findProviders(mc)
     findProviders.readonly = True
 
     def findBestProvider(self, command, params):
@@ -446,54 +450,38 @@  class CommandsSync:
         return all_p, best
     getRuntimeProviders.readonly = True
 
-    def dataStoreConnectorFindVar(self, command, params):
+    def dataStoreConnectorCmd(self, command, params):
         dsindex = params[0]
-        name = params[1]
-        datastore = command.remotedatastores[dsindex]
-        value, overridedata = datastore._findVar(name)
-
-        if value:
-            content = value.get('_content', None)
-            if isinstance(content, bb.data_smart.DataSmart):
-                # Value is a datastore (e.g. BB_ORIGENV) - need to handle this carefully
-                idx = command.remotedatastores.check_store(content, True)
-                return {'_content': DataStoreConnectionHandle(idx),
-                        '_connector_origtype': 'DataStoreConnectionHandle',
-                        '_connector_overrides': overridedata}
-            elif isinstance(content, set):
-                return {'_content': list(content),
-                        '_connector_origtype': 'set',
-                        '_connector_overrides': overridedata}
-            else:
-                value['_connector_overrides'] = overridedata
-        else:
-            value = {}
-            value['_connector_overrides'] = overridedata
-        return value
-    dataStoreConnectorFindVar.readonly = True
+        method = params[1]
+        args = params[2]
+        kwargs = params[3]
 
-    def dataStoreConnectorGetKeys(self, command, params):
-        dsindex = params[0]
-        datastore = command.remotedatastores[dsindex]
-        return list(datastore.keys())
-    dataStoreConnectorGetKeys.readonly = True
+        d = command.remotedatastores[dsindex]
+        ret = getattr(d, method)(*args, **kwargs)
+
+        if isinstance(ret, bb.data_smart.DataSmart):
+            idx = command.remotedatastores.store(ret)
+            return DataStoreConnectionHandle(idx)
+
+        return ret
 
-    def dataStoreConnectorGetVarHistory(self, command, params):
+    def dataStoreConnectorVarHistCmd(self, command, params):
         dsindex = params[0]
-        name = params[1]
-        datastore = command.remotedatastores[dsindex]
-        return datastore.varhistory.variable(name)
-    dataStoreConnectorGetVarHistory.readonly = True
+        method = params[1]
+        args = params[2]
+        kwargs = params[3]
 
-    def dataStoreConnectorExpandPythonRef(self, command, params):
-        config_data_dict = params[0]
-        varname = params[1]
-        expr = params[2]
+        d = command.remotedatastores[dsindex].varhistory
+        return getattr(d, method)(*args, **kwargs)
 
-        config_data = command.remotedatastores.receive_datastore(config_data_dict)
+    def dataStoreConnectorIncHistCmd(self, command, params):
+        dsindex = params[0]
+        method = params[1]
+        args = params[2]
+        kwargs = params[3]
 
-        varparse = bb.data_smart.VariableParse(varname, config_data)
-        return varparse.python_sub(expr)
+        d = command.remotedatastores[dsindex].inchistory
+        return getattr(d, method)(*args, **kwargs)
 
     def dataStoreConnectorRelease(self, command, params):
         dsindex = params[0]
@@ -501,31 +489,6 @@  class CommandsSync:
             raise CommandError('dataStoreConnectorRelease: invalid index %d' % dsindex)
         command.remotedatastores.release(dsindex)
 
-    def dataStoreConnectorSetVarFlag(self, command, params):
-        dsindex = params[0]
-        name = params[1]
-        flag = params[2]
-        value = params[3]
-        datastore = command.remotedatastores[dsindex]
-        datastore.setVarFlag(name, flag, value)
-
-    def dataStoreConnectorDelVar(self, command, params):
-        dsindex = params[0]
-        name = params[1]
-        datastore = command.remotedatastores[dsindex]
-        if len(params) > 2:
-            flag = params[2]
-            datastore.delVarFlag(name, flag)
-        else:
-            datastore.delVar(name)
-
-    def dataStoreConnectorRenameVar(self, command, params):
-        dsindex = params[0]
-        name = params[1]
-        newname = params[2]
-        datastore = command.remotedatastores[dsindex]
-        datastore.renameVar(name, newname)
-
     def parseRecipeFile(self, command, params):
         """
         Parse the specified recipe file (with or without bbappends)
@@ -536,8 +499,7 @@  class CommandsSync:
         appends = params[1]
         appendlist = params[2]
         if len(params) > 3:
-            config_data_dict = params[3]
-            config_data = command.remotedatastores.receive_datastore(config_data_dict)
+            config_data = command.remotedatastores[params[3]]
         else:
             config_data = None
 
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 20ef04d..d90bd39 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -10,7 +10,6 @@ 
 #
 
 import sys, os, glob, os.path, re, time
-import atexit
 import itertools
 import logging
 import multiprocessing
@@ -18,14 +17,11 @@  import sre_constants
 import threading
 from io import StringIO, UnsupportedOperation
 from contextlib import closing
-from functools import wraps
 from collections import defaultdict, namedtuple
 import bb, bb.exceptions, bb.command
 from bb import utils, data, parse, event, cache, providers, taskdata, runqueue, build
 import queue
 import signal
-import subprocess
-import errno
 import prserv.serv
 import pyinotify
 import json
@@ -169,8 +165,8 @@  class BBCooker:
         bb.debug(1, "BBCooker pyinotify1 %s" % time.time())
         sys.stdout.flush()
 
-        self.configwatcher.bbseen = []
-        self.configwatcher.bbwatchedfiles = []
+        self.configwatcher.bbseen = set()
+        self.configwatcher.bbwatchedfiles = set()
         self.confignotifier = pyinotify.Notifier(self.configwatcher, self.config_notifications)
         bb.debug(1, "BBCooker pyinotify2 %s" % time.time())
         sys.stdout.flush()
@@ -180,8 +176,8 @@  class BBCooker:
         self.watcher = pyinotify.WatchManager()
         bb.debug(1, "BBCooker pyinotify3 %s" % time.time())
         sys.stdout.flush()
-        self.watcher.bbseen = []
-        self.watcher.bbwatchedfiles = []
+        self.watcher.bbseen = set()
+        self.watcher.bbwatchedfiles = set()
         self.notifier = pyinotify.Notifier(self.watcher, self.notifications)
 
         bb.debug(1, "BBCooker pyinotify complete %s" % time.time())
@@ -278,14 +274,14 @@  class BBCooker:
         if not watcher:
             watcher = self.watcher
         for i in deps:
-            watcher.bbwatchedfiles.append(i[0])
+            watcher.bbwatchedfiles.add(i[0])
             if dirs:
                 f = i[0]
             else:
                 f = os.path.dirname(i[0])
             if f in watcher.bbseen:
                 continue
-            watcher.bbseen.append(f)
+            watcher.bbseen.add(f)
             watchtarget = None
             while True:
                 # We try and add watches for files that don't exist but if they did, would influence
@@ -294,7 +290,7 @@  class BBCooker:
                 try:
                     watcher.add_watch(f, self.watchmask, quiet=False)
                     if watchtarget:
-                        watcher.bbwatchedfiles.append(watchtarget)
+                        watcher.bbwatchedfiles.add(watchtarget)
                     break
                 except pyinotify.WatchManagerError as e:
                     if 'ENOENT' in str(e):
@@ -302,7 +298,7 @@  class BBCooker:
                         f = os.path.dirname(f)
                         if f in watcher.bbseen:
                             break
-                        watcher.bbseen.append(f)
+                        watcher.bbseen.add(f)
                         continue
                     if 'ENOSPC' in str(e):
                         providerlog.error("No space left on device or exceeds fs.inotify.max_user_watches?")
@@ -371,10 +367,6 @@  class BBCooker:
 
         self.data.setVar('BB_CMDLINE', self.ui_cmdline)
 
-        #
-        # Copy of the data store which has been expanded.
-        # Used for firing events and accessing variables where expansion needs to be accounted for
-        #
         if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
             self.disableDataTracking()
 
@@ -1031,16 +1023,16 @@  class BBCooker:
             bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data)
 
     def findProviders(self, mc=''):
-        return bb.providers.findProviders(self.data, self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
+        return bb.providers.findProviders(self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
 
     def findBestProvider(self, pn, mc=''):
         if pn in self.recipecaches[mc].providers:
             filenames = self.recipecaches[mc].providers[pn]
-            eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.data, self.recipecaches[mc])
+            eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc])
             filename = eligible[0]
             return None, None, None, filename
         elif pn in self.recipecaches[mc].pkg_pn:
-            return bb.providers.findBestProvider(pn, self.data, self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
+            return bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
         else:
             return None, None, None, None
 
@@ -1212,7 +1204,7 @@  class BBCooker:
             for c in collection_list:
                 calc_layer_priority(c)
                 regex = self.data.getVar("BBFILE_PATTERN_%s" % c)
-                if regex == None:
+                if regex is None:
                     parselog.error("BBFILE_PATTERN_%s not defined" % c)
                     errors = True
                     continue
@@ -1318,7 +1310,7 @@  class BBCooker:
         self.parseConfiguration()
 
         # If we are told to do the None task then query the default task
-        if (task == None):
+        if task is None:
             task = self.configuration.cmd
         if not task.startswith("do_"):
             task = "do_%s" % task
@@ -1462,7 +1454,7 @@  class BBCooker:
         self.buildSetVars()
 
         # If we are told to do the None task then query the default task
-        if (task == None):
+        if task is None:
             task = self.configuration.cmd
 
         if not task.startswith("do_"):
@@ -1600,7 +1592,7 @@  class BBCooker:
             raise NothingToBuild
 
         ignore = (self.data.getVar("ASSUME_PROVIDED") or "").split()
-        for pkg in pkgs_to_build:
+        for pkg in pkgs_to_build.copy():
             if pkg in ignore:
                 parselog.warning("Explicit target \"%s\" is in ASSUME_PROVIDED, ignoring" % pkg)
             if pkg.startswith("multiconfig:"):
@@ -1673,6 +1665,8 @@  class BBCooker:
         self.command.reset()
         self.databuilder.reset()
         self.data = self.databuilder.data
+        self.parsecache_valid = False
+        self.baseconfig_valid = False
 
 
 class CookerExit(bb.event.Event):
@@ -1695,7 +1689,7 @@  class CookerCollectFiles(object):
     def calc_bbfile_priority( self, filename, matched = None ):
         for _, _, regex, pri in self.bbfile_config_priorities:
             if regex.match(filename):
-                if matched != None:
+                if matched is not None:
                     if not regex in matched:
                         matched.add(regex)
                 return pri
@@ -1792,7 +1786,7 @@  class CookerCollectFiles(object):
                 # When constructing an older style single regex, it's possible for BBMASK
                 # to end up beginning with '|', which matches and masks _everything_.
                 if mask.startswith("|"):
-                    collectlog.warn("BBMASK contains regular expression beginning with '|', fixing: %s" % mask)
+                    collectlog.warning("BBMASK contains regular expression beginning with '|', fixing: %s" % mask)
                     mask = mask[1:]
                 try:
                     re.compile(mask)
@@ -1948,7 +1942,8 @@  class Parser(multiprocessing.Process):
                 except IndexError:
                     break
                 result = self.parse(*job)
-
+                # Clear the siggen cache after parsing to control memory usage, its huge
+                bb.parse.siggen.postparsing_clean_cache()
             try:
                 self.results.put(result, timeout=0.25)
             except queue.Full:
@@ -1956,6 +1951,7 @@  class Parser(multiprocessing.Process):
 
     def parse(self, filename, appends):
         try:
+            origfilter = bb.event.LogHandler.filter
             # Record the filename we're parsing into any events generated
             def parse_filter(self, record):
                 record.taskpid = bb.event.worker_pid
@@ -1978,6 +1974,8 @@  class Parser(multiprocessing.Process):
         # a SystemExit event for example.
         except BaseException as exc:
             return True, ParsingFailure(exc, filename)
+        finally:
+            bb.event.LogHandler.filter = origfilter
 
 class CookerParser(object):
     def __init__(self, cooker, filelist, masked):
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index 0d75d0c..b0683c5 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -79,7 +79,7 @@  def expand(s, d, varname = None):
     return d.expand(s, varname)
 
 def expandKeys(alterdata, readdata = None):
-    if readdata == None:
+    if readdata is None:
         readdata = alterdata
 
     todolist = {}
@@ -365,7 +365,7 @@  def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
     #bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
     #d.setVarFlag(key, "vardeps", deps)
 
-def generate_dependencies(d):
+def generate_dependencies(d, whitelist):
 
     keys = set(key for key in d if not key.startswith("__"))
     shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, "unexport", False))
@@ -380,7 +380,7 @@  def generate_dependencies(d):
         newdeps = deps[task]
         seen = set()
         while newdeps:
-            nextdeps = newdeps
+            nextdeps = newdeps - whitelist
             seen |= nextdeps
             newdeps = set()
             for dep in nextdeps:
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index dd5c618..7f1b6dc 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -107,10 +107,6 @@  class VariableParse:
             else:
                 code = match.group()[3:-1]
 
-            if "_remote_data" in self.d:
-                connector = self.d["_remote_data"]
-                return connector.expandPythonRef(self.varname, code, self.d)
-
             if self.varname:
                 varname = 'Var <%s>' % self.varname
             else:
@@ -268,12 +264,7 @@  class VariableHistory(object):
             self.variables[newvar].append(i.copy())
 
     def variable(self, var):
-        remote_connector = self.dataroot.getVar('_remote_data', False)
-        if remote_connector:
-            varhistory = remote_connector.getVarHistory(var)
-        else:
-            varhistory = []
-
+        varhistory = []
         if var in self.variables:
             varhistory.extend(self.variables[var])
         return varhistory
@@ -338,11 +329,12 @@  class VariableHistory(object):
                 lines.append(line)
         return lines
 
-    def get_variable_items_files(self, var, d):
+    def get_variable_items_files(self, var):
         """
         Use variable history to map items added to a list variable and
         the files in which they were added.
         """
+        d = self.dataroot
         history = self.variable(var)
         finalitems = (d.getVar(var) or '').split()
         filemap = {}
@@ -470,10 +462,6 @@  class DataSmart(MutableMapping):
             if var in dest:
                 return dest[var], self.overridedata.get(var, None)
 
-            if "_remote_data" in dest:
-                connector = dest["_remote_data"]["_content"]
-                return connector.getVar(var)
-
             if "_data" not in dest:
                 break
             dest = dest["_data"]
@@ -498,12 +486,6 @@  class DataSmart(MutableMapping):
         if 'parsing' in loginfo:
             parsing=True
 
-        if '_remote_data' in self.dict:
-            connector = self.dict["_remote_data"]["_content"]
-            res = connector.setVar(var, value)
-            if not res:
-                return
-
         if 'op' not in loginfo:
             loginfo['op'] = "set"
 
@@ -607,11 +589,9 @@  class DataSmart(MutableMapping):
         """
         Rename the variable key to newkey
         """
-        if '_remote_data' in self.dict:
-            connector = self.dict["_remote_data"]["_content"]
-            res = connector.renameVar(key, newkey)
-            if not res:
-                return
+        if key == newkey:
+            bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
+            return
 
         val = self.getVar(key, 0, parsing=True)
         if val is not None:
@@ -658,11 +638,6 @@  class DataSmart(MutableMapping):
 
     def delVar(self, var, **loginfo):
         self.expand_cache = {}
-        if '_remote_data' in self.dict:
-            connector = self.dict["_remote_data"]["_content"]
-            res = connector.delVar(var)
-            if not res:
-                return
 
         loginfo['detail'] = ""
         loginfo['op'] = 'del'
@@ -690,11 +665,6 @@  class DataSmart(MutableMapping):
 
     def setVarFlag(self, var, flag, value, **loginfo):
         self.expand_cache = {}
-        if '_remote_data' in self.dict:
-            connector = self.dict["_remote_data"]["_content"]
-            res = connector.setVarFlag(var, flag, value)
-            if not res:
-                return
 
         if 'op' not in loginfo:
             loginfo['op'] = "set"
@@ -845,11 +815,6 @@  class DataSmart(MutableMapping):
 
     def delVarFlag(self, var, flag, **loginfo):
         self.expand_cache = {}
-        if '_remote_data' in self.dict:
-            connector = self.dict["_remote_data"]["_content"]
-            res = connector.delVarFlag(var, flag)
-            if not res:
-                return
 
         local_var, _ = self._findVar(var)
         if not local_var:
@@ -967,7 +932,7 @@  class DataSmart(MutableMapping):
 
     def localkeys(self):
         for key in self.dict:
-            if key not in ['_data', '_remote_data']:
+            if key not in ['_data']:
                 yield key
 
     def __iter__(self):
@@ -976,7 +941,7 @@  class DataSmart(MutableMapping):
         def keylist(d):        
             klist = set()
             for key in d:
-                if key in ["_data", "_remote_data"]:
+                if key in ["_data"]:
                     continue
                 if key in deleted:
                     continue
@@ -990,13 +955,6 @@  class DataSmart(MutableMapping):
             if "_data" in d:
                 klist |= keylist(d["_data"])
 
-            if "_remote_data" in d:
-                connector = d["_remote_data"]["_content"]
-                for key in connector.getKeys():
-                    if key in deleted:
-                        continue
-                    klist.add(key)
-
             return klist
 
         self.need_overrides()
@@ -1042,7 +1000,10 @@  class DataSmart(MutableMapping):
                 continue
 
             value = d.getVar(key, False) or ""
-            data.update({key:value})
+            if type(value) is type(self):
+                data.update({key:value.get_hash()})
+            else:
+                data.update({key:value})
 
             varflags = d.getVarFlags(key, internalflags = True)
             if not varflags:
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index d44621e..d1359f0 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -10,8 +10,7 @@  BitBake build tools.
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os, sys
-import warnings
+import sys
 import pickle
 import logging
 import atexit
@@ -347,7 +346,7 @@  def set_UIHmask(handlerNum, level, debug_domains, mask):
 
 def getName(e):
     """Returns the name of a class or class instance"""
-    if getattr(e, "__name__", None) == None:
+    if getattr(e, "__name__", None) is None:
         return e.__class__.__name__
     else:
         return e.__name__
@@ -509,7 +508,7 @@  class NoProvider(Event):
         extra = ''
         if not self._reasons:
             if self._close_matches:
-                extra = ". Close matches:\n  %s" % '\n  '.join(self._close_matches)
+                extra = ". Close matches:\n  %s" % '\n  '.join(sorted(set(self._close_matches)))
 
         if self._dependees:
             msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s" % (r, self._item, ", ".join(self._dependees), r, extra)
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 1f5f8f1..eb112f0 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -33,6 +33,9 @@  _checksum_cache = bb.checksum.FileChecksumCache()
 
 logger = logging.getLogger("BitBake.Fetcher")
 
+CHECKSUM_LIST = [ "md5", "sha256", "sha1", "sha384", "sha512" ]
+SHOWN_CHECKSUM_LIST = ["sha256"]
+
 class BBFetchException(Exception):
     """Class all fetch exceptions inherit from"""
     def __init__(self, message):
@@ -131,10 +134,9 @@  class NonLocalMethod(Exception):
         Exception.__init__(self)
 
 class MissingChecksumEvent(bb.event.Event):
-    def __init__(self, url, md5sum, sha256sum):
+    def __init__(self, url, **checksums):
         self.url = url
-        self.checksums = {'md5sum': md5sum,
-                          'sha256sum': sha256sum}
+        self.checksums = checksums
         bb.event.Event.__init__(self)
 
 
@@ -484,17 +486,22 @@  def fetcher_init(d):
     Called to initialize the fetchers once the configuration data is known.
     Calls before this must not hit the cache.
     """
+
+    revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
+    try:
+        # fetcher_init is called multiple times, so make sure we only save the
+        # revs the first time it is called.
+        if not bb.fetch2.saved_headrevs:
+            bb.fetch2.saved_headrevs = dict(revs)
+    except:
+        pass
+
     # When to drop SCM head revisions controlled by user policy
     srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
     if srcrev_policy == "cache":
         logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
     elif srcrev_policy == "clear":
         logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
-        revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
-        try:
-            bb.fetch2.saved_headrevs = revs.items()
-        except:
-            pass
         revs.clear()
     else:
         raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -513,22 +520,12 @@  def fetcher_parse_done():
 
 def fetcher_compare_revisions(d):
     """
-    Compare the revisions in the persistant cache with current values and
-    return true/false on whether they've changed.
+    Compare the revisions in the persistent cache with the saved values from
+    when bitbake was started and return true if they have changed.
     """
 
-    data = bb.persist_data.persist('BB_URI_HEADREVS', d).items()
-    data2 = bb.fetch2.saved_headrevs
-
-    changed = False
-    for key in data:
-        if key not in data2 or data2[key] != data[key]:
-            logger.debug(1, "%s changed", key)
-            changed = True
-            return True
-        else:
-            logger.debug(2, "%s did not change", key)
-    return False
+    headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d))
+    return headrevs != bb.fetch2.saved_headrevs
 
 def mirror_from_string(data):
     mirrors = (data or "").replace('\\n',' ').split()
@@ -552,71 +549,84 @@  def verify_checksum(ud, d, precomputed={}):
     downloading. See https://bugzilla.yoctoproject.org/show_bug.cgi?id=5571.
     """
 
-    _MD5_KEY = "md5"
-    _SHA256_KEY = "sha256"
-
     if ud.ignore_checksums or not ud.method.supports_checksum(ud):
         return {}
 
-    if _MD5_KEY in precomputed:
-        md5data = precomputed[_MD5_KEY]
-    else:
-        md5data = bb.utils.md5_file(ud.localpath)
+    def compute_checksum_info(checksum_id):
+        checksum_name = getattr(ud, "%s_name" % checksum_id)
 
-    if _SHA256_KEY in precomputed:
-        sha256data = precomputed[_SHA256_KEY]
-    else:
-        sha256data = bb.utils.sha256_file(ud.localpath)
+        if checksum_id in precomputed:
+            checksum_data = precomputed[checksum_id]
+        else:
+            checksum_data = getattr(bb.utils, "%s_file" % checksum_id)(ud.localpath)
 
-    if ud.method.recommends_checksum(ud) and not ud.md5_expected and not ud.sha256_expected:
-        # If strict checking enabled and neither sum defined, raise error
+        checksum_expected = getattr(ud, "%s_expected" % checksum_id)
+
+        return {
+            "id": checksum_id,
+            "name": checksum_name,
+            "data": checksum_data,
+            "expected": checksum_expected
+        }
+
+    checksum_infos = []
+    for checksum_id in CHECKSUM_LIST:
+        checksum_infos.append(compute_checksum_info(checksum_id))
+
+    checksum_dict = {ci["id"] : ci["data"] for ci in checksum_infos}
+    checksum_event = {"%ssum" % ci["id"] : ci["data"] for ci in checksum_infos}
+
+    for ci in checksum_infos:
+        if ci["id"] in SHOWN_CHECKSUM_LIST:
+            checksum_lines = ["SRC_URI[%s] = \"%s\"" % (ci["name"], ci["data"])]
+
+    # If no checksum has been provided
+    if ud.method.recommends_checksum(ud) and all(ci["expected"] is None for ci in checksum_infos):
+        messages = []
         strict = d.getVar("BB_STRICT_CHECKSUM") or "0"
+
+        # If strict checking enabled and neither sum defined, raise error
         if strict == "1":
-            logger.error('No checksum specified for %s, please add at least one to the recipe:\n'
-                             'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
-                             (ud.localpath, ud.md5_name, md5data,
-                              ud.sha256_name, sha256data))
-            raise NoChecksumError('Missing SRC_URI checksum', ud.url)
+            messages.append("No checksum specified for '%s', please add at " \
+                            "least one to the recipe:" % ud.localpath)
+            messages.extend(checksum_lines)
+            logger.error("\n".join(messages))
+            raise NoChecksumError("Missing SRC_URI checksum", ud.url)
 
-        bb.event.fire(MissingChecksumEvent(ud.url, md5data, sha256data), d)
+        bb.event.fire(MissingChecksumEvent(ud.url, **checksum_event), d)
 
         if strict == "ignore":
-            return {
-                _MD5_KEY: md5data,
-                _SHA256_KEY: sha256data
-            }
+            return checksum_dict
 
         # Log missing sums so user can more easily add them
-        logger.warning('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
-                       'SRC_URI[%s] = "%s"',
-                       ud.localpath, ud.md5_name, md5data)
-        logger.warning('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
-                       'SRC_URI[%s] = "%s"',
-                       ud.localpath, ud.sha256_name, sha256data)
+        messages.append("Missing checksum for '%s', consider adding at " \
+                        "least one to the recipe:" % ud.localpath)
+        messages.extend(checksum_lines)
+        logger.warning("\n".join(messages))
 
     # We want to alert the user if a checksum is defined in the recipe but
     # it does not match.
-    msg = ""
-    mismatch = False
-    if ud.md5_expected and ud.md5_expected != md5data:
-        msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'md5', md5data, ud.md5_expected)
-        mismatch = True;
-
-    if ud.sha256_expected and ud.sha256_expected != sha256data:
-        msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
-        mismatch = True;
-
-    if mismatch:
-        msg = msg + '\nIf this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"\nOtherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
-
-    if len(msg):
-        raise ChecksumError('Checksum mismatch!%s' % msg, ud.url, md5data)
-
-    return {
-        _MD5_KEY: md5data,
-        _SHA256_KEY: sha256data
-    }
-
+    messages = []
+    messages.append("Checksum mismatch!")
+    bad_checksum = None
+
+    for ci in checksum_infos:
+        if ci["expected"] and ci["expected"] != ci["data"]:
+            messages.append("File: '%s' has %s checksum %s when %s was " \
+                            "expected" % (ud.localpath, ci["id"], ci["data"], ci["expected"]))
+            bad_checksum = ci["data"]
+
+    if bad_checksum:
+        messages.append("If this change is expected (e.g. you have upgraded " \
+                        "to a new version without updating the checksums) " \
+                        "then you can use these lines within the recipe:")
+        messages.extend(checksum_lines)
+        messages.append("Otherwise you should retry the download and/or " \
+                        "check with upstream to determine if the file has " \
+                        "become corrupted or otherwise unexpectedly modified.")
+        raise ChecksumError("\n".join(messages), ud.url, bad_checksum)
+
+    return checksum_dict
 
 def verify_donestamp(ud, d, origud=None):
     """
@@ -1081,7 +1091,7 @@  def try_mirrors(fetch, d, origud, mirrors, check = False):
 
     for index, uri in enumerate(uris):
         ret = try_mirror_url(fetch, origud, uds[index], ld, check)
-        if ret != False:
+        if ret:
             return ret
     return None
 
@@ -1197,14 +1207,14 @@  def get_checksum_file_list(d):
 
     return " ".join(filelist)
 
-def get_file_checksums(filelist, pn):
+def get_file_checksums(filelist, pn, localdirsexclude):
     """Get a list of the checksums for a list of local files
 
     Returns the checksums for a list of local files, caching the results as
     it proceeds
 
     """
-    return _checksum_cache.get_checksums(filelist, pn)
+    return _checksum_cache.get_checksums(filelist, pn, localdirsexclude)
 
 
 class FetchData(object):
@@ -1230,24 +1240,26 @@  class FetchData(object):
             self.pswd = self.parm["pswd"]
         self.setup = False
 
-        if "name" in self.parm:
-            self.md5_name = "%s.md5sum" % self.parm["name"]
-            self.sha256_name = "%s.sha256sum" % self.parm["name"]
-        else:
-            self.md5_name = "md5sum"
-            self.sha256_name = "sha256sum"
-        if self.md5_name in self.parm:
-            self.md5_expected = self.parm[self.md5_name]
-        elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
-            self.md5_expected = None
-        else:
-            self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
-        if self.sha256_name in self.parm:
-            self.sha256_expected = self.parm[self.sha256_name]
-        elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
-            self.sha256_expected = None
-        else:
-            self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
+        def configure_checksum(checksum_id):
+            if "name" in self.parm:
+                checksum_name = "%s.%ssum" % (self.parm["name"], checksum_id)
+            else:
+                checksum_name = "%ssum" % checksum_id
+
+            setattr(self, "%s_name" % checksum_id, checksum_name)
+
+            if checksum_name in self.parm:
+                checksum_expected = self.parm[checksum_name]
+            elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3"]:
+                checksum_expected = None
+            else:
+                checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
+
+            setattr(self, "%s_expected" % checksum_id, checksum_expected)
+
+        for checksum_id in CHECKSUM_LIST:
+            configure_checksum(checksum_id)
+
         self.ignore_checksums = False
 
         self.names = self.parm.get("name",'default').split(',')
@@ -1351,7 +1363,7 @@  class FetchMethod(object):
         """
 
         # We cannot compute checksums for directories
-        if os.path.isdir(urldata.localpath) == True:
+        if os.path.isdir(urldata.localpath):
             return False
         if urldata.localpath.find("*") != -1:
             return False
@@ -1365,6 +1377,18 @@  class FetchMethod(object):
         """
         return False
 
+    def verify_donestamp(self, ud, d):
+        """
+        Verify the donestamp file
+        """
+        return verify_donestamp(ud, d)
+
+    def update_donestamp(self, ud, d):
+        """
+        Update the donestamp file
+        """
+        update_stamp(ud, d)
+
     def _strip_leading_slashes(self, relpath):
         """
         Remove leading slash as os.path.join can't cope
@@ -1539,6 +1563,12 @@  class FetchMethod(object):
         """
         return True
 
+    def try_mirrors(self, fetch, urldata, d, mirrors, check=False):
+        """
+        Try to use a mirror
+        """
+        return bool(try_mirrors(fetch, d, urldata, mirrors, check))
+
     def checkstatus(self, fetch, urldata, d):
         """
         Check the status of a URL
@@ -1567,8 +1597,7 @@  class FetchMethod(object):
         return True, str(latest_rev)
 
     def generate_revision_key(self, ud, d, name):
-        key = self._revision_key(ud, d, name)
-        return "%s-%s" % (key, d.getVar("PN") or "")
+        return self._revision_key(ud, d, name)
 
     def latest_versionstring(self, ud, d):
         """
@@ -1578,6 +1607,16 @@  class FetchMethod(object):
         """
         return ('', '')
 
+    def done(self, ud, d):
+        """
+        Is the download done ?
+        """
+        if os.path.exists(ud.localpath):
+            return True
+        if ud.localpath.find("*") != -1:
+            return True
+        return False
+
 class Fetch(object):
     def __init__(self, urls, d, cache = True, localonly = False, connection_cache = None):
         if localonly and cache:
@@ -1592,8 +1631,11 @@  class Fetch(object):
 
         fn = d.getVar('FILE')
         mc = d.getVar('__BBMULTICONFIG') or ""
-        if cache and fn and mc + fn in urldata_cache:
-            self.ud = urldata_cache[mc + fn]
+        key = None
+        if cache and fn:
+            key = mc + fn + str(id(d))
+        if key in urldata_cache:
+            self.ud = urldata_cache[key]
 
         for url in urls:
             if url not in self.ud:
@@ -1604,8 +1646,8 @@  class Fetch(object):
                         self.ud[url] = None
                         pass
 
-        if fn and cache:
-            urldata_cache[mc + fn] = self.ud
+        if key:
+            urldata_cache[key] = self.ud
 
     def localpath(self, url):
         if url not in self.urls:
@@ -1641,7 +1683,7 @@  class Fetch(object):
             ud = self.ud[u]
             ud.setup_localpath(self.d)
             m = ud.method
-            localpath = ""
+            done = False
 
             if ud.lockfile:
                 lf = bb.utils.lockfile(ud.lockfile)
@@ -1649,28 +1691,28 @@  class Fetch(object):
             try:
                 self.d.setVar("BB_NO_NETWORK", network)
 
-                if verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
-                    localpath = ud.localpath
+                if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
+                    done = True
                 elif m.try_premirror(ud, self.d):
                     logger.debug(1, "Trying PREMIRRORS")
                     mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
-                    localpath = try_mirrors(self, self.d, ud, mirrors, False)
-                    if localpath:
+                    done = m.try_mirrors(self, ud, self.d, mirrors)
+                    if done:
                         try:
                             # early checksum verification so that if the checksum of the premirror
                             # contents mismatch the fetcher can still try upstream and mirrors
-                            update_stamp(ud, self.d)
+                            m.update_donestamp(ud, self.d)
                         except ChecksumError as e:
                             logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
                             logger.debug(1, str(e))
-                            localpath = ""
+                            done = False
 
                 if premirroronly:
                     self.d.setVar("BB_NO_NETWORK", "1")
 
                 firsterr = None
-                verified_stamp = verify_donestamp(ud, self.d)
-                if not localpath and (not verified_stamp or m.need_update(ud, self.d)):
+                verified_stamp = m.verify_donestamp(ud, self.d)
+                if not done and (not verified_stamp or m.need_update(ud, self.d)):
                     try:
                         if not trusted_network(self.d, ud.url):
                             raise UntrustedUrl(ud.url)
@@ -1678,10 +1720,10 @@  class Fetch(object):
                         m.download(ud, self.d)
                         if hasattr(m, "build_mirror_data"):
                             m.build_mirror_data(ud, self.d)
-                        localpath = ud.localpath
+                        done = True
                         # early checksum verify, so that if checksum mismatched,
                         # fetcher still have chance to fetch from mirror
-                        update_stamp(ud, self.d)
+                        m.update_donestamp(ud, self.d)
 
                     except bb.fetch2.NetworkAccess:
                         raise
@@ -1703,14 +1745,14 @@  class Fetch(object):
                             m.clean(ud, self.d)
                         logger.debug(1, "Trying MIRRORS")
                         mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
-                        localpath = try_mirrors(self, self.d, ud, mirrors)
+                        done = m.try_mirrors(self, ud, self.d, mirrors)
 
-                if not localpath or ((not os.path.exists(localpath)) and localpath.find("*") == -1):
+                if not done or not m.done(ud, self.d):
                     if firsterr:
                         logger.error(str(firsterr))
                     raise FetchError("Unable to fetch URL from any source.", u)
 
-                update_stamp(ud, self.d)
+                m.update_donestamp(ud, self.d)
 
             except IOError as e:
                 if e.errno in [errno.ESTALE]:
@@ -1741,14 +1783,14 @@  class Fetch(object):
             logger.debug(1, "Testing URL %s", u)
             # First try checking uri, u, from PREMIRRORS
             mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
-            ret = try_mirrors(self, self.d, ud, mirrors, True)
+            ret = m.try_mirrors(self, ud, self.d, mirrors, True)
             if not ret:
                 # Next try checking from the original uri, u
                 ret = m.checkstatus(self, ud, self.d)
                 if not ret:
                     # Finally, try checking uri, u, from MIRRORS
                     mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
-                    ret = try_mirrors(self, self.d, ud, mirrors, True)
+                    ret = m.try_mirrors(self, ud, self.d, mirrors, True)
 
             if not ret:
                 raise FetchError("URL %s doesn't work" % u, u)
@@ -1853,6 +1895,7 @@  from . import osc
 from . import repo
 from . import clearcase
 from . import npm
+from . import npmsw
 
 methods.append(local.Local())
 methods.append(wget.Wget())
@@ -1871,3 +1914,4 @@  methods.append(osc.Osc())
 methods.append(repo.Repo())
 methods.append(clearcase.ClearCase())
 methods.append(npm.Npm())
+methods.append(npmsw.NpmShrinkWrap())
diff --git a/bitbake/lib/bb/fetch2/bzr.py b/bitbake/lib/bb/fetch2/bzr.py
index c56d875..566ace9 100644
--- a/bitbake/lib/bb/fetch2/bzr.py
+++ b/bitbake/lib/bb/fetch2/bzr.py
@@ -14,8 +14,6 @@  BitBake 'Fetch' implementation for bzr.
 #
 
 import os
-import sys
-import logging
 import bb
 from bb.fetch2 import FetchMethod
 from bb.fetch2 import FetchError
diff --git a/bitbake/lib/bb/fetch2/clearcase.py b/bitbake/lib/bb/fetch2/clearcase.py
index 3dd93ad..49d7ae1 100644
--- a/bitbake/lib/bb/fetch2/clearcase.py
+++ b/bitbake/lib/bb/fetch2/clearcase.py
@@ -49,7 +49,6 @@  User credentials:
 #
 
 import os
-import sys
 import shutil
 import bb
 from   bb.fetch2 import FetchMethod
@@ -145,18 +144,18 @@  class ClearCase(FetchMethod):
 
         basecmd = "%s %s" % (ud.basecmd, command)
 
-        if command is 'mkview':
+        if command == 'mkview':
             if not "rcleartool" in ud.basecmd:
                 # Cleartool needs a -snapshot view
                 options.append("-snapshot")
             options.append("-tag %s" % ud.viewname)
             options.append(ud.viewdir)
 
-        elif command is 'rmview':
+        elif command == 'rmview':
             options.append("-force")
             options.append("%s" % ud.viewdir)
 
-        elif command is 'setcs':
+        elif command == 'setcs':
             options.append("-overwrite")
             options.append(ud.configspecfile)
 
@@ -238,7 +237,7 @@  class ClearCase(FetchMethod):
 
         # Clean clearcase meta-data before tar
 
-        runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup = [ud.localpath])
+        runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup = [ud.localpath], workdir = ud.viewdir)
 
         # Clean up so we can create a new view next time
         self.clean(ud, d);
diff --git a/bitbake/lib/bb/fetch2/cvs.py b/bitbake/lib/bb/fetch2/cvs.py
index 1b35ba4..29123a4 100644
--- a/bitbake/lib/bb/fetch2/cvs.py
+++ b/bitbake/lib/bb/fetch2/cvs.py
@@ -14,7 +14,6 @@  BitBake build tools.
 #
 
 import os
-import logging
 import bb
 from bb.fetch2 import FetchMethod, FetchError, MissingParameterError, logger
 from bb.fetch2 import runfetchcmd
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 2d1d2ca..2ce9395 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -292,11 +292,21 @@  class Git(FetchMethod):
     def clonedir_need_update(self, ud, d):
         if not os.path.exists(ud.clonedir):
             return True
+        if ud.shallow and ud.write_shallow_tarballs and self.clonedir_need_shallow_revs(ud, d):
+            return True
         for name in ud.names:
             if not self._contains_ref(ud, d, name, ud.clonedir):
                 return True
         return False
 
+    def clonedir_need_shallow_revs(self, ud, d):
+        for rev in ud.shallow_revs:
+            try:
+                runfetchcmd('%s rev-parse -q --verify %s' % (ud.basecmd, rev), d, quiet=True, workdir=ud.clonedir)
+            except bb.fetch2.FetchError:
+                return rev
+        return None
+
     def shallow_tarball_need_update(self, ud):
         return ud.shallow and ud.write_shallow_tarballs and not os.path.exists(ud.fullshallow)
 
@@ -339,19 +349,13 @@  class Git(FetchMethod):
             runfetchcmd(clone_cmd, d, log=progresshandler)
 
         # Update the checkout if needed
-        needupdate = False
-        for name in ud.names:
-            if not self._contains_ref(ud, d, name, ud.clonedir):
-                needupdate = True
-                break
-
-        if needupdate:
+        if self.clonedir_need_update(ud, d):
             output = runfetchcmd("%s remote" % ud.basecmd, d, quiet=True, workdir=ud.clonedir)
             if "origin" in output:
               runfetchcmd("%s remote rm origin" % ud.basecmd, d, workdir=ud.clonedir)
 
             runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d, workdir=ud.clonedir)
-            fetch_cmd = "LANG=C %s fetch -f --prune --progress %s refs/*:refs/*" % (ud.basecmd, repourl)
+            fetch_cmd = "LANG=C %s fetch -f --progress %s refs/*:refs/*" % (ud.basecmd, repourl)
             if ud.proto.lower() != 'file':
                 bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
             progresshandler = GitProgressHandler(d)
@@ -369,6 +373,11 @@  class Git(FetchMethod):
             if not self._contains_ref(ud, d, name, ud.clonedir):
                 raise bb.fetch2.FetchError("Unable to find revision %s in branch %s even from upstream" % (ud.revisions[name], ud.branches[name]))
 
+        if ud.shallow and ud.write_shallow_tarballs:
+            missing_rev = self.clonedir_need_shallow_revs(ud, d)
+            if missing_rev:
+                raise bb.fetch2.FetchError("Unable to find revision %s even from upstream" % missing_rev)
+
     def build_mirror_data(self, ud, d):
         if ud.shallow and ud.write_shallow_tarballs:
             if not os.path.exists(ud.fullshallow):
@@ -585,7 +594,9 @@  class Git(FetchMethod):
         """
         Return a unique key for the url
         """
-        return "git:" + ud.host + ud.path.replace('/', '.') + ud.unresolvedrev[name]
+        # Collapse adjacent slashes
+        slash_re = re.compile(r"/+")
+        return "git:" + ud.host + slash_re.sub(".", ud.path) + ud.unresolvedrev[name]
 
     def _lsremote(self, ud, d, search):
         """
@@ -662,7 +673,7 @@  class Git(FetchMethod):
 
             # search for version in the line
             tag = tagregex.search(tag_head)
-            if tag == None:
+            if tag is None:
                 continue
 
             tag = tag.group('pver')
diff --git a/bitbake/lib/bb/fetch2/gitannex.py b/bitbake/lib/bb/fetch2/gitannex.py
index 1d497dc..80a808d 100644
--- a/bitbake/lib/bb/fetch2/gitannex.py
+++ b/bitbake/lib/bb/fetch2/gitannex.py
@@ -8,11 +8,9 @@  BitBake 'Fetch' git annex implementation
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os
 import bb
 from   bb.fetch2.git import Git
 from   bb.fetch2 import runfetchcmd
-from   bb.fetch2 import logger
 
 class GitANNEX(Git):
     def supports(self, ud, d):
diff --git a/bitbake/lib/bb/fetch2/gitsm.py b/bitbake/lib/bb/fetch2/gitsm.py
index c622771..e708300 100644
--- a/bitbake/lib/bb/fetch2/gitsm.py
+++ b/bitbake/lib/bb/fetch2/gitsm.py
@@ -20,11 +20,12 @@  NOTE: Switching a SRC_URI from "git://" to "gitsm://" requires a clean of your r
 import os
 import bb
 import copy
+import shutil
+import tempfile
 from   bb.fetch2.git import Git
 from   bb.fetch2 import runfetchcmd
 from   bb.fetch2 import logger
 from   bb.fetch2 import Fetch
-from   bb.fetch2 import BBFetchException
 
 class GitSM(Git):
     def supports(self, ud, d):
@@ -131,7 +132,7 @@  class GitSM(Git):
             ld.setVar('SRCPV', d.getVar('SRCPV'))
             ld.setVar('SRCREV_FORMAT', module)
 
-            function(ud, url, module, paths[module], ld)
+            function(ud, url, module, paths[module], workdir, ld)
 
         return submodules != []
 
@@ -153,7 +154,7 @@  class GitSM(Git):
         return False
 
     def download(self, ud, d):
-        def download_submodule(ud, url, module, modpath, d):
+        def download_submodule(ud, url, module, modpath, workdir, d):
             url += ";bareclone=1;nobranch=1"
 
             # Is the following still needed?
@@ -164,16 +165,25 @@  class GitSM(Git):
                 newfetch.download()
                 # Drop a nugget to add each of the srcrevs we've fetched (used by need_update)
                 runfetchcmd("%s config --add bitbake.srcrev %s" % \
-                            (ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
+                            (ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=workdir)
             except Exception as e:
                 logger.error('gitsm: submodule download failed: %s %s' % (type(e).__name__, str(e)))
                 raise
 
         Git.download(self, ud, d)
-        self.process_submodules(ud, ud.clonedir, download_submodule, d)
+
+        # If we're using a shallow mirror tarball it needs to be unpacked
+        # temporarily so that we can examine the .gitmodules file
+        if ud.shallow and os.path.exists(ud.fullshallow) and self.need_update(ud, d):
+            tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
+            runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=tmpdir)
+            self.process_submodules(ud, tmpdir, download_submodule, d)
+            shutil.rmtree(tmpdir)
+        else:
+            self.process_submodules(ud, ud.clonedir, download_submodule, d)
 
     def unpack(self, ud, destdir, d):
-        def unpack_submodules(ud, url, module, modpath, d):
+        def unpack_submodules(ud, url, module, modpath, workdir, d):
             url += ";bareclone=1;nobranch=1"
 
             # Figure out where we clone over the bare submodules...
diff --git a/bitbake/lib/bb/fetch2/hg.py b/bitbake/lib/bb/fetch2/hg.py
index 15d729e..8f50370 100644
--- a/bitbake/lib/bb/fetch2/hg.py
+++ b/bitbake/lib/bb/fetch2/hg.py
@@ -13,8 +13,6 @@  BitBake 'Fetch' implementation for mercurial DRCS (hg).
 #
 
 import os
-import sys
-import logging
 import bb
 import errno
 from bb.fetch2 import FetchMethod
@@ -54,13 +52,6 @@  class Hg(FetchMethod):
         else:
             ud.proto = "hg"
 
-        ud.setup_revisions(d)
-
-        if 'rev' in ud.parm:
-            ud.revision = ud.parm['rev']
-        elif not ud.revision:
-            ud.revision = self.latest_revision(ud, d)
-
         # Create paths to mercurial checkouts
         hgsrcname = '%s_%s_%s' % (ud.module.replace('/', '.'), \
                             ud.host, ud.path.replace('/', '.'))
@@ -74,6 +65,13 @@  class Hg(FetchMethod):
         ud.localfile = ud.moddir
         ud.basecmd = d.getVar("FETCHCMD_hg") or "/usr/bin/env hg"
 
+        ud.setup_revisions(d)
+
+        if 'rev' in ud.parm:
+            ud.revision = ud.parm['rev']
+        elif not ud.revision:
+            ud.revision = self.latest_revision(ud, d)
+
         ud.write_tarballs = d.getVar("BB_GENERATE_MIRROR_TARBALLS")
 
     def need_update(self, ud, d):
@@ -139,7 +137,7 @@  class Hg(FetchMethod):
                 cmd = "%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" pull" % (ud.basecmd, ud.user, ud.pswd, proto)
             else:
                 cmd = "%s pull" % (ud.basecmd)
-        elif command == "update":
+        elif command == "update" or command == "up":
             if ud.user and ud.pswd:
                 cmd = "%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" update -C %s" % (ud.basecmd, ud.user, ud.pswd, proto, " ".join(options))
             else:
@@ -247,12 +245,19 @@  class Hg(FetchMethod):
 
         scmdata = ud.parm.get("scmdata", "")
         if scmdata != "nokeep":
+            proto = ud.parm.get('protocol', 'http')
             if not os.access(os.path.join(codir, '.hg'), os.R_OK):
                 logger.debug(2, "Unpack: creating new hg repository in '" + codir + "'")
                 runfetchcmd("%s init %s" % (ud.basecmd, codir), d)
             logger.debug(2, "Unpack: updating source in '" + codir + "'")
-            runfetchcmd("%s pull %s" % (ud.basecmd, ud.moddir), d, workdir=codir)
-            runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), d, workdir=codir)
+            if ud.user and ud.pswd:
+                runfetchcmd("%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" pull %s" % (ud.basecmd, ud.user, ud.pswd, proto, ud.moddir), d, workdir=codir)
+            else:
+                runfetchcmd("%s pull %s" % (ud.basecmd, ud.moddir), d, workdir=codir)
+            if ud.user and ud.pswd:
+                runfetchcmd("%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" up -C %s" % (ud.basecmd, ud.user, ud.pswd, proto, revflag), d, workdir=codir)
+            else:
+                runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), d, workdir=codir)
         else:
             logger.debug(2, "Unpack: extracting source to '" + codir + "'")
             runfetchcmd("%s archive -t files %s %s" % (ud.basecmd, revflag, codir), d, workdir=ud.moddir)
diff --git a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py
index 9700e61..4789850 100644
--- a/bitbake/lib/bb/fetch2/npm.py
+++ b/bitbake/lib/bb/fetch2/npm.py
@@ -1,301 +1,296 @@ 
+# Copyright (C) 2020 Savoir-Faire Linux
 #
 # SPDX-License-Identifier: GPL-2.0-only
 #
 """
-BitBake 'Fetch' NPM implementation
+BitBake 'Fetch' npm implementation
 
-The NPM fetcher is used to retrieve files from the npmjs repository
+npm fetcher support the SRC_URI with format of:
+SRC_URI = "npm://some.registry.url;OptionA=xxx;OptionB=xxx;..."
 
-Usage in the recipe:
+Supported SRC_URI options are:
 
-    SRC_URI = "npm://registry.npmjs.org/;name=${PN};version=${PV}"
-    Suported SRC_URI options are:
+- package
+   The npm package name. This is a mandatory parameter.
 
-    - name
-    - version
+- version
+    The npm package version. This is a mandatory parameter.
 
-    npm://registry.npmjs.org/${PN}/-/${PN}-${PV}.tgz  would become npm://registry.npmjs.org;name=${PN};version=${PV}
-    The fetcher all triggers off the existence of ud.localpath. If that exists and has the ".done" stamp, its assumed the fetch is good/done
+- downloadfilename
+    Specifies the filename used when storing the downloaded file.
 
+- destsuffix
+    Specifies the directory to use to unpack the package (default: npm).
 """
 
-import os
-import sys
-import urllib.request, urllib.parse, urllib.error
+import base64
 import json
-import subprocess
-import signal
+import os
+import re
+import shlex
+import tempfile
 import bb
-from   bb.fetch2 import FetchMethod
-from   bb.fetch2 import FetchError
-from   bb.fetch2 import ChecksumError
-from   bb.fetch2 import runfetchcmd
-from   bb.fetch2 import logger
-from   bb.fetch2 import UnpackError
-from   bb.fetch2 import ParameterError
-
-def subprocess_setup():
-    # Python installs a SIGPIPE handler by default. This is usually not what
-    # non-Python subprocesses expect.
-    # SIGPIPE errors are known issues with gzip/bash
-    signal.signal(signal.SIGPIPE, signal.SIG_DFL)
+from bb.fetch2 import Fetch
+from bb.fetch2 import FetchError
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import ParameterError
+from bb.fetch2 import URI
+from bb.fetch2 import check_network_access
+from bb.fetch2 import runfetchcmd
+from bb.utils import is_semver
+
+def npm_package(package):
+    """Convert the npm package name to remove unsupported character"""
+    # Scoped package names (with the @) use the same naming convention
+    # as the 'npm pack' command.
+    if package.startswith("@"):
+        return re.sub("/", "-", package[1:])
+    return package
+
+def npm_filename(package, version):
+    """Get the filename of a npm package"""
+    return npm_package(package) + "-" + version + ".tgz"
+
+def npm_localfile(package, version):
+    """Get the local filename of a npm package"""
+    return os.path.join("npm2", npm_filename(package, version))
+
+def npm_integrity(integrity):
+    """
+    Get the checksum name and expected value from the subresource integrity
+        https://www.w3.org/TR/SRI/
+    """
+    algo, value = integrity.split("-", maxsplit=1)
+    return "%ssum" % algo, base64.b64decode(value).hex()
+
+def npm_unpack(tarball, destdir, d):
+    """Unpack a npm tarball"""
+    bb.utils.mkdirhier(destdir)
+    cmd = "tar --extract --gzip --file=%s" % shlex.quote(tarball)
+    cmd += " --no-same-owner"
+    cmd += " --strip-components=1"
+    runfetchcmd(cmd, d, workdir=destdir)
+
+class NpmEnvironment(object):
+    """
+    Using a npm config file seems more reliable than using cli arguments.
+    This class allows to create a controlled environment for npm commands.
+    """
+    def __init__(self, d, configs=None):
+        self.d = d
+        self.configs = configs
+
+    def run(self, cmd, args=None, configs=None, workdir=None):
+        """Run npm command in a controlled environment"""
+        with tempfile.TemporaryDirectory() as tmpdir:
+            d = bb.data.createCopy(self.d)
+            d.setVar("HOME", tmpdir)
+
+            cfgfile = os.path.join(tmpdir, "npmrc")
+
+            if not workdir:
+                workdir = tmpdir
+
+            def _run(cmd):
+                cmd = "NPM_CONFIG_USERCONFIG=%s " % cfgfile + cmd
+                cmd = "NPM_CONFIG_GLOBALCONFIG=%s " % cfgfile + cmd
+                return runfetchcmd(cmd, d, workdir=workdir)
+
+            if self.configs:
+                for key, value in self.configs:
+                    _run("npm config set %s %s" % (key, shlex.quote(value)))
+
+            if configs:
+                for key, value in configs:
+                    _run("npm config set %s %s" % (key, shlex.quote(value)))
+
+            if args:
+                for key, value in args:
+                    cmd += " --%s=%s" % (key, shlex.quote(value))
+
+            return _run(cmd)
 
 class Npm(FetchMethod):
-
-    """Class to fetch urls via 'npm'"""
-    def init(self, d):
-        pass
+    """Class to fetch a package from a npm registry"""
 
     def supports(self, ud, d):
-        """
-        Check to see if a given url can be fetched with npm
-        """
-        return ud.type in ['npm']
+        """Check if a given url can be fetched with npm"""
+        return ud.type in ["npm"]
+
+    def urldata_init(self, ud, d):
+        """Init npm specific variables within url data"""
+        ud.package = None
+        ud.version = None
+        ud.registry = None
 
-    def debug(self, msg):
-        logger.debug(1, "NpmFetch: %s", msg)
+        # Get the 'package' parameter
+        if "package" in ud.parm:
+            ud.package = ud.parm.get("package")
 
-    def clean(self, ud, d):
-        logger.debug(2, "Calling cleanup %s" % ud.pkgname)
-        bb.utils.remove(ud.localpath, False)
-        bb.utils.remove(ud.pkgdatadir, True)
-        bb.utils.remove(ud.fullmirror, False)
+        if not ud.package:
+            raise MissingParameterError("Parameter 'package' required", ud.url)
+
+        # Get the 'version' parameter
+        if "version" in ud.parm:
+            ud.version = ud.parm.get("version")
 
-    def urldata_init(self, ud, d):
-        """
-        init NPM specific variable within url data
-        """
-        if 'downloadfilename' in ud.parm:
-            ud.basename = ud.parm['downloadfilename']
-        else:
-            ud.basename = os.path.basename(ud.path)
-
-        # can't call it ud.name otherwise fetcher base class will start doing sha1stuff
-        # TODO: find a way to get an sha1/sha256 manifest of pkg & all deps
-        ud.pkgname = ud.parm.get("name", None)
-        if not ud.pkgname:
-            raise ParameterError("NPM fetcher requires a name parameter", ud.url)
-        ud.version = ud.parm.get("version", None)
         if not ud.version:
-            raise ParameterError("NPM fetcher requires a version parameter", ud.url)
-        ud.bbnpmmanifest = "%s-%s.deps.json" % (ud.pkgname, ud.version)
-        ud.bbnpmmanifest = ud.bbnpmmanifest.replace('/', '-')
-        ud.registry = "http://%s" % (ud.url.replace('npm://', '', 1).split(';'))[0]
-        prefixdir = "npm/%s" % ud.pkgname
-        ud.pkgdatadir = d.expand("${DL_DIR}/%s" % prefixdir)
-        if not os.path.exists(ud.pkgdatadir):
-            bb.utils.mkdirhier(ud.pkgdatadir)
-        ud.localpath = d.expand("${DL_DIR}/npm/%s" % ud.bbnpmmanifest)
-
-        self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -O -t 2 -T 30 -nv --passive-ftp --no-check-certificate "
-        ud.prefixdir = prefixdir
-
-        ud.write_tarballs = ((d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0") != "0")
-        mirrortarball = 'npm_%s-%s.tar.xz' % (ud.pkgname, ud.version)
-        mirrortarball = mirrortarball.replace('/', '-')
-        ud.fullmirror = os.path.join(d.getVar("DL_DIR"), mirrortarball)
-        ud.mirrortarballs = [mirrortarball]
+            raise MissingParameterError("Parameter 'version' required", ud.url)
 
-    def need_update(self, ud, d):
-        if os.path.exists(ud.localpath):
-            return False
-        return True
-
-    def _runpack(self, ud, d, pkgfullname: str, quiet=False) -> str:
-        """
-        Runs npm pack on a full package name.
-        Returns the filename of the downloaded package
-        """
-        bb.fetch2.check_network_access(d, pkgfullname, ud.registry)
-        dldir = d.getVar("DL_DIR")
-        dldir = os.path.join(dldir, ud.prefixdir)
-
-        command = "npm pack {} --registry {}".format(pkgfullname, ud.registry)
-        logger.debug(2, "Fetching {} using command '{}' in {}".format(pkgfullname, command, dldir))
-        filename = runfetchcmd(command, d, quiet, workdir=dldir)
-        return filename.rstrip()
-
-    def _unpackdep(self, ud, pkg, data, destdir, dldir, d):
-        file = data[pkg]['tgz']
-        logger.debug(2, "file to extract is %s" % file)
-        if file.endswith('.tgz') or file.endswith('.tar.gz') or file.endswith('.tar.Z'):
-            cmd = 'tar xz --strip 1 --no-same-owner --warning=no-unknown-keyword -f %s/%s' % (dldir, file)
-        else:
-            bb.fatal("NPM package %s downloaded not a tarball!" % file)
-
-        # Change to subdir before executing command
-        if not os.path.exists(destdir):
-            os.makedirs(destdir)
-        path = d.getVar('PATH')
-        if path:
-            cmd = "PATH=\"%s\" %s" % (path, cmd)
-        bb.note("Unpacking %s to %s/" % (file, destdir))
-        ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True, cwd=destdir)
-
-        if ret != 0:
-            raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud.url)
-
-        if 'deps' not in data[pkg]:
-            return
-        for dep in data[pkg]['deps']:
-            self._unpackdep(ud, dep, data[pkg]['deps'], "%s/node_modules/%s" % (destdir, dep), dldir, d)
-
-
-    def unpack(self, ud, destdir, d):
-        dldir = d.getVar("DL_DIR")
-        with open("%s/npm/%s" % (dldir, ud.bbnpmmanifest)) as datafile:
-            workobj = json.load(datafile)
-        dldir = "%s/%s" % (os.path.dirname(ud.localpath), ud.pkgname)
-
-        if 'subdir' in ud.parm:
-            unpackdir = '%s/%s' % (destdir, ud.parm.get('subdir'))
+        if not is_semver(ud.version) and not ud.version == "latest":
+            raise ParameterError("Invalid 'version' parameter", ud.url)
+
+        # Extract the 'registry' part of the url
+        ud.registry = re.sub(r"^npm://", "http://", ud.url.split(";")[0])
+
+        # Using the 'downloadfilename' parameter as local filename
+        # or the npm package name.
+        if "downloadfilename" in ud.parm:
+            ud.localfile = d.expand(ud.parm["downloadfilename"])
         else:
-            unpackdir = '%s/npmpkg' % destdir
-
-        self._unpackdep(ud, ud.pkgname, workobj, unpackdir, dldir, d)
-
-    def _parse_view(self, output):
-        '''
-        Parse the output of npm view --json; the last JSON result
-        is assumed to be the one that we're interested in.
-        '''
-        pdata = json.loads(output);
-        try:
-            return pdata[-1]
-        except:
-            return pdata
-
-    def _getdependencies(self, pkg, data, version, d, ud, optional=False, fetchedlist=None):
-        if fetchedlist is None:
-            fetchedlist = []
-        pkgfullname = pkg
-        if version != '*' and not '/' in version:
-            pkgfullname += "@'%s'" % version
-        if pkgfullname in fetchedlist:
-            return
-
-        logger.debug(2, "Calling getdeps on %s" % pkg)
-        fetchcmd = "npm view %s --json --registry %s" % (pkgfullname, ud.registry)
-        output = runfetchcmd(fetchcmd, d, True)
-        pdata = self._parse_view(output)
-        if not pdata:
-            raise FetchError("The command '%s' returned no output" % fetchcmd)
-        if optional:
-            pkg_os = pdata.get('os', None)
-            if pkg_os:
-                if not isinstance(pkg_os, list):
-                    pkg_os = [pkg_os]
-                blacklist = False
-                for item in pkg_os:
-                    if item.startswith('!'):
-                        blacklist = True
-                        break
-                if (not blacklist and 'linux' not in pkg_os) or '!linux' in pkg_os:
-                    logger.debug(2, "Skipping %s since it's incompatible with Linux" % pkg)
-                    return
-        filename = self._runpack(ud, d, pkgfullname)
-        data[pkg] = {}
-        data[pkg]['tgz'] = filename
-        fetchedlist.append(pkgfullname)
-
-        dependencies = pdata.get('dependencies', {})
-        optionalDependencies = pdata.get('optionalDependencies', {})
-        dependencies.update(optionalDependencies)
-        depsfound = {}
-        optdepsfound = {}
-        data[pkg]['deps'] = {}
-        for dep in dependencies:
-            if dep in optionalDependencies:
-                optdepsfound[dep] = dependencies[dep]
+            ud.localfile = npm_localfile(ud.package, ud.version)
+
+        # Get the base 'npm' command
+        ud.basecmd = d.getVar("FETCHCMD_npm") or "npm"
+
+        # This fetcher resolves a URI from a npm package name and version and
+        # then forwards it to a proxy fetcher. A resolve file containing the
+        # resolved URI is created to avoid unwanted network access (if the file
+        # already exists). The management of the donestamp file, the lockfile
+        # and the checksums are forwarded to the proxy fetcher.
+        ud.proxy = None
+        ud.needdonestamp = False
+        ud.resolvefile = self.localpath(ud, d) + ".resolved"
+
+    def _resolve_proxy_url(self, ud, d):
+        def _npm_view():
+            configs = []
+            configs.append(("json", "true"))
+            configs.append(("registry", ud.registry))
+            pkgver = shlex.quote(ud.package + "@" + ud.version)
+            cmd = ud.basecmd + " view %s" % pkgver
+            env = NpmEnvironment(d)
+            check_network_access(d, cmd, ud.registry)
+            view_string = env.run(cmd, configs=configs)
+
+            if not view_string:
+                raise FetchError("Unavailable package %s" % pkgver, ud.url)
+
+            try:
+                view = json.loads(view_string)
+
+                error = view.get("error")
+                if error is not None:
+                    raise FetchError(error.get("summary"), ud.url)
+
+                if ud.version == "latest":
+                    bb.warn("The npm package %s is using the latest " \
+                            "version available. This could lead to " \
+                            "non-reproducible builds." % pkgver)
+                elif ud.version != view.get("version"):
+                    raise ParameterError("Invalid 'version' parameter", ud.url)
+
+                return view
+
+            except Exception as e:
+                raise FetchError("Invalid view from npm: %s" % str(e), ud.url)
+
+        def _get_url(view):
+            tarball_url = view.get("dist", {}).get("tarball")
+
+            if tarball_url is None:
+                raise FetchError("Invalid 'dist.tarball' in view", ud.url)
+
+            uri = URI(tarball_url)
+            uri.params["downloadfilename"] = ud.localfile
+
+            integrity = view.get("dist", {}).get("integrity")
+            shasum = view.get("dist", {}).get("shasum")
+
+            if integrity is not None:
+                checksum_name, checksum_expected = npm_integrity(integrity)
+                uri.params[checksum_name] = checksum_expected
+            elif shasum is not None:
+                uri.params["sha1sum"] = shasum
             else:
-                depsfound[dep] = dependencies[dep]
-        for dep, version in optdepsfound.items():
-            self._getdependencies(dep, data[pkg]['deps'], version, d, ud, optional=True, fetchedlist=fetchedlist)
-        for dep, version in depsfound.items():
-            self._getdependencies(dep, data[pkg]['deps'], version, d, ud, fetchedlist=fetchedlist)
-
-    def _getshrinkeddependencies(self, pkg, data, version, d, ud, lockdown, manifest, toplevel=True):
-        logger.debug(2, "NPM shrinkwrap file is %s" % data)
-        if toplevel:
-            name = data.get('name', None)
-            if name and name != pkg:
-                for obj in data.get('dependencies', []):
-                    if obj == pkg:
-                        self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest, False)
-                        return
-
-        pkgnameWithVersion = "{}@{}".format(pkg, version)
-        logger.debug(2, "Get dependencies for {}".format(pkgnameWithVersion))
-        filename = self._runpack(ud, d, pkgnameWithVersion)
-        manifest[pkg] = {}
-        manifest[pkg]['tgz'] = filename
-        manifest[pkg]['deps'] = {}
-
-        if pkg in lockdown:
-            sha1_expected = lockdown[pkg][version]
-            sha1_data = bb.utils.sha1_file("npm/%s/%s" % (ud.pkgname, manifest[pkg]['tgz']))
-            if sha1_expected != sha1_data:
-                msg = "\nFile: '%s' has %s checksum %s when %s was expected" % (manifest[pkg]['tgz'], 'sha1', sha1_data, sha1_expected)
-                raise ChecksumError('Checksum mismatch!%s' % msg)
-        else:
-            logger.debug(2, "No lockdown data for %s@%s" % (pkg, version))
+                raise FetchError("Invalid 'dist.integrity' in view", ud.url)
 
-        if 'dependencies' in data:
-            for obj in data['dependencies']:
-                logger.debug(2, "Found dep is %s" % str(obj))
-                self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest[pkg]['deps'], False)
+            return str(uri)
+
+        url = _get_url(_npm_view())
+
+        bb.utils.mkdirhier(os.path.dirname(ud.resolvefile))
+        with open(ud.resolvefile, "w") as f:
+            f.write(url)
+
+    def _setup_proxy(self, ud, d):
+        if ud.proxy is None:
+            if not os.path.exists(ud.resolvefile):
+                self._resolve_proxy_url(ud, d)
+
+            with open(ud.resolvefile, "r") as f:
+                url = f.read()
+
+            # Avoid conflicts between the environment data and:
+            # - the proxy url checksum
+            data = bb.data.createCopy(d)
+            data.delVarFlags("SRC_URI")
+            ud.proxy = Fetch([url], data)
+
+    def _get_proxy_method(self, ud, d):
+        self._setup_proxy(ud, d)
+        proxy_url = ud.proxy.urls[0]
+        proxy_ud = ud.proxy.ud[proxy_url]
+        proxy_d = ud.proxy.d
+        proxy_ud.setup_localpath(proxy_d)
+        return proxy_ud.method, proxy_ud, proxy_d
+
+    def verify_donestamp(self, ud, d):
+        """Verify the donestamp file"""
+        proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
+        return proxy_m.verify_donestamp(proxy_ud, proxy_d)
+
+    def update_donestamp(self, ud, d):
+        """Update the donestamp file"""
+        proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
+        proxy_m.update_donestamp(proxy_ud, proxy_d)
+
+    def need_update(self, ud, d):
+        """Force a fetch, even if localpath exists ?"""
+        if not os.path.exists(ud.resolvefile):
+            return True
+        if ud.version == "latest":
+            return True
+        proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
+        return proxy_m.need_update(proxy_ud, proxy_d)
+
+    def try_mirrors(self, fetch, ud, d, mirrors):
+        """Try to use a mirror"""
+        proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
+        return proxy_m.try_mirrors(fetch, proxy_ud, proxy_d, mirrors)
 
     def download(self, ud, d):
         """Fetch url"""
-        jsondepobj = {}
-        shrinkobj = {}
-        lockdown = {}
-
-        if not os.listdir(ud.pkgdatadir) and os.path.exists(ud.fullmirror):
-            dest = d.getVar("DL_DIR")
-            bb.utils.mkdirhier(dest)
-            runfetchcmd("tar -xJf %s" % (ud.fullmirror), d, workdir=dest)
-            return
-
-        if ud.parm.get("noverify", None) != '1':
-            shwrf = d.getVar('NPM_SHRINKWRAP')
-            logger.debug(2, "NPM shrinkwrap file is %s" % shwrf)
-            if shwrf:
-                try:
-                    with open(shwrf) as datafile:
-                        shrinkobj = json.load(datafile)
-                except Exception as e:
-                    raise FetchError('Error loading NPM_SHRINKWRAP file "%s" for %s: %s' % (shwrf, ud.pkgname, str(e)))
-            elif not ud.ignore_checksums:
-                logger.warning('Missing shrinkwrap file in NPM_SHRINKWRAP for %s, this will lead to unreliable builds!' % ud.pkgname)
-            lckdf = d.getVar('NPM_LOCKDOWN')
-            logger.debug(2, "NPM lockdown file is %s" % lckdf)
-            if lckdf:
-                try:
-                    with open(lckdf) as datafile:
-                        lockdown = json.load(datafile)
-                except Exception as e:
-                    raise FetchError('Error loading NPM_LOCKDOWN file "%s" for %s: %s' % (lckdf, ud.pkgname, str(e)))
-            elif not ud.ignore_checksums:
-                logger.warning('Missing lockdown file in NPM_LOCKDOWN for %s, this will lead to unreproducible builds!' % ud.pkgname)
-
-        if ('name' not in shrinkobj):
-            self._getdependencies(ud.pkgname, jsondepobj, ud.version, d, ud)
-        else:
-            self._getshrinkeddependencies(ud.pkgname, shrinkobj, ud.version, d, ud, lockdown, jsondepobj)
-
-        with open(ud.localpath, 'w') as outfile:
-            json.dump(jsondepobj, outfile)
-
-    def build_mirror_data(self, ud, d):
-        # Generate a mirror tarball if needed
-        if ud.write_tarballs and not os.path.exists(ud.fullmirror):
-            # it's possible that this symlink points to read-only filesystem with PREMIRROR
-            if os.path.islink(ud.fullmirror):
-                os.unlink(ud.fullmirror)
-
-            dldir = d.getVar("DL_DIR")
-            logger.info("Creating tarball of npm data")
-            runfetchcmd("tar -cJf %s npm/%s npm/%s" % (ud.fullmirror, ud.bbnpmmanifest, ud.pkgname), d,
-                        workdir=dldir)
-            runfetchcmd("touch %s.done" % (ud.fullmirror), d, workdir=dldir)
+        self._setup_proxy(ud, d)
+        ud.proxy.download()
+
+    def unpack(self, ud, rootdir, d):
+        """Unpack the downloaded archive"""
+        destsuffix = ud.parm.get("destsuffix", "npm")
+        destdir = os.path.join(rootdir, destsuffix)
+        npm_unpack(ud.localpath, destdir, d)
+
+    def clean(self, ud, d):
+        """Clean any existing full or partial download"""
+        if os.path.exists(ud.resolvefile):
+            self._setup_proxy(ud, d)
+            ud.proxy.clean()
+            bb.utils.remove(ud.resolvefile)
+
+    def done(self, ud, d):
+        """Is the download done ?"""
+        if not os.path.exists(ud.resolvefile):
+            return False
+        proxy_m, proxy_ud, proxy_d = self._get_proxy_method(ud, d)
+        return proxy_m.done(proxy_ud, proxy_d)
diff --git a/bitbake/lib/bb/fetch2/npmsw.py b/bitbake/lib/bb/fetch2/npmsw.py
new file mode 100644
index 0000000..0c3511d
--- /dev/null
+++ b/bitbake/lib/bb/fetch2/npmsw.py
@@ -0,0 +1,255 @@ 
+# Copyright (C) 2020 Savoir-Faire Linux
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+"""
+BitBake 'Fetch' npm shrinkwrap implementation
+
+npm fetcher support the SRC_URI with format of:
+SRC_URI = "npmsw://some.registry.url;OptionA=xxx;OptionB=xxx;..."
+
+Supported SRC_URI options are:
+
+- dev
+   Set to 1 to also install devDependencies.
+
+- destsuffix
+    Specifies the directory to use to unpack the dependencies (default: ${S}).
+"""
+
+import json
+import os
+import re
+import bb
+from bb.fetch2 import Fetch
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import ParameterError
+from bb.fetch2 import URI
+from bb.fetch2.npm import npm_integrity
+from bb.fetch2.npm import npm_localfile
+from bb.fetch2.npm import npm_unpack
+from bb.utils import is_semver
+
+def foreach_dependencies(shrinkwrap, callback=None, dev=False):
+    """
+        Run a callback for each dependencies of a shrinkwrap file.
+        The callback is using the format:
+            callback(name, params, deptree)
+        with:
+            name = the package name (string)
+            params = the package parameters (dictionary)
+            deptree = the package dependency tree (array of strings)
+    """
+    def _walk_deps(deps, deptree):
+        for name in deps:
+            subtree = [*deptree, name]
+            _walk_deps(deps[name].get("dependencies", {}), subtree)
+            if callback is not None:
+                if deps[name].get("dev", False) and not dev:
+                    continue
+                elif deps[name].get("bundled", False):
+                    continue
+                callback(name, deps[name], subtree)
+
+    _walk_deps(shrinkwrap.get("dependencies", {}), [])
+
+class NpmShrinkWrap(FetchMethod):
+    """Class to fetch all package from a shrinkwrap file"""
+
+    def supports(self, ud, d):
+        """Check if a given url can be fetched with npmsw"""
+        return ud.type in ["npmsw"]
+
+    def urldata_init(self, ud, d):
+        """Init npmsw specific variables within url data"""
+
+        # Get the 'shrinkwrap' parameter
+        ud.shrinkwrap_file = re.sub(r"^npmsw://", "", ud.url.split(";")[0])
+
+        # Get the 'dev' parameter
+        ud.dev = bb.utils.to_boolean(ud.parm.get("dev"), False)
+
+        # Resolve the dependencies
+        ud.deps = []
+
+        def _resolve_dependency(name, params, deptree):
+            url = None
+            localpath = None
+            extrapaths = []
+            destsubdirs = [os.path.join("node_modules", dep) for dep in deptree]
+            destsuffix = os.path.join(*destsubdirs)
+
+            integrity = params.get("integrity", None)
+            resolved = params.get("resolved", None)
+            version = params.get("version", None)
+
+            # Handle registry sources
+            if is_semver(version) and resolved and integrity:
+                localfile = npm_localfile(name, version)
+
+                uri = URI(resolved)
+                uri.params["downloadfilename"] = localfile
+
+                checksum_name, checksum_expected = npm_integrity(integrity)
+                uri.params[checksum_name] = checksum_expected
+
+                url = str(uri)
+
+                localpath = os.path.join(d.getVar("DL_DIR"), localfile)
+
+                # Create a resolve file to mimic the npm fetcher and allow
+                # re-usability of the downloaded file.
+                resolvefile = localpath + ".resolved"
+
+                bb.utils.mkdirhier(os.path.dirname(resolvefile))
+                with open(resolvefile, "w") as f:
+                    f.write(url)
+
+                extrapaths.append(resolvefile)
+
+            # Handle http tarball sources
+            elif version.startswith("http") and integrity:
+                localfile = os.path.join("npm2", os.path.basename(version))
+
+                uri = URI(version)
+                uri.params["downloadfilename"] = localfile
+
+                checksum_name, checksum_expected = npm_integrity(integrity)
+                uri.params[checksum_name] = checksum_expected
+
+                url = str(uri)
+
+                localpath = os.path.join(d.getVar("DL_DIR"), localfile)
+
+            # Handle git sources
+            elif version.startswith("git"):
+                regex = re.compile(r"""
+                    ^
+                    git\+
+                    (?P<protocol>[a-z]+)
+                    ://
+                    (?P<url>[^#]+)
+                    \#
+                    (?P<rev>[0-9a-f]+)
+                    $
+                    """, re.VERBOSE)
+
+                match = regex.match(version)
+
+                if not match:
+                    raise ParameterError("Invalid git url: %s" % version, ud.url)
+
+                groups = match.groupdict()
+
+                uri = URI("git://" + str(groups["url"]))
+                uri.params["protocol"] = str(groups["protocol"])
+                uri.params["rev"] = str(groups["rev"])
+                uri.params["destsuffix"] = destsuffix
+
+                url = str(uri)
+
+            # local tarball sources and local link sources are unsupported
+            else:
+                raise ParameterError("Unsupported dependency: %s" % name, ud.url)
+
+            ud.deps.append({
+                "url": url,
+                "localpath": localpath,
+                "extrapaths": extrapaths,
+                "destsuffix": destsuffix,
+            })
+
+        try:
+            with open(ud.shrinkwrap_file, "r") as f:
+                shrinkwrap = json.load(f)
+        except Exception as e:
+            raise ParameterError("Invalid shrinkwrap file: %s" % str(e), ud.url)
+
+        foreach_dependencies(shrinkwrap, _resolve_dependency, ud.dev)
+
+        # Avoid conflicts between the environment data and:
+        # - the proxy url revision
+        # - the proxy url checksum
+        data = bb.data.createCopy(d)
+        data.delVar("SRCREV")
+        data.delVarFlags("SRC_URI")
+
+        # This fetcher resolves multiple URIs from a shrinkwrap file and then
+        # forwards it to a proxy fetcher. The management of the donestamp file,
+        # the lockfile and the checksums are forwarded to the proxy fetcher.
+        ud.proxy = Fetch([dep["url"] for dep in ud.deps], data)
+        ud.needdonestamp = False
+
+    @staticmethod
+    def _foreach_proxy_method(ud, handle):
+        returns = []
+        for proxy_url in ud.proxy.urls:
+            proxy_ud = ud.proxy.ud[proxy_url]
+            proxy_d = ud.proxy.d
+            proxy_ud.setup_localpath(proxy_d)
+            returns.append(handle(proxy_ud.method, proxy_ud, proxy_d))
+        return returns
+
+    def verify_donestamp(self, ud, d):
+        """Verify the donestamp file"""
+        def _handle(m, ud, d):
+            return m.verify_donestamp(ud, d)
+        return all(self._foreach_proxy_method(ud, _handle))
+
+    def update_donestamp(self, ud, d):
+        """Update the donestamp file"""
+        def _handle(m, ud, d):
+            m.update_donestamp(ud, d)
+        self._foreach_proxy_method(ud, _handle)
+
+    def need_update(self, ud, d):
+        """Force a fetch, even if localpath exists ?"""
+        def _handle(m, ud, d):
+            return m.need_update(ud, d)
+        return all(self._foreach_proxy_method(ud, _handle))
+
+    def try_mirrors(self, fetch, ud, d, mirrors):
+        """Try to use a mirror"""
+        def _handle(m, ud, d):
+            return m.try_mirrors(fetch, ud, d, mirrors)
+        return all(self._foreach_proxy_method(ud, _handle))
+
+    def download(self, ud, d):
+        """Fetch url"""
+        ud.proxy.download()
+
+    def unpack(self, ud, rootdir, d):
+        """Unpack the downloaded dependencies"""
+        destdir = d.getVar("S")
+        destsuffix = ud.parm.get("destsuffix")
+        if destsuffix:
+            destdir = os.path.join(rootdir, destsuffix)
+
+        bb.utils.mkdirhier(destdir)
+        bb.utils.copyfile(ud.shrinkwrap_file,
+                          os.path.join(destdir, "npm-shrinkwrap.json"))
+
+        auto = [dep["url"] for dep in ud.deps if not dep["localpath"]]
+        manual = [dep for dep in ud.deps if dep["localpath"]]
+
+        if auto:
+            ud.proxy.unpack(destdir, auto)
+
+        for dep in manual:
+            depdestdir = os.path.join(destdir, dep["destsuffix"])
+            npm_unpack(dep["localpath"], depdestdir, d)
+
+    def clean(self, ud, d):
+        """Clean any existing full or partial download"""
+        ud.proxy.clean()
+
+        # Clean extra files
+        for dep in ud.deps:
+            for path in dep["extrapaths"]:
+                bb.utils.remove(path)
+
+    def done(self, ud, d):
+        """Is the download done ?"""
+        def _handle(m, ud, d):
+            return m.done(ud, d)
+        return all(self._foreach_proxy_method(ud, _handle))
diff --git a/bitbake/lib/bb/fetch2/osc.py b/bitbake/lib/bb/fetch2/osc.py
index 3e56715..8f091ef 100644
--- a/bitbake/lib/bb/fetch2/osc.py
+++ b/bitbake/lib/bb/fetch2/osc.py
@@ -7,8 +7,6 @@  Based on the svn "Fetch" implementation.
 
 """
 
-import  os
-import  sys
 import logging
 import  bb
 from    bb.fetch2 import FetchMethod
@@ -43,7 +41,7 @@  class Osc(FetchMethod):
         else:
             pv = d.getVar("PV", False)
             rev = bb.fetch2.srcrev_internal_helper(ud, d)
-            if rev and rev != True:
+            if rev:
                 ud.revision = rev
             else:
                 ud.revision = ""
diff --git a/bitbake/lib/bb/fetch2/perforce.py b/bitbake/lib/bb/fetch2/perforce.py
index 54d001e..f57c2a4 100644
--- a/bitbake/lib/bb/fetch2/perforce.py
+++ b/bitbake/lib/bb/fetch2/perforce.py
@@ -11,7 +11,6 @@  BitBake 'Fetch' implementation for perforce
 # Based on functions from the base bb module, Copyright 2003 Holger Schurig
 
 import os
-import logging
 import bb
 from   bb.fetch2 import FetchMethod
 from   bb.fetch2 import FetchError
@@ -105,7 +104,7 @@  class Perforce(FetchMethod):
         if command == 'changes':
             p4cmd = '%s%s changes -m 1 //%s' % (ud.basecmd, p4opt, pathnrev)
         elif command == 'print':
-            if depot_filename != None:
+            if depot_filename is not None:
                 p4cmd = '%s%s print -o "p4/%s" "%s"' % (ud.basecmd, p4opt, filename, depot_filename)
             else:
                 raise FetchError('No depot file name provided to p4 %s' % command, ud.url)
diff --git a/bitbake/lib/bb/fetch2/ssh.py b/bitbake/lib/bb/fetch2/ssh.py
index f5be060..5e982ec 100644
--- a/bitbake/lib/bb/fetch2/ssh.py
+++ b/bitbake/lib/bb/fetch2/ssh.py
@@ -32,8 +32,6 @@  IETF secsh internet draft:
 
 import re, os
 from   bb.fetch2 import FetchMethod
-from   bb.fetch2 import FetchError
-from   bb.fetch2 import logger
 from   bb.fetch2 import runfetchcmd
 
 
@@ -60,7 +58,7 @@  class SSH(FetchMethod):
     '''Class to fetch a module or modules via Secure Shell'''
 
     def supports(self, urldata, d):
-        return __pattern__.match(urldata.url) != None
+        return __pattern__.match(urldata.url) is not None
 
     def supports_checksum(self, urldata):
         return False
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py
index 96d666b..971a5ad 100644
--- a/bitbake/lib/bb/fetch2/svn.py
+++ b/bitbake/lib/bb/fetch2/svn.py
@@ -11,8 +11,6 @@  BitBake 'Fetch' implementation for svn.
 # Based on functions from the base bb module, Copyright 2003 Holger Schurig
 
 import os
-import sys
-import logging
 import bb
 import re
 from   bb.fetch2 import FetchMethod
@@ -49,7 +47,7 @@  class Svn(FetchMethod):
         svndir = d.getVar("SVNDIR") or (d.getVar("DL_DIR") + "/svn")
         relpath = self._strip_leading_slashes(ud.path)
         ud.pkgdir = os.path.join(svndir, ud.host, relpath)
-        ud.moddir = os.path.join(ud.pkgdir, ud.module)
+        ud.moddir = os.path.join(ud.pkgdir, ud.path_spec)
         # Protects the repository from concurrent updates, e.g. from two
         # recipes fetching different revisions at the same time
         ud.svnlock = os.path.join(ud.pkgdir, "svn.lock")
@@ -124,30 +122,30 @@  class Svn(FetchMethod):
 
         try:
             if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
-                svnupdatecmd = self._buildsvncommand(ud, d, "update")
+                svncmd = self._buildsvncommand(ud, d, "update")
                 logger.info("Update " + ud.url)
                 # We need to attempt to run svn upgrade first in case its an older working format
                 try:
                     runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir)
                 except FetchError:
                     pass
-                logger.debug(1, "Running %s", svnupdatecmd)
-                bb.fetch2.check_network_access(d, svnupdatecmd, ud.url)
-                runfetchcmd(svnupdatecmd, d, workdir=ud.moddir)
+                logger.debug(1, "Running %s", svncmd)
+                bb.fetch2.check_network_access(d, svncmd, ud.url)
+                runfetchcmd(svncmd, d, workdir=ud.moddir)
             else:
-                svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
+                svncmd = self._buildsvncommand(ud, d, "fetch")
                 logger.info("Fetch " + ud.url)
                 # check out sources there
                 bb.utils.mkdirhier(ud.pkgdir)
-                logger.debug(1, "Running %s", svnfetchcmd)
-                bb.fetch2.check_network_access(d, svnfetchcmd, ud.url)
-                runfetchcmd(svnfetchcmd, d, workdir=ud.pkgdir)
+                logger.debug(1, "Running %s", svncmd)
+                bb.fetch2.check_network_access(d, svncmd, ud.url)
+                runfetchcmd(svncmd, d, workdir=ud.pkgdir)
 
             if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"):
                 # Warn the user if this had externals (won't catch them all)
                 output = runfetchcmd("svn propget svn:externals || true", d, workdir=ud.moddir)
                 if output:
-                    if "--ignore-externals" in svnfetchcmd.split():
+                    if "--ignore-externals" in svncmd.split():
                         bb.warn("%s contains svn:externals." % ud.url)
                         bb.warn("These should be added to the recipe SRC_URI as necessary.")
                         bb.warn("svn fetch has ignored externals:\n%s" % output)
diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py
index 725586d..f7d1de2 100644
--- a/bitbake/lib/bb/fetch2/wget.py
+++ b/bitbake/lib/bb/fetch2/wget.py
@@ -12,11 +12,10 @@  BitBake build tools.
 #
 # Based on functions from the base bb module, Copyright 2003 Holger Schurig
 
+import shlex
 import re
 import tempfile
-import subprocess
 import os
-import logging
 import errno
 import bb
 import bb.progress
@@ -27,7 +26,6 @@  from   bb.fetch2 import FetchMethod
 from   bb.fetch2 import FetchError
 from   bb.fetch2 import logger
 from   bb.fetch2 import runfetchcmd
-from   bb.fetch2 import FetchConnectionCache
 from   bb.utils import export_proxies
 from   bs4 import BeautifulSoup
 from   bs4 import SoupStrainer
@@ -94,9 +92,9 @@  class Wget(FetchMethod):
         fetchcmd = self.basecmd
 
         if 'downloadfilename' in ud.parm:
-            dldir = d.getVar("DL_DIR")
-            bb.utils.mkdirhier(os.path.dirname(dldir + os.sep + ud.localfile))
-            fetchcmd += " -O " + dldir + os.sep + ud.localfile
+            localpath = os.path.join(d.getVar("DL_DIR"), ud.localfile)
+            bb.utils.mkdirhier(os.path.dirname(localpath))
+            fetchcmd += " -O %s" % shlex.quote(localpath)
 
         if ud.user and ud.pswd:
             fetchcmd += " --user=%s --password=%s --auth-no-challenge" % (ud.user, ud.pswd)
@@ -302,6 +300,7 @@  class Wget(FetchMethod):
             # Some servers (FusionForge, as used on Alioth) require that the
             # optional Accept header is set.
             r.add_header("Accept", "*/*")
+            r.add_header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12")
             def add_basic_auth(login_str, request):
                 '''Adds Basic auth to http request, pass in login:password as string'''
                 import base64
diff --git a/bitbake/lib/bb/monitordisk.py b/bitbake/lib/bb/monitordisk.py
index 1a25b00..e7c0726 100644
--- a/bitbake/lib/bb/monitordisk.py
+++ b/bitbake/lib/bb/monitordisk.py
@@ -4,7 +4,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os, logging, re, sys
+import os, logging, re
 import bb
 logger = logging.getLogger("BitBake.Monitor")
 
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 6216eb3..2d88c4e 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -13,9 +13,8 @@  Message handling infrastructure for bitbake
 import sys
 import copy
 import logging
-import collections
+import logging.config
 from itertools import groupby
-import warnings
 import bb
 import bb.event
 
@@ -100,6 +99,9 @@  class BBLogFormatter(logging.Formatter):
     def enable_color(self):
         self.color_enabled = True
 
+    def __repr__(self):
+        return "%s fmt='%s' color=%s" % (self.__class__.__name__, self._fmt, "True" if self.color_enabled else "False")
+
 class BBLogFilter(object):
     def __init__(self, handler, level, debug_domains):
         self.stdlevel = level
@@ -118,60 +120,59 @@  class BBLogFilter(object):
             return True
         return False
 
-class BBLogFilterStdErr(BBLogFilter):
+class LogFilterGEQLevel(logging.Filter):
+    def __init__(self, level):
+        self.strlevel = str(level)
+        self.level = stringToLevel(level)
+
+    def __repr__(self):
+        return "%s level >= %s (%d)" % (self.__class__.__name__, self.strlevel, self.level)
+
     def filter(self, record):
-        if not BBLogFilter.filter(self, record):
-            return False
-        if record.levelno >= logging.ERROR:
-            return True
-        return False
+        return (record.levelno >= self.level)
+
+class LogFilterLTLevel(logging.Filter):
+    def __init__(self, level):
+        self.strlevel = str(level)
+        self.level = stringToLevel(level)
+
+    def __repr__(self):
+        return "%s level < %s (%d)" % (self.__class__.__name__, self.strlevel, self.level)
 
-class BBLogFilterStdOut(BBLogFilter):
     def filter(self, record):
-        if not BBLogFilter.filter(self, record):
-            return False
-        if record.levelno < logging.ERROR:
-            return True
-        return False
+        return (record.levelno < self.level)
 
 # Message control functions
 #
 
-loggerDefaultDebugLevel = 0
+loggerDefaultLogLevel = BBLogFormatter.NOTE
 loggerDefaultVerbose = False
 loggerVerboseLogs = False
-loggerDefaultDomains = []
+loggerDefaultDomains = {}
 
 def init_msgconfig(verbose, debug, debug_domains=None):
     """
     Set default verbosity and debug levels config the logger
     """
-    bb.msg.loggerDefaultDebugLevel = debug
     bb.msg.loggerDefaultVerbose = verbose
     if verbose:
         bb.msg.loggerVerboseLogs = True
-    if debug_domains:
-        bb.msg.loggerDefaultDomains = debug_domains
-    else:
-        bb.msg.loggerDefaultDomains = []
-
-def constructLogOptions():
-    debug = loggerDefaultDebugLevel
-    verbose = loggerDefaultVerbose
-    domains = loggerDefaultDomains
 
     if debug:
-        level = BBLogFormatter.DEBUG - debug + 1
+        bb.msg.loggerDefaultLogLevel = BBLogFormatter.DEBUG - debug + 1
     elif verbose:
-        level = BBLogFormatter.VERBOSE
+        bb.msg.loggerDefaultLogLevel = BBLogFormatter.VERBOSE
     else:
-        level = BBLogFormatter.NOTE
+        bb.msg.loggerDefaultLogLevel = BBLogFormatter.NOTE
 
-    debug_domains = {}
-    for (domainarg, iterator) in groupby(domains):
-        dlevel = len(tuple(iterator))
-        debug_domains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
-    return level, debug_domains
+    bb.msg.loggerDefaultDomains = {}
+    if debug_domains:
+        for (domainarg, iterator) in groupby(debug_domains):
+            dlevel = len(tuple(iterator))
+            bb.msg.loggerDefaultDomains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
+
+def constructLogOptions():
+    return loggerDefaultLogLevel, loggerDefaultDomains
 
 def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None):
     level, debug_domains = constructLogOptions()
@@ -181,6 +182,19 @@  def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None):
 
     cls(handler, level, debug_domains)
 
+def stringToLevel(level):
+    try:
+        return int(level)
+    except ValueError:
+        pass
+
+    try:
+        return getattr(logging, level)
+    except AttributeError:
+        pass
+
+    return getattr(BBLogFormatter, level)
+
 #
 # Message handling functions
 #
@@ -214,3 +228,105 @@  def has_console_handler(logger):
             if handler.stream in [sys.stderr, sys.stdout]:
                 return True
     return False
+
+def mergeLoggingConfig(logconfig, userconfig):
+    logconfig = copy.deepcopy(logconfig)
+    userconfig = copy.deepcopy(userconfig)
+
+    # Merge config with the default config
+    if userconfig.get('version') != logconfig['version']:
+        raise BaseException("Bad user configuration version. Expected %r, got %r" % (logconfig['version'], userconfig.get('version')))
+
+    # Set some defaults to make merging easier
+    userconfig.setdefault("loggers", {})
+
+    # If a handler, formatter, or filter is defined in the user
+    # config, it will replace an existing one in the default config
+    for k in ("handlers", "formatters", "filters"):
+        logconfig.setdefault(k, {}).update(userconfig.get(k, {}))
+
+    seen_loggers = set()
+    for name, l in logconfig["loggers"].items():
+        # If the merge option is set, merge the handlers and
+        # filters. Otherwise, if it is False, this logger won't get
+        # add to the set of seen loggers and will replace the
+        # existing one
+        if l.get('bitbake_merge', True):
+            ulogger = userconfig["loggers"].setdefault(name, {})
+            ulogger.setdefault("handlers", [])
+            ulogger.setdefault("filters", [])
+
+            # Merge lists
+            l.setdefault("handlers", []).extend(ulogger["handlers"])
+            l.setdefault("filters", []).extend(ulogger["filters"])
+
+            # Replace other properties if present
+            if "level" in ulogger:
+                l["level"] = ulogger["level"]
+
+            if "propagate" in ulogger:
+                l["propagate"] = ulogger["propagate"]
+
+            seen_loggers.add(name)
+
+    # Add all loggers present in the user config, but not any that
+    # have already been processed
+    for name in set(userconfig["loggers"].keys()) - seen_loggers:
+        logconfig["loggers"][name] = userconfig["loggers"][name]
+
+    return logconfig
+
+def setLoggingConfig(defaultconfig, userconfigfile=None):
+    logconfig = copy.deepcopy(defaultconfig)
+
+    if userconfigfile:
+        with open(os.path.normpath(userconfigfile), 'r') as f:
+            if userconfigfile.endswith('.yml') or userconfigfile.endswith('.yaml'):
+                import yaml
+                userconfig = yaml.load(f)
+            elif userconfigfile.endswith('.json') or userconfigfile.endswith('.cfg'):
+                import json
+                userconfig = json.load(f)
+            else:
+                raise BaseException("Unrecognized file format: %s" % userconfigfile)
+
+            if userconfig.get('bitbake_merge', True):
+                logconfig = mergeLoggingConfig(logconfig, userconfig)
+            else:
+                # Replace the entire default config
+                logconfig = userconfig
+
+    # Convert all level parameters to integers in case users want to use the
+    # bitbake defined level names
+    for h in logconfig["handlers"].values():
+        if "level" in h:
+            h["level"] = bb.msg.stringToLevel(h["level"])
+
+    for l in logconfig["loggers"].values():
+        if "level" in l:
+            l["level"] = bb.msg.stringToLevel(l["level"])
+
+    conf = logging.config.dictConfigClass(logconfig)
+    conf.configure()
+
+    # The user may have specified logging domains they want at a higher debug
+    # level than the standard.
+    for name, l in logconfig["loggers"].items():
+        if not name.startswith("BitBake."):
+            continue
+
+        if not "level" in l:
+            continue
+
+        curlevel = bb.msg.loggerDefaultDomains.get(name)
+        # Note: level parameter should already be a int because of conversion
+        # above
+        newlevel = int(l["level"])
+        if curlevel is None or newlevel < curlevel:
+            bb.msg.loggerDefaultDomains[name] = newlevel
+
+        # TODO: I don't think that setting the global log level should be necessary
+        #if newlevel < bb.msg.loggerDefaultLogLevel:
+        #    bb.msg.loggerDefaultLogLevel = newlevel
+
+    return conf
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index f0911e6..eb8cfa2 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -9,11 +9,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import re
-import string
-import logging
 import bb
-import itertools
 from bb import methodpool
 from bb.parse import logger
 
@@ -93,7 +89,7 @@  class DataNode(AstNode):
         self.groupd = groupd
 
     def getFunc(self, key, data):
-        if 'flag' in self.groupd and self.groupd['flag'] != None:
+        if 'flag' in self.groupd and self.groupd['flag'] is not None:
             return data.getVarFlag(key, self.groupd['flag'], expand=False, noweakdefault=True)
         else:
             return data.getVar(key, False, noweakdefault=True, parsing=True)
@@ -106,36 +102,36 @@  class DataNode(AstNode):
             'file': self.filename,
             'line': self.lineno,
         }
-        if "exp" in groupd and groupd["exp"] != None:
+        if "exp" in groupd and groupd["exp"] is not None:
             data.setVarFlag(key, "export", 1, op = 'exported', **loginfo)
 
         op = "set"
-        if "ques" in groupd and groupd["ques"] != None:
+        if "ques" in groupd and groupd["ques"] is not None:
             val = self.getFunc(key, data)
             op = "set?"
-            if val == None:
+            if val is None:
                 val = groupd["value"]
-        elif "colon" in groupd and groupd["colon"] != None:
+        elif "colon" in groupd and groupd["colon"] is not None:
             e = data.createCopy()
             op = "immediate"
             val = e.expand(groupd["value"], key + "[:=]")
-        elif "append" in groupd and groupd["append"] != None:
+        elif "append" in groupd and groupd["append"] is not None:
             op = "append"
             val = "%s %s" % ((self.getFunc(key, data) or ""), groupd["value"])
-        elif "prepend" in groupd and groupd["prepend"] != None:
+        elif "prepend" in groupd and groupd["prepend"] is not None:
             op = "prepend"
             val = "%s %s" % (groupd["value"], (self.getFunc(key, data) or ""))
-        elif "postdot" in groupd and groupd["postdot"] != None:
+        elif "postdot" in groupd and groupd["postdot"] is not None:
             op = "postdot"
             val = "%s%s" % ((self.getFunc(key, data) or ""), groupd["value"])
-        elif "predot" in groupd and groupd["predot"] != None:
+        elif "predot" in groupd and groupd["predot"] is not None:
             op = "predot"
             val = "%s%s" % (groupd["value"], (self.getFunc(key, data) or ""))
         else:
             val = groupd["value"]
 
         flag = None
-        if 'flag' in groupd and groupd['flag'] != None:
+        if 'flag' in groupd and groupd['flag'] is not None:
             flag = groupd['flag']
         elif groupd["lazyques"]:
             flag = "_defaultval"
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 6f7cf82..6e216ef 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -13,9 +13,7 @@ 
 #
 
 import re, bb, os
-import logging
 import bb.build, bb.utils
-from bb import data
 
 from . import ConfHandler
 from .. import resolve_file, ast, logger, ParseError
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 2e84b91..af64d34 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -119,30 +119,30 @@  def handle(fn, data, include):
         oldfile = data.getVar('FILE', False)
 
     abs_fn = resolve_file(fn, data)
-    f = open(abs_fn, 'r')
-
-    statements = ast.StatementGroup()
-    lineno = 0
-    while True:
-        lineno = lineno + 1
-        s = f.readline()
-        if not s:
-            break
-        w = s.strip()
-        # skip empty lines
-        if not w:
-            continue
-        s = s.rstrip()
-        while s[-1] == '\\':
-            s2 = f.readline().rstrip()
+    with open(abs_fn, 'r') as f:
+
+        statements = ast.StatementGroup()
+        lineno = 0
+        while True:
             lineno = lineno + 1
-            if (not s2 or s2 and s2[0] != "#") and s[0] == "#" :
-                bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
-            s = s[:-1] + s2
-        # skip comments
-        if s[0] == '#':
-            continue
-        feeder(lineno, s, abs_fn, statements)
+            s = f.readline()
+            if not s:
+                break
+            w = s.strip()
+            # skip empty lines
+            if not w:
+                continue
+            s = s.rstrip()
+            while s[-1] == '\\':
+                s2 = f.readline().rstrip()
+                lineno = lineno + 1
+                if (not s2 or s2 and s2[0] != "#") and s[0] == "#" :
+                    bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
+                s = s[:-1] + s2
+            # skip comments
+            if s[0] == '#':
+                continue
+            feeder(lineno, s, abs_fn, statements)
 
     # DONE WITH PARSING... time to evaluate
     data.setVar('FILE', abs_fn)
diff --git a/bitbake/lib/bb/persist_data.py b/bitbake/lib/bb/persist_data.py
index de8f87a..7357ab2 100644
--- a/bitbake/lib/bb/persist_data.py
+++ b/bitbake/lib/bb/persist_data.py
@@ -179,6 +179,9 @@  class SQLTable(collections.MutableMapping):
         elif not isinstance(value, str):
             raise TypeError('Only string values are supported')
 
+        # Ensure the entire transaction (including SELECT) executes under write lock
+        cursor.execute("BEGIN EXCLUSIVE")
+
         cursor.execute("SELECT * from %s where key=?;" % self.table, [key])
         row = cursor.fetchone()
         if row is not None:
diff --git a/bitbake/lib/bb/progress.py b/bitbake/lib/bb/progress.py
index 4022caa..9c755b7 100644
--- a/bitbake/lib/bb/progress.py
+++ b/bitbake/lib/bb/progress.py
@@ -7,7 +7,6 @@  BitBake progress handling code
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import sys
 import re
 import time
 import inspect
diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py
index f80963c..81459c3 100644
--- a/bitbake/lib/bb/providers.py
+++ b/bitbake/lib/bb/providers.py
@@ -92,11 +92,11 @@  def preferredVersionMatch(pe, pv, pr, preferred_e, preferred_v, preferred_r):
     Check if the version pe,pv,pr is the preferred one.
     If there is preferred version defined and ends with '%', then pv has to start with that version after removing the '%'
     """
-    if (pr == preferred_r or preferred_r == None):
-        if (pe == preferred_e or preferred_e == None):
+    if pr == preferred_r or preferred_r is None:
+        if pe == preferred_e or preferred_e is None:
             if preferred_v == pv:
                 return True
-            if preferred_v != None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]):
+            if preferred_v is not None and preferred_v.endswith('%') and pv.startswith(preferred_v[:len(preferred_v)-1]):
                 return True
     return False
 
diff --git a/bitbake/lib/bb/pysh/pyshyacc.py b/bitbake/lib/bb/pysh/pyshyacc.py
index de565dc..924860a 100644
--- a/bitbake/lib/bb/pysh/pyshyacc.py
+++ b/bitbake/lib/bb/pysh/pyshyacc.py
@@ -570,6 +570,7 @@  def p_linebreak(p):
 
 def p_separator_op(p):                 
     """separator_op : COMMA
+                    | COMMA COMMA
                     | AMP"""
     p[0] = p[1]
 
diff --git a/bitbake/lib/bb/remotedata.py b/bitbake/lib/bb/remotedata.py
index 7391e1b..6c9864d 100644
--- a/bitbake/lib/bb/remotedata.py
+++ b/bitbake/lib/bb/remotedata.py
@@ -17,16 +17,16 @@  class RemoteDatastores:
         self.cooker = cooker
         self.datastores = {}
         self.locked = []
+        self.datastores[0] = self.cooker.data
         self.nextindex = 1
 
     def __len__(self):
         return len(self.datastores)
 
     def __getitem__(self, key):
-        if key is None:
-            return self.cooker.data
-        else:
-            return self.datastores[key]
+        # Cooker could have changed its datastore from under us
+        self.datastores[0] = self.cooker.data
+        return self.datastores[key]
 
     def items(self):
         return self.datastores.items()
@@ -63,44 +63,3 @@  class RemoteDatastores:
             raise Exception('Tried to release locked datastore %d' % idx)
         del self.datastores[idx]
 
-    def receive_datastore(self, remote_data):
-        """Receive a datastore object sent from the client (as prepared by transmit_datastore())"""
-        dct = dict(remote_data)
-        d = bb.data_smart.DataSmart()
-        d.dict = dct
-        while True:
-            if '_remote_data' in dct:
-                dsindex = dct['_remote_data']['_content']
-                del dct['_remote_data']
-                if dsindex is None:
-                    dct['_data'] = self.cooker.data.dict
-                else:
-                    dct['_data'] = self.datastores[dsindex].dict
-                break
-            elif '_data' in dct:
-                idct = dict(dct['_data'])
-                dct['_data'] = idct
-                dct = idct
-            else:
-                break
-        return d
-
-    @staticmethod
-    def transmit_datastore(d):
-        """Prepare a datastore object for sending over IPC from the client end"""
-        # FIXME content might be a dict, need to turn that into a list as well
-        def copy_dicts(dct):
-            if '_remote_data' in dct:
-                dsindex = dct['_remote_data']['_content'].dsindex
-                newdct = dct.copy()
-                newdct['_remote_data'] = {'_content': dsindex}
-                return list(newdct.items())
-            elif '_data' in dct:
-                newdct = dct.copy()
-                newdata = copy_dicts(dct['_data'])
-                if newdata:
-                    newdct['_data'] = newdata
-                return list(newdct.items())
-            return None
-        main_dict = copy_dicts(d.dict)
-        return main_dict
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 1804943..30cab53 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -12,14 +12,12 @@  Handles preparation and execution of a queue of tasks
 import copy
 import os
 import sys
-import signal
 import stat
-import fcntl
 import errno
 import logging
 import re
 import bb
-from bb import msg, data, event
+from bb import msg, event
 from bb import monitordisk
 import subprocess
 import pickle
@@ -29,6 +27,7 @@  import pprint
 
 bblogger = logging.getLogger("BitBake")
 logger = logging.getLogger("BitBake.RunQueue")
+hashequiv_logger = logging.getLogger("BitBake.RunQueue.HashEquiv")
 
 __find_sha256__ = re.compile( r'(?i)(?<![a-z0-9])[a-f0-9]{64}(?![a-z0-9])' )
 
@@ -148,8 +147,9 @@  class RunQueueScheduler(object):
         """
         Return the id of the first task we find that is buildable
         """
+        # Once tasks are running we don't need to worry about them again
+        self.buildable.difference_update(self.rq.runq_running)
         buildable = set(self.buildable)
-        buildable.difference_update(self.rq.runq_running)
         buildable.difference_update(self.rq.holdoff_tasks)
         buildable.intersection_update(self.rq.tasks_covered | self.rq.tasks_notcovered)
         if not buildable:
@@ -207,8 +207,6 @@  class RunQueueScheduler(object):
 
     def newbuildable(self, task):
         self.buildable.add(task)
-        # Once tasks are running we don't need to worry about them again
-        self.buildable.difference_update(self.rq.runq_running)
 
     def removebuildable(self, task):
         self.buildable.remove(task)
@@ -923,9 +921,11 @@  class RunQueueData:
             runq_build = {}
 
             for task in self.cooker.configuration.runall:
+                if not task.startswith("do_"):
+                    task = "do_{0}".format(task)
                 runall_tids = set()
                 for tid in list(self.runtaskentries):
-                    wanttid = fn_from_tid(tid) + ":do_%s" % task
+                    wanttid = "{0}:{1}".format(fn_from_tid(tid), task)
                     if wanttid in delcount:
                         self.runtaskentries[wanttid] = delcount[wanttid]
                     if wanttid in self.runtaskentries:
@@ -952,7 +952,9 @@  class RunQueueData:
             runq_build = {}
 
             for task in self.cooker.configuration.runonly:
-                runonly_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == "do_%s" % task }
+                if not task.startswith("do_"):
+                    task = "do_{0}".format(task)
+                runonly_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == task }
 
                 for tid in list(runonly_tids):
                     mark_active(tid,1)
@@ -1125,14 +1127,14 @@  class RunQueueData:
         self.init_progress_reporter.next_stage()
 
         # Iterate over the task list looking for tasks with a 'setscene' function
-        self.runq_setscene_tids = []
+        self.runq_setscene_tids = set()
         if not self.cooker.configuration.nosetscene:
             for tid in self.runtaskentries:
                 (mc, fn, taskname, _) = split_tid_mcfn(tid)
                 setscenetid = tid + "_setscene"
                 if setscenetid not in taskData[mc].taskentries:
                     continue
-                self.runq_setscene_tids.append(tid)
+                self.runq_setscene_tids.add(tid)
 
         self.init_progress_reporter.next_stage()
 
@@ -1182,10 +1184,8 @@  class RunQueueData:
         return len(self.runtaskentries)
 
     def prepare_task_hash(self, tid):
-        procdep = []
-        for dep in self.runtaskentries[tid].depends:
-            procdep.append(dep)
-        self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)])
+        bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches[mc_from_tid(tid)])
+        self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches[mc_from_tid(tid)])
         self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
 
     def dump_data(self):
@@ -1255,7 +1255,7 @@  class RunQueue:
             "fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs,
             "fakerootnoenv" : self.rqdata.dataCaches[mc].fakerootnoenv,
             "sigdata" : bb.parse.siggen.get_taskdata(),
-            "logdefaultdebug" : bb.msg.loggerDefaultDebugLevel,
+            "logdefaultlevel" : bb.msg.loggerDefaultLogLevel,
             "logdefaultverbose" : bb.msg.loggerDefaultVerbose,
             "logdefaultverboselogs" : bb.msg.loggerVerboseLogs,
             "logdefaultdomain" : bb.msg.loggerDefaultDomains,
@@ -1397,7 +1397,7 @@  class RunQueue:
             cache[tid] = iscurrent
         return iscurrent
 
-    def validate_hashes(self, tocheck, data, currentcount=0, siginfo=False):
+    def validate_hashes(self, tocheck, data, currentcount=0, siginfo=False, summary=True):
         valid = set()
         if self.hashvalidate:
             sq_data = {}
@@ -1410,15 +1410,15 @@  class RunQueue:
                 sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn]
                 sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash
 
-            valid = self.validate_hash(sq_data, data, siginfo, currentcount)
+            valid = self.validate_hash(sq_data, data, siginfo, currentcount, summary)
 
         return valid
 
-    def validate_hash(self, sq_data, d, siginfo, currentcount):
-        locs = {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, "currentcount" : currentcount}
+    def validate_hash(self, sq_data, d, siginfo, currentcount, summary):
+        locs = {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, "currentcount" : currentcount, "summary" : summary}
 
         # Metadata has **kwargs so args can be added, sq_data can also gain new fields
-        call = self.hashvalidate + "(sq_data, d, siginfo=siginfo, currentcount=currentcount)"
+        call = self.hashvalidate + "(sq_data, d, siginfo=siginfo, currentcount=currentcount, summary=summary)"
 
         return bb.utils.better_eval(call, locs)
 
@@ -1605,7 +1605,7 @@  class RunQueue:
 
             tocheck.add(tid)
 
-        valid_new = self.validate_hashes(tocheck, self.cooker.data, 0, True)
+        valid_new = self.validate_hashes(tocheck, self.cooker.data, 0, True, summary=False)
 
         # Tasks which are both setscene and noexec never care about dependencies
         # We therefore find tasks which are setscene and noexec and mark their
@@ -1711,6 +1711,7 @@  class RunQueueExecute:
         self.runq_buildable = set()
         self.runq_running = set()
         self.runq_complete = set()
+        self.runq_tasksrun = set()
 
         self.build_stamps = {}
         self.build_stamps2 = []
@@ -1896,6 +1897,7 @@  class RunQueueExecute:
         self.stats.taskCompleted()
         bb.event.fire(runQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
         self.task_completeoutright(task)
+        self.runq_tasksrun.add(task)
 
     def task_fail(self, task, exitcode):
         """
@@ -1962,12 +1964,17 @@  class RunQueueExecute:
         """
 
         self.rq.read_workers()
-        self.process_possible_migrations()
+        if self.updated_taskhash_queue or self.pending_migrations:
+            self.process_possible_migrations()
+
+        if not hasattr(self, "sorted_setscene_tids"):
+            # Don't want to sort this set every execution
+            self.sorted_setscene_tids = sorted(self.rqdata.runq_setscene_tids)
 
         task = None
         if not self.sqdone and self.can_start_task():
             # Find the next setscene to run
-            for nexttask in sorted(self.rqdata.runq_setscene_tids):
+            for nexttask in self.sorted_setscene_tids:
                 if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values():
                     if nexttask not in self.sqdata.unskippable and len(self.sqdata.sq_revdeps[nexttask]) > 0 and self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sqdata.sq_revdeps[nexttask]):
                         if nexttask not in self.rqdata.target_tids:
@@ -1986,7 +1993,7 @@  class RunQueueExecute:
                             continue
                         logger.debug(1, "Task %s no longer deferred" % nexttask)
                         del self.sq_deferred[nexttask]
-                        valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False)
+                        valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, summary=False)
                         if not valid:
                             logger.debug(1, "%s didn't become valid, skipping setscene" % nexttask)
                             self.sq_task_failoutright(nexttask)
@@ -2052,7 +2059,7 @@  class RunQueueExecute:
         self.update_holdofftasks()
 
         if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks:
-            logger.info("Setscene tasks completed")
+            hashequiv_logger.verbose("Setscene tasks completed")
 
             err = self.summarise_scenequeue_errors()
             if err:
@@ -2090,6 +2097,7 @@  class RunQueueExecute:
                 logger.debug(2, "Stamp current task %s", task)
 
                 self.task_skip(task, "existing")
+                self.runq_tasksrun.add(task)
                 return True
 
             taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
@@ -2248,6 +2256,7 @@  class RunQueueExecute:
     def process_possible_migrations(self):
 
         changed = set()
+        toprocess = set()
         for tid, unihash in self.updated_taskhash_queue.copy():
             if tid in self.runq_running and tid not in self.runq_complete:
                 continue
@@ -2255,42 +2264,63 @@  class RunQueueExecute:
             self.updated_taskhash_queue.remove((tid, unihash))
 
             if unihash != self.rqdata.runtaskentries[tid].unihash:
-                logger.info("Task %s unihash changed to %s" % (tid, unihash))
+                hashequiv_logger.verbose("Task %s unihash changed to %s" % (tid, unihash))
                 self.rqdata.runtaskentries[tid].unihash = unihash
                 bb.parse.siggen.set_unihash(tid, unihash)
+                toprocess.add(tid)
 
-                # Work out all tasks which depend on this one
-                total = set()
-                next = set(self.rqdata.runtaskentries[tid].revdeps)
-                while next:
-                    current = next.copy()
-                    total = total |next
-                    next = set()
-                    for ntid in current:
-                        next |= self.rqdata.runtaskentries[ntid].revdeps
-                        next.difference_update(total)
-
-                # Now iterate those tasks in dependency order to regenerate their taskhash/unihash
-                done = set()
-                next = set(self.rqdata.runtaskentries[tid].revdeps)
-                while next:
-                    current = next.copy()
-                    next = set()
-                    for tid in current:
-                        if not self.rqdata.runtaskentries[tid].depends.isdisjoint(total):
-                            continue
-                        procdep = []
-                        for dep in self.rqdata.runtaskentries[tid].depends:
-                            procdep.append(dep)
-                        orighash = self.rqdata.runtaskentries[tid].hash
-                        self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.rqdata.dataCaches[mc_from_tid(tid)])
-                        origuni = self.rqdata.runtaskentries[tid].unihash
-                        self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
-                        logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash))
-                        next |= self.rqdata.runtaskentries[tid].revdeps
-                        changed.add(tid)
-                        total.remove(tid)
-                        next.intersection_update(total)
+        # Work out all tasks which depend upon these
+        total = set()
+        next = set()
+        for p in toprocess:
+            next |= self.rqdata.runtaskentries[p].revdeps
+        while next:
+            current = next.copy()
+            total = total | next
+            next = set()
+            for ntid in current:
+                next |= self.rqdata.runtaskentries[ntid].revdeps
+            next.difference_update(total)
+
+        # Now iterate those tasks in dependency order to regenerate their taskhash/unihash
+        next = set()
+        for p in total:
+            if len(self.rqdata.runtaskentries[p].depends) == 0:
+                next.add(p)
+            elif self.rqdata.runtaskentries[p].depends.isdisjoint(total):
+                next.add(p)
+
+        # When an item doesn't have dependencies in total, we can process it. Drop items from total when handled
+        while next:
+            current = next.copy()
+            next = set()
+            for tid in current:
+                if len(self.rqdata.runtaskentries[p].depends) and not self.rqdata.runtaskentries[tid].depends.isdisjoint(total):
+                    continue
+                orighash = self.rqdata.runtaskentries[tid].hash
+                newhash = bb.parse.siggen.get_taskhash(tid, self.rqdata.runtaskentries[tid].depends, self.rqdata.dataCaches[mc_from_tid(tid)])
+                origuni = self.rqdata.runtaskentries[tid].unihash
+                newuni = bb.parse.siggen.get_unihash(tid)
+                # FIXME, need to check it can come from sstate at all for determinism?
+                remapped = False
+                if newuni == origuni:
+                    # Nothing to do, we match, skip code below
+                    remapped = True
+                elif tid in self.scenequeue_covered or tid in self.sq_live:
+                    # Already ran this setscene task or it running. Report the new taskhash
+                    bb.parse.siggen.report_unihash_equiv(tid, newhash, origuni, newuni, self.rqdata.dataCaches)
+                    hashequiv_logger.verbose("Already covered setscene for %s so ignoring rehash (remap)" % (tid))
+                    remapped = True
+
+                if not remapped:
+                    #logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, newhash, origuni, newuni))
+                    self.rqdata.runtaskentries[tid].hash = newhash
+                    self.rqdata.runtaskentries[tid].unihash = newuni
+                    changed.add(tid)
+
+                next |= self.rqdata.runtaskentries[tid].revdeps
+                total.remove(tid)
+                next.intersection_update(total)
 
         if changed:
             for mc in self.rq.worker:
@@ -2298,26 +2328,26 @@  class RunQueueExecute:
             for mc in self.rq.fakeworker:
                 self.rq.fakeworker[mc].process.stdin.write(b"<newtaskhashes>" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"</newtaskhashes>")
 
-            logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
+            hashequiv_logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
 
         for tid in changed:
             if tid not in self.rqdata.runq_setscene_tids:
                 continue
-            if tid in self.runq_running:
-                continue
-            if tid in self.scenequeue_covered:
-                # Potentially risky, should we report this hash as a match?
-                logger.info("Already covered setscene for %s so ignoring rehash" % (tid))
-                continue
             if tid not in self.pending_migrations:
                 self.pending_migrations.add(tid)
 
+        update_tasks = []
         for tid in self.pending_migrations.copy():
+            if tid in self.runq_running or tid in self.sq_live:
+                # Too late, task already running, not much we can do now
+                self.pending_migrations.remove(tid)
+                continue
+
             valid = True
             # Check no tasks this covers are running
             for dep in self.sqdata.sq_covered_tasks[tid]:
                 if dep in self.runq_running and dep not in self.runq_complete:
-                    logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
+                    hashequiv_logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
                     valid = False
                     break
             if not valid:
@@ -2329,6 +2359,12 @@  class RunQueueExecute:
             if tid in self.tasks_scenequeue_done:
                 self.tasks_scenequeue_done.remove(tid)
             for dep in self.sqdata.sq_covered_tasks[tid]:
+                if dep in self.runq_complete and dep not in self.runq_tasksrun:
+                    bb.error("Task %s marked as completed but now needing to rerun? Aborting build." % dep)
+                    self.failed_tids.append(tid)
+                    self.rq.state = runQueueCleanUp
+                    return
+
                 if dep not in self.runq_complete:
                     if dep in self.tasks_scenequeue_done and dep not in self.sqdata.unskippable:
                         self.tasks_scenequeue_done.remove(dep)
@@ -2337,7 +2373,12 @@  class RunQueueExecute:
                 self.sq_buildable.remove(tid)
             if tid in self.sq_running:
                 self.sq_running.remove(tid)
-            if self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
+            harddepfail = False
+            for t in self.sqdata.sq_harddeps:
+                if tid in self.sqdata.sq_harddeps[t] and t in self.scenequeue_notcovered:
+                    harddepfail = True
+                    break
+            if not harddepfail and self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
                 if tid not in self.sq_buildable:
                     self.sq_buildable.add(tid)
             if len(self.sqdata.sq_revdeps[tid]) == 0:
@@ -2361,9 +2402,17 @@  class RunQueueExecute:
             if tid in self.build_stamps:
                 del self.build_stamps[tid]
 
-            logger.info("Setscene task %s now valid and being rerun" % tid)
+            update_tasks.append((tid, harddepfail, tid in self.sqdata.valid))
+
+        if update_tasks:
             self.sqdone = False
-            update_scenequeue_data([tid], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self)
+            update_scenequeue_data([t[0] for t in update_tasks], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self, summary=False)
+
+        for (tid, harddepfail, origvalid) in update_tasks:
+            if tid in self.sqdata.valid and not origvalid:
+                hashequiv_logger.verbose("Setscene task %s became valid" % tid)
+            if harddepfail:
+                self.sq_task_failoutright(tid)
 
         if changed:
             self.holdoff_need_update = True
@@ -2500,6 +2549,8 @@  class RunQueueExecute:
                 msg = 'Task %s.%s attempted to execute unexpectedly and should have been setscened' % (pn, taskname)
             else:
                 msg = 'Task %s.%s attempted to execute unexpectedly' % (pn, taskname)
+            for t in self.scenequeue_notcovered:
+                msg = msg + "\nTask %s, unihash %s, taskhash %s" % (t, self.rqdata.runtaskentries[t].unihash, self.rqdata.runtaskentries[t].hash)
             logger.error(msg + '\nThis is usually due to missing setscene tasks. Those missing in this build were: %s' % pprint.pformat(self.scenequeue_notcovered))
             return True
         return False
@@ -2692,9 +2743,9 @@  def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
     sqdata.stamppresent = set()
     sqdata.valid = set()
 
-    update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq)
+    update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True)
 
-def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq):
+def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, summary=True):
 
     tocheck = set()
 
@@ -2728,7 +2779,7 @@  def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq):
 
         tocheck.add(tid)
 
-    sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False)
+    sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False, summary=summary)
 
     sqdata.hashes = {}
     for mc in sorted(sqdata.multiconfigs):
@@ -2750,7 +2801,7 @@  def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq):
                 sqdata.hashes[h] = tid
             else:
                 sqrq.sq_deferred[tid] = sqdata.hashes[h]
-                bb.warn("Deferring %s after %s" % (tid, sqdata.hashes[h]))
+                bb.note("Deferring %s after %s" % (tid, sqdata.hashes[h]))
 
 
 class TaskFailure(Exception):
@@ -2907,7 +2958,12 @@  class runQueuePipe():
             while index != -1 and self.queue.startswith(b"<event>"):
                 try:
                     event = pickle.loads(self.queue[7:index])
-                except ValueError as e:
+                except (ValueError, pickle.UnpicklingError, AttributeError, IndexError) as e:
+                    if isinstance(e, pickle.UnpicklingError) and "truncated" in str(e):
+                        # The pickled data could contain "</event>" so search for the next occurance
+                        # unpickling again, this should be the only way an unpickle error could occur
+                        index = self.queue.find(b"</event>", index + 1)
+                        continue
                     bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[7:index]))
                 bb.event.fire_from_worker(event, self.d)
                 if isinstance(event, taskUniHashUpdate):
@@ -2919,7 +2975,7 @@  class runQueuePipe():
             while index != -1 and self.queue.startswith(b"<exitcode>"):
                 try:
                     task, status = pickle.loads(self.queue[10:index])
-                except ValueError as e:
+                except (ValueError, pickle.UnpicklingError, AttributeError, IndexError) as e:
                     bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[10:index]))
                 self.rqexec.runqueue_process_waitpid(task, status)
                 found = True
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index 69aae62..9ec79f5 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -48,7 +48,7 @@  class ProcessServer(multiprocessing.Process):
 
         self.event_handle = None
         self.haveui = False
-        self.lastui = False
+        self.maxuiwait = 30
         self.xmlrpc = False
 
         self._idlefuns = {}
@@ -155,6 +155,7 @@  class ProcessServer(multiprocessing.Process):
                 print("No timeout, exiting.")
                 self.quit = True
 
+        self.lastui = time.time()
         while not self.quit:
             if self.sock in ready:
                 while select.select([self.sock],[],[],0)[0]:
@@ -191,11 +192,18 @@  class ProcessServer(multiprocessing.Process):
                 except (EOFError, OSError):
                     disconnect_client(self, fds)
 
-            if not self.timeout == -1.0 and not self.haveui and self.lastui and self.timeout and \
+            if not self.timeout == -1.0 and not self.haveui and self.timeout and \
                     (self.lastui + self.timeout) < time.time():
                 print("Server timeout, exiting.")
                 self.quit = True
 
+            # If we don't see a UI connection within maxuiwait, its unlikely we're going to see
+            # one. We have had issue with processes hanging indefinitely so timing out UI-less
+            # servers is useful.
+            if not self.haveui and not self.timeout and (self.lastui + self.maxuiwait) < time.time():
+                print("No UI connection within max timeout, exiting to avoid infinite loop.")
+                self.quit = True
+
             if self.command_channel in ready:
                 try:
                     command = self.command_channel.get()
@@ -220,10 +228,13 @@  class ProcessServer(multiprocessing.Process):
 
         print("Exiting")
         # Remove the socket file so we don't get any more connections to avoid races
-        os.unlink(self.sockname)
+        try:
+            os.unlink(self.sockname)
+        except:
+            pass
         self.sock.close()
 
-        try: 
+        try:
             self.cooker.shutdown(True)
             self.cooker.notifier.stop()
             self.cooker.confignotifier.stop()
@@ -243,7 +254,7 @@  class ProcessServer(multiprocessing.Process):
                 lock = bb.utils.lockfile(lockfile, shared=False, retry=False, block=True)
                 if lock:
                     # We hold the lock so we can remove the file (hide stale pid data)
-                    bb.utils.remove(lockfile)
+                    # via unlockfile.
                     bb.utils.unlockfile(lock)
                     return
 
@@ -331,7 +342,9 @@  class ServerCommunicator():
     def runCommand(self, command):
         self.connection.send(command)
         if not self.recv.poll(30):
-            raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server")
+            logger.info("No reply from server in 30s")
+            if not self.recv.poll(30):
+                raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server (60s)")
         return self.recv.get()
 
     def updateFeatureSet(self, featureset):
diff --git a/bitbake/lib/bb/server/xmlrpcclient.py b/bitbake/lib/bb/server/xmlrpcclient.py
index c054c3c..442ea7b 100644
--- a/bitbake/lib/bb/server/xmlrpcclient.py
+++ b/bitbake/lib/bb/server/xmlrpcclient.py
@@ -7,9 +7,6 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os
-import sys
-
 import socket
 import http.client
 import xmlrpc.client
diff --git a/bitbake/lib/bb/server/xmlrpcserver.py b/bitbake/lib/bb/server/xmlrpcserver.py
index 54fa32f..2fa71be 100644
--- a/bitbake/lib/bb/server/xmlrpcserver.py
+++ b/bitbake/lib/bb/server/xmlrpcserver.py
@@ -7,9 +7,6 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import os
-import sys
-
 import hashlib
 import time
 import inspect
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index a4bb1ff..94d1762 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -14,8 +14,10 @@  import simplediff
 from bb.checksum import FileChecksumCache
 from bb import runqueue
 import hashserv
+import hashserv.client
 
 logger = logging.getLogger('BitBake.SigGen')
+hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
 
 def init(d):
     siggens = [obj for obj in globals().values()
@@ -40,18 +42,26 @@  class SignatureGenerator(object):
     def __init__(self, data):
         self.basehash = {}
         self.taskhash = {}
+        self.unihash = {}
         self.runtaskdeps = {}
         self.file_checksum_values = {}
         self.taints = {}
         self.unitaskhashes = {}
-        self.setscenetasks = {}
+        self.tidtopn = {}
+        self.setscenetasks = set()
 
     def finalise(self, fn, d, varient):
         return
 
+    def postparsing_clean_cache(self):
+        return
+
     def get_unihash(self, tid):
         return self.taskhash[tid]
 
+    def prep_taskhash(self, tid, deps, dataCache):
+        return
+
     def get_taskhash(self, tid, deps, dataCache):
         self.taskhash[tid] = hashlib.sha256(tid.encode("utf-8")).hexdigest()
         return self.taskhash[tid]
@@ -76,19 +86,19 @@  class SignatureGenerator(object):
         return
 
     def get_taskdata(self):
-        return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks)
+        return (self.runtaskdeps, self.taskhash, self.unihash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.tidtopn, self.setscenetasks)
 
     def set_taskdata(self, data):
-        self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks = data
+        self.runtaskdeps, self.taskhash, self.unihash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.tidtopn, self.setscenetasks = data
 
     def reset(self, data):
         self.__init__(data)
 
     def get_taskhashes(self):
-        return self.taskhash, self.unitaskhashes
+        return self.taskhash, self.unihash, self.unitaskhashes, self.tidtopn
 
     def set_taskhashes(self, hashes):
-        self.taskhash, self.unitaskhashes = hashes
+        self.taskhash, self.unihash, self.unitaskhashes, self.tidtopn = hashes
 
     def save_unitaskhashes(self):
         return
@@ -104,13 +114,14 @@  class SignatureGeneratorBasic(SignatureGenerator):
     def __init__(self, data):
         self.basehash = {}
         self.taskhash = {}
+        self.unihash = {}
         self.taskdeps = {}
         self.runtaskdeps = {}
         self.file_checksum_values = {}
         self.taints = {}
         self.gendeps = {}
         self.lookupcache = {}
-        self.setscenetasks = {}
+        self.setscenetasks = set()
         self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST") or "").split())
         self.taskwhitelist = None
         self.init_rundepcheck(data)
@@ -121,8 +132,10 @@  class SignatureGeneratorBasic(SignatureGenerator):
         else:
             self.checksum_cache = None
 
-        self.unihash_cache = bb.cache.SimpleCache("1")
+        self.unihash_cache = bb.cache.SimpleCache("3")
         self.unitaskhashes = self.unihash_cache.init_cache(data, "bb_unihashes.dat", {})
+        self.localdirsexclude = (data.getVar("BB_SIGNATURE_LOCAL_DIRS_EXCLUDE") or "CVS .bzr .git .hg .osc .p4 .repo .svn").split()
+        self.tidtopn = {}
 
     def init_rundepcheck(self, data):
         self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None
@@ -134,7 +147,7 @@  class SignatureGeneratorBasic(SignatureGenerator):
     def _build_data(self, fn, d):
 
         ignore_mismatch = ((d.getVar("BB_HASH_IGNORE_MISMATCH") or '') == '1')
-        tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
+        tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d, self.basewhitelist)
 
         taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, self.basewhitelist, fn)
 
@@ -157,7 +170,7 @@  class SignatureGeneratorBasic(SignatureGenerator):
         return taskdeps
 
     def set_setscene_tasks(self, setscene_tasks):
-        self.setscenetasks = setscene_tasks
+        self.setscenetasks = set(setscene_tasks)
 
     def finalise(self, fn, d, variant):
 
@@ -180,6 +193,14 @@  class SignatureGeneratorBasic(SignatureGenerator):
         for task in taskdeps:
             d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + ":" + task])
 
+    def postparsing_clean_cache(self):
+        #
+        # After parsing we can remove some things from memory to reduce our memory footprint
+        #
+        self.gendeps = {}
+        self.lookupcache = {}
+        self.taskdeps = {}
+
     def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
         # Return True if we should keep the dependency, False to drop it
         # We only manipulate the dependencies for packages not in the whitelist
@@ -198,15 +219,17 @@  class SignatureGeneratorBasic(SignatureGenerator):
             pass
         return taint
 
-    def get_taskhash(self, tid, deps, dataCache):
+    def prep_taskhash(self, tid, deps, dataCache):
 
         (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
 
-        data = dataCache.basetaskhash[tid]
-        self.basehash[tid] = data
+        self.basehash[tid] = dataCache.basetaskhash[tid]
         self.runtaskdeps[tid] = []
         self.file_checksum_values[tid] = []
         recipename = dataCache.pkg_fn[fn]
+
+        self.tidtopn[tid] = recipename
+
         for dep in sorted(deps, key=clean_basepath):
             (depmc, _, deptaskname, depfn) = bb.runqueue.split_tid_mcfn(dep)
             if mc != depmc:
@@ -216,33 +239,56 @@  class SignatureGeneratorBasic(SignatureGenerator):
                 continue
             if dep not in self.taskhash:
                 bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep)
-            data = data + self.get_unihash(dep)
             self.runtaskdeps[tid].append(dep)
 
         if task in dataCache.file_checksums[fn]:
             if self.checksum_cache:
-                checksums = self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], recipename)
+                checksums = self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], recipename, self.localdirsexclude)
             else:
-                checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
+                checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename, self.localdirsexclude)
             for (f,cs) in checksums:
                 self.file_checksum_values[tid].append((f,cs))
-                if cs:
-                    data = data + cs
 
         taskdep = dataCache.task_deps[fn]
         if 'nostamp' in taskdep and task in taskdep['nostamp']:
             # Nostamp tasks need an implicit taint so that they force any dependent tasks to run
-            import uuid
-            taint = str(uuid.uuid4())
-            data = data + taint
-            self.taints[tid] = "nostamp:" + taint
+            if tid in self.taints and self.taints[tid].startswith("nostamp:"):
+                # Don't reset taint value upon every call
+                pass
+            else:
+                import uuid
+                taint = str(uuid.uuid4())
+                self.taints[tid] = "nostamp:" + taint
 
         taint = self.read_taint(fn, task, dataCache.stamp[fn])
         if taint:
-            data = data + taint
             self.taints[tid] = taint
             logger.warning("%s is tainted from a forced run" % tid)
 
+        return
+
+    def get_taskhash(self, tid, deps, dataCache):
+
+        data = self.basehash[tid]
+        for dep in self.runtaskdeps[tid]:
+            if dep in self.unihash:
+                if self.unihash[dep] is None:
+                    data = data + self.taskhash[dep]
+                else:
+                    data = data + self.unihash[dep]
+            else:
+                data = data + self.get_unihash(dep)
+
+        for (f, cs) in self.file_checksum_values[tid]:
+            if cs:
+                data = data + cs
+
+        if tid in self.taints:
+            if self.taints[tid].startswith("nostamp:"):
+                data = data + self.taints[tid][8:]
+            else:
+                data = data + self.taints[tid]
+
         h = hashlib.sha256(data.encode("utf-8")).hexdigest()
         self.taskhash[tid] = h
         #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
@@ -371,50 +417,66 @@  class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
         bb.build.write_taint(task, d, fn)
 
 class SignatureGeneratorUniHashMixIn(object):
+    def __init__(self, data):
+        self.extramethod = {}
+        super().__init__(data)
+
     def get_taskdata(self):
-        return (self.server, self.method) + super().get_taskdata()
+        return (self.server, self.method, self.extramethod) + super().get_taskdata()
 
     def set_taskdata(self, data):
-        self.server, self.method = data[:2]
-        super().set_taskdata(data[2:])
+        self.server, self.method, self.extramethod = data[:3]
+        super().set_taskdata(data[3:])
 
     def client(self):
         if getattr(self, '_client', None) is None:
             self._client = hashserv.create_client(self.server)
         return self._client
 
-    def __get_task_unihash_key(self, tid):
-        # TODO: The key only *needs* to be the taskhash, the tid is just
-        # convenient
-        return '%s:%s' % (tid.rsplit("/", 1)[1], self.taskhash[tid])
-
     def get_stampfile_hash(self, tid):
         if tid in self.taskhash:
             # If a unique hash is reported, use it as the stampfile hash. This
             # ensures that if a task won't be re-run if the taskhash changes,
             # but it would result in the same output hash
-            unihash = self.unitaskhashes.get(self.__get_task_unihash_key(tid), None)
+            unihash = self._get_unihash(tid)
             if unihash is not None:
                 return unihash
 
         return super().get_stampfile_hash(tid)
 
     def set_unihash(self, tid, unihash):
-        self.unitaskhashes[self.__get_task_unihash_key(tid)] = unihash
+        (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
+        key = mc + ":" + self.tidtopn[tid] + ":" + taskname
+        self.unitaskhashes[key] = (self.taskhash[tid], unihash)
+        self.unihash[tid] = unihash
+
+    def _get_unihash(self, tid, checkkey=None):
+        if tid not in self.tidtopn:
+            return None
+        (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid)
+        key = mc + ":" + self.tidtopn[tid] + ":" + taskname
+        if key not in self.unitaskhashes:
+            return None
+        if not checkkey:
+            checkkey = self.taskhash[tid]
+        (key, unihash) = self.unitaskhashes[key]
+        if key != checkkey:
+            return None
+        return unihash
 
     def get_unihash(self, tid):
         taskhash = self.taskhash[tid]
 
         # If its not a setscene task we can return
         if self.setscenetasks and tid not in self.setscenetasks:
+            self.unihash[tid] = None
             return taskhash
 
-        key = self.__get_task_unihash_key(tid)
-
         # TODO: This cache can grow unbounded. It probably only needs to keep
         # for each task
-        unihash = self.unitaskhashes.get(key, None)
+        unihash =  self._get_unihash(tid)
         if unihash is not None:
+            self.unihash[tid] = unihash
             return unihash
 
         # In the absence of being able to discover a unique hash from the
@@ -433,19 +495,23 @@  class SignatureGeneratorUniHashMixIn(object):
         unihash = taskhash
 
         try:
-            data = self.client().get_unihash(self.method, self.taskhash[tid])
+            method = self.method
+            if tid in self.extramethod:
+                method = method + self.extramethod[tid]
+            data = self.client().get_unihash(method, self.taskhash[tid])
             if data:
                 unihash = data
                 # A unique hash equal to the taskhash is not very interesting,
                 # so it is reported it at debug level 2. If they differ, that
                 # is much more interesting, so it is reported at debug level 1
-                bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
+                hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
             else:
-                bb.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
+                hashequiv_logger.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
         except hashserv.client.HashConnectionError as e:
             bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
 
-        self.unitaskhashes[key] = unihash
+        self.set_unihash(tid, unihash)
+        self.unihash[tid] = unihash
         return unihash
 
     def report_unihash(self, path, task, d):
@@ -457,13 +523,17 @@  class SignatureGeneratorUniHashMixIn(object):
         tempdir = d.getVar('T')
         fn = d.getVar('BB_FILENAME')
         tid = fn + ':do_' + task
-        key = tid.rsplit("/", 1)[1] + ':' + taskhash
+        key = tid + ':' + taskhash
 
         if self.setscenetasks and tid not in self.setscenetasks:
             return
 
+        # This can happen if locked sigs are in action. Detect and just abort
+        if taskhash != self.taskhash[tid]:
+            return
+
         # Sanity checks
-        cache_unihash = self.unitaskhashes.get(key, None)
+        cache_unihash = self._get_unihash(tid, checkkey=taskhash)
         if cache_unihash is None:
             bb.fatal('%s not in unihash cache. Please report this error' % key)
 
@@ -502,14 +572,20 @@  class SignatureGeneratorUniHashMixIn(object):
                     extra_data['task'] = task
                     extra_data['outhash_siginfo'] = sigfile.read().decode('utf-8')
 
-                data = self.client().report_unihash(taskhash, self.method, outhash, unihash, extra_data)
+                method = self.method
+                if tid in self.extramethod:
+                    method = method + self.extramethod[tid]
+
+                data = self.client().report_unihash(taskhash, method, outhash, unihash, extra_data)
                 new_unihash = data['unihash']
 
                 if new_unihash != unihash:
-                    bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
+                    hashequiv_logger.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
                     bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' + task, new_unihash), d)
+                    self.set_unihash(tid, new_unihash)
+                    d.setVar('BB_UNIHASH', new_unihash)
                 else:
-                    bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
+                    hashequiv_logger.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
             except hashserv.client.HashConnectionError as e:
                 bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
         finally:
@@ -524,6 +600,36 @@  class SignatureGeneratorUniHashMixIn(object):
                 except OSError:
                     pass
 
+    def report_unihash_equiv(self, tid, taskhash, wanted_unihash, current_unihash, datacaches):
+        try:
+            extra_data = {}
+            method = self.method
+            if tid in self.extramethod:
+                method = method + self.extramethod[tid]
+
+            data = self.client().report_unihash_equiv(taskhash, method, wanted_unihash, extra_data)
+            hashequiv_logger.verbose('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
+
+            if data is None:
+                bb.warn("Server unable to handle unihash report")
+                return False
+
+            finalunihash = data['unihash']
+
+            if finalunihash == current_unihash:
+                hashequiv_logger.verbose('Task %s unihash %s unchanged by server' % (tid, finalunihash))
+            elif finalunihash == wanted_unihash:
+                hashequiv_logger.verbose('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
+                self.set_unihash(tid, finalunihash)
+                return True
+            else:
+                # TODO: What to do here?
+                hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
+
+        except hashserv.client.HashConnectionError as e:
+            bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
+
+        return False
 
 #
 # Dummy class used for bitbake-selftest
diff --git a/bitbake/lib/bb/taskdata.py b/bitbake/lib/bb/taskdata.py
index 8c25e09..d13a124 100644
--- a/bitbake/lib/bb/taskdata.py
+++ b/bitbake/lib/bb/taskdata.py
@@ -362,7 +362,7 @@  class TaskData:
             bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees(item), reasons=["No eligible PROVIDERs exist for '%s'" % item]), cfgData)
             raise bb.providers.NoProvider(item)
 
-        if len(eligible) > 1 and foundUnique == False:
+        if len(eligible) > 1 and not foundUnique:
             if item not in self.consider_msgs_cache:
                 providers_list = []
                 for fn in eligible:
diff --git a/bitbake/lib/bb/tests/cooker.py b/bitbake/lib/bb/tests/cooker.py
index 090916e..74c903f 100644
--- a/bitbake/lib/bb/tests/cooker.py
+++ b/bitbake/lib/bb/tests/cooker.py
@@ -5,7 +5,6 @@ 
 #
 
 import unittest
-import tempfile
 import os
 import bb, bb.cooker
 import re
diff --git a/bitbake/lib/bb/tests/cow.py b/bitbake/lib/bb/tests/cow.py
index b4af4bb..bf6e79f 100644
--- a/bitbake/lib/bb/tests/cow.py
+++ b/bitbake/lib/bb/tests/cow.py
@@ -7,7 +7,7 @@ 
 #
 
 import unittest
-import os
+
 
 class COWTestCase(unittest.TestCase):
     """
diff --git a/bitbake/lib/bb/tests/data.py b/bitbake/lib/bb/tests/data.py
index 3e49984..5f19504 100644
--- a/bitbake/lib/bb/tests/data.py
+++ b/bitbake/lib/bb/tests/data.py
@@ -476,7 +476,7 @@  class Contains(unittest.TestCase):
 class TaskHash(unittest.TestCase):
     def test_taskhashes(self):
         def gettask_bashhash(taskname, d):
-            tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
+            tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d, set())
             taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, set(), "somefile")
             bb.warn(str(lookupcache))
             return basehash["somefile:" + taskname]
@@ -544,142 +544,3 @@  class Serialize(unittest.TestCase):
         self.assertEqual(newd.getVarFlag('HELLO', 'other'), 'planet')
 
 
-# Remote datastore tests
-# These really only test the interface, since in actual usage we have a
-# tinfoil connector that does everything over RPC, and this doesn't test
-# that.
-
-class TestConnector:
-    d = None
-    def __init__(self, d):
-        self.d = d
-    def getVar(self, name):
-        return self.d._findVar(name)
-    def getKeys(self):
-        return set(self.d.keys())
-    def getVarHistory(self, name):
-        return self.d.varhistory.variable(name)
-    def expandPythonRef(self, varname, expr, d):
-        localdata = self.d.createCopy()
-        for key in d.localkeys():
-            localdata.setVar(d.getVar(key))
-        varparse = bb.data_smart.VariableParse(varname, localdata)
-        return varparse.python_sub(expr)
-    def setVar(self, name, value):
-        self.d.setVar(name, value)
-    def setVarFlag(self, name, flag, value):
-        self.d.setVarFlag(name, flag, value)
-    def delVar(self, name):
-        self.d.delVar(name)
-        return False
-    def delVarFlag(self, name, flag):
-        self.d.delVarFlag(name, flag)
-        return False
-    def renameVar(self, name, newname):
-        self.d.renameVar(name, newname)
-        return False
-
-class Remote(unittest.TestCase):
-    def test_remote(self):
-
-        d1 = bb.data.init()
-        d1.enableTracking()
-        d2 = bb.data.init()
-        d2.enableTracking()
-        connector = TestConnector(d1)
-
-        d2.setVar('_remote_data', connector)
-
-        d1.setVar('HELLO', 'world')
-        d1.setVarFlag('OTHER', 'flagname', 'flagvalue')
-        self.assertEqual(d2.getVar('HELLO'), 'world')
-        self.assertEqual(d2.expand('${HELLO}'), 'world')
-        self.assertEqual(d2.expand('${@d.getVar("HELLO")}'), 'world')
-        self.assertIn('flagname', d2.getVarFlags('OTHER'))
-        self.assertEqual(d2.getVarFlag('OTHER', 'flagname'), 'flagvalue')
-        self.assertEqual(d1.varhistory.variable('HELLO'), d2.varhistory.variable('HELLO'))
-        # Test setVar on client side affects server
-        d2.setVar('HELLO', 'other-world')
-        self.assertEqual(d1.getVar('HELLO'), 'other-world')
-        # Test setVarFlag on client side affects server
-        d2.setVarFlag('HELLO', 'flagname', 'flagvalue')
-        self.assertEqual(d1.getVarFlag('HELLO', 'flagname'), 'flagvalue')
-        # Test client side data is incorporated in python expansion (which is done on server)
-        d2.setVar('FOO', 'bar')
-        self.assertEqual(d2.expand('${@d.getVar("FOO")}'), 'bar')
-        # Test overrides work
-        d1.setVar('FOO_test', 'baz')
-        d1.appendVar('OVERRIDES', ':test')
-        self.assertEqual(d2.getVar('FOO'), 'baz')
-
-
-# Remote equivalents of local test classes
-# Note that these aren't perfect since we only test in one direction
-
-class RemoteDataExpansions(DataExpansions):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1["foo"] = "value_of_foo"
-        self.d1["bar"] = "value_of_bar"
-        self.d1["value_of_foo"] = "value_of_'value_of_foo'"
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteNestedExpansions(TestNestedExpansions):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1["foo"] = "foo"
-        self.d1["bar"] = "bar"
-        self.d1["value_of_foobar"] = "187"
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteConcat(TestConcat):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1.setVar("FOO", "foo")
-        self.d1.setVar("VAL", "val")
-        self.d1.setVar("BAR", "bar")
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteConcatOverride(TestConcatOverride):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1.setVar("FOO", "foo")
-        self.d1.setVar("VAL", "val")
-        self.d1.setVar("BAR", "bar")
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteOverrides(TestOverrides):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1.setVar("OVERRIDES", "foo:bar:local")
-        self.d1.setVar("TEST", "testvalue")
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteKeyExpansion(TestKeyExpansion):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1.setVar("FOO", "foo")
-        self.d1.setVar("BAR", "foo")
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
-
-class TestRemoteFlags(TestFlags):
-    def setUp(self):
-        self.d1 = bb.data.init()
-        self.d = bb.data.init()
-        self.d1.setVar("foo", "value of foo")
-        self.d1.setVarFlag("foo", "flag1", "value of flag1")
-        self.d1.setVarFlag("foo", "flag2", "value of flag2")
-        connector = TestConnector(self.d1)
-        self.d.setVar('_remote_data', connector)
diff --git a/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases b/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases
new file mode 100644
index 0000000..f8934f5
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/apple/cups/releases
@@ -0,0 +1,2400 @@ 
+
+
+
+
+
+
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+  <link rel="dns-prefetch" href="https://github.githubassets.com">
+  <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
+  <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
+  <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
+  <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
+  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
+  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
+
+
+
+  <link crossorigin="anonymous" media="all" integrity="sha512-7mtunHqp/Bw0ND9akjJME8XCh0WPm3HAXOSeX7skL0qGAhpdfzkQvYcujYcwNPTpWKeKMFUGZGtvnEkcczFgwQ==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-9b5314213e37056ed87b0418056c4f2c.css" />
+  <link crossorigin="anonymous" media="all" integrity="sha512-CmoegizWCUR1jC94Y2eukVQIFxJ9GxYerz9q7dBwImLlx8ODwYkXAMIhCfTnA45Ep6++rcO/ZtKVLvFBM8dapA==" rel="stylesheet" href="https://github.githubassets.com/assets/site-4e9f27fa33341743f730ae7b0e33eff5.css" />
+    <link crossorigin="anonymous" media="all" integrity="sha512-BvnICKFjIvT69o61dyYllXtaOnGVb7Ifj5c3lk3wj7tkjat2ICuN+XRwyk8tqP3dj7IFhEQzxDdxSHaJ3xj3Mw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-ff986874cf7e28cbcd5d448cdca7245d.css" />
+    
+    
+    
+    
+
+
+  <meta name="viewport" content="width=device-width">
+  
+  <title>Releases · apple/cups · GitHub</title>
+    <meta name="description" content="Official CUPS Sources. Contribute to apple/cups development by creating an account on GitHub.">
+    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
+  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
+  <meta property="fb:app_id" content="1401488693436528">
+
+    <meta name="twitter:image:src" content="https://avatars2.githubusercontent.com/u/10639145?s=400&amp;v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="apple/cups" /><meta name="twitter:description" content="Official CUPS Sources. Contribute to apple/cups development by creating an account on GitHub." />
+    <meta property="og:image" content="https://avatars2.githubusercontent.com/u/10639145?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="apple/cups" /><meta property="og:url" content="https://github.com/apple/cups" /><meta property="og:description" content="Official CUPS Sources. Contribute to apple/cups development by creating an account on GitHub." />
+
+  <link rel="assets" href="https://github.githubassets.com/">
+  
+  
+
+    <meta name="request-id" content="E0CB:22348:508D9B:74D7B0:5DFA43C4" data-pjax-transient>
+
+
+
+  
+
+  <meta name="selected-link" value="repo_releases" data-pjax-transient>
+
+      <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
+    <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
+    <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
+
+    <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="E0CB:22348:508D9B:74D7B0:5DFA43C4" /><meta name="octolytics-dimension-region_edge" content="ams" /><meta name="octolytics-dimension-region_render" content="iad" /><meta name="octolytics-dimension-ga_id" content="" class="js-octo-ga-id" /><meta name="octolytics-dimension-visitor_id" content="3868440108365136837" />
+
+<meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/releases/index" data-pjax-transient="true" />
+
+
+
+    <meta name="google-analytics" content="UA-3769691-2">
+
+
+<meta class="js-ga-set" name="dimension1" content="Logged Out">
+
+
+
+  
+
+      <meta name="hostname" content="github.com">
+    <meta name="user-login" content="">
+
+      <meta name="expected-hostname" content="github.com">
+
+      <meta name="js-proxy-site-detection-payload" content="NmQ3M2FjYmZiNDJmZTg4YjgzZmRkOWJlNjQzYjU2MGFmNDQ5OTM4ZGVmMjcyMTNmMGZjOGVlODg1NWM0NGJmOHx7InJlbW90ZV9hZGRyZXNzIjoiODcuODEuMjQ0LjE2MSIsInJlcXVlc3RfaWQiOiJFMENCOjIyMzQ4OjUwOEQ5Qjo3NEQ3QjA6NURGQTQzQzQiLCJ0aW1lc3RhbXAiOjE1NzY2ODI0MzcsImhvc3QiOiJnaXRodWIuY29tIn0=">
+
+    <meta name="enabled-features" content="MARKETPLACE_FEATURED_BLOG_POSTS,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS,MARKETPLACE_PENDING_INSTALLATIONS">
+
+    <meta name="html-safe-nonce" content="99799050425011fe6bc71791e860bd50b46cc6a7">
+
+  <meta http-equiv="x-pjax-version" content="2d29eb011c4e56b5682393d6f45c86b9">
+  
+
+      <link rel="alternate" type="application/atom+xml" title="cups Release Notes" href="https://github.com/apple/cups/releases.atom" />
+  <link rel="alternate" type="application/atom+xml" title="cups Tags" href="https://github.com/apple/cups/tags.atom" />
+  <link href="https://github.com/apple/cups/commits/master.atom" rel="alternate" title="Recent Commits to cups:master" type="application/atom+xml">
+
+  <meta name="go-import" content="github.com/apple/cups git https://github.com/apple/cups.git">
+
+  <meta name="octolytics-dimension-user_id" content="10639145" /><meta name="octolytics-dimension-user_login" content="apple" /><meta name="octolytics-dimension-repository_id" content="44137852" /><meta name="octolytics-dimension-repository_nwo" content="apple/cups" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="44137852" /><meta name="octolytics-dimension-repository_network_root_nwo" content="apple/cups" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" />
+
+
+
+
+  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
+
+  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
+
+  <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000">
+  <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico">
+
+<meta name="theme-color" content="#1e2327">
+
+
+
+
+
+  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
+
+  </head>
+
+  <body class="logged-out env-production page-responsive">
+    
+
+  <div class="position-relative js-header-wrapper ">
+    <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
+    <span class="Progress progress-pjax-loader position-fixed width-full js-pjax-loader-bar">
+      <span class="progress-pjax-loader-bar top-0 left-0" style="width: 0%;"></span>
+    </span>
+
+    
+    
+    
+
+
+        <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner">
+  <div class="container-lg d-lg-flex flex-items-center p-responsive">
+    <div class="d-flex flex-justify-between flex-items-center">
+        <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
+          <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
+        </a>
+
+          <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
+            
+              <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
+    <a class="Header-link" href="/apple">apple</a>
+    /
+    <a class="Header-link" href="/apple/cups">cups</a>
+
+
+          </div>
+
+        <div class="d-flex flex-items-center">
+            <a href="/join?source=header-repo"
+              class="d-inline-block d-lg-none f5 text-white no-underline border border-gray-dark rounded-2 px-2 py-1 mr-3 mr-sm-5"
+              data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="2463445c045c6be86a7b48e6c0af96d0ba777892d6d236f27826323b35cef5d7"
+              data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">
+              Sign&nbsp;up
+            </a>
+
+          <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
+            <svg height="24" class="octicon octicon-three-bars text-white" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg>
+          </button>
+        </div>
+    </div>
+
+    <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
+      <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3">
+        <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
+          <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
+        </button>
+      </div>
+
+        <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
+          <ul class="d-lg-flex list-style-none">
+              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+                <details class="HeaderMenu-details details-overlay details-reset width-full">
+                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+                    Why GitHub?
+                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+                      <path d="M1,1l6.2,6L13,1"></path>
+                    </svg>
+                  </summary>
+                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+                    <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
+                    <ul class="list-style-none f5 pb-3">
+                      <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li>
+                      <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li>
+                      <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li>
+                      <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Actions">Actions</a></li>
+                          <li class="edge-item-fix"><a href="/features/packages" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Packages">Packages</a></li>
+                      <li class="edge-item-fix"><a href="/features/security" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Security">Security</a></li>
+                      <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li>
+                      <li class="edge-item-fix"><a href="/features#hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Hosting</a></li>
+                    </ul>
+
+                    <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+                      <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
+                      <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
+                    </ul>
+                  </div>
+                </details>
+              </li>
+              <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+                <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a>
+              </li>
+
+              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+                <details class="HeaderMenu-details details-overlay details-reset width-full">
+                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+                    Explore
+                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+                      <path d="M1,1l6.2,6L13,1"></path>
+                    </svg>
+                  </summary>
+
+                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+                    <ul class="list-style-none mb-3">
+                      <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
+                    </ul>
+
+                    <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn &amp; contribute</h4>
+                    <ul class="list-style-none mb-3">
+                      <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li>
+                        <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li>
+                      <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li>
+                      <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li>
+                      <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li>
+                    </ul>
+
+                    <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4>
+                    <ul class="list-style-none mb-0">
+                      <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li>
+                      <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li>
+                      <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li>
+                    </ul>
+                  </div>
+                </details>
+              </li>
+
+              <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
+                <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
+              </li>
+
+              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
+                <details class="HeaderMenu-details details-overlay details-reset width-full">
+                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
+                    Pricing
+                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
+                       <path d="M1,1l6.2,6L13,1"></path>
+                    </svg>
+                  </summary>
+
+                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
+                    <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
+
+                    <ul class="list-style-none mb-3">
+                      <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans</a></li>
+                      <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales</a></li>
+                    </ul>
+
+                    <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
+                      <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
+                      <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover"  data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
+                    </ul>
+                  </div>
+                </details>
+              </li>
+          </ul>
+        </nav>
+
+      <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
+          <div class="d-lg-flex mb-3 mb-lg-0">
+            <div class="header-search flex-self-stretch flex-lg-self-auto mr-0 mr-lg-3 mb-3 mb-lg-0 scoped-search site-scoped-search js-site-search position-relative js-jump-to"
+  role="combobox"
+  aria-owns="jump-to-results"
+  aria-label="Search or jump to"
+  aria-haspopup="listbox"
+  aria-expanded="false"
+>
+  <div class="position-relative">
+    <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="44137852" data-scoped-search-url="/apple/cups/search" data-unscoped-search-url="/search" action="/apple/cups/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
+      <label class="form-control input-sm header-search-wrapper p-0 header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container">
+        <input type="text"
+          class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable"
+          data-hotkey="s,/"
+          name="q"
+          value=""
+          placeholder="Search"
+          data-unscoped-placeholder="Search GitHub"
+          data-scoped-placeholder="Search"
+          autocapitalize="off"
+          aria-autocomplete="list"
+          aria-controls="jump-to-results"
+          aria-label="Search"
+          data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=0QmMSuZHm84cPNVGQ7RYAXgPRiUfOcjNOC1vXOhVnyzm2B3JSHz1fcIJBZxMAKWUiBXjlVwLkcHLJPZy2gy+mg=="
+          spellcheck="false"
+          autocomplete="off"
+          >
+          <input type="hidden" class="js-site-search-type-field" name="type" >
+            <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash">
+
+            <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
+              
+<ul class="d-none js-jump-to-suggestions-template-container">
+  
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option">
+  <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
+    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+      <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
+    </div>
+
+    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+    </div>
+
+    <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
+      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+        In this repository
+      </span>
+      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+        All GitHub
+      </span>
+      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+
+    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+      Jump to
+      <span class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+  </a>
+</li>
+
+</ul>
+
+<ul class="d-none js-jump-to-no-results-template-container">
+  <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2">
+    <span class="text-gray">No suggested jump to results</span>
+  </li>
+</ul>
+
+<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container">
+  
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option">
+  <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
+    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+      <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
+    </div>
+
+    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+    </div>
+
+    <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
+      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+        In this repository
+      </span>
+      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+        All GitHub
+      </span>
+      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+
+    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+      Jump to
+      <span class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+  </a>
+</li>
+
+  
+
+<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option">
+  <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="">
+    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
+      <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg>
+      <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0013 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 000-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
+    </div>
+
+    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">
+
+    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
+    </div>
+
+    <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
+      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository">
+        In this repository
+      </span>
+      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
+        All GitHub
+      </span>
+      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+
+    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
+      Jump to
+      <span class="d-inline-block ml-1 v-align-middle">↵</span>
+    </div>
+  </a>
+</li>
+
+
+</ul>
+
+            </div>
+      </label>
+</form>  </div>
+</div>
+
+          </div>
+
+        <a href="/login?return_to=%2Fapple%2Fcups%2Freleases"
+          class="HeaderMenu-link no-underline mr-3"
+          data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e4e34255c8485d6915d1448a86ea9723c3b2e92e9576e71845af735870da8d70"
+          data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
+          Sign&nbsp;in
+        </a>
+          <a href="/join?source=header-repo&amp;source_repo=apple%2Fcups"
+            class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1"
+            data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e4e34255c8485d6915d1448a86ea9723c3b2e92e9576e71845af735870da8d70"
+            data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">
+            Sign&nbsp;up
+          </a>
+      </div>
+    </div>
+  </div>
+</header>
+
+  </div>
+
+  <div id="start-of-content" class="show-on-focus"></div>
+
+
+    <div id="js-flash-container">
+
+</div>
+
+
+
+  <div class="application-main " data-commit-hovercards-enabled>
+        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
+    <main  >
+      
+
+
+  
+
+
+
+  
+
+
+
+
+
+
+
+
+
+  <div class=" pagehead repohead readability-menu experiment-repo-nav pt-0 pt-lg-4 ">
+    <div class="repohead-details-container clearfix container-lg p-responsive d-none d-lg-block">
+
+      <ul class="pagehead-actions">
+
+
+
+
+  <li>
+    
+  <a class="tooltipped tooltipped-s btn btn-sm btn-with-count" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="55e61ce807520942724d37d48d3d19c3da4baeecb2ec89bce4f6da0ceb91a62d" href="/login?return_to=%2Fapple%2Fcups">
+    <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg>
+    Watch
+</a>    <a class="social-count" href="/apple/cups/watchers"
+       aria-label="88 users are watching this repository">
+      88
+    </a>
+
+  </li>
+
+  <li>
+        <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:44137852,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="f9704a715be46a567479973573477a583501a1976f99deb0ccdd0b1ed3b74e5b" href="/login?return_to=%2Fapple%2Fcups">
+      <svg aria-label="star" height="16" class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" role="img"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg>
+
+      Star
+</a>
+    <a class="social-count js-social-count" href="/apple/cups/stargazers"
+      aria-label="883 users starred this repository">
+      883
+    </a>
+
+  </li>
+
+  <li>
+      <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:44137852,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b527b2fea0cd8e94870047972acd87358cf6a735da254b00eb05c15d676f7503" href="/login?return_to=%2Fapple%2Fcups">
+        <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 00-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 002 1a1.993 1.993 0 00-1 3.72V6.5l3 3v1.78A1.993 1.993 0 005 15a1.993 1.993 0 001-3.72V9.5l3-3V4.72A1.993 1.993 0 008 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg>
+        Fork
+</a>
+    <a href="/apple/cups/network/members" class="social-count"
+       aria-label="260 users forked this repository">
+      260
+    </a>
+  </li>
+</ul>
+
+      <h1 class="public ">
+    <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
+  <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/apple/hovercard" href="/apple">apple</a></span><!--
+--><span class="path-divider">/</span><!--
+--><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/apple/cups">cups</a></strong>
+  
+
+</h1>
+
+    </div>
+    
+<nav class="hx_reponav reponav js-repo-nav js-sidenav-container-pjax container-lg p-responsive d-none d-lg-block"
+     itemscope
+     itemtype="http://schema.org/BreadcrumbList"
+    aria-label="Repository"
+     data-pjax="#js-repo-pjax-container">
+
+  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+    <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /apple/cups" href="/apple/cups">
+      <div class="d-inline"><svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg></div>
+      <span itemprop="name">Code</span>
+      <meta itemprop="position" content="1">
+</a>  </span>
+
+    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+      <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /apple/cups/issues" href="/apple/cups/issues">
+        <div class="d-inline"><svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 011.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg></div>
+        <span itemprop="name">Issues</span>
+        <span class="Counter">10</span>
+        <meta itemprop="position" content="2">
+</a>    </span>
+
+  <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+    <a data-hotkey="g p" data-skip-pjax="true" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /apple/cups/pulls" href="/apple/cups/pulls">
+      <div class="d-inline"><svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0010 15a1.993 1.993 0 001-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 00-1 3.72v6.56A1.993 1.993 0 002 15a1.993 1.993 0 001-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg></div>
+      <span itemprop="name">Pull requests</span>
+      <span class="Counter">6</span>
+      <meta itemprop="position" content="3">
+</a>  </span>
+
+
+    <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /apple/cups/projects" href="/apple/cups/projects">
+      <div class="d-inline"><svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 00-1 1v14a1 1 0 001 1h13a1 1 0 001-1V1a1 1 0 00-1-1z"/></svg></div>
+      Projects
+      <span class="Counter" >0</span>
+</a>
+
+    <a class="js-selected-navigation-item reponav-item" data-hotkey="g w" data-selected-links="repo_wiki /apple/cups/wiki" href="/apple/cups/wiki">
+      <div class="d-inline"><svg class="octicon octicon-book" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z"/></svg></div>
+      Wiki
+</a>
+    <a data-skip-pjax="true" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy code_scanning /apple/cups/security/advisories" href="/apple/cups/security/advisories">
+      <div class="d-inline"><svg class="octicon octicon-shield" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 2l7-2 7 2v6.02C14 12.69 8.69 16 7 16c-1.69 0-7-3.31-7-7.98V2zm1 .75L7 1l6 1.75v5.268C13 12.104 8.449 15 7 15c-1.449 0-6-2.896-6-6.982V2.75zm1 .75L7 2v12c-1.207 0-5-2.482-5-5.985V3.5z"/></svg></div>
+      Security
+</a>
+    <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse people /apple/cups/pulse" href="/apple/cups/pulse">
+      <div class="d-inline"><svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg></div>
+      Insights
+</a>
+
+</nav>
+
+  <div class="reponav-wrapper reponav-small d-lg-none">
+  <nav class="reponav js-reponav text-center no-wrap"
+       itemscope
+       itemtype="http://schema.org/BreadcrumbList">
+
+    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+      <a class="js-selected-navigation-item selected reponav-item" itemprop="url" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /apple/cups" href="/apple/cups">
+        <span itemprop="name">Code</span>
+        <meta itemprop="position" content="1">
+</a>    </span>
+
+      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /apple/cups/issues" href="/apple/cups/issues">
+          <span itemprop="name">Issues</span>
+          <span class="Counter">10</span>
+          <meta itemprop="position" content="2">
+</a>      </span>
+
+    <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+      <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /apple/cups/pulls" href="/apple/cups/pulls">
+        <span itemprop="name">Pull requests</span>
+        <span class="Counter">6</span>
+        <meta itemprop="position" content="3">
+</a>    </span>
+
+      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /apple/cups/projects" href="/apple/cups/projects">
+          <span itemprop="name">Projects</span>
+          <span class="Counter">0</span>
+          <meta itemprop="position" content="4">
+</a>      </span>
+
+      <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
+        <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_wiki /apple/cups/wiki" href="/apple/cups/wiki">
+          <span itemprop="name">Wiki</span>
+          <meta itemprop="position" content="5">
+</a>      </span>
+
+      <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy code_scanning /apple/cups/security/advisories" href="/apple/cups/security/advisories">
+        <span itemprop="name">Security</span>
+        <meta itemprop="position" content="6">
+</a>
+      <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /apple/cups/pulse" href="/apple/cups/pulse">
+        Pulse
+</a>
+
+  </nav>
+</div>
+
+
+  </div>
+<div class="container-lg clearfix new-discussion-timeline experiment-repo-nav  p-responsive">
+  <div class="repository-content ">
+
+    
+    
+        <div class="signup-prompt-bg rounded-1 hide-sm">
+      <div class="signup-prompt p-4 text-center mb-4 rounded-1">
+        <div class="position-relative">
+          <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/prompt_dismissals/signup" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="kDaX/sF3AoSg/3mGTg7Nw4EgGoxBCvoq8adl0rdW8QfpUQnmpOeq3ExSYkQYQl6UfiRGGQlay9HzoVVnV9pjaQ==" />
+            <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss">
+              Dismiss
+            </button>
+</form>          <h3 class="pt-2">Be notified of new releases</h3>
+          <p class="col-8 mx-auto">Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 40 million developers.</p>
+          <a class="btn btn-primary" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;releases signup prompt&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;E0CB:22348:508D9B:74D7B0:5DFA43C4&quot;,&quot;originating_url&quot;:&quot;https://github.com/apple/cups/releases&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="c2a9f870ddf9968cc69782464c68391f9e6ae7646501d13bcfcce68458bf82e5" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up" href="/join?source=prompt-releases">Sign up</a>
+        </div>
+      </div>
+    </div>
+
+
+  <div class="subnav">
+    <div class="d-flex flex-md-row flex-justify-between flex-md-items-center">
+  <div class="subnav-links float-left" role="navigation">
+    <a class="js-selected-navigation-item selected subnav-item" aria-current="page" data-selected-links="repo_releases /apple/cups/releases" href="/apple/cups/releases">Releases</a>
+    <a class="js-selected-navigation-item subnav-item" data-selected-links="repo_tags /apple/cups/tags" href="/apple/cups/tags">Tags</a>
+  </div>
+</div>
+
+
+  </div>
+
+  <div class="position-relative border-top clearfix">
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-latest">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+        <span class="flex-shrink-0 Label Label--outline mb-md-2 mr-2 mr-md-0 Label--outline-green">
+            <a class="border-0 Label--outline-green" href="/apple/cups/releases/latest">Latest release</a>
+        </span>
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3.1" class="muted-link css-truncate" title="v2.3.1">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3.1</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/ed181c24e4b130d2981785d44488bef8cfda5f6d" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>ed181c2</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3.1">v2.3.1</a>
+        </div>
+
+          <span class="d-md-none flex-shrink-0 ml-2 mt-2 mt-md-0 Label Label--outline Label--outline-green">
+              <a class="border-0 Label--outline-green" href="/apple/cups/releases/latest">Latest release</a>
+          </span>
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3.1" class="muted-link css-truncate" title="v2.3.1">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3.1</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/ed181c24e4b130d2981785d44488bef8cfda5f6d" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>ed181c2</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-12-13T14:51:11Z" class="no-wrap">Dec 13, 2019</relative-time>
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3.1 is a general bug fix release, including a fix for CVE-2019-2228.  Changes include:</p>
+<ul>
+<li>Documentation updates (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="504683457" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5661" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5661/hovercard" href="https://github.com/apple/cups/issues/5661">#5661</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="514973853" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5674" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5674/hovercard" href="https://github.com/apple/cups/issues/5674">#5674</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="520470189" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5682" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5682/hovercard" href="https://github.com/apple/cups/issues/5682">#5682</a>)</li>
+<li>CVE-2019-2228: The <code>ippSetValuetag</code> function did not validate the default<br>
+language value.</li>
+<li>Fixed a crash bug in the web interface (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473925613" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5621" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5621/hovercard" href="https://github.com/apple/cups/pull/5621">#5621</a>)</li>
+<li>The PPD cache code now looks up page sizes using their dimensions<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="479877680" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5633" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5633/hovercard" href="https://github.com/apple/cups/issues/5633">#5633</a>)</li>
+<li>PPD files containing "custom" option keywords did not work (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="486024591" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5639" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5639/hovercard" href="https://github.com/apple/cups/issues/5639">#5639</a>)</li>
+<li>Added a workaround for the scheduler's systemd support (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="486034405" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5640" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5640/hovercard" href="https://github.com/apple/cups/issues/5640">#5640</a>)</li>
+<li>On Windows, TLS certificates generated on February 29 would likely fail<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="487215972" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5643" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5643/hovercard" href="https://github.com/apple/cups/pull/5643">#5643</a>)</li>
+<li>Added a DigestOptions directive for the <code>client.conf</code> file to control whether<br>
+MD5-based Digest authentication is allowed (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="489725887" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5647" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5647/hovercard" href="https://github.com/apple/cups/issues/5647">#5647</a>)</li>
+<li>Fixed a bug in the handling of printer resource files (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="495269347" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5652" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5652/hovercard" href="https://github.com/apple/cups/issues/5652">#5652</a>)</li>
+<li>The libusb-based USB backend now reports an error when the distribution<br>
+permissions are wrong (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="500594517" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5658" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5658/hovercard" href="https://github.com/apple/cups/issues/5658">#5658</a>)</li>
+<li>Added paint can labels to Dymo driver (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="504754248" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5662" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5662/hovercard" href="https://github.com/apple/cups/issues/5662">#5662</a>)</li>
+<li>The <code>ippeveprinter</code> program now supports authentication (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="505829095" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5665" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5665/hovercard" href="https://github.com/apple/cups/issues/5665">#5665</a>)</li>
+<li>The <code>ippeveprinter</code> program now advertises DNS-SD services on the correct<br>
+interfaces, and provides a way to turn them off (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="505830047" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5666" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5666/hovercard" href="https://github.com/apple/cups/issues/5666">#5666</a>)</li>
+<li>The <code>--with-dbusdir</code> option was ignored by the configure script (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="509611838" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5671" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5671/hovercard" href="https://github.com/apple/cups/issues/5671">#5671</a>)</li>
+<li>Sandboxed applications were not able to get the default printer (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="519179600" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5676" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5676/hovercard" href="https://github.com/apple/cups/issues/5676">#5676</a>)</li>
+<li>Log file access controls were not preserved by <code>cupsctl</code> (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="519230147" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5677" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5677/hovercard" href="https://github.com/apple/cups/pull/5677">#5677</a>)</li>
+<li>Default printers set with <code>lpoptions</code> did not work in all cases (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="520415966" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5681" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5681/hovercard" href="https://github.com/apple/cups/issues/5681">#5681</a>,<br>
+Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="522065376" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5683" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5683/hovercard" href="https://github.com/apple/cups/issues/5683">#5683</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="523200142" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5684" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5684/hovercard" href="https://github.com/apple/cups/issues/5684">#5684</a>)</li>
+<li>Fixed an error in the jobs web interface template (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="529989288" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5694" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5694/hovercard" href="https://github.com/apple/cups/pull/5694">#5694</a>)</li>
+<li>Fixed an off-by-one error in <code>ippEnumString</code> (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="532862341" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5695" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5695/hovercard" href="https://github.com/apple/cups/pull/5695">#5695</a>)</li>
+<li>Fixed some new compiler warnings (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="534545419" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5700" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5700/hovercard" href="https://github.com/apple/cups/pull/5700">#5700</a>)</li>
+<li>Fixed a few issues with the Apple Raster support (rdar://55301114)</li>
+<li>The IPP backend did not detect all cases where a job should be retried using<br>
+a raster format (rdar://56021091)</li>
+<li>Fixed spelling of "fold-accordion".</li>
+<li>Fixed the default common name for TLS certificates used by <code>ippeveprinter</code>.</li>
+<li>Fixed the option names used for IPP Everywhere finishing options.</li>
+<li>Added support for the second roll of the DYMO Twin/DUO label printers.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    open
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3.1/cups-2.3.1-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3.1-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">7.76 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3.1/cups-2.3.1-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3.1-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3.1.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3.1.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.2.13" class="muted-link css-truncate" title="v2.2.13">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.2.13</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/0ad6ac55da2686c6fa24b05bde5e9036fd4db5d1" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>0ad6ac5</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.2.13">v2.2.13</a>
+        </div>
+
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.2.13" class="muted-link css-truncate" title="v2.2.13">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.2.13</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/0ad6ac55da2686c6fa24b05bde5e9036fd4db5d1" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>0ad6ac5</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-12-13T14:49:55Z" class="no-wrap">Dec 13, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.2.13...master">
+    793 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.2.13 is the last general bug fix release in the 2.2.x series and includes<br>
+a fix for CVE-2019-2228.  Changes include:</p>
+<ul>
+<li>CVE-2019-2228: The <code>ippSetValuetag</code> function did not validate the default<br>
+language value.</li>
+<li>Added a workaround for the scheduler's systemd support (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="486034405" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5640" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5640/hovercard" href="https://github.com/apple/cups/issues/5640">#5640</a>)</li>
+<li>Fixed spelling of "fold-accordion".</li>
+<li>Fixed the default common name for TLS certificates used by <code>ippserver</code>.</li>
+<li>The libusb-based USB backend now reports an error when the distribution<br>
+permissions are wrong (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="500594517" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5658" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5658/hovercard" href="https://github.com/apple/cups/issues/5658">#5658</a>)</li>
+<li>Default printers set with <code>lpoptions</code> did not work in all cases (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="520415966" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5681" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5681/hovercard" href="https://github.com/apple/cups/issues/5681">#5681</a>,<br>
+Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="522065376" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5683" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5683/hovercard" href="https://github.com/apple/cups/issues/5683">#5683</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="523200142" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5684" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5684/hovercard" href="https://github.com/apple/cups/issues/5684">#5684</a>)</li>
+<li>Fixed an off-by-one error in <code>ippEnumString</code> (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="532862341" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5695" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5695/hovercard" href="https://github.com/apple/cups/pull/5695">#5695</a>)</li>
+<li>Fixed some new compiler warnings (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="534545419" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5700" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5700/hovercard" href="https://github.com/apple/cups/pull/5700">#5700</a>)</li>
+<li>Fixed a few issues with the Apple Raster support (rdar://55301114)</li>
+<li>The IPP backend did not detect all cases where a job should be retried using<br>
+a raster format (rdar://56021091)</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.13/cups-2.2.13-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.13-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.93 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.13/cups-2.2.13-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.13-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.13.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.13.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3.0" class="muted-link css-truncate" title="v2.3.0">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3.0</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/ee6be9cd7e863abf36b9b131fc379d967414aa2e" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>ee6be9c</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3.0">v2.3.0</a>
+        </div>
+
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3.0" class="muted-link css-truncate" title="v2.3.0">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3.0</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/ee6be9cd7e863abf36b9b131fc379d967414aa2e" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>ee6be9c</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-08-23T18:17:21Z" class="no-wrap">Aug 23, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.3.0...master">
+    65 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3.0 is now available for download, which adopts the new CUPS license, adds support for IPP presets and finishing templates, fixes a number of bugs and "polish" issues, and includes the new ippeveprinter utility. Changes include:</p>
+<ul>
+<li>CVE-2019-8696 and CVE-2019-8675: Fixed SNMP buffer overflows (rdar://51685251)</li>
+<li>Added a GPL2/LGPL2 exception to the new CUPS license terms.</li>
+<li>Documentation updates (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="459594644" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5604" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5604/hovercard" href="https://github.com/apple/cups/issues/5604">#5604</a>)</li>
+<li>Localization updates (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="483641898" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5637" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5637/hovercard" href="https://github.com/apple/cups/pull/5637">#5637</a>)</li>
+<li>Fixed a bug in the scheduler job cleanup code (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="450279216" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5588" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5588/hovercard" href="https://github.com/apple/cups/pull/5588">#5588</a>)</li>
+<li>Fixed builds when there is no TLS library (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="451578186" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5590" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5590/hovercard" href="https://github.com/apple/cups/pull/5590">#5590</a>)</li>
+<li>Eliminated some new GCC compiler warnings (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="453328747" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5591" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5591/hovercard" href="https://github.com/apple/cups/pull/5591">#5591</a>)</li>
+<li>Removed dead code from the scheduler (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="453329871" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5593" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5593/hovercard" href="https://github.com/apple/cups/pull/5593">#5593</a>)</li>
+<li>"make" failed with GZIP options (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="455017934" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5595" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5595/hovercard" href="https://github.com/apple/cups/issues/5595">#5595</a>)</li>
+<li>Fixed potential excess logging from the scheduler when removing job files<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="456284406" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5597" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5597/hovercard" href="https://github.com/apple/cups/issues/5597">#5597</a>)</li>
+<li>Fixed a NULL pointer dereference bug in <code>httpGetSubField2</code> (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="456534137" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5598" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5598/hovercard" href="https://github.com/apple/cups/issues/5598">#5598</a>)</li>
+<li>Added FIPS-140 workarounds for GNU TLS (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="458015929" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5601" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5601/hovercard" href="https://github.com/apple/cups/issues/5601">#5601</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474117231" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5622" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5622/hovercard" href="https://github.com/apple/cups/pull/5622">#5622</a>)</li>
+<li>The scheduler no longer provides a default value for the description<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="459074733" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5603" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5603/hovercard" href="https://github.com/apple/cups/issues/5603">#5603</a>)</li>
+<li>The scheduler now logs jobs held for authentication using the error level so<br>
+it is clear what happened (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="459594644" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5604" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5604/hovercard" href="https://github.com/apple/cups/issues/5604">#5604</a>)</li>
+<li>The <code>lpadmin</code> command did not always update the PPD file for changes to the<br>
+<code>cupsIPPSupplies</code> and <code>cupsSNMPSupplies</code> keywords (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="465727195" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5610" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5610/hovercard" href="https://github.com/apple/cups/pull/5610">#5610</a>)</li>
+<li>The scheduler now uses both the group's membership list as well as the<br>
+various OS-specific membership functions to determine whether a user belongs<br>
+to a named group (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468463678" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5613" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5613/hovercard" href="https://github.com/apple/cups/pull/5613">#5613</a>)</li>
+<li>Added USB quirks rule for HP LaserJet 1015 (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470659313" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5617" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5617/hovercard" href="https://github.com/apple/cups/issues/5617">#5617</a>)</li>
+<li>Fixed some PPD parser issues (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474314074" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5623" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5623/hovercard" href="https://github.com/apple/cups/pull/5623">#5623</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474317092" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5624" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5624/hovercard" href="https://github.com/apple/cups/pull/5624">#5624</a>)</li>
+<li>The IPP parser no longer allows invalid member attributes in collections<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="477979886" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5630" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5630/hovercard" href="https://github.com/apple/cups/issues/5630">#5630</a>)</li>
+<li>The configure script now treats the "wheel" group as a potential system<br>
+group (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="484535130" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5638" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5638/hovercard" href="https://github.com/apple/cups/pull/5638">#5638</a>)</li>
+<li>Fixed a USB printing issue on macOS (rdar://31433931)</li>
+<li>Fixed IPP buffer overflow (rdar://50035411)</li>
+<li>Fixed memory disclosure issue in the scheduler (rdar://51373853)</li>
+<li>Fixed DoS issues in the scheduler (rdar://51373929)</li>
+<li>Fixed an issue with unsupported "sides" values in the IPP backend<br>
+(rdar://51775322)</li>
+<li>The scheduler would restart continuously when idle and printers were not<br>
+shared (rdar://52561199)</li>
+<li>Fixed an issue with <code>EXPECT !name WITH-VALUE ...</code> tests.</li>
+<li>Fixed a command ordering issue in the Zebra ZPL driver.</li>
+<li>Fixed a memory leak in <code>ppdOpen</code>.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3.0/cups-2.3.0-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3.0-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">7.75 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3.0/cups-2.3.0-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3.0-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3.0.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3.0.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.2.12" class="muted-link css-truncate" title="v2.2.12">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.2.12</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/c8cb6400e317633f66cdc87884915d54710b53a0" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>c8cb640</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.2.12">v2.2.12</a>
+        </div>
+
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.2.12" class="muted-link css-truncate" title="v2.2.12">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.2.12</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/c8cb6400e317633f66cdc87884915d54710b53a0" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>c8cb640</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-08-15T22:52:44Z" class="no-wrap">Aug 15, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.2.12...master">
+    793 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.2.12 is now available and includes security, compatibility, and general bug fixes. Changes include:</p>
+<ul>
+<li>CVE-2019-8696 and CVE-2019-8675: Fixed SNMP buffer overflows (rdar://51685251)</li>
+<li>The <code>cupsctl</code> command now prevents setting "cups-files.conf" directives<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="413829254" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5530" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5530/hovercard" href="https://github.com/apple/cups/issues/5530">#5530</a>)</li>
+<li>Updated the systemd service file for cupsd (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="426479041" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5551" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5551/hovercard" href="https://github.com/apple/cups/pull/5551">#5551</a>)</li>
+<li>The <code>cupsCheckDestSupported</code> function did not check octetString values<br>
+correctly (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="429820862" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5557" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5557/hovercard" href="https://github.com/apple/cups/pull/5557">#5557</a>)</li>
+<li>The scheduler did not encode octetString values like "job-password" correctly<br>
+for the print filters (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="429827127" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5558" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5558/hovercard" href="https://github.com/apple/cups/pull/5558">#5558</a>)</li>
+<li>Restored minimal support for the <code>Emulators</code> keyword in PPD files to allow<br>
+old Samsung printer drivers to continue to work (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="432214569" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5562" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5562/hovercard" href="https://github.com/apple/cups/issues/5562">#5562</a>)</li>
+<li>Timed out job submission now yields an error (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="437390564" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5570" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5570/hovercard" href="https://github.com/apple/cups/issues/5570">#5570</a>)</li>
+<li>The footer in the web interface covered some content on small displays<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="440365801" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5574" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5574/hovercard" href="https://github.com/apple/cups/issues/5574">#5574</a>)</li>
+<li>The libusb-based USB backend now enforces read limits, improving print speed<br>
+in many cases (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="445315055" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5583" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5583/hovercard" href="https://github.com/apple/cups/issues/5583">#5583</a>)</li>
+<li>Fixed some compatibility issues with old releases of CUPS (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="449361069" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5587" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5587/hovercard" href="https://github.com/apple/cups/issues/5587">#5587</a>)</li>
+<li>Fixed a bug in the scheduler job cleanup code (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="450279216" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5588" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5588/hovercard" href="https://github.com/apple/cups/pull/5588">#5588</a>)</li>
+<li>"make" failed with GZIP options (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="455017934" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5595" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5595/hovercard" href="https://github.com/apple/cups/issues/5595">#5595</a>)</li>
+<li>Added FIPS-140 workarounds for GNU TLS (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="458015929" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5601" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5601/hovercard" href="https://github.com/apple/cups/issues/5601">#5601</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474117231" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5622" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5622/hovercard" href="https://github.com/apple/cups/pull/5622">#5622</a>)</li>
+<li>The scheduler no longer provides a default value for the description<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="459074733" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5603" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5603/hovercard" href="https://github.com/apple/cups/issues/5603">#5603</a>)</li>
+<li>The <code>lpadmin</code> command did not always update the PPD file for changes to the<br>
+<code>cupsIPPSupplies</code> and <code>cupsSNMPSupplies</code> keywords (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="465727195" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5610" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5610/hovercard" href="https://github.com/apple/cups/pull/5610">#5610</a>)</li>
+<li>The scheduler now uses both the group's membership list as well as the<br>
+various OS-specific membership functions to determine whether a user belongs<br>
+to a named group (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468463678" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5613" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5613/hovercard" href="https://github.com/apple/cups/pull/5613">#5613</a>)</li>
+<li>Added USB quirks rule for HP LaserJet 1015 (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470659313" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5617" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5617/hovercard" href="https://github.com/apple/cups/issues/5617">#5617</a>)</li>
+<li>Fixed some PPD parser issues (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474314074" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5623" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5623/hovercard" href="https://github.com/apple/cups/pull/5623">#5623</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474317092" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5624" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5624/hovercard" href="https://github.com/apple/cups/pull/5624">#5624</a>)</li>
+<li>The IPP parser no longer allows invalid member attributes in collections<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="477979886" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5630" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5630/hovercard" href="https://github.com/apple/cups/issues/5630">#5630</a>)</li>
+<li>Fixed IPP buffer overflow (rdar://50035411)</li>
+<li>Fixed memory disclosure issue in the scheduler (rdar://51373853)</li>
+<li>Fixed DoS issues in the scheduler (rdar://51373929)</li>
+<li>The scheduler would restart continuously when idle and printers were not<br>
+shared (rdar://52561199)</li>
+<li>Fixed a command ordering issue in the Zebra ZPL driver.</li>
+<li>Fixed a memory leak in <code>ppdOpen</code>.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.12/cups-2.2.12-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.12-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.93 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.12/cups-2.2.12-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.12-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.12.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.12.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-prerelease">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+        <span class="flex-shrink-0 Label Label--outline mb-md-2 mr-2 mr-md-0 Label--prerelease">
+            Pre-release
+        </span>
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3rc1" class="muted-link css-truncate" title="v2.3rc1">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3rc1</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/4d03c4ca90d8c1c0d5303427858e537fd3c415e4" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>4d03c4c</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3rc1">v2.3rc1</a>
+        </div>
+
+          <span class="d-md-none flex-shrink-0 ml-2 mt-2 mt-md-0 Label Label--outline Label--prerelease">
+              Pre-release
+          </span>
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3rc1" class="muted-link css-truncate" title="v2.3rc1">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3rc1</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/4d03c4ca90d8c1c0d5303427858e537fd3c415e4" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>4d03c4c</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-05-21T17:07:50Z" class="no-wrap">May 21, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.3rc1...master">
+    122 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3rc1 is now available for download.  This is the first release candidate for CUPS 2.3.0 which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues.  This beta also includes the new ippeveprinter utility. Changes include:</p>
+<ul>
+<li>The <code>cups-config</code> script no longer adds extra libraries when linking against<br>
+shared libraries (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="303656158" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5261" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5261/hovercard" href="https://github.com/apple/cups/pull/5261">#5261</a>)</li>
+<li>The supplied example print documents have been optimized for size<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="413810404" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5529" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5529/hovercard" href="https://github.com/apple/cups/pull/5529">#5529</a>)</li>
+<li>The <code>cupsctl</code> command now prevents setting "cups-files.conf" directives<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="413829254" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5530" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5530/hovercard" href="https://github.com/apple/cups/issues/5530">#5530</a>)</li>
+<li>The "forbidden" message in the web interface is now explained (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="424534348" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5547" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5547/hovercard" href="https://github.com/apple/cups/issues/5547">#5547</a>)</li>
+<li>The footer in the web interface covered some content on small displays<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="440365801" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5574" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5574/hovercard" href="https://github.com/apple/cups/issues/5574">#5574</a>)</li>
+<li>The libusb-based USB backend now enforces read limits, improving print speed<br>
+in many cases (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="445315055" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5583" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5583/hovercard" href="https://github.com/apple/cups/issues/5583">#5583</a>)</li>
+<li>The <code>ippeveprinter</code> command now looks for print commands in the "command"<br>
+subdirectory.</li>
+<li>The <code>ipptool</code> command now supports <code>$date-current</code> and <code>$date-start</code> variables<br>
+to insert the current and starting date and time values, as well as ISO-8601<br>
+relative time values such as "PT30S" for 30 seconds in the future.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3rc1/cups-2.3rc1-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3rc1-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">7.56 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3rc1/cups-2.3rc1-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3rc1-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3rc1.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3rc1.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-prerelease">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+        <span class="flex-shrink-0 Label Label--outline mb-md-2 mr-2 mr-md-0 Label--prerelease">
+            Pre-release
+        </span>
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3b8" class="muted-link css-truncate" title="v2.3b8">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3b8</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/0450ddd4f003de8aa8d8e7a54d181a992607d031" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>0450ddd</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3b8">v2.3b8</a>
+        </div>
+
+          <span class="d-md-none flex-shrink-0 ml-2 mt-2 mt-md-0 Label Label--outline Label--prerelease">
+              Pre-release
+          </span>
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3b8" class="muted-link css-truncate" title="v2.3b8">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3b8</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/0450ddd4f003de8aa8d8e7a54d181a992607d031" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>0450ddd</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-05-02T17:10:16Z" class="no-wrap">May 2, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.3b8...master">
+    165 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3b8 is now available for download.  This is the eighth beta of the CUPS 2.3 series which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues.  This beta also includes the new ippeveprinter utility.  Changes include:</p>
+<ul>
+<li>Media size matching now uses a tolerance of 0.5mm (rdar://33822024)</li>
+<li>The lpadmin command would hang with a bad PPD file (rdar://41495016)</li>
+<li>Fixed a potential crash bug in cups-driverd (rdar://46625579)</li>
+<li>Fixed a performance regression with large PPDs (rdar://47040759)</li>
+<li>Fixed a memory reallocation bug in HTTP header value expansion<br>
+(rdar://problem/50000749)</li>
+<li>Timed out job submission now yields an error (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="437390564" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5570" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5570/hovercard" href="https://github.com/apple/cups/issues/5570">#5570</a>)</li>
+<li>Restored minimal support for the <code>Emulators</code> keyword in PPD files to allow<br>
+old Samsung printer drivers to continue to work (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="432214569" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5562" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5562/hovercard" href="https://github.com/apple/cups/issues/5562">#5562</a>)</li>
+<li>The scheduler did not encode octetString values like "job-password" correctly<br>
+for the print filters (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="429827127" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5558" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5558/hovercard" href="https://github.com/apple/cups/pull/5558">#5558</a>)</li>
+<li>The <code>cupsCheckDestSupported</code> function did not check octetString values<br>
+correctly (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="429820862" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5557" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5557/hovercard" href="https://github.com/apple/cups/pull/5557">#5557</a>)</li>
+<li>Added support for <code>UserAgentTokens</code> directive in "client.conf" (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="429062399" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5555" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5555/hovercard" href="https://github.com/apple/cups/issues/5555">#5555</a>)</li>
+<li>Updated the systemd service file for cupsd (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="426479041" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5551" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5551/hovercard" href="https://github.com/apple/cups/pull/5551">#5551</a>)</li>
+<li>The <code>ippValidateAttribute</code> function did not catch all instances of invalid<br>
+UTF-8 strings (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="406851979" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5509" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5509/hovercard" href="https://github.com/apple/cups/issues/5509">#5509</a>)</li>
+<li>Fixed an issue with the self-signed certificates generated by GNU TLS<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="405881346" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5506" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5506/hovercard" href="https://github.com/apple/cups/issues/5506">#5506</a>)</li>
+<li>Fixed a potential memory leak when reading at the end of a file (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397128929" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5473" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5473/hovercard" href="https://github.com/apple/cups/pull/5473">#5473</a>)</li>
+<li>Fixed potential unaligned accesses in the string pool (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397129335" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5474" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5474/hovercard" href="https://github.com/apple/cups/pull/5474">#5474</a>)</li>
+<li>Fixed a potential memory leak when loading a PPD file (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397129544" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5475" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5475/hovercard" href="https://github.com/apple/cups/pull/5475">#5475</a>)</li>
+<li>Added a USB quirks rule for the Lexmark E120n (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="398002110" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5478" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5478/hovercard" href="https://github.com/apple/cups/issues/5478">#5478</a>)</li>
+<li>Updated the USB quirks rule for Zebra label printers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="357733286" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5395" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5395/hovercard" href="https://github.com/apple/cups/issues/5395">#5395</a>)</li>
+<li>Fixed a compile error on Linux (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="400297392" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5483" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5483/hovercard" href="https://github.com/apple/cups/issues/5483">#5483</a>)</li>
+<li>The lpadmin command, web interface, and scheduler all queried an IPP<br>
+Everywhere printer differently, resulting in different PPDs for the same<br>
+printer (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="400475471" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5484" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5484/hovercard" href="https://github.com/apple/cups/issues/5484">#5484</a>)</li>
+<li>The web interface no longer provides access to the log files (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="408923646" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5513" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5513/hovercard" href="https://github.com/apple/cups/pull/5513">#5513</a>)</li>
+<li>Non-Kerberized printing to Windows via IPP was broken (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="409779414" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5515" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5515/hovercard" href="https://github.com/apple/cups/issues/5515">#5515</a>)</li>
+<li>Eliminated use of private headers and some deprecated macOS APIs (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="410260107" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5516" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5516/hovercard" href="https://github.com/apple/cups/issues/5516">#5516</a>)</li>
+<li>The scheduler no longer stops a printer if an error occurs when a job is<br>
+canceled or aborted (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="410355270" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5517" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5517/hovercard" href="https://github.com/apple/cups/issues/5517">#5517</a>)</li>
+<li>Added a USB quirks rule for the DYMO 450 Turbo (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="411711197" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5521" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5521/hovercard" href="https://github.com/apple/cups/issues/5521">#5521</a>)</li>
+<li>Added a USB quirks rule for Xerox printers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="411753258" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5523" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5523/hovercard" href="https://github.com/apple/cups/pull/5523">#5523</a>)</li>
+<li>The scheduler's self-signed certificate did not include all of the alternate<br>
+names for the server when using GNU TLS (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="412016449" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5525" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5525/hovercard" href="https://github.com/apple/cups/issues/5525">#5525</a>)</li>
+<li>Fixed compiler warnings with newer versions of GCC (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="414042934" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5532" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5532/hovercard" href="https://github.com/apple/cups/issues/5532">#5532</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="414066704" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5533" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5533/hovercard" href="https://github.com/apple/cups/issues/5533">#5533</a>)</li>
+<li>Fixed some PPD caching and IPP Everywhere PPD accounting/password bugs<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="415271479" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5535" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5535/hovercard" href="https://github.com/apple/cups/pull/5535">#5535</a>)</li>
+<li>Fixed <code>PreserveJobHistory</code> bug with time values (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="417234320" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5538" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5538/hovercard" href="https://github.com/apple/cups/issues/5538">#5538</a>)</li>
+<li>The scheduler no longer advertises the HTTP methods it supports (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="418016911" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5540" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5540/hovercard" href="https://github.com/apple/cups/issues/5540">#5540</a>)</li>
+<li>Localization updates (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="389910117" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5461" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5461/hovercard" href="https://github.com/apple/cups/pull/5461">#5461</a>, Issues <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="396109475" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5471" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5471/hovercard" href="https://github.com/apple/cups/pull/5471">#5471</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="399515079" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5481" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5481/hovercard" href="https://github.com/apple/cups/pull/5481">#5481</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401477553" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5486" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5486/hovercard" href="https://github.com/apple/cups/pull/5486">#5486</a>,<br>
+Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401560266" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5489" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5489/hovercard" href="https://github.com/apple/cups/pull/5489">#5489</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401580756" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5491" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5491/hovercard" href="https://github.com/apple/cups/issues/5491">#5491</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401583167" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5492" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5492/hovercard" href="https://github.com/apple/cups/pull/5492">#5492</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401587120" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5493" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5493/hovercard" href="https://github.com/apple/cups/pull/5493">#5493</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401591890" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5494" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5494/hovercard" href="https://github.com/apple/cups/pull/5494">#5494</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="401976167" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5495" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5495/hovercard" href="https://github.com/apple/cups/issues/5495">#5495</a>,<br>
+Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="402516307" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5497" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5497/hovercard" href="https://github.com/apple/cups/issues/5497">#5497</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="402552206" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5499" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5499/hovercard" href="https://github.com/apple/cups/pull/5499">#5499</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="402552661" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5500" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5500/hovercard" href="https://github.com/apple/cups/pull/5500">#5500</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="402553767" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5501" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5501/hovercard" href="https://github.com/apple/cups/pull/5501">#5501</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="403396003" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5504" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5504/hovercard" href="https://github.com/apple/cups/pull/5504">#5504</a>)</li>
+<li>The scheduler did not always idle exit as quickly as it could.</li>
+<li>Added a new <code>ippeveprinter</code> command based on the old ippserver sample code.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b8/cups-2.3b8-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b8-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.89 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b8/cups-2.3b8-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b8-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b8.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b8.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.2.11" class="muted-link css-truncate" title="v2.2.11">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.2.11</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/e4a0aa86c96b5ddda3770c46709f4dee9a59071f" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>e4a0aa8</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.2.11">v2.2.11</a>
+        </div>
+
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.2.11" class="muted-link css-truncate" title="v2.2.11">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.2.11</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/e4a0aa86c96b5ddda3770c46709f4dee9a59071f" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>e4a0aa8</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2019-03-22T20:07:02Z" class="no-wrap">Mar 22, 2019</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.2.11...master">
+    793 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.2.11 is a bug fix release that addresses issues in the scheduler,<br>
+IPP Everywhere support, CUPS library, and USB printer support.  Changes include:</p>
+<ul>
+<li>Running ppdmerge with the same input and output filenames did not work as<br>
+advertised (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="389283806" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5455" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5455/hovercard" href="https://github.com/apple/cups/issues/5455">#5455</a>)</li>
+<li>Fixed a potential memory leak when reading at the end of a file (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397128929" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5473" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5473/hovercard" href="https://github.com/apple/cups/pull/5473">#5473</a>)</li>
+<li>Fixed potential unaligned accesses in the string pool (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397129335" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5474" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5474/hovercard" href="https://github.com/apple/cups/pull/5474">#5474</a>)</li>
+<li>Fixed a potential memory leak when loading a PPD file (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="397129544" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5475" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5475/hovercard" href="https://github.com/apple/cups/pull/5475">#5475</a>)</li>
+<li>Added a USB quirks rule for the Lexmark E120n (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="398002110" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5478" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5478/hovercard" href="https://github.com/apple/cups/issues/5478">#5478</a>)</li>
+<li>Updated the USB quirks rule for Zebra label printers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="357733286" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5395" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5395/hovercard" href="https://github.com/apple/cups/issues/5395">#5395</a>)</li>
+<li>Fixed a compile error on Linux (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="400297392" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5483" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5483/hovercard" href="https://github.com/apple/cups/issues/5483">#5483</a>)</li>
+<li>The lpadmin command, web interface, and scheduler all queried an IPP<br>
+Everywhere printer differently, resulting in different PPDs for the same<br>
+printer (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="400475471" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5484" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5484/hovercard" href="https://github.com/apple/cups/issues/5484">#5484</a>)</li>
+<li>Fixed an issue with the self-signed certificates generated by GNU TLS<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="405881346" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5506" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5506/hovercard" href="https://github.com/apple/cups/issues/5506">#5506</a>)</li>
+<li>The <code>ippValidateAttribute</code> function did not catch all instances of invalid<br>
+UTF-8 strings (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="406851979" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5509" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5509/hovercard" href="https://github.com/apple/cups/issues/5509">#5509</a>)</li>
+<li>Non-Kerberized printing to Windows via IPP was broken (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="409779414" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5515" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5515/hovercard" href="https://github.com/apple/cups/issues/5515">#5515</a>)</li>
+<li>The scheduler no longer stops a printer if an error occurs when a job is<br>
+canceled or aborted (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="410355270" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5517" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5517/hovercard" href="https://github.com/apple/cups/issues/5517">#5517</a>)</li>
+<li>Added a USB quirks rule for the DYMO 450 Turbo (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="411711197" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5521" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5521/hovercard" href="https://github.com/apple/cups/issues/5521">#5521</a>)</li>
+<li>Added a USB quirks rule for Xerox printers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="411753258" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5523" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5523/hovercard" href="https://github.com/apple/cups/pull/5523">#5523</a>)</li>
+<li>The scheduler's self-signed certificate did not include all of the alternate<br>
+names for the server when using GNU TLS (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="412016449" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5525" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5525/hovercard" href="https://github.com/apple/cups/issues/5525">#5525</a>)</li>
+<li>Fixed compiler warnings with newer versions of GCC (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="414042934" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5532" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5532/hovercard" href="https://github.com/apple/cups/issues/5532">#5532</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="414066704" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5533" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5533/hovercard" href="https://github.com/apple/cups/issues/5533">#5533</a>)</li>
+<li>Fixed some PPD caching and IPP Everywhere PPD accounting/password bugs<br>
+(Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="415271479" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5535" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5535/hovercard" href="https://github.com/apple/cups/pull/5535">#5535</a>)</li>
+<li>Fixed <code>PreserveJobHistory</code> bug with time values (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="417234320" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5538" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5538/hovercard" href="https://github.com/apple/cups/issues/5538">#5538</a>)</li>
+<li>Media size matching now uses a tolerance of 0.5mm (rdar://33822024)</li>
+<li>The lpadmin command would hang with a bad PPD file (rdar://41495016)</li>
+<li>Fixed a potential crash bug in cups-driverd (rdar://46625579)</li>
+<li>Fixed a performance regression with large PPDs (rdar://47040759)</li>
+<li>The scheduler did not always idle exit as quickly as it could.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.11/cups-2.2.11-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.11-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.92 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.11/cups-2.2.11-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.11-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.11.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.11.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-prerelease">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+        <span class="flex-shrink-0 Label Label--outline mb-md-2 mr-2 mr-md-0 Label--prerelease">
+            Pre-release
+        </span>
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3b7" class="muted-link css-truncate" title="v2.3b7">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3b7</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/b1e7afd5964cbe1aeab6f0a2d5b33884693a143a" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>b1e7afd</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3b7">v2.3b7</a>
+        </div>
+
+          <span class="d-md-none flex-shrink-0 ml-2 mt-2 mt-md-0 Label Label--outline Label--prerelease">
+              Pre-release
+          </span>
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3b7" class="muted-link css-truncate" title="v2.3b7">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3b7</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/b1e7afd5964cbe1aeab6f0a2d5b33884693a143a" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>b1e7afd</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2018-12-14T15:25:40Z" class="no-wrap">Dec 14, 2018</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.3b7...master">
+    350 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3b7 is now available for download.  This is the sixth beta of the CUPS 2.3 series which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and "polish" issues.</p>
+<p>Changes include:</p>
+<ul>
+<li>Fixed some build failures (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="388917027" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5451" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5451/hovercard" href="https://github.com/apple/cups/pull/5451">#5451</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="391143584" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5463" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5463/hovercard" href="https://github.com/apple/cups/pull/5463">#5463</a>)</li>
+<li>Running ppdmerge with the same input and output filenames did not work as<br>
+advertised (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="389283806" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5455" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5455/hovercard" href="https://github.com/apple/cups/issues/5455">#5455</a>)</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b7/cups-2.3b7-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b7-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.77 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b7/cups-2.3b7-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b7-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b7.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b7.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-prerelease">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+        <span class="flex-shrink-0 Label Label--outline mb-md-2 mr-2 mr-md-0 Label--prerelease">
+            Pre-release
+        </span>
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.3b6" class="muted-link css-truncate" title="v2.3b6">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.3b6</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/c13e2f44eb15bcdbff9126df86d1ed9a5108e47c" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>c13e2f4</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.3b6">v2.3b6</a>
+        </div>
+
+          <span class="d-md-none flex-shrink-0 ml-2 mt-2 mt-md-0 Label Label--outline Label--prerelease">
+              Pre-release
+          </span>
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.3b6" class="muted-link css-truncate" title="v2.3b6">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.3b6</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/c13e2f44eb15bcdbff9126df86d1ed9a5108e47c" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>c13e2f4</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2018-12-07T19:55:15Z" class="no-wrap">Dec 7, 2018</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.3b6...master">
+    358 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.3b6 is now available for download. This is the sixth beta of the CUPS 2.3 series which adopts the new CUPS license, adds support for IPP presets and finishing templates, and fixes a number of bugs and “polish” issues. Changes include:</p>
+<ul>
+<li>Localization update (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="331487448" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5339" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5339/hovercard" href="https://github.com/apple/cups/pull/5339">#5339</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="338371070" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5348" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5348/hovercard" href="https://github.com/apple/cups/pull/5348">#5348</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="346031038" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5362" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5362/hovercard" href="https://github.com/apple/cups/issues/5362">#5362</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="366787211" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5408" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5408/hovercard" href="https://github.com/apple/cups/pull/5408">#5408</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="368045074" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5410" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5410/hovercard" href="https://github.com/apple/cups/pull/5410">#5410</a>)</li>
+<li>Documentation updates (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="348353282" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5369" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5369/hovercard" href="https://github.com/apple/cups/pull/5369">#5369</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="363404487" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5402" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5402/hovercard" href="https://github.com/apple/cups/issues/5402">#5402</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="363405764" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5403" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5403/hovercard" href="https://github.com/apple/cups/issues/5403">#5403</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="364552772" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5404" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5404/hovercard" href="https://github.com/apple/cups/issues/5404">#5404</a>)</li>
+<li>CVE-2018-4700: Linux session cookies used a predictable random number seed.</li>
+<li>All user commands now support the <code>--help</code> option (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="330540965" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5326" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5326/hovercard" href="https://github.com/apple/cups/pull/5326">#5326</a>)</li>
+<li>The <code>lpoptions</code> command now works with IPP Everywhere printers that have not yet been added as local queues (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="240476360" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5045" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5045/hovercard" href="https://github.com/apple/cups/issues/5045">#5045</a>)</li>
+<li>The lpadmin command would create a non-working printer in some error cases (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="318946590" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5305" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5305/hovercard" href="https://github.com/apple/cups/issues/5305">#5305</a>)</li>
+<li>The scheduler would crash if an empty <code>AccessLog</code> directive was specified (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="320205820" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5309" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5309/hovercard" href="https://github.com/apple/cups/issues/5309">#5309</a>)</li>
+<li>The scheduler did not idle-exit on some Linux distributions (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="326681481" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5319" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5319/hovercard" href="https://github.com/apple/cups/issues/5319">#5319</a>)</li>
+<li>Fixed a regression in the changes to ippValidateAttribute (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="329849228" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5322" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5322/hovercard" href="https://github.com/apple/cups/issues/5322">#5322</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="330795910" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5330" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5330/hovercard" href="https://github.com/apple/cups/pull/5330">#5330</a>)</li>
+<li>Fixed a crash bug in the Epson dot matrix driver (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="329933700" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5323" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5323/hovercard" href="https://github.com/apple/cups/issues/5323">#5323</a>)</li>
+<li>Automatic debug logging of job errors did not work with systemd (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="331250505" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5337" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5337/hovercard" href="https://github.com/apple/cups/pull/5337">#5337</a>)</li>
+<li>The web interface did not list the IPP Everywhere "driver" (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="331312712" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5338" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5338/hovercard" href="https://github.com/apple/cups/issues/5338">#5338</a>)</li>
+<li>The scheduler did not report all of the supported job options and values (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="333276783" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5340" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5340/hovercard" href="https://github.com/apple/cups/issues/5340">#5340</a>)</li>
+<li>The IPP Everywhere "driver" now properly supports face-up printers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="337083449" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5345" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5345/hovercard" href="https://github.com/apple/cups/pull/5345">#5345</a>)</li>
+<li>Fixed some typos in the label printer drivers (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="339185565" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5350" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5350/hovercard" href="https://github.com/apple/cups/pull/5350">#5350</a>)</li>
+<li>Setting the <code>Community</code> name to the empty string in <code>snmp.conf</code> now disables SNMP supply level monitoring by all the standard network backends (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="340624090" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5354" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5354/hovercard" href="https://github.com/apple/cups/issues/5354">#5354</a>)</li>
+<li>Multi-file jobs could get stuck if the backend failed (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="345069787" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5359" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5359/hovercard" href="https://github.com/apple/cups/issues/5359">#5359</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="371092957" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5413" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5413/hovercard" href="https://github.com/apple/cups/pull/5413">#5413</a>)</li>
+<li>The IPP Everywhere "driver" no longer does local filtering when printing to a shared CUPS printer (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="345371064" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5361" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5361/hovercard" href="https://github.com/apple/cups/issues/5361">#5361</a>)</li>
+<li>The lpadmin command now correctly reports IPP errors when configuring an IPP Everywhere printer (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="348454669" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5370" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5370/hovercard" href="https://github.com/apple/cups/issues/5370">#5370</a>)</li>
+<li>Fixed some memory leaks discovered by Coverity (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="350817056" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5375" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5375/hovercard" href="https://github.com/apple/cups/pull/5375">#5375</a>)</li>
+<li>The PPD compiler incorrectly terminated JCL options (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="353923453" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5379" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5379/hovercard" href="https://github.com/apple/cups/issues/5379">#5379</a>)</li>
+<li>The cupstestppd utility did not generate errors for missing/mismatched CloseUI/JCLCloseUI keywords (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="354366018" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5381" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5381/hovercard" href="https://github.com/apple/cups/issues/5381">#5381</a>)</li>
+<li>The scheduler now reports the actual location of the log file (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="360830362" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5398" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5398/hovercard" href="https://github.com/apple/cups/pull/5398">#5398</a>)</li>
+<li>Added USB quirk rules (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="357733286" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5395" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5395/hovercard" href="https://github.com/apple/cups/issues/5395">#5395</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="374789312" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5420" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5420/hovercard" href="https://github.com/apple/cups/issues/5420">#5420</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="383353143" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5443" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5443/hovercard" href="https://github.com/apple/cups/issues/5443">#5443</a>)</li>
+<li>The generated PPD files for IPP Everywhere printers did not contain the cupsManualCopies keyword (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="379168700" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5433" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5433/hovercard" href="https://github.com/apple/cups/issues/5433">#5433</a>)</li>
+<li>Kerberos credentials might be truncated (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="379992572" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5435" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5435/hovercard" href="https://github.com/apple/cups/pull/5435">#5435</a>)</li>
+<li>The handling of <code>MaxJobTime 0</code> did not match the documentation (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="381247863" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5438" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5438/hovercard" href="https://github.com/apple/cups/issues/5438">#5438</a>)</li>
+<li>Fixed a bug adding a queue with the <code>-E</code> option (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="381942069" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5440" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5440/hovercard" href="https://github.com/apple/cups/issues/5440">#5440</a>)</li>
+<li>The <code>cupsaddsmb</code> program has been removed (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="388302147" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5449" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5449/hovercard" href="https://github.com/apple/cups/issues/5449">#5449</a>)</li>
+<li>The <code>cupstestdsc</code> program has been removed (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="388307516" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5450" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5450/hovercard" href="https://github.com/apple/cups/issues/5450">#5450</a>)</li>
+<li>The scheduler was being backgrounded on macOS, causing applications to spin (rdar://40436080)</li>
+<li>The scheduler did not validate that required initial request attributes were in the operation group (rdar://41098178)</li>
+<li>Authentication in the web interface did not work on macOS (rdar://41444473)</li>
+<li>Fixed an issue with HTTP Digest authentication (rdar://41709086)</li>
+<li>The scheduler could crash when job history was purged (rdar://42198057)</li>
+<li>Fixed a crash bug when mapping PPD duplex options to IPP attributes (rdar://46183976)</li>
+<li>Fixed a memory leak for some IPP (extension) syntaxes.</li>
+<li>The <code>cupscgi</code>, <code>cupsmime</code>, and <code>cupsppdc</code> support libraries are no longer installed as shared libraries.</li>
+<li>The <code>snmp</code> backend is now deprecated.</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b6-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.77 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.3b6/cups-2.3b6-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.3b6-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b6.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.3b6.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+
+
+        <div class="release-entry">
+            
+<div class="release pt-2 pt-md-0 pb-3 pb-md-0 clearfix label-">
+  <div class="d-none d-md-block flex-wrap flex-items-center col-12 col-md-3 col-lg-2 px-md-3 pb-1 pb-md-4 pt-md-4 float-left text-md-right v-align-top">
+    <div class="flex-auto flex-self-start">
+
+
+    </div>
+
+      <ul class="d-none d-md-block mt-2 list-style-none">
+        <li class="d-block mb-1">
+          <a href="/apple/cups/tree/v2.2.10" class="muted-link css-truncate" title="v2.2.10">
+            <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+            <span class="css-truncate-target" style="max-width: 125px">v2.2.10</span>
+          </a>
+        </li>
+
+        <li class="d-block mb-1">
+          <a href="/apple/cups/commit/25b2338346ef3abbb93ea88476887cba7b2b86f8" class="muted-link">
+            <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+            <code>25b2338</code>
+          </a>
+        </li>
+        
+      </ul>
+      
+
+  </div><!-- /.meta -->
+
+  <div class="col-12 col-md-9 col-lg-10 px-md-3 py-md-4 release-main-section commit open float-left">
+    <div class="release-header">
+      <div class="d-flex flex-items-start">
+        <div class="f1 flex-auto min-width-0 text-normal">
+          <a href="/apple/cups/releases/tag/v2.2.10">v2.2.10</a>
+        </div>
+
+
+      </div>
+        <ul class="d-flex d-md-none flex-items-center mb-1 list-style-none">
+          <li class="d-block mr-2">
+            <a href="/apple/cups/tree/v2.2.10" class="muted-link css-truncate" title="v2.2.10">
+              <svg class="octicon octicon-tag" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.73 1.73C7.26 1.26 6.62 1 5.96 1H3.5C2.13 1 1 2.13 1 3.5v2.47c0 .66.27 1.3.73 1.77l6.06 6.06c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 000-1.41L7.73 1.73zM2.38 7.09c-.31-.3-.47-.7-.47-1.13V3.5c0-.88.72-1.59 1.59-1.59h2.47c.42 0 .83.16 1.13.47l6.14 6.13-4.73 4.73-6.13-6.15zM3.01 3h2v2H3V3h.01z"/></svg>
+              <span class="css-truncate-target" style="max-width: 125px">v2.2.10</span>
+            </a>
+          </li>
+
+          <li class="d-block mr-2 flex-auto">
+            <a href="/apple/cups/commit/25b2338346ef3abbb93ea88476887cba7b2b86f8" class="muted-link">
+              <svg class="octicon octicon-git-commit" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.86 7c-.45-1.72-2-3-3.86-3-1.86 0-3.41 1.28-3.86 3H0v2h3.14c.45 1.72 2 3 3.86 3 1.86 0 3.41-1.28 3.86-3H14V7h-3.14zM7 10.2c-1.22 0-2.2-.98-2.2-2.2 0-1.22.98-2.2 2.2-2.2 1.22 0 2.2.98 2.2 2.2 0 1.22-.98 2.2-2.2 2.2z"/></svg>
+              <code>25b2338</code>
+            </a>
+          </li>
+          
+
+          
+
+        </ul>
+      
+<p class="f5 text-gray mt-2 mt-md-1 mb-2 mb-md-4">
+    <a class="d-inline-block" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet"><img class="avatar" src="https://avatars3.githubusercontent.com/u/488103?s=40&amp;v=4" width="20" height="20" alt="@michaelrsweet" /></a>
+    <a class="text-bold text-gray" data-hovercard-type="user" data-hovercard-url="/users/michaelrsweet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/michaelrsweet">michaelrsweet</a>
+    released this
+    <relative-time datetime="2018-12-07T19:57:55Z" class="no-wrap">Dec 7, 2018</relative-time>
+    &middot;
+    <a href="/apple/cups/compare/v2.2.10...master">
+    793 commits</a>
+    to master
+    since this release
+</p>
+    </div>
+
+    
+
+  <div class="markdown-body">
+    <p>CUPS 2.2.10 is a bug fix release that addresses issues in the scheduler, IPP Everywhere support, CUPS library, and USB printer support. Changes include:</p>
+<ul>
+<li>CVE-2018-4300: Linux session cookies used a predictable random number seed.</li>
+<li>The <code>lpoptions</code> command now works with IPP Everywhere printers that have not yet been added as local queues (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="240476360" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5045" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5045/hovercard" href="https://github.com/apple/cups/issues/5045">#5045</a>)</li>
+<li>Added USB quirk rules (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="357733286" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5395" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5395/hovercard" href="https://github.com/apple/cups/issues/5395">#5395</a>, Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="383353143" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5443" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5443/hovercard" href="https://github.com/apple/cups/issues/5443">#5443</a>)</li>
+<li>The generated PPD files for IPP Everywhere printers did not contain the cupsManualCopies keyword (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="379168700" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5433" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5433/hovercard" href="https://github.com/apple/cups/issues/5433">#5433</a>)</li>
+<li>Kerberos credentials might be truncated (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="379992572" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5435" data-hovercard-type="pull_request" data-hovercard-url="/apple/cups/pull/5435/hovercard" href="https://github.com/apple/cups/pull/5435">#5435</a>)</li>
+<li>The handling of <code>MaxJobTime 0</code> did not match the documentation (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="381247863" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5438" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5438/hovercard" href="https://github.com/apple/cups/issues/5438">#5438</a>)</li>
+<li>Incorporated the page accounting changes from CUPS 2.3 (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="381531578" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5439" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5439/hovercard" href="https://github.com/apple/cups/issues/5439">#5439</a>)</li>
+<li>Fixed a bug adding a queue with the <code>-E</code> option (Issue <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="381942069" data-permission-text="Issue title is private" data-url="https://github.com/apple/cups/issues/5440" data-hovercard-type="issue" data-hovercard-url="/apple/cups/issues/5440/hovercard" href="https://github.com/apple/cups/issues/5440">#5440</a>)</li>
+<li>Fixed a crash bug when mapping PPD duplex options to IPP attributes (rdar://46183976)</li>
+</ul>
+<p>Enjoy!</p>
+  </div>
+
+
+  <details
+    class="details-reset Details-element border-top pt-3 mt-4 mb-2 mb-md-4"
+    
+    
+    >
+    <summary>
+      <div class="d-flex flex-items-center">
+        <span class="mr-2 Details-content--closed"><svg class="octicon octicon-triangle-right" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg></span>
+        <span class="mr-2 Details-content--open"><svg class="octicon octicon-triangle-down" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 5l6 6 6-6H0z"/></svg></span>
+        <span class="text-bold">Assets</span>
+        <span class="ml-1 Counter">4</span>
+      </div>
+    </summary>
+    <div class="Box Box--condensed mt-3">
+      <div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.10/cups-2.2.10-source.tar.gz" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.10-source.tar.gz</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">9.92 MB</small>
+          </div>
+          <div class="d-flex flex-justify-between flex-items-center py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/releases/download/v2.2.10/cups-2.2.10-source.tar.gz.sig" rel="nofollow" class="d-flex flex-items-center min-width-0">
+              <svg class="octicon octicon-package flex-shrink-0 text-gray" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1 4.27v7.47c0 .45.3.84.75.97l6.5 1.73c.16.05.34.05.5 0l6.5-1.73c.45-.13.75-.52.75-.97V4.27c0-.45-.3-.84-.75-.97l-6.5-1.74a1.4 1.4 0 00-.5 0L1.75 3.3c-.45.13-.75.52-.75.97zm7 9.09l-6-1.59V5l6 1.61v6.75zM2 4l2.5-.67L11 5.06l-2.5.67L2 4zm13 7.77l-6 1.59V6.61l2-.55V8.5l2-.53V5.53L15 5v6.77zm-2-7.24L6.5 2.8l2-.53L15 4l-2 .53z"/></svg>
+              <span class="pl-2 flex-auto min-width-0 text-bold">cups-2.2.10-source.tar.gz.sig</span>
+            </a>
+            <small class="pl-2 text-gray flex-shrink-0">585 Bytes</small>
+          </div>
+
+
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.10.zip" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (zip)
+            </a>
+          </div>
+          <div class="d-block py-1 py-md-2 Box-body px-2">
+            <a href="/apple/cups/archive/v2.2.10.tar.gz" rel="nofollow" class="d-flex flex-items-center">
+              <svg class="octicon octicon-file-zip flex-shrink-0 text-gray" width="16" height="16" viewBox="0 0 12 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8.5 1H1a1 1 0 00-1 1v12a1 1 0 001 1h10a1 1 0 001-1V4.5L8.5 1zM11 14H1V2h3v1h1V2h3l3 3v9zM5 4V3h1v1H5zM4 4h1v1H4V4zm1 2V5h1v1H5zM4 6h1v1H4V6zm1 2V7h1v1H5zM4 9.28A2 2 0 003 11v1h4v-1a2 2 0 00-2-2V8H4v1.28zM6 10v1H4v-1h2z"/></svg>
+              <span class="px-1 text-bold">Source code</span> (tar.gz)
+            </a>
+          </div>
+      </div>
+    </div>
+  </details>
+
+
+  </div><!-- /.release-body -->
+</div><!-- /.release -->
+
+        </div>
+
+  </div>
+
+  <div data-pjax class="paginate-container">
+    <div class="pagination"><span class="disabled">Previous</span><a rel="nofollow" href="https://github.com/apple/cups/releases?after=v2.2.10">Next</a></div>
+  </div>
+
+
+  </div>
+</div>
+
+    </main>
+  </div>
+  
+
+  </div>
+
+        
+<div class="footer container-lg width-full p-responsive" role="contentinfo">
+  <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light ">
+    <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+      <li class="mr-3 mr-lg-0">&copy; 2019 GitHub, Inc.</li>
+        <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li>
+        <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li>
+        <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li>
+        <li class="mr-3 mr-lg-0"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li>
+        <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li>
+    </ul>
+
+    <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com">
+      <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
+</a>
+   <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0">
+        <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li>
+        <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li>
+      <li class="mr-3 mr-lg-0"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li>
+      <li class="mr-3 mr-lg-0"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li>
+        <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li>
+        <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li>
+
+    </ul>
+  </div>
+  <div class="d-flex flex-justify-center pb-6">
+    <span class="f6 text-gray-light"></span>
+  </div>
+</div>
+
+
+
+  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
+    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 00.01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
+    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
+      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
+    </button>
+    You can’t perform that action at this time.
+  </div>
+
+
+    <script crossorigin="anonymous" integrity="sha512-mdrBasYG+QjgS391PSyVkPr06io3gWplCVbPscguetNEHxIEt+mZwCeCxPR9eMNfda6qNuibNFqBo5ak2+O/hg==" type="application/javascript" src="https://github.githubassets.com/assets/compat-bootstrap-99dac16a.js"></script>
+    <script crossorigin="anonymous" integrity="sha512-QxcIZ5pa4j8P5eL6FLQaU/FAIfodWkzV2rf+7OlyiiiIM9ZaG3MODvgQme+LVDUPMBdmjYYZ+svSlFu5yjFhRw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-43170867.js"></script>
+    
+    <script crossorigin="anonymous" async="async" integrity="sha512-pWb+XERZ8B74prW8yPNeOMfFEfMfo8DvbO4kDA/DzPk10uGiVYPCB51sRRwisgKrPyfXtC+Igc5k9BfUpepmtQ==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-a566fe5c.js"></script>
+    
+    
+    
+  <div class="js-stale-session-flash flash flash-warn flash-banner" hidden
+    >
+    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 000 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 00.01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
+    <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
+    <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
+  </div>
+  <template id="site-details-dialog">
+  <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open>
+    <summary role="button" aria-label="Close dialog"></summary>
+    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
+      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
+        <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
+      </button>
+      <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
+    </details-dialog>
+  </details>
+</template>
+
+  <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
+  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
+  </div>
+</div>
+
+  <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div>
+
+  </body>
+</html>
+
diff --git a/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html b/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html
new file mode 100644
index 0000000..a5a6f48
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/debian/pool/main/d/db5.3/index.html
@@ -0,0 +1,509 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /debian/pool/main/d/db5.3</title>
+ </head>
+ <body>
+<h1>Index of /debian/pool/main/d/db5.3</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th></tr>
+   <tr><th colspan="4"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/debian/pool/main/d/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-doc_5.3.28+dfsg1-0.5_all.deb">db5.3-doc_5.3.28+dfsg1-0.5_all.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 15M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-doc_5.3.28+dfsg1-0.6_all.deb">db5.3-doc_5.3.28+dfsg1-0.6_all.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 15M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-doc_5.3.28-9+deb8u1_all.deb">db5.3-doc_5.3.28-9+deb8u1_all.deb</a></td><td align="right">2017-11-18 20:15  </td><td align="right"> 18M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-doc_5.3.28-12+deb9u1_all.deb">db5.3-doc_5.3.28-12+deb9u1_all.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 18M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_amd64.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right"> 21K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_arm64.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_armel.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_armhf.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_i386.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right"> 22K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_mips.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_mips64el.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_mipsel.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_ppc64el.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 23K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.5_s390x.deb">db5.3-sql-util_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_amd64.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 21K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_arm64.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_armel.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_armhf.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_i386.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right"> 22K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_mips64el.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_mipsel.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_ppc64el.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 23K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28+dfsg1-0.6_s390x.deb">db5.3-sql-util_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-9+deb8u1_amd64.deb">db5.3-sql-util_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right"> 21K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-9+deb8u1_armel.deb">db5.3-sql-util_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-9+deb8u1_armhf.deb">db5.3-sql-util_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-9+deb8u1_i386.deb">db5.3-sql-util_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right"> 22K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_amd64.deb">db5.3-sql-util_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_arm64.deb">db5.3-sql-util_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 18K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_armel.deb">db5.3-sql-util_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_armhf.deb">db5.3-sql-util_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_i386.deb">db5.3-sql-util_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 22K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_mips.deb">db5.3-sql-util_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_mips64el.deb">db5.3-sql-util_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_mipsel.deb">db5.3-sql-util_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_ppc64el.deb">db5.3-sql-util_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 19K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-sql-util_5.3.28-12+deb9u1_s390x.deb">db5.3-sql-util_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 20K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_amd64.deb">db5.3-util_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_arm64.deb">db5.3-util_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_armel.deb">db5.3-util_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 58K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_armhf.deb">db5.3-util_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 59K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_i386.deb">db5.3-util_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right"> 65K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_mips.deb">db5.3-util_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 62K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_mips64el.deb">db5.3-util_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_mipsel.deb">db5.3-util_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_ppc64el.deb">db5.3-util_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 69K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.5_s390x.deb">db5.3-util_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_amd64.deb">db5.3-util_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_arm64.deb">db5.3-util_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_armel.deb">db5.3-util_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 58K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_armhf.deb">db5.3-util_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right"> 59K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_i386.deb">db5.3-util_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right"> 65K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_mips64el.deb">db5.3-util_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_mipsel.deb">db5.3-util_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_ppc64el.deb">db5.3-util_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 69K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28+dfsg1-0.6_s390x.deb">db5.3-util_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-9+deb8u1_amd64.deb">db5.3-util_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-9+deb8u1_armel.deb">db5.3-util_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right"> 60K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-9+deb8u1_armhf.deb">db5.3-util_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right"> 61K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-9+deb8u1_i386.deb">db5.3-util_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right"> 65K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_amd64.deb">db5.3-util_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_arm64.deb">db5.3-util_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 60K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_armel.deb">db5.3-util_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 60K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_armhf.deb">db5.3-util_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 61K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_i386.deb">db5.3-util_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 66K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_mips.deb">db5.3-util_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right"> 62K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_mips64el.deb">db5.3-util_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_mipsel.deb">db5.3-util_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right"> 63K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_ppc64el.deb">db5.3-util_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 60K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3-util_5.3.28-12+deb9u1_s390x.deb">db5.3-util_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 64K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28+dfsg1-0.5.debian.tar.xz">db5.3_5.3.28+dfsg1-0.5.debian.tar.xz</a></td><td align="right">2019-02-26 08:51  </td><td align="right"> 28K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28+dfsg1-0.5.dsc">db5.3_5.3.28+dfsg1-0.5.dsc</a></td><td align="right">2019-02-26 08:51  </td><td align="right">2.7K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28+dfsg1-0.6.debian.tar.xz">db5.3_5.3.28+dfsg1-0.6.debian.tar.xz</a></td><td align="right">2019-03-12 04:27  </td><td align="right"> 29K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28+dfsg1-0.6.dsc">db5.3_5.3.28+dfsg1-0.6.dsc</a></td><td align="right">2019-03-12 04:27  </td><td align="right">3.1K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28+dfsg1.orig.tar.xz">db5.3_5.3.28+dfsg1.orig.tar.xz</a></td><td align="right">2018-08-09 01:52  </td><td align="right"> 19M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28-9+deb8u1.debian.tar.xz">db5.3_5.3.28-9+deb8u1.debian.tar.xz</a></td><td align="right">2017-11-18 20:15  </td><td align="right"> 28K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28-9+deb8u1.dsc">db5.3_5.3.28-9+deb8u1.dsc</a></td><td align="right">2017-11-18 20:15  </td><td align="right">3.2K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28-12+deb9u1.debian.tar.xz">db5.3_5.3.28-12+deb9u1.debian.tar.xz</a></td><td align="right">2017-09-24 16:26  </td><td align="right"> 28K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28-12+deb9u1.dsc">db5.3_5.3.28-12+deb9u1.dsc</a></td><td align="right">2017-09-24 16:26  </td><td align="right">3.2K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="db5.3_5.3.28.orig.tar.xz">db5.3_5.3.28.orig.tar.xz</a></td><td align="right">2013-10-27 14:01  </td><td align="right"> 23M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">760K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">722K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">668K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">692K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">842K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">773K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">801K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">789K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">816K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3++-dev_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">693K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">759K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">722K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">668K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">692K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">842K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">801K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">789K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">816K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3++-dev_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">693K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3++-dev_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">740K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3++-dev_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">643K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3++-dev_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">672K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3++-dev_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">780K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3++-dev_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">757K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3++-dev_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">663K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3++-dev_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">676K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3++-dev_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">690K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3++-dev_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">836K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3++-dev_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">768K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3++-dev_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">795K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3++-dev_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">786K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3++-dev_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">701K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3++-dev_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">714K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3++_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">690K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3++_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">628K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_armel.deb">libdb5.3++_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">576K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3++_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">600K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_i386.deb">libdb5.3++_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">755K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_mips.deb">libdb5.3++_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">595K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3++_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">604K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3++_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">604K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3++_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">723K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3++_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">619K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3++_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">690K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3++_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">629K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_armel.deb">libdb5.3++_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">574K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3++_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">600K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_i386.deb">libdb5.3++_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">755K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3++_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">604K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3++_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">604K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3++_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">724K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3++_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">620K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-9+deb8u1_amd64.deb">libdb5.3++_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">691K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-9+deb8u1_armel.deb">libdb5.3++_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">580K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-9+deb8u1_armhf.deb">libdb5.3++_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">606K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-9+deb8u1_i386.deb">libdb5.3++_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">749K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_amd64.deb">libdb5.3++_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">687K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_arm64.deb">libdb5.3++_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">574K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_armel.deb">libdb5.3++_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">575K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_armhf.deb">libdb5.3++_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">600K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_i386.deb">libdb5.3++_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">751K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_mips.deb">libdb5.3++_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">593K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_mips64el.deb">libdb5.3++_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">601K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_mipsel.deb">libdb5.3++_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">602K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3++_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">618K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3++_5.3.28-12+deb9u1_s390x.deb">libdb5.3++_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">637K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right"> 43M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right"> 41M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right"> 43M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 43M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-dbg_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right"> 44M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 43M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right"> 41M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right"> 43M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-dbg_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right"> 44M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-9+deb8u1_amd64.deb">libdb5.3-dbg_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right"> 34M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-9+deb8u1_armel.deb">libdb5.3-dbg_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right"> 35M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-9+deb8u1_armhf.deb">libdb5.3-dbg_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right"> 35M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-9+deb8u1_i386.deb">libdb5.3-dbg_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right"> 32M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_amd64.deb">libdb5.3-dbg_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 40M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_arm64.deb">libdb5.3-dbg_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 40M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_armel.deb">libdb5.3-dbg_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 39M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_armhf.deb">libdb5.3-dbg_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right"> 39M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_i386.deb">libdb5.3-dbg_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 38M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_mips.deb">libdb5.3-dbg_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right"> 41M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-dbg_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right"> 40M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-dbg_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right"> 39M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-dbg_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right"> 40M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dbg_5.3.28-12+deb9u1_s390x.deb">libdb5.3-dbg_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right"> 42M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">743K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">707K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">654K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">677K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">822K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">753K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">780K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">769K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">797K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-dev_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">679K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">743K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">707K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">654K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">677K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">822K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">780K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">769K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">797K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-dev_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">679K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-dev_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">725K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-dev_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">630K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-dev_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">659K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-dev_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">766K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-dev_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">742K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-dev_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">648K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-dev_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">660K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-dev_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">676K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-dev_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">817K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-dev_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">748K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-dev_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-dev_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">765K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-dev_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">682K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-dev_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">699K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">757K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">720K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">662K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">688K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">840K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">768K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">795K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">784K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">814K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">688K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">756K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">721K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">663K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">688K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">840K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">796K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">785K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">814K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-java-dev_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">688K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-dev_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">737K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-dev_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">637K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-dev_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">666K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-dev_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">781K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">756K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">657K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">670K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">686K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">836K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">763K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">789K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">780K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">691K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-dev_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">711K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-gcj_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">602K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-gcj_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">455K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-gcj_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">450K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-gcj_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">503K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">602K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">595K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">453K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">447K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">518K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">463K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">474K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">471K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">611K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-gcj_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-gcj_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">578K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">696K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">635K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">580K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">606K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">763K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">596K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">603K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">605K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">732K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">624K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">696K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">636K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">581K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">606K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">762K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">603K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">605K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">733K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-java-jni_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">625K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-9+deb8u1_amd64.deb">libdb5.3-java-jni_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">696K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-9+deb8u1_armel.deb">libdb5.3-java-jni_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">583K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-9+deb8u1_armhf.deb">libdb5.3-java-jni_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">612K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-9+deb8u1_i386.deb">libdb5.3-java-jni_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">754K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_amd64.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">695K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_arm64.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">574K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_armel.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">580K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_armhf.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">606K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_i386.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">758K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_mips.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">593K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">600K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">603K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">618K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java-jni_5.3.28-12+deb9u1_s390x.deb">libdb5.3-java-jni_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">641K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java_5.3.28+dfsg1-0.5_all.deb">libdb5.3-java_5.3.28+dfsg1-0.5_all.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">575K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java_5.3.28+dfsg1-0.6_all.deb">libdb5.3-java_5.3.28+dfsg1-0.6_all.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">575K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java_5.3.28-9+deb8u1_all.deb">libdb5.3-java_5.3.28-9+deb8u1_all.deb</a></td><td align="right">2017-11-18 20:15  </td><td align="right">543K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-java_5.3.28-12+deb9u1_all.deb">libdb5.3-java_5.3.28-12+deb9u1_all.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">548K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">968K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">901K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">929K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">938K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">968K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">901K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">929K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-sql-dev_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">938K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-sql-dev_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-sql-dev_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">869K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-sql-dev_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">906K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-sql-dev_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">891K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">910K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">929K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">939K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-sql-dev_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">965K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">885K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">808K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">737K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">766K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">963K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">777K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">789K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">788K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">928K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-sql_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">794K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">883K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">808K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">739K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">766K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">963K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">789K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">788K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">927K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-sql_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">794K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-9+deb8u1_amd64.deb">libdb5.3-sql_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">882K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-9+deb8u1_armel.deb">libdb5.3-sql_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">742K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-9+deb8u1_armhf.deb">libdb5.3-sql_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-9+deb8u1_i386.deb">libdb5.3-sql_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">954K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_amd64.deb">libdb5.3-sql_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">879K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_arm64.deb">libdb5.3-sql_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">733K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_armel.deb">libdb5.3-sql_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">737K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_armhf.deb">libdb5.3-sql_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">766K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_i386.deb">libdb5.3-sql_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">958K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_mips.deb">libdb5.3-sql_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">776K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-sql_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">786K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-sql_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">788K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-sql_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">786K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-sql_5.3.28-12+deb9u1_s390x.deb">libdb5.3-sql_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">817K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">842K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">804K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">751K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">927K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">856K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">885K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">874K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">900K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">773K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">842K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">804K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">751K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">927K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">886K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">874K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">900K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-stl-dev_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-9+deb8u1_amd64.deb">libdb5.3-stl-dev_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">826K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-9+deb8u1_armel.deb">libdb5.3-stl-dev_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">727K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-9+deb8u1_armhf.deb">libdb5.3-stl-dev_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">757K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-9+deb8u1_i386.deb">libdb5.3-stl-dev_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">868K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_amd64.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">838K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_arm64.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">745K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_armel.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">759K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_armhf.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">773K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_i386.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">920K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_mips.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">852K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">880K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">870K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">783K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl-dev_5.3.28-12+deb9u1_s390x.deb">libdb5.3-stl-dev_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">795K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">711K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">650K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">592K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">618K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">779K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">614K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">623K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">623K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">746K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-stl_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">639K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">712K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">649K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">592K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">618K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">779K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">623K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">624K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">746K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-stl_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">639K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-9+deb8u1_amd64.deb">libdb5.3-stl_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">714K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-9+deb8u1_armel.deb">libdb5.3-stl_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">599K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-9+deb8u1_armhf.deb">libdb5.3-stl_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">627K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-9+deb8u1_i386.deb">libdb5.3-stl_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_amd64.deb">libdb5.3-stl_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">707K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_arm64.deb">libdb5.3-stl_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">594K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_armel.deb">libdb5.3-stl_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">591K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_armhf.deb">libdb5.3-stl_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">617K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_i386.deb">libdb5.3-stl_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">774K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_mips.deb">libdb5.3-stl_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">612K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-stl_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">620K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-stl_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">622K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-stl_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">639K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-stl_5.3.28-12+deb9u1_s390x.deb">libdb5.3-stl_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">657K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">954K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">894K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_armel.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">805K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">826K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_i386.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_mips.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">921K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">952K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">941K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3-tcl_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">854K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">954K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">894K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_armel.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">803K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">825K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_i386.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">952K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">942K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3-tcl_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">853K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-9+deb8u1_amd64.deb">libdb5.3-tcl_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">1.1M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-9+deb8u1_armel.deb">libdb5.3-tcl_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">971K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-9+deb8u1_armhf.deb">libdb5.3-tcl_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-9+deb8u1_i386.deb">libdb5.3-tcl_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">1.3M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_amd64.deb">libdb5.3-tcl_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">949K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_arm64.deb">libdb5.3-tcl_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">809K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_armel.deb">libdb5.3-tcl_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">808K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_armhf.deb">libdb5.3-tcl_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">823K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_i386.deb">libdb5.3-tcl_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">1.0M</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_mips.deb">libdb5.3-tcl_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">915K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_mips64el.deb">libdb5.3-tcl_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">943K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_mipsel.deb">libdb5.3-tcl_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">936K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3-tcl_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">871K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3-tcl_5.3.28-12+deb9u1_s390x.deb">libdb5.3-tcl_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">885K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_amd64.deb">libdb5.3_5.3.28+dfsg1-0.5_amd64.deb</a></td><td align="right">2019-02-26 10:11  </td><td align="right">667K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_arm64.deb">libdb5.3_5.3.28+dfsg1-0.5_arm64.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">607K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_armel.deb">libdb5.3_5.3.28+dfsg1-0.5_armel.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">558K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_armhf.deb">libdb5.3_5.3.28+dfsg1-0.5_armhf.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">583K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_i386.deb">libdb5.3_5.3.28+dfsg1-0.5_i386.deb</a></td><td align="right">2019-02-26 09:46  </td><td align="right">730K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_mips.deb">libdb5.3_5.3.28+dfsg1-0.5_mips.deb</a></td><td align="right">2019-02-26 10:57  </td><td align="right">575K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_mips64el.deb">libdb5.3_5.3.28+dfsg1-0.5_mips64el.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">583K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_mipsel.deb">libdb5.3_5.3.28+dfsg1-0.5_mipsel.deb</a></td><td align="right">2019-02-26 12:42  </td><td align="right">584K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_ppc64el.deb">libdb5.3_5.3.28+dfsg1-0.5_ppc64el.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">701K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.5_s390x.deb">libdb5.3_5.3.28+dfsg1-0.5_s390x.deb</a></td><td align="right">2019-02-26 09:56  </td><td align="right">599K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_amd64.deb">libdb5.3_5.3.28+dfsg1-0.6_amd64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">667K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_arm64.deb">libdb5.3_5.3.28+dfsg1-0.6_arm64.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">607K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_armel.deb">libdb5.3_5.3.28+dfsg1-0.6_armel.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">559K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_armhf.deb">libdb5.3_5.3.28+dfsg1-0.6_armhf.deb</a></td><td align="right">2019-03-12 06:14  </td><td align="right">583K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_i386.deb">libdb5.3_5.3.28+dfsg1-0.6_i386.deb</a></td><td align="right">2019-03-12 05:43  </td><td align="right">730K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_mips64el.deb">libdb5.3_5.3.28+dfsg1-0.6_mips64el.deb</a></td><td align="right">2019-03-12 06:29  </td><td align="right">583K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_mipsel.deb">libdb5.3_5.3.28+dfsg1-0.6_mipsel.deb</a></td><td align="right">2019-03-12 07:30  </td><td align="right">584K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_ppc64el.deb">libdb5.3_5.3.28+dfsg1-0.6_ppc64el.deb</a></td><td align="right">2019-03-12 05:28  </td><td align="right">701K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28+dfsg1-0.6_s390x.deb">libdb5.3_5.3.28+dfsg1-0.6_s390x.deb</a></td><td align="right">2019-03-12 05:13  </td><td align="right">598K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-9+deb8u1_amd64.deb">libdb5.3_5.3.28-9+deb8u1_amd64.deb</a></td><td align="right">2017-11-20 03:40  </td><td align="right">664K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-9+deb8u1_armel.deb">libdb5.3_5.3.28-9+deb8u1_armel.deb</a></td><td align="right">2017-11-20 04:26  </td><td align="right">561K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-9+deb8u1_armhf.deb">libdb5.3_5.3.28-9+deb8u1_armhf.deb</a></td><td align="right">2017-12-02 16:26  </td><td align="right">587K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-9+deb8u1_i386.deb">libdb5.3_5.3.28-9+deb8u1_i386.deb</a></td><td align="right">2017-11-20 03:25  </td><td align="right">721K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_amd64.deb">libdb5.3_5.3.28-12+deb9u1_amd64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">663K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_arm64.deb">libdb5.3_5.3.28-12+deb9u1_arm64.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">550K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_armel.deb">libdb5.3_5.3.28-12+deb9u1_armel.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">556K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_armhf.deb">libdb5.3_5.3.28-12+deb9u1_armhf.deb</a></td><td align="right">2017-09-28 10:28  </td><td align="right">581K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_i386.deb">libdb5.3_5.3.28-12+deb9u1_i386.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">725K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_mips.deb">libdb5.3_5.3.28-12+deb9u1_mips.deb</a></td><td align="right">2017-09-29 16:10  </td><td align="right">572K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_mips64el.deb">libdb5.3_5.3.28-12+deb9u1_mips64el.deb</a></td><td align="right">2017-09-28 11:29  </td><td align="right">579K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_mipsel.deb">libdb5.3_5.3.28-12+deb9u1_mipsel.deb</a></td><td align="right">2017-09-28 11:14  </td><td align="right">581K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_ppc64el.deb">libdb5.3_5.3.28-12+deb9u1_ppc64el.deb</a></td><td align="right">2017-09-28 09:27  </td><td align="right">594K</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="libdb5.3_5.3.28-12+deb9u1_s390x.deb">libdb5.3_5.3.28-12+deb9u1_s390x.deb</a></td><td align="right">2017-09-28 09:42  </td><td align="right">615K</td></tr>
+   <tr><th colspan="4"><hr></th></tr>
+</table>
+<address>Apache Server at ftp.debian.org Port 80</address>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html b/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html
new file mode 100644
index 0000000..b7bfb1e
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/downloads/enchant/1.6.0/index.html
@@ -0,0 +1,15 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /downloads/enchant/1.6.0</title>
+ </head>
+ <body>
+<h1>Index of /downloads/enchant/1.6.0</h1>
+<table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/downloads/enchant/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="MD5SUM">MD5SUM</a></td><td align="right">01-Apr-2010 23:03  </td><td align="right"> 55 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="enchant-1.6.0.tar.gz">enchant-1.6.0.tar.gz</a></td><td align="right">01-Apr-2010 23:02  </td><td align="right">593K</td><td>&nbsp;</td></tr>
+<tr><th colspan="5"><hr></th></tr>
+</table>
+<address>Apache/2.2.15 (Fedora) Server at www.abisource.com Port 443</address>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html
new file mode 100644
index 0000000..9ea077d
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v2.8/index.html
@@ -0,0 +1,774 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v2.8</title>
+ </head>
+ <body>
+<h1>Index of /files/v2.8</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="-*">-*</a></td><td align="right">2012-06-07 12:08  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.0">CMakeChangeLog-2.8.0</a></td><td align="right">2009-11-13 15:41  </td><td align="right"> 13K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.1">CMakeChangeLog-2.8.1</a></td><td align="right">2010-03-17 14:37  </td><td align="right"> 17K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.2">CMakeChangeLog-2.8.2</a></td><td align="right">2010-06-28 14:37  </td><td align="right"> 23K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.3">CMakeChangeLog-2.8.3</a></td><td align="right">2010-11-03 17:21  </td><td align="right"> 41K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.4">CMakeChangeLog-2.8.4</a></td><td align="right">2011-02-16 09:15  </td><td align="right"> 61K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.5">CMakeChangeLog-2.8.5</a></td><td align="right">2011-07-08 10:49  </td><td align="right"> 81K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.6">CMakeChangeLog-2.8.6</a></td><td align="right">2011-12-30 15:30  </td><td align="right">100K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.7">CMakeChangeLog-2.8.7</a></td><td align="right">2011-12-30 15:31  </td><td align="right">115K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.8">CMakeChangeLog-2.8.8</a></td><td align="right">2012-04-18 17:47  </td><td align="right">144K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.9">CMakeChangeLog-2.8.9</a></td><td align="right">2012-08-09 16:29  </td><td align="right">163K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.10">CMakeChangeLog-2.8.10</a></td><td align="right">2012-10-31 15:09  </td><td align="right">185K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.10.1">CMakeChangeLog-2.8.10.1</a></td><td align="right">2012-11-07 11:52  </td><td align="right">186K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.10.2">CMakeChangeLog-2.8.10.2</a></td><td align="right">2012-11-27 15:15  </td><td align="right">186K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.11">CMakeChangeLog-2.8.11</a></td><td align="right">2013-05-16 09:39  </td><td align="right">218K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.12">CMakeChangeLog-2.8.12</a></td><td align="right">2013-10-11 08:57  </td><td align="right">247K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeChangeLog-2.8.12.1">CMakeChangeLog-2.8.12.1</a></td><td align="right">2013-11-08 14:33  </td><td align="right">248K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="CMakeVS10FindMake.cmake">CMakeVS10FindMake.cmake</a></td><td align="right">2010-05-27 09:45  </td><td align="right">1.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-AIX-powerpc.sh">cmake-2.8.0-AIX-powerpc.sh</a></td><td align="right">2010-02-08 10:44  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-AIX-powerpc.tar.Z">cmake-2.8.0-AIX-powerpc.tar.Z</a></td><td align="right">2010-02-08 10:44  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-AIX-powerpc.tar.gz">cmake-2.8.0-AIX-powerpc.tar.gz</a></td><td align="right">2010-02-08 10:44  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-Darwin-universal.dmg">cmake-2.8.0-Darwin-universal.dmg</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-Darwin-universal.tar.Z">cmake-2.8.0-Darwin-universal.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-Darwin-universal.tar.gz">cmake-2.8.0-Darwin-universal.tar.gz</a></td><td align="right">2009-11-13 15:33  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-HP-UX-9000_785.sh">cmake-2.8.0-HP-UX-9000_785.sh</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-HP-UX-9000_785.tar.Z">cmake-2.8.0-HP-UX-9000_785.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-HP-UX-9000_785.tar.gz">cmake-2.8.0-HP-UX-9000_785.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-IRIX64-64.sh">cmake-2.8.0-IRIX64-64.sh</a></td><td align="right">2009-11-13 15:32  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-IRIX64-64.tar.Z">cmake-2.8.0-IRIX64-64.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-IRIX64-64.tar.gz">cmake-2.8.0-IRIX64-64.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-IRIX64-n32.sh">cmake-2.8.0-IRIX64-n32.sh</a></td><td align="right">2009-11-13 15:32  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-IRIX64-n32.tar.Z">cmake-2.8.0-IRIX64-n32.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-IRIX64-n32.tar.gz">cmake-2.8.0-IRIX64-n32.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-Linux-i386.sh">cmake-2.8.0-Linux-i386.sh</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-Linux-i386.tar.Z">cmake-2.8.0-Linux-i386.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-Linux-i386.tar.gz">cmake-2.8.0-Linux-i386.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.0-SunOS-sparc.sh">cmake-2.8.0-SunOS-sparc.sh</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-SunOS-sparc.tar.Z">cmake-2.8.0-SunOS-sparc.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-SunOS-sparc.tar.gz">cmake-2.8.0-SunOS-sparc.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-win32-x86.exe">cmake-2.8.0-win32-x86.exe</a></td><td align="right">2009-11-13 15:32  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0-win32-x86.zip">cmake-2.8.0-win32-x86.zip</a></td><td align="right">2009-11-13 15:32  </td><td align="right">9.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0.tar.Z">cmake-2.8.0.tar.Z</a></td><td align="right">2009-11-13 15:32  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0.tar.gz">cmake-2.8.0.tar.gz</a></td><td align="right">2009-11-13 15:32  </td><td align="right">3.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.0.zip">cmake-2.8.0.zip</a></td><td align="right">2009-11-13 15:32  </td><td align="right">4.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-AIX-powerpc.sh">cmake-2.8.1-AIX-powerpc.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-AIX-powerpc.tar.Z">cmake-2.8.1-AIX-powerpc.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-AIX-powerpc.tar.gz">cmake-2.8.1-AIX-powerpc.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-Darwin-universal.dmg">cmake-2.8.1-Darwin-universal.dmg</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-Darwin-universal.tar.Z">cmake-2.8.1-Darwin-universal.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-Darwin-universal.tar.gz">cmake-2.8.1-Darwin-universal.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-HP-UX-9000_785.sh">cmake-2.8.1-HP-UX-9000_785.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-HP-UX-9000_785.tar.Z">cmake-2.8.1-HP-UX-9000_785.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-HP-UX-9000_785.tar.gz">cmake-2.8.1-HP-UX-9000_785.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-IRIX64-64.sh">cmake-2.8.1-IRIX64-64.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-IRIX64-64.tar.Z">cmake-2.8.1-IRIX64-64.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-IRIX64-64.tar.gz">cmake-2.8.1-IRIX64-64.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-IRIX64-n32.sh">cmake-2.8.1-IRIX64-n32.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-IRIX64-n32.tar.Z">cmake-2.8.1-IRIX64-n32.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-IRIX64-n32.tar.gz">cmake-2.8.1-IRIX64-n32.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-Linux-i386.sh">cmake-2.8.1-Linux-i386.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-Linux-i386.tar.Z">cmake-2.8.1-Linux-i386.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-Linux-i386.tar.gz">cmake-2.8.1-Linux-i386.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.1-SunOS-sparc.sh">cmake-2.8.1-SunOS-sparc.sh</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-SunOS-sparc.tar.Z">cmake-2.8.1-SunOS-sparc.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-SunOS-sparc.tar.gz">cmake-2.8.1-SunOS-sparc.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-win32-x86.exe">cmake-2.8.1-win32-x86.exe</a></td><td align="right">2010-04-06 14:37  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1-win32-x86.zip">cmake-2.8.1-win32-x86.zip</a></td><td align="right">2010-04-06 14:37  </td><td align="right">9.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1.tar.Z">cmake-2.8.1.tar.Z</a></td><td align="right">2010-04-06 14:37  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1.tar.gz">cmake-2.8.1.tar.gz</a></td><td align="right">2010-04-06 14:37  </td><td align="right">3.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.1.zip">cmake-2.8.1.zip</a></td><td align="right">2010-04-06 14:37  </td><td align="right">4.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-AIX-powerpc.sh">cmake-2.8.2-AIX-powerpc.sh</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-AIX-powerpc.tar.Z">cmake-2.8.2-AIX-powerpc.tar.Z</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-AIX-powerpc.tar.gz">cmake-2.8.2-AIX-powerpc.tar.gz</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-Darwin-universal.dmg">cmake-2.8.2-Darwin-universal.dmg</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-Darwin-universal.tar.Z">cmake-2.8.2-Darwin-universal.tar.Z</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-Darwin-universal.tar.gz">cmake-2.8.2-Darwin-universal.tar.gz</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-HP-UX-9000_785.sh">cmake-2.8.2-HP-UX-9000_785.sh</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-HP-UX-9000_785.tar.Z">cmake-2.8.2-HP-UX-9000_785.tar.Z</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-HP-UX-9000_785.tar.gz">cmake-2.8.2-HP-UX-9000_785.tar.gz</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-IRIX64-64.sh">cmake-2.8.2-IRIX64-64.sh</a></td><td align="right">2010-06-28 14:10  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-IRIX64-64.tar.Z">cmake-2.8.2-IRIX64-64.tar.Z</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-IRIX64-64.tar.gz">cmake-2.8.2-IRIX64-64.tar.gz</a></td><td align="right">2010-06-28 14:10  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-IRIX64-n32.sh">cmake-2.8.2-IRIX64-n32.sh</a></td><td align="right">2010-06-28 14:10  </td><td align="right">9.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-IRIX64-n32.tar.Z">cmake-2.8.2-IRIX64-n32.tar.Z</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-IRIX64-n32.tar.gz">cmake-2.8.2-IRIX64-n32.tar.gz</a></td><td align="right">2010-06-28 14:10  </td><td align="right">9.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-Linux-i386.sh">cmake-2.8.2-Linux-i386.sh</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-Linux-i386.tar.Z">cmake-2.8.2-Linux-i386.tar.Z</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-Linux-i386.tar.gz">cmake-2.8.2-Linux-i386.tar.gz</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.2-SunOS-sparc.sh">cmake-2.8.2-SunOS-sparc.sh</a></td><td align="right">2010-06-28 14:09  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-SunOS-sparc.tar.Z">cmake-2.8.2-SunOS-sparc.tar.Z</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-SunOS-sparc.tar.gz">cmake-2.8.2-SunOS-sparc.tar.gz</a></td><td align="right">2010-06-28 14:10  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-win32-x86.exe">cmake-2.8.2-win32-x86.exe</a></td><td align="right">2010-06-28 14:09  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2-win32-x86.zip">cmake-2.8.2-win32-x86.zip</a></td><td align="right">2010-06-28 14:09  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2.tar.Z">cmake-2.8.2.tar.Z</a></td><td align="right">2010-06-28 14:10  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2.tar.gz">cmake-2.8.2.tar.gz</a></td><td align="right">2010-06-28 14:09  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.2.zip">cmake-2.8.2.zip</a></td><td align="right">2010-06-28 14:10  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.3-AIX-powerpc.sh">cmake-2.8.3-AIX-powerpc.sh</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-AIX-powerpc.tar.Z">cmake-2.8.3-AIX-powerpc.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-AIX-powerpc.tar.gz">cmake-2.8.3-AIX-powerpc.tar.gz</a></td><td align="right">2010-11-03 17:10  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-Darwin-universal.dmg">cmake-2.8.3-Darwin-universal.dmg</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-Darwin-universal.tar.Z">cmake-2.8.3-Darwin-universal.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-Darwin-universal.tar.gz">cmake-2.8.3-Darwin-universal.tar.gz</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.3-IRIX64-64.sh">cmake-2.8.3-IRIX64-64.sh</a></td><td align="right">2010-11-03 17:11  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-IRIX64-64.tar.Z">cmake-2.8.3-IRIX64-64.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-IRIX64-64.tar.gz">cmake-2.8.3-IRIX64-64.tar.gz</a></td><td align="right">2010-11-03 17:11  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.3-IRIX64-n32.sh">cmake-2.8.3-IRIX64-n32.sh</a></td><td align="right">2010-11-03 17:10  </td><td align="right">9.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-IRIX64-n32.tar.Z">cmake-2.8.3-IRIX64-n32.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-IRIX64-n32.tar.gz">cmake-2.8.3-IRIX64-n32.tar.gz</a></td><td align="right">2010-11-03 17:10  </td><td align="right">9.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.3-Linux-i386.sh">cmake-2.8.3-Linux-i386.sh</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-Linux-i386.tar.Z">cmake-2.8.3-Linux-i386.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-Linux-i386.tar.gz">cmake-2.8.3-Linux-i386.tar.gz</a></td><td align="right">2010-11-03 17:10  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.3-SunOS-sparc.sh">cmake-2.8.3-SunOS-sparc.sh</a></td><td align="right">2010-11-03 17:10  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-SunOS-sparc.tar.Z">cmake-2.8.3-SunOS-sparc.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-SunOS-sparc.tar.gz">cmake-2.8.3-SunOS-sparc.tar.gz</a></td><td align="right">2010-11-03 17:11  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-win32-x86.exe">cmake-2.8.3-win32-x86.exe</a></td><td align="right">2010-11-03 17:11  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3-win32-x86.zip">cmake-2.8.3-win32-x86.zip</a></td><td align="right">2010-11-03 17:11  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3.tar.Z">cmake-2.8.3.tar.Z</a></td><td align="right">2010-11-03 17:11  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3.tar.gz">cmake-2.8.3.tar.gz</a></td><td align="right">2010-11-03 17:11  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.3.zip">cmake-2.8.3.zip</a></td><td align="right">2010-11-03 17:11  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.4-AIX-powerpc.sh">cmake-2.8.4-AIX-powerpc.sh</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-AIX-powerpc.tar.Z">cmake-2.8.4-AIX-powerpc.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-AIX-powerpc.tar.gz">cmake-2.8.4-AIX-powerpc.tar.gz</a></td><td align="right">2011-02-15 15:53  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-Darwin-universal.dmg">cmake-2.8.4-Darwin-universal.dmg</a></td><td align="right">2011-02-15 15:53  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-Darwin-universal.tar.Z">cmake-2.8.4-Darwin-universal.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-Darwin-universal.tar.gz">cmake-2.8.4-Darwin-universal.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.4-IRIX64-64.sh">cmake-2.8.4-IRIX64-64.sh</a></td><td align="right">2011-02-15 15:53  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-IRIX64-64.tar.Z">cmake-2.8.4-IRIX64-64.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-IRIX64-64.tar.gz">cmake-2.8.4-IRIX64-64.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.4-IRIX64-n32.sh">cmake-2.8.4-IRIX64-n32.sh</a></td><td align="right">2011-02-15 15:53  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-IRIX64-n32.tar.Z">cmake-2.8.4-IRIX64-n32.tar.Z</a></td><td align="right">2011-02-15 15:55  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-IRIX64-n32.tar.gz">cmake-2.8.4-IRIX64-n32.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.4-Linux-i386.sh">cmake-2.8.4-Linux-i386.sh</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-Linux-i386.tar.Z">cmake-2.8.4-Linux-i386.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-Linux-i386.tar.gz">cmake-2.8.4-Linux-i386.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.4-SunOS-sparc.sh">cmake-2.8.4-SunOS-sparc.sh</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-SunOS-sparc.tar.Z">cmake-2.8.4-SunOS-sparc.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-SunOS-sparc.tar.gz">cmake-2.8.4-SunOS-sparc.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-win32-x86.exe">cmake-2.8.4-win32-x86.exe</a></td><td align="right">2011-02-15 15:54  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4-win32-x86.zip">cmake-2.8.4-win32-x86.zip</a></td><td align="right">2011-02-15 15:54  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4.tar.Z">cmake-2.8.4.tar.Z</a></td><td align="right">2011-02-15 15:54  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4.tar.gz">cmake-2.8.4.tar.gz</a></td><td align="right">2011-02-15 15:54  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.4.zip">cmake-2.8.4.zip</a></td><td align="right">2011-02-15 15:54  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-1-src.tar.bz2">cmake-2.8.5-1-src.tar.bz2</a></td><td align="right">2011-07-08 10:34  </td><td align="right">4.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-1.tar.bz2">cmake-2.8.5-1.tar.bz2</a></td><td align="right">2011-07-08 10:34  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.5-AIX-powerpc.sh">cmake-2.8.5-AIX-powerpc.sh</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-AIX-powerpc.tar.Z">cmake-2.8.5-AIX-powerpc.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-AIX-powerpc.tar.gz">cmake-2.8.5-AIX-powerpc.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-Darwin-universal.dmg">cmake-2.8.5-Darwin-universal.dmg</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-Darwin-universal.tar.Z">cmake-2.8.5-Darwin-universal.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-Darwin-universal.tar.gz">cmake-2.8.5-Darwin-universal.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.5-IRIX64-64.sh">cmake-2.8.5-IRIX64-64.sh</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-IRIX64-64.tar.Z">cmake-2.8.5-IRIX64-64.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-IRIX64-64.tar.gz">cmake-2.8.5-IRIX64-64.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.5-IRIX64-n32.sh">cmake-2.8.5-IRIX64-n32.sh</a></td><td align="right">2011-07-08 10:34  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-IRIX64-n32.tar.Z">cmake-2.8.5-IRIX64-n32.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-IRIX64-n32.tar.gz">cmake-2.8.5-IRIX64-n32.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.5-Linux-i386.sh">cmake-2.8.5-Linux-i386.sh</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-Linux-i386.tar.Z">cmake-2.8.5-Linux-i386.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-Linux-i386.tar.gz">cmake-2.8.5-Linux-i386.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.5-SunOS-sparc.sh">cmake-2.8.5-SunOS-sparc.sh</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-SunOS-sparc.tar.Z">cmake-2.8.5-SunOS-sparc.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-SunOS-sparc.tar.gz">cmake-2.8.5-SunOS-sparc.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-win32-x86.exe">cmake-2.8.5-win32-x86.exe</a></td><td align="right">2011-07-08 10:34  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5-win32-x86.zip">cmake-2.8.5-win32-x86.zip</a></td><td align="right">2011-07-08 10:34  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5.tar.Z">cmake-2.8.5.tar.Z</a></td><td align="right">2011-07-08 10:34  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5.tar.gz">cmake-2.8.5.tar.gz</a></td><td align="right">2011-07-08 10:34  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.5.zip">cmake-2.8.5.zip</a></td><td align="right">2011-07-08 10:34  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-1-src.tar.bz2">cmake-2.8.6-1-src.tar.bz2</a></td><td align="right">2011-10-04 13:59  </td><td align="right">4.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-1.tar.bz2">cmake-2.8.6-1.tar.bz2</a></td><td align="right">2011-10-04 13:59  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.6-AIX-powerpc.sh">cmake-2.8.6-AIX-powerpc.sh</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-AIX-powerpc.tar.Z">cmake-2.8.6-AIX-powerpc.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-AIX-powerpc.tar.gz">cmake-2.8.6-AIX-powerpc.tar.gz</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin-universal.dmg">cmake-2.8.6-Darwin-universal.dmg</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin-universal.tar.Z">cmake-2.8.6-Darwin-universal.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin-universal.tar.gz">cmake-2.8.6-Darwin-universal.tar.gz</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin64-universal.dmg">cmake-2.8.6-Darwin64-universal.dmg</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin64-universal.tar.Z">cmake-2.8.6-Darwin64-universal.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Darwin64-universal.tar.gz">cmake-2.8.6-Darwin64-universal.tar.gz</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.6-IRIX64-64.sh">cmake-2.8.6-IRIX64-64.sh</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-IRIX64-64.tar.Z">cmake-2.8.6-IRIX64-64.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-IRIX64-64.tar.gz">cmake-2.8.6-IRIX64-64.tar.gz</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.6-IRIX64-n32.sh">cmake-2.8.6-IRIX64-n32.sh</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-IRIX64-n32.tar.Z">cmake-2.8.6-IRIX64-n32.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-IRIX64-n32.tar.gz">cmake-2.8.6-IRIX64-n32.tar.gz</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.6-Linux-i386.sh">cmake-2.8.6-Linux-i386.sh</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Linux-i386.tar.Z">cmake-2.8.6-Linux-i386.tar.Z</a></td><td align="right">2011-10-04 13:59  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-Linux-i386.tar.gz">cmake-2.8.6-Linux-i386.tar.gz</a></td><td align="right">2011-10-04 13:58  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-win32-x86.exe">cmake-2.8.6-win32-x86.exe</a></td><td align="right">2011-10-04 13:58  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6-win32-x86.zip">cmake-2.8.6-win32-x86.zip</a></td><td align="right">2011-10-04 13:58  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6.tar.Z">cmake-2.8.6.tar.Z</a></td><td align="right">2011-10-04 13:58  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6.tar.gz">cmake-2.8.6.tar.gz</a></td><td align="right">2011-10-04 13:58  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.6.zip">cmake-2.8.6.zip</a></td><td align="right">2011-10-04 13:58  </td><td align="right">7.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-1-src.tar.bz2">cmake-2.8.7-1-src.tar.bz2</a></td><td align="right">2011-12-30 14:14  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-1.tar.bz2">cmake-2.8.7-1.tar.bz2</a></td><td align="right">2011-12-30 14:14  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.7-AIX-powerpc.sh">cmake-2.8.7-AIX-powerpc.sh</a></td><td align="right">2012-01-03 16:51  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-AIX-powerpc.tar.Z">cmake-2.8.7-AIX-powerpc.tar.Z</a></td><td align="right">2012-01-03 16:51  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-AIX-powerpc.tar.gz">cmake-2.8.7-AIX-powerpc.tar.gz</a></td><td align="right">2012-01-03 16:51  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin-universal.dmg">cmake-2.8.7-Darwin-universal.dmg</a></td><td align="right">2011-12-30 14:14  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin-universal.tar.Z">cmake-2.8.7-Darwin-universal.tar.Z</a></td><td align="right">2011-12-30 14:14  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin-universal.tar.gz">cmake-2.8.7-Darwin-universal.tar.gz</a></td><td align="right">2011-12-30 14:14  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin64-universal.dmg">cmake-2.8.7-Darwin64-universal.dmg</a></td><td align="right">2011-12-30 14:14  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin64-universal.tar.Z">cmake-2.8.7-Darwin64-universal.tar.Z</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Darwin64-universal.tar.gz">cmake-2.8.7-Darwin64-universal.tar.gz</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.7-IRIX64-64.sh">cmake-2.8.7-IRIX64-64.sh</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-IRIX64-64.tar.Z">cmake-2.8.7-IRIX64-64.tar.Z</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-IRIX64-64.tar.gz">cmake-2.8.7-IRIX64-64.tar.gz</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.7-IRIX64-n32.sh">cmake-2.8.7-IRIX64-n32.sh</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-IRIX64-n32.tar.Z">cmake-2.8.7-IRIX64-n32.tar.Z</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-IRIX64-n32.tar.gz">cmake-2.8.7-IRIX64-n32.tar.gz</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.7-Linux-i386.sh">cmake-2.8.7-Linux-i386.sh</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Linux-i386.tar.Z">cmake-2.8.7-Linux-i386.tar.Z</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-Linux-i386.tar.gz">cmake-2.8.7-Linux-i386.tar.gz</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-win32-x86.exe">cmake-2.8.7-win32-x86.exe</a></td><td align="right">2011-12-30 14:13  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7-win32-x86.zip">cmake-2.8.7-win32-x86.zip</a></td><td align="right">2011-12-30 14:13  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7.tar.Z">cmake-2.8.7.tar.Z</a></td><td align="right">2011-12-30 14:13  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7.tar.gz">cmake-2.8.7.tar.gz</a></td><td align="right">2011-12-30 14:13  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.7.zip">cmake-2.8.7.zip</a></td><td align="right">2011-12-30 14:13  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-AIX-powerpc.sh">cmake-2.8.8-AIX-powerpc.sh</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-AIX-powerpc.tar.Z">cmake-2.8.8-AIX-powerpc.tar.Z</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-AIX-powerpc.tar.gz">cmake-2.8.8-AIX-powerpc.tar.gz</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin-universal.dmg">cmake-2.8.8-Darwin-universal.dmg</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin-universal.tar.Z">cmake-2.8.8-Darwin-universal.tar.Z</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 49M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin-universal.tar.gz">cmake-2.8.8-Darwin-universal.tar.gz</a></td><td align="right">2012-04-18 15:23  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin64-universal.dmg">cmake-2.8.8-Darwin64-universal.dmg</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin64-universal.tar.Z">cmake-2.8.8-Darwin64-universal.tar.Z</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Darwin64-universal.tar.gz">cmake-2.8.8-Darwin64-universal.tar.gz</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-IRIX64-64.sh">cmake-2.8.8-IRIX64-64.sh</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-IRIX64-64.tar.Z">cmake-2.8.8-IRIX64-64.tar.Z</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-IRIX64-64.tar.gz">cmake-2.8.8-IRIX64-64.tar.gz</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-IRIX64-n32.sh">cmake-2.8.8-IRIX64-n32.sh</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-IRIX64-n32.tar.Z">cmake-2.8.8-IRIX64-n32.tar.Z</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-IRIX64-n32.tar.gz">cmake-2.8.8-IRIX64-n32.tar.gz</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-Linux-i386.sh">cmake-2.8.8-Linux-i386.sh</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Linux-i386.tar.Z">cmake-2.8.8-Linux-i386.tar.Z</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-Linux-i386.tar.gz">cmake-2.8.8-Linux-i386.tar.gz</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-SHA-256.txt">cmake-2.8.8-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.1K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.8-SHA-256.txt.asc">cmake-2.8.8-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-win32-x86.exe">cmake-2.8.8-win32-x86.exe</a></td><td align="right">2012-04-18 15:22  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8-win32-x86.zip">cmake-2.8.8-win32-x86.zip</a></td><td align="right">2012-04-18 15:22  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8.tar.Z">cmake-2.8.8.tar.Z</a></td><td align="right">2012-04-18 15:22  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8.tar.gz">cmake-2.8.8.tar.gz</a></td><td align="right">2012-04-18 15:22  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.8.zip">cmake-2.8.8.zip</a></td><td align="right">2012-04-18 15:22  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-AIX-powerpc.sh">cmake-2.8.9-AIX-powerpc.sh</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-AIX-powerpc.tar.Z">cmake-2.8.9-AIX-powerpc.tar.Z</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-AIX-powerpc.tar.gz">cmake-2.8.9-AIX-powerpc.tar.gz</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin-universal.dmg">cmake-2.8.9-Darwin-universal.dmg</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin-universal.tar.Z">cmake-2.8.9-Darwin-universal.tar.Z</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 50M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin-universal.tar.gz">cmake-2.8.9-Darwin-universal.tar.gz</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin64-universal.dmg">cmake-2.8.9-Darwin64-universal.dmg</a></td><td align="right">2012-08-09 15:36  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin64-universal.tar.Z">cmake-2.8.9-Darwin64-universal.tar.Z</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Darwin64-universal.tar.gz">cmake-2.8.9-Darwin64-universal.tar.gz</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-IRIX64-64.sh">cmake-2.8.9-IRIX64-64.sh</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-IRIX64-64.tar.Z">cmake-2.8.9-IRIX64-64.tar.Z</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-IRIX64-64.tar.gz">cmake-2.8.9-IRIX64-64.tar.gz</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-IRIX64-n32.sh">cmake-2.8.9-IRIX64-n32.sh</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-IRIX64-n32.tar.Z">cmake-2.8.9-IRIX64-n32.tar.Z</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-IRIX64-n32.tar.gz">cmake-2.8.9-IRIX64-n32.tar.gz</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-Linux-i386.sh">cmake-2.8.9-Linux-i386.sh</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Linux-i386.tar.Z">cmake-2.8.9-Linux-i386.tar.Z</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-Linux-i386.tar.gz">cmake-2.8.9-Linux-i386.tar.gz</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-SHA-256.txt">cmake-2.8.9-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.1K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.9-SHA-256.txt.asc">cmake-2.8.9-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-win32-x86.exe">cmake-2.8.9-win32-x86.exe</a></td><td align="right">2012-08-09 15:35  </td><td align="right">8.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9-win32-x86.zip">cmake-2.8.9-win32-x86.zip</a></td><td align="right">2012-08-09 15:35  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9.tar.Z">cmake-2.8.9.tar.Z</a></td><td align="right">2012-08-09 15:35  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9.tar.gz">cmake-2.8.9.tar.gz</a></td><td align="right">2012-08-09 15:35  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.9.zip">cmake-2.8.9.zip</a></td><td align="right">2012-08-09 15:35  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-AIX-powerpc.sh">cmake-2.8.10-AIX-powerpc.sh</a></td><td align="right">2012-10-31 13:05  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-AIX-powerpc.tar.Z">cmake-2.8.10-AIX-powerpc.tar.Z</a></td><td align="right">2012-10-31 13:05  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-AIX-powerpc.tar.gz">cmake-2.8.10-AIX-powerpc.tar.gz</a></td><td align="right">2012-10-31 13:05  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin-universal.dmg">cmake-2.8.10-Darwin-universal.dmg</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin-universal.tar.Z">cmake-2.8.10-Darwin-universal.tar.Z</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin-universal.tar.gz">cmake-2.8.10-Darwin-universal.tar.gz</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin64-universal.dmg">cmake-2.8.10-Darwin64-universal.dmg</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin64-universal.tar.Z">cmake-2.8.10-Darwin64-universal.tar.Z</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Darwin64-universal.tar.gz">cmake-2.8.10-Darwin64-universal.tar.gz</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-IRIX64-64.sh">cmake-2.8.10-IRIX64-64.sh</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-IRIX64-64.tar.Z">cmake-2.8.10-IRIX64-64.tar.Z</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-IRIX64-64.tar.gz">cmake-2.8.10-IRIX64-64.tar.gz</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-IRIX64-n32.sh">cmake-2.8.10-IRIX64-n32.sh</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-IRIX64-n32.tar.Z">cmake-2.8.10-IRIX64-n32.tar.Z</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-IRIX64-n32.tar.gz">cmake-2.8.10-IRIX64-n32.tar.gz</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-Linux-i386.sh">cmake-2.8.10-Linux-i386.sh</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Linux-i386.tar.Z">cmake-2.8.10-Linux-i386.tar.Z</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-Linux-i386.tar.gz">cmake-2.8.10-Linux-i386.tar.gz</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-SHA-256.txt">cmake-2.8.10-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.1K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-SHA-256.txt.asc">cmake-2.8.10-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-AIX-powerpc.sh">cmake-2.8.10-rc1-AIX-powerpc.sh</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-AIX-powerpc.tar.Z">cmake-2.8.10-rc1-AIX-powerpc.tar.Z</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-AIX-powerpc.tar.gz">cmake-2.8.10-rc1-AIX-powerpc.tar.gz</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin-universal.dmg">cmake-2.8.10-rc1-Darwin-universal.dmg</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin-universal.tar.Z">cmake-2.8.10-rc1-Darwin-universal.tar.Z</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin-universal.tar.gz">cmake-2.8.10-rc1-Darwin-universal.tar.gz</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin64-universal.dmg">cmake-2.8.10-rc1-Darwin64-universal.dmg</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin64-universal.tar.Z">cmake-2.8.10-rc1-Darwin64-universal.tar.Z</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Darwin64-universal.tar.gz">cmake-2.8.10-rc1-Darwin64-universal.tar.gz</a></td><td align="right">2012-10-02 13:28  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-64.sh">cmake-2.8.10-rc1-IRIX64-64.sh</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-64.tar.Z">cmake-2.8.10-rc1-IRIX64-64.tar.Z</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-64.tar.gz">cmake-2.8.10-rc1-IRIX64-64.tar.gz</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-n32.sh">cmake-2.8.10-rc1-IRIX64-n32.sh</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-n32.tar.Z">cmake-2.8.10-rc1-IRIX64-n32.tar.Z</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-IRIX64-n32.tar.gz">cmake-2.8.10-rc1-IRIX64-n32.tar.gz</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-Linux-i386.sh">cmake-2.8.10-rc1-Linux-i386.sh</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Linux-i386.tar.Z">cmake-2.8.10-rc1-Linux-i386.tar.Z</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-Linux-i386.tar.gz">cmake-2.8.10-rc1-Linux-i386.tar.gz</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-SHA-256.txt">cmake-2.8.10-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc1-SHA-256.txt.asc">cmake-2.8.10-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-win32-x86.exe">cmake-2.8.10-rc1-win32-x86.exe</a></td><td align="right">2012-10-02 13:27  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1-win32-x86.zip">cmake-2.8.10-rc1-win32-x86.zip</a></td><td align="right">2012-10-02 13:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1.tar.Z">cmake-2.8.10-rc1.tar.Z</a></td><td align="right">2012-10-02 13:27  </td><td align="right">8.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1.tar.gz">cmake-2.8.10-rc1.tar.gz</a></td><td align="right">2012-10-02 13:27  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc1.zip">cmake-2.8.10-rc1.zip</a></td><td align="right">2012-10-02 13:27  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-AIX-powerpc.sh">cmake-2.8.10-rc2-AIX-powerpc.sh</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-AIX-powerpc.tar.Z">cmake-2.8.10-rc2-AIX-powerpc.tar.Z</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-AIX-powerpc.tar.gz">cmake-2.8.10-rc2-AIX-powerpc.tar.gz</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin-universal.dmg">cmake-2.8.10-rc2-Darwin-universal.dmg</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin-universal.tar.Z">cmake-2.8.10-rc2-Darwin-universal.tar.Z</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin-universal.tar.gz">cmake-2.8.10-rc2-Darwin-universal.tar.gz</a></td><td align="right">2012-10-19 09:26  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin64-universal.dmg">cmake-2.8.10-rc2-Darwin64-universal.dmg</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin64-universal.tar.Z">cmake-2.8.10-rc2-Darwin64-universal.tar.Z</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Darwin64-universal.tar.gz">cmake-2.8.10-rc2-Darwin64-universal.tar.gz</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-64.sh">cmake-2.8.10-rc2-IRIX64-64.sh</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-64.tar.Z">cmake-2.8.10-rc2-IRIX64-64.tar.Z</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-64.tar.gz">cmake-2.8.10-rc2-IRIX64-64.tar.gz</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-n32.sh">cmake-2.8.10-rc2-IRIX64-n32.sh</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-n32.tar.Z">cmake-2.8.10-rc2-IRIX64-n32.tar.Z</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-IRIX64-n32.tar.gz">cmake-2.8.10-rc2-IRIX64-n32.tar.gz</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-Linux-i386.sh">cmake-2.8.10-rc2-Linux-i386.sh</a></td><td align="right">2012-10-19 09:25  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Linux-i386.tar.Z">cmake-2.8.10-rc2-Linux-i386.tar.Z</a></td><td align="right">2012-10-19 09:24  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-Linux-i386.tar.gz">cmake-2.8.10-rc2-Linux-i386.tar.gz</a></td><td align="right">2012-10-19 09:24  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-SHA-256.txt">cmake-2.8.10-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc2-SHA-256.txt.asc">cmake-2.8.10-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-win32-x86.exe">cmake-2.8.10-rc2-win32-x86.exe</a></td><td align="right">2012-10-19 09:24  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2-win32-x86.zip">cmake-2.8.10-rc2-win32-x86.zip</a></td><td align="right">2012-10-19 09:24  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2.tar.Z">cmake-2.8.10-rc2.tar.Z</a></td><td align="right">2012-10-19 09:24  </td><td align="right">8.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2.tar.gz">cmake-2.8.10-rc2.tar.gz</a></td><td align="right">2012-10-19 09:24  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc2.zip">cmake-2.8.10-rc2.zip</a></td><td align="right">2012-10-19 09:24  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-AIX-powerpc.sh">cmake-2.8.10-rc3-AIX-powerpc.sh</a></td><td align="right">2012-10-24 15:11  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-AIX-powerpc.tar.Z">cmake-2.8.10-rc3-AIX-powerpc.tar.Z</a></td><td align="right">2012-10-24 15:11  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-AIX-powerpc.tar.gz">cmake-2.8.10-rc3-AIX-powerpc.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin-universal.dmg">cmake-2.8.10-rc3-Darwin-universal.dmg</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin-universal.tar.Z">cmake-2.8.10-rc3-Darwin-universal.tar.Z</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin-universal.tar.gz">cmake-2.8.10-rc3-Darwin-universal.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin64-universal.dmg">cmake-2.8.10-rc3-Darwin64-universal.dmg</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin64-universal.tar.Z">cmake-2.8.10-rc3-Darwin64-universal.tar.Z</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Darwin64-universal.tar.gz">cmake-2.8.10-rc3-Darwin64-universal.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-64.sh">cmake-2.8.10-rc3-IRIX64-64.sh</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-64.tar.Z">cmake-2.8.10-rc3-IRIX64-64.tar.Z</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-64.tar.gz">cmake-2.8.10-rc3-IRIX64-64.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-n32.sh">cmake-2.8.10-rc3-IRIX64-n32.sh</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-n32.tar.Z">cmake-2.8.10-rc3-IRIX64-n32.tar.Z</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-IRIX64-n32.tar.gz">cmake-2.8.10-rc3-IRIX64-n32.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-Linux-i386.sh">cmake-2.8.10-rc3-Linux-i386.sh</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Linux-i386.tar.Z">cmake-2.8.10-rc3-Linux-i386.tar.Z</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-Linux-i386.tar.gz">cmake-2.8.10-rc3-Linux-i386.tar.gz</a></td><td align="right">2012-10-24 15:10  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-SHA-256.txt">cmake-2.8.10-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10-rc3-SHA-256.txt.asc">cmake-2.8.10-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-win32-x86.exe">cmake-2.8.10-rc3-win32-x86.exe</a></td><td align="right">2012-10-24 15:10  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3-win32-x86.zip">cmake-2.8.10-rc3-win32-x86.zip</a></td><td align="right">2012-10-24 15:09  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3.tar.Z">cmake-2.8.10-rc3.tar.Z</a></td><td align="right">2012-10-24 15:09  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3.tar.gz">cmake-2.8.10-rc3.tar.gz</a></td><td align="right">2012-10-24 15:09  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-rc3.zip">cmake-2.8.10-rc3.zip</a></td><td align="right">2012-10-24 15:09  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-win32-x86.exe">cmake-2.8.10-win32-x86.exe</a></td><td align="right">2012-10-31 13:04  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10-win32-x86.zip">cmake-2.8.10-win32-x86.zip</a></td><td align="right">2012-10-31 13:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-AIX-powerpc.sh">cmake-2.8.10.1-AIX-powerpc.sh</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-AIX-powerpc.tar.Z">cmake-2.8.10.1-AIX-powerpc.tar.Z</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-AIX-powerpc.tar.gz">cmake-2.8.10.1-AIX-powerpc.tar.gz</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin-universal.dmg">cmake-2.8.10.1-Darwin-universal.dmg</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin-universal.tar.Z">cmake-2.8.10.1-Darwin-universal.tar.Z</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin-universal.tar.gz">cmake-2.8.10.1-Darwin-universal.tar.gz</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin64-universal.dmg">cmake-2.8.10.1-Darwin64-universal.dmg</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin64-universal.tar.Z">cmake-2.8.10.1-Darwin64-universal.tar.Z</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Darwin64-universal.tar.gz">cmake-2.8.10.1-Darwin64-universal.tar.gz</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-IRIX64-64.sh">cmake-2.8.10.1-IRIX64-64.sh</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-IRIX64-64.tar.Z">cmake-2.8.10.1-IRIX64-64.tar.Z</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-IRIX64-64.tar.gz">cmake-2.8.10.1-IRIX64-64.tar.gz</a></td><td align="right">2012-11-07 11:48  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-IRIX64-n32.sh">cmake-2.8.10.1-IRIX64-n32.sh</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-IRIX64-n32.tar.Z">cmake-2.8.10.1-IRIX64-n32.tar.Z</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-IRIX64-n32.tar.gz">cmake-2.8.10.1-IRIX64-n32.tar.gz</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-Linux-i386.sh">cmake-2.8.10.1-Linux-i386.sh</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Linux-i386.tar.Z">cmake-2.8.10.1-Linux-i386.tar.Z</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-Linux-i386.tar.gz">cmake-2.8.10.1-Linux-i386.tar.gz</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-SHA-256.txt">cmake-2.8.10.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.1-SHA-256.txt.asc">cmake-2.8.10.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-win32-x86.exe">cmake-2.8.10.1-win32-x86.exe</a></td><td align="right">2012-11-07 11:47  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1-win32-x86.zip">cmake-2.8.10.1-win32-x86.zip</a></td><td align="right">2012-11-07 11:47  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1.tar.Z">cmake-2.8.10.1.tar.Z</a></td><td align="right">2012-11-07 11:47  </td><td align="right">8.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1.tar.gz">cmake-2.8.10.1.tar.gz</a></td><td align="right">2012-11-07 11:47  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.1.zip">cmake-2.8.10.1.zip</a></td><td align="right">2012-11-07 11:47  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-AIX-powerpc.sh">cmake-2.8.10.2-AIX-powerpc.sh</a></td><td align="right">2012-11-27 15:05  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-AIX-powerpc.tar.Z">cmake-2.8.10.2-AIX-powerpc.tar.Z</a></td><td align="right">2012-11-27 15:05  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-AIX-powerpc.tar.gz">cmake-2.8.10.2-AIX-powerpc.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin-universal.dmg">cmake-2.8.10.2-Darwin-universal.dmg</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin-universal.tar.Z">cmake-2.8.10.2-Darwin-universal.tar.Z</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin-universal.tar.gz">cmake-2.8.10.2-Darwin-universal.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin64-universal.dmg">cmake-2.8.10.2-Darwin64-universal.dmg</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin64-universal.tar.Z">cmake-2.8.10.2-Darwin64-universal.tar.Z</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 53M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Darwin64-universal.tar.gz">cmake-2.8.10.2-Darwin64-universal.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-IRIX64-64.sh">cmake-2.8.10.2-IRIX64-64.sh</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-IRIX64-64.tar.Z">cmake-2.8.10.2-IRIX64-64.tar.Z</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-IRIX64-64.tar.gz">cmake-2.8.10.2-IRIX64-64.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-IRIX64-n32.sh">cmake-2.8.10.2-IRIX64-n32.sh</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-IRIX64-n32.tar.Z">cmake-2.8.10.2-IRIX64-n32.tar.Z</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-IRIX64-n32.tar.gz">cmake-2.8.10.2-IRIX64-n32.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-Linux-i386.sh">cmake-2.8.10.2-Linux-i386.sh</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Linux-i386.tar.Z">cmake-2.8.10.2-Linux-i386.tar.Z</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-Linux-i386.tar.gz">cmake-2.8.10.2-Linux-i386.tar.gz</a></td><td align="right">2012-11-27 15:04  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-SHA-256.txt">cmake-2.8.10.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.10.2-SHA-256.txt.asc">cmake-2.8.10.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-win32-x86.exe">cmake-2.8.10.2-win32-x86.exe</a></td><td align="right">2012-11-27 15:04  </td><td align="right">9.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2-win32-x86.zip">cmake-2.8.10.2-win32-x86.zip</a></td><td align="right">2012-11-27 15:03  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2.tar.Z">cmake-2.8.10.2.tar.Z</a></td><td align="right">2012-11-27 15:03  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2.tar.gz">cmake-2.8.10.2.tar.gz</a></td><td align="right">2012-11-27 15:03  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.2.zip">cmake-2.8.10.2.zip</a></td><td align="right">2012-11-27 15:03  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.tar.Z">cmake-2.8.10.tar.Z</a></td><td align="right">2012-10-31 13:03  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.tar.gz">cmake-2.8.10.tar.gz</a></td><td align="right">2012-10-31 13:03  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.10.zip">cmake-2.8.10.zip</a></td><td align="right">2012-10-31 13:03  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-AIX-powerpc.sh">cmake-2.8.11-AIX-powerpc.sh</a></td><td align="right">2013-06-07 14:42  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-AIX-powerpc.tar.Z">cmake-2.8.11-AIX-powerpc.tar.Z</a></td><td align="right">2013-06-07 14:42  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-AIX-powerpc.tar.gz">cmake-2.8.11-AIX-powerpc.tar.gz</a></td><td align="right">2013-06-07 14:42  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin-universal.dmg">cmake-2.8.11-Darwin-universal.dmg</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin-universal.tar.Z">cmake-2.8.11-Darwin-universal.tar.Z</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin-universal.tar.gz">cmake-2.8.11-Darwin-universal.tar.gz</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin64-universal.dmg">cmake-2.8.11-Darwin64-universal.dmg</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin64-universal.tar.Z">cmake-2.8.11-Darwin64-universal.tar.Z</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Darwin64-universal.tar.gz">cmake-2.8.11-Darwin64-universal.tar.gz</a></td><td align="right">2013-05-15 15:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-IRIX64-64.sh">cmake-2.8.11-IRIX64-64.sh</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-IRIX64-64.tar.Z">cmake-2.8.11-IRIX64-64.tar.Z</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-IRIX64-64.tar.gz">cmake-2.8.11-IRIX64-64.tar.gz</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-IRIX64-n32.sh">cmake-2.8.11-IRIX64-n32.sh</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-IRIX64-n32.tar.Z">cmake-2.8.11-IRIX64-n32.tar.Z</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-IRIX64-n32.tar.gz">cmake-2.8.11-IRIX64-n32.tar.gz</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-Linux-i386.sh">cmake-2.8.11-Linux-i386.sh</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Linux-i386.tar.Z">cmake-2.8.11-Linux-i386.tar.Z</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-Linux-i386.tar.gz">cmake-2.8.11-Linux-i386.tar.gz</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-SHA-256.txt">cmake-2.8.11-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-SHA-256.txt.asc">cmake-2.8.11-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-AIX-powerpc.sh">cmake-2.8.11-rc1-AIX-powerpc.sh</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-AIX-powerpc.tar.Z">cmake-2.8.11-rc1-AIX-powerpc.tar.Z</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-AIX-powerpc.tar.gz">cmake-2.8.11-rc1-AIX-powerpc.tar.gz</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin-universal.dmg">cmake-2.8.11-rc1-Darwin-universal.dmg</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin-universal.tar.Z">cmake-2.8.11-rc1-Darwin-universal.tar.Z</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin-universal.tar.gz">cmake-2.8.11-rc1-Darwin-universal.tar.gz</a></td><td align="right">2013-03-14 17:16  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin64-universal.dmg">cmake-2.8.11-rc1-Darwin64-universal.dmg</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin64-universal.tar.Z">cmake-2.8.11-rc1-Darwin64-universal.tar.Z</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Darwin64-universal.tar.gz">cmake-2.8.11-rc1-Darwin64-universal.tar.gz</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-64.sh">cmake-2.8.11-rc1-IRIX64-64.sh</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-64.tar.Z">cmake-2.8.11-rc1-IRIX64-64.tar.Z</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-64.tar.gz">cmake-2.8.11-rc1-IRIX64-64.tar.gz</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-n32.sh">cmake-2.8.11-rc1-IRIX64-n32.sh</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-n32.tar.Z">cmake-2.8.11-rc1-IRIX64-n32.tar.Z</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-IRIX64-n32.tar.gz">cmake-2.8.11-rc1-IRIX64-n32.tar.gz</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-Linux-i386.sh">cmake-2.8.11-rc1-Linux-i386.sh</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Linux-i386.tar.Z">cmake-2.8.11-rc1-Linux-i386.tar.Z</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-Linux-i386.tar.gz">cmake-2.8.11-rc1-Linux-i386.tar.gz</a></td><td align="right">2013-03-14 17:15  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-SHA-256.txt">cmake-2.8.11-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc1-SHA-256.txt.asc">cmake-2.8.11-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-win32-x86.exe">cmake-2.8.11-rc1-win32-x86.exe</a></td><td align="right">2013-03-14 17:15  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1-win32-x86.zip">cmake-2.8.11-rc1-win32-x86.zip</a></td><td align="right">2013-03-14 17:14  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1.tar.Z">cmake-2.8.11-rc1.tar.Z</a></td><td align="right">2013-03-14 17:14  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1.tar.gz">cmake-2.8.11-rc1.tar.gz</a></td><td align="right">2013-03-14 17:14  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc1.zip">cmake-2.8.11-rc1.zip</a></td><td align="right">2013-03-14 17:14  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-AIX-powerpc.sh">cmake-2.8.11-rc2-AIX-powerpc.sh</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-AIX-powerpc.tar.Z">cmake-2.8.11-rc2-AIX-powerpc.tar.Z</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-AIX-powerpc.tar.gz">cmake-2.8.11-rc2-AIX-powerpc.tar.gz</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin-universal.dmg">cmake-2.8.11-rc2-Darwin-universal.dmg</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin-universal.tar.Z">cmake-2.8.11-rc2-Darwin-universal.tar.Z</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin-universal.tar.gz">cmake-2.8.11-rc2-Darwin-universal.tar.gz</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin64-universal.dmg">cmake-2.8.11-rc2-Darwin64-universal.dmg</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin64-universal.tar.Z">cmake-2.8.11-rc2-Darwin64-universal.tar.Z</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Darwin64-universal.tar.gz">cmake-2.8.11-rc2-Darwin64-universal.tar.gz</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-64.sh">cmake-2.8.11-rc2-IRIX64-64.sh</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-64.tar.Z">cmake-2.8.11-rc2-IRIX64-64.tar.Z</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-64.tar.gz">cmake-2.8.11-rc2-IRIX64-64.tar.gz</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-n32.sh">cmake-2.8.11-rc2-IRIX64-n32.sh</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-n32.tar.Z">cmake-2.8.11-rc2-IRIX64-n32.tar.Z</a></td><td align="right">2013-04-05 18:01  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-IRIX64-n32.tar.gz">cmake-2.8.11-rc2-IRIX64-n32.tar.gz</a></td><td align="right">2013-04-05 18:00  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-Linux-i386.sh">cmake-2.8.11-rc2-Linux-i386.sh</a></td><td align="right">2013-04-05 18:00  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Linux-i386.tar.Z">cmake-2.8.11-rc2-Linux-i386.tar.Z</a></td><td align="right">2013-04-05 18:00  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-Linux-i386.tar.gz">cmake-2.8.11-rc2-Linux-i386.tar.gz</a></td><td align="right">2013-04-05 18:00  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-SHA-256.txt">cmake-2.8.11-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc2-SHA-256.txt.asc">cmake-2.8.11-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-win32-x86.exe">cmake-2.8.11-rc2-win32-x86.exe</a></td><td align="right">2013-04-05 18:00  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2-win32-x86.zip">cmake-2.8.11-rc2-win32-x86.zip</a></td><td align="right">2013-04-05 18:00  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2.tar.Z">cmake-2.8.11-rc2.tar.Z</a></td><td align="right">2013-04-05 18:00  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2.tar.gz">cmake-2.8.11-rc2.tar.gz</a></td><td align="right">2013-04-05 18:00  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc2.zip">cmake-2.8.11-rc2.zip</a></td><td align="right">2013-04-05 18:00  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-AIX-powerpc.sh">cmake-2.8.11-rc3-AIX-powerpc.sh</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-AIX-powerpc.tar.Z">cmake-2.8.11-rc3-AIX-powerpc.tar.Z</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-AIX-powerpc.tar.gz">cmake-2.8.11-rc3-AIX-powerpc.tar.gz</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin-universal.dmg">cmake-2.8.11-rc3-Darwin-universal.dmg</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin-universal.tar.Z">cmake-2.8.11-rc3-Darwin-universal.tar.Z</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin-universal.tar.gz">cmake-2.8.11-rc3-Darwin-universal.tar.gz</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin64-universal.dmg">cmake-2.8.11-rc3-Darwin64-universal.dmg</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin64-universal.tar.Z">cmake-2.8.11-rc3-Darwin64-universal.tar.Z</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Darwin64-universal.tar.gz">cmake-2.8.11-rc3-Darwin64-universal.tar.gz</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-64.sh">cmake-2.8.11-rc3-IRIX64-64.sh</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-64.tar.Z">cmake-2.8.11-rc3-IRIX64-64.tar.Z</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-64.tar.gz">cmake-2.8.11-rc3-IRIX64-64.tar.gz</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-n32.sh">cmake-2.8.11-rc3-IRIX64-n32.sh</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-n32.tar.Z">cmake-2.8.11-rc3-IRIX64-n32.tar.Z</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-IRIX64-n32.tar.gz">cmake-2.8.11-rc3-IRIX64-n32.tar.gz</a></td><td align="right">2013-04-18 17:33  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-Linux-i386.sh">cmake-2.8.11-rc3-Linux-i386.sh</a></td><td align="right">2013-04-18 17:32  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Linux-i386.tar.Z">cmake-2.8.11-rc3-Linux-i386.tar.Z</a></td><td align="right">2013-04-18 17:32  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-Linux-i386.tar.gz">cmake-2.8.11-rc3-Linux-i386.tar.gz</a></td><td align="right">2013-04-18 17:32  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-SHA-256.txt">cmake-2.8.11-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc3-SHA-256.txt.asc">cmake-2.8.11-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-win32-x86.exe">cmake-2.8.11-rc3-win32-x86.exe</a></td><td align="right">2013-04-18 17:32  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3-win32-x86.zip">cmake-2.8.11-rc3-win32-x86.zip</a></td><td align="right">2013-04-18 17:32  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3.tar.Z">cmake-2.8.11-rc3.tar.Z</a></td><td align="right">2013-04-18 17:32  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3.tar.gz">cmake-2.8.11-rc3.tar.gz</a></td><td align="right">2013-04-18 17:32  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc3.zip">cmake-2.8.11-rc3.zip</a></td><td align="right">2013-04-18 17:32  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-AIX-powerpc.sh">cmake-2.8.11-rc4-AIX-powerpc.sh</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-AIX-powerpc.tar.Z">cmake-2.8.11-rc4-AIX-powerpc.tar.Z</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-AIX-powerpc.tar.gz">cmake-2.8.11-rc4-AIX-powerpc.tar.gz</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin-universal.dmg">cmake-2.8.11-rc4-Darwin-universal.dmg</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin-universal.tar.Z">cmake-2.8.11-rc4-Darwin-universal.tar.Z</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin-universal.tar.gz">cmake-2.8.11-rc4-Darwin-universal.tar.gz</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin64-universal.dmg">cmake-2.8.11-rc4-Darwin64-universal.dmg</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin64-universal.tar.Z">cmake-2.8.11-rc4-Darwin64-universal.tar.Z</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Darwin64-universal.tar.gz">cmake-2.8.11-rc4-Darwin64-universal.tar.gz</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-64.sh">cmake-2.8.11-rc4-IRIX64-64.sh</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-64.tar.Z">cmake-2.8.11-rc4-IRIX64-64.tar.Z</a></td><td align="right">2013-05-08 09:54  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-64.tar.gz">cmake-2.8.11-rc4-IRIX64-64.tar.gz</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-n32.sh">cmake-2.8.11-rc4-IRIX64-n32.sh</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-n32.tar.Z">cmake-2.8.11-rc4-IRIX64-n32.tar.Z</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-IRIX64-n32.tar.gz">cmake-2.8.11-rc4-IRIX64-n32.tar.gz</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-Linux-i386.sh">cmake-2.8.11-rc4-Linux-i386.sh</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Linux-i386.tar.Z">cmake-2.8.11-rc4-Linux-i386.tar.Z</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-Linux-i386.tar.gz">cmake-2.8.11-rc4-Linux-i386.tar.gz</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-SHA-256.txt">cmake-2.8.11-rc4-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11-rc4-SHA-256.txt.asc">cmake-2.8.11-rc4-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-win32-x86.exe">cmake-2.8.11-rc4-win32-x86.exe</a></td><td align="right">2013-05-08 09:53  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4-win32-x86.zip">cmake-2.8.11-rc4-win32-x86.zip</a></td><td align="right">2013-05-08 09:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4.tar.Z">cmake-2.8.11-rc4.tar.Z</a></td><td align="right">2013-05-08 09:53  </td><td align="right">8.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4.tar.gz">cmake-2.8.11-rc4.tar.gz</a></td><td align="right">2013-05-08 09:53  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-rc4.zip">cmake-2.8.11-rc4.zip</a></td><td align="right">2013-05-08 09:53  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-win32-x86.exe">cmake-2.8.11-win32-x86.exe</a></td><td align="right">2013-05-15 15:53  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11-win32-x86.zip">cmake-2.8.11-win32-x86.zip</a></td><td align="right">2013-05-15 15:53  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-AIX-powerpc.sh">cmake-2.8.11.1-AIX-powerpc.sh</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-AIX-powerpc.tar.Z">cmake-2.8.11.1-AIX-powerpc.tar.Z</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-AIX-powerpc.tar.gz">cmake-2.8.11.1-AIX-powerpc.tar.gz</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin-universal.dmg">cmake-2.8.11.1-Darwin-universal.dmg</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin-universal.tar.Z">cmake-2.8.11.1-Darwin-universal.tar.Z</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin-universal.tar.gz">cmake-2.8.11.1-Darwin-universal.tar.gz</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin64-universal.dmg">cmake-2.8.11.1-Darwin64-universal.dmg</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin64-universal.tar.Z">cmake-2.8.11.1-Darwin64-universal.tar.Z</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Darwin64-universal.tar.gz">cmake-2.8.11.1-Darwin64-universal.tar.gz</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-IRIX64-64.sh">cmake-2.8.11.1-IRIX64-64.sh</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-IRIX64-64.tar.Z">cmake-2.8.11.1-IRIX64-64.tar.Z</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-IRIX64-64.tar.gz">cmake-2.8.11.1-IRIX64-64.tar.gz</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-IRIX64-n32.sh">cmake-2.8.11.1-IRIX64-n32.sh</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-IRIX64-n32.tar.Z">cmake-2.8.11.1-IRIX64-n32.tar.Z</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-IRIX64-n32.tar.gz">cmake-2.8.11.1-IRIX64-n32.tar.gz</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-Linux-i386.sh">cmake-2.8.11.1-Linux-i386.sh</a></td><td align="right">2013-06-07 14:41  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Linux-i386.tar.Z">cmake-2.8.11.1-Linux-i386.tar.Z</a></td><td align="right">2013-06-07 14:40  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-Linux-i386.tar.gz">cmake-2.8.11.1-Linux-i386.tar.gz</a></td><td align="right">2013-06-07 14:40  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-SHA-256.txt">cmake-2.8.11.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.1-SHA-256.txt.asc">cmake-2.8.11.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-win32-x86.exe">cmake-2.8.11.1-win32-x86.exe</a></td><td align="right">2013-06-07 14:40  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1-win32-x86.zip">cmake-2.8.11.1-win32-x86.zip</a></td><td align="right">2013-06-07 14:40  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1.tar.Z">cmake-2.8.11.1.tar.Z</a></td><td align="right">2013-06-07 14:40  </td><td align="right">8.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1.tar.gz">cmake-2.8.11.1.tar.gz</a></td><td align="right">2013-06-07 14:40  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.1.zip">cmake-2.8.11.1.zip</a></td><td align="right">2013-06-07 14:40  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-AIX-powerpc.sh">cmake-2.8.11.2-AIX-powerpc.sh</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-AIX-powerpc.tar.Z">cmake-2.8.11.2-AIX-powerpc.tar.Z</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-AIX-powerpc.tar.gz">cmake-2.8.11.2-AIX-powerpc.tar.gz</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin-universal.dmg">cmake-2.8.11.2-Darwin-universal.dmg</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin-universal.tar.Z">cmake-2.8.11.2-Darwin-universal.tar.Z</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 59M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin-universal.tar.gz">cmake-2.8.11.2-Darwin-universal.tar.gz</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin64-universal.dmg">cmake-2.8.11.2-Darwin64-universal.dmg</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin64-universal.tar.Z">cmake-2.8.11.2-Darwin64-universal.tar.Z</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 55M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Darwin64-universal.tar.gz">cmake-2.8.11.2-Darwin64-universal.tar.gz</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-IRIX64-64.sh">cmake-2.8.11.2-IRIX64-64.sh</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-IRIX64-64.tar.Z">cmake-2.8.11.2-IRIX64-64.tar.Z</a></td><td align="right">2013-07-03 11:53  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-IRIX64-64.tar.gz">cmake-2.8.11.2-IRIX64-64.tar.gz</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-IRIX64-n32.sh">cmake-2.8.11.2-IRIX64-n32.sh</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-IRIX64-n32.tar.Z">cmake-2.8.11.2-IRIX64-n32.tar.Z</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-IRIX64-n32.tar.gz">cmake-2.8.11.2-IRIX64-n32.tar.gz</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-Linux-i386.sh">cmake-2.8.11.2-Linux-i386.sh</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Linux-i386.tar.Z">cmake-2.8.11.2-Linux-i386.tar.Z</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-Linux-i386.tar.gz">cmake-2.8.11.2-Linux-i386.tar.gz</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-SHA-256.txt">cmake-2.8.11.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.11.2-SHA-256.txt.asc">cmake-2.8.11.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-win32-x86.exe">cmake-2.8.11.2-win32-x86.exe</a></td><td align="right">2013-07-03 11:52  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2-win32-x86.zip">cmake-2.8.11.2-win32-x86.zip</a></td><td align="right">2013-07-03 11:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2.tar.Z">cmake-2.8.11.2.tar.Z</a></td><td align="right">2013-07-03 11:52  </td><td align="right">8.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2.tar.gz">cmake-2.8.11.2.tar.gz</a></td><td align="right">2013-07-03 11:52  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.2.zip">cmake-2.8.11.2.zip</a></td><td align="right">2013-07-03 11:52  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.tar.Z">cmake-2.8.11.tar.Z</a></td><td align="right">2013-05-15 15:53  </td><td align="right">8.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.tar.gz">cmake-2.8.11.tar.gz</a></td><td align="right">2013-05-15 15:53  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.11.zip">cmake-2.8.11.zip</a></td><td align="right">2013-05-15 15:53  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-AIX-powerpc.sh">cmake-2.8.12-AIX-powerpc.sh</a></td><td align="right">2013-10-07 14:34  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-AIX-powerpc.tar.Z">cmake-2.8.12-AIX-powerpc.tar.Z</a></td><td align="right">2013-10-07 14:34  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-AIX-powerpc.tar.gz">cmake-2.8.12-AIX-powerpc.tar.gz</a></td><td align="right">2013-10-07 14:34  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin-universal.dmg">cmake-2.8.12-Darwin-universal.dmg</a></td><td align="right">2013-10-07 14:34  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin-universal.tar.Z">cmake-2.8.12-Darwin-universal.tar.Z</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin-universal.tar.gz">cmake-2.8.12-Darwin-universal.tar.gz</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin64-universal.dmg">cmake-2.8.12-Darwin64-universal.dmg</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin64-universal.tar.Z">cmake-2.8.12-Darwin64-universal.tar.Z</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Darwin64-universal.tar.gz">cmake-2.8.12-Darwin64-universal.tar.gz</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-IRIX64-64.sh">cmake-2.8.12-IRIX64-64.sh</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-IRIX64-64.tar.Z">cmake-2.8.12-IRIX64-64.tar.Z</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-IRIX64-64.tar.gz">cmake-2.8.12-IRIX64-64.tar.gz</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-IRIX64-n32.sh">cmake-2.8.12-IRIX64-n32.sh</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-IRIX64-n32.tar.Z">cmake-2.8.12-IRIX64-n32.tar.Z</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-IRIX64-n32.tar.gz">cmake-2.8.12-IRIX64-n32.tar.gz</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-Linux-i386.sh">cmake-2.8.12-Linux-i386.sh</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Linux-i386.tar.Z">cmake-2.8.12-Linux-i386.tar.Z</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-Linux-i386.tar.gz">cmake-2.8.12-Linux-i386.tar.gz</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-SHA-256.txt">cmake-2.8.12-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.1K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-SHA-256.txt.asc">cmake-2.8.12-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-AIX-powerpc.sh">cmake-2.8.12-rc1-AIX-powerpc.sh</a></td><td align="right">2013-08-19 08:54  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-AIX-powerpc.tar.Z">cmake-2.8.12-rc1-AIX-powerpc.tar.Z</a></td><td align="right">2013-08-19 08:54  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-AIX-powerpc.tar.gz">cmake-2.8.12-rc1-AIX-powerpc.tar.gz</a></td><td align="right">2013-08-19 08:54  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin-universal.dmg">cmake-2.8.12-rc1-Darwin-universal.dmg</a></td><td align="right">2013-08-19 08:54  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin-universal.tar.Z">cmake-2.8.12-rc1-Darwin-universal.tar.Z</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin-universal.tar.gz">cmake-2.8.12-rc1-Darwin-universal.tar.gz</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin64-universal.dmg">cmake-2.8.12-rc1-Darwin64-universal.dmg</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin64-universal.tar.Z">cmake-2.8.12-rc1-Darwin64-universal.tar.Z</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Darwin64-universal.tar.gz">cmake-2.8.12-rc1-Darwin64-universal.tar.gz</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-64.sh">cmake-2.8.12-rc1-IRIX64-64.sh</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-64.tar.Z">cmake-2.8.12-rc1-IRIX64-64.tar.Z</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-64.tar.gz">cmake-2.8.12-rc1-IRIX64-64.tar.gz</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-n32.sh">cmake-2.8.12-rc1-IRIX64-n32.sh</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-n32.tar.Z">cmake-2.8.12-rc1-IRIX64-n32.tar.Z</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-IRIX64-n32.tar.gz">cmake-2.8.12-rc1-IRIX64-n32.tar.gz</a></td><td align="right">2013-08-19 08:53  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-Linux-i386.sh">cmake-2.8.12-rc1-Linux-i386.sh</a></td><td align="right">2013-08-19 08:52  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Linux-i386.tar.Z">cmake-2.8.12-rc1-Linux-i386.tar.Z</a></td><td align="right">2013-08-19 08:52  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-Linux-i386.tar.gz">cmake-2.8.12-rc1-Linux-i386.tar.gz</a></td><td align="right">2013-08-19 08:52  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-SHA-256.txt">cmake-2.8.12-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc1-SHA-256.txt.asc">cmake-2.8.12-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-win32-x86.exe">cmake-2.8.12-rc1-win32-x86.exe</a></td><td align="right">2013-08-19 08:52  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1-win32-x86.zip">cmake-2.8.12-rc1-win32-x86.zip</a></td><td align="right">2013-08-19 08:52  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1.tar.Z">cmake-2.8.12-rc1.tar.Z</a></td><td align="right">2013-08-19 08:52  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1.tar.gz">cmake-2.8.12-rc1.tar.gz</a></td><td align="right">2013-08-19 08:52  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc1.zip">cmake-2.8.12-rc1.zip</a></td><td align="right">2013-08-19 08:52  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc2-AIX-powerpc.sh">cmake-2.8.12-rc2-AIX-powerpc.sh</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-AIX-powerpc.tar.Z">cmake-2.8.12-rc2-AIX-powerpc.tar.Z</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-AIX-powerpc.tar.gz">cmake-2.8.12-rc2-AIX-powerpc.tar.gz</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin-universal.dmg">cmake-2.8.12-rc2-Darwin-universal.dmg</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin-universal.tar.Z">cmake-2.8.12-rc2-Darwin-universal.tar.Z</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin-universal.tar.gz">cmake-2.8.12-rc2-Darwin-universal.tar.gz</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin64-universal.dmg">cmake-2.8.12-rc2-Darwin64-universal.dmg</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin64-universal.tar.Z">cmake-2.8.12-rc2-Darwin64-universal.tar.Z</a></td><td align="right">2013-08-30 15:59  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Darwin64-universal.tar.gz">cmake-2.8.12-rc2-Darwin64-universal.tar.gz</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-IRIX64-64.tar.Z">cmake-2.8.12-rc2-IRIX64-64.tar.Z</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-IRIX64-64.tar.gz">cmake-2.8.12-rc2-IRIX64-64.tar.gz</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc2-IRIX64-n32.sh">cmake-2.8.12-rc2-IRIX64-n32.sh</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-IRIX64-n32.tar.Z">cmake-2.8.12-rc2-IRIX64-n32.tar.Z</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-IRIX64-n32.tar.gz">cmake-2.8.12-rc2-IRIX64-n32.tar.gz</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc2-Linux-i386.sh">cmake-2.8.12-rc2-Linux-i386.sh</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Linux-i386.tar.Z">cmake-2.8.12-rc2-Linux-i386.tar.Z</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-Linux-i386.tar.gz">cmake-2.8.12-rc2-Linux-i386.tar.gz</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc2-SHA-256.txt">cmake-2.8.12-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.1K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc2-SHA-256.txt.asc">cmake-2.8.12-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-win32-x86.exe">cmake-2.8.12-rc2-win32-x86.exe</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2-win32-x86.zip">cmake-2.8.12-rc2-win32-x86.zip</a></td><td align="right">2013-08-30 15:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2.tar.Z">cmake-2.8.12-rc2.tar.Z</a></td><td align="right">2013-08-30 15:58  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2.tar.gz">cmake-2.8.12-rc2.tar.gz</a></td><td align="right">2013-08-30 15:58  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc2.zip">cmake-2.8.12-rc2.zip</a></td><td align="right">2013-08-30 15:58  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc3-AIX-powerpc.sh">cmake-2.8.12-rc3-AIX-powerpc.sh</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-AIX-powerpc.tar.Z">cmake-2.8.12-rc3-AIX-powerpc.tar.Z</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-AIX-powerpc.tar.gz">cmake-2.8.12-rc3-AIX-powerpc.tar.gz</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin-universal.dmg">cmake-2.8.12-rc3-Darwin-universal.dmg</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin-universal.tar.Z">cmake-2.8.12-rc3-Darwin-universal.tar.Z</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin-universal.tar.gz">cmake-2.8.12-rc3-Darwin-universal.tar.gz</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin64-universal.dmg">cmake-2.8.12-rc3-Darwin64-universal.dmg</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin64-universal.tar.Z">cmake-2.8.12-rc3-Darwin64-universal.tar.Z</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Darwin64-universal.tar.gz">cmake-2.8.12-rc3-Darwin64-universal.tar.gz</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc3-Linux-i386.sh">cmake-2.8.12-rc3-Linux-i386.sh</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Linux-i386.tar.Z">cmake-2.8.12-rc3-Linux-i386.tar.Z</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-Linux-i386.tar.gz">cmake-2.8.12-rc3-Linux-i386.tar.gz</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc3-SHA-256.txt">cmake-2.8.12-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.7K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc3-SHA-256.txt.asc">cmake-2.8.12-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-win32-x86.exe">cmake-2.8.12-rc3-win32-x86.exe</a></td><td align="right">2013-09-10 15:39  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3-win32-x86.zip">cmake-2.8.12-rc3-win32-x86.zip</a></td><td align="right">2013-09-10 15:38  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3.tar.Z">cmake-2.8.12-rc3.tar.Z</a></td><td align="right">2013-09-10 15:38  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3.tar.gz">cmake-2.8.12-rc3.tar.gz</a></td><td align="right">2013-09-10 15:38  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc3.zip">cmake-2.8.12-rc3.zip</a></td><td align="right">2013-09-10 15:38  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-AIX-powerpc.sh">cmake-2.8.12-rc4-AIX-powerpc.sh</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-AIX-powerpc.tar.Z">cmake-2.8.12-rc4-AIX-powerpc.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-AIX-powerpc.tar.gz">cmake-2.8.12-rc4-AIX-powerpc.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin-universal.dmg">cmake-2.8.12-rc4-Darwin-universal.dmg</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin-universal.tar.Z">cmake-2.8.12-rc4-Darwin-universal.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin-universal.tar.gz">cmake-2.8.12-rc4-Darwin-universal.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin64-universal.dmg">cmake-2.8.12-rc4-Darwin64-universal.dmg</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin64-universal.tar.Z">cmake-2.8.12-rc4-Darwin64-universal.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Darwin64-universal.tar.gz">cmake-2.8.12-rc4-Darwin64-universal.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-64.sh">cmake-2.8.12-rc4-IRIX64-64.sh</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-64.tar.Z">cmake-2.8.12-rc4-IRIX64-64.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-64.tar.gz">cmake-2.8.12-rc4-IRIX64-64.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-n32.sh">cmake-2.8.12-rc4-IRIX64-n32.sh</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-n32.tar.Z">cmake-2.8.12-rc4-IRIX64-n32.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-IRIX64-n32.tar.gz">cmake-2.8.12-rc4-IRIX64-n32.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-Linux-i386.sh">cmake-2.8.12-rc4-Linux-i386.sh</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Linux-i386.tar.Z">cmake-2.8.12-rc4-Linux-i386.tar.Z</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-Linux-i386.tar.gz">cmake-2.8.12-rc4-Linux-i386.tar.gz</a></td><td align="right">2013-10-01 16:23  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-SHA-256.txt">cmake-2.8.12-rc4-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12-rc4-SHA-256.txt.asc">cmake-2.8.12-rc4-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-win32-x86.exe">cmake-2.8.12-rc4-win32-x86.exe</a></td><td align="right">2013-10-01 16:22  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4-win32-x86.zip">cmake-2.8.12-rc4-win32-x86.zip</a></td><td align="right">2013-10-01 16:22  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4.tar.Z">cmake-2.8.12-rc4.tar.Z</a></td><td align="right">2013-10-01 16:22  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4.tar.gz">cmake-2.8.12-rc4.tar.gz</a></td><td align="right">2013-10-01 16:22  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-rc4.zip">cmake-2.8.12-rc4.zip</a></td><td align="right">2013-10-01 16:22  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-win32-x86.exe">cmake-2.8.12-win32-x86.exe</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12-win32-x86.zip">cmake-2.8.12-win32-x86.zip</a></td><td align="right">2013-10-07 14:33  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-AIX-powerpc.sh">cmake-2.8.12.1-AIX-powerpc.sh</a></td><td align="right">2013-11-06 10:48  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-AIX-powerpc.tar.Z">cmake-2.8.12.1-AIX-powerpc.tar.Z</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-AIX-powerpc.tar.gz">cmake-2.8.12.1-AIX-powerpc.tar.gz</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin-universal.dmg">cmake-2.8.12.1-Darwin-universal.dmg</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin-universal.tar.Z">cmake-2.8.12.1-Darwin-universal.tar.Z</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin-universal.tar.gz">cmake-2.8.12.1-Darwin-universal.tar.gz</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin64-universal.dmg">cmake-2.8.12.1-Darwin64-universal.dmg</a></td><td align="right">2013-11-06 10:47  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin64-universal.tar.Z">cmake-2.8.12.1-Darwin64-universal.tar.Z</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Darwin64-universal.tar.gz">cmake-2.8.12.1-Darwin64-universal.tar.gz</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-IRIX64-64.sh">cmake-2.8.12.1-IRIX64-64.sh</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-IRIX64-64.tar.Z">cmake-2.8.12.1-IRIX64-64.tar.Z</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-IRIX64-64.tar.gz">cmake-2.8.12.1-IRIX64-64.tar.gz</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-IRIX64-n32.sh">cmake-2.8.12.1-IRIX64-n32.sh</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-IRIX64-n32.tar.Z">cmake-2.8.12.1-IRIX64-n32.tar.Z</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-IRIX64-n32.tar.gz">cmake-2.8.12.1-IRIX64-n32.tar.gz</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-Linux-i386.sh">cmake-2.8.12.1-Linux-i386.sh</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Linux-i386.tar.Z">cmake-2.8.12.1-Linux-i386.tar.Z</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-Linux-i386.tar.gz">cmake-2.8.12.1-Linux-i386.tar.gz</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-SHA-256.txt">cmake-2.8.12.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.1-SHA-256.txt.asc">cmake-2.8.12.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-win32-x86.exe">cmake-2.8.12.1-win32-x86.exe</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1-win32-x86.zip">cmake-2.8.12.1-win32-x86.zip</a></td><td align="right">2013-11-06 10:46  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1.tar.Z">cmake-2.8.12.1.tar.Z</a></td><td align="right">2013-11-06 10:45  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1.tar.gz">cmake-2.8.12.1.tar.gz</a></td><td align="right">2013-11-06 10:45  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.1.zip">cmake-2.8.12.1.zip</a></td><td align="right">2013-11-06 10:45  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-AIX-powerpc.sh">cmake-2.8.12.2-AIX-powerpc.sh</a></td><td align="right">2014-01-16 14:49  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-AIX-powerpc.tar.Z">cmake-2.8.12.2-AIX-powerpc.tar.Z</a></td><td align="right">2014-01-16 14:49  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-AIX-powerpc.tar.gz">cmake-2.8.12.2-AIX-powerpc.tar.gz</a></td><td align="right">2014-01-16 14:49  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin-universal.dmg">cmake-2.8.12.2-Darwin-universal.dmg</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin-universal.tar.Z">cmake-2.8.12.2-Darwin-universal.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 61M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin-universal.tar.gz">cmake-2.8.12.2-Darwin-universal.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 43M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin64-universal.dmg">cmake-2.8.12.2-Darwin64-universal.dmg</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin64-universal.tar.Z">cmake-2.8.12.2-Darwin64-universal.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 57M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Darwin64-universal.tar.gz">cmake-2.8.12.2-Darwin64-universal.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-IRIX64-64.sh">cmake-2.8.12.2-IRIX64-64.sh</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-IRIX64-64.tar.Z">cmake-2.8.12.2-IRIX64-64.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-IRIX64-64.tar.gz">cmake-2.8.12.2-IRIX64-64.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-IRIX64-n32.sh">cmake-2.8.12.2-IRIX64-n32.sh</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-IRIX64-n32.tar.Z">cmake-2.8.12.2-IRIX64-n32.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-IRIX64-n32.tar.gz">cmake-2.8.12.2-IRIX64-n32.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-Linux-i386.sh">cmake-2.8.12.2-Linux-i386.sh</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Linux-i386.tar.Z">cmake-2.8.12.2-Linux-i386.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-Linux-i386.tar.gz">cmake-2.8.12.2-Linux-i386.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-SHA-256.txt">cmake-2.8.12.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-2.8.12.2-SHA-256.txt.asc">cmake-2.8.12.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-win32-x86.exe">cmake-2.8.12.2-win32-x86.exe</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2-win32-x86.zip">cmake-2.8.12.2-win32-x86.zip</a></td><td align="right">2014-01-16 14:48  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2.tar.Z">cmake-2.8.12.2.tar.Z</a></td><td align="right">2014-01-16 14:48  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2.tar.gz">cmake-2.8.12.2.tar.gz</a></td><td align="right">2014-01-16 14:48  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.2.zip">cmake-2.8.12.2.zip</a></td><td align="right">2014-01-16 14:48  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.tar.Z">cmake-2.8.12.tar.Z</a></td><td align="right">2013-10-07 14:32  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.tar.gz">cmake-2.8.12.tar.gz</a></td><td align="right">2013-10-07 14:32  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-2.8.12.zip">cmake-2.8.12.zip</a></td><td align="right">2013-10-07 14:32  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html
new file mode 100644
index 0000000..2583dcd
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.0/index.html
@@ -0,0 +1,209 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.0</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.0</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-1-src.tar.bz2">cmake-3.0.0-1-src.tar.bz2</a></td><td align="right">2014-06-10 13:28  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-1.tar.bz2">cmake-3.0.0-1.tar.bz2</a></td><td align="right">2014-06-10 13:28  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin-universal.dmg">cmake-3.0.0-Darwin-universal.dmg</a></td><td align="right">2014-06-10 13:28  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin-universal.tar.Z">cmake-3.0.0-Darwin-universal.tar.Z</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin-universal.tar.gz">cmake-3.0.0-Darwin-universal.tar.gz</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin64-universal.dmg">cmake-3.0.0-Darwin64-universal.dmg</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin64-universal.tar.Z">cmake-3.0.0-Darwin64-universal.tar.Z</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Darwin64-universal.tar.gz">cmake-3.0.0-Darwin64-universal.tar.gz</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-Linux-i386.sh">cmake-3.0.0-Linux-i386.sh</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Linux-i386.tar.Z">cmake-3.0.0-Linux-i386.tar.Z</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-Linux-i386.tar.gz">cmake-3.0.0-Linux-i386.tar.gz</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-SHA-256.txt">cmake-3.0.0-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-SHA-256.txt.asc">cmake-3.0.0-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-1-src.tar.bz2">cmake-3.0.0-rc1-1-src.tar.bz2</a></td><td align="right">2014-02-28 13:54  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-1.tar.bz2">cmake-3.0.0-rc1-1.tar.bz2</a></td><td align="right">2014-02-28 13:54  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-AIX-powerpc.sh">cmake-3.0.0-rc1-AIX-powerpc.sh</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-AIX-powerpc.tar.Z">cmake-3.0.0-rc1-AIX-powerpc.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-AIX-powerpc.tar.gz">cmake-3.0.0-rc1-AIX-powerpc.tar.gz</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin-universal.dmg">cmake-3.0.0-rc1-Darwin-universal.dmg</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin-universal.tar.Z">cmake-3.0.0-rc1-Darwin-universal.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin-universal.tar.gz">cmake-3.0.0-rc1-Darwin-universal.tar.gz</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin64-universal.dmg">cmake-3.0.0-rc1-Darwin64-universal.dmg</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin64-universal.tar.Z">cmake-3.0.0-rc1-Darwin64-universal.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Darwin64-universal.tar.gz">cmake-3.0.0-rc1-Darwin64-universal.tar.gz</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-64.sh">cmake-3.0.0-rc1-IRIX64-64.sh</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-64.tar.Z">cmake-3.0.0-rc1-IRIX64-64.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-64.tar.gz">cmake-3.0.0-rc1-IRIX64-64.tar.gz</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-n32.sh">cmake-3.0.0-rc1-IRIX64-n32.sh</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-n32.tar.Z">cmake-3.0.0-rc1-IRIX64-n32.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-IRIX64-n32.tar.gz">cmake-3.0.0-rc1-IRIX64-n32.tar.gz</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-Linux-i386.sh">cmake-3.0.0-rc1-Linux-i386.sh</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Linux-i386.tar.Z">cmake-3.0.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2014-02-28 13:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-Linux-i386.tar.gz">cmake-3.0.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2014-02-28 13:53  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-SHA-256.txt">cmake-3.0.0-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc1-SHA-256.txt.asc">cmake-3.0.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-win32-x86.exe">cmake-3.0.0-rc1-win32-x86.exe</a></td><td align="right">2014-02-28 13:53  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1-win32-x86.zip">cmake-3.0.0-rc1-win32-x86.zip</a></td><td align="right">2014-02-28 13:53  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1.tar.Z">cmake-3.0.0-rc1.tar.Z</a></td><td align="right">2014-02-28 13:53  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1.tar.gz">cmake-3.0.0-rc1.tar.gz</a></td><td align="right">2014-02-28 13:53  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc1.zip">cmake-3.0.0-rc1.zip</a></td><td align="right">2014-02-28 13:53  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-1-src.tar.bz2">cmake-3.0.0-rc2-1-src.tar.bz2</a></td><td align="right">2014-03-19 10:29  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-1.tar.bz2">cmake-3.0.0-rc2-1.tar.bz2</a></td><td align="right">2014-03-19 10:28  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-AIX-powerpc.sh">cmake-3.0.0-rc2-AIX-powerpc.sh</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-AIX-powerpc.tar.Z">cmake-3.0.0-rc2-AIX-powerpc.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-AIX-powerpc.tar.gz">cmake-3.0.0-rc2-AIX-powerpc.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin-universal.dmg">cmake-3.0.0-rc2-Darwin-universal.dmg</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin-universal.tar.Z">cmake-3.0.0-rc2-Darwin-universal.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin-universal.tar.gz">cmake-3.0.0-rc2-Darwin-universal.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin64-universal.dmg">cmake-3.0.0-rc2-Darwin64-universal.dmg</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin64-universal.tar.Z">cmake-3.0.0-rc2-Darwin64-universal.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Darwin64-universal.tar.gz">cmake-3.0.0-rc2-Darwin64-universal.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-64.sh">cmake-3.0.0-rc2-IRIX64-64.sh</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-64.tar.Z">cmake-3.0.0-rc2-IRIX64-64.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-64.tar.gz">cmake-3.0.0-rc2-IRIX64-64.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-n32.sh">cmake-3.0.0-rc2-IRIX64-n32.sh</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-n32.tar.Z">cmake-3.0.0-rc2-IRIX64-n32.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-IRIX64-n32.tar.gz">cmake-3.0.0-rc2-IRIX64-n32.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-Linux-i386.sh">cmake-3.0.0-rc2-Linux-i386.sh</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Linux-i386.tar.Z">cmake-3.0.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-Linux-i386.tar.gz">cmake-3.0.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-SHA-256.txt">cmake-3.0.0-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc2-SHA-256.txt.asc">cmake-3.0.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-win32-x86.exe">cmake-3.0.0-rc2-win32-x86.exe</a></td><td align="right">2014-03-19 10:28  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2-win32-x86.zip">cmake-3.0.0-rc2-win32-x86.zip</a></td><td align="right">2014-03-19 10:27  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2.tar.Z">cmake-3.0.0-rc2.tar.Z</a></td><td align="right">2014-03-19 10:27  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2.tar.gz">cmake-3.0.0-rc2.tar.gz</a></td><td align="right">2014-03-19 10:27  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc2.zip">cmake-3.0.0-rc2.zip</a></td><td align="right">2014-03-19 10:27  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-1-src.tar.bz2">cmake-3.0.0-rc3-1-src.tar.bz2</a></td><td align="right">2014-03-26 13:00  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-1.tar.bz2">cmake-3.0.0-rc3-1.tar.bz2</a></td><td align="right">2014-03-26 13:00  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc3-AIX-powerpc.sh">cmake-3.0.0-rc3-AIX-powerpc.sh</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-AIX-powerpc.tar.Z">cmake-3.0.0-rc3-AIX-powerpc.tar.Z</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-AIX-powerpc.tar.gz">cmake-3.0.0-rc3-AIX-powerpc.tar.gz</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin-universal.dmg">cmake-3.0.0-rc3-Darwin-universal.dmg</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin-universal.tar.Z">cmake-3.0.0-rc3-Darwin-universal.tar.Z</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin-universal.tar.gz">cmake-3.0.0-rc3-Darwin-universal.tar.gz</a></td><td align="right">2014-03-26 13:00  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin64-universal.dmg">cmake-3.0.0-rc3-Darwin64-universal.dmg</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin64-universal.tar.Z">cmake-3.0.0-rc3-Darwin64-universal.tar.Z</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-Darwin64-universal.tar.gz">cmake-3.0.0-rc3-Darwin64-universal.tar.gz</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-64.sh">cmake-3.0.0-rc3-IRIX64-64.sh</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-64.tar.Z">cmake-3.0.0-rc3-IRIX64-64.tar.Z</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-64.tar.gz">cmake-3.0.0-rc3-IRIX64-64.tar.gz</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-n32.sh">cmake-3.0.0-rc3-IRIX64-n32.sh</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-n32.tar.Z">cmake-3.0.0-rc3-IRIX64-n32.tar.Z</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-IRIX64-n32.tar.gz">cmake-3.0.0-rc3-IRIX64-n32.tar.gz</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc3-SHA-256.txt">cmake-3.0.0-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.9K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc3-SHA-256.txt.asc">cmake-3.0.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-win32-x86.exe">cmake-3.0.0-rc3-win32-x86.exe</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3-win32-x86.zip">cmake-3.0.0-rc3-win32-x86.zip</a></td><td align="right">2014-03-26 12:59  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3.tar.Z">cmake-3.0.0-rc3.tar.Z</a></td><td align="right">2014-03-26 12:59  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3.tar.gz">cmake-3.0.0-rc3.tar.gz</a></td><td align="right">2014-03-26 12:59  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc3.zip">cmake-3.0.0-rc3.zip</a></td><td align="right">2014-03-26 12:59  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-1-src.tar.bz2">cmake-3.0.0-rc4-1-src.tar.bz2</a></td><td align="right">2014-04-18 09:52  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-1.tar.bz2">cmake-3.0.0-rc4-1.tar.bz2</a></td><td align="right">2014-04-18 09:52  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-AIX-powerpc.sh">cmake-3.0.0-rc4-AIX-powerpc.sh</a></td><td align="right">2014-04-18 09:52  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-AIX-powerpc.tar.Z">cmake-3.0.0-rc4-AIX-powerpc.tar.Z</a></td><td align="right">2014-04-18 09:52  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-AIX-powerpc.tar.gz">cmake-3.0.0-rc4-AIX-powerpc.tar.gz</a></td><td align="right">2014-04-18 09:52  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin-universal.dmg">cmake-3.0.0-rc4-Darwin-universal.dmg</a></td><td align="right">2014-04-18 09:52  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin-universal.tar.Z">cmake-3.0.0-rc4-Darwin-universal.tar.Z</a></td><td align="right">2014-04-18 09:52  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin-universal.tar.gz">cmake-3.0.0-rc4-Darwin-universal.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin64-universal.dmg">cmake-3.0.0-rc4-Darwin64-universal.dmg</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin64-universal.tar.Z">cmake-3.0.0-rc4-Darwin64-universal.tar.Z</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Darwin64-universal.tar.gz">cmake-3.0.0-rc4-Darwin64-universal.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-64.sh">cmake-3.0.0-rc4-IRIX64-64.sh</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-64.tar.Z">cmake-3.0.0-rc4-IRIX64-64.tar.Z</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-64.tar.gz">cmake-3.0.0-rc4-IRIX64-64.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-n32.sh">cmake-3.0.0-rc4-IRIX64-n32.sh</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-n32.tar.Z">cmake-3.0.0-rc4-IRIX64-n32.tar.Z</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-IRIX64-n32.tar.gz">cmake-3.0.0-rc4-IRIX64-n32.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-Linux-i386.sh">cmake-3.0.0-rc4-Linux-i386.sh</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Linux-i386.tar.Z">cmake-3.0.0-rc4-Linux-i386.tar.Z</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-Linux-i386.tar.gz">cmake-3.0.0-rc4-Linux-i386.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-SHA-256.txt">cmake-3.0.0-rc4-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">2.2K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc4-SHA-256.txt.asc">cmake-3.0.0-rc4-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-win32-x86.exe">cmake-3.0.0-rc4-win32-x86.exe</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4-win32-x86.zip">cmake-3.0.0-rc4-win32-x86.zip</a></td><td align="right">2014-04-18 09:51  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4.tar.Z">cmake-3.0.0-rc4.tar.Z</a></td><td align="right">2014-04-18 09:51  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4.tar.gz">cmake-3.0.0-rc4.tar.gz</a></td><td align="right">2014-04-18 09:51  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc4.zip">cmake-3.0.0-rc4.zip</a></td><td align="right">2014-04-18 09:51  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-1-src.tar.bz2">cmake-3.0.0-rc5-1-src.tar.bz2</a></td><td align="right">2014-05-13 14:25  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-1.tar.bz2">cmake-3.0.0-rc5-1.tar.bz2</a></td><td align="right">2014-05-13 14:25  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin-universal.dmg">cmake-3.0.0-rc5-Darwin-universal.dmg</a></td><td align="right">2014-05-13 14:25  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin-universal.tar.Z">cmake-3.0.0-rc5-Darwin-universal.tar.Z</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin-universal.tar.gz">cmake-3.0.0-rc5-Darwin-universal.tar.gz</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin64-universal.dmg">cmake-3.0.0-rc5-Darwin64-universal.dmg</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin64-universal.tar.Z">cmake-3.0.0-rc5-Darwin64-universal.tar.Z</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Darwin64-universal.tar.gz">cmake-3.0.0-rc5-Darwin64-universal.tar.gz</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc5-Linux-i386.sh">cmake-3.0.0-rc5-Linux-i386.sh</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Linux-i386.tar.Z">cmake-3.0.0-rc5-Linux-i386.tar.Z</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-Linux-i386.tar.gz">cmake-3.0.0-rc5-Linux-i386.tar.gz</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc5-SHA-256.txt">cmake-3.0.0-rc5-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc5-SHA-256.txt.asc">cmake-3.0.0-rc5-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-win32-x86.exe">cmake-3.0.0-rc5-win32-x86.exe</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5-win32-x86.zip">cmake-3.0.0-rc5-win32-x86.zip</a></td><td align="right">2014-05-13 14:24  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5.tar.Z">cmake-3.0.0-rc5.tar.Z</a></td><td align="right">2014-05-13 14:24  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5.tar.gz">cmake-3.0.0-rc5.tar.gz</a></td><td align="right">2014-05-13 14:24  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc5.zip">cmake-3.0.0-rc5.zip</a></td><td align="right">2014-05-13 14:24  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-1-src.tar.bz2">cmake-3.0.0-rc6-1-src.tar.bz2</a></td><td align="right">2014-05-22 14:57  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-1.tar.bz2">cmake-3.0.0-rc6-1.tar.bz2</a></td><td align="right">2014-05-22 14:57  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin-universal.dmg">cmake-3.0.0-rc6-Darwin-universal.dmg</a></td><td align="right">2014-05-22 14:57  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin-universal.tar.Z">cmake-3.0.0-rc6-Darwin-universal.tar.Z</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin-universal.tar.gz">cmake-3.0.0-rc6-Darwin-universal.tar.gz</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin64-universal.dmg">cmake-3.0.0-rc6-Darwin64-universal.dmg</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin64-universal.tar.Z">cmake-3.0.0-rc6-Darwin64-universal.tar.Z</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Darwin64-universal.tar.gz">cmake-3.0.0-rc6-Darwin64-universal.tar.gz</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc6-Linux-i386.sh">cmake-3.0.0-rc6-Linux-i386.sh</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Linux-i386.tar.Z">cmake-3.0.0-rc6-Linux-i386.tar.Z</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-Linux-i386.tar.gz">cmake-3.0.0-rc6-Linux-i386.tar.gz</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc6-SHA-256.txt">cmake-3.0.0-rc6-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.0-rc6-SHA-256.txt.asc">cmake-3.0.0-rc6-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-win32-x86.exe">cmake-3.0.0-rc6-win32-x86.exe</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6-win32-x86.zip">cmake-3.0.0-rc6-win32-x86.zip</a></td><td align="right">2014-05-22 14:56  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6.tar.Z">cmake-3.0.0-rc6.tar.Z</a></td><td align="right">2014-05-22 14:56  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6.tar.gz">cmake-3.0.0-rc6.tar.gz</a></td><td align="right">2014-05-22 14:56  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-rc6.zip">cmake-3.0.0-rc6.zip</a></td><td align="right">2014-05-22 14:56  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-win32-x86.exe">cmake-3.0.0-win32-x86.exe</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0-win32-x86.zip">cmake-3.0.0-win32-x86.zip</a></td><td align="right">2014-06-10 13:27  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0.tar.Z">cmake-3.0.0.tar.Z</a></td><td align="right">2014-06-10 13:27  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0.tar.gz">cmake-3.0.0.tar.gz</a></td><td align="right">2014-06-10 13:27  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.0.zip">cmake-3.0.0.zip</a></td><td align="right">2014-06-10 13:27  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-1-src.tar.bz2">cmake-3.0.1-1-src.tar.bz2</a></td><td align="right">2014-09-11 09:19  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-1.tar.bz2">cmake-3.0.1-1.tar.bz2</a></td><td align="right">2014-09-11 09:19  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin-universal.dmg">cmake-3.0.1-Darwin-universal.dmg</a></td><td align="right">2014-09-11 09:19  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin-universal.tar.Z">cmake-3.0.1-Darwin-universal.tar.Z</a></td><td align="right">2014-09-11 09:19  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin-universal.tar.gz">cmake-3.0.1-Darwin-universal.tar.gz</a></td><td align="right">2014-09-11 09:19  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin64-universal.dmg">cmake-3.0.1-Darwin64-universal.dmg</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin64-universal.tar.Z">cmake-3.0.1-Darwin64-universal.tar.Z</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Darwin64-universal.tar.gz">cmake-3.0.1-Darwin64-universal.tar.gz</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.1-Linux-i386.sh">cmake-3.0.1-Linux-i386.sh</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Linux-i386.tar.Z">cmake-3.0.1-Linux-i386.tar.Z</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-Linux-i386.tar.gz">cmake-3.0.1-Linux-i386.tar.gz</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.1-SHA-256.txt">cmake-3.0.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.1-SHA-256.txt.asc">cmake-3.0.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-win32-x86.exe">cmake-3.0.1-win32-x86.exe</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1-win32-x86.zip">cmake-3.0.1-win32-x86.zip</a></td><td align="right">2014-09-11 09:18  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1.tar.Z">cmake-3.0.1.tar.Z</a></td><td align="right">2014-09-11 09:18  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1.tar.gz">cmake-3.0.1.tar.gz</a></td><td align="right">2014-09-11 09:18  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.1.zip">cmake-3.0.1.zip</a></td><td align="right">2014-09-11 09:18  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-1-src.tar.bz2">cmake-3.0.2-1-src.tar.bz2</a></td><td align="right">2014-09-11 12:19  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-1.tar.bz2">cmake-3.0.2-1.tar.bz2</a></td><td align="right">2014-09-11 12:19  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin-universal.dmg">cmake-3.0.2-Darwin-universal.dmg</a></td><td align="right">2014-09-11 12:19  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin-universal.tar.Z">cmake-3.0.2-Darwin-universal.tar.Z</a></td><td align="right">2014-09-11 12:19  </td><td align="right"> 58M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin-universal.tar.gz">cmake-3.0.2-Darwin-universal.tar.gz</a></td><td align="right">2014-09-11 12:19  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin64-universal.dmg">cmake-3.0.2-Darwin64-universal.dmg</a></td><td align="right">2014-09-11 12:19  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin64-universal.tar.Z">cmake-3.0.2-Darwin64-universal.tar.Z</a></td><td align="right">2014-09-11 12:19  </td><td align="right"> 54M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Darwin64-universal.tar.gz">cmake-3.0.2-Darwin64-universal.tar.gz</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 39M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.2-Linux-i386.sh">cmake-3.0.2-Linux-i386.sh</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Linux-i386.tar.Z">cmake-3.0.2-Linux-i386.tar.Z</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-Linux-i386.tar.gz">cmake-3.0.2-Linux-i386.tar.gz</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.2-SHA-256.txt">cmake-3.0.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.0.2-SHA-256.txt.asc">cmake-3.0.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-win32-x86.exe">cmake-3.0.2-win32-x86.exe</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2-win32-x86.zip">cmake-3.0.2-win32-x86.zip</a></td><td align="right">2014-09-11 12:18  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2.tar.Z">cmake-3.0.2.tar.Z</a></td><td align="right">2014-09-11 12:18  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2.tar.gz">cmake-3.0.2.tar.gz</a></td><td align="right">2014-09-11 12:18  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.0.2.zip">cmake-3.0.2.zip</a></td><td align="right">2014-09-11 12:18  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html
new file mode 100644
index 0000000..635d34c
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.1/index.html
@@ -0,0 +1,156 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.1</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.1</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-1-src.tar.bz2">cmake-3.1.0-1-src.tar.bz2</a></td><td align="right">2014-12-17 13:10  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-1.tar.bz2">cmake-3.1.0-1.tar.bz2</a></td><td align="right">2014-12-17 13:10  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin-universal.dmg">cmake-3.1.0-Darwin-universal.dmg</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin-universal.tar.Z">cmake-3.1.0-Darwin-universal.tar.Z</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 63M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin-universal.tar.gz">cmake-3.1.0-Darwin-universal.tar.gz</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64-universal.dmg">cmake-3.1.0-Darwin64-universal.dmg</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64-universal.tar.Z">cmake-3.1.0-Darwin64-universal.tar.Z</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64-universal.tar.gz">cmake-3.1.0-Darwin64-universal.tar.gz</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64.dmg">cmake-3.1.0-Darwin64.dmg</a></td><td align="right">2014-12-19 11:38  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64.tar.Z">cmake-3.1.0-Darwin64.tar.Z</a></td><td align="right">2014-12-19 11:38  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Darwin64.tar.gz">cmake-3.1.0-Darwin64.tar.gz</a></td><td align="right">2014-12-19 11:38  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-Linux-i386.sh">cmake-3.1.0-Linux-i386.sh</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Linux-i386.tar.Z">cmake-3.1.0-Linux-i386.tar.Z</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Linux-i386.tar.gz">cmake-3.1.0-Linux-i386.tar.gz</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-Linux-x86_64.sh">cmake-3.1.0-Linux-x86_64.sh</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Linux-x86_64.tar.Z">cmake-3.1.0-Linux-x86_64.tar.Z</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-Linux-x86_64.tar.gz">cmake-3.1.0-Linux-x86_64.tar.gz</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-SHA-256.txt">cmake-3.1.0-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.9K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-SHA-256.txt.asc">cmake-3.1.0-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-1-src.tar.bz2">cmake-3.1.0-rc1-1-src.tar.bz2</a></td><td align="right">2014-10-28 14:09  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-1.tar.bz2">cmake-3.1.0-rc1-1.tar.bz2</a></td><td align="right">2014-10-28 14:09  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin-universal.dmg">cmake-3.1.0-rc1-Darwin-universal.dmg</a></td><td align="right">2014-10-28 14:09  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin-universal.tar.Z">cmake-3.1.0-rc1-Darwin-universal.tar.Z</a></td><td align="right">2014-10-28 14:09  </td><td align="right"> 63M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin-universal.tar.gz">cmake-3.1.0-rc1-Darwin-universal.tar.gz</a></td><td align="right">2014-10-28 14:09  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin64-universal.dmg">cmake-3.1.0-rc1-Darwin64-universal.dmg</a></td><td align="right">2014-10-28 14:09  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin64-universal.tar.Z">cmake-3.1.0-rc1-Darwin64-universal.tar.Z</a></td><td align="right">2014-10-28 14:09  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Darwin64-universal.tar.gz">cmake-3.1.0-rc1-Darwin64-universal.tar.gz</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc1-Linux-i386.sh">cmake-3.1.0-rc1-Linux-i386.sh</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Linux-i386.tar.Z">cmake-3.1.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-Linux-i386.tar.gz">cmake-3.1.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc1-SHA-256.txt">cmake-3.1.0-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc1-SHA-256.txt.asc">cmake-3.1.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-win32-x86.exe">cmake-3.1.0-rc1-win32-x86.exe</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1-win32-x86.zip">cmake-3.1.0-rc1-win32-x86.zip</a></td><td align="right">2014-10-28 14:08  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1.tar.Z">cmake-3.1.0-rc1.tar.Z</a></td><td align="right">2014-10-28 14:08  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1.tar.gz">cmake-3.1.0-rc1.tar.gz</a></td><td align="right">2014-10-28 14:08  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc1.zip">cmake-3.1.0-rc1.zip</a></td><td align="right">2014-10-28 14:08  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-1-src.tar.bz2">cmake-3.1.0-rc2-1-src.tar.bz2</a></td><td align="right">2014-11-13 11:51  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-1.tar.bz2">cmake-3.1.0-rc2-1.tar.bz2</a></td><td align="right">2014-11-13 11:51  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin-universal.dmg">cmake-3.1.0-rc2-Darwin-universal.dmg</a></td><td align="right">2014-11-13 11:51  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin-universal.tar.Z">cmake-3.1.0-rc2-Darwin-universal.tar.Z</a></td><td align="right">2014-11-13 11:51  </td><td align="right"> 63M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin-universal.tar.gz">cmake-3.1.0-rc2-Darwin-universal.tar.gz</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin64-universal.dmg">cmake-3.1.0-rc2-Darwin64-universal.dmg</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin64-universal.tar.Z">cmake-3.1.0-rc2-Darwin64-universal.tar.Z</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Darwin64-universal.tar.gz">cmake-3.1.0-rc2-Darwin64-universal.tar.gz</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc2-Linux-i386.sh">cmake-3.1.0-rc2-Linux-i386.sh</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Linux-i386.tar.Z">cmake-3.1.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-Linux-i386.tar.gz">cmake-3.1.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc2-SHA-256.txt">cmake-3.1.0-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc2-SHA-256.txt.asc">cmake-3.1.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-win32-x86.exe">cmake-3.1.0-rc2-win32-x86.exe</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2-win32-x86.zip">cmake-3.1.0-rc2-win32-x86.zip</a></td><td align="right">2014-11-13 11:50  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2.tar.Z">cmake-3.1.0-rc2.tar.Z</a></td><td align="right">2014-11-13 11:50  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2.tar.gz">cmake-3.1.0-rc2.tar.gz</a></td><td align="right">2014-11-13 11:50  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc2.zip">cmake-3.1.0-rc2.zip</a></td><td align="right">2014-11-13 11:50  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-1-src.tar.bz2">cmake-3.1.0-rc3-1-src.tar.bz2</a></td><td align="right">2014-12-09 16:53  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-1.tar.bz2">cmake-3.1.0-rc3-1.tar.bz2</a></td><td align="right">2014-12-09 16:53  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin-universal.dmg">cmake-3.1.0-rc3-Darwin-universal.dmg</a></td><td align="right">2014-12-09 16:53  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin-universal.tar.Z">cmake-3.1.0-rc3-Darwin-universal.tar.Z</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 63M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin-universal.tar.gz">cmake-3.1.0-rc3-Darwin-universal.tar.gz</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin64-universal.dmg">cmake-3.1.0-rc3-Darwin64-universal.dmg</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin64-universal.tar.Z">cmake-3.1.0-rc3-Darwin64-universal.tar.Z</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 40M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Darwin64-universal.tar.gz">cmake-3.1.0-rc3-Darwin64-universal.tar.gz</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc3-Linux-i386.sh">cmake-3.1.0-rc3-Linux-i386.sh</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Linux-i386.tar.Z">cmake-3.1.0-rc3-Linux-i386.tar.Z</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Linux-i386.tar.gz">cmake-3.1.0-rc3-Linux-i386.tar.gz</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc3-Linux-x86_64.sh">cmake-3.1.0-rc3-Linux-x86_64.sh</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Linux-x86_64.tar.Z">cmake-3.1.0-rc3-Linux-x86_64.tar.Z</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-Linux-x86_64.tar.gz">cmake-3.1.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc3-SHA-256.txt">cmake-3.1.0-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.0-rc3-SHA-256.txt.asc">cmake-3.1.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-win32-x86.exe">cmake-3.1.0-rc3-win32-x86.exe</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3-win32-x86.zip">cmake-3.1.0-rc3-win32-x86.zip</a></td><td align="right">2014-12-09 16:52  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3.tar.Z">cmake-3.1.0-rc3.tar.Z</a></td><td align="right">2014-12-09 16:52  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3.tar.gz">cmake-3.1.0-rc3.tar.gz</a></td><td align="right">2014-12-09 16:52  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-rc3.zip">cmake-3.1.0-rc3.zip</a></td><td align="right">2014-12-09 16:52  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-win32-x86.exe">cmake-3.1.0-win32-x86.exe</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0-win32-x86.zip">cmake-3.1.0-win32-x86.zip</a></td><td align="right">2014-12-17 13:10  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0.tar.Z">cmake-3.1.0.tar.Z</a></td><td align="right">2014-12-17 13:10  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0.tar.gz">cmake-3.1.0.tar.gz</a></td><td align="right">2014-12-17 13:10  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.0.zip">cmake-3.1.0.zip</a></td><td align="right">2014-12-17 13:10  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-1-src.tar.bz2">cmake-3.1.1-1-src.tar.bz2</a></td><td align="right">2015-01-22 16:49  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-1.tar.bz2">cmake-3.1.1-1.tar.bz2</a></td><td align="right">2015-01-22 16:49  </td><td align="right">9.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-universal.dmg">cmake-3.1.1-Darwin-universal.dmg</a></td><td align="right">2015-01-22 16:49  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-universal.tar.Z">cmake-3.1.1-Darwin-universal.tar.Z</a></td><td align="right">2015-01-22 16:49  </td><td align="right"> 64M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-universal.tar.gz">cmake-3.1.1-Darwin-universal.tar.gz</a></td><td align="right">2015-01-22 16:49  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-x86_64.dmg">cmake-3.1.1-Darwin-x86_64.dmg</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-x86_64.tar.Z">cmake-3.1.1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Darwin-x86_64.tar.gz">cmake-3.1.1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.1-Linux-i386.sh">cmake-3.1.1-Linux-i386.sh</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Linux-i386.tar.Z">cmake-3.1.1-Linux-i386.tar.Z</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Linux-i386.tar.gz">cmake-3.1.1-Linux-i386.tar.gz</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.1-Linux-x86_64.sh">cmake-3.1.1-Linux-x86_64.sh</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Linux-x86_64.tar.Z">cmake-3.1.1-Linux-x86_64.tar.Z</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-Linux-x86_64.tar.gz">cmake-3.1.1-Linux-x86_64.tar.gz</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.1-SHA-256.txt">cmake-3.1.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.1-SHA-256.txt.asc">cmake-3.1.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-win32-x86.exe">cmake-3.1.1-win32-x86.exe</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1-win32-x86.zip">cmake-3.1.1-win32-x86.zip</a></td><td align="right">2015-01-22 16:48  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1.tar.Z">cmake-3.1.1.tar.Z</a></td><td align="right">2015-01-22 16:48  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1.tar.gz">cmake-3.1.1.tar.gz</a></td><td align="right">2015-01-22 16:48  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.1.zip">cmake-3.1.1.zip</a></td><td align="right">2015-01-22 16:48  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-universal.dmg">cmake-3.1.2-Darwin-universal.dmg</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-universal.tar.Z">cmake-3.1.2-Darwin-universal.tar.Z</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 64M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-universal.tar.gz">cmake-3.1.2-Darwin-universal.tar.gz</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-x86_64.dmg">cmake-3.1.2-Darwin-x86_64.dmg</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-x86_64.tar.Z">cmake-3.1.2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Darwin-x86_64.tar.gz">cmake-3.1.2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.2-Linux-i386.sh">cmake-3.1.2-Linux-i386.sh</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Linux-i386.tar.Z">cmake-3.1.2-Linux-i386.tar.Z</a></td><td align="right">2015-02-05 10:06  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Linux-i386.tar.gz">cmake-3.1.2-Linux-i386.tar.gz</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.2-Linux-x86_64.sh">cmake-3.1.2-Linux-x86_64.sh</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Linux-x86_64.tar.Z">cmake-3.1.2-Linux-x86_64.tar.Z</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-Linux-x86_64.tar.gz">cmake-3.1.2-Linux-x86_64.tar.gz</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.2-SHA-256.txt">cmake-3.1.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.2-SHA-256.txt.asc">cmake-3.1.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-win32-x86.exe">cmake-3.1.2-win32-x86.exe</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2-win32-x86.zip">cmake-3.1.2-win32-x86.zip</a></td><td align="right">2015-02-05 10:05  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2.tar.Z">cmake-3.1.2.tar.Z</a></td><td align="right">2015-02-05 10:05  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2.tar.gz">cmake-3.1.2.tar.gz</a></td><td align="right">2015-02-05 10:05  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.2.zip">cmake-3.1.2.zip</a></td><td align="right">2015-02-05 10:05  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-1-src.tar.bz2">cmake-3.1.3-1-src.tar.bz2</a></td><td align="right">2015-02-12 17:40  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-1.tar.bz2">cmake-3.1.3-1.tar.bz2</a></td><td align="right">2015-02-12 17:40  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-universal.dmg">cmake-3.1.3-Darwin-universal.dmg</a></td><td align="right">2015-02-12 17:40  </td><td align="right"> 45M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-universal.tar.Z">cmake-3.1.3-Darwin-universal.tar.Z</a></td><td align="right">2015-02-12 17:40  </td><td align="right"> 64M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-universal.tar.gz">cmake-3.1.3-Darwin-universal.tar.gz</a></td><td align="right">2015-02-12 17:40  </td><td align="right"> 44M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-x86_64.dmg">cmake-3.1.3-Darwin-x86_64.dmg</a></td><td align="right">2015-02-12 17:40  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-x86_64.tar.Z">cmake-3.1.3-Darwin-x86_64.tar.Z</a></td><td align="right">2015-02-12 17:40  </td><td align="right"> 41M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Darwin-x86_64.tar.gz">cmake-3.1.3-Darwin-x86_64.tar.gz</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.3-Linux-i386.sh">cmake-3.1.3-Linux-i386.sh</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Linux-i386.tar.Z">cmake-3.1.3-Linux-i386.tar.Z</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Linux-i386.tar.gz">cmake-3.1.3-Linux-i386.tar.gz</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.3-Linux-x86_64.sh">cmake-3.1.3-Linux-x86_64.sh</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Linux-x86_64.tar.Z">cmake-3.1.3-Linux-x86_64.tar.Z</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-Linux-x86_64.tar.gz">cmake-3.1.3-Linux-x86_64.tar.gz</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.3-SHA-256.txt">cmake-3.1.3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.1.3-SHA-256.txt.asc">cmake-3.1.3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-win32-x86.exe">cmake-3.1.3-win32-x86.exe</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3-win32-x86.zip">cmake-3.1.3-win32-x86.zip</a></td><td align="right">2015-02-12 17:39  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3.tar.Z">cmake-3.1.3.tar.Z</a></td><td align="right">2015-02-12 17:39  </td><td align="right">9.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3.tar.gz">cmake-3.1.3.tar.gz</a></td><td align="right">2015-02-12 17:39  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.1.3.zip">cmake-3.1.3.zip</a></td><td align="right">2015-02-12 17:39  </td><td align="right">9.0M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html
new file mode 100644
index 0000000..df654a3
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.10/index.html
@@ -0,0 +1,131 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.10</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.10</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-Darwin-x86_64.dmg">cmake-3.10.0-Darwin-x86_64.dmg</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-Darwin-x86_64.tar.gz">cmake-3.10.0-Darwin-x86_64.tar.gz</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-Linux-x86_64.sh">cmake-3.10.0-Linux-x86_64.sh</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-Linux-x86_64.tar.gz">cmake-3.10.0-Linux-x86_64.tar.gz</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-SHA-256.txt">cmake-3.10.0-SHA-256.txt</a></td><td align="right">2017-11-20 16:00  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-SHA-256.txt.asc">cmake-3.10.0-SHA-256.txt.asc</a></td><td align="right">2017-11-20 16:00  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-Darwin-x86_64.dmg">cmake-3.10.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-Darwin-x86_64.tar.gz">cmake-3.10.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc1-Linux-x86_64.sh">cmake-3.10.0-rc1-Linux-x86_64.sh</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-Linux-x86_64.tar.gz">cmake-3.10.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc1-SHA-256.txt">cmake-3.10.0-rc1-SHA-256.txt</a></td><td align="right">2017-10-05 15:50  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc1-SHA-256.txt.asc">cmake-3.10.0-rc1-SHA-256.txt.asc</a></td><td align="right">2017-10-05 15:50  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-win32-x86.msi">cmake-3.10.0-rc1-win32-x86.msi</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-win32-x86.zip">cmake-3.10.0-rc1-win32-x86.zip</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-win64-x64.msi">cmake-3.10.0-rc1-win64-x64.msi</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1-win64-x64.zip">cmake-3.10.0-rc1-win64-x64.zip</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1.tar.Z">cmake-3.10.0-rc1.tar.Z</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1.tar.gz">cmake-3.10.0-rc1.tar.gz</a></td><td align="right">2017-10-05 15:50  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc1.zip">cmake-3.10.0-rc1.zip</a></td><td align="right">2017-10-05 15:50  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-Darwin-x86_64.dmg">cmake-3.10.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2017-10-12 12:07  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-Darwin-x86_64.tar.gz">cmake-3.10.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-10-12 12:07  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc2-Linux-x86_64.sh">cmake-3.10.0-rc2-Linux-x86_64.sh</a></td><td align="right">2017-10-12 12:07  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-Linux-x86_64.tar.gz">cmake-3.10.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2017-10-12 12:07  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc2-SHA-256.txt">cmake-3.10.0-rc2-SHA-256.txt</a></td><td align="right">2017-10-12 12:07  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc2-SHA-256.txt.asc">cmake-3.10.0-rc2-SHA-256.txt.asc</a></td><td align="right">2017-10-12 12:06  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-win32-x86.msi">cmake-3.10.0-rc2-win32-x86.msi</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-win32-x86.zip">cmake-3.10.0-rc2-win32-x86.zip</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-win64-x64.msi">cmake-3.10.0-rc2-win64-x64.msi</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2-win64-x64.zip">cmake-3.10.0-rc2-win64-x64.zip</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2.tar.Z">cmake-3.10.0-rc2.tar.Z</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2.tar.gz">cmake-3.10.0-rc2.tar.gz</a></td><td align="right">2017-10-12 12:06  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc2.zip">cmake-3.10.0-rc2.zip</a></td><td align="right">2017-10-12 12:06  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-Darwin-x86_64.dmg">cmake-3.10.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-Darwin-x86_64.tar.gz">cmake-3.10.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc3-Linux-x86_64.sh">cmake-3.10.0-rc3-Linux-x86_64.sh</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-Linux-x86_64.tar.gz">cmake-3.10.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc3-SHA-256.txt">cmake-3.10.0-rc3-SHA-256.txt</a></td><td align="right">2017-10-19 13:24  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc3-SHA-256.txt.asc">cmake-3.10.0-rc3-SHA-256.txt.asc</a></td><td align="right">2017-10-19 13:24  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-win32-x86.msi">cmake-3.10.0-rc3-win32-x86.msi</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-win32-x86.zip">cmake-3.10.0-rc3-win32-x86.zip</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-win64-x64.msi">cmake-3.10.0-rc3-win64-x64.msi</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3-win64-x64.zip">cmake-3.10.0-rc3-win64-x64.zip</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3.tar.Z">cmake-3.10.0-rc3.tar.Z</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3.tar.gz">cmake-3.10.0-rc3.tar.gz</a></td><td align="right">2017-10-19 13:24  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc3.zip">cmake-3.10.0-rc3.zip</a></td><td align="right">2017-10-19 13:24  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-Darwin-x86_64.dmg">cmake-3.10.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-Darwin-x86_64.tar.gz">cmake-3.10.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc4-Linux-x86_64.sh">cmake-3.10.0-rc4-Linux-x86_64.sh</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-Linux-x86_64.tar.gz">cmake-3.10.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc4-SHA-256.txt">cmake-3.10.0-rc4-SHA-256.txt</a></td><td align="right">2017-11-01 15:37  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc4-SHA-256.txt.asc">cmake-3.10.0-rc4-SHA-256.txt.asc</a></td><td align="right">2017-11-01 15:37  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-win32-x86.msi">cmake-3.10.0-rc4-win32-x86.msi</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-win32-x86.zip">cmake-3.10.0-rc4-win32-x86.zip</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-win64-x64.msi">cmake-3.10.0-rc4-win64-x64.msi</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4-win64-x64.zip">cmake-3.10.0-rc4-win64-x64.zip</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4.tar.Z">cmake-3.10.0-rc4.tar.Z</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4.tar.gz">cmake-3.10.0-rc4.tar.gz</a></td><td align="right">2017-11-01 15:37  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc4.zip">cmake-3.10.0-rc4.zip</a></td><td align="right">2017-11-01 15:37  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-Darwin-x86_64.dmg">cmake-3.10.0-rc5-Darwin-x86_64.dmg</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-Darwin-x86_64.tar.gz">cmake-3.10.0-rc5-Darwin-x86_64.tar.gz</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc5-Linux-x86_64.sh">cmake-3.10.0-rc5-Linux-x86_64.sh</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-Linux-x86_64.tar.gz">cmake-3.10.0-rc5-Linux-x86_64.tar.gz</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc5-SHA-256.txt">cmake-3.10.0-rc5-SHA-256.txt</a></td><td align="right">2017-11-10 14:01  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.0-rc5-SHA-256.txt.asc">cmake-3.10.0-rc5-SHA-256.txt.asc</a></td><td align="right">2017-11-10 14:01  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-win32-x86.msi">cmake-3.10.0-rc5-win32-x86.msi</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-win32-x86.zip">cmake-3.10.0-rc5-win32-x86.zip</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-win64-x64.msi">cmake-3.10.0-rc5-win64-x64.msi</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5-win64-x64.zip">cmake-3.10.0-rc5-win64-x64.zip</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5.tar.Z">cmake-3.10.0-rc5.tar.Z</a></td><td align="right">2017-11-10 14:01  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5.tar.gz">cmake-3.10.0-rc5.tar.gz</a></td><td align="right">2017-11-10 14:01  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-rc5.zip">cmake-3.10.0-rc5.zip</a></td><td align="right">2017-11-10 14:00  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-win32-x86.msi">cmake-3.10.0-win32-x86.msi</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-win32-x86.zip">cmake-3.10.0-win32-x86.zip</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-win64-x64.msi">cmake-3.10.0-win64-x64.msi</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0-win64-x64.zip">cmake-3.10.0-win64-x64.zip</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0.tar.Z">cmake-3.10.0.tar.Z</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0.tar.gz">cmake-3.10.0.tar.gz</a></td><td align="right">2017-11-20 16:00  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.0.zip">cmake-3.10.0.zip</a></td><td align="right">2017-11-20 16:00  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-Darwin-x86_64.dmg">cmake-3.10.1-Darwin-x86_64.dmg</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-Darwin-x86_64.tar.gz">cmake-3.10.1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.1-Linux-x86_64.sh">cmake-3.10.1-Linux-x86_64.sh</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-Linux-x86_64.tar.gz">cmake-3.10.1-Linux-x86_64.tar.gz</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.1-SHA-256.txt">cmake-3.10.1-SHA-256.txt</a></td><td align="right">2017-12-14 09:10  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.1-SHA-256.txt.asc">cmake-3.10.1-SHA-256.txt.asc</a></td><td align="right">2017-12-14 09:10  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-win32-x86.msi">cmake-3.10.1-win32-x86.msi</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-win32-x86.zip">cmake-3.10.1-win32-x86.zip</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-win64-x64.msi">cmake-3.10.1-win64-x64.msi</a></td><td align="right">2017-12-14 09:10  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1-win64-x64.zip">cmake-3.10.1-win64-x64.zip</a></td><td align="right">2017-12-14 09:09  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1.tar.Z">cmake-3.10.1.tar.Z</a></td><td align="right">2017-12-14 09:09  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1.tar.gz">cmake-3.10.1.tar.gz</a></td><td align="right">2017-12-14 09:09  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.1.zip">cmake-3.10.1.zip</a></td><td align="right">2017-12-14 09:09  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-Darwin-x86_64.dmg">cmake-3.10.2-Darwin-x86_64.dmg</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-Darwin-x86_64.tar.gz">cmake-3.10.2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.2-Linux-x86_64.sh">cmake-3.10.2-Linux-x86_64.sh</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-Linux-x86_64.tar.gz">cmake-3.10.2-Linux-x86_64.tar.gz</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.2-SHA-256.txt">cmake-3.10.2-SHA-256.txt</a></td><td align="right">2018-01-18 12:09  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.2-SHA-256.txt.asc">cmake-3.10.2-SHA-256.txt.asc</a></td><td align="right">2018-01-18 12:09  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-win32-x86.msi">cmake-3.10.2-win32-x86.msi</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-win32-x86.zip">cmake-3.10.2-win32-x86.zip</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-win64-x64.msi">cmake-3.10.2-win64-x64.msi</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2-win64-x64.zip">cmake-3.10.2-win64-x64.zip</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2.tar.Z">cmake-3.10.2.tar.Z</a></td><td align="right">2018-01-18 12:09  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2.tar.gz">cmake-3.10.2.tar.gz</a></td><td align="right">2018-01-18 12:09  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.2.zip">cmake-3.10.2.zip</a></td><td align="right">2018-01-18 12:08  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-Darwin-x86_64.dmg">cmake-3.10.3-Darwin-x86_64.dmg</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-Darwin-x86_64.tar.gz">cmake-3.10.3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.3-Linux-x86_64.sh">cmake-3.10.3-Linux-x86_64.sh</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-Linux-x86_64.tar.gz">cmake-3.10.3-Linux-x86_64.tar.gz</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.3-SHA-256.txt">cmake-3.10.3-SHA-256.txt</a></td><td align="right">2018-03-16 09:38  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.10.3-SHA-256.txt.asc">cmake-3.10.3-SHA-256.txt.asc</a></td><td align="right">2018-03-16 09:38  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-win32-x86.msi">cmake-3.10.3-win32-x86.msi</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-win32-x86.zip">cmake-3.10.3-win32-x86.zip</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-win64-x64.msi">cmake-3.10.3-win64-x64.msi</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3-win64-x64.zip">cmake-3.10.3-win64-x64.zip</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3.tar.Z">cmake-3.10.3.tar.Z</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3.tar.gz">cmake-3.10.3.tar.gz</a></td><td align="right">2018-03-16 09:38  </td><td align="right">7.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.10.3.zip">cmake-3.10.3.zip</a></td><td align="right">2018-03-16 09:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html
new file mode 100644
index 0000000..869d742
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.11/index.html
@@ -0,0 +1,131 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.11</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.11</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-Darwin-x86_64.dmg">cmake-3.11.0-Darwin-x86_64.dmg</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-Darwin-x86_64.tar.gz">cmake-3.11.0-Darwin-x86_64.tar.gz</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-Linux-x86_64.sh">cmake-3.11.0-Linux-x86_64.sh</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-Linux-x86_64.tar.gz">cmake-3.11.0-Linux-x86_64.tar.gz</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-SHA-256.txt">cmake-3.11.0-SHA-256.txt</a></td><td align="right">2018-03-28 13:40  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-SHA-256.txt.asc">cmake-3.11.0-SHA-256.txt.asc</a></td><td align="right">2018-03-28 13:40  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-Darwin-x86_64.dmg">cmake-3.11.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-Darwin-x86_64.tar.gz">cmake-3.11.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc1-Linux-x86_64.sh">cmake-3.11.0-rc1-Linux-x86_64.sh</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-Linux-x86_64.tar.gz">cmake-3.11.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc1-SHA-256.txt">cmake-3.11.0-rc1-SHA-256.txt</a></td><td align="right">2018-02-15 11:53  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc1-SHA-256.txt.asc">cmake-3.11.0-rc1-SHA-256.txt.asc</a></td><td align="right">2018-02-15 11:53  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-win32-x86.msi">cmake-3.11.0-rc1-win32-x86.msi</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-win32-x86.zip">cmake-3.11.0-rc1-win32-x86.zip</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-win64-x64.msi">cmake-3.11.0-rc1-win64-x64.msi</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1-win64-x64.zip">cmake-3.11.0-rc1-win64-x64.zip</a></td><td align="right">2018-02-15 11:53  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1.tar.Z">cmake-3.11.0-rc1.tar.Z</a></td><td align="right">2018-02-15 11:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1.tar.gz">cmake-3.11.0-rc1.tar.gz</a></td><td align="right">2018-02-15 11:52  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc1.zip">cmake-3.11.0-rc1.zip</a></td><td align="right">2018-02-15 11:52  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-Darwin-x86_64.dmg">cmake-3.11.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-Darwin-x86_64.tar.gz">cmake-3.11.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc2-Linux-x86_64.sh">cmake-3.11.0-rc2-Linux-x86_64.sh</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-Linux-x86_64.tar.gz">cmake-3.11.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc2-SHA-256.txt">cmake-3.11.0-rc2-SHA-256.txt</a></td><td align="right">2018-02-27 11:09  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc2-SHA-256.txt.asc">cmake-3.11.0-rc2-SHA-256.txt.asc</a></td><td align="right">2018-02-27 11:09  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-win32-x86.msi">cmake-3.11.0-rc2-win32-x86.msi</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-win32-x86.zip">cmake-3.11.0-rc2-win32-x86.zip</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-win64-x64.msi">cmake-3.11.0-rc2-win64-x64.msi</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2-win64-x64.zip">cmake-3.11.0-rc2-win64-x64.zip</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2.tar.Z">cmake-3.11.0-rc2.tar.Z</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2.tar.gz">cmake-3.11.0-rc2.tar.gz</a></td><td align="right">2018-02-27 11:09  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc2.zip">cmake-3.11.0-rc2.zip</a></td><td align="right">2018-02-27 11:09  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-Darwin-x86_64.dmg">cmake-3.11.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2018-03-09 13:46  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-Darwin-x86_64.tar.gz">cmake-3.11.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-03-09 13:46  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc3-Linux-x86_64.sh">cmake-3.11.0-rc3-Linux-x86_64.sh</a></td><td align="right">2018-03-09 13:46  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-Linux-x86_64.tar.gz">cmake-3.11.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2018-03-09 13:46  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc3-SHA-256.txt">cmake-3.11.0-rc3-SHA-256.txt</a></td><td align="right">2018-03-09 13:46  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc3-SHA-256.txt.asc">cmake-3.11.0-rc3-SHA-256.txt.asc</a></td><td align="right">2018-03-09 13:46  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-win32-x86.msi">cmake-3.11.0-rc3-win32-x86.msi</a></td><td align="right">2018-03-09 13:46  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-win32-x86.zip">cmake-3.11.0-rc3-win32-x86.zip</a></td><td align="right">2018-03-09 13:45  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-win64-x64.msi">cmake-3.11.0-rc3-win64-x64.msi</a></td><td align="right">2018-03-09 13:45  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3-win64-x64.zip">cmake-3.11.0-rc3-win64-x64.zip</a></td><td align="right">2018-03-09 13:45  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3.tar.Z">cmake-3.11.0-rc3.tar.Z</a></td><td align="right">2018-03-09 13:45  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3.tar.gz">cmake-3.11.0-rc3.tar.gz</a></td><td align="right">2018-03-09 13:45  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc3.zip">cmake-3.11.0-rc3.zip</a></td><td align="right">2018-03-09 13:45  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-Darwin-x86_64.dmg">cmake-3.11.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2018-03-19 11:07  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-Darwin-x86_64.tar.gz">cmake-3.11.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2018-03-19 11:07  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc4-Linux-x86_64.sh">cmake-3.11.0-rc4-Linux-x86_64.sh</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-Linux-x86_64.tar.gz">cmake-3.11.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc4-SHA-256.txt">cmake-3.11.0-rc4-SHA-256.txt</a></td><td align="right">2018-03-19 11:06  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.0-rc4-SHA-256.txt.asc">cmake-3.11.0-rc4-SHA-256.txt.asc</a></td><td align="right">2018-03-19 11:06  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-win32-x86.msi">cmake-3.11.0-rc4-win32-x86.msi</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-win32-x86.zip">cmake-3.11.0-rc4-win32-x86.zip</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-win64-x64.msi">cmake-3.11.0-rc4-win64-x64.msi</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4-win64-x64.zip">cmake-3.11.0-rc4-win64-x64.zip</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4.tar.Z">cmake-3.11.0-rc4.tar.Z</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4.tar.gz">cmake-3.11.0-rc4.tar.gz</a></td><td align="right">2018-03-19 11:06  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-rc4.zip">cmake-3.11.0-rc4.zip</a></td><td align="right">2018-03-19 11:06  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-win32-x86.msi">cmake-3.11.0-win32-x86.msi</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-win32-x86.zip">cmake-3.11.0-win32-x86.zip</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-win64-x64.msi">cmake-3.11.0-win64-x64.msi</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0-win64-x64.zip">cmake-3.11.0-win64-x64.zip</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0.tar.Z">cmake-3.11.0.tar.Z</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0.tar.gz">cmake-3.11.0.tar.gz</a></td><td align="right">2018-03-28 13:40  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.0.zip">cmake-3.11.0.zip</a></td><td align="right">2018-03-28 13:40  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-Darwin-x86_64.dmg">cmake-3.11.1-Darwin-x86_64.dmg</a></td><td align="right">2018-04-17 11:33  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-Darwin-x86_64.tar.gz">cmake-3.11.1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.1-Linux-x86_64.sh">cmake-3.11.1-Linux-x86_64.sh</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-Linux-x86_64.tar.gz">cmake-3.11.1-Linux-x86_64.tar.gz</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.1-SHA-256.txt">cmake-3.11.1-SHA-256.txt</a></td><td align="right">2018-04-17 11:32  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.1-SHA-256.txt.asc">cmake-3.11.1-SHA-256.txt.asc</a></td><td align="right">2018-04-17 11:32  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-win32-x86.msi">cmake-3.11.1-win32-x86.msi</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-win32-x86.zip">cmake-3.11.1-win32-x86.zip</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-win64-x64.msi">cmake-3.11.1-win64-x64.msi</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1-win64-x64.zip">cmake-3.11.1-win64-x64.zip</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1.tar.Z">cmake-3.11.1.tar.Z</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1.tar.gz">cmake-3.11.1.tar.gz</a></td><td align="right">2018-04-17 11:32  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.1.zip">cmake-3.11.1.zip</a></td><td align="right">2018-04-17 11:32  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-Darwin-x86_64.dmg">cmake-3.11.2-Darwin-x86_64.dmg</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-Darwin-x86_64.tar.gz">cmake-3.11.2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.2-Linux-x86_64.sh">cmake-3.11.2-Linux-x86_64.sh</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-Linux-x86_64.tar.gz">cmake-3.11.2-Linux-x86_64.tar.gz</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.2-SHA-256.txt">cmake-3.11.2-SHA-256.txt</a></td><td align="right">2018-05-17 12:45  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.2-SHA-256.txt.asc">cmake-3.11.2-SHA-256.txt.asc</a></td><td align="right">2018-05-17 12:45  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-win32-x86.msi">cmake-3.11.2-win32-x86.msi</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-win32-x86.zip">cmake-3.11.2-win32-x86.zip</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-win64-x64.msi">cmake-3.11.2-win64-x64.msi</a></td><td align="right">2018-05-17 12:45  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2-win64-x64.zip">cmake-3.11.2-win64-x64.zip</a></td><td align="right">2018-05-17 12:44  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2.tar.Z">cmake-3.11.2.tar.Z</a></td><td align="right">2018-05-17 12:44  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2.tar.gz">cmake-3.11.2.tar.gz</a></td><td align="right">2018-05-17 12:44  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.2.zip">cmake-3.11.2.zip</a></td><td align="right">2018-05-17 12:44  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-Darwin-x86_64.dmg">cmake-3.11.3-Darwin-x86_64.dmg</a></td><td align="right">2018-05-31 15:53  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-Darwin-x86_64.tar.gz">cmake-3.11.3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-05-31 15:53  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.3-Linux-x86_64.sh">cmake-3.11.3-Linux-x86_64.sh</a></td><td align="right">2018-05-31 15:53  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-Linux-x86_64.tar.gz">cmake-3.11.3-Linux-x86_64.tar.gz</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.3-SHA-256.txt">cmake-3.11.3-SHA-256.txt</a></td><td align="right">2018-05-31 15:52  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.3-SHA-256.txt.asc">cmake-3.11.3-SHA-256.txt.asc</a></td><td align="right">2018-05-31 15:52  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-win32-x86.msi">cmake-3.11.3-win32-x86.msi</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-win32-x86.zip">cmake-3.11.3-win32-x86.zip</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-win64-x64.msi">cmake-3.11.3-win64-x64.msi</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3-win64-x64.zip">cmake-3.11.3-win64-x64.zip</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3.tar.Z">cmake-3.11.3.tar.Z</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3.tar.gz">cmake-3.11.3.tar.gz</a></td><td align="right">2018-05-31 15:52  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.3.zip">cmake-3.11.3.zip</a></td><td align="right">2018-05-31 15:52  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-Darwin-x86_64.dmg">cmake-3.11.4-Darwin-x86_64.dmg</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-Darwin-x86_64.tar.gz">cmake-3.11.4-Darwin-x86_64.tar.gz</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.4-Linux-x86_64.sh">cmake-3.11.4-Linux-x86_64.sh</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-Linux-x86_64.tar.gz">cmake-3.11.4-Linux-x86_64.tar.gz</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.4-SHA-256.txt">cmake-3.11.4-SHA-256.txt</a></td><td align="right">2018-06-14 13:50  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.11.4-SHA-256.txt.asc">cmake-3.11.4-SHA-256.txt.asc</a></td><td align="right">2018-06-14 13:50  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-win32-x86.msi">cmake-3.11.4-win32-x86.msi</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-win32-x86.zip">cmake-3.11.4-win32-x86.zip</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-win64-x64.msi">cmake-3.11.4-win64-x64.msi</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4-win64-x64.zip">cmake-3.11.4-win64-x64.zip</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4.tar.Z">cmake-3.11.4.tar.Z</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4.tar.gz">cmake-3.11.4.tar.gz</a></td><td align="right">2018-06-14 13:50  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.11.4.zip">cmake-3.11.4.zip</a></td><td align="right">2018-06-14 13:50  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html
new file mode 100644
index 0000000..1977e7e
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.12/index.html
@@ -0,0 +1,118 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.12</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.12</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-Darwin-x86_64.dmg">cmake-3.12.0-Darwin-x86_64.dmg</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-Darwin-x86_64.tar.gz">cmake-3.12.0-Darwin-x86_64.tar.gz</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-Linux-x86_64.sh">cmake-3.12.0-Linux-x86_64.sh</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-Linux-x86_64.tar.gz">cmake-3.12.0-Linux-x86_64.tar.gz</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-SHA-256.txt">cmake-3.12.0-SHA-256.txt</a></td><td align="right">2018-07-17 09:58  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-SHA-256.txt.asc">cmake-3.12.0-SHA-256.txt.asc</a></td><td align="right">2018-07-17 09:58  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-Darwin-x86_64.dmg">cmake-3.12.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-Darwin-x86_64.tar.gz">cmake-3.12.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc1-Linux-x86_64.sh">cmake-3.12.0-rc1-Linux-x86_64.sh</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-Linux-x86_64.tar.gz">cmake-3.12.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc1-SHA-256.txt">cmake-3.12.0-rc1-SHA-256.txt</a></td><td align="right">2018-06-14 15:01  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc1-SHA-256.txt.asc">cmake-3.12.0-rc1-SHA-256.txt.asc</a></td><td align="right">2018-06-14 15:01  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-win32-x86.msi">cmake-3.12.0-rc1-win32-x86.msi</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-win32-x86.zip">cmake-3.12.0-rc1-win32-x86.zip</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-win64-x64.msi">cmake-3.12.0-rc1-win64-x64.msi</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1-win64-x64.zip">cmake-3.12.0-rc1-win64-x64.zip</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1.tar.Z">cmake-3.12.0-rc1.tar.Z</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1.tar.gz">cmake-3.12.0-rc1.tar.gz</a></td><td align="right">2018-06-14 15:01  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc1.zip">cmake-3.12.0-rc1.zip</a></td><td align="right">2018-06-14 15:01  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-Darwin-x86_64.dmg">cmake-3.12.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2018-06-29 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-Darwin-x86_64.tar.gz">cmake-3.12.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-06-29 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc2-Linux-x86_64.sh">cmake-3.12.0-rc2-Linux-x86_64.sh</a></td><td align="right">2018-06-29 13:57  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-Linux-x86_64.tar.gz">cmake-3.12.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2018-06-29 13:57  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc2-SHA-256.txt">cmake-3.12.0-rc2-SHA-256.txt</a></td><td align="right">2018-06-29 13:57  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc2-SHA-256.txt.asc">cmake-3.12.0-rc2-SHA-256.txt.asc</a></td><td align="right">2018-06-29 13:57  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-win32-x86.msi">cmake-3.12.0-rc2-win32-x86.msi</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-win32-x86.zip">cmake-3.12.0-rc2-win32-x86.zip</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-win64-x64.msi">cmake-3.12.0-rc2-win64-x64.msi</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2-win64-x64.zip">cmake-3.12.0-rc2-win64-x64.zip</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2.tar.Z">cmake-3.12.0-rc2.tar.Z</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2.tar.gz">cmake-3.12.0-rc2.tar.gz</a></td><td align="right">2018-06-29 13:56  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc2.zip">cmake-3.12.0-rc2.zip</a></td><td align="right">2018-06-29 13:56  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-Darwin-x86_64.dmg">cmake-3.12.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-Darwin-x86_64.tar.gz">cmake-3.12.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc3-Linux-x86_64.sh">cmake-3.12.0-rc3-Linux-x86_64.sh</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-Linux-x86_64.tar.gz">cmake-3.12.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc3-SHA-256.txt">cmake-3.12.0-rc3-SHA-256.txt</a></td><td align="right">2018-07-09 11:38  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.0-rc3-SHA-256.txt.asc">cmake-3.12.0-rc3-SHA-256.txt.asc</a></td><td align="right">2018-07-09 11:38  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-win32-x86.msi">cmake-3.12.0-rc3-win32-x86.msi</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-win32-x86.zip">cmake-3.12.0-rc3-win32-x86.zip</a></td><td align="right">2018-07-09 11:38  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-win64-x64.msi">cmake-3.12.0-rc3-win64-x64.msi</a></td><td align="right">2018-07-09 11:37  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3-win64-x64.zip">cmake-3.12.0-rc3-win64-x64.zip</a></td><td align="right">2018-07-09 11:37  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3.tar.Z">cmake-3.12.0-rc3.tar.Z</a></td><td align="right">2018-07-09 11:37  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3.tar.gz">cmake-3.12.0-rc3.tar.gz</a></td><td align="right">2018-07-09 11:37  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-rc3.zip">cmake-3.12.0-rc3.zip</a></td><td align="right">2018-07-09 11:37  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-win32-x86.msi">cmake-3.12.0-win32-x86.msi</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-win32-x86.zip">cmake-3.12.0-win32-x86.zip</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-win64-x64.msi">cmake-3.12.0-win64-x64.msi</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0-win64-x64.zip">cmake-3.12.0-win64-x64.zip</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0.tar.Z">cmake-3.12.0.tar.Z</a></td><td align="right">2018-07-17 09:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0.tar.gz">cmake-3.12.0.tar.gz</a></td><td align="right">2018-07-17 09:58  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.0.zip">cmake-3.12.0.zip</a></td><td align="right">2018-07-17 09:57  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-Darwin-x86_64.dmg">cmake-3.12.1-Darwin-x86_64.dmg</a></td><td align="right">2018-08-09 11:21  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-Darwin-x86_64.tar.gz">cmake-3.12.1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-08-09 11:21  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.1-Linux-x86_64.sh">cmake-3.12.1-Linux-x86_64.sh</a></td><td align="right">2018-08-09 11:21  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-Linux-x86_64.tar.gz">cmake-3.12.1-Linux-x86_64.tar.gz</a></td><td align="right">2018-08-09 11:21  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.1-SHA-256.txt">cmake-3.12.1-SHA-256.txt</a></td><td align="right">2018-08-09 11:20  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.1-SHA-256.txt.asc">cmake-3.12.1-SHA-256.txt.asc</a></td><td align="right">2018-08-09 11:20  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-win32-x86.msi">cmake-3.12.1-win32-x86.msi</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-win32-x86.zip">cmake-3.12.1-win32-x86.zip</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-win64-x64.msi">cmake-3.12.1-win64-x64.msi</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1-win64-x64.zip">cmake-3.12.1-win64-x64.zip</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1.tar.Z">cmake-3.12.1.tar.Z</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1.tar.gz">cmake-3.12.1.tar.gz</a></td><td align="right">2018-08-09 11:20  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.1.zip">cmake-3.12.1.zip</a></td><td align="right">2018-08-09 11:20  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-Darwin-x86_64.dmg">cmake-3.12.2-Darwin-x86_64.dmg</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-Darwin-x86_64.tar.gz">cmake-3.12.2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.2-Linux-x86_64.sh">cmake-3.12.2-Linux-x86_64.sh</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-Linux-x86_64.tar.gz">cmake-3.12.2-Linux-x86_64.tar.gz</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.2-SHA-256.txt">cmake-3.12.2-SHA-256.txt</a></td><td align="right">2018-09-07 12:51  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.2-SHA-256.txt.asc">cmake-3.12.2-SHA-256.txt.asc</a></td><td align="right">2018-09-07 12:51  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-win32-x86.msi">cmake-3.12.2-win32-x86.msi</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-win32-x86.zip">cmake-3.12.2-win32-x86.zip</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-win64-x64.msi">cmake-3.12.2-win64-x64.msi</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2-win64-x64.zip">cmake-3.12.2-win64-x64.zip</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2.tar.Z">cmake-3.12.2.tar.Z</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2.tar.gz">cmake-3.12.2.tar.gz</a></td><td align="right">2018-09-07 12:51  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.2.zip">cmake-3.12.2.zip</a></td><td align="right">2018-09-07 12:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-Darwin-x86_64.dmg">cmake-3.12.3-Darwin-x86_64.dmg</a></td><td align="right">2018-10-03 10:46  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-Darwin-x86_64.tar.gz">cmake-3.12.3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-10-03 10:46  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.3-Linux-x86_64.sh">cmake-3.12.3-Linux-x86_64.sh</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-Linux-x86_64.tar.gz">cmake-3.12.3-Linux-x86_64.tar.gz</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.3-SHA-256.txt">cmake-3.12.3-SHA-256.txt</a></td><td align="right">2018-10-03 10:45  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.3-SHA-256.txt.asc">cmake-3.12.3-SHA-256.txt.asc</a></td><td align="right">2018-10-03 10:45  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-win32-x86.msi">cmake-3.12.3-win32-x86.msi</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-win32-x86.zip">cmake-3.12.3-win32-x86.zip</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-win64-x64.msi">cmake-3.12.3-win64-x64.msi</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3-win64-x64.zip">cmake-3.12.3-win64-x64.zip</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3.tar.Z">cmake-3.12.3.tar.Z</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3.tar.gz">cmake-3.12.3.tar.gz</a></td><td align="right">2018-10-03 10:45  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.3.zip">cmake-3.12.3.zip</a></td><td align="right">2018-10-03 10:45  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-Darwin-x86_64.dmg">cmake-3.12.4-Darwin-x86_64.dmg</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-Darwin-x86_64.tar.gz">cmake-3.12.4-Darwin-x86_64.tar.gz</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.4-Linux-x86_64.sh">cmake-3.12.4-Linux-x86_64.sh</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-Linux-x86_64.tar.gz">cmake-3.12.4-Linux-x86_64.tar.gz</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.4-SHA-256.txt">cmake-3.12.4-SHA-256.txt</a></td><td align="right">2018-11-02 13:51  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.12.4-SHA-256.txt.asc">cmake-3.12.4-SHA-256.txt.asc</a></td><td align="right">2018-11-02 13:51  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-win32-x86.msi">cmake-3.12.4-win32-x86.msi</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-win32-x86.zip">cmake-3.12.4-win32-x86.zip</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-win64-x64.msi">cmake-3.12.4-win64-x64.msi</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4-win64-x64.zip">cmake-3.12.4-win64-x64.zip</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4.tar.Z">cmake-3.12.4.tar.Z</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4.tar.gz">cmake-3.12.4.tar.gz</a></td><td align="right">2018-11-02 13:51  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.12.4.zip">cmake-3.12.4.zip</a></td><td align="right">2018-11-02 13:51  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html
new file mode 100644
index 0000000..b50a791
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.13/index.html
@@ -0,0 +1,131 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.13</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.13</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-Darwin-x86_64.dmg">cmake-3.13.0-Darwin-x86_64.dmg</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-Darwin-x86_64.tar.gz">cmake-3.13.0-Darwin-x86_64.tar.gz</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-Linux-x86_64.sh">cmake-3.13.0-Linux-x86_64.sh</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-Linux-x86_64.tar.gz">cmake-3.13.0-Linux-x86_64.tar.gz</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-SHA-256.txt">cmake-3.13.0-SHA-256.txt</a></td><td align="right">2018-11-20 14:05  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-SHA-256.txt.asc">cmake-3.13.0-SHA-256.txt.asc</a></td><td align="right">2018-11-20 14:05  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-Darwin-x86_64.dmg">cmake-3.13.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-Darwin-x86_64.tar.gz">cmake-3.13.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc1-Linux-x86_64.sh">cmake-3.13.0-rc1-Linux-x86_64.sh</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-Linux-x86_64.tar.gz">cmake-3.13.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc1-SHA-256.txt">cmake-3.13.0-rc1-SHA-256.txt</a></td><td align="right">2018-10-09 11:32  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc1-SHA-256.txt.asc">cmake-3.13.0-rc1-SHA-256.txt.asc</a></td><td align="right">2018-10-09 11:32  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-win32-x86.msi">cmake-3.13.0-rc1-win32-x86.msi</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-win32-x86.zip">cmake-3.13.0-rc1-win32-x86.zip</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-win64-x64.msi">cmake-3.13.0-rc1-win64-x64.msi</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1-win64-x64.zip">cmake-3.13.0-rc1-win64-x64.zip</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1.tar.Z">cmake-3.13.0-rc1.tar.Z</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1.tar.gz">cmake-3.13.0-rc1.tar.gz</a></td><td align="right">2018-10-09 11:32  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc1.zip">cmake-3.13.0-rc1.zip</a></td><td align="right">2018-10-09 11:32  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-Darwin-x86_64.dmg">cmake-3.13.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2018-10-25 10:28  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-Darwin-x86_64.tar.gz">cmake-3.13.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-10-25 10:28  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc2-Linux-x86_64.sh">cmake-3.13.0-rc2-Linux-x86_64.sh</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-Linux-x86_64.tar.gz">cmake-3.13.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc2-SHA-256.txt">cmake-3.13.0-rc2-SHA-256.txt</a></td><td align="right">2018-10-25 10:27  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc2-SHA-256.txt.asc">cmake-3.13.0-rc2-SHA-256.txt.asc</a></td><td align="right">2018-10-25 10:27  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-win32-x86.msi">cmake-3.13.0-rc2-win32-x86.msi</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-win32-x86.zip">cmake-3.13.0-rc2-win32-x86.zip</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-win64-x64.msi">cmake-3.13.0-rc2-win64-x64.msi</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2-win64-x64.zip">cmake-3.13.0-rc2-win64-x64.zip</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2.tar.Z">cmake-3.13.0-rc2.tar.Z</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2.tar.gz">cmake-3.13.0-rc2.tar.gz</a></td><td align="right">2018-10-25 10:27  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc2.zip">cmake-3.13.0-rc2.zip</a></td><td align="right">2018-10-25 10:27  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-Darwin-x86_64.dmg">cmake-3.13.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-Darwin-x86_64.tar.gz">cmake-3.13.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc3-Linux-x86_64.sh">cmake-3.13.0-rc3-Linux-x86_64.sh</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-Linux-x86_64.tar.gz">cmake-3.13.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc3-SHA-256.txt">cmake-3.13.0-rc3-SHA-256.txt</a></td><td align="right">2018-11-07 12:11  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.0-rc3-SHA-256.txt.asc">cmake-3.13.0-rc3-SHA-256.txt.asc</a></td><td align="right">2018-11-07 12:11  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-win32-x86.msi">cmake-3.13.0-rc3-win32-x86.msi</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-win32-x86.zip">cmake-3.13.0-rc3-win32-x86.zip</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-win64-x64.msi">cmake-3.13.0-rc3-win64-x64.msi</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3-win64-x64.zip">cmake-3.13.0-rc3-win64-x64.zip</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3.tar.Z">cmake-3.13.0-rc3.tar.Z</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3.tar.gz">cmake-3.13.0-rc3.tar.gz</a></td><td align="right">2018-11-07 12:11  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-rc3.zip">cmake-3.13.0-rc3.zip</a></td><td align="right">2018-11-07 12:11  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-win32-x86.msi">cmake-3.13.0-win32-x86.msi</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-win32-x86.zip">cmake-3.13.0-win32-x86.zip</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-win64-x64.msi">cmake-3.13.0-win64-x64.msi</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0-win64-x64.zip">cmake-3.13.0-win64-x64.zip</a></td><td align="right">2018-11-20 14:05  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0.tar.Z">cmake-3.13.0.tar.Z</a></td><td align="right">2018-11-20 14:04  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0.tar.gz">cmake-3.13.0.tar.gz</a></td><td align="right">2018-11-20 14:04  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.0.zip">cmake-3.13.0.zip</a></td><td align="right">2018-11-20 14:04  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-Darwin-x86_64.dmg">cmake-3.13.1-Darwin-x86_64.dmg</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-Darwin-x86_64.tar.gz">cmake-3.13.1-Darwin-x86_64.tar.gz</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.1-Linux-x86_64.sh">cmake-3.13.1-Linux-x86_64.sh</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-Linux-x86_64.tar.gz">cmake-3.13.1-Linux-x86_64.tar.gz</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.1-SHA-256.txt">cmake-3.13.1-SHA-256.txt</a></td><td align="right">2018-11-28 08:50  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.1-SHA-256.txt.asc">cmake-3.13.1-SHA-256.txt.asc</a></td><td align="right">2018-11-28 08:50  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-win32-x86.msi">cmake-3.13.1-win32-x86.msi</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-win32-x86.zip">cmake-3.13.1-win32-x86.zip</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-win64-x64.msi">cmake-3.13.1-win64-x64.msi</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1-win64-x64.zip">cmake-3.13.1-win64-x64.zip</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1.tar.Z">cmake-3.13.1.tar.Z</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1.tar.gz">cmake-3.13.1.tar.gz</a></td><td align="right">2018-11-28 08:50  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.1.zip">cmake-3.13.1.zip</a></td><td align="right">2018-11-28 08:50  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-Darwin-x86_64.dmg">cmake-3.13.2-Darwin-x86_64.dmg</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-Darwin-x86_64.tar.gz">cmake-3.13.2-Darwin-x86_64.tar.gz</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.2-Linux-x86_64.sh">cmake-3.13.2-Linux-x86_64.sh</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-Linux-x86_64.tar.gz">cmake-3.13.2-Linux-x86_64.tar.gz</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.2-SHA-256.txt">cmake-3.13.2-SHA-256.txt</a></td><td align="right">2018-12-13 08:41  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.2-SHA-256.txt.asc">cmake-3.13.2-SHA-256.txt.asc</a></td><td align="right">2018-12-13 08:41  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-win32-x86.msi">cmake-3.13.2-win32-x86.msi</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-win32-x86.zip">cmake-3.13.2-win32-x86.zip</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-win64-x64.msi">cmake-3.13.2-win64-x64.msi</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2-win64-x64.zip">cmake-3.13.2-win64-x64.zip</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2.tar.Z">cmake-3.13.2.tar.Z</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2.tar.gz">cmake-3.13.2.tar.gz</a></td><td align="right">2018-12-13 08:41  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.2.zip">cmake-3.13.2.zip</a></td><td align="right">2018-12-13 08:41  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-Darwin-x86_64.dmg">cmake-3.13.3-Darwin-x86_64.dmg</a></td><td align="right">2019-01-14 09:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-Darwin-x86_64.tar.gz">cmake-3.13.3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-01-14 09:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.3-Linux-x86_64.sh">cmake-3.13.3-Linux-x86_64.sh</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-Linux-x86_64.tar.gz">cmake-3.13.3-Linux-x86_64.tar.gz</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.3-SHA-256.txt">cmake-3.13.3-SHA-256.txt</a></td><td align="right">2019-01-14 09:25  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.3-SHA-256.txt.asc">cmake-3.13.3-SHA-256.txt.asc</a></td><td align="right">2019-01-14 09:25  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-win32-x86.msi">cmake-3.13.3-win32-x86.msi</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-win32-x86.zip">cmake-3.13.3-win32-x86.zip</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-win64-x64.msi">cmake-3.13.3-win64-x64.msi</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3-win64-x64.zip">cmake-3.13.3-win64-x64.zip</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3.tar.Z">cmake-3.13.3.tar.Z</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3.tar.gz">cmake-3.13.3.tar.gz</a></td><td align="right">2019-01-14 09:25  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.3.zip">cmake-3.13.3.zip</a></td><td align="right">2019-01-14 09:25  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-Darwin-x86_64.dmg">cmake-3.13.4-Darwin-x86_64.dmg</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-Darwin-x86_64.tar.gz">cmake-3.13.4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.4-Linux-x86_64.sh">cmake-3.13.4-Linux-x86_64.sh</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-Linux-x86_64.tar.gz">cmake-3.13.4-Linux-x86_64.tar.gz</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.4-SHA-256.txt">cmake-3.13.4-SHA-256.txt</a></td><td align="right">2019-02-01 13:20  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.4-SHA-256.txt.asc">cmake-3.13.4-SHA-256.txt.asc</a></td><td align="right">2019-02-01 13:20  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-win32-x86.msi">cmake-3.13.4-win32-x86.msi</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-win32-x86.zip">cmake-3.13.4-win32-x86.zip</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-win64-x64.msi">cmake-3.13.4-win64-x64.msi</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4-win64-x64.zip">cmake-3.13.4-win64-x64.zip</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4.tar.Z">cmake-3.13.4.tar.Z</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4.tar.gz">cmake-3.13.4.tar.gz</a></td><td align="right">2019-02-01 13:20  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.4.zip">cmake-3.13.4.zip</a></td><td align="right">2019-02-01 13:20  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-Darwin-x86_64.dmg">cmake-3.13.5-Darwin-x86_64.dmg</a></td><td align="right">2019-05-14 12:44  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-Darwin-x86_64.tar.gz">cmake-3.13.5-Darwin-x86_64.tar.gz</a></td><td align="right">2019-05-14 12:44  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.5-Linux-x86_64.sh">cmake-3.13.5-Linux-x86_64.sh</a></td><td align="right">2019-05-14 12:44  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-Linux-x86_64.tar.gz">cmake-3.13.5-Linux-x86_64.tar.gz</a></td><td align="right">2019-05-14 12:44  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.5-SHA-256.txt">cmake-3.13.5-SHA-256.txt</a></td><td align="right">2019-05-14 12:43  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.13.5-SHA-256.txt.asc">cmake-3.13.5-SHA-256.txt.asc</a></td><td align="right">2019-05-14 12:43  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-win32-x86.msi">cmake-3.13.5-win32-x86.msi</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-win32-x86.zip">cmake-3.13.5-win32-x86.zip</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-win64-x64.msi">cmake-3.13.5-win64-x64.msi</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5-win64-x64.zip">cmake-3.13.5-win64-x64.zip</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5.tar.Z">cmake-3.13.5.tar.Z</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5.tar.gz">cmake-3.13.5.tar.gz</a></td><td align="right">2019-05-14 12:43  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.13.5.zip">cmake-3.13.5.zip</a></td><td align="right">2019-05-14 12:43  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html
new file mode 100644
index 0000000..bec9c14
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.14/index.html
@@ -0,0 +1,170 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.14</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.14</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-Darwin-x86_64.dmg">cmake-3.14.0-Darwin-x86_64.dmg</a></td><td align="right">2019-03-14 11:37  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-Darwin-x86_64.tar.gz">cmake-3.14.0-Darwin-x86_64.tar.gz</a></td><td align="right">2019-03-14 11:37  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-Linux-x86_64.sh">cmake-3.14.0-Linux-x86_64.sh</a></td><td align="right">2019-03-14 11:37  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-Linux-x86_64.tar.gz">cmake-3.14.0-Linux-x86_64.tar.gz</a></td><td align="right">2019-03-14 11:37  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-SHA-256.txt">cmake-3.14.0-SHA-256.txt</a></td><td align="right">2019-03-22 11:03  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-SHA-256.txt.asc">cmake-3.14.0-SHA-256.txt.asc</a></td><td align="right">2019-03-22 11:03  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-Darwin-x86_64.dmg">cmake-3.14.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-Darwin-x86_64.tar.gz">cmake-3.14.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc1-Linux-x86_64.sh">cmake-3.14.0-rc1-Linux-x86_64.sh</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-Linux-x86_64.tar.gz">cmake-3.14.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc1-SHA-256.txt">cmake-3.14.0-rc1-SHA-256.txt</a></td><td align="right">2019-02-07 10:36  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc1-SHA-256.txt.asc">cmake-3.14.0-rc1-SHA-256.txt.asc</a></td><td align="right">2019-02-07 10:36  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-win32-x86.msi">cmake-3.14.0-rc1-win32-x86.msi</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-win32-x86.zip">cmake-3.14.0-rc1-win32-x86.zip</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-win64-x64.msi">cmake-3.14.0-rc1-win64-x64.msi</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1-win64-x64.zip">cmake-3.14.0-rc1-win64-x64.zip</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1.tar.Z">cmake-3.14.0-rc1.tar.Z</a></td><td align="right">2019-02-07 10:36  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1.tar.gz">cmake-3.14.0-rc1.tar.gz</a></td><td align="right">2019-02-07 10:35  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc1.zip">cmake-3.14.0-rc1.zip</a></td><td align="right">2019-02-07 10:35  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-Darwin-x86_64.dmg">cmake-3.14.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-Darwin-x86_64.tar.gz">cmake-3.14.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc2-Linux-x86_64.sh">cmake-3.14.0-rc2-Linux-x86_64.sh</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-Linux-x86_64.tar.gz">cmake-3.14.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc2-SHA-256.txt">cmake-3.14.0-rc2-SHA-256.txt</a></td><td align="right">2019-02-15 10:04  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc2-SHA-256.txt.asc">cmake-3.14.0-rc2-SHA-256.txt.asc</a></td><td align="right">2019-02-15 10:04  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-win32-x86.msi">cmake-3.14.0-rc2-win32-x86.msi</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-win32-x86.zip">cmake-3.14.0-rc2-win32-x86.zip</a></td><td align="right">2019-02-15 10:04  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-win64-x64.msi">cmake-3.14.0-rc2-win64-x64.msi</a></td><td align="right">2019-02-15 10:03  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2-win64-x64.zip">cmake-3.14.0-rc2-win64-x64.zip</a></td><td align="right">2019-02-15 10:03  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2.tar.Z">cmake-3.14.0-rc2.tar.Z</a></td><td align="right">2019-02-15 10:03  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2.tar.gz">cmake-3.14.0-rc2.tar.gz</a></td><td align="right">2019-02-15 10:03  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc2.zip">cmake-3.14.0-rc2.zip</a></td><td align="right">2019-02-15 10:03  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-Darwin-x86_64.dmg">cmake-3.14.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-Darwin-x86_64.tar.gz">cmake-3.14.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc3-Linux-x86_64.sh">cmake-3.14.0-rc3-Linux-x86_64.sh</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-Linux-x86_64.tar.gz">cmake-3.14.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc3-SHA-256.txt">cmake-3.14.0-rc3-SHA-256.txt</a></td><td align="right">2019-03-01 11:20  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc3-SHA-256.txt.asc">cmake-3.14.0-rc3-SHA-256.txt.asc</a></td><td align="right">2019-03-01 11:20  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-win32-x86.msi">cmake-3.14.0-rc3-win32-x86.msi</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-win32-x86.zip">cmake-3.14.0-rc3-win32-x86.zip</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-win64-x64.msi">cmake-3.14.0-rc3-win64-x64.msi</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3-win64-x64.zip">cmake-3.14.0-rc3-win64-x64.zip</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3.tar.Z">cmake-3.14.0-rc3.tar.Z</a></td><td align="right">2019-03-01 11:20  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3.tar.gz">cmake-3.14.0-rc3.tar.gz</a></td><td align="right">2019-03-01 11:19  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc3.zip">cmake-3.14.0-rc3.zip</a></td><td align="right">2019-03-01 11:19  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-Darwin-x86_64.dmg">cmake-3.14.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2019-03-08 11:09  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-Darwin-x86_64.tar.gz">cmake-3.14.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-03-08 11:09  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc4-Linux-x86_64.sh">cmake-3.14.0-rc4-Linux-x86_64.sh</a></td><td align="right">2019-03-08 11:09  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-Linux-x86_64.tar.gz">cmake-3.14.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2019-03-08 11:09  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc4-SHA-256.txt">cmake-3.14.0-rc4-SHA-256.txt</a></td><td align="right">2019-03-08 11:09  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.0-rc4-SHA-256.txt.asc">cmake-3.14.0-rc4-SHA-256.txt.asc</a></td><td align="right">2019-03-08 11:09  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-win32-x86.msi">cmake-3.14.0-rc4-win32-x86.msi</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-win32-x86.zip">cmake-3.14.0-rc4-win32-x86.zip</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-win64-x64.msi">cmake-3.14.0-rc4-win64-x64.msi</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4-win64-x64.zip">cmake-3.14.0-rc4-win64-x64.zip</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4.tar.Z">cmake-3.14.0-rc4.tar.Z</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4.tar.gz">cmake-3.14.0-rc4.tar.gz</a></td><td align="right">2019-03-08 11:08  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-rc4.zip">cmake-3.14.0-rc4.zip</a></td><td align="right">2019-03-08 11:08  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-win32-x86.msi">cmake-3.14.0-win32-x86.msi</a></td><td align="right">2019-03-14 11:36  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-win32-x86.zip">cmake-3.14.0-win32-x86.zip</a></td><td align="right">2019-03-14 11:36  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-win64-x64.msi">cmake-3.14.0-win64-x64.msi</a></td><td align="right">2019-03-22 11:03  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0-win64-x64.zip">cmake-3.14.0-win64-x64.zip</a></td><td align="right">2019-03-22 11:03  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0.tar.Z">cmake-3.14.0.tar.Z</a></td><td align="right">2019-03-14 11:36  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0.tar.gz">cmake-3.14.0.tar.gz</a></td><td align="right">2019-03-14 11:36  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.0.zip">cmake-3.14.0.zip</a></td><td align="right">2019-03-14 11:36  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-Darwin-x86_64.dmg">cmake-3.14.1-Darwin-x86_64.dmg</a></td><td align="right">2019-03-29 12:20  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-Darwin-x86_64.tar.gz">cmake-3.14.1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-03-29 12:20  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.1-Linux-x86_64.sh">cmake-3.14.1-Linux-x86_64.sh</a></td><td align="right">2019-03-29 12:20  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-Linux-x86_64.tar.gz">cmake-3.14.1-Linux-x86_64.tar.gz</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.1-SHA-256.txt">cmake-3.14.1-SHA-256.txt</a></td><td align="right">2019-03-29 12:19  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.1-SHA-256.txt.asc">cmake-3.14.1-SHA-256.txt.asc</a></td><td align="right">2019-03-29 12:19  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-win32-x86.msi">cmake-3.14.1-win32-x86.msi</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-win32-x86.zip">cmake-3.14.1-win32-x86.zip</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-win64-x64.msi">cmake-3.14.1-win64-x64.msi</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1-win64-x64.zip">cmake-3.14.1-win64-x64.zip</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1.tar.Z">cmake-3.14.1.tar.Z</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1.tar.gz">cmake-3.14.1.tar.gz</a></td><td align="right">2019-03-29 12:19  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.1.zip">cmake-3.14.1.zip</a></td><td align="right">2019-03-29 12:19  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-Darwin-x86_64.dmg">cmake-3.14.2-Darwin-x86_64.dmg</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-Darwin-x86_64.tar.gz">cmake-3.14.2-Darwin-x86_64.tar.gz</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.2-Linux-x86_64.sh">cmake-3.14.2-Linux-x86_64.sh</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-Linux-x86_64.tar.gz">cmake-3.14.2-Linux-x86_64.tar.gz</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.2-SHA-256.txt">cmake-3.14.2-SHA-256.txt</a></td><td align="right">2019-04-12 10:19  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.2-SHA-256.txt.asc">cmake-3.14.2-SHA-256.txt.asc</a></td><td align="right">2019-04-12 10:19  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-win32-x86.msi">cmake-3.14.2-win32-x86.msi</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-win32-x86.zip">cmake-3.14.2-win32-x86.zip</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-win64-x64.msi">cmake-3.14.2-win64-x64.msi</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2-win64-x64.zip">cmake-3.14.2-win64-x64.zip</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2.tar.Z">cmake-3.14.2.tar.Z</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2.tar.gz">cmake-3.14.2.tar.gz</a></td><td align="right">2019-04-12 10:19  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.2.zip">cmake-3.14.2.zip</a></td><td align="right">2019-04-12 10:19  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-Darwin-x86_64.dmg">cmake-3.14.3-Darwin-x86_64.dmg</a></td><td align="right">2019-04-22 10:40  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-Darwin-x86_64.tar.gz">cmake-3.14.3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.3-Linux-x86_64.sh">cmake-3.14.3-Linux-x86_64.sh</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-Linux-x86_64.tar.gz">cmake-3.14.3-Linux-x86_64.tar.gz</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.3-SHA-256.txt">cmake-3.14.3-SHA-256.txt</a></td><td align="right">2019-04-22 10:39  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.3-SHA-256.txt.asc">cmake-3.14.3-SHA-256.txt.asc</a></td><td align="right">2019-04-22 10:39  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-win32-x86.msi">cmake-3.14.3-win32-x86.msi</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-win32-x86.zip">cmake-3.14.3-win32-x86.zip</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-win64-x64.msi">cmake-3.14.3-win64-x64.msi</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3-win64-x64.zip">cmake-3.14.3-win64-x64.zip</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3.tar.Z">cmake-3.14.3.tar.Z</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3.tar.gz">cmake-3.14.3.tar.gz</a></td><td align="right">2019-04-22 10:39  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.3.zip">cmake-3.14.3.zip</a></td><td align="right">2019-04-22 10:39  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-Darwin-x86_64.dmg">cmake-3.14.4-Darwin-x86_64.dmg</a></td><td align="right">2019-05-14 14:00  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-Darwin-x86_64.tar.gz">cmake-3.14.4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-05-14 14:00  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.4-Linux-x86_64.sh">cmake-3.14.4-Linux-x86_64.sh</a></td><td align="right">2019-05-14 14:00  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-Linux-x86_64.tar.gz">cmake-3.14.4-Linux-x86_64.tar.gz</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.4-SHA-256.txt">cmake-3.14.4-SHA-256.txt</a></td><td align="right">2019-05-14 13:59  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.4-SHA-256.txt.asc">cmake-3.14.4-SHA-256.txt.asc</a></td><td align="right">2019-05-14 13:59  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-win32-x86.msi">cmake-3.14.4-win32-x86.msi</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-win32-x86.zip">cmake-3.14.4-win32-x86.zip</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-win64-x64.msi">cmake-3.14.4-win64-x64.msi</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4-win64-x64.zip">cmake-3.14.4-win64-x64.zip</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4.tar.Z">cmake-3.14.4.tar.Z</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4.tar.gz">cmake-3.14.4.tar.gz</a></td><td align="right">2019-05-14 13:59  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.4.zip">cmake-3.14.4.zip</a></td><td align="right">2019-05-14 13:59  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-Darwin-x86_64.dmg">cmake-3.14.5-Darwin-x86_64.dmg</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-Darwin-x86_64.tar.gz">cmake-3.14.5-Darwin-x86_64.tar.gz</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.5-Linux-x86_64.sh">cmake-3.14.5-Linux-x86_64.sh</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-Linux-x86_64.tar.gz">cmake-3.14.5-Linux-x86_64.tar.gz</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.5-SHA-256.txt">cmake-3.14.5-SHA-256.txt</a></td><td align="right">2019-05-31 12:39  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.5-SHA-256.txt.asc">cmake-3.14.5-SHA-256.txt.asc</a></td><td align="right">2019-05-31 12:39  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-win32-x86.msi">cmake-3.14.5-win32-x86.msi</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-win32-x86.zip">cmake-3.14.5-win32-x86.zip</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-win64-x64.msi">cmake-3.14.5-win64-x64.msi</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5-win64-x64.zip">cmake-3.14.5-win64-x64.zip</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5.tar.Z">cmake-3.14.5.tar.Z</a></td><td align="right">2019-05-31 12:39  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5.tar.gz">cmake-3.14.5.tar.gz</a></td><td align="right">2019-05-31 12:39  </td><td align="right">8.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.5.zip">cmake-3.14.5.zip</a></td><td align="right">2019-05-31 12:40  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-Darwin-x86_64.dmg">cmake-3.14.6-Darwin-x86_64.dmg</a></td><td align="right">2019-07-16 09:33  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-Darwin-x86_64.tar.gz">cmake-3.14.6-Darwin-x86_64.tar.gz</a></td><td align="right">2019-07-16 09:33  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.6-Linux-x86_64.sh">cmake-3.14.6-Linux-x86_64.sh</a></td><td align="right">2019-07-16 09:33  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-Linux-x86_64.tar.gz">cmake-3.14.6-Linux-x86_64.tar.gz</a></td><td align="right">2019-07-16 09:33  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.6-SHA-256.txt">cmake-3.14.6-SHA-256.txt</a></td><td align="right">2019-07-16 09:33  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.6-SHA-256.txt.asc">cmake-3.14.6-SHA-256.txt.asc</a></td><td align="right">2019-07-16 09:33  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-win32-x86.msi">cmake-3.14.6-win32-x86.msi</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-win32-x86.zip">cmake-3.14.6-win32-x86.zip</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-win64-x64.msi">cmake-3.14.6-win64-x64.msi</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6-win64-x64.zip">cmake-3.14.6-win64-x64.zip</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6.tar.Z">cmake-3.14.6.tar.Z</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6.tar.gz">cmake-3.14.6.tar.gz</a></td><td align="right">2019-07-16 09:34  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.6.zip">cmake-3.14.6.zip</a></td><td align="right">2019-07-16 09:34  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-Darwin-x86_64.dmg">cmake-3.14.7-Darwin-x86_64.dmg</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-Darwin-x86_64.tar.gz">cmake-3.14.7-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 32M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.7-Linux-x86_64.sh">cmake-3.14.7-Linux-x86_64.sh</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-Linux-x86_64.tar.gz">cmake-3.14.7-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.7-SHA-256.txt">cmake-3.14.7-SHA-256.txt</a></td><td align="right">2019-10-02 10:48  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.14.7-SHA-256.txt.asc">cmake-3.14.7-SHA-256.txt.asc</a></td><td align="right">2019-10-02 10:48  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-win32-x86.msi">cmake-3.14.7-win32-x86.msi</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-win32-x86.zip">cmake-3.14.7-win32-x86.zip</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-win64-x64.msi">cmake-3.14.7-win64-x64.msi</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7-win64-x64.zip">cmake-3.14.7-win64-x64.zip</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7.tar.Z">cmake-3.14.7.tar.Z</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7.tar.gz">cmake-3.14.7.tar.gz</a></td><td align="right">2019-10-02 10:48  </td><td align="right">8.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.14.7.zip">cmake-3.14.7.zip</a></td><td align="right">2019-10-02 10:48  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html
new file mode 100644
index 0000000..9272676
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.15/index.html
@@ -0,0 +1,157 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.15</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.15</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-Darwin-x86_64.dmg">cmake-3.15.0-Darwin-x86_64.dmg</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-Darwin-x86_64.tar.gz">cmake-3.15.0-Darwin-x86_64.tar.gz</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-Linux-x86_64.sh">cmake-3.15.0-Linux-x86_64.sh</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-Linux-x86_64.tar.gz">cmake-3.15.0-Linux-x86_64.tar.gz</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-SHA-256.txt">cmake-3.15.0-SHA-256.txt</a></td><td align="right">2019-07-17 10:38  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-SHA-256.txt.asc">cmake-3.15.0-SHA-256.txt.asc</a></td><td align="right">2019-07-17 10:38  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-Darwin-x86_64.dmg">cmake-3.15.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2019-06-04 14:22  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-Darwin-x86_64.tar.gz">cmake-3.15.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-06-04 14:22  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc1-Linux-x86_64.sh">cmake-3.15.0-rc1-Linux-x86_64.sh</a></td><td align="right">2019-06-04 14:22  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-Linux-x86_64.tar.gz">cmake-3.15.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2019-06-04 14:22  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc1-SHA-256.txt">cmake-3.15.0-rc1-SHA-256.txt</a></td><td align="right">2019-06-04 14:22  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc1-SHA-256.txt.asc">cmake-3.15.0-rc1-SHA-256.txt.asc</a></td><td align="right">2019-06-04 14:22  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-win32-x86.msi">cmake-3.15.0-rc1-win32-x86.msi</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-win32-x86.zip">cmake-3.15.0-rc1-win32-x86.zip</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-win64-x64.msi">cmake-3.15.0-rc1-win64-x64.msi</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1-win64-x64.zip">cmake-3.15.0-rc1-win64-x64.zip</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1.tar.Z">cmake-3.15.0-rc1.tar.Z</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1.tar.gz">cmake-3.15.0-rc1.tar.gz</a></td><td align="right">2019-06-04 14:22  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc1.zip">cmake-3.15.0-rc1.zip</a></td><td align="right">2019-06-04 14:23  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-Darwin-x86_64.dmg">cmake-3.15.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-Darwin-x86_64.tar.gz">cmake-3.15.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc2-Linux-x86_64.sh">cmake-3.15.0-rc2-Linux-x86_64.sh</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-Linux-x86_64.tar.gz">cmake-3.15.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc2-SHA-256.txt">cmake-3.15.0-rc2-SHA-256.txt</a></td><td align="right">2019-06-19 10:04  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc2-SHA-256.txt.asc">cmake-3.15.0-rc2-SHA-256.txt.asc</a></td><td align="right">2019-06-19 10:04  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-win32-x86.msi">cmake-3.15.0-rc2-win32-x86.msi</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-win32-x86.zip">cmake-3.15.0-rc2-win32-x86.zip</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-win64-x64.msi">cmake-3.15.0-rc2-win64-x64.msi</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2-win64-x64.zip">cmake-3.15.0-rc2-win64-x64.zip</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2.tar.Z">cmake-3.15.0-rc2.tar.Z</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2.tar.gz">cmake-3.15.0-rc2.tar.gz</a></td><td align="right">2019-06-19 10:04  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc2.zip">cmake-3.15.0-rc2.zip</a></td><td align="right">2019-06-19 10:04  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-Darwin-x86_64.dmg">cmake-3.15.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-Darwin-x86_64.tar.gz">cmake-3.15.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc3-Linux-x86_64.sh">cmake-3.15.0-rc3-Linux-x86_64.sh</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-Linux-x86_64.tar.gz">cmake-3.15.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc3-SHA-256.txt">cmake-3.15.0-rc3-SHA-256.txt</a></td><td align="right">2019-06-27 11:33  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc3-SHA-256.txt.asc">cmake-3.15.0-rc3-SHA-256.txt.asc</a></td><td align="right">2019-06-27 11:33  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-win32-x86.msi">cmake-3.15.0-rc3-win32-x86.msi</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-win32-x86.zip">cmake-3.15.0-rc3-win32-x86.zip</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-win64-x64.msi">cmake-3.15.0-rc3-win64-x64.msi</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3-win64-x64.zip">cmake-3.15.0-rc3-win64-x64.zip</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3.tar.Z">cmake-3.15.0-rc3.tar.Z</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3.tar.gz">cmake-3.15.0-rc3.tar.gz</a></td><td align="right">2019-06-27 11:33  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc3.zip">cmake-3.15.0-rc3.zip</a></td><td align="right">2019-06-27 11:33  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-Darwin-x86_64.dmg">cmake-3.15.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2019-07-10 15:06  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-Darwin-x86_64.tar.gz">cmake-3.15.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc4-Linux-x86_64.sh">cmake-3.15.0-rc4-Linux-x86_64.sh</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-Linux-x86_64.tar.gz">cmake-3.15.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc4-SHA-256.txt">cmake-3.15.0-rc4-SHA-256.txt</a></td><td align="right">2019-07-10 15:07  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.0-rc4-SHA-256.txt.asc">cmake-3.15.0-rc4-SHA-256.txt.asc</a></td><td align="right">2019-07-10 15:07  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-win32-x86.msi">cmake-3.15.0-rc4-win32-x86.msi</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-win32-x86.zip">cmake-3.15.0-rc4-win32-x86.zip</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-win64-x64.msi">cmake-3.15.0-rc4-win64-x64.msi</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4-win64-x64.zip">cmake-3.15.0-rc4-win64-x64.zip</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4.tar.Z">cmake-3.15.0-rc4.tar.Z</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4.tar.gz">cmake-3.15.0-rc4.tar.gz</a></td><td align="right">2019-07-10 15:07  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-rc4.zip">cmake-3.15.0-rc4.zip</a></td><td align="right">2019-07-10 15:07  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-win32-x86.msi">cmake-3.15.0-win32-x86.msi</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-win32-x86.zip">cmake-3.15.0-win32-x86.zip</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-win64-x64.msi">cmake-3.15.0-win64-x64.msi</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0-win64-x64.zip">cmake-3.15.0-win64-x64.zip</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0.tar.Z">cmake-3.15.0.tar.Z</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0.tar.gz">cmake-3.15.0.tar.gz</a></td><td align="right">2019-07-17 10:38  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.0.zip">cmake-3.15.0.zip</a></td><td align="right">2019-07-17 10:38  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-Darwin-x86_64.dmg">cmake-3.15.1-Darwin-x86_64.dmg</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-Darwin-x86_64.tar.gz">cmake-3.15.1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.1-Linux-x86_64.sh">cmake-3.15.1-Linux-x86_64.sh</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-Linux-x86_64.tar.gz">cmake-3.15.1-Linux-x86_64.tar.gz</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.1-SHA-256.txt">cmake-3.15.1-SHA-256.txt</a></td><td align="right">2019-07-26 10:14  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.1-SHA-256.txt.asc">cmake-3.15.1-SHA-256.txt.asc</a></td><td align="right">2019-07-26 10:14  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-win32-x86.msi">cmake-3.15.1-win32-x86.msi</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-win32-x86.zip">cmake-3.15.1-win32-x86.zip</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-win64-x64.msi">cmake-3.15.1-win64-x64.msi</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1-win64-x64.zip">cmake-3.15.1-win64-x64.zip</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1.tar.Z">cmake-3.15.1.tar.Z</a></td><td align="right">2019-07-26 10:14  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1.tar.gz">cmake-3.15.1.tar.gz</a></td><td align="right">2019-07-26 10:14  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.1.zip">cmake-3.15.1.zip</a></td><td align="right">2019-07-26 10:15  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-Darwin-x86_64.dmg">cmake-3.15.2-Darwin-x86_64.dmg</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-Darwin-x86_64.tar.gz">cmake-3.15.2-Darwin-x86_64.tar.gz</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.2-Linux-x86_64.sh">cmake-3.15.2-Linux-x86_64.sh</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-Linux-x86_64.tar.gz">cmake-3.15.2-Linux-x86_64.tar.gz</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.2-SHA-256.txt">cmake-3.15.2-SHA-256.txt</a></td><td align="right">2019-08-07 15:05  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.2-SHA-256.txt.asc">cmake-3.15.2-SHA-256.txt.asc</a></td><td align="right">2019-08-07 15:05  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-win32-x86.msi">cmake-3.15.2-win32-x86.msi</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-win32-x86.zip">cmake-3.15.2-win32-x86.zip</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-win64-x64.msi">cmake-3.15.2-win64-x64.msi</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2-win64-x64.zip">cmake-3.15.2-win64-x64.zip</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2.tar.Z">cmake-3.15.2.tar.Z</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2.tar.gz">cmake-3.15.2.tar.gz</a></td><td align="right">2019-08-07 15:05  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.2.zip">cmake-3.15.2.zip</a></td><td align="right">2019-08-07 15:05  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-Darwin-x86_64.dmg">cmake-3.15.3-Darwin-x86_64.dmg</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-Darwin-x86_64.tar.gz">cmake-3.15.3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.3-Linux-x86_64.sh">cmake-3.15.3-Linux-x86_64.sh</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-Linux-x86_64.tar.gz">cmake-3.15.3-Linux-x86_64.tar.gz</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.3-SHA-256.txt">cmake-3.15.3-SHA-256.txt</a></td><td align="right">2019-09-04 11:13  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.3-SHA-256.txt.asc">cmake-3.15.3-SHA-256.txt.asc</a></td><td align="right">2019-09-04 11:13  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-win32-x86.msi">cmake-3.15.3-win32-x86.msi</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-win32-x86.zip">cmake-3.15.3-win32-x86.zip</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-win64-x64.msi">cmake-3.15.3-win64-x64.msi</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3-win64-x64.zip">cmake-3.15.3-win64-x64.zip</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3.tar.Z">cmake-3.15.3.tar.Z</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3.tar.gz">cmake-3.15.3.tar.gz</a></td><td align="right">2019-09-04 11:13  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.3.zip">cmake-3.15.3.zip</a></td><td align="right">2019-09-04 11:13  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-Darwin-x86_64.dmg">cmake-3.15.4-Darwin-x86_64.dmg</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-Darwin-x86_64.tar.gz">cmake-3.15.4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.4-Linux-x86_64.sh">cmake-3.15.4-Linux-x86_64.sh</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-Linux-x86_64.tar.gz">cmake-3.15.4-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.4-SHA-256.txt">cmake-3.15.4-SHA-256.txt</a></td><td align="right">2019-10-02 10:45  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.4-SHA-256.txt.asc">cmake-3.15.4-SHA-256.txt.asc</a></td><td align="right">2019-10-02 10:45  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-win32-x86.msi">cmake-3.15.4-win32-x86.msi</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-win32-x86.zip">cmake-3.15.4-win32-x86.zip</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-win64-x64.msi">cmake-3.15.4-win64-x64.msi</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4-win64-x64.zip">cmake-3.15.4-win64-x64.zip</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4.tar.Z">cmake-3.15.4.tar.Z</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4.tar.gz">cmake-3.15.4.tar.gz</a></td><td align="right">2019-10-02 10:45  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.4.zip">cmake-3.15.4.zip</a></td><td align="right">2019-10-02 10:45  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-Darwin-x86_64.dmg">cmake-3.15.5-Darwin-x86_64.dmg</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-Darwin-x86_64.tar.gz">cmake-3.15.5-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.5-Linux-x86_64.sh">cmake-3.15.5-Linux-x86_64.sh</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-Linux-x86_64.tar.gz">cmake-3.15.5-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.5-SHA-256.txt">cmake-3.15.5-SHA-256.txt</a></td><td align="right">2019-10-30 10:49  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.5-SHA-256.txt.asc">cmake-3.15.5-SHA-256.txt.asc</a></td><td align="right">2019-10-30 10:49  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-win32-x86.msi">cmake-3.15.5-win32-x86.msi</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-win32-x86.zip">cmake-3.15.5-win32-x86.zip</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-win64-x64.msi">cmake-3.15.5-win64-x64.msi</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5-win64-x64.zip">cmake-3.15.5-win64-x64.zip</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5.tar.Z">cmake-3.15.5.tar.Z</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5.tar.gz">cmake-3.15.5.tar.gz</a></td><td align="right">2019-10-30 10:49  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.5.zip">cmake-3.15.5.zip</a></td><td align="right">2019-10-30 10:49  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-Darwin-x86_64.dmg">cmake-3.15.6-Darwin-x86_64.dmg</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-Darwin-x86_64.tar.gz">cmake-3.15.6-Darwin-x86_64.tar.gz</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 33M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.6-Linux-x86_64.sh">cmake-3.15.6-Linux-x86_64.sh</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-Linux-x86_64.tar.gz">cmake-3.15.6-Linux-x86_64.tar.gz</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.6-SHA-256.txt">cmake-3.15.6-SHA-256.txt</a></td><td align="right">2019-12-16 11:30  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.15.6-SHA-256.txt.asc">cmake-3.15.6-SHA-256.txt.asc</a></td><td align="right">2019-12-16 11:30  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-win32-x86.msi">cmake-3.15.6-win32-x86.msi</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-win32-x86.zip">cmake-3.15.6-win32-x86.zip</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-win64-x64.msi">cmake-3.15.6-win64-x64.msi</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6-win64-x64.zip">cmake-3.15.6-win64-x64.zip</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6.tar.Z">cmake-3.15.6.tar.Z</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6.tar.gz">cmake-3.15.6.tar.gz</a></td><td align="right">2019-12-16 11:30  </td><td align="right">8.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.15.6.zip">cmake-3.15.6.zip</a></td><td align="right">2019-12-16 11:30  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html
new file mode 100644
index 0000000..74f9b40
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.16/index.html
@@ -0,0 +1,86 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.16</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.16</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-Darwin-x86_64.dmg">cmake-3.16.0-Darwin-x86_64.dmg</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-Darwin-x86_64.tar.gz">cmake-3.16.0-Darwin-x86_64.tar.gz</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-Linux-x86_64.sh">cmake-3.16.0-Linux-x86_64.sh</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-Linux-x86_64.tar.gz">cmake-3.16.0-Linux-x86_64.tar.gz</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-SHA-256.txt">cmake-3.16.0-SHA-256.txt</a></td><td align="right">2019-11-26 10:27  </td><td align="right">932 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-SHA-256.txt.asc">cmake-3.16.0-SHA-256.txt.asc</a></td><td align="right">2019-11-26 10:27  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-Darwin-x86_64.dmg">cmake-3.16.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-Darwin-x86_64.tar.gz">cmake-3.16.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc1-Linux-x86_64.sh">cmake-3.16.0-rc1-Linux-x86_64.sh</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-Linux-x86_64.tar.gz">cmake-3.16.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc1-SHA-256.txt">cmake-3.16.0-rc1-SHA-256.txt</a></td><td align="right">2019-10-10 14:18  </td><td align="right">972 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc1-SHA-256.txt.asc">cmake-3.16.0-rc1-SHA-256.txt.asc</a></td><td align="right">2019-10-10 14:18  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-win32-x86.msi">cmake-3.16.0-rc1-win32-x86.msi</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-win32-x86.zip">cmake-3.16.0-rc1-win32-x86.zip</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-win64-x64.msi">cmake-3.16.0-rc1-win64-x64.msi</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1-win64-x64.zip">cmake-3.16.0-rc1-win64-x64.zip</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1.tar.gz">cmake-3.16.0-rc1.tar.gz</a></td><td align="right">2019-10-10 14:18  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc1.zip">cmake-3.16.0-rc1.zip</a></td><td align="right">2019-10-10 14:18  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-Darwin-x86_64.dmg">cmake-3.16.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-Darwin-x86_64.tar.gz">cmake-3.16.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc2-Linux-x86_64.sh">cmake-3.16.0-rc2-Linux-x86_64.sh</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-Linux-x86_64.tar.gz">cmake-3.16.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc2-SHA-256.txt">cmake-3.16.0-rc2-SHA-256.txt</a></td><td align="right">2019-10-18 10:47  </td><td align="right">972 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc2-SHA-256.txt.asc">cmake-3.16.0-rc2-SHA-256.txt.asc</a></td><td align="right">2019-10-18 10:47  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-win32-x86.msi">cmake-3.16.0-rc2-win32-x86.msi</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-win32-x86.zip">cmake-3.16.0-rc2-win32-x86.zip</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-win64-x64.msi">cmake-3.16.0-rc2-win64-x64.msi</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2-win64-x64.zip">cmake-3.16.0-rc2-win64-x64.zip</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2.tar.gz">cmake-3.16.0-rc2.tar.gz</a></td><td align="right">2019-10-18 10:47  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc2.zip">cmake-3.16.0-rc2.zip</a></td><td align="right">2019-10-18 10:47  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-Darwin-x86_64.dmg">cmake-3.16.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2019-10-31 12:09  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-Darwin-x86_64.tar.gz">cmake-3.16.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2019-10-31 12:09  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc3-Linux-x86_64.sh">cmake-3.16.0-rc3-Linux-x86_64.sh</a></td><td align="right">2019-10-31 12:09  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-Linux-x86_64.tar.gz">cmake-3.16.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc3-SHA-256.txt">cmake-3.16.0-rc3-SHA-256.txt</a></td><td align="right">2019-10-31 12:10  </td><td align="right">972 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc3-SHA-256.txt.asc">cmake-3.16.0-rc3-SHA-256.txt.asc</a></td><td align="right">2019-10-31 12:10  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-win32-x86.msi">cmake-3.16.0-rc3-win32-x86.msi</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-win32-x86.zip">cmake-3.16.0-rc3-win32-x86.zip</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-win64-x64.msi">cmake-3.16.0-rc3-win64-x64.msi</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3-win64-x64.zip">cmake-3.16.0-rc3-win64-x64.zip</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3.tar.gz">cmake-3.16.0-rc3.tar.gz</a></td><td align="right">2019-10-31 12:10  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc3.zip">cmake-3.16.0-rc3.zip</a></td><td align="right">2019-10-31 12:10  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-Darwin-x86_64.dmg">cmake-3.16.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-Darwin-x86_64.tar.gz">cmake-3.16.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc4-Linux-x86_64.sh">cmake-3.16.0-rc4-Linux-x86_64.sh</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-Linux-x86_64.tar.gz">cmake-3.16.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc4-SHA-256.txt">cmake-3.16.0-rc4-SHA-256.txt</a></td><td align="right">2019-11-18 17:01  </td><td align="right">972 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.0-rc4-SHA-256.txt.asc">cmake-3.16.0-rc4-SHA-256.txt.asc</a></td><td align="right">2019-11-18 17:01  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-win32-x86.msi">cmake-3.16.0-rc4-win32-x86.msi</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-win32-x86.zip">cmake-3.16.0-rc4-win32-x86.zip</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-win64-x64.msi">cmake-3.16.0-rc4-win64-x64.msi</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4-win64-x64.zip">cmake-3.16.0-rc4-win64-x64.zip</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4.tar.gz">cmake-3.16.0-rc4.tar.gz</a></td><td align="right">2019-11-18 17:01  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-rc4.zip">cmake-3.16.0-rc4.zip</a></td><td align="right">2019-11-18 17:01  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-win32-x86.msi">cmake-3.16.0-win32-x86.msi</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-win32-x86.zip">cmake-3.16.0-win32-x86.zip</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-win64-x64.msi">cmake-3.16.0-win64-x64.msi</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0-win64-x64.zip">cmake-3.16.0-win64-x64.zip</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0.tar.gz">cmake-3.16.0.tar.gz</a></td><td align="right">2019-11-26 10:27  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.0.zip">cmake-3.16.0.zip</a></td><td align="right">2019-11-26 10:27  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-Darwin-x86_64.dmg">cmake-3.16.1-Darwin-x86_64.dmg</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 35M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-Darwin-x86_64.tar.gz">cmake-3.16.1-Darwin-x86_64.tar.gz</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 34M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.1-Linux-x86_64.sh">cmake-3.16.1-Linux-x86_64.sh</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-Linux-x86_64.tar.gz">cmake-3.16.1-Linux-x86_64.tar.gz</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.1-SHA-256.txt">cmake-3.16.1-SHA-256.txt</a></td><td align="right">2019-12-10 10:42  </td><td align="right">932 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.16.1-SHA-256.txt.asc">cmake-3.16.1-SHA-256.txt.asc</a></td><td align="right">2019-12-10 10:42  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-win32-x86.msi">cmake-3.16.1-win32-x86.msi</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-win32-x86.zip">cmake-3.16.1-win32-x86.zip</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 28M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-win64-x64.msi">cmake-3.16.1-win64-x64.msi</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1-win64-x64.zip">cmake-3.16.1-win64-x64.zip</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1.tar.gz">cmake-3.16.1.tar.gz</a></td><td align="right">2019-12-10 10:42  </td><td align="right">8.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.16.1.zip">cmake-3.16.1.zip</a></td><td align="right">2019-12-10 10:42  </td><td align="right"> 14M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.2/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.2/index.html
new file mode 100644
index 0000000..a8c6c7f
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.2/index.html
@@ -0,0 +1,132 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.2</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.2</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-1-src.tar.bz2">cmake-3.2.0-1-src.tar.bz2</a></td><td align="right">2015-03-10 09:02  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-1.tar.bz2">cmake-3.2.0-1.tar.bz2</a></td><td align="right">2015-03-10 09:02  </td><td align="right">9.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-universal.dmg">cmake-3.2.0-Darwin-universal.dmg</a></td><td align="right">2015-03-10 09:02  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-universal.tar.Z">cmake-3.2.0-Darwin-universal.tar.Z</a></td><td align="right">2015-03-10 09:02  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-universal.tar.gz">cmake-3.2.0-Darwin-universal.tar.gz</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-x86_64.dmg">cmake-3.2.0-Darwin-x86_64.dmg</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-x86_64.tar.Z">cmake-3.2.0-Darwin-x86_64.tar.Z</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Darwin-x86_64.tar.gz">cmake-3.2.0-Darwin-x86_64.tar.gz</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-Linux-i386.sh">cmake-3.2.0-Linux-i386.sh</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Linux-i386.tar.Z">cmake-3.2.0-Linux-i386.tar.Z</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Linux-i386.tar.gz">cmake-3.2.0-Linux-i386.tar.gz</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-Linux-x86_64.sh">cmake-3.2.0-Linux-x86_64.sh</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Linux-x86_64.tar.Z">cmake-3.2.0-Linux-x86_64.tar.Z</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-Linux-x86_64.tar.gz">cmake-3.2.0-Linux-x86_64.tar.gz</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-SHA-256.txt">cmake-3.2.0-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-SHA-256.txt.asc">cmake-3.2.0-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-universal.dmg">cmake-3.2.0-rc1-Darwin-universal.dmg</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-universal.tar.Z">cmake-3.2.0-rc1-Darwin-universal.tar.Z</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-universal.tar.gz">cmake-3.2.0-rc1-Darwin-universal.tar.gz</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-x86_64.dmg">cmake-3.2.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 30M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-x86_64.tar.Z">cmake-3.2.0-rc1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 42M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Darwin-x86_64.tar.gz">cmake-3.2.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc1-Linux-i386.sh">cmake-3.2.0-rc1-Linux-i386.sh</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Linux-i386.tar.Z">cmake-3.2.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Linux-i386.tar.gz">cmake-3.2.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc1-Linux-x86_64.sh">cmake-3.2.0-rc1-Linux-x86_64.sh</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Linux-x86_64.tar.Z">cmake-3.2.0-rc1-Linux-x86_64.tar.Z</a></td><td align="right">2015-02-13 15:03  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-Linux-x86_64.tar.gz">cmake-3.2.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2015-02-13 15:02  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc1-SHA-256.txt">cmake-3.2.0-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc1-SHA-256.txt.asc">cmake-3.2.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-win32-x86.exe">cmake-3.2.0-rc1-win32-x86.exe</a></td><td align="right">2015-02-13 15:02  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1-win32-x86.zip">cmake-3.2.0-rc1-win32-x86.zip</a></td><td align="right">2015-02-13 15:02  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1.tar.Z">cmake-3.2.0-rc1.tar.Z</a></td><td align="right">2015-02-13 15:02  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1.tar.gz">cmake-3.2.0-rc1.tar.gz</a></td><td align="right">2015-02-13 15:02  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc1.zip">cmake-3.2.0-rc1.zip</a></td><td align="right">2015-02-13 15:02  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-universal.dmg">cmake-3.2.0-rc2-Darwin-universal.dmg</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-universal.tar.Z">cmake-3.2.0-rc2-Darwin-universal.tar.Z</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-universal.tar.gz">cmake-3.2.0-rc2-Darwin-universal.tar.gz</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-x86_64.dmg">cmake-3.2.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-x86_64.tar.Z">cmake-3.2.0-rc2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Darwin-x86_64.tar.gz">cmake-3.2.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-02-24 08:51  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc2-Linux-i386.sh">cmake-3.2.0-rc2-Linux-i386.sh</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Linux-i386.tar.Z">cmake-3.2.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Linux-i386.tar.gz">cmake-3.2.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc2-Linux-x86_64.sh">cmake-3.2.0-rc2-Linux-x86_64.sh</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Linux-x86_64.tar.Z">cmake-3.2.0-rc2-Linux-x86_64.tar.Z</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-Linux-x86_64.tar.gz">cmake-3.2.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc2-SHA-256.txt">cmake-3.2.0-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.0-rc2-SHA-256.txt.asc">cmake-3.2.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-win32-x86.exe">cmake-3.2.0-rc2-win32-x86.exe</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2-win32-x86.zip">cmake-3.2.0-rc2-win32-x86.zip</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2.tar.Z">cmake-3.2.0-rc2.tar.Z</a></td><td align="right">2015-02-24 08:50  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2.tar.gz">cmake-3.2.0-rc2.tar.gz</a></td><td align="right">2015-02-24 08:50  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-rc2.zip">cmake-3.2.0-rc2.zip</a></td><td align="right">2015-02-24 08:50  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-win32-x86.exe">cmake-3.2.0-win32-x86.exe</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0-win32-x86.zip">cmake-3.2.0-win32-x86.zip</a></td><td align="right">2015-03-10 09:01  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0.tar.Z">cmake-3.2.0.tar.Z</a></td><td align="right">2015-03-10 09:01  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0.tar.gz">cmake-3.2.0.tar.gz</a></td><td align="right">2015-03-10 09:01  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.0.zip">cmake-3.2.0.zip</a></td><td align="right">2015-03-10 09:01  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-1-src.tar.bz2">cmake-3.2.1-1-src.tar.bz2</a></td><td align="right">2015-03-11 09:10  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-1.tar.bz2">cmake-3.2.1-1.tar.bz2</a></td><td align="right">2015-03-11 09:10  </td><td align="right">9.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-universal.dmg">cmake-3.2.1-Darwin-universal.dmg</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-universal.tar.Z">cmake-3.2.1-Darwin-universal.tar.Z</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-universal.tar.gz">cmake-3.2.1-Darwin-universal.tar.gz</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-x86_64.dmg">cmake-3.2.1-Darwin-x86_64.dmg</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-x86_64.tar.Z">cmake-3.2.1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Darwin-x86_64.tar.gz">cmake-3.2.1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.1-Linux-i386.sh">cmake-3.2.1-Linux-i386.sh</a></td><td align="right">2015-03-11 09:10  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Linux-i386.tar.Z">cmake-3.2.1-Linux-i386.tar.Z</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Linux-i386.tar.gz">cmake-3.2.1-Linux-i386.tar.gz</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.1-Linux-x86_64.sh">cmake-3.2.1-Linux-x86_64.sh</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Linux-x86_64.tar.Z">cmake-3.2.1-Linux-x86_64.tar.Z</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-Linux-x86_64.tar.gz">cmake-3.2.1-Linux-x86_64.tar.gz</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.1-SHA-256.txt">cmake-3.2.1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.1-SHA-256.txt.asc">cmake-3.2.1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-win32-x86.exe">cmake-3.2.1-win32-x86.exe</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1-win32-x86.zip">cmake-3.2.1-win32-x86.zip</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1.tar.Z">cmake-3.2.1.tar.Z</a></td><td align="right">2015-03-11 09:09  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1.tar.gz">cmake-3.2.1.tar.gz</a></td><td align="right">2015-03-11 09:09  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.1.zip">cmake-3.2.1.zip</a></td><td align="right">2015-03-11 09:09  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-universal.dmg">cmake-3.2.2-Darwin-universal.dmg</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-universal.tar.Z">cmake-3.2.2-Darwin-universal.tar.Z</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-universal.tar.gz">cmake-3.2.2-Darwin-universal.tar.gz</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-x86_64.dmg">cmake-3.2.2-Darwin-x86_64.dmg</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-x86_64.tar.Z">cmake-3.2.2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Darwin-x86_64.tar.gz">cmake-3.2.2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-04-14 13:45  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.2-Linux-i386.sh">cmake-3.2.2-Linux-i386.sh</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Linux-i386.tar.Z">cmake-3.2.2-Linux-i386.tar.Z</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Linux-i386.tar.gz">cmake-3.2.2-Linux-i386.tar.gz</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.2-Linux-x86_64.sh">cmake-3.2.2-Linux-x86_64.sh</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Linux-x86_64.tar.Z">cmake-3.2.2-Linux-x86_64.tar.Z</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-Linux-x86_64.tar.gz">cmake-3.2.2-Linux-x86_64.tar.gz</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.2-SHA-256.txt">cmake-3.2.2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.2-SHA-256.txt.asc">cmake-3.2.2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-win32-x86.exe">cmake-3.2.2-win32-x86.exe</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2-win32-x86.zip">cmake-3.2.2-win32-x86.zip</a></td><td align="right">2015-04-14 13:44  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2.tar.Z">cmake-3.2.2.tar.Z</a></td><td align="right">2015-04-14 13:44  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2.tar.gz">cmake-3.2.2.tar.gz</a></td><td align="right">2015-04-14 13:44  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.2.zip">cmake-3.2.2.zip</a></td><td align="right">2015-04-14 13:44  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-universal.dmg">cmake-3.2.3-Darwin-universal.dmg</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-universal.tar.Z">cmake-3.2.3-Darwin-universal.tar.Z</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 66M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-universal.tar.gz">cmake-3.2.3-Darwin-universal.tar.gz</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 46M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-x86_64.dmg">cmake-3.2.3-Darwin-x86_64.dmg</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-x86_64.tar.Z">cmake-3.2.3-Darwin-x86_64.tar.Z</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Darwin-x86_64.tar.gz">cmake-3.2.3-Darwin-x86_64.tar.gz</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.3-Linux-i386.sh">cmake-3.2.3-Linux-i386.sh</a></td><td align="right">2015-06-01 17:04  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Linux-i386.tar.Z">cmake-3.2.3-Linux-i386.tar.Z</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Linux-i386.tar.gz">cmake-3.2.3-Linux-i386.tar.gz</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.3-Linux-x86_64.sh">cmake-3.2.3-Linux-x86_64.sh</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Linux-x86_64.tar.Z">cmake-3.2.3-Linux-x86_64.tar.Z</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-Linux-x86_64.tar.gz">cmake-3.2.3-Linux-x86_64.tar.gz</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.3-SHA-256.txt">cmake-3.2.3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.2.3-SHA-256.txt.asc">cmake-3.2.3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-win32-x86.exe">cmake-3.2.3-win32-x86.exe</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3-win32-x86.zip">cmake-3.2.3-win32-x86.zip</a></td><td align="right">2015-06-01 17:03  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3.tar.Z">cmake-3.2.3.tar.Z</a></td><td align="right">2015-06-01 17:03  </td><td align="right">9.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3.tar.gz">cmake-3.2.3.tar.gz</a></td><td align="right">2015-06-01 17:03  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.2.3.zip">cmake-3.2.3.zip</a></td><td align="right">2015-06-01 17:03  </td><td align="right">9.7M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.3/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.3/index.html
new file mode 100644
index 0000000..d053736
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.3/index.html
@@ -0,0 +1,163 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.3</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.3</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-1-src.tar.bz2">cmake-3.3.0-1-src.tar.bz2</a></td><td align="right">2015-07-23 16:39  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-1.tar.bz2">cmake-3.3.0-1.tar.bz2</a></td><td align="right">2015-07-23 16:39  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-universal.dmg">cmake-3.3.0-Darwin-universal.dmg</a></td><td align="right">2015-07-23 16:39  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-universal.tar.Z">cmake-3.3.0-Darwin-universal.tar.Z</a></td><td align="right">2015-07-23 16:39  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-universal.tar.gz">cmake-3.3.0-Darwin-universal.tar.gz</a></td><td align="right">2015-07-23 16:39  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-x86_64.dmg">cmake-3.3.0-Darwin-x86_64.dmg</a></td><td align="right">2015-07-23 16:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-x86_64.tar.Z">cmake-3.3.0-Darwin-x86_64.tar.Z</a></td><td align="right">2015-07-23 16:39  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Darwin-x86_64.tar.gz">cmake-3.3.0-Darwin-x86_64.tar.gz</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-Linux-i386.sh">cmake-3.3.0-Linux-i386.sh</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Linux-i386.tar.Z">cmake-3.3.0-Linux-i386.tar.Z</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Linux-i386.tar.gz">cmake-3.3.0-Linux-i386.tar.gz</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-Linux-x86_64.sh">cmake-3.3.0-Linux-x86_64.sh</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Linux-x86_64.tar.Z">cmake-3.3.0-Linux-x86_64.tar.Z</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-Linux-x86_64.tar.gz">cmake-3.3.0-Linux-x86_64.tar.gz</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-SHA-256.txt">cmake-3.3.0-SHA-256.txt</a></td><td align="right">2015-08-13 14:42  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-SHA-256.txt.asc">cmake-3.3.0-SHA-256.txt.asc</a></td><td align="right">2015-08-13 14:42  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-1-src.tar.bz2">cmake-3.3.0-rc1-1-src.tar.bz2</a></td><td align="right">2015-06-05 09:01  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-1.patch">cmake-3.3.0-rc1-1.patch</a></td><td align="right">2015-06-05 09:01  </td><td align="right">  0 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-1.sh">cmake-3.3.0-rc1-1.sh</a></td><td align="right">2015-06-05 09:01  </td><td align="right">1.5K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-1.tar.bz2">cmake-3.3.0-rc1-1.tar.bz2</a></td><td align="right">2015-06-05 09:01  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-universal.dmg">cmake-3.3.0-rc1-Darwin-universal.dmg</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-universal.tar.Z">cmake-3.3.0-rc1-Darwin-universal.tar.Z</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-universal.tar.gz">cmake-3.3.0-rc1-Darwin-universal.tar.gz</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-x86_64.dmg">cmake-3.3.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-x86_64.tar.Z">cmake-3.3.0-rc1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Darwin-x86_64.tar.gz">cmake-3.3.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-06-05 09:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-Linux-i386.sh">cmake-3.3.0-rc1-Linux-i386.sh</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Linux-i386.tar.Z">cmake-3.3.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Linux-i386.tar.gz">cmake-3.3.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-Linux-x86_64.sh">cmake-3.3.0-rc1-Linux-x86_64.sh</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Linux-x86_64.tar.Z">cmake-3.3.0-rc1-Linux-x86_64.tar.Z</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-Linux-x86_64.tar.gz">cmake-3.3.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-SHA-256.txt">cmake-3.3.0-rc1-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc1-SHA-256.txt.asc">cmake-3.3.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-win32-x86.exe">cmake-3.3.0-rc1-win32-x86.exe</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1-win32-x86.zip">cmake-3.3.0-rc1-win32-x86.zip</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1.tar.Z">cmake-3.3.0-rc1.tar.Z</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1.tar.gz">cmake-3.3.0-rc1.tar.gz</a></td><td align="right">2015-06-05 09:00  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc1.zip">cmake-3.3.0-rc1.zip</a></td><td align="right">2015-06-05 09:00  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-1-src.tar.bz2">cmake-3.3.0-rc2-1-src.tar.bz2</a></td><td align="right">2015-06-10 15:27  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-1.tar.bz2">cmake-3.3.0-rc2-1.tar.bz2</a></td><td align="right">2015-06-10 15:27  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-universal.dmg">cmake-3.3.0-rc2-Darwin-universal.dmg</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-universal.tar.Z">cmake-3.3.0-rc2-Darwin-universal.tar.Z</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-universal.tar.gz">cmake-3.3.0-rc2-Darwin-universal.tar.gz</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-x86_64.dmg">cmake-3.3.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-x86_64.tar.Z">cmake-3.3.0-rc2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Darwin-x86_64.tar.gz">cmake-3.3.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc2-Linux-i386.sh">cmake-3.3.0-rc2-Linux-i386.sh</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Linux-i386.tar.Z">cmake-3.3.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Linux-i386.tar.gz">cmake-3.3.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc2-Linux-x86_64.sh">cmake-3.3.0-rc2-Linux-x86_64.sh</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Linux-x86_64.tar.Z">cmake-3.3.0-rc2-Linux-x86_64.tar.Z</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-Linux-x86_64.tar.gz">cmake-3.3.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc2-SHA-256.txt">cmake-3.3.0-rc2-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc2-SHA-256.txt.asc">cmake-3.3.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-win32-x86.exe">cmake-3.3.0-rc2-win32-x86.exe</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2-win32-x86.zip">cmake-3.3.0-rc2-win32-x86.zip</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2.tar.Z">cmake-3.3.0-rc2.tar.Z</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2.tar.gz">cmake-3.3.0-rc2.tar.gz</a></td><td align="right">2015-06-10 15:27  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc2.zip">cmake-3.3.0-rc2.zip</a></td><td align="right">2015-06-10 15:27  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-1-src.tar.bz2">cmake-3.3.0-rc3-1-src.tar.bz2</a></td><td align="right">2015-06-26 13:34  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-1.tar.bz2">cmake-3.3.0-rc3-1.tar.bz2</a></td><td align="right">2015-06-26 13:34  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-universal.dmg">cmake-3.3.0-rc3-Darwin-universal.dmg</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-universal.tar.Z">cmake-3.3.0-rc3-Darwin-universal.tar.Z</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-universal.tar.gz">cmake-3.3.0-rc3-Darwin-universal.tar.gz</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-x86_64.dmg">cmake-3.3.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-x86_64.tar.Z">cmake-3.3.0-rc3-Darwin-x86_64.tar.Z</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Darwin-x86_64.tar.gz">cmake-3.3.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc3-Linux-i386.sh">cmake-3.3.0-rc3-Linux-i386.sh</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Linux-i386.tar.Z">cmake-3.3.0-rc3-Linux-i386.tar.Z</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Linux-i386.tar.gz">cmake-3.3.0-rc3-Linux-i386.tar.gz</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc3-Linux-x86_64.sh">cmake-3.3.0-rc3-Linux-x86_64.sh</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Linux-x86_64.tar.Z">cmake-3.3.0-rc3-Linux-x86_64.tar.Z</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-Linux-x86_64.tar.gz">cmake-3.3.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc3-SHA-256.txt">cmake-3.3.0-rc3-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc3-SHA-256.txt.asc">cmake-3.3.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-win32-x86.exe">cmake-3.3.0-rc3-win32-x86.exe</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3-win32-x86.zip">cmake-3.3.0-rc3-win32-x86.zip</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3.tar.Z">cmake-3.3.0-rc3.tar.Z</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3.tar.gz">cmake-3.3.0-rc3.tar.gz</a></td><td align="right">2015-06-26 13:34  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc3.zip">cmake-3.3.0-rc3.zip</a></td><td align="right">2015-06-26 13:34  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-1-src.tar.bz2">cmake-3.3.0-rc4-1-src.tar.bz2</a></td><td align="right">2015-07-13 15:56  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-1.tar.bz2">cmake-3.3.0-rc4-1.tar.bz2</a></td><td align="right">2015-07-13 15:56  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-universal.dmg">cmake-3.3.0-rc4-Darwin-universal.dmg</a></td><td align="right">2015-07-13 15:56  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-universal.tar.Z">cmake-3.3.0-rc4-Darwin-universal.tar.Z</a></td><td align="right">2015-07-13 15:56  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-universal.tar.gz">cmake-3.3.0-rc4-Darwin-universal.tar.gz</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-x86_64.dmg">cmake-3.3.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-x86_64.tar.Z">cmake-3.3.0-rc4-Darwin-x86_64.tar.Z</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Darwin-x86_64.tar.gz">cmake-3.3.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc4-Linux-i386.sh">cmake-3.3.0-rc4-Linux-i386.sh</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Linux-i386.tar.Z">cmake-3.3.0-rc4-Linux-i386.tar.Z</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Linux-i386.tar.gz">cmake-3.3.0-rc4-Linux-i386.tar.gz</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc4-Linux-x86_64.sh">cmake-3.3.0-rc4-Linux-x86_64.sh</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Linux-x86_64.tar.Z">cmake-3.3.0-rc4-Linux-x86_64.tar.Z</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-Linux-x86_64.tar.gz">cmake-3.3.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc4-SHA-256.txt">cmake-3.3.0-rc4-SHA-256.txt</a></td><td align="right">2016-04-13 12:48  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.0-rc4-SHA-256.txt.asc">cmake-3.3.0-rc4-SHA-256.txt.asc</a></td><td align="right">2016-04-13 12:48  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-win32-x86.exe">cmake-3.3.0-rc4-win32-x86.exe</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4-win32-x86.zip">cmake-3.3.0-rc4-win32-x86.zip</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4.tar.Z">cmake-3.3.0-rc4.tar.Z</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4.tar.gz">cmake-3.3.0-rc4.tar.gz</a></td><td align="right">2015-07-13 15:55  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-rc4.zip">cmake-3.3.0-rc4.zip</a></td><td align="right">2015-07-13 15:55  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-win32-x86.exe">cmake-3.3.0-win32-x86.exe</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0-win32-x86.zip">cmake-3.3.0-win32-x86.zip</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0.tar.Z">cmake-3.3.0.tar.Z</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0.tar.gz">cmake-3.3.0.tar.gz</a></td><td align="right">2015-07-23 16:38  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.0.zip">cmake-3.3.0.zip</a></td><td align="right">2015-07-23 16:38  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-1-src.tar.bz2">cmake-3.3.1-1-src.tar.bz2</a></td><td align="right">2015-08-13 15:55  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-1.tar.bz2">cmake-3.3.1-1.tar.bz2</a></td><td align="right">2015-08-13 15:55  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-universal.dmg">cmake-3.3.1-Darwin-universal.dmg</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-universal.tar.Z">cmake-3.3.1-Darwin-universal.tar.Z</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-universal.tar.gz">cmake-3.3.1-Darwin-universal.tar.gz</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-x86_64.dmg">cmake-3.3.1-Darwin-x86_64.dmg</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-x86_64.tar.Z">cmake-3.3.1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Darwin-x86_64.tar.gz">cmake-3.3.1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.1-Linux-i386.sh">cmake-3.3.1-Linux-i386.sh</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Linux-i386.tar.Z">cmake-3.3.1-Linux-i386.tar.Z</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Linux-i386.tar.gz">cmake-3.3.1-Linux-i386.tar.gz</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.1-Linux-x86_64.sh">cmake-3.3.1-Linux-x86_64.sh</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Linux-x86_64.tar.Z">cmake-3.3.1-Linux-x86_64.tar.Z</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-Linux-x86_64.tar.gz">cmake-3.3.1-Linux-x86_64.tar.gz</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.1-SHA-256.txt">cmake-3.3.1-SHA-256.txt</a></td><td align="right">2015-08-13 15:55  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.1-SHA-256.txt.asc">cmake-3.3.1-SHA-256.txt.asc</a></td><td align="right">2015-08-13 15:55  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-win32-x86.exe">cmake-3.3.1-win32-x86.exe</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1-win32-x86.zip">cmake-3.3.1-win32-x86.zip</a></td><td align="right">2015-08-13 15:55  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1.tar.Z">cmake-3.3.1.tar.Z</a></td><td align="right">2015-08-13 15:54  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1.tar.gz">cmake-3.3.1.tar.gz</a></td><td align="right">2015-08-13 15:54  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.1.zip">cmake-3.3.1.zip</a></td><td align="right">2015-08-13 15:54  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-1-src.tar.bz2">cmake-3.3.2-1-src.tar.bz2</a></td><td align="right">2015-09-17 14:36  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-1.tar.bz2">cmake-3.3.2-1.tar.bz2</a></td><td align="right">2015-09-17 14:36  </td><td align="right">9.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-universal.dmg">cmake-3.3.2-Darwin-universal.dmg</a></td><td align="right">2015-09-17 14:36  </td><td align="right"> 48M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-universal.tar.Z">cmake-3.3.2-Darwin-universal.tar.Z</a></td><td align="right">2015-09-17 14:36  </td><td align="right"> 68M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-universal.tar.gz">cmake-3.3.2-Darwin-universal.tar.gz</a></td><td align="right">2015-09-17 14:36  </td><td align="right"> 47M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-x86_64.dmg">cmake-3.3.2-Darwin-x86_64.dmg</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-x86_64.tar.Z">cmake-3.3.2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Darwin-x86_64.tar.gz">cmake-3.3.2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.2-Linux-i386.sh">cmake-3.3.2-Linux-i386.sh</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Linux-i386.tar.Z">cmake-3.3.2-Linux-i386.tar.Z</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Linux-i386.tar.gz">cmake-3.3.2-Linux-i386.tar.gz</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.2-Linux-x86_64.sh">cmake-3.3.2-Linux-x86_64.sh</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Linux-x86_64.tar.Z">cmake-3.3.2-Linux-x86_64.tar.Z</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-Linux-x86_64.tar.gz">cmake-3.3.2-Linux-x86_64.tar.gz</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.2-SHA-256.txt">cmake-3.3.2-SHA-256.txt</a></td><td align="right">2015-09-17 14:35  </td><td align="right">1.6K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.3.2-SHA-256.txt.asc">cmake-3.3.2-SHA-256.txt.asc</a></td><td align="right">2015-09-17 14:35  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-win32-x86.exe">cmake-3.3.2-win32-x86.exe</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2-win32-x86.zip">cmake-3.3.2-win32-x86.zip</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2.tar.Z">cmake-3.3.2.tar.Z</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2.tar.gz">cmake-3.3.2.tar.gz</a></td><td align="right">2015-09-17 14:35  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.3.2.zip">cmake-3.3.2.zip</a></td><td align="right">2015-09-17 14:35  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.4/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.4/index.html
new file mode 100644
index 0000000..e7b56da
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.4/index.html
@@ -0,0 +1,127 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.4</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.4</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Darwin-x86_64.dmg">cmake-3.4.0-Darwin-x86_64.dmg</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Darwin-x86_64.tar.Z">cmake-3.4.0-Darwin-x86_64.tar.Z</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Darwin-x86_64.tar.gz">cmake-3.4.0-Darwin-x86_64.tar.gz</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-Linux-i386.sh">cmake-3.4.0-Linux-i386.sh</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Linux-i386.tar.Z">cmake-3.4.0-Linux-i386.tar.Z</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Linux-i386.tar.gz">cmake-3.4.0-Linux-i386.tar.gz</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-Linux-x86_64.sh">cmake-3.4.0-Linux-x86_64.sh</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Linux-x86_64.tar.Z">cmake-3.4.0-Linux-x86_64.tar.Z</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-Linux-x86_64.tar.gz">cmake-3.4.0-Linux-x86_64.tar.gz</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-SHA-256.txt">cmake-3.4.0-SHA-256.txt</a></td><td align="right">2015-11-12 13:42  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-SHA-256.txt.asc">cmake-3.4.0-SHA-256.txt.asc</a></td><td align="right">2015-11-12 13:42  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Darwin-x86_64.dmg">cmake-3.4.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2015-10-06 11:02  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Darwin-x86_64.tar.Z">cmake-3.4.0-rc1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-10-06 11:02  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Darwin-x86_64.tar.gz">cmake-3.4.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-10-06 11:02  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc1-Linux-i386.sh">cmake-3.4.0-rc1-Linux-i386.sh</a></td><td align="right">2015-10-06 11:02  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Linux-i386.tar.Z">cmake-3.4.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2015-10-06 11:02  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Linux-i386.tar.gz">cmake-3.4.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc1-Linux-x86_64.sh">cmake-3.4.0-rc1-Linux-x86_64.sh</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Linux-x86_64.tar.Z">cmake-3.4.0-rc1-Linux-x86_64.tar.Z</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-Linux-x86_64.tar.gz">cmake-3.4.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc1-SHA-256.txt">cmake-3.4.0-rc1-SHA-256.txt</a></td><td align="right">2015-10-06 11:01  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc1-SHA-256.txt.asc">cmake-3.4.0-rc1-SHA-256.txt.asc</a></td><td align="right">2015-10-06 11:01  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-win32-x86.exe">cmake-3.4.0-rc1-win32-x86.exe</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1-win32-x86.zip">cmake-3.4.0-rc1-win32-x86.zip</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1.tar.Z">cmake-3.4.0-rc1.tar.Z</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1.tar.gz">cmake-3.4.0-rc1.tar.gz</a></td><td align="right">2015-10-06 11:01  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc1.zip">cmake-3.4.0-rc1.zip</a></td><td align="right">2015-10-06 11:01  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Darwin-x86_64.dmg">cmake-3.4.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Darwin-x86_64.tar.Z">cmake-3.4.0-rc2-Darwin-x86_64.tar.Z</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Darwin-x86_64.tar.gz">cmake-3.4.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc2-Linux-i386.sh">cmake-3.4.0-rc2-Linux-i386.sh</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Linux-i386.tar.Z">cmake-3.4.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Linux-i386.tar.gz">cmake-3.4.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc2-Linux-x86_64.sh">cmake-3.4.0-rc2-Linux-x86_64.sh</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Linux-x86_64.tar.Z">cmake-3.4.0-rc2-Linux-x86_64.tar.Z</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-Linux-x86_64.tar.gz">cmake-3.4.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2015-10-21 16:27  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc2-SHA-256.txt">cmake-3.4.0-rc2-SHA-256.txt</a></td><td align="right">2015-10-21 16:26  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc2-SHA-256.txt.asc">cmake-3.4.0-rc2-SHA-256.txt.asc</a></td><td align="right">2015-10-21 16:26  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-win32-x86.exe">cmake-3.4.0-rc2-win32-x86.exe</a></td><td align="right">2015-10-21 16:26  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2-win32-x86.zip">cmake-3.4.0-rc2-win32-x86.zip</a></td><td align="right">2015-10-21 16:26  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2.tar.Z">cmake-3.4.0-rc2.tar.Z</a></td><td align="right">2015-10-21 16:26  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2.tar.gz">cmake-3.4.0-rc2.tar.gz</a></td><td align="right">2015-10-21 16:26  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc2.zip">cmake-3.4.0-rc2.zip</a></td><td align="right">2015-10-21 16:26  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Darwin-x86_64.dmg">cmake-3.4.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Darwin-x86_64.tar.Z">cmake-3.4.0-rc3-Darwin-x86_64.tar.Z</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Darwin-x86_64.tar.gz">cmake-3.4.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc3-Linux-i386.sh">cmake-3.4.0-rc3-Linux-i386.sh</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Linux-i386.tar.Z">cmake-3.4.0-rc3-Linux-i386.tar.Z</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Linux-i386.tar.gz">cmake-3.4.0-rc3-Linux-i386.tar.gz</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc3-Linux-x86_64.sh">cmake-3.4.0-rc3-Linux-x86_64.sh</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Linux-x86_64.tar.Z">cmake-3.4.0-rc3-Linux-x86_64.tar.Z</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-Linux-x86_64.tar.gz">cmake-3.4.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc3-SHA-256.txt">cmake-3.4.0-rc3-SHA-256.txt</a></td><td align="right">2015-11-03 11:09  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.0-rc3-SHA-256.txt.asc">cmake-3.4.0-rc3-SHA-256.txt.asc</a></td><td align="right">2015-11-03 11:09  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-win32-x86.exe">cmake-3.4.0-rc3-win32-x86.exe</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3-win32-x86.zip">cmake-3.4.0-rc3-win32-x86.zip</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3.tar.Z">cmake-3.4.0-rc3.tar.Z</a></td><td align="right">2015-11-03 11:09  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3.tar.gz">cmake-3.4.0-rc3.tar.gz</a></td><td align="right">2015-11-03 11:08  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-rc3.zip">cmake-3.4.0-rc3.zip</a></td><td align="right">2015-11-03 11:08  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-win32-x86.exe">cmake-3.4.0-win32-x86.exe</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0-win32-x86.zip">cmake-3.4.0-win32-x86.zip</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0.tar.Z">cmake-3.4.0.tar.Z</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0.tar.gz">cmake-3.4.0.tar.gz</a></td><td align="right">2015-11-12 13:42  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.0.zip">cmake-3.4.0.zip</a></td><td align="right">2015-11-12 13:42  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Darwin-x86_64.dmg">cmake-3.4.1-Darwin-x86_64.dmg</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Darwin-x86_64.tar.Z">cmake-3.4.1-Darwin-x86_64.tar.Z</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Darwin-x86_64.tar.gz">cmake-3.4.1-Darwin-x86_64.tar.gz</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.1-Linux-i386.sh">cmake-3.4.1-Linux-i386.sh</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Linux-i386.tar.Z">cmake-3.4.1-Linux-i386.tar.Z</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Linux-i386.tar.gz">cmake-3.4.1-Linux-i386.tar.gz</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.1-Linux-x86_64.sh">cmake-3.4.1-Linux-x86_64.sh</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Linux-x86_64.tar.Z">cmake-3.4.1-Linux-x86_64.tar.Z</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-Linux-x86_64.tar.gz">cmake-3.4.1-Linux-x86_64.tar.gz</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.1-SHA-256.txt">cmake-3.4.1-SHA-256.txt</a></td><td align="right">2015-12-02 14:42  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.1-SHA-256.txt.asc">cmake-3.4.1-SHA-256.txt.asc</a></td><td align="right">2015-12-02 14:42  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-win32-x86.exe">cmake-3.4.1-win32-x86.exe</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1-win32-x86.zip">cmake-3.4.1-win32-x86.zip</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1.tar.Z">cmake-3.4.1.tar.Z</a></td><td align="right">2015-12-02 14:42  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1.tar.gz">cmake-3.4.1.tar.gz</a></td><td align="right">2015-12-02 14:42  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.1.zip">cmake-3.4.1.zip</a></td><td align="right">2015-12-02 14:41  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Darwin-x86_64.dmg">cmake-3.4.2-Darwin-x86_64.dmg</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Darwin-x86_64.tar.Z">cmake-3.4.2-Darwin-x86_64.tar.Z</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Darwin-x86_64.tar.gz">cmake-3.4.2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.2-Linux-i386.sh">cmake-3.4.2-Linux-i386.sh</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Linux-i386.tar.Z">cmake-3.4.2-Linux-i386.tar.Z</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Linux-i386.tar.gz">cmake-3.4.2-Linux-i386.tar.gz</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.2-Linux-x86_64.sh">cmake-3.4.2-Linux-x86_64.sh</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Linux-x86_64.tar.Z">cmake-3.4.2-Linux-x86_64.tar.Z</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-Linux-x86_64.tar.gz">cmake-3.4.2-Linux-x86_64.tar.gz</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.2-SHA-256.txt">cmake-3.4.2-SHA-256.txt</a></td><td align="right">2016-01-19 14:58  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.2-SHA-256.txt.asc">cmake-3.4.2-SHA-256.txt.asc</a></td><td align="right">2016-01-19 14:58  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-win32-x86.exe">cmake-3.4.2-win32-x86.exe</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2-win32-x86.zip">cmake-3.4.2-win32-x86.zip</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2.tar.Z">cmake-3.4.2.tar.Z</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2.tar.gz">cmake-3.4.2.tar.gz</a></td><td align="right">2016-01-19 14:58  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.2.zip">cmake-3.4.2.zip</a></td><td align="right">2016-01-19 14:58  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Darwin-x86_64.dmg">cmake-3.4.3-Darwin-x86_64.dmg</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Darwin-x86_64.tar.Z">cmake-3.4.3-Darwin-x86_64.tar.Z</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Darwin-x86_64.tar.gz">cmake-3.4.3-Darwin-x86_64.tar.gz</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.3-Linux-i386.sh">cmake-3.4.3-Linux-i386.sh</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Linux-i386.tar.Z">cmake-3.4.3-Linux-i386.tar.Z</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 37M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Linux-i386.tar.gz">cmake-3.4.3-Linux-i386.tar.gz</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.3-Linux-x86_64.sh">cmake-3.4.3-Linux-x86_64.sh</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Linux-x86_64.tar.Z">cmake-3.4.3-Linux-x86_64.tar.Z</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-Linux-x86_64.tar.gz">cmake-3.4.3-Linux-x86_64.tar.gz</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.3-SHA-256.txt">cmake-3.4.3-SHA-256.txt</a></td><td align="right">2016-01-25 14:29  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.4.3-SHA-256.txt.asc">cmake-3.4.3-SHA-256.txt.asc</a></td><td align="right">2016-01-25 14:29  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/binary.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-win32-x86.exe">cmake-3.4.3-win32-x86.exe</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 13M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3-win32-x86.zip">cmake-3.4.3-win32-x86.zip</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3.tar.Z">cmake-3.4.3.tar.Z</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3.tar.gz">cmake-3.4.3.tar.gz</a></td><td align="right">2016-01-25 14:29  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.4.3.zip">cmake-3.4.3.zip</a></td><td align="right">2016-01-25 14:29  </td><td align="right"> 10M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="cygwin/">cygwin/</a></td><td align="right">2016-01-25 14:34  </td><td align="right">  - </td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.5/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.5/index.html
new file mode 100644
index 0000000..03d4f7c
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.5/index.html
@@ -0,0 +1,111 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.5</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.5</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Darwin-x86_64.dmg">cmake-3.5.0-Darwin-x86_64.dmg</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Darwin-x86_64.tar.Z">cmake-3.5.0-Darwin-x86_64.tar.Z</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Darwin-x86_64.tar.gz">cmake-3.5.0-Darwin-x86_64.tar.gz</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-Linux-i386.sh">cmake-3.5.0-Linux-i386.sh</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Linux-i386.tar.Z">cmake-3.5.0-Linux-i386.tar.Z</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Linux-i386.tar.gz">cmake-3.5.0-Linux-i386.tar.gz</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-Linux-x86_64.sh">cmake-3.5.0-Linux-x86_64.sh</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Linux-x86_64.tar.Z">cmake-3.5.0-Linux-x86_64.tar.Z</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-Linux-x86_64.tar.gz">cmake-3.5.0-Linux-x86_64.tar.gz</a></td><td align="right">2016-03-08 11:17  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-SHA-256.txt">cmake-3.5.0-SHA-256.txt</a></td><td align="right">2016-03-08 11:17  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-SHA-256.txt.asc">cmake-3.5.0-SHA-256.txt.asc</a></td><td align="right">2016-03-08 11:16  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Darwin-x86_64.dmg">cmake-3.5.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Darwin-x86_64.tar.Z">cmake-3.5.0-rc1-Darwin-x86_64.tar.Z</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Darwin-x86_64.tar.gz">cmake-3.5.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc1-Linux-i386.sh">cmake-3.5.0-rc1-Linux-i386.sh</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Linux-i386.tar.Z">cmake-3.5.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Linux-i386.tar.gz">cmake-3.5.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc1-Linux-x86_64.sh">cmake-3.5.0-rc1-Linux-x86_64.sh</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Linux-x86_64.tar.Z">cmake-3.5.0-rc1-Linux-x86_64.tar.Z</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-Linux-x86_64.tar.gz">cmake-3.5.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc1-SHA-256.txt">cmake-3.5.0-rc1-SHA-256.txt</a></td><td align="right">2016-02-03 13:29  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc1-SHA-256.txt.asc">cmake-3.5.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-02-03 13:29  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-win32-x86.msi">cmake-3.5.0-rc1-win32-x86.msi</a></td><td align="right">2016-02-03 13:29  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1-win32-x86.zip">cmake-3.5.0-rc1-win32-x86.zip</a></td><td align="right">2016-02-03 13:29  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1.tar.Z">cmake-3.5.0-rc1.tar.Z</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1.tar.gz">cmake-3.5.0-rc1.tar.gz</a></td><td align="right">2016-02-02 15:51  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc1.zip">cmake-3.5.0-rc1.zip</a></td><td align="right">2016-02-02 15:51  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Darwin-x86_64.dmg">cmake-3.5.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Darwin-x86_64.tar.Z">cmake-3.5.0-rc2-Darwin-x86_64.tar.Z</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Darwin-x86_64.tar.gz">cmake-3.5.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc2-Linux-i386.sh">cmake-3.5.0-rc2-Linux-i386.sh</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Linux-i386.tar.Z">cmake-3.5.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Linux-i386.tar.gz">cmake-3.5.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc2-Linux-x86_64.sh">cmake-3.5.0-rc2-Linux-x86_64.sh</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Linux-x86_64.tar.Z">cmake-3.5.0-rc2-Linux-x86_64.tar.Z</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-Linux-x86_64.tar.gz">cmake-3.5.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc2-SHA-256.txt">cmake-3.5.0-rc2-SHA-256.txt</a></td><td align="right">2016-02-10 15:03  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc2-SHA-256.txt.asc">cmake-3.5.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-02-10 15:03  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-win32-x86.msi">cmake-3.5.0-rc2-win32-x86.msi</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2-win32-x86.zip">cmake-3.5.0-rc2-win32-x86.zip</a></td><td align="right">2016-02-10 15:03  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2.tar.Z">cmake-3.5.0-rc2.tar.Z</a></td><td align="right">2016-02-10 15:02  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2.tar.gz">cmake-3.5.0-rc2.tar.gz</a></td><td align="right">2016-02-10 15:02  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc2.zip">cmake-3.5.0-rc2.zip</a></td><td align="right">2016-02-10 15:02  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Darwin-x86_64.dmg">cmake-3.5.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Darwin-x86_64.tar.Z">cmake-3.5.0-rc3-Darwin-x86_64.tar.Z</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Darwin-x86_64.tar.gz">cmake-3.5.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc3-Linux-i386.sh">cmake-3.5.0-rc3-Linux-i386.sh</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Linux-i386.tar.Z">cmake-3.5.0-rc3-Linux-i386.tar.Z</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Linux-i386.tar.gz">cmake-3.5.0-rc3-Linux-i386.tar.gz</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc3-Linux-x86_64.sh">cmake-3.5.0-rc3-Linux-x86_64.sh</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Linux-x86_64.tar.Z">cmake-3.5.0-rc3-Linux-x86_64.tar.Z</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-Linux-x86_64.tar.gz">cmake-3.5.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc3-SHA-256.txt">cmake-3.5.0-rc3-SHA-256.txt</a></td><td align="right">2016-02-18 15:41  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.0-rc3-SHA-256.txt.asc">cmake-3.5.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-02-18 15:41  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-win32-x86.msi">cmake-3.5.0-rc3-win32-x86.msi</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3-win32-x86.zip">cmake-3.5.0-rc3-win32-x86.zip</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3.tar.Z">cmake-3.5.0-rc3.tar.Z</a></td><td align="right">2016-02-18 15:41  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3.tar.gz">cmake-3.5.0-rc3.tar.gz</a></td><td align="right">2016-02-18 15:40  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-rc3.zip">cmake-3.5.0-rc3.zip</a></td><td align="right">2016-02-18 15:40  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-win32-x86.msi">cmake-3.5.0-win32-x86.msi</a></td><td align="right">2016-03-08 11:16  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0-win32-x86.zip">cmake-3.5.0-win32-x86.zip</a></td><td align="right">2016-03-08 11:16  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0.tar.Z">cmake-3.5.0.tar.Z</a></td><td align="right">2016-03-08 11:16  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0.tar.gz">cmake-3.5.0.tar.gz</a></td><td align="right">2016-03-08 11:16  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.0.zip">cmake-3.5.0.zip</a></td><td align="right">2016-03-08 11:16  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Darwin-x86_64.dmg">cmake-3.5.1-Darwin-x86_64.dmg</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Darwin-x86_64.tar.Z">cmake-3.5.1-Darwin-x86_64.tar.Z</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Darwin-x86_64.tar.gz">cmake-3.5.1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.1-Linux-i386.sh">cmake-3.5.1-Linux-i386.sh</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Linux-i386.tar.Z">cmake-3.5.1-Linux-i386.tar.Z</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Linux-i386.tar.gz">cmake-3.5.1-Linux-i386.tar.gz</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.1-Linux-x86_64.sh">cmake-3.5.1-Linux-x86_64.sh</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Linux-x86_64.tar.Z">cmake-3.5.1-Linux-x86_64.tar.Z</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-Linux-x86_64.tar.gz">cmake-3.5.1-Linux-x86_64.tar.gz</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.1-SHA-256.txt">cmake-3.5.1-SHA-256.txt</a></td><td align="right">2016-03-24 16:00  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.1-SHA-256.txt.asc">cmake-3.5.1-SHA-256.txt.asc</a></td><td align="right">2016-03-24 16:00  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-win32-x86.msi">cmake-3.5.1-win32-x86.msi</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1-win32-x86.zip">cmake-3.5.1-win32-x86.zip</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1.tar.Z">cmake-3.5.1.tar.Z</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1.tar.gz">cmake-3.5.1.tar.gz</a></td><td align="right">2016-03-24 16:00  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.1.zip">cmake-3.5.1.zip</a></td><td align="right">2016-03-24 16:00  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Darwin-x86_64.dmg">cmake-3.5.2-Darwin-x86_64.dmg</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Darwin-x86_64.tar.Z">cmake-3.5.2-Darwin-x86_64.tar.Z</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Darwin-x86_64.tar.gz">cmake-3.5.2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.2-Linux-i386.sh">cmake-3.5.2-Linux-i386.sh</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Linux-i386.tar.Z">cmake-3.5.2-Linux-i386.tar.Z</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Linux-i386.tar.gz">cmake-3.5.2-Linux-i386.tar.gz</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.2-Linux-x86_64.sh">cmake-3.5.2-Linux-x86_64.sh</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Linux-x86_64.tar.Z">cmake-3.5.2-Linux-x86_64.tar.Z</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-Linux-x86_64.tar.gz">cmake-3.5.2-Linux-x86_64.tar.gz</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.2-SHA-256.txt">cmake-3.5.2-SHA-256.txt</a></td><td align="right">2016-04-15 13:40  </td><td align="right">1.3K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.5.2-SHA-256.txt.asc">cmake-3.5.2-SHA-256.txt.asc</a></td><td align="right">2016-04-15 13:40  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-win32-x86.msi">cmake-3.5.2-win32-x86.msi</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2-win32-x86.zip">cmake-3.5.2-win32-x86.zip</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2.tar.Z">cmake-3.5.2.tar.Z</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2.tar.gz">cmake-3.5.2.tar.gz</a></td><td align="right">2016-04-15 13:40  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.5.2.zip">cmake-3.5.2.zip</a></td><td align="right">2016-04-15 13:40  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="cygwin/">cygwin/</a></td><td align="right">2016-04-15 13:42  </td><td align="right">  - </td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.6/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.6/index.html
new file mode 100644
index 0000000..4fca3a5
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.6/index.html
@@ -0,0 +1,159 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.6</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.6</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Darwin-x86_64.dmg">cmake-3.6.0-Darwin-x86_64.dmg</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Darwin-x86_64.tar.Z">cmake-3.6.0-Darwin-x86_64.tar.Z</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Darwin-x86_64.tar.gz">cmake-3.6.0-Darwin-x86_64.tar.gz</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-Linux-i386.sh">cmake-3.6.0-Linux-i386.sh</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Linux-i386.tar.Z">cmake-3.6.0-Linux-i386.tar.Z</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Linux-i386.tar.gz">cmake-3.6.0-Linux-i386.tar.gz</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-Linux-x86_64.sh">cmake-3.6.0-Linux-x86_64.sh</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Linux-x86_64.tar.Z">cmake-3.6.0-Linux-x86_64.tar.Z</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-Linux-x86_64.tar.gz">cmake-3.6.0-Linux-x86_64.tar.gz</a></td><td align="right">2016-07-07 13:05  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-SHA-256.txt">cmake-3.6.0-SHA-256.txt</a></td><td align="right">2016-07-07 13:05  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-SHA-256.txt.asc">cmake-3.6.0-SHA-256.txt.asc</a></td><td align="right">2016-07-07 13:05  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Darwin-x86_64.dmg">cmake-3.6.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Darwin-x86_64.tar.Z">cmake-3.6.0-rc1-Darwin-x86_64.tar.Z</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Darwin-x86_64.tar.gz">cmake-3.6.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc1-Linux-i386.sh">cmake-3.6.0-rc1-Linux-i386.sh</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Linux-i386.tar.Z">cmake-3.6.0-rc1-Linux-i386.tar.Z</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Linux-i386.tar.gz">cmake-3.6.0-rc1-Linux-i386.tar.gz</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc1-Linux-x86_64.sh">cmake-3.6.0-rc1-Linux-x86_64.sh</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Linux-x86_64.tar.Z">cmake-3.6.0-rc1-Linux-x86_64.tar.Z</a></td><td align="right">2016-06-03 14:50  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-Linux-x86_64.tar.gz">cmake-3.6.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc1-SHA-256.txt">cmake-3.6.0-rc1-SHA-256.txt</a></td><td align="right">2016-06-03 14:49  </td><td align="right">1.5K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc1-SHA-256.txt.asc">cmake-3.6.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-06-03 14:49  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-win32-x86.msi">cmake-3.6.0-rc1-win32-x86.msi</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-win32-x86.zip">cmake-3.6.0-rc1-win32-x86.zip</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-win64-x64.msi">cmake-3.6.0-rc1-win64-x64.msi</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1-win64-x64.zip">cmake-3.6.0-rc1-win64-x64.zip</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1.tar.Z">cmake-3.6.0-rc1.tar.Z</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1.tar.gz">cmake-3.6.0-rc1.tar.gz</a></td><td align="right">2016-06-03 14:49  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc1.zip">cmake-3.6.0-rc1.zip</a></td><td align="right">2016-06-03 14:49  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Darwin-x86_64.dmg">cmake-3.6.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Darwin-x86_64.tar.Z">cmake-3.6.0-rc2-Darwin-x86_64.tar.Z</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Darwin-x86_64.tar.gz">cmake-3.6.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc2-Linux-i386.sh">cmake-3.6.0-rc2-Linux-i386.sh</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Linux-i386.tar.Z">cmake-3.6.0-rc2-Linux-i386.tar.Z</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Linux-i386.tar.gz">cmake-3.6.0-rc2-Linux-i386.tar.gz</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc2-Linux-x86_64.sh">cmake-3.6.0-rc2-Linux-x86_64.sh</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Linux-x86_64.tar.Z">cmake-3.6.0-rc2-Linux-x86_64.tar.Z</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-Linux-x86_64.tar.gz">cmake-3.6.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc2-SHA-256.txt">cmake-3.6.0-rc2-SHA-256.txt</a></td><td align="right">2016-06-13 14:29  </td><td align="right">1.5K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc2-SHA-256.txt.asc">cmake-3.6.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-06-13 14:29  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-win32-x86.msi">cmake-3.6.0-rc2-win32-x86.msi</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-win32-x86.zip">cmake-3.6.0-rc2-win32-x86.zip</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-win64-x64.msi">cmake-3.6.0-rc2-win64-x64.msi</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2-win64-x64.zip">cmake-3.6.0-rc2-win64-x64.zip</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2.tar.Z">cmake-3.6.0-rc2.tar.Z</a></td><td align="right">2016-06-13 14:29  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2.tar.gz">cmake-3.6.0-rc2.tar.gz</a></td><td align="right">2016-06-13 14:28  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc2.zip">cmake-3.6.0-rc2.zip</a></td><td align="right">2016-06-13 14:28  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Darwin-x86_64.dmg">cmake-3.6.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2016-06-22 13:58  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Darwin-x86_64.tar.Z">cmake-3.6.0-rc3-Darwin-x86_64.tar.Z</a></td><td align="right">2016-06-22 13:58  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Darwin-x86_64.tar.gz">cmake-3.6.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc3-Linux-i386.sh">cmake-3.6.0-rc3-Linux-i386.sh</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Linux-i386.tar.Z">cmake-3.6.0-rc3-Linux-i386.tar.Z</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Linux-i386.tar.gz">cmake-3.6.0-rc3-Linux-i386.tar.gz</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc3-Linux-x86_64.sh">cmake-3.6.0-rc3-Linux-x86_64.sh</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Linux-x86_64.tar.Z">cmake-3.6.0-rc3-Linux-x86_64.tar.Z</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-Linux-x86_64.tar.gz">cmake-3.6.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc3-SHA-256.txt">cmake-3.6.0-rc3-SHA-256.txt</a></td><td align="right">2016-06-22 13:57  </td><td align="right">1.5K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc3-SHA-256.txt.asc">cmake-3.6.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-06-22 13:57  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-win32-x86.msi">cmake-3.6.0-rc3-win32-x86.msi</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-win32-x86.zip">cmake-3.6.0-rc3-win32-x86.zip</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-win64-x64.msi">cmake-3.6.0-rc3-win64-x64.msi</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3-win64-x64.zip">cmake-3.6.0-rc3-win64-x64.zip</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3.tar.Z">cmake-3.6.0-rc3.tar.Z</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3.tar.gz">cmake-3.6.0-rc3.tar.gz</a></td><td align="right">2016-06-22 13:57  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc3.zip">cmake-3.6.0-rc3.zip</a></td><td align="right">2016-06-22 13:57  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Darwin-x86_64.dmg">cmake-3.6.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Darwin-x86_64.tar.Z">cmake-3.6.0-rc4-Darwin-x86_64.tar.Z</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Darwin-x86_64.tar.gz">cmake-3.6.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc4-Linux-i386.sh">cmake-3.6.0-rc4-Linux-i386.sh</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Linux-i386.tar.Z">cmake-3.6.0-rc4-Linux-i386.tar.Z</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Linux-i386.tar.gz">cmake-3.6.0-rc4-Linux-i386.tar.gz</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc4-Linux-x86_64.sh">cmake-3.6.0-rc4-Linux-x86_64.sh</a></td><td align="right">2016-06-29 14:50  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Linux-x86_64.tar.Z">cmake-3.6.0-rc4-Linux-x86_64.tar.Z</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-Linux-x86_64.tar.gz">cmake-3.6.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc4-SHA-256.txt">cmake-3.6.0-rc4-SHA-256.txt</a></td><td align="right">2016-06-29 14:49  </td><td align="right">1.5K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.0-rc4-SHA-256.txt.asc">cmake-3.6.0-rc4-SHA-256.txt.asc</a></td><td align="right">2016-06-29 14:49  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-win32-x86.msi">cmake-3.6.0-rc4-win32-x86.msi</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-win32-x86.zip">cmake-3.6.0-rc4-win32-x86.zip</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-win64-x64.msi">cmake-3.6.0-rc4-win64-x64.msi</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4-win64-x64.zip">cmake-3.6.0-rc4-win64-x64.zip</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4.tar.Z">cmake-3.6.0-rc4.tar.Z</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4.tar.gz">cmake-3.6.0-rc4.tar.gz</a></td><td align="right">2016-06-29 14:49  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-rc4.zip">cmake-3.6.0-rc4.zip</a></td><td align="right">2016-06-29 14:49  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-win32-x86.msi">cmake-3.6.0-win32-x86.msi</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-win32-x86.zip">cmake-3.6.0-win32-x86.zip</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-win64-x64.msi">cmake-3.6.0-win64-x64.msi</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0-win64-x64.zip">cmake-3.6.0-win64-x64.zip</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0.tar.Z">cmake-3.6.0.tar.Z</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0.tar.gz">cmake-3.6.0.tar.gz</a></td><td align="right">2016-07-07 13:04  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.0.zip">cmake-3.6.0.zip</a></td><td align="right">2016-07-07 13:04  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Darwin-x86_64.dmg">cmake-3.6.1-Darwin-x86_64.dmg</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Darwin-x86_64.tar.Z">cmake-3.6.1-Darwin-x86_64.tar.Z</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Darwin-x86_64.tar.gz">cmake-3.6.1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.1-Linux-i386.sh">cmake-3.6.1-Linux-i386.sh</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Linux-i386.tar.Z">cmake-3.6.1-Linux-i386.tar.Z</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Linux-i386.tar.gz">cmake-3.6.1-Linux-i386.tar.gz</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.1-Linux-x86_64.sh">cmake-3.6.1-Linux-x86_64.sh</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Linux-x86_64.tar.Z">cmake-3.6.1-Linux-x86_64.tar.Z</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-Linux-x86_64.tar.gz">cmake-3.6.1-Linux-x86_64.tar.gz</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.1-SHA-256.txt">cmake-3.6.1-SHA-256.txt</a></td><td align="right">2016-07-22 10:58  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.1-SHA-256.txt.asc">cmake-3.6.1-SHA-256.txt.asc</a></td><td align="right">2016-07-22 10:58  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-win32-x86.msi">cmake-3.6.1-win32-x86.msi</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-win32-x86.zip">cmake-3.6.1-win32-x86.zip</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-win64-x64.msi">cmake-3.6.1-win64-x64.msi</a></td><td align="right">2016-07-22 10:58  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1-win64-x64.zip">cmake-3.6.1-win64-x64.zip</a></td><td align="right">2016-07-22 10:57  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1.tar.Z">cmake-3.6.1.tar.Z</a></td><td align="right">2016-07-22 10:57  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1.tar.gz">cmake-3.6.1.tar.gz</a></td><td align="right">2016-07-22 10:57  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.1.zip">cmake-3.6.1.zip</a></td><td align="right">2016-07-22 10:57  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Darwin-x86_64.dmg">cmake-3.6.2-Darwin-x86_64.dmg</a></td><td align="right">2016-09-07 14:29  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Darwin-x86_64.tar.Z">cmake-3.6.2-Darwin-x86_64.tar.Z</a></td><td align="right">2016-09-07 14:29  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Darwin-x86_64.tar.gz">cmake-3.6.2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-09-07 14:29  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.2-Linux-i386.sh">cmake-3.6.2-Linux-i386.sh</a></td><td align="right">2016-09-07 14:29  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Linux-i386.tar.Z">cmake-3.6.2-Linux-i386.tar.Z</a></td><td align="right">2016-09-07 14:29  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Linux-i386.tar.gz">cmake-3.6.2-Linux-i386.tar.gz</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.2-Linux-x86_64.sh">cmake-3.6.2-Linux-x86_64.sh</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Linux-x86_64.tar.Z">cmake-3.6.2-Linux-x86_64.tar.Z</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-Linux-x86_64.tar.gz">cmake-3.6.2-Linux-x86_64.tar.gz</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.2-SHA-256.txt">cmake-3.6.2-SHA-256.txt</a></td><td align="right">2016-09-07 14:28  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.2-SHA-256.txt.asc">cmake-3.6.2-SHA-256.txt.asc</a></td><td align="right">2016-09-07 14:28  </td><td align="right">819 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-win32-x86.msi">cmake-3.6.2-win32-x86.msi</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-win32-x86.zip">cmake-3.6.2-win32-x86.zip</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-win64-x64.msi">cmake-3.6.2-win64-x64.msi</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2-win64-x64.zip">cmake-3.6.2-win64-x64.zip</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 19M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2.tar.Z">cmake-3.6.2.tar.Z</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2.tar.gz">cmake-3.6.2.tar.gz</a></td><td align="right">2016-09-07 14:28  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.2.zip">cmake-3.6.2.zip</a></td><td align="right">2016-09-07 14:28  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Darwin-x86_64.dmg">cmake-3.6.3-Darwin-x86_64.dmg</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Darwin-x86_64.tar.Z">cmake-3.6.3-Darwin-x86_64.tar.Z</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 36M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Darwin-x86_64.tar.gz">cmake-3.6.3-Darwin-x86_64.tar.gz</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.3-Linux-i386.sh">cmake-3.6.3-Linux-i386.sh</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Linux-i386.tar.Z">cmake-3.6.3-Linux-i386.tar.Z</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Linux-i386.tar.gz">cmake-3.6.3-Linux-i386.tar.gz</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.3-Linux-x86_64.sh">cmake-3.6.3-Linux-x86_64.sh</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Linux-x86_64.tar.Z">cmake-3.6.3-Linux-x86_64.tar.Z</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 38M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-Linux-x86_64.tar.gz">cmake-3.6.3-Linux-x86_64.tar.gz</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 27M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.3-SHA-256.txt">cmake-3.6.3-SHA-256.txt</a></td><td align="right">2016-11-03 12:13  </td><td align="right">1.4K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.6.3-SHA-256.txt.asc">cmake-3.6.3-SHA-256.txt.asc</a></td><td align="right">2016-11-03 12:13  </td><td align="right">801 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-win32-x86.msi">cmake-3.6.3-win32-x86.msi</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-win32-x86.zip">cmake-3.6.3-win32-x86.zip</a></td><td align="right">2016-11-03 12:13  </td><td align="right"> 20M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-win64-x64.msi">cmake-3.6.3-win64-x64.msi</a></td><td align="right">2016-11-03 12:12  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3-win64-x64.zip">cmake-3.6.3-win64-x64.zip</a></td><td align="right">2016-11-03 12:12  </td><td align="right"> 23M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3.tar.Z">cmake-3.6.3.tar.Z</a></td><td align="right">2016-11-03 12:12  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3.tar.gz">cmake-3.6.3.tar.gz</a></td><td align="right">2016-11-03 12:12  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.6.3.zip">cmake-3.6.3.zip</a></td><td align="right">2016-11-03 12:12  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="cygwin/">cygwin/</a></td><td align="right">2016-09-07 14:44  </td><td align="right">  - </td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.7/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.7/index.html
new file mode 100644
index 0000000..4812f93
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.7/index.html
@@ -0,0 +1,92 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.7</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.7</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-Darwin-x86_64.dmg">cmake-3.7.0-Darwin-x86_64.dmg</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-Darwin-x86_64.tar.gz">cmake-3.7.0-Darwin-x86_64.tar.gz</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-Linux-x86_64.sh">cmake-3.7.0-Linux-x86_64.sh</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-Linux-x86_64.tar.gz">cmake-3.7.0-Linux-x86_64.tar.gz</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-SHA-256.txt">cmake-3.7.0-SHA-256.txt</a></td><td align="right">2016-11-11 14:01  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-SHA-256.txt.asc">cmake-3.7.0-SHA-256.txt.asc</a></td><td align="right">2016-11-11 14:01  </td><td align="right">801 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-Darwin-x86_64.dmg">cmake-3.7.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-Darwin-x86_64.tar.gz">cmake-3.7.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc1-Linux-x86_64.sh">cmake-3.7.0-rc1-Linux-x86_64.sh</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-Linux-x86_64.tar.gz">cmake-3.7.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc1-SHA-256.txt">cmake-3.7.0-rc1-SHA-256.txt</a></td><td align="right">2016-10-04 15:23  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc1-SHA-256.txt.asc">cmake-3.7.0-rc1-SHA-256.txt.asc</a></td><td align="right">2016-10-04 15:23  </td><td align="right">801 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-win32-x86.msi">cmake-3.7.0-rc1-win32-x86.msi</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-win32-x86.zip">cmake-3.7.0-rc1-win32-x86.zip</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-win64-x64.msi">cmake-3.7.0-rc1-win64-x64.msi</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1-win64-x64.zip">cmake-3.7.0-rc1-win64-x64.zip</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1.tar.Z">cmake-3.7.0-rc1.tar.Z</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1.tar.gz">cmake-3.7.0-rc1.tar.gz</a></td><td align="right">2016-10-04 15:23  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc1.zip">cmake-3.7.0-rc1.zip</a></td><td align="right">2016-10-04 15:23  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-Darwin-x86_64.dmg">cmake-3.7.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2016-10-19 15:24  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-Darwin-x86_64.tar.gz">cmake-3.7.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2016-10-19 15:24  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc2-Linux-x86_64.sh">cmake-3.7.0-rc2-Linux-x86_64.sh</a></td><td align="right">2016-10-19 15:24  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-Linux-x86_64.tar.gz">cmake-3.7.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2016-10-19 15:24  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc2-SHA-256.txt">cmake-3.7.0-rc2-SHA-256.txt</a></td><td align="right">2016-10-19 15:24  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc2-SHA-256.txt.asc">cmake-3.7.0-rc2-SHA-256.txt.asc</a></td><td align="right">2016-10-19 15:24  </td><td align="right">801 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-win32-x86.msi">cmake-3.7.0-rc2-win32-x86.msi</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-win32-x86.zip">cmake-3.7.0-rc2-win32-x86.zip</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-win64-x64.msi">cmake-3.7.0-rc2-win64-x64.msi</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2-win64-x64.zip">cmake-3.7.0-rc2-win64-x64.zip</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2.tar.Z">cmake-3.7.0-rc2.tar.Z</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2.tar.gz">cmake-3.7.0-rc2.tar.gz</a></td><td align="right">2016-10-19 15:23  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc2.zip">cmake-3.7.0-rc2.zip</a></td><td align="right">2016-10-19 15:23  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-Darwin-x86_64.dmg">cmake-3.7.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-Darwin-x86_64.tar.gz">cmake-3.7.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc3-Linux-x86_64.sh">cmake-3.7.0-rc3-Linux-x86_64.sh</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-Linux-x86_64.tar.gz">cmake-3.7.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc3-SHA-256.txt">cmake-3.7.0-rc3-SHA-256.txt</a></td><td align="right">2016-11-04 15:26  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.0-rc3-SHA-256.txt.asc">cmake-3.7.0-rc3-SHA-256.txt.asc</a></td><td align="right">2016-11-04 15:26  </td><td align="right">801 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-win32-x86.msi">cmake-3.7.0-rc3-win32-x86.msi</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-win32-x86.zip">cmake-3.7.0-rc3-win32-x86.zip</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-win64-x64.msi">cmake-3.7.0-rc3-win64-x64.msi</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3-win64-x64.zip">cmake-3.7.0-rc3-win64-x64.zip</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3.tar.Z">cmake-3.7.0-rc3.tar.Z</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3.tar.gz">cmake-3.7.0-rc3.tar.gz</a></td><td align="right">2016-11-04 15:26  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-rc3.zip">cmake-3.7.0-rc3.zip</a></td><td align="right">2016-11-04 15:26  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-win32-x86.msi">cmake-3.7.0-win32-x86.msi</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-win32-x86.zip">cmake-3.7.0-win32-x86.zip</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-win64-x64.msi">cmake-3.7.0-win64-x64.msi</a></td><td align="right">2016-11-11 14:01  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0-win64-x64.zip">cmake-3.7.0-win64-x64.zip</a></td><td align="right">2016-11-11 14:00  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0.tar.Z">cmake-3.7.0.tar.Z</a></td><td align="right">2016-11-11 14:00  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0.tar.gz">cmake-3.7.0.tar.gz</a></td><td align="right">2016-11-11 14:00  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.0.zip">cmake-3.7.0.zip</a></td><td align="right">2016-11-11 14:00  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-Darwin-x86_64.dmg">cmake-3.7.1-Darwin-x86_64.dmg</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-Darwin-x86_64.tar.gz">cmake-3.7.1-Darwin-x86_64.tar.gz</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.1-Linux-x86_64.sh">cmake-3.7.1-Linux-x86_64.sh</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-Linux-x86_64.tar.gz">cmake-3.7.1-Linux-x86_64.tar.gz</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.1-SHA-256.txt">cmake-3.7.1-SHA-256.txt</a></td><td align="right">2016-11-30 14:25  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.1-SHA-256.txt.asc">cmake-3.7.1-SHA-256.txt.asc</a></td><td align="right">2016-11-30 14:25  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-win32-x86.msi">cmake-3.7.1-win32-x86.msi</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-win32-x86.zip">cmake-3.7.1-win32-x86.zip</a></td><td align="right">2016-11-30 14:25  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-win64-x64.msi">cmake-3.7.1-win64-x64.msi</a></td><td align="right">2016-11-30 14:24  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1-win64-x64.zip">cmake-3.7.1-win64-x64.zip</a></td><td align="right">2016-11-30 14:24  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1.tar.Z">cmake-3.7.1.tar.Z</a></td><td align="right">2016-11-30 14:24  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1.tar.gz">cmake-3.7.1.tar.gz</a></td><td align="right">2016-11-30 14:24  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.1.zip">cmake-3.7.1.zip</a></td><td align="right">2016-11-30 14:24  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-Darwin-x86_64.dmg">cmake-3.7.2-Darwin-x86_64.dmg</a></td><td align="right">2017-01-13 14:13  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-Darwin-x86_64.tar.gz">cmake-3.7.2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-01-13 14:13  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.2-Linux-x86_64.sh">cmake-3.7.2-Linux-x86_64.sh</a></td><td align="right">2017-01-13 14:13  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-Linux-x86_64.tar.gz">cmake-3.7.2-Linux-x86_64.tar.gz</a></td><td align="right">2017-01-13 14:13  </td><td align="right"> 29M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.2-SHA-256.txt">cmake-3.7.2-SHA-256.txt</a></td><td align="right">2017-01-13 14:13  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.7.2-SHA-256.txt.asc">cmake-3.7.2-SHA-256.txt.asc</a></td><td align="right">2017-01-13 14:13  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-win32-x86.msi">cmake-3.7.2-win32-x86.msi</a></td><td align="right">2017-01-13 14:13  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-win32-x86.zip">cmake-3.7.2-win32-x86.zip</a></td><td align="right">2017-01-13 14:12  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-win64-x64.msi">cmake-3.7.2-win64-x64.msi</a></td><td align="right">2017-01-13 14:12  </td><td align="right"> 17M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2-win64-x64.zip">cmake-3.7.2-win64-x64.zip</a></td><td align="right">2017-01-13 14:12  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2.tar.Z">cmake-3.7.2.tar.Z</a></td><td align="right">2017-01-13 14:12  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2.tar.gz">cmake-3.7.2.tar.gz</a></td><td align="right">2017-01-13 14:12  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.7.2.zip">cmake-3.7.2.zip</a></td><td align="right">2017-01-13 14:12  </td><td align="right"> 11M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.8/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.8/index.html
new file mode 100644
index 0000000..5fc8caa
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.8/index.html
@@ -0,0 +1,105 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.8</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.8</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-Darwin-x86_64.dmg">cmake-3.8.0-Darwin-x86_64.dmg</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-Darwin-x86_64.tar.gz">cmake-3.8.0-Darwin-x86_64.tar.gz</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-Linux-x86_64.sh">cmake-3.8.0-Linux-x86_64.sh</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-Linux-x86_64.tar.gz">cmake-3.8.0-Linux-x86_64.tar.gz</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-SHA-256.txt">cmake-3.8.0-SHA-256.txt</a></td><td align="right">2017-04-10 13:39  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-SHA-256.txt.asc">cmake-3.8.0-SHA-256.txt.asc</a></td><td align="right">2017-04-10 13:39  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-Darwin-x86_64.dmg">cmake-3.8.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-Darwin-x86_64.tar.gz">cmake-3.8.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc1-Linux-x86_64.sh">cmake-3.8.0-rc1-Linux-x86_64.sh</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-Linux-x86_64.tar.gz">cmake-3.8.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc1-SHA-256.txt">cmake-3.8.0-rc1-SHA-256.txt</a></td><td align="right">2017-02-07 12:54  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc1-SHA-256.txt.asc">cmake-3.8.0-rc1-SHA-256.txt.asc</a></td><td align="right">2017-02-07 12:54  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-win32-x86.msi">cmake-3.8.0-rc1-win32-x86.msi</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 15M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-win32-x86.zip">cmake-3.8.0-rc1-win32-x86.zip</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 21M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-win64-x64.msi">cmake-3.8.0-rc1-win64-x64.msi</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1-win64-x64.zip">cmake-3.8.0-rc1-win64-x64.zip</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1.tar.Z">cmake-3.8.0-rc1.tar.Z</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1.tar.gz">cmake-3.8.0-rc1.tar.gz</a></td><td align="right">2017-02-07 12:54  </td><td align="right">7.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc1.zip">cmake-3.8.0-rc1.zip</a></td><td align="right">2017-02-07 12:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-Darwin-x86_64.dmg">cmake-3.8.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2017-03-03 10:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-Darwin-x86_64.tar.gz">cmake-3.8.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-03-03 10:00  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc2-Linux-x86_64.sh">cmake-3.8.0-rc2-Linux-x86_64.sh</a></td><td align="right">2017-03-03 10:00  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-Linux-x86_64.tar.gz">cmake-3.8.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc2-SHA-256.txt">cmake-3.8.0-rc2-SHA-256.txt</a></td><td align="right">2017-03-03 09:59  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc2-SHA-256.txt.asc">cmake-3.8.0-rc2-SHA-256.txt.asc</a></td><td align="right">2017-03-03 09:59  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-win32-x86.msi">cmake-3.8.0-rc2-win32-x86.msi</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-win32-x86.zip">cmake-3.8.0-rc2-win32-x86.zip</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-win64-x64.msi">cmake-3.8.0-rc2-win64-x64.msi</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2-win64-x64.zip">cmake-3.8.0-rc2-win64-x64.zip</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2.tar.Z">cmake-3.8.0-rc2.tar.Z</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2.tar.gz">cmake-3.8.0-rc2.tar.gz</a></td><td align="right">2017-03-03 09:59  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc2.zip">cmake-3.8.0-rc2.zip</a></td><td align="right">2017-03-03 09:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-Darwin-x86_64.dmg">cmake-3.8.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-Darwin-x86_64.tar.gz">cmake-3.8.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc3-Linux-x86_64.sh">cmake-3.8.0-rc3-Linux-x86_64.sh</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-Linux-x86_64.tar.gz">cmake-3.8.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc3-SHA-256.txt">cmake-3.8.0-rc3-SHA-256.txt</a></td><td align="right">2017-03-24 13:52  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc3-SHA-256.txt.asc">cmake-3.8.0-rc3-SHA-256.txt.asc</a></td><td align="right">2017-03-24 13:52  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-win32-x86.msi">cmake-3.8.0-rc3-win32-x86.msi</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-win32-x86.zip">cmake-3.8.0-rc3-win32-x86.zip</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-win64-x64.msi">cmake-3.8.0-rc3-win64-x64.msi</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3-win64-x64.zip">cmake-3.8.0-rc3-win64-x64.zip</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3.tar.Z">cmake-3.8.0-rc3.tar.Z</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3.tar.gz">cmake-3.8.0-rc3.tar.gz</a></td><td align="right">2017-03-24 13:52  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc3.zip">cmake-3.8.0-rc3.zip</a></td><td align="right">2017-03-24 13:52  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-Darwin-x86_64.dmg">cmake-3.8.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-Darwin-x86_64.tar.gz">cmake-3.8.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc4-Linux-x86_64.sh">cmake-3.8.0-rc4-Linux-x86_64.sh</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-Linux-x86_64.tar.gz">cmake-3.8.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc4-SHA-256.txt">cmake-3.8.0-rc4-SHA-256.txt</a></td><td align="right">2017-03-30 11:38  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.0-rc4-SHA-256.txt.asc">cmake-3.8.0-rc4-SHA-256.txt.asc</a></td><td align="right">2017-03-30 11:38  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-win32-x86.msi">cmake-3.8.0-rc4-win32-x86.msi</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-win32-x86.zip">cmake-3.8.0-rc4-win32-x86.zip</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-win64-x64.msi">cmake-3.8.0-rc4-win64-x64.msi</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4-win64-x64.zip">cmake-3.8.0-rc4-win64-x64.zip</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4.tar.Z">cmake-3.8.0-rc4.tar.Z</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4.tar.gz">cmake-3.8.0-rc4.tar.gz</a></td><td align="right">2017-03-30 11:38  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-rc4.zip">cmake-3.8.0-rc4.zip</a></td><td align="right">2017-03-30 11:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-win32-x86.msi">cmake-3.8.0-win32-x86.msi</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-win32-x86.zip">cmake-3.8.0-win32-x86.zip</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-win64-x64.msi">cmake-3.8.0-win64-x64.msi</a></td><td align="right">2017-04-10 13:39  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0-win64-x64.zip">cmake-3.8.0-win64-x64.zip</a></td><td align="right">2017-04-10 13:38  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0.tar.Z">cmake-3.8.0.tar.Z</a></td><td align="right">2017-04-10 13:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0.tar.gz">cmake-3.8.0.tar.gz</a></td><td align="right">2017-04-10 13:38  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.0.zip">cmake-3.8.0.zip</a></td><td align="right">2017-04-10 13:38  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-Darwin-x86_64.dmg">cmake-3.8.1-Darwin-x86_64.dmg</a></td><td align="right">2017-05-02 11:06  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-Darwin-x86_64.tar.gz">cmake-3.8.1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-05-02 11:06  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.1-Linux-x86_64.sh">cmake-3.8.1-Linux-x86_64.sh</a></td><td align="right">2017-05-02 11:06  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-Linux-x86_64.tar.gz">cmake-3.8.1-Linux-x86_64.tar.gz</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.1-SHA-256.txt">cmake-3.8.1-SHA-256.txt</a></td><td align="right">2017-05-02 11:05  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.1-SHA-256.txt.asc">cmake-3.8.1-SHA-256.txt.asc</a></td><td align="right">2017-05-02 11:05  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-win32-x86.msi">cmake-3.8.1-win32-x86.msi</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-win32-x86.zip">cmake-3.8.1-win32-x86.zip</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-win64-x64.msi">cmake-3.8.1-win64-x64.msi</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1-win64-x64.zip">cmake-3.8.1-win64-x64.zip</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1.tar.Z">cmake-3.8.1.tar.Z</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1.tar.gz">cmake-3.8.1.tar.gz</a></td><td align="right">2017-05-02 11:05  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.1.zip">cmake-3.8.1.zip</a></td><td align="right">2017-05-02 11:05  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-Darwin-x86_64.dmg">cmake-3.8.2-Darwin-x86_64.dmg</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-Darwin-x86_64.tar.gz">cmake-3.8.2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.2-Linux-x86_64.sh">cmake-3.8.2-Linux-x86_64.sh</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-Linux-x86_64.tar.gz">cmake-3.8.2-Linux-x86_64.tar.gz</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.2-SHA-256.txt">cmake-3.8.2-SHA-256.txt</a></td><td align="right">2017-05-31 12:26  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.8.2-SHA-256.txt.asc">cmake-3.8.2-SHA-256.txt.asc</a></td><td align="right">2017-05-31 12:26  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-win32-x86.msi">cmake-3.8.2-win32-x86.msi</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-win32-x86.zip">cmake-3.8.2-win32-x86.zip</a></td><td align="right">2017-05-31 12:26  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-win64-x64.msi">cmake-3.8.2-win64-x64.msi</a></td><td align="right">2017-05-31 12:25  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2-win64-x64.zip">cmake-3.8.2-win64-x64.zip</a></td><td align="right">2017-05-31 12:25  </td><td align="right"> 24M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2.tar.Z">cmake-3.8.2.tar.Z</a></td><td align="right">2017-05-31 12:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2.tar.gz">cmake-3.8.2.tar.gz</a></td><td align="right">2017-05-31 12:25  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.8.2.zip">cmake-3.8.2.zip</a></td><td align="right">2017-05-31 12:25  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/files/v3.9/index.html b/bitbake/lib/bb/tests/fetch-testdata/files/v3.9/index.html
new file mode 100644
index 0000000..54182af
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/files/v3.9/index.html
@@ -0,0 +1,183 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /files/v3.9</title>
+ </head>
+ <body>
+<h1>Index of /files/v3.9</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/files/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-Darwin-x86_64.dmg">cmake-3.9.0-Darwin-x86_64.dmg</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-Darwin-x86_64.tar.gz">cmake-3.9.0-Darwin-x86_64.tar.gz</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-Linux-x86_64.sh">cmake-3.9.0-Linux-x86_64.sh</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-Linux-x86_64.tar.gz">cmake-3.9.0-Linux-x86_64.tar.gz</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-SHA-256.txt">cmake-3.9.0-SHA-256.txt</a></td><td align="right">2017-07-18 13:32  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-SHA-256.txt.asc">cmake-3.9.0-SHA-256.txt.asc</a></td><td align="right">2017-07-18 13:32  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-Darwin-x86_64.dmg">cmake-3.9.0-rc1-Darwin-x86_64.dmg</a></td><td align="right">2017-06-05 14:48  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-Darwin-x86_64.tar.gz">cmake-3.9.0-rc1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-06-05 14:48  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc1-Linux-x86_64.sh">cmake-3.9.0-rc1-Linux-x86_64.sh</a></td><td align="right">2017-06-05 14:48  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-Linux-x86_64.tar.gz">cmake-3.9.0-rc1-Linux-x86_64.tar.gz</a></td><td align="right">2017-06-05 14:48  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc1-SHA-256.txt">cmake-3.9.0-rc1-SHA-256.txt</a></td><td align="right">2017-06-05 14:48  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc1-SHA-256.txt.asc">cmake-3.9.0-rc1-SHA-256.txt.asc</a></td><td align="right">2017-06-05 14:47  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-win32-x86.msi">cmake-3.9.0-rc1-win32-x86.msi</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-win32-x86.zip">cmake-3.9.0-rc1-win32-x86.zip</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-win64-x64.msi">cmake-3.9.0-rc1-win64-x64.msi</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1-win64-x64.zip">cmake-3.9.0-rc1-win64-x64.zip</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1.tar.Z">cmake-3.9.0-rc1.tar.Z</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1.tar.gz">cmake-3.9.0-rc1.tar.gz</a></td><td align="right">2017-06-05 14:47  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc1.zip">cmake-3.9.0-rc1.zip</a></td><td align="right">2017-06-05 14:47  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-Darwin-x86_64.dmg">cmake-3.9.0-rc2-Darwin-x86_64.dmg</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-Darwin-x86_64.tar.gz">cmake-3.9.0-rc2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc2-Linux-x86_64.sh">cmake-3.9.0-rc2-Linux-x86_64.sh</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-Linux-x86_64.tar.gz">cmake-3.9.0-rc2-Linux-x86_64.tar.gz</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc2-SHA-256.txt">cmake-3.9.0-rc2-SHA-256.txt</a></td><td align="right">2017-06-07 14:46  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc2-SHA-256.txt.asc">cmake-3.9.0-rc2-SHA-256.txt.asc</a></td><td align="right">2017-06-07 14:46  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-win32-x86.msi">cmake-3.9.0-rc2-win32-x86.msi</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-win32-x86.zip">cmake-3.9.0-rc2-win32-x86.zip</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-win64-x64.msi">cmake-3.9.0-rc2-win64-x64.msi</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2-win64-x64.zip">cmake-3.9.0-rc2-win64-x64.zip</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2.tar.Z">cmake-3.9.0-rc2.tar.Z</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2.tar.gz">cmake-3.9.0-rc2.tar.gz</a></td><td align="right">2017-06-07 14:46  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc2.zip">cmake-3.9.0-rc2.zip</a></td><td align="right">2017-06-07 14:46  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-Darwin-x86_64.dmg">cmake-3.9.0-rc3-Darwin-x86_64.dmg</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-Darwin-x86_64.tar.gz">cmake-3.9.0-rc3-Darwin-x86_64.tar.gz</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc3-Linux-x86_64.sh">cmake-3.9.0-rc3-Linux-x86_64.sh</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-Linux-x86_64.tar.gz">cmake-3.9.0-rc3-Linux-x86_64.tar.gz</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc3-SHA-256.txt">cmake-3.9.0-rc3-SHA-256.txt</a></td><td align="right">2017-06-13 14:02  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc3-SHA-256.txt.asc">cmake-3.9.0-rc3-SHA-256.txt.asc</a></td><td align="right">2017-06-13 14:02  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-win32-x86.msi">cmake-3.9.0-rc3-win32-x86.msi</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-win32-x86.zip">cmake-3.9.0-rc3-win32-x86.zip</a></td><td align="right">2017-06-13 14:02  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-win64-x64.msi">cmake-3.9.0-rc3-win64-x64.msi</a></td><td align="right">2017-06-13 14:01  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3-win64-x64.zip">cmake-3.9.0-rc3-win64-x64.zip</a></td><td align="right">2017-06-13 14:01  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3.tar.Z">cmake-3.9.0-rc3.tar.Z</a></td><td align="right">2017-06-13 14:01  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3.tar.gz">cmake-3.9.0-rc3.tar.gz</a></td><td align="right">2017-06-13 14:01  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc3.zip">cmake-3.9.0-rc3.zip</a></td><td align="right">2017-06-13 14:01  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-Darwin-x86_64.dmg">cmake-3.9.0-rc4-Darwin-x86_64.dmg</a></td><td align="right">2017-06-22 13:27  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-Darwin-x86_64.tar.gz">cmake-3.9.0-rc4-Darwin-x86_64.tar.gz</a></td><td align="right">2017-06-22 13:27  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc4-Linux-x86_64.sh">cmake-3.9.0-rc4-Linux-x86_64.sh</a></td><td align="right">2017-06-22 13:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-Linux-x86_64.tar.gz">cmake-3.9.0-rc4-Linux-x86_64.tar.gz</a></td><td align="right">2017-06-22 13:27  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc4-SHA-256.txt">cmake-3.9.0-rc4-SHA-256.txt</a></td><td align="right">2017-06-22 13:27  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc4-SHA-256.txt.asc">cmake-3.9.0-rc4-SHA-256.txt.asc</a></td><td align="right">2017-06-22 13:26  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-win32-x86.msi">cmake-3.9.0-rc4-win32-x86.msi</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-win32-x86.zip">cmake-3.9.0-rc4-win32-x86.zip</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-win64-x64.msi">cmake-3.9.0-rc4-win64-x64.msi</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4-win64-x64.zip">cmake-3.9.0-rc4-win64-x64.zip</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4.tar.Z">cmake-3.9.0-rc4.tar.Z</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4.tar.gz">cmake-3.9.0-rc4.tar.gz</a></td><td align="right">2017-06-22 13:26  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc4.zip">cmake-3.9.0-rc4.zip</a></td><td align="right">2017-06-22 13:26  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-Darwin-x86_64.dmg">cmake-3.9.0-rc5-Darwin-x86_64.dmg</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-Darwin-x86_64.tar.gz">cmake-3.9.0-rc5-Darwin-x86_64.tar.gz</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc5-Linux-x86_64.sh">cmake-3.9.0-rc5-Linux-x86_64.sh</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-Linux-x86_64.tar.gz">cmake-3.9.0-rc5-Linux-x86_64.tar.gz</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc5-SHA-256.txt">cmake-3.9.0-rc5-SHA-256.txt</a></td><td align="right">2017-06-27 13:56  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc5-SHA-256.txt.asc">cmake-3.9.0-rc5-SHA-256.txt.asc</a></td><td align="right">2017-06-27 13:56  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-win32-x86.msi">cmake-3.9.0-rc5-win32-x86.msi</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-win32-x86.zip">cmake-3.9.0-rc5-win32-x86.zip</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-win64-x64.msi">cmake-3.9.0-rc5-win64-x64.msi</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5-win64-x64.zip">cmake-3.9.0-rc5-win64-x64.zip</a></td><td align="right">2017-06-27 13:56  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5.tar.Z">cmake-3.9.0-rc5.tar.Z</a></td><td align="right">2017-06-27 13:55  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5.tar.gz">cmake-3.9.0-rc5.tar.gz</a></td><td align="right">2017-06-27 13:55  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc5.zip">cmake-3.9.0-rc5.zip</a></td><td align="right">2017-06-27 13:55  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-Darwin-x86_64.dmg">cmake-3.9.0-rc6-Darwin-x86_64.dmg</a></td><td align="right">2017-07-12 11:46  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-Darwin-x86_64.tar.gz">cmake-3.9.0-rc6-Darwin-x86_64.tar.gz</a></td><td align="right">2017-07-12 11:46  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc6-Linux-x86_64.sh">cmake-3.9.0-rc6-Linux-x86_64.sh</a></td><td align="right">2017-07-12 11:46  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-Linux-x86_64.tar.gz">cmake-3.9.0-rc6-Linux-x86_64.tar.gz</a></td><td align="right">2017-07-12 11:46  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc6-SHA-256.txt">cmake-3.9.0-rc6-SHA-256.txt</a></td><td align="right">2017-07-12 11:46  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.0-rc6-SHA-256.txt.asc">cmake-3.9.0-rc6-SHA-256.txt.asc</a></td><td align="right">2017-07-12 11:46  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-win32-x86.msi">cmake-3.9.0-rc6-win32-x86.msi</a></td><td align="right">2017-07-12 11:46  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-win32-x86.zip">cmake-3.9.0-rc6-win32-x86.zip</a></td><td align="right">2017-07-12 11:45  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-win64-x64.msi">cmake-3.9.0-rc6-win64-x64.msi</a></td><td align="right">2017-07-12 11:45  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6-win64-x64.zip">cmake-3.9.0-rc6-win64-x64.zip</a></td><td align="right">2017-07-12 11:45  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6.tar.Z">cmake-3.9.0-rc6.tar.Z</a></td><td align="right">2017-07-12 11:45  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6.tar.gz">cmake-3.9.0-rc6.tar.gz</a></td><td align="right">2017-07-12 11:45  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-rc6.zip">cmake-3.9.0-rc6.zip</a></td><td align="right">2017-07-12 11:45  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-win32-x86.msi">cmake-3.9.0-win32-x86.msi</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-win32-x86.zip">cmake-3.9.0-win32-x86.zip</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-win64-x64.msi">cmake-3.9.0-win64-x64.msi</a></td><td align="right">2017-07-18 13:32  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0-win64-x64.zip">cmake-3.9.0-win64-x64.zip</a></td><td align="right">2017-07-18 13:31  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0.tar.Z">cmake-3.9.0.tar.Z</a></td><td align="right">2017-07-18 13:31  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0.tar.gz">cmake-3.9.0.tar.gz</a></td><td align="right">2017-07-18 13:31  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.0.zip">cmake-3.9.0.zip</a></td><td align="right">2017-07-18 13:31  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-Darwin-x86_64.dmg">cmake-3.9.1-Darwin-x86_64.dmg</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-Darwin-x86_64.tar.gz">cmake-3.9.1-Darwin-x86_64.tar.gz</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.1-Linux-x86_64.sh">cmake-3.9.1-Linux-x86_64.sh</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-Linux-x86_64.tar.gz">cmake-3.9.1-Linux-x86_64.tar.gz</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.1-SHA-256.txt">cmake-3.9.1-SHA-256.txt</a></td><td align="right">2017-08-10 11:49  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.1-SHA-256.txt.asc">cmake-3.9.1-SHA-256.txt.asc</a></td><td align="right">2017-08-10 11:49  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-win32-x86.msi">cmake-3.9.1-win32-x86.msi</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-win32-x86.zip">cmake-3.9.1-win32-x86.zip</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-win64-x64.msi">cmake-3.9.1-win64-x64.msi</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1-win64-x64.zip">cmake-3.9.1-win64-x64.zip</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1.tar.Z">cmake-3.9.1.tar.Z</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1.tar.gz">cmake-3.9.1.tar.gz</a></td><td align="right">2017-08-10 11:49  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.1.zip">cmake-3.9.1.zip</a></td><td align="right">2017-08-10 11:49  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-Darwin-x86_64.dmg">cmake-3.9.2-Darwin-x86_64.dmg</a></td><td align="right">2017-09-07 15:55  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-Darwin-x86_64.tar.gz">cmake-3.9.2-Darwin-x86_64.tar.gz</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.2-Linux-x86_64.sh">cmake-3.9.2-Linux-x86_64.sh</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-Linux-x86_64.tar.gz">cmake-3.9.2-Linux-x86_64.tar.gz</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.2-SHA-256.txt">cmake-3.9.2-SHA-256.txt</a></td><td align="right">2017-09-07 15:54  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.2-SHA-256.txt.asc">cmake-3.9.2-SHA-256.txt.asc</a></td><td align="right">2017-09-07 15:54  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-win32-x86.msi">cmake-3.9.2-win32-x86.msi</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-win32-x86.zip">cmake-3.9.2-win32-x86.zip</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-win64-x64.msi">cmake-3.9.2-win64-x64.msi</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2-win64-x64.zip">cmake-3.9.2-win64-x64.zip</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2.tar.Z">cmake-3.9.2.tar.Z</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2.tar.gz">cmake-3.9.2.tar.gz</a></td><td align="right">2017-09-07 15:54  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.2.zip">cmake-3.9.2.zip</a></td><td align="right">2017-09-07 15:54  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-Darwin-x86_64.dmg">cmake-3.9.3-Darwin-x86_64.dmg</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-Darwin-x86_64.tar.gz">cmake-3.9.3-Darwin-x86_64.tar.gz</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.3-Linux-x86_64.sh">cmake-3.9.3-Linux-x86_64.sh</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-Linux-x86_64.tar.gz">cmake-3.9.3-Linux-x86_64.tar.gz</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.3-SHA-256.txt">cmake-3.9.3-SHA-256.txt</a></td><td align="right">2017-09-20 11:59  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.3-SHA-256.txt.asc">cmake-3.9.3-SHA-256.txt.asc</a></td><td align="right">2017-09-20 11:59  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-win32-x86.msi">cmake-3.9.3-win32-x86.msi</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-win32-x86.zip">cmake-3.9.3-win32-x86.zip</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-win64-x64.msi">cmake-3.9.3-win64-x64.msi</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3-win64-x64.zip">cmake-3.9.3-win64-x64.zip</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3.tar.Z">cmake-3.9.3.tar.Z</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3.tar.gz">cmake-3.9.3.tar.gz</a></td><td align="right">2017-09-20 11:59  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.3.zip">cmake-3.9.3.zip</a></td><td align="right">2017-09-20 11:59  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-Darwin-x86_64.dmg">cmake-3.9.4-Darwin-x86_64.dmg</a></td><td align="right">2017-10-04 09:43  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-Darwin-x86_64.tar.gz">cmake-3.9.4-Darwin-x86_64.tar.gz</a></td><td align="right">2017-10-04 09:43  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.4-Linux-x86_64.sh">cmake-3.9.4-Linux-x86_64.sh</a></td><td align="right">2017-10-04 09:43  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-Linux-x86_64.tar.gz">cmake-3.9.4-Linux-x86_64.tar.gz</a></td><td align="right">2017-10-04 09:43  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.4-SHA-256.txt">cmake-3.9.4-SHA-256.txt</a></td><td align="right">2017-10-04 09:43  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.4-SHA-256.txt.asc">cmake-3.9.4-SHA-256.txt.asc</a></td><td align="right">2017-10-04 09:42  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-win32-x86.msi">cmake-3.9.4-win32-x86.msi</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-win32-x86.zip">cmake-3.9.4-win32-x86.zip</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-win64-x64.msi">cmake-3.9.4-win64-x64.msi</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4-win64-x64.zip">cmake-3.9.4-win64-x64.zip</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4.tar.Z">cmake-3.9.4.tar.Z</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4.tar.gz">cmake-3.9.4.tar.gz</a></td><td align="right">2017-10-04 09:42  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.4.zip">cmake-3.9.4.zip</a></td><td align="right">2017-10-04 09:42  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-Darwin-x86_64.dmg">cmake-3.9.5-Darwin-x86_64.dmg</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-Darwin-x86_64.tar.gz">cmake-3.9.5-Darwin-x86_64.tar.gz</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.5-Linux-x86_64.sh">cmake-3.9.5-Linux-x86_64.sh</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-Linux-x86_64.tar.gz">cmake-3.9.5-Linux-x86_64.tar.gz</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.5-SHA-256.txt">cmake-3.9.5-SHA-256.txt</a></td><td align="right">2017-11-03 10:26  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.5-SHA-256.txt.asc">cmake-3.9.5-SHA-256.txt.asc</a></td><td align="right">2017-11-03 10:26  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-win32-x86.msi">cmake-3.9.5-win32-x86.msi</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-win32-x86.zip">cmake-3.9.5-win32-x86.zip</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-win64-x64.msi">cmake-3.9.5-win64-x64.msi</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5-win64-x64.zip">cmake-3.9.5-win64-x64.zip</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5.tar.Z">cmake-3.9.5.tar.Z</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5.tar.gz">cmake-3.9.5.tar.gz</a></td><td align="right">2017-11-03 10:26  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.5.zip">cmake-3.9.5.zip</a></td><td align="right">2017-11-03 10:26  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-Darwin-x86_64.dmg">cmake-3.9.6-Darwin-x86_64.dmg</a></td><td align="right">2017-11-10 09:22  </td><td align="right"> 26M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-Darwin-x86_64.tar.gz">cmake-3.9.6-Darwin-x86_64.tar.gz</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.6-Linux-x86_64.sh">cmake-3.9.6-Linux-x86_64.sh</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-Linux-x86_64.tar.gz">cmake-3.9.6-Linux-x86_64.tar.gz</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 31M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.6-SHA-256.txt">cmake-3.9.6-SHA-256.txt</a></td><td align="right">2017-11-10 09:21  </td><td align="right">1.0K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/text.gif" alt="[TXT]"></td><td><a href="cmake-3.9.6-SHA-256.txt.asc">cmake-3.9.6-SHA-256.txt.asc</a></td><td align="right">2017-11-10 09:21  </td><td align="right">833 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-win32-x86.msi">cmake-3.9.6-win32-x86.msi</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 16M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-win32-x86.zip">cmake-3.9.6-win32-x86.zip</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 22M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-win64-x64.msi">cmake-3.9.6-win64-x64.msi</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 18M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6-win64-x64.zip">cmake-3.9.6-win64-x64.zip</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 25M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6.tar.Z">cmake-3.9.6.tar.Z</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6.tar.gz">cmake-3.9.6.tar.gz</a></td><td align="right">2017-11-10 09:21  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="cmake-3.9.6.zip">cmake-3.9.6.zip</a></td><td align="right">2017-11-10 09:21  </td><td align="right"> 12M</td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.23/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.23/index.html
new file mode 100644
index 0000000..b3d9244
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.23/index.html
@@ -0,0 +1,45 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.23/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.23/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     31-Jul-2013 12:35       -
+<a href="libmount-docs/">libmount-docs/</a>                                     31-Jul-2013 12:39       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:53    2942
+<a href="util-linux-2.23-rc1.tar.bz2">util-linux-2.23-rc1.tar.bz2</a>                        22-Mar-2013 12:48      5M
+<a href="util-linux-2.23-rc1.tar.gz">util-linux-2.23-rc1.tar.gz</a>                         22-Mar-2013 12:48      7M
+<a href="util-linux-2.23-rc1.tar.sign">util-linux-2.23-rc1.tar.sign</a>                       22-Mar-2013 12:48     836
+<a href="util-linux-2.23-rc1.tar.xz">util-linux-2.23-rc1.tar.xz</a>                         22-Mar-2013 12:48      3M
+<a href="util-linux-2.23-rc2.tar.bz2">util-linux-2.23-rc2.tar.bz2</a>                        10-Apr-2013 22:14      5M
+<a href="util-linux-2.23-rc2.tar.gz">util-linux-2.23-rc2.tar.gz</a>                         10-Apr-2013 22:14      7M
+<a href="util-linux-2.23-rc2.tar.sign">util-linux-2.23-rc2.tar.sign</a>                       10-Apr-2013 22:14     836
+<a href="util-linux-2.23-rc2.tar.xz">util-linux-2.23-rc2.tar.xz</a>                         10-Apr-2013 22:14      3M
+<a href="util-linux-2.23.1.tar.bz2">util-linux-2.23.1.tar.bz2</a>                          28-May-2013 09:57      5M
+<a href="util-linux-2.23.1.tar.gz">util-linux-2.23.1.tar.gz</a>                           28-May-2013 09:57      7M
+<a href="util-linux-2.23.1.tar.sign">util-linux-2.23.1.tar.sign</a>                         28-May-2013 09:57     836
+<a href="util-linux-2.23.1.tar.xz">util-linux-2.23.1.tar.xz</a>                           28-May-2013 09:57      3M
+<a href="util-linux-2.23.2.tar.bz2">util-linux-2.23.2.tar.bz2</a>                          31-Jul-2013 12:40      5M
+<a href="util-linux-2.23.2.tar.gz">util-linux-2.23.2.tar.gz</a>                           31-Jul-2013 12:40      7M
+<a href="util-linux-2.23.2.tar.sign">util-linux-2.23.2.tar.sign</a>                         31-Jul-2013 12:40     836
+<a href="util-linux-2.23.2.tar.xz">util-linux-2.23.2.tar.xz</a>                           31-Jul-2013 12:40      3M
+<a href="util-linux-2.23.tar.bz2">util-linux-2.23.tar.bz2</a>                            25-Apr-2013 10:48      5M
+<a href="util-linux-2.23.tar.gz">util-linux-2.23.tar.gz</a>                             25-Apr-2013 10:48      7M
+<a href="util-linux-2.23.tar.sign">util-linux-2.23.tar.sign</a>                           25-Apr-2013 10:48     836
+<a href="util-linux-2.23.tar.xz">util-linux-2.23.tar.xz</a>                             25-Apr-2013 10:48      3M
+<a href="v2.23-ChangeLog">v2.23-ChangeLog</a>                                    25-Apr-2013 10:48     19K
+<a href="v2.23-ChangeLog.sign">v2.23-ChangeLog.sign</a>                               25-Apr-2013 10:48     836
+<a href="v2.23-ReleaseNotes">v2.23-ReleaseNotes</a>                                 25-Apr-2013 10:48     53K
+<a href="v2.23-ReleaseNotes.sign">v2.23-ReleaseNotes.sign</a>                            25-Apr-2013 10:48     836
+<a href="v2.23-rc1-ChangeLog">v2.23-rc1-ChangeLog</a>                                22-Mar-2013 12:48    361K
+<a href="v2.23-rc1-ChangeLog.sign">v2.23-rc1-ChangeLog.sign</a>                           22-Mar-2013 12:48     836
+<a href="v2.23-rc2-ChangeLog">v2.23-rc2-ChangeLog</a>                                10-Apr-2013 22:14     80K
+<a href="v2.23-rc2-ChangeLog.sign">v2.23-rc2-ChangeLog.sign</a>                           10-Apr-2013 22:14     836
+<a href="v2.23.1-ChangeLog">v2.23.1-ChangeLog</a>                                  28-May-2013 09:57     13K
+<a href="v2.23.1-ChangeLog.sign">v2.23.1-ChangeLog.sign</a>                             28-May-2013 09:57     836
+<a href="v2.23.1-ReleaseNotes">v2.23.1-ReleaseNotes</a>                               28-May-2013 09:58    1448
+<a href="v2.23.1-ReleaseNotes.sign">v2.23.1-ReleaseNotes.sign</a>                          28-May-2013 09:58     836
+<a href="v2.23.2-ChangeLog">v2.23.2-ChangeLog</a>                                  31-Jul-2013 12:40     23K
+<a href="v2.23.2-ChangeLog.sign">v2.23.2-ChangeLog.sign</a>                             31-Jul-2013 12:40     836
+<a href="v2.23.2-ReleaseNotes">v2.23.2-ReleaseNotes</a>                               31-Jul-2013 12:40    2582
+<a href="v2.23.2-ReleaseNotes.sign">v2.23.2-ReleaseNotes.sign</a>                          31-Jul-2013 12:40     836
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.24/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.24/index.html
new file mode 100644
index 0000000..4afb462
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.24/index.html
@@ -0,0 +1,43 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.24/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.24/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     24-Apr-2014 10:15       -
+<a href="libmount-docs/">libmount-docs/</a>                                     24-Apr-2014 10:17       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:53    2758
+<a href="util-linux-2.24-rc1.tar.bz2">util-linux-2.24-rc1.tar.bz2</a>                        27-Sep-2013 12:54      5M
+<a href="util-linux-2.24-rc1.tar.gz">util-linux-2.24-rc1.tar.gz</a>                         27-Sep-2013 12:54      7M
+<a href="util-linux-2.24-rc1.tar.sign">util-linux-2.24-rc1.tar.sign</a>                       27-Sep-2013 12:54     836
+<a href="util-linux-2.24-rc1.tar.xz">util-linux-2.24-rc1.tar.xz</a>                         27-Sep-2013 12:54      3M
+<a href="util-linux-2.24-rc2.tar.bz2">util-linux-2.24-rc2.tar.bz2</a>                        11-Oct-2013 11:37      5M
+<a href="util-linux-2.24-rc2.tar.gz">util-linux-2.24-rc2.tar.gz</a>                         11-Oct-2013 11:37      7M
+<a href="util-linux-2.24-rc2.tar.sign">util-linux-2.24-rc2.tar.sign</a>                       11-Oct-2013 11:37     836
+<a href="util-linux-2.24-rc2.tar.xz">util-linux-2.24-rc2.tar.xz</a>                         11-Oct-2013 11:37      3M
+<a href="util-linux-2.24.1.tar.gz">util-linux-2.24.1.tar.gz</a>                           20-Jan-2014 13:33      7M
+<a href="util-linux-2.24.1.tar.sign">util-linux-2.24.1.tar.sign</a>                         20-Jan-2014 13:33     819
+<a href="util-linux-2.24.1.tar.xz">util-linux-2.24.1.tar.xz</a>                           20-Jan-2014 13:33      3M
+<a href="util-linux-2.24.2.tar.gz">util-linux-2.24.2.tar.gz</a>                           24-Apr-2014 10:17      7M
+<a href="util-linux-2.24.2.tar.sign">util-linux-2.24.2.tar.sign</a>                         24-Apr-2014 10:17     819
+<a href="util-linux-2.24.2.tar.xz">util-linux-2.24.2.tar.xz</a>                           24-Apr-2014 10:17      3M
+<a href="util-linux-2.24.tar.bz2">util-linux-2.24.tar.bz2</a>                            21-Oct-2013 13:49      5M
+<a href="util-linux-2.24.tar.gz">util-linux-2.24.tar.gz</a>                             21-Oct-2013 13:49      7M
+<a href="util-linux-2.24.tar.sign">util-linux-2.24.tar.sign</a>                           21-Oct-2013 13:49     836
+<a href="util-linux-2.24.tar.xz">util-linux-2.24.tar.xz</a>                             21-Oct-2013 13:49      3M
+<a href="v2.24-ChangeLog">v2.24-ChangeLog</a>                                    21-Oct-2013 13:49     22K
+<a href="v2.24-ChangeLog.sign">v2.24-ChangeLog.sign</a>                               21-Oct-2013 13:49     836
+<a href="v2.24-ReleaseNotes">v2.24-ReleaseNotes</a>                                 21-Oct-2013 13:49     44K
+<a href="v2.24-ReleaseNotes.sign">v2.24-ReleaseNotes.sign</a>                            21-Oct-2013 13:49     836
+<a href="v2.24-rc1-ChangeLog">v2.24-rc1-ChangeLog</a>                                27-Sep-2013 12:54    292K
+<a href="v2.24-rc1-ChangeLog.sign">v2.24-rc1-ChangeLog.sign</a>                           27-Sep-2013 12:54     836
+<a href="v2.24-rc2-ChangeLog">v2.24-rc2-ChangeLog</a>                                11-Oct-2013 11:37     42K
+<a href="v2.24-rc2-ChangeLog.sign">v2.24-rc2-ChangeLog.sign</a>                           11-Oct-2013 11:37     836
+<a href="v2.24.1-ChangeLog">v2.24.1-ChangeLog</a>                                  20-Jan-2014 13:33     38K
+<a href="v2.24.1-ChangeLog.sign">v2.24.1-ChangeLog.sign</a>                             20-Jan-2014 13:33     819
+<a href="v2.24.1-ReleaseNotes">v2.24.1-ReleaseNotes</a>                               20-Jan-2014 13:33    4449
+<a href="v2.24.1-ReleaseNotes.sign">v2.24.1-ReleaseNotes.sign</a>                          20-Jan-2014 13:33     819
+<a href="v2.24.2-ChangeLog">v2.24.2-ChangeLog</a>                                  24-Apr-2014 10:17     47K
+<a href="v2.24.2-ChangeLog.sign">v2.24.2-ChangeLog.sign</a>                             24-Apr-2014 10:17     819
+<a href="v2.24.2-ReleaseNotes">v2.24.2-ReleaseNotes</a>                               24-Apr-2014 10:18    5748
+<a href="v2.24.2-ReleaseNotes.sign">v2.24.2-ReleaseNotes.sign</a>                          24-Apr-2014 10:18     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.25/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.25/index.html
new file mode 100644
index 0000000..9516c3b
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.25/index.html
@@ -0,0 +1,46 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.25/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.25/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     24-Oct-2014 13:05       -
+<a href="libmount-docs/">libmount-docs/</a>                                     24-Oct-2014 13:06       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 24-Oct-2014 13:08       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:53    2758
+<a href="util-linux-2.25-rc1.tar.gz">util-linux-2.25-rc1.tar.gz</a>                         18-Jun-2014 13:33      7M
+<a href="util-linux-2.25-rc1.tar.sign">util-linux-2.25-rc1.tar.sign</a>                       18-Jun-2014 13:33     819
+<a href="util-linux-2.25-rc1.tar.xz">util-linux-2.25-rc1.tar.xz</a>                         18-Jun-2014 13:33      3M
+<a href="util-linux-2.25-rc2.tar.gz">util-linux-2.25-rc2.tar.gz</a>                         02-Jul-2014 10:02      7M
+<a href="util-linux-2.25-rc2.tar.sign">util-linux-2.25-rc2.tar.sign</a>                       02-Jul-2014 10:02     819
+<a href="util-linux-2.25-rc2.tar.xz">util-linux-2.25-rc2.tar.xz</a>                         02-Jul-2014 10:02      3M
+<a href="util-linux-2.25.1-rc1.tar.gz">util-linux-2.25.1-rc1.tar.gz</a>                       27-Aug-2014 13:18      8M
+<a href="util-linux-2.25.1-rc1.tar.sign">util-linux-2.25.1-rc1.tar.sign</a>                     27-Aug-2014 13:18     819
+<a href="util-linux-2.25.1-rc1.tar.xz">util-linux-2.25.1-rc1.tar.xz</a>                       27-Aug-2014 13:18      4M
+<a href="util-linux-2.25.1.tar.gz">util-linux-2.25.1.tar.gz</a>                           03-Sep-2014 10:41      8M
+<a href="util-linux-2.25.1.tar.sign">util-linux-2.25.1.tar.sign</a>                         03-Sep-2014 10:41     819
+<a href="util-linux-2.25.1.tar.xz">util-linux-2.25.1.tar.xz</a>                           03-Sep-2014 10:41      4M
+<a href="util-linux-2.25.2.tar.gz">util-linux-2.25.2.tar.gz</a>                           24-Oct-2014 13:08      8M
+<a href="util-linux-2.25.2.tar.sign">util-linux-2.25.2.tar.sign</a>                         24-Oct-2014 13:08     819
+<a href="util-linux-2.25.2.tar.xz">util-linux-2.25.2.tar.xz</a>                           24-Oct-2014 13:08      4M
+<a href="util-linux-2.25.tar.gz">util-linux-2.25.tar.gz</a>                             22-Jul-2014 09:50      8M
+<a href="util-linux-2.25.tar.sign">util-linux-2.25.tar.sign</a>                           22-Jul-2014 09:50     819
+<a href="util-linux-2.25.tar.xz">util-linux-2.25.tar.xz</a>                             22-Jul-2014 09:50      4M
+<a href="v2.25-ChangeLog">v2.25-ChangeLog</a>                                    22-Jul-2014 09:50     41K
+<a href="v2.25-ChangeLog.sign">v2.25-ChangeLog.sign</a>                               22-Jul-2014 09:50     819
+<a href="v2.25-ReleaseNotes">v2.25-ReleaseNotes</a>                                 22-Jul-2014 09:50     61K
+<a href="v2.25-ReleaseNotes.sign">v2.25-ReleaseNotes.sign</a>                            22-Jul-2014 09:50     819
+<a href="v2.25-rc1-ChangeLog">v2.25-rc1-ChangeLog</a>                                18-Jun-2014 13:33    489K
+<a href="v2.25-rc1-ChangeLog.sign">v2.25-rc1-ChangeLog.sign</a>                           18-Jun-2014 13:33     819
+<a href="v2.25-rc2-ChangeLog">v2.25-rc2-ChangeLog</a>                                02-Jul-2014 10:02     27K
+<a href="v2.25-rc2-ChangeLog.sign">v2.25-rc2-ChangeLog.sign</a>                           02-Jul-2014 10:02     819
+<a href="v2.25.1-ChangeLog">v2.25.1-ChangeLog</a>                                  03-Sep-2014 10:41    5816
+<a href="v2.25.1-ChangeLog.sign">v2.25.1-ChangeLog.sign</a>                             03-Sep-2014 10:41     819
+<a href="v2.25.1-ReleaseNotes">v2.25.1-ReleaseNotes</a>                               03-Sep-2014 10:52    3220
+<a href="v2.25.1-ReleaseNotes.sign">v2.25.1-ReleaseNotes.sign</a>                          03-Sep-2014 10:52     819
+<a href="v2.25.1-rc1-ChangeLog">v2.25.1-rc1-ChangeLog</a>                              27-Aug-2014 13:18     22K
+<a href="v2.25.1-rc1-ChangeLog.sign">v2.25.1-rc1-ChangeLog.sign</a>                         27-Aug-2014 13:18     819
+<a href="v2.25.2-ChangeLog">v2.25.2-ChangeLog</a>                                  24-Oct-2014 13:08     26K
+<a href="v2.25.2-ChangeLog.sign">v2.25.2-ChangeLog.sign</a>                             24-Oct-2014 13:08     819
+<a href="v2.25.2-ReleaseNotes">v2.25.2-ReleaseNotes</a>                               24-Oct-2014 13:08    3016
+<a href="v2.25.2-ReleaseNotes.sign">v2.25.2-ReleaseNotes.sign</a>                          24-Oct-2014 13:08     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.26/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.26/index.html
new file mode 100644
index 0000000..b991489
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.26/index.html
@@ -0,0 +1,42 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.26/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.26/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     30-Apr-2015 10:38       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     30-Apr-2015 10:40       -
+<a href="libmount-docs/">libmount-docs/</a>                                     30-Apr-2015 10:42       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 30-Apr-2015 10:43       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:54    2480
+<a href="util-linux-2.26-rc1.tar.gz">util-linux-2.26-rc1.tar.gz</a>                         14-Jan-2015 13:14      8M
+<a href="util-linux-2.26-rc1.tar.sign">util-linux-2.26-rc1.tar.sign</a>                       14-Jan-2015 13:14     819
+<a href="util-linux-2.26-rc1.tar.xz">util-linux-2.26-rc1.tar.xz</a>                         14-Jan-2015 13:14      4M
+<a href="util-linux-2.26-rc2.tar.gz">util-linux-2.26-rc2.tar.gz</a>                         04-Feb-2015 11:49      8M
+<a href="util-linux-2.26-rc2.tar.sign">util-linux-2.26-rc2.tar.sign</a>                       04-Feb-2015 11:49     819
+<a href="util-linux-2.26-rc2.tar.xz">util-linux-2.26-rc2.tar.xz</a>                         04-Feb-2015 11:49      4M
+<a href="util-linux-2.26.1.tar.gz">util-linux-2.26.1.tar.gz</a>                           13-Mar-2015 14:23      8M
+<a href="util-linux-2.26.1.tar.sign">util-linux-2.26.1.tar.sign</a>                         13-Mar-2015 14:23     819
+<a href="util-linux-2.26.1.tar.xz">util-linux-2.26.1.tar.xz</a>                           13-Mar-2015 14:23      4M
+<a href="util-linux-2.26.2.tar.gz">util-linux-2.26.2.tar.gz</a>                           30-Apr-2015 10:44      8M
+<a href="util-linux-2.26.2.tar.sign">util-linux-2.26.2.tar.sign</a>                         30-Apr-2015 10:44     819
+<a href="util-linux-2.26.2.tar.xz">util-linux-2.26.2.tar.xz</a>                           30-Apr-2015 10:44      4M
+<a href="util-linux-2.26.tar.gz">util-linux-2.26.tar.gz</a>                             19-Feb-2015 12:47      8M
+<a href="util-linux-2.26.tar.sign">util-linux-2.26.tar.sign</a>                           19-Feb-2015 12:47     819
+<a href="util-linux-2.26.tar.xz">util-linux-2.26.tar.xz</a>                             19-Feb-2015 12:47      4M
+<a href="v2.26-ChangeLog">v2.26-ChangeLog</a>                                    19-Feb-2015 12:47     30K
+<a href="v2.26-ChangeLog.sign">v2.26-ChangeLog.sign</a>                               19-Feb-2015 12:47     819
+<a href="v2.26-ReleaseNotes">v2.26-ReleaseNotes</a>                                 19-Feb-2015 12:47     51K
+<a href="v2.26-ReleaseNotes.sign">v2.26-ReleaseNotes.sign</a>                            19-Feb-2015 12:47     819
+<a href="v2.26-rc1-ChangeLog">v2.26-rc1-ChangeLog</a>                                14-Jan-2015 13:14    360K
+<a href="v2.26-rc1-ChangeLog.sign">v2.26-rc1-ChangeLog.sign</a>                           14-Jan-2015 13:14     819
+<a href="v2.26-rc2-ChangeLog">v2.26-rc2-ChangeLog</a>                                04-Feb-2015 11:50     51K
+<a href="v2.26-rc2-ChangeLog.sign">v2.26-rc2-ChangeLog.sign</a>                           04-Feb-2015 11:50     819
+<a href="v2.26.1-ChangeLog">v2.26.1-ChangeLog</a>                                  13-Mar-2015 14:23     32K
+<a href="v2.26.1-ChangeLog.sign">v2.26.1-ChangeLog.sign</a>                             13-Mar-2015 14:23     819
+<a href="v2.26.1-ReleaseNotes">v2.26.1-ReleaseNotes</a>                               13-Mar-2015 14:23    2944
+<a href="v2.26.1-ReleaseNotes.sign">v2.26.1-ReleaseNotes.sign</a>                          13-Mar-2015 14:23     819
+<a href="v2.26.2-ChangeLog">v2.26.2-ChangeLog</a>                                  30-Apr-2015 10:44     58K
+<a href="v2.26.2-ChangeLog.sign">v2.26.2-ChangeLog.sign</a>                             30-Apr-2015 10:44     819
+<a href="v2.26.2-ReleaseNotes">v2.26.2-ReleaseNotes</a>                               30-Apr-2015 10:44    5834
+<a href="v2.26.2-ReleaseNotes.sign">v2.26.2-ReleaseNotes.sign</a>                          30-Apr-2015 10:44     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.27/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.27/index.html
new file mode 100644
index 0000000..14eb368
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.27/index.html
@@ -0,0 +1,35 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.27/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.27/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     02-Nov-2015 11:01       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     02-Nov-2015 11:03       -
+<a href="libmount-docs/">libmount-docs/</a>                                     02-Nov-2015 11:04       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 02-Nov-2015 11:06       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:54    2127
+<a href="util-linux-2.27-rc1.tar.gz">util-linux-2.27-rc1.tar.gz</a>                         31-Jul-2015 11:01      8M
+<a href="util-linux-2.27-rc1.tar.sign">util-linux-2.27-rc1.tar.sign</a>                       31-Jul-2015 11:01     819
+<a href="util-linux-2.27-rc1.tar.xz">util-linux-2.27-rc1.tar.xz</a>                         31-Jul-2015 11:01      4M
+<a href="util-linux-2.27-rc2.tar.gz">util-linux-2.27-rc2.tar.gz</a>                         24-Aug-2015 11:04      8M
+<a href="util-linux-2.27-rc2.tar.sign">util-linux-2.27-rc2.tar.sign</a>                       24-Aug-2015 11:04     819
+<a href="util-linux-2.27-rc2.tar.xz">util-linux-2.27-rc2.tar.xz</a>                         24-Aug-2015 11:04      4M
+<a href="util-linux-2.27.1.tar.gz">util-linux-2.27.1.tar.gz</a>                           02-Nov-2015 11:06      8M
+<a href="util-linux-2.27.1.tar.sign">util-linux-2.27.1.tar.sign</a>                         02-Nov-2015 11:06     819
+<a href="util-linux-2.27.1.tar.xz">util-linux-2.27.1.tar.xz</a>                           02-Nov-2015 11:06      4M
+<a href="util-linux-2.27.tar.gz">util-linux-2.27.tar.gz</a>                             07-Sep-2015 08:17      8M
+<a href="util-linux-2.27.tar.sign">util-linux-2.27.tar.sign</a>                           07-Sep-2015 08:17     819
+<a href="util-linux-2.27.tar.xz">util-linux-2.27.tar.xz</a>                             07-Sep-2015 08:17      4M
+<a href="v2.27-ChangeLog">v2.27-ChangeLog</a>                                    07-Sep-2015 08:17     21K
+<a href="v2.27-ChangeLog.sign">v2.27-ChangeLog.sign</a>                               07-Sep-2015 08:17     819
+<a href="v2.27-ReleaseNotes">v2.27-ReleaseNotes</a>                                 07-Sep-2015 08:17     35K
+<a href="v2.27-ReleaseNotes.sign">v2.27-ReleaseNotes.sign</a>                            07-Sep-2015 08:17     819
+<a href="v2.27-rc1-ChangeLog">v2.27-rc1-ChangeLog</a>                                31-Jul-2015 11:01    263K
+<a href="v2.27-rc1-ChangeLog.sign">v2.27-rc1-ChangeLog.sign</a>                           31-Jul-2015 11:01     819
+<a href="v2.27-rc2-ChangeLog">v2.27-rc2-ChangeLog</a>                                24-Aug-2015 11:04     38K
+<a href="v2.27-rc2-ChangeLog.sign">v2.27-rc2-ChangeLog.sign</a>                           24-Aug-2015 11:04     819
+<a href="v2.27.1-ChangeLog">v2.27.1-ChangeLog</a>                                  02-Nov-2015 11:06     18K
+<a href="v2.27.1-ChangeLog.sign">v2.27.1-ChangeLog.sign</a>                             02-Nov-2015 11:06     819
+<a href="v2.27.1-ReleaseNotes">v2.27.1-ReleaseNotes</a>                               02-Nov-2015 11:06    2107
+<a href="v2.27.1-ReleaseNotes.sign">v2.27.1-ReleaseNotes.sign</a>                          02-Nov-2015 11:06     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.28/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.28/index.html
new file mode 100644
index 0000000..4bba6b4
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.28/index.html
@@ -0,0 +1,42 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.28/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.28/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     07-Sep-2016 12:00       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     07-Sep-2016 12:02       -
+<a href="libmount-docs/">libmount-docs/</a>                                     07-Sep-2016 12:04       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 07-Sep-2016 12:06       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:55    2480
+<a href="util-linux-2.28-rc1.tar.gz">util-linux-2.28-rc1.tar.gz</a>                         11-Mar-2016 11:45      8M
+<a href="util-linux-2.28-rc1.tar.sign">util-linux-2.28-rc1.tar.sign</a>                       11-Mar-2016 11:45     819
+<a href="util-linux-2.28-rc1.tar.xz">util-linux-2.28-rc1.tar.xz</a>                         11-Mar-2016 11:45      4M
+<a href="util-linux-2.28-rc2.tar.gz">util-linux-2.28-rc2.tar.gz</a>                         29-Mar-2016 09:04      8M
+<a href="util-linux-2.28-rc2.tar.sign">util-linux-2.28-rc2.tar.sign</a>                       29-Mar-2016 09:04     819
+<a href="util-linux-2.28-rc2.tar.xz">util-linux-2.28-rc2.tar.xz</a>                         29-Mar-2016 09:04      4M
+<a href="util-linux-2.28.1.tar.gz">util-linux-2.28.1.tar.gz</a>                           11-Aug-2016 10:09      9M
+<a href="util-linux-2.28.1.tar.sign">util-linux-2.28.1.tar.sign</a>                         11-Aug-2016 10:09     819
+<a href="util-linux-2.28.1.tar.xz">util-linux-2.28.1.tar.xz</a>                           11-Aug-2016 10:09      4M
+<a href="util-linux-2.28.2.tar.gz">util-linux-2.28.2.tar.gz</a>                           07-Sep-2016 12:06      9M
+<a href="util-linux-2.28.2.tar.sign">util-linux-2.28.2.tar.sign</a>                         07-Sep-2016 12:06     819
+<a href="util-linux-2.28.2.tar.xz">util-linux-2.28.2.tar.xz</a>                           07-Sep-2016 12:06      4M
+<a href="util-linux-2.28.tar.gz">util-linux-2.28.tar.gz</a>                             12-Apr-2016 11:26      8M
+<a href="util-linux-2.28.tar.sign">util-linux-2.28.tar.sign</a>                           12-Apr-2016 11:26     819
+<a href="util-linux-2.28.tar.xz">util-linux-2.28.tar.xz</a>                             12-Apr-2016 11:26      4M
+<a href="v2.28-ChangeLog">v2.28-ChangeLog</a>                                    12-Apr-2016 11:26     13K
+<a href="v2.28-ChangeLog.sign">v2.28-ChangeLog.sign</a>                               12-Apr-2016 11:26     819
+<a href="v2.28-ReleaseNotes">v2.28-ReleaseNotes</a>                                 12-Apr-2016 11:26     33K
+<a href="v2.28-ReleaseNotes.sign">v2.28-ReleaseNotes.sign</a>                            12-Apr-2016 11:26     819
+<a href="v2.28-rc1-ChangeLog">v2.28-rc1-ChangeLog</a>                                11-Mar-2016 11:45    269K
+<a href="v2.28-rc1-ChangeLog.sign">v2.28-rc1-ChangeLog.sign</a>                           11-Mar-2016 11:45     819
+<a href="v2.28-rc2-ChangeLog">v2.28-rc2-ChangeLog</a>                                29-Mar-2016 09:04     52K
+<a href="v2.28-rc2-ChangeLog.sign">v2.28-rc2-ChangeLog.sign</a>                           29-Mar-2016 09:04     819
+<a href="v2.28.1-ChangeLog">v2.28.1-ChangeLog</a>                                  11-Aug-2016 10:09     37K
+<a href="v2.28.1-ChangeLog.sign">v2.28.1-ChangeLog.sign</a>                             11-Aug-2016 10:09     819
+<a href="v2.28.1-ReleaseNotes">v2.28.1-ReleaseNotes</a>                               11-Aug-2016 10:09    3748
+<a href="v2.28.1-ReleaseNotes.sign">v2.28.1-ReleaseNotes.sign</a>                          11-Aug-2016 10:09     819
+<a href="v2.28.2-ChangeLog">v2.28.2-ChangeLog</a>                                  07-Sep-2016 12:06    8900
+<a href="v2.28.2-ChangeLog.sign">v2.28.2-ChangeLog.sign</a>                             07-Sep-2016 12:06     819
+<a href="v2.28.2-ReleaseNotes">v2.28.2-ReleaseNotes</a>                               07-Sep-2016 12:06    1161
+<a href="v2.28.2-ReleaseNotes.sign">v2.28.2-ReleaseNotes.sign</a>                          07-Sep-2016 12:06     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.29/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.29/index.html
new file mode 100644
index 0000000..916a255
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.29/index.html
@@ -0,0 +1,42 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.29/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.29/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     22-Feb-2017 15:20       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     22-Feb-2017 15:22       -
+<a href="libmount-docs/">libmount-docs/</a>                                     22-Feb-2017 15:24       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 22-Feb-2017 15:26       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     12-May-2017 10:55    2480
+<a href="util-linux-2.29-rc1.tar.gz">util-linux-2.29-rc1.tar.gz</a>                         30-Sep-2016 09:55      9M
+<a href="util-linux-2.29-rc1.tar.sign">util-linux-2.29-rc1.tar.sign</a>                       30-Sep-2016 09:55     819
+<a href="util-linux-2.29-rc1.tar.xz">util-linux-2.29-rc1.tar.xz</a>                         30-Sep-2016 09:55      4M
+<a href="util-linux-2.29-rc2.tar.gz">util-linux-2.29-rc2.tar.gz</a>                         19-Oct-2016 13:13      9M
+<a href="util-linux-2.29-rc2.tar.sign">util-linux-2.29-rc2.tar.sign</a>                       19-Oct-2016 13:13     819
+<a href="util-linux-2.29-rc2.tar.xz">util-linux-2.29-rc2.tar.xz</a>                         19-Oct-2016 13:13      4M
+<a href="util-linux-2.29.1.tar.gz">util-linux-2.29.1.tar.gz</a>                           20-Jan-2017 14:02      9M
+<a href="util-linux-2.29.1.tar.sign">util-linux-2.29.1.tar.sign</a>                         20-Jan-2017 14:02     819
+<a href="util-linux-2.29.1.tar.xz">util-linux-2.29.1.tar.xz</a>                           20-Jan-2017 14:02      4M
+<a href="util-linux-2.29.2.tar.gz">util-linux-2.29.2.tar.gz</a>                           22-Feb-2017 15:26      9M
+<a href="util-linux-2.29.2.tar.sign">util-linux-2.29.2.tar.sign</a>                         22-Feb-2017 15:26     819
+<a href="util-linux-2.29.2.tar.xz">util-linux-2.29.2.tar.xz</a>                           22-Feb-2017 15:26      4M
+<a href="util-linux-2.29.tar.gz">util-linux-2.29.tar.gz</a>                             08-Nov-2016 11:23      9M
+<a href="util-linux-2.29.tar.sign">util-linux-2.29.tar.sign</a>                           08-Nov-2016 11:23     819
+<a href="util-linux-2.29.tar.xz">util-linux-2.29.tar.xz</a>                             08-Nov-2016 11:23      4M
+<a href="v2.29-ChangeLog">v2.29-ChangeLog</a>                                    08-Nov-2016 11:23     28K
+<a href="v2.29-ChangeLog.sign">v2.29-ChangeLog.sign</a>                               08-Nov-2016 11:23     819
+<a href="v2.29-ReleaseNotes">v2.29-ReleaseNotes</a>                                 08-Nov-2016 11:24     26K
+<a href="v2.29-ReleaseNotes.sign">v2.29-ReleaseNotes.sign</a>                            08-Nov-2016 11:24     819
+<a href="v2.29-rc1-ChangeLog">v2.29-rc1-ChangeLog</a>                                30-Sep-2016 09:55    219K
+<a href="v2.29-rc1-ChangeLog.sign">v2.29-rc1-ChangeLog.sign</a>                           30-Sep-2016 09:55     819
+<a href="v2.29-rc2-ChangeLog">v2.29-rc2-ChangeLog</a>                                19-Oct-2016 13:13     19K
+<a href="v2.29-rc2-ChangeLog.sign">v2.29-rc2-ChangeLog.sign</a>                           19-Oct-2016 13:13     819
+<a href="v2.29.1-ChangeLog">v2.29.1-ChangeLog</a>                                  20-Jan-2017 14:02     47K
+<a href="v2.29.1-ChangeLog.sign">v2.29.1-ChangeLog.sign</a>                             20-Jan-2017 14:02     819
+<a href="v2.29.1-ReleaseNotes">v2.29.1-ReleaseNotes</a>                               20-Jan-2017 14:02    5067
+<a href="v2.29.1-ReleaseNotes.sign">v2.29.1-ReleaseNotes.sign</a>                          20-Jan-2017 14:02     819
+<a href="v2.29.2-ChangeLog">v2.29.2-ChangeLog</a>                                  22-Feb-2017 15:26     14K
+<a href="v2.29.2-ChangeLog.sign">v2.29.2-ChangeLog.sign</a>                             22-Feb-2017 15:26     819
+<a href="v2.29.2-ReleaseNotes">v2.29.2-ReleaseNotes</a>                               22-Feb-2017 15:26    2012
+<a href="v2.29.2-ReleaseNotes.sign">v2.29.2-ReleaseNotes.sign</a>                          22-Feb-2017 15:26     819
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.30/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.30/index.html
new file mode 100644
index 0000000..0441bc0
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.30/index.html
@@ -0,0 +1,42 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.30/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.30/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     21-Sep-2017 09:49       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     21-Sep-2017 09:50       -
+<a href="libmount-docs/">libmount-docs/</a>                                     21-Sep-2017 09:50       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 21-Sep-2017 09:51       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     21-Sep-2017 09:52    2480
+<a href="util-linux-2.30-rc1.tar.gz">util-linux-2.30-rc1.tar.gz</a>                         12-May-2017 12:02      9M
+<a href="util-linux-2.30-rc1.tar.sign">util-linux-2.30-rc1.tar.sign</a>                       12-May-2017 12:02     819
+<a href="util-linux-2.30-rc1.tar.xz">util-linux-2.30-rc1.tar.xz</a>                         12-May-2017 12:02      4M
+<a href="util-linux-2.30-rc2.tar.gz">util-linux-2.30-rc2.tar.gz</a>                         23-May-2017 10:42      9M
+<a href="util-linux-2.30-rc2.tar.sign">util-linux-2.30-rc2.tar.sign</a>                       23-May-2017 10:42     819
+<a href="util-linux-2.30-rc2.tar.xz">util-linux-2.30-rc2.tar.xz</a>                         23-May-2017 10:42      4M
+<a href="util-linux-2.30.1.tar.gz">util-linux-2.30.1.tar.gz</a>                           20-Jul-2017 09:33      9M
+<a href="util-linux-2.30.1.tar.sign">util-linux-2.30.1.tar.sign</a>                         20-Jul-2017 09:33     819
+<a href="util-linux-2.30.1.tar.xz">util-linux-2.30.1.tar.xz</a>                           20-Jul-2017 09:33      4M
+<a href="util-linux-2.30.2.tar.gz">util-linux-2.30.2.tar.gz</a>                           21-Sep-2017 09:51      9M
+<a href="util-linux-2.30.2.tar.sign">util-linux-2.30.2.tar.sign</a>                         21-Sep-2017 09:51     833
+<a href="util-linux-2.30.2.tar.xz">util-linux-2.30.2.tar.xz</a>                           21-Sep-2017 09:51      4M
+<a href="util-linux-2.30.tar.gz">util-linux-2.30.tar.gz</a>                             02-Jun-2017 10:44      9M
+<a href="util-linux-2.30.tar.sign">util-linux-2.30.tar.sign</a>                           02-Jun-2017 10:44     819
+<a href="util-linux-2.30.tar.xz">util-linux-2.30.tar.xz</a>                             02-Jun-2017 10:44      4M
+<a href="v2.30-ChangeLog">v2.30-ChangeLog</a>                                    02-Jun-2017 10:44     28K
+<a href="v2.30-ChangeLog.sign">v2.30-ChangeLog.sign</a>                               02-Jun-2017 10:44     819
+<a href="v2.30-ReleaseNotes">v2.30-ReleaseNotes</a>                                 02-Jun-2017 10:44     34K
+<a href="v2.30-ReleaseNotes.sign">v2.30-ReleaseNotes.sign</a>                            02-Jun-2017 10:44     819
+<a href="v2.30-rc1-ChangeLog">v2.30-rc1-ChangeLog</a>                                23-May-2017 10:42    318K
+<a href="v2.30-rc1-ChangeLog.sign">v2.30-rc1-ChangeLog.sign</a>                           23-May-2017 10:42     819
+<a href="v2.30-rc2-ChangeLog">v2.30-rc2-ChangeLog</a>                                23-May-2017 10:42     19K
+<a href="v2.30-rc2-ChangeLog.sign">v2.30-rc2-ChangeLog.sign</a>                           23-May-2017 10:42     819
+<a href="v2.30.1-ChangeLog">v2.30.1-ChangeLog</a>                                  20-Jul-2017 09:33     20K
+<a href="v2.30.1-ChangeLog.sign">v2.30.1-ChangeLog.sign</a>                             20-Jul-2017 09:33     819
+<a href="v2.30.1-ReleaseNotes">v2.30.1-ReleaseNotes</a>                               20-Jul-2017 09:33    1901
+<a href="v2.30.1-ReleaseNotes.sign">v2.30.1-ReleaseNotes.sign</a>                          20-Jul-2017 09:33     819
+<a href="v2.30.2-ChangeLog">v2.30.2-ChangeLog</a>                                  21-Sep-2017 09:51     13K
+<a href="v2.30.2-ChangeLog.sign">v2.30.2-ChangeLog.sign</a>                             21-Sep-2017 09:51     833
+<a href="v2.30.2-ReleaseNotes">v2.30.2-ReleaseNotes</a>                               21-Sep-2017 09:51    1604
+<a href="v2.30.2-ReleaseNotes.sign">v2.30.2-ReleaseNotes.sign</a>                          21-Sep-2017 09:51     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.31/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.31/index.html
new file mode 100644
index 0000000..097e4e0
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.31/index.html
@@ -0,0 +1,35 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.31/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.31/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     19-Dec-2017 15:16       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     19-Dec-2017 15:17       -
+<a href="libmount-docs/">libmount-docs/</a>                                     19-Dec-2017 15:17       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 19-Dec-2017 15:17       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     19-Dec-2017 15:20    2127
+<a href="util-linux-2.31-rc1.tar.gz">util-linux-2.31-rc1.tar.gz</a>                         22-Sep-2017 10:39      9M
+<a href="util-linux-2.31-rc1.tar.sign">util-linux-2.31-rc1.tar.sign</a>                       22-Sep-2017 10:39     833
+<a href="util-linux-2.31-rc1.tar.xz">util-linux-2.31-rc1.tar.xz</a>                         22-Sep-2017 10:39      4M
+<a href="util-linux-2.31-rc2.tar.gz">util-linux-2.31-rc2.tar.gz</a>                         03-Oct-2017 16:03      9M
+<a href="util-linux-2.31-rc2.tar.sign">util-linux-2.31-rc2.tar.sign</a>                       03-Oct-2017 16:03     833
+<a href="util-linux-2.31-rc2.tar.xz">util-linux-2.31-rc2.tar.xz</a>                         03-Oct-2017 16:03      4M
+<a href="util-linux-2.31.1.tar.gz">util-linux-2.31.1.tar.gz</a>                           19-Dec-2017 15:18      9M
+<a href="util-linux-2.31.1.tar.sign">util-linux-2.31.1.tar.sign</a>                         19-Dec-2017 15:18     833
+<a href="util-linux-2.31.1.tar.xz">util-linux-2.31.1.tar.xz</a>                           19-Dec-2017 15:18      4M
+<a href="util-linux-2.31.tar.gz">util-linux-2.31.tar.gz</a>                             19-Oct-2017 11:27      9M
+<a href="util-linux-2.31.tar.sign">util-linux-2.31.tar.sign</a>                           19-Oct-2017 11:27     833
+<a href="util-linux-2.31.tar.xz">util-linux-2.31.tar.xz</a>                             19-Oct-2017 11:27      4M
+<a href="v2.31-ChangeLog">v2.31-ChangeLog</a>                                    19-Oct-2017 11:27     15K
+<a href="v2.31-ChangeLog.sign">v2.31-ChangeLog.sign</a>                               19-Oct-2017 11:27     833
+<a href="v2.31-ReleaseNotes">v2.31-ReleaseNotes</a>                                 19-Oct-2017 11:27     31K
+<a href="v2.31-ReleaseNotes.sign">v2.31-ReleaseNotes.sign</a>                            19-Oct-2017 11:27     833
+<a href="v2.31-rc1-ChangeLog">v2.31-rc1-ChangeLog</a>                                22-Sep-2017 10:39    290K
+<a href="v2.31-rc1-ChangeLog.sign">v2.31-rc1-ChangeLog.sign</a>                           22-Sep-2017 10:39     833
+<a href="v2.31-rc2-ChangeLog">v2.31-rc2-ChangeLog</a>                                03-Oct-2017 16:03     12K
+<a href="v2.31-rc2-ChangeLog.sign">v2.31-rc2-ChangeLog.sign</a>                           03-Oct-2017 16:03     833
+<a href="v2.31.1-ChangeLog">v2.31.1-ChangeLog</a>                                  19-Dec-2017 15:18     27K
+<a href="v2.31.1-ChangeLog.sign">v2.31.1-ChangeLog.sign</a>                             19-Dec-2017 15:18     833
+<a href="v2.31.1-ReleaseNotes">v2.31.1-ReleaseNotes</a>                               19-Dec-2017 15:18    3175
+<a href="v2.31.1-ReleaseNotes.sign">v2.31.1-ReleaseNotes.sign</a>                          19-Dec-2017 15:18     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.32/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.32/index.html
new file mode 100644
index 0000000..d373e98
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.32/index.html
@@ -0,0 +1,35 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.32/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.32/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     16-Jul-2018 11:27       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     16-Jul-2018 11:28       -
+<a href="libmount-docs/">libmount-docs/</a>                                     16-Jul-2018 11:28       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 16-Jul-2018 11:28       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     16-Jul-2018 11:30    2127
+<a href="util-linux-2.32-rc1.tar.gz">util-linux-2.32-rc1.tar.gz</a>                         13-Feb-2018 12:25      9M
+<a href="util-linux-2.32-rc1.tar.sign">util-linux-2.32-rc1.tar.sign</a>                       13-Feb-2018 12:25     833
+<a href="util-linux-2.32-rc1.tar.xz">util-linux-2.32-rc1.tar.xz</a>                         13-Feb-2018 12:25      4M
+<a href="util-linux-2.32-rc2.tar.gz">util-linux-2.32-rc2.tar.gz</a>                         01-Mar-2018 13:38      9M
+<a href="util-linux-2.32-rc2.tar.sign">util-linux-2.32-rc2.tar.sign</a>                       01-Mar-2018 13:38     833
+<a href="util-linux-2.32-rc2.tar.xz">util-linux-2.32-rc2.tar.xz</a>                         01-Mar-2018 13:38      4M
+<a href="util-linux-2.32.1.tar.gz">util-linux-2.32.1.tar.gz</a>                           16-Jul-2018 11:29      9M
+<a href="util-linux-2.32.1.tar.sign">util-linux-2.32.1.tar.sign</a>                         16-Jul-2018 11:29     833
+<a href="util-linux-2.32.1.tar.xz">util-linux-2.32.1.tar.xz</a>                           16-Jul-2018 11:29      4M
+<a href="util-linux-2.32.tar.gz">util-linux-2.32.tar.gz</a>                             21-Mar-2018 14:49      9M
+<a href="util-linux-2.32.tar.sign">util-linux-2.32.tar.sign</a>                           21-Mar-2018 14:49     833
+<a href="util-linux-2.32.tar.xz">util-linux-2.32.tar.xz</a>                             21-Mar-2018 14:49      4M
+<a href="v2.32-ChangeLog">v2.32-ChangeLog</a>                                    21-Mar-2018 14:49     36K
+<a href="v2.32-ChangeLog.sign">v2.32-ChangeLog.sign</a>                               21-Mar-2018 14:49     833
+<a href="v2.32-ReleaseNotes">v2.32-ReleaseNotes</a>                                 21-Mar-2018 14:49     21K
+<a href="v2.32-ReleaseNotes.sign">v2.32-ReleaseNotes.sign</a>                            21-Mar-2018 14:49     833
+<a href="v2.32-rc1-ChangeLog">v2.32-rc1-ChangeLog</a>                                13-Feb-2018 12:25    174K
+<a href="v2.32-rc1-ChangeLog.sign">v2.32-rc1-ChangeLog.sign</a>                           13-Feb-2018 12:25     833
+<a href="v2.32-rc2-ChangeLog">v2.32-rc2-ChangeLog</a>                                01-Mar-2018 13:38     21K
+<a href="v2.32-rc2-ChangeLog.sign">v2.32-rc2-ChangeLog.sign</a>                           01-Mar-2018 13:38     833
+<a href="v2.32.1-ChangeLog">v2.32.1-ChangeLog</a>                                  16-Jul-2018 11:29     31K
+<a href="v2.32.1-ChangeLog.sign">v2.32.1-ChangeLog.sign</a>                             16-Jul-2018 11:29     833
+<a href="v2.32.1-ReleaseNotes">v2.32.1-ReleaseNotes</a>                               16-Jul-2018 11:29    3425
+<a href="v2.32.1-ReleaseNotes.sign">v2.32.1-ReleaseNotes.sign</a>                          16-Jul-2018 11:29     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.33/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.33/index.html
new file mode 100644
index 0000000..5495305
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.33/index.html
@@ -0,0 +1,42 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.33/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.33/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     09-Apr-2019 13:55       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     09-Apr-2019 13:56       -
+<a href="libmount-docs/">libmount-docs/</a>                                     09-Apr-2019 13:56       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 09-Apr-2019 13:56       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     09-Apr-2019 14:01    2480
+<a href="util-linux-2.33-rc1.tar.gz">util-linux-2.33-rc1.tar.gz</a>                         25-Sep-2018 10:34      9M
+<a href="util-linux-2.33-rc1.tar.sign">util-linux-2.33-rc1.tar.sign</a>                       25-Sep-2018 10:34     833
+<a href="util-linux-2.33-rc1.tar.xz">util-linux-2.33-rc1.tar.xz</a>                         25-Sep-2018 10:34      4M
+<a href="util-linux-2.33-rc2.tar.gz">util-linux-2.33-rc2.tar.gz</a>                         19-Oct-2018 11:44      9M
+<a href="util-linux-2.33-rc2.tar.sign">util-linux-2.33-rc2.tar.sign</a>                       19-Oct-2018 11:44     833
+<a href="util-linux-2.33-rc2.tar.xz">util-linux-2.33-rc2.tar.xz</a>                         19-Oct-2018 11:44      4M
+<a href="util-linux-2.33.1.tar.gz">util-linux-2.33.1.tar.gz</a>                           09-Jan-2019 10:28      9M
+<a href="util-linux-2.33.1.tar.sign">util-linux-2.33.1.tar.sign</a>                         09-Jan-2019 10:28     833
+<a href="util-linux-2.33.1.tar.xz">util-linux-2.33.1.tar.xz</a>                           09-Jan-2019 10:28      4M
+<a href="util-linux-2.33.2.tar.gz">util-linux-2.33.2.tar.gz</a>                           09-Apr-2019 13:57     10M
+<a href="util-linux-2.33.2.tar.sign">util-linux-2.33.2.tar.sign</a>                         09-Apr-2019 13:57     833
+<a href="util-linux-2.33.2.tar.xz">util-linux-2.33.2.tar.xz</a>                           09-Apr-2019 13:57      4M
+<a href="util-linux-2.33.tar.gz">util-linux-2.33.tar.gz</a>                             06-Nov-2018 11:25      9M
+<a href="util-linux-2.33.tar.sign">util-linux-2.33.tar.sign</a>                           06-Nov-2018 11:25     833
+<a href="util-linux-2.33.tar.xz">util-linux-2.33.tar.xz</a>                             06-Nov-2018 11:25      4M
+<a href="v2.33-ChangeLog">v2.33-ChangeLog</a>                                    06-Nov-2018 11:25    7977
+<a href="v2.33-ChangeLog.sign">v2.33-ChangeLog.sign</a>                               06-Nov-2018 11:25     833
+<a href="v2.33-ReleaseNotes">v2.33-ReleaseNotes</a>                                 06-Nov-2018 11:25     27K
+<a href="v2.33-ReleaseNotes.sign">v2.33-ReleaseNotes.sign</a>                            06-Nov-2018 11:25     833
+<a href="v2.33-rc1-ChangeLog">v2.33-rc1-ChangeLog</a>                                25-Sep-2018 10:34    210K
+<a href="v2.33-rc1-ChangeLog.sign">v2.33-rc1-ChangeLog.sign</a>                           25-Sep-2018 10:34     833
+<a href="v2.33-rc2-ChangeLog">v2.33-rc2-ChangeLog</a>                                19-Oct-2018 11:44     18K
+<a href="v2.33-rc2-ChangeLog.sign">v2.33-rc2-ChangeLog.sign</a>                           19-Oct-2018 11:44     833
+<a href="v2.33.1-ChangeLog">v2.33.1-ChangeLog</a>                                  09-Jan-2019 10:28     17K
+<a href="v2.33.1-ChangeLog.sign">v2.33.1-ChangeLog.sign</a>                             09-Jan-2019 10:28     833
+<a href="v2.33.1-ReleaseNotes">v2.33.1-ReleaseNotes</a>                               09-Jan-2019 10:28    1899
+<a href="v2.33.1-ReleaseNotes.sign">v2.33.1-ReleaseNotes.sign</a>                          09-Jan-2019 10:28     833
+<a href="v2.33.2-ChangeLog">v2.33.2-ChangeLog</a>                                  09-Apr-2019 13:57     21K
+<a href="v2.33.2-ChangeLog.sign">v2.33.2-ChangeLog.sign</a>                             09-Apr-2019 13:57     833
+<a href="v2.33.2-ReleaseNotes">v2.33.2-ReleaseNotes</a>                               09-Apr-2019 13:57    2566
+<a href="v2.33.2-ReleaseNotes.sign">v2.33.2-ReleaseNotes.sign</a>                          09-Apr-2019 13:57     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.34/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.34/index.html
new file mode 100644
index 0000000..bd9d9c8
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.34/index.html
@@ -0,0 +1,28 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.34/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.34/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     14-Jun-2019 10:45       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     14-Jun-2019 10:45       -
+<a href="libmount-docs/">libmount-docs/</a>                                     14-Jun-2019 10:45       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 14-Jun-2019 10:46       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     14-Jun-2019 10:51    1774
+<a href="util-linux-2.34-rc1.tar.gz">util-linux-2.34-rc1.tar.gz</a>                         30-Apr-2019 10:24     10M
+<a href="util-linux-2.34-rc1.tar.sign">util-linux-2.34-rc1.tar.sign</a>                       30-Apr-2019 10:24     833
+<a href="util-linux-2.34-rc1.tar.xz">util-linux-2.34-rc1.tar.xz</a>                         30-Apr-2019 10:24      5M
+<a href="util-linux-2.34-rc2.tar.gz">util-linux-2.34-rc2.tar.gz</a>                         30-May-2019 10:24     10M
+<a href="util-linux-2.34-rc2.tar.sign">util-linux-2.34-rc2.tar.sign</a>                       30-May-2019 10:24     833
+<a href="util-linux-2.34-rc2.tar.xz">util-linux-2.34-rc2.tar.xz</a>                         30-May-2019 10:24      5M
+<a href="util-linux-2.34.tar.gz">util-linux-2.34.tar.gz</a>                             14-Jun-2019 10:46     10M
+<a href="util-linux-2.34.tar.sign">util-linux-2.34.tar.sign</a>                           14-Jun-2019 10:46     833
+<a href="util-linux-2.34.tar.xz">util-linux-2.34.tar.xz</a>                             14-Jun-2019 10:46      5M
+<a href="v2.34-ChangeLog">v2.34-ChangeLog</a>                                    14-Jun-2019 10:46     14K
+<a href="v2.34-ChangeLog.sign">v2.34-ChangeLog.sign</a>                               14-Jun-2019 10:46     833
+<a href="v2.34-ReleaseNotes">v2.34-ReleaseNotes</a>                                 14-Jun-2019 10:46     27K
+<a href="v2.34-ReleaseNotes.sign">v2.34-ReleaseNotes.sign</a>                            14-Jun-2019 10:46     833
+<a href="v2.34-rc1-ChangeLog">v2.34-rc1-ChangeLog</a>                                30-Apr-2019 10:24    167K
+<a href="v2.34-rc1-ChangeLog.sign">v2.34-rc1-ChangeLog.sign</a>                           30-Apr-2019 10:24     833
+<a href="v2.34-rc2-ChangeLog">v2.34-rc2-ChangeLog</a>                                30-May-2019 10:24     57K
+<a href="v2.34-rc2-ChangeLog.sign">v2.34-rc2-ChangeLog.sign</a>                           30-May-2019 10:24     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.35/index.html b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.35/index.html
new file mode 100644
index 0000000..aa714d3
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/pub/linux/utils/util-linux/v2.35/index.html
@@ -0,0 +1,18 @@ 
+<html>
+<head><title>Index of /pub/linux/utils/util-linux/v2.35/</title></head>
+<body>
+<h1>Index of /pub/linux/utils/util-linux/v2.35/</h1><hr><pre><a href="../">../</a>
+<a href="libblkid-docs/">libblkid-docs/</a>                                     11-Dec-2019 10:04       -
+<a href="libfdisk-docs/">libfdisk-docs/</a>                                     11-Dec-2019 10:05       -
+<a href="libmount-docs/">libmount-docs/</a>                                     11-Dec-2019 10:05       -
+<a href="libsmartcols-docs/">libsmartcols-docs/</a>                                 11-Dec-2019 10:05       -
+<a href="sha256sums.asc">sha256sums.asc</a>                                     11-Dec-2019 10:11    1242
+<a href="util-linux-2.35-rc1.tar.gz">util-linux-2.35-rc1.tar.gz</a>                         11-Dec-2019 10:06     10M
+<a href="util-linux-2.35-rc1.tar.sign">util-linux-2.35-rc1.tar.sign</a>                       11-Dec-2019 10:06     833
+<a href="util-linux-2.35-rc1.tar.xz">util-linux-2.35-rc1.tar.xz</a>                         11-Dec-2019 10:06      5M
+<a href="v2.35-ReleaseNotes">v2.35-ReleaseNotes</a>                                 11-Dec-2019 10:06     21K
+<a href="v2.35-ReleaseNotes.sign">v2.35-ReleaseNotes.sign</a>                            11-Dec-2019 10:06     833
+<a href="v2.35-rc1-ChangeLog">v2.35-rc1-ChangeLog</a>                                11-Dec-2019 10:06    228K
+<a href="v2.35-rc1-ChangeLog.sign">v2.35-rc1-ChangeLog.sign</a>                           11-Dec-2019 10:06     833
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/releases/eglibc/index.html b/bitbake/lib/bb/tests/fetch-testdata/releases/eglibc/index.html
new file mode 100644
index 0000000..b267940
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/releases/eglibc/index.html
@@ -0,0 +1,21 @@ 
+<html>
+<head><title>Index of /releases/eglibc/</title></head>
+<body bgcolor="white">
+<h1>Index of /releases/eglibc/</h1><hr><pre><a href="../">../</a>
+<a href="eglibc-2.16-svnr21224.tar.bz2">eglibc-2.16-svnr21224.tar.bz2</a>                      17-Oct-2012 18:01            17310656
+<a href="eglibc-2.16-svnr21224.tar.bz2.md5">eglibc-2.16-svnr21224.tar.bz2.md5</a>                  17-Oct-2012 21:53                  64
+<a href="eglibc-2.16-svnr21224.tar.bz2.sha1">eglibc-2.16-svnr21224.tar.bz2.sha1</a>                 17-Oct-2012 21:53                  72
+<a href="eglibc-2.17-svnr22064.tar.bz2">eglibc-2.17-svnr22064.tar.bz2</a>                      04-Jan-2013 05:44            17565519
+<a href="eglibc-2.17-svnr22064.tar.bz2.asc">eglibc-2.17-svnr22064.tar.bz2.asc</a>                  04-Jan-2013 05:45                 302
+<a href="eglibc-2.17-svnr22064.tar.bz2.md5">eglibc-2.17-svnr22064.tar.bz2.md5</a>                  04-Jan-2013 05:44                  64
+<a href="eglibc-2.17-svnr22064.tar.bz2.sha1">eglibc-2.17-svnr22064.tar.bz2.sha1</a>                 04-Jan-2013 05:44                  72
+<a href="eglibc-2.18-svnr23787.tar.bz2">eglibc-2.18-svnr23787.tar.bz2</a>                      21-Aug-2013 05:36            17862773
+<a href="eglibc-2.18-svnr23787.tar.bz2.asc">eglibc-2.18-svnr23787.tar.bz2.asc</a>                  21-Aug-2013 05:36                 302
+<a href="eglibc-2.18-svnr23787.tar.bz2.md5">eglibc-2.18-svnr23787.tar.bz2.md5</a>                  21-Aug-2013 05:36                  64
+<a href="eglibc-2.18-svnr23787.tar.bz2.sha1">eglibc-2.18-svnr23787.tar.bz2.sha1</a>                 21-Aug-2013 05:36                  72
+<a href="eglibc-2.19-svnr25243.tar.bz2">eglibc-2.19-svnr25243.tar.bz2</a>                      08-Feb-2014 10:06            18873620
+<a href="eglibc-2.19-svnr25243.tar.bz2.asc">eglibc-2.19-svnr25243.tar.bz2.asc</a>                  08-Feb-2014 10:06                 285
+<a href="eglibc-2.19-svnr25243.tar.bz2.md5">eglibc-2.19-svnr25243.tar.bz2.md5</a>                  08-Feb-2014 10:06                  64
+<a href="eglibc-2.19-svnr25243.tar.bz2.sha1">eglibc-2.19-svnr25243.tar.bz2.sha1</a>                 08-Feb-2014 10:06                  72
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/releases/gnu-config/index.html b/bitbake/lib/bb/tests/fetch-testdata/releases/gnu-config/index.html
new file mode 100644
index 0000000..051aa48
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/releases/gnu-config/index.html
@@ -0,0 +1,9 @@ 
+<html>
+<head><title>Index of /releases/gnu-config/</title></head>
+<body bgcolor="white">
+<h1>Index of /releases/gnu-config/</h1><hr><pre><a href="../">../</a>
+<a href="SHA256SUM">SHA256SUM</a>                                          03-Oct-2012 17:23                 190
+<a href="gnu-config-20120814.tar.bz2">gnu-config-20120814.tar.bz2</a>                        18-Sep-2012 09:28               43026
+<a href="gnu-config-yocto-20111111.tgz">gnu-config-yocto-20111111.tgz</a>                      08-May-2012 21:11               48762
+</pre><hr></body>
+</html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/releases/individual/xserver/index.html b/bitbake/lib/bb/tests/fetch-testdata/releases/individual/xserver/index.html
new file mode 100644
index 0000000..72e0d65
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/releases/individual/xserver/index.html
@@ -0,0 +1,609 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /releases/individual/xserver</title>
+ </head>
+ <body>
+<h1>Index of /releases/individual/xserver</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/releases/individual/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.1.tar.bz2">xorg-server-1.0.1.tar.bz2</a></td><td align="right">2006-01-18 23:51  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.1.tar.gz">xorg-server-1.0.1.tar.gz</a></td><td align="right">2006-01-18 23:51  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.2.tar.bz2">xorg-server-1.0.2.tar.bz2</a></td><td align="right">2006-03-20 14:01  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.2.tar.gz">xorg-server-1.0.2.tar.gz</a></td><td align="right">2006-03-20 14:02  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.2.tar.bz2">xorg-server-1.0.99.2.tar.bz2</a></td><td align="right">2006-04-02 00:47  </td><td align="right">6.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.2.tar.gz">xorg-server-1.0.99.2.tar.gz</a></td><td align="right">2006-04-02 00:48  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.901.tar.bz2">xorg-server-1.0.99.901.tar.bz2</a></td><td align="right">2006-04-07 22:51  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.901.tar.gz">xorg-server-1.0.99.901.tar.gz</a></td><td align="right">2006-04-07 22:51  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.902.tar.bz2">xorg-server-1.0.99.902.tar.bz2</a></td><td align="right">2006-04-28 23:17  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.902.tar.gz">xorg-server-1.0.99.902.tar.gz</a></td><td align="right">2006-04-28 23:16  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.903.tar.bz2">xorg-server-1.0.99.903.tar.bz2</a></td><td align="right">2006-05-12 20:54  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.0.99.903.tar.gz">xorg-server-1.0.99.903.tar.gz</a></td><td align="right">2006-05-12 20:52  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.0.tar.bz2">xorg-server-1.1.0.tar.bz2</a></td><td align="right">2006-05-22 23:31  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.0.tar.gz">xorg-server-1.1.0.tar.gz</a></td><td align="right">2006-05-22 23:29  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.1.tar.bz2">xorg-server-1.1.1.tar.bz2</a></td><td align="right">2006-07-08 00:57  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.1.tar.gz">xorg-server-1.1.1.tar.gz</a></td><td align="right">2006-07-08 00:59  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.901.tar.bz2">xorg-server-1.1.99.901.tar.bz2</a></td><td align="right">2006-10-13 23:06  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.901.tar.gz">xorg-server-1.1.99.901.tar.gz</a></td><td align="right">2006-10-13 23:08  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.902.tar.bz2">xorg-server-1.1.99.902.tar.bz2</a></td><td align="right">2006-11-13 22:04  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.902.tar.gz">xorg-server-1.1.99.902.tar.gz</a></td><td align="right">2006-11-13 22:06  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.903.tar.bz2">xorg-server-1.1.99.903.tar.bz2</a></td><td align="right">2006-12-02 00:14  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.1.99.903.tar.gz">xorg-server-1.1.99.903.tar.gz</a></td><td align="right">2006-12-02 00:17  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.0.tar.bz2">xorg-server-1.2.0.tar.bz2</a></td><td align="right">2007-01-23 06:15  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.0.tar.gz">xorg-server-1.2.0.tar.gz</a></td><td align="right">2007-01-23 06:17  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.0.tar.bz2">xorg-server-1.2.99.0.tar.bz2</a></td><td align="right">2006-11-02 03:15  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.0.tar.gz">xorg-server-1.2.99.0.tar.gz</a></td><td align="right">2006-11-02 03:17  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.901.tar.bz2">xorg-server-1.2.99.901.tar.bz2</a></td><td align="right">2007-03-05 05:11  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.901.tar.gz">xorg-server-1.2.99.901.tar.gz</a></td><td align="right">2007-03-05 05:14  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.902.tar.bz2">xorg-server-1.2.99.902.tar.bz2</a></td><td align="right">2007-03-14 19:38  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.902.tar.gz">xorg-server-1.2.99.902.tar.gz</a></td><td align="right">2007-03-14 19:43  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.903.tar.bz2">xorg-server-1.2.99.903.tar.bz2</a></td><td align="right">2007-03-27 05:01  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.903.tar.gz">xorg-server-1.2.99.903.tar.gz</a></td><td align="right">2007-03-27 05:05  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.904.tar.bz2">xorg-server-1.2.99.904.tar.bz2</a></td><td align="right">2007-04-06 06:31  </td><td align="right">4.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.904.tar.gz">xorg-server-1.2.99.904.tar.gz</a></td><td align="right">2007-04-06 06:28  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.905.tar.bz2">xorg-server-1.2.99.905.tar.bz2</a></td><td align="right">2007-04-06 07:01  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.2.99.905.tar.gz">xorg-server-1.2.99.905.tar.gz</a></td><td align="right">2007-04-06 06:57  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.0.0.tar.bz2">xorg-server-1.3.0.0.tar.bz2</a></td><td align="right">2007-04-20 02:45  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.0.0.tar.gz">xorg-server-1.3.0.0.tar.gz</a></td><td align="right">2007-04-20 02:42  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.99.0.tar.bz2">xorg-server-1.3.99.0.tar.bz2</a></td><td align="right">2007-08-01 05:38  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.99.0.tar.gz">xorg-server-1.3.99.0.tar.gz</a></td><td align="right">2007-08-01 05:36  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.99.2.tar.bz2">xorg-server-1.3.99.2.tar.bz2</a></td><td align="right">2007-09-01 03:12  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.3.99.2.tar.gz">xorg-server-1.3.99.2.tar.gz</a></td><td align="right">2007-09-01 03:10  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.0.90.tar.bz2">xorg-server-1.4.0.90.tar.bz2</a></td><td align="right">2007-12-12 20:44  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.0.90.tar.gz">xorg-server-1.4.0.90.tar.gz</a></td><td align="right">2007-12-12 20:43  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.1.tar.bz2">xorg-server-1.4.1.tar.bz2</a></td><td align="right">2008-06-10 15:57  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.1.tar.gz">xorg-server-1.4.1.tar.gz</a></td><td align="right">2008-06-10 15:56  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.2.tar.bz2">xorg-server-1.4.2.tar.bz2</a></td><td align="right">2008-06-11 15:08  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.2.tar.gz">xorg-server-1.4.2.tar.gz</a></td><td align="right">2008-06-11 15:08  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.901.tar.bz2">xorg-server-1.4.99.901.tar.bz2</a></td><td align="right">2008-03-06 05:25  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.901.tar.gz">xorg-server-1.4.99.901.tar.gz</a></td><td align="right">2008-03-06 05:23  </td><td align="right">7.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.902.tar.bz2">xorg-server-1.4.99.902.tar.bz2</a></td><td align="right">2008-05-22 19:16  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.902.tar.gz">xorg-server-1.4.99.902.tar.gz</a></td><td align="right">2008-05-22 19:16  </td><td align="right">7.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.904.tar.bz2">xorg-server-1.4.99.904.tar.bz2</a></td><td align="right">2008-06-30 15:42  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.904.tar.gz">xorg-server-1.4.99.904.tar.gz</a></td><td align="right">2008-06-30 15:42  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.905.tar.bz2">xorg-server-1.4.99.905.tar.bz2</a></td><td align="right">2008-06-30 20:31  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.905.tar.gz">xorg-server-1.4.99.905.tar.gz</a></td><td align="right">2008-06-30 20:31  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.906.tar.bz2">xorg-server-1.4.99.906.tar.bz2</a></td><td align="right">2008-07-23 18:55  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.99.906.tar.gz">xorg-server-1.4.99.906.tar.gz</a></td><td align="right">2008-07-23 18:55  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.tar.bz2">xorg-server-1.4.tar.bz2</a></td><td align="right">2007-09-06 09:23  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.4.tar.gz">xorg-server-1.4.tar.gz</a></td><td align="right">2007-09-06 09:22  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.0.tar.bz2">xorg-server-1.5.0.tar.bz2</a></td><td align="right">2008-09-03 23:16  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.0.tar.gz">xorg-server-1.5.0.tar.gz</a></td><td align="right">2008-09-03 23:16  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.1.tar.bz2">xorg-server-1.5.1.tar.bz2</a></td><td align="right">2008-09-23 19:15  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.1.tar.gz">xorg-server-1.5.1.tar.gz</a></td><td align="right">2008-09-23 19:15  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.2.tar.bz2">xorg-server-1.5.2.tar.bz2</a></td><td align="right">2008-10-10 19:27  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.2.tar.gz">xorg-server-1.5.2.tar.gz</a></td><td align="right">2008-10-10 19:27  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.3.tar.bz2">xorg-server-1.5.3.tar.bz2</a></td><td align="right">2008-11-05 20:49  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.3.tar.gz">xorg-server-1.5.3.tar.gz</a></td><td align="right">2008-11-05 20:49  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.1.tar.bz2">xorg-server-1.5.99.1.tar.bz2</a></td><td align="right">2008-11-26 07:29  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.1.tar.gz">xorg-server-1.5.99.1.tar.gz</a></td><td align="right">2008-11-26 07:26  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.2.tar.bz2">xorg-server-1.5.99.2.tar.bz2</a></td><td align="right">2008-12-03 08:16  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.2.tar.gz">xorg-server-1.5.99.2.tar.gz</a></td><td align="right">2008-12-03 08:09  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.3.tar.bz2">xorg-server-1.5.99.3.tar.bz2</a></td><td align="right">2008-12-10 06:28  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.3.tar.gz">xorg-server-1.5.99.3.tar.gz</a></td><td align="right">2008-12-10 06:25  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.901.tar.bz2">xorg-server-1.5.99.901.tar.bz2</a></td><td align="right">2009-01-12 21:12  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.901.tar.gz">xorg-server-1.5.99.901.tar.gz</a></td><td align="right">2009-01-12 21:12  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.902.tar.bz2">xorg-server-1.5.99.902.tar.bz2</a></td><td align="right">2009-01-31 05:27  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.902.tar.gz">xorg-server-1.5.99.902.tar.gz</a></td><td align="right">2009-01-31 05:24  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.903.tar.bz2">xorg-server-1.5.99.903.tar.bz2</a></td><td align="right">2009-02-18 06:35  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.5.99.903.tar.gz">xorg-server-1.5.99.903.tar.gz</a></td><td align="right">2009-02-18 06:32  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.0.tar.bz2">xorg-server-1.6.0.tar.bz2</a></td><td align="right">2009-02-25 20:25  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.0.tar.gz">xorg-server-1.6.0.tar.gz</a></td><td align="right">2009-02-25 20:19  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.901.tar.bz2">xorg-server-1.6.1.901.tar.bz2</a></td><td align="right">2009-05-09 05:46  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.901.tar.gz">xorg-server-1.6.1.901.tar.gz</a></td><td align="right">2009-05-09 05:42  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.902.tar.bz2">xorg-server-1.6.1.902.tar.bz2</a></td><td align="right">2009-06-29 23:05  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.902.tar.gz">xorg-server-1.6.1.902.tar.gz</a></td><td align="right">2009-06-29 23:02  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.tar.bz2">xorg-server-1.6.1.tar.bz2</a></td><td align="right">2009-04-14 20:09  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.1.tar.gz">xorg-server-1.6.1.tar.gz</a></td><td align="right">2009-04-14 20:09  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.2.901.tar.bz2">xorg-server-1.6.2.901.tar.bz2</a></td><td align="right">2009-07-26 21:42  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.2.901.tar.gz">xorg-server-1.6.2.901.tar.gz</a></td><td align="right">2009-07-26 21:41  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.2.tar.bz2">xorg-server-1.6.2.tar.bz2</a></td><td align="right">2009-07-07 23:40  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.2.tar.gz">xorg-server-1.6.2.tar.gz</a></td><td align="right">2009-07-07 23:39  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.3.901.tar.bz2">xorg-server-1.6.3.901.tar.bz2</a></td><td align="right">2009-08-26 05:55  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.3.901.tar.gz">xorg-server-1.6.3.901.tar.gz</a></td><td align="right">2009-08-26 05:54  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.3.tar.bz2">xorg-server-1.6.3.tar.bz2</a></td><td align="right">2009-08-01 06:45  </td><td align="right">4.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.3.tar.gz">xorg-server-1.6.3.tar.gz</a></td><td align="right">2009-08-01 06:42  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.4.901.tar.bz2">xorg-server-1.6.4.901.tar.bz2</a></td><td align="right">2009-10-03 07:40  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.4.901.tar.gz">xorg-server-1.6.4.901.tar.gz</a></td><td align="right">2009-10-03 07:44  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.4.tar.bz2">xorg-server-1.6.4.tar.bz2</a></td><td align="right">2009-09-28 02:47  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.4.tar.gz">xorg-server-1.6.4.tar.gz</a></td><td align="right">2009-09-28 02:45  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.5.tar.bz2">xorg-server-1.6.5.tar.bz2</a></td><td align="right">2009-10-12 05:27  </td><td align="right">4.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.5.tar.gz">xorg-server-1.6.5.tar.gz</a></td><td align="right">2009-10-12 05:26  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.900.tar.bz2">xorg-server-1.6.99.900.tar.bz2</a></td><td align="right">2009-09-04 07:02  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.900.tar.gz">xorg-server-1.6.99.900.tar.gz</a></td><td align="right">2009-09-04 07:02  </td><td align="right">6.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.901.tar.bz2">xorg-server-1.6.99.901.tar.bz2</a></td><td align="right">2009-09-14 10:26  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.901.tar.gz">xorg-server-1.6.99.901.tar.gz</a></td><td align="right">2009-09-14 10:23  </td><td align="right">6.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.902.tar.bz2">xorg-server-1.6.99.902.tar.bz2</a></td><td align="right">2009-09-22 04:53  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.902.tar.gz">xorg-server-1.6.99.902.tar.gz</a></td><td align="right">2009-09-22 04:50  </td><td align="right">6.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.903.tar.bz2">xorg-server-1.6.99.903.tar.bz2</a></td><td align="right">2009-09-28 11:25  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.6.99.903.tar.gz">xorg-server-1.6.99.903.tar.gz</a></td><td align="right">2009-09-28 11:22  </td><td align="right">6.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.901.tar.bz2">xorg-server-1.7.0.901.tar.bz2</a></td><td align="right">2009-10-12 04:40  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.901.tar.gz">xorg-server-1.7.0.901.tar.gz</a></td><td align="right">2009-10-12 04:39  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.902.tar.bz2">xorg-server-1.7.0.902.tar.bz2</a></td><td align="right">2009-10-19 02:10  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.902.tar.gz">xorg-server-1.7.0.902.tar.gz</a></td><td align="right">2009-10-19 02:10  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.tar.bz2">xorg-server-1.7.0.tar.bz2</a></td><td align="right">2009-10-02 06:17  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.0.tar.gz">xorg-server-1.7.0.tar.gz</a></td><td align="right">2009-10-02 06:16  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.901.tar.bz2">xorg-server-1.7.1.901.tar.bz2</a></td><td align="right">2009-11-06 05:11  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.901.tar.gz">xorg-server-1.7.1.901.tar.gz</a></td><td align="right">2009-11-06 05:11  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.902.tar.bz2">xorg-server-1.7.1.902.tar.bz2</a></td><td align="right">2009-11-20 05:52  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.902.tar.gz">xorg-server-1.7.1.902.tar.gz</a></td><td align="right">2009-11-20 05:51  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.tar.bz2">xorg-server-1.7.1.tar.bz2</a></td><td align="right">2009-10-23 05:40  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.1.tar.gz">xorg-server-1.7.1.tar.gz</a></td><td align="right">2009-10-23 05:39  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.2.tar.bz2">xorg-server-1.7.2.tar.bz2</a></td><td align="right">2009-11-27 05:46  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.2.tar.gz">xorg-server-1.7.2.tar.gz</a></td><td align="right">2009-11-27 05:45  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.901.tar.bz2">xorg-server-1.7.3.901.tar.bz2</a></td><td align="right">2009-12-11 06:40  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.901.tar.gz">xorg-server-1.7.3.901.tar.gz</a></td><td align="right">2009-12-11 06:40  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.902.tar.bz2">xorg-server-1.7.3.902.tar.bz2</a></td><td align="right">2009-12-26 01:08  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.902.tar.gz">xorg-server-1.7.3.902.tar.gz</a></td><td align="right">2009-12-26 01:05  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.tar.bz2">xorg-server-1.7.3.tar.bz2</a></td><td align="right">2009-12-03 03:38  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.3.tar.gz">xorg-server-1.7.3.tar.gz</a></td><td align="right">2009-12-03 03:37  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.901.tar.bz2">xorg-server-1.7.4.901.tar.bz2</a></td><td align="right">2010-01-23 00:16  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.901.tar.gz">xorg-server-1.7.4.901.tar.gz</a></td><td align="right">2010-01-23 00:16  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.902.tar.bz2">xorg-server-1.7.4.902.tar.bz2</a></td><td align="right">2010-02-05 08:37  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.902.tar.gz">xorg-server-1.7.4.902.tar.gz</a></td><td align="right">2010-02-05 08:32  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.tar.bz2">xorg-server-1.7.4.tar.bz2</a></td><td align="right">2010-01-08 01:09  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.4.tar.gz">xorg-server-1.7.4.tar.gz</a></td><td align="right">2010-01-08 01:09  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.901.tar.bz2">xorg-server-1.7.5.901.tar.bz2</a></td><td align="right">2010-03-05 00:26  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.901.tar.gz">xorg-server-1.7.5.901.tar.gz</a></td><td align="right">2010-03-05 00:23  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.902.tar.bz2">xorg-server-1.7.5.902.tar.bz2</a></td><td align="right">2010-03-12 07:07  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.902.tar.gz">xorg-server-1.7.5.902.tar.gz</a></td><td align="right">2010-03-12 07:02  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.tar.bz2">xorg-server-1.7.5.tar.bz2</a></td><td align="right">2010-02-16 03:54  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.5.tar.gz">xorg-server-1.7.5.tar.gz</a></td><td align="right">2010-02-16 03:50  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.901.tar.bz2">xorg-server-1.7.6.901.tar.bz2</a></td><td align="right">2010-04-12 02:12  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.901.tar.gz">xorg-server-1.7.6.901.tar.gz</a></td><td align="right">2010-04-12 02:12  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.902.tar.bz2">xorg-server-1.7.6.902.tar.bz2</a></td><td align="right">2010-04-21 00:25  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.902.tar.gz">xorg-server-1.7.6.902.tar.gz</a></td><td align="right">2010-04-21 00:25  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.tar.bz2">xorg-server-1.7.6.tar.bz2</a></td><td align="right">2010-03-17 01:56  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.6.tar.gz">xorg-server-1.7.6.tar.gz</a></td><td align="right">2010-03-17 01:56  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.7.tar.bz2">xorg-server-1.7.7.tar.bz2</a></td><td align="right">2010-05-04 07:51  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.7.tar.gz">xorg-server-1.7.7.tar.gz</a></td><td align="right">2010-05-04 07:48  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.1.tar.bz2">xorg-server-1.7.99.1.tar.bz2</a></td><td align="right">2009-10-21 16:15  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.1.tar.gz">xorg-server-1.7.99.1.tar.gz</a></td><td align="right">2009-10-21 16:15  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.2.tar.bz2">xorg-server-1.7.99.2.tar.bz2</a></td><td align="right">2009-12-20 03:50  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.2.tar.gz">xorg-server-1.7.99.2.tar.gz</a></td><td align="right">2009-12-20 03:48  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.901.tar.bz2">xorg-server-1.7.99.901.tar.bz2</a></td><td align="right">2010-02-12 22:00  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.901.tar.gz">xorg-server-1.7.99.901.tar.gz</a></td><td align="right">2010-02-12 21:59  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.902.tar.bz2">xorg-server-1.7.99.902.tar.bz2</a></td><td align="right">2010-03-22 05:42  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.7.99.902.tar.gz">xorg-server-1.7.99.902.tar.gz</a></td><td align="right">2010-03-22 05:41  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.901.tar.bz2">xorg-server-1.8.0.901.tar.bz2</a></td><td align="right">2010-04-27 05:08  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.901.tar.gz">xorg-server-1.8.0.901.tar.gz</a></td><td align="right">2010-04-27 05:05  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.902.tar.bz2">xorg-server-1.8.0.902.tar.bz2</a></td><td align="right">2010-05-04 00:39  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.902.tar.gz">xorg-server-1.8.0.902.tar.gz</a></td><td align="right">2010-05-04 00:36  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.tar.bz2">xorg-server-1.8.0.tar.bz2</a></td><td align="right">2010-04-02 07:30  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.0.tar.gz">xorg-server-1.8.0.tar.gz</a></td><td align="right">2010-04-02 07:28  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.901.tar.bz2">xorg-server-1.8.1.901.tar.bz2</a></td><td align="right">2010-06-02 00:07  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.901.tar.gz">xorg-server-1.8.1.901.tar.gz</a></td><td align="right">2010-06-02 00:07  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.902.tar.bz2">xorg-server-1.8.1.902.tar.bz2</a></td><td align="right">2010-06-21 02:07  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.902.tar.gz">xorg-server-1.8.1.902.tar.gz</a></td><td align="right">2010-06-21 02:07  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.tar.bz2">xorg-server-1.8.1.tar.bz2</a></td><td align="right">2010-05-11 21:52  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.1.tar.gz">xorg-server-1.8.1.tar.gz</a></td><td align="right">2010-05-11 21:52  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.2.tar.bz2">xorg-server-1.8.2.tar.bz2</a></td><td align="right">2010-07-01 05:29  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.2.tar.gz">xorg-server-1.8.2.tar.gz</a></td><td align="right">2010-07-01 05:29  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.901.tar.bz2">xorg-server-1.8.99.901.tar.bz2</a></td><td align="right">2010-06-15 21:19  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.901.tar.gz">xorg-server-1.8.99.901.tar.gz</a></td><td align="right">2010-06-15 21:18  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.902.tar.bz2">xorg-server-1.8.99.902.tar.bz2</a></td><td align="right">2010-06-22 19:05  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.902.tar.gz">xorg-server-1.8.99.902.tar.gz</a></td><td align="right">2010-06-22 19:04  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.903.tar.bz2">xorg-server-1.8.99.903.tar.bz2</a></td><td align="right">2010-06-22 19:33  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.903.tar.gz">xorg-server-1.8.99.903.tar.gz</a></td><td align="right">2010-06-22 19:32  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.904.tar.bz2">xorg-server-1.8.99.904.tar.bz2</a></td><td align="right">2010-07-01 13:46  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.904.tar.gz">xorg-server-1.8.99.904.tar.gz</a></td><td align="right">2010-07-01 13:39  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.905.tar.bz2">xorg-server-1.8.99.905.tar.bz2</a></td><td align="right">2010-07-14 19:58  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.905.tar.gz">xorg-server-1.8.99.905.tar.gz</a></td><td align="right">2010-07-14 19:58  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.906.tar.bz2">xorg-server-1.8.99.906.tar.bz2</a></td><td align="right">2010-08-13 06:22  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.8.99.906.tar.gz">xorg-server-1.8.99.906.tar.gz</a></td><td align="right">2010-08-13 06:20  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.901.tar.bz2">xorg-server-1.9.0.901.tar.bz2</a></td><td align="right">2010-10-01 21:22  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.901.tar.gz">xorg-server-1.9.0.901.tar.gz</a></td><td align="right">2010-10-01 21:21  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.902.tar.bz2">xorg-server-1.9.0.902.tar.bz2</a></td><td align="right">2010-10-15 18:34  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.902.tar.gz">xorg-server-1.9.0.902.tar.gz</a></td><td align="right">2010-10-15 18:33  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.tar.bz2">xorg-server-1.9.0.tar.bz2</a></td><td align="right">2010-08-21 00:46  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.0.tar.gz">xorg-server-1.9.0.tar.gz</a></td><td align="right">2010-08-21 00:45  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.1.tar.bz2">xorg-server-1.9.1.tar.bz2</a></td><td align="right">2010-10-24 03:22  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.1.tar.gz">xorg-server-1.9.1.tar.gz</a></td><td align="right">2010-10-24 03:22  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.901.tar.bz2">xorg-server-1.9.2.901.tar.bz2</a></td><td align="right">2010-11-14 00:12  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.901.tar.gz">xorg-server-1.9.2.901.tar.gz</a></td><td align="right">2010-11-14 00:12  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.902.tar.bz2">xorg-server-1.9.2.902.tar.bz2</a></td><td align="right">2010-12-04 19:25  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.902.tar.gz">xorg-server-1.9.2.902.tar.gz</a></td><td align="right">2010-12-04 19:25  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.tar.bz2">xorg-server-1.9.2.tar.bz2</a></td><td align="right">2010-10-31 23:15  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.2.tar.gz">xorg-server-1.9.2.tar.gz</a></td><td align="right">2010-10-31 23:15  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.901.tar.bz2">xorg-server-1.9.3.901.tar.bz2</a></td><td align="right">2011-01-08 21:37  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.901.tar.gz">xorg-server-1.9.3.901.tar.gz</a></td><td align="right">2011-01-08 21:37  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.902.tar.bz2">xorg-server-1.9.3.902.tar.bz2</a></td><td align="right">2011-01-31 01:16  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.902.tar.gz">xorg-server-1.9.3.902.tar.gz</a></td><td align="right">2011-01-31 01:16  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.tar.bz2">xorg-server-1.9.3.tar.bz2</a></td><td align="right">2010-12-13 20:05  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.3.tar.gz">xorg-server-1.9.3.tar.gz</a></td><td align="right">2010-12-13 20:05  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.4.901.tar.bz2">xorg-server-1.9.4.901.tar.bz2</a></td><td align="right">2011-03-04 23:21  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.4.901.tar.gz">xorg-server-1.9.4.901.tar.gz</a></td><td align="right">2011-03-04 23:21  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.4.tar.bz2">xorg-server-1.9.4.tar.bz2</a></td><td align="right">2011-02-04 20:03  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.4.tar.gz">xorg-server-1.9.4.tar.gz</a></td><td align="right">2011-02-04 20:02  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.5.tar.bz2">xorg-server-1.9.5.tar.bz2</a></td><td align="right">2011-03-17 21:49  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.5.tar.gz">xorg-server-1.9.5.tar.gz</a></td><td align="right">2011-03-17 21:49  </td><td align="right">6.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.901.tar.bz2">xorg-server-1.9.99.901.tar.bz2</a></td><td align="right">2010-12-07 04:57  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.901.tar.gz">xorg-server-1.9.99.901.tar.gz</a></td><td align="right">2010-12-07 04:56  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.902.tar.bz2">xorg-server-1.9.99.902.tar.bz2</a></td><td align="right">2011-02-18 22:50  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.902.tar.gz">xorg-server-1.9.99.902.tar.gz</a></td><td align="right">2011-02-18 22:49  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.903.tar.bz2">xorg-server-1.9.99.903.tar.bz2</a></td><td align="right">2011-02-25 06:46  </td><td align="right">5.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.9.99.903.tar.gz">xorg-server-1.9.99.903.tar.gz</a></td><td align="right">2011-02-25 06:44  </td><td align="right">6.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.901.tar.bz2">xorg-server-1.10.0.901.tar.bz2</a></td><td align="right">2011-03-29 07:36  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.901.tar.gz">xorg-server-1.10.0.901.tar.gz</a></td><td align="right">2011-03-29 07:36  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.902.tar.bz2">xorg-server-1.10.0.902.tar.bz2</a></td><td align="right">2011-04-08 23:49  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.902.tar.gz">xorg-server-1.10.0.902.tar.gz</a></td><td align="right">2011-04-08 23:48  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.tar.bz2">xorg-server-1.10.0.tar.bz2</a></td><td align="right">2011-02-26 05:49  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.0.tar.gz">xorg-server-1.10.0.tar.gz</a></td><td align="right">2011-02-26 05:48  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.901.tar.bz2">xorg-server-1.10.1.901.tar.bz2</a></td><td align="right">2011-05-06 22:59  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.901.tar.gz">xorg-server-1.10.1.901.tar.gz</a></td><td align="right">2011-05-06 22:59  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.902.tar.bz2">xorg-server-1.10.1.902.tar.bz2</a></td><td align="right">2011-05-21 06:13  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.902.tar.gz">xorg-server-1.10.1.902.tar.gz</a></td><td align="right">2011-05-21 06:13  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.tar.bz2">xorg-server-1.10.1.tar.bz2</a></td><td align="right">2011-04-16 01:13  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.1.tar.gz">xorg-server-1.10.1.tar.gz</a></td><td align="right">2011-04-16 01:13  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.901.tar.bz2">xorg-server-1.10.2.901.tar.bz2</a></td><td align="right">2011-06-17 17:30  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.901.tar.gz">xorg-server-1.10.2.901.tar.gz</a></td><td align="right">2011-06-17 17:30  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.902.tar.bz2">xorg-server-1.10.2.902.tar.bz2</a></td><td align="right">2011-07-02 03:55  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.902.tar.gz">xorg-server-1.10.2.902.tar.gz</a></td><td align="right">2011-07-02 03:55  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.tar.bz2">xorg-server-1.10.2.tar.bz2</a></td><td align="right">2011-05-29 00:20  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.2.tar.gz">xorg-server-1.10.2.tar.gz</a></td><td align="right">2011-05-29 00:20  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.901.tar.bz2">xorg-server-1.10.3.901.tar.bz2</a></td><td align="right">2011-07-29 18:39  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.901.tar.gz">xorg-server-1.10.3.901.tar.gz</a></td><td align="right">2011-07-29 18:39  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.902.tar.bz2">xorg-server-1.10.3.902.tar.bz2</a></td><td align="right">2011-08-12 22:30  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.902.tar.gz">xorg-server-1.10.3.902.tar.gz</a></td><td align="right">2011-08-12 22:30  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.tar.bz2">xorg-server-1.10.3.tar.bz2</a></td><td align="right">2011-07-08 20:04  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.3.tar.gz">xorg-server-1.10.3.tar.gz</a></td><td align="right">2011-07-08 20:04  </td><td align="right">6.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.4.tar.bz2">xorg-server-1.10.4.tar.bz2</a></td><td align="right">2011-08-19 07:13  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.4.tar.gz">xorg-server-1.10.4.tar.gz</a></td><td align="right">2011-08-19 07:12  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.6.tar.bz2">xorg-server-1.10.6.tar.bz2</a></td><td align="right">2012-02-11 01:11  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.6.tar.gz">xorg-server-1.10.6.tar.gz</a></td><td align="right">2012-02-11 01:11  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.99.901.tar.bz2">xorg-server-1.10.99.901.tar.bz2</a></td><td align="right">2011-06-01 18:34  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.99.901.tar.gz">xorg-server-1.10.99.901.tar.gz</a></td><td align="right">2011-06-01 18:33  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.99.902.tar.bz2">xorg-server-1.10.99.902.tar.bz2</a></td><td align="right">2011-08-04 04:10  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.10.99.902.tar.gz">xorg-server-1.10.99.902.tar.gz</a></td><td align="right">2011-08-04 04:09  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.0.tar.bz2">xorg-server-1.11.0.tar.bz2</a></td><td align="right">2011-08-27 01:02  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.0.tar.gz">xorg-server-1.11.0.tar.gz</a></td><td align="right">2011-08-27 01:01  </td><td align="right">6.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.901.tar.bz2">xorg-server-1.11.1.901.tar.bz2</a></td><td align="right">2011-10-14 23:41  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.901.tar.gz">xorg-server-1.11.1.901.tar.gz</a></td><td align="right">2011-10-14 23:40  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.902.tar.bz2">xorg-server-1.11.1.902.tar.bz2</a></td><td align="right">2011-10-29 01:44  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.902.tar.gz">xorg-server-1.11.1.902.tar.gz</a></td><td align="right">2011-10-29 01:44  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.tar.bz2">xorg-server-1.11.1.tar.bz2</a></td><td align="right">2011-09-24 07:19  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.1.tar.gz">xorg-server-1.11.1.tar.gz</a></td><td align="right">2011-09-24 07:19  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.901.tar.bz2">xorg-server-1.11.2.901.tar.bz2</a></td><td align="right">2011-11-28 08:17  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.901.tar.gz">xorg-server-1.11.2.901.tar.gz</a></td><td align="right">2011-11-28 08:16  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.902.tar.bz2">xorg-server-1.11.2.902.tar.bz2</a></td><td align="right">2011-12-09 21:10  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.902.tar.gz">xorg-server-1.11.2.902.tar.gz</a></td><td align="right">2011-12-09 21:10  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.tar.bz2">xorg-server-1.11.2.tar.bz2</a></td><td align="right">2011-11-04 17:38  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.2.tar.gz">xorg-server-1.11.2.tar.gz</a></td><td align="right">2011-11-04 17:38  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.901.tar.bz2">xorg-server-1.11.3.901.tar.bz2</a></td><td align="right">2012-01-07 07:34  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.901.tar.gz">xorg-server-1.11.3.901.tar.gz</a></td><td align="right">2012-01-07 07:34  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.902.tar.bz2">xorg-server-1.11.3.902.tar.bz2</a></td><td align="right">2012-01-21 08:29  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.902.tar.gz">xorg-server-1.11.3.902.tar.gz</a></td><td align="right">2012-01-21 08:29  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.tar.bz2">xorg-server-1.11.3.tar.bz2</a></td><td align="right">2011-12-17 02:03  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.3.tar.gz">xorg-server-1.11.3.tar.gz</a></td><td align="right">2011-12-17 02:03  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.4.tar.bz2">xorg-server-1.11.4.tar.bz2</a></td><td align="right">2012-01-28 05:20  </td><td align="right">4.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.4.tar.gz">xorg-server-1.11.4.tar.gz</a></td><td align="right">2012-01-28 05:20  </td><td align="right">6.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.1.tar.bz2">xorg-server-1.11.99.1.tar.bz2</a></td><td align="right">2011-11-20 23:05  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.1.tar.gz">xorg-server-1.11.99.1.tar.gz</a></td><td align="right">2011-11-20 23:04  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.2.tar.bz2">xorg-server-1.11.99.2.tar.bz2</a></td><td align="right">2011-12-18 01:30  </td><td align="right">4.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.2.tar.gz">xorg-server-1.11.99.2.tar.gz</a></td><td align="right">2011-12-18 01:29  </td><td align="right">6.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.901.tar.bz2">xorg-server-1.11.99.901.tar.bz2</a></td><td align="right">2011-12-27 22:19  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.901.tar.gz">xorg-server-1.11.99.901.tar.gz</a></td><td align="right">2011-12-27 22:18  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.902.tar.bz2">xorg-server-1.11.99.902.tar.bz2</a></td><td align="right">2012-01-28 06:48  </td><td align="right">4.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.902.tar.gz">xorg-server-1.11.99.902.tar.gz</a></td><td align="right">2012-01-28 06:47  </td><td align="right">6.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.903.tar.bz2">xorg-server-1.11.99.903.tar.bz2</a></td><td align="right">2012-02-11 03:18  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.11.99.903.tar.gz">xorg-server-1.11.99.903.tar.gz</a></td><td align="right">2012-02-11 03:16  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.901.tar.bz2">xorg-server-1.12.0.901.tar.bz2</a></td><td align="right">2012-03-31 03:15  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.901.tar.gz">xorg-server-1.12.0.901.tar.gz</a></td><td align="right">2012-03-31 03:15  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.902.tar.bz2">xorg-server-1.12.0.902.tar.bz2</a></td><td align="right">2012-04-10 02:48  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.902.tar.gz">xorg-server-1.12.0.902.tar.gz</a></td><td align="right">2012-04-10 02:48  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.tar.bz2">xorg-server-1.12.0.tar.bz2</a></td><td align="right">2012-03-05 05:12  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.0.tar.gz">xorg-server-1.12.0.tar.gz</a></td><td align="right">2012-03-05 05:11  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.901.tar.bz2">xorg-server-1.12.1.901.tar.bz2</a></td><td align="right">2012-05-07 07:10  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.901.tar.gz">xorg-server-1.12.1.901.tar.gz</a></td><td align="right">2012-05-07 07:10  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.902.tar.bz2">xorg-server-1.12.1.902.tar.bz2</a></td><td align="right">2012-05-20 05:17  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.902.tar.gz">xorg-server-1.12.1.902.tar.gz</a></td><td align="right">2012-05-20 05:17  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.tar.bz2">xorg-server-1.12.1.tar.bz2</a></td><td align="right">2012-04-13 22:52  </td><td align="right">5.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.1.tar.gz">xorg-server-1.12.1.tar.gz</a></td><td align="right">2012-04-13 22:52  </td><td align="right">7.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.901.tar.bz2">xorg-server-1.12.2.901.tar.bz2</a></td><td align="right">2012-06-15 03:15  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.901.tar.gz">xorg-server-1.12.2.901.tar.gz</a></td><td align="right">2012-06-15 03:14  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.902.tar.bz2">xorg-server-1.12.2.902.tar.bz2</a></td><td align="right">2012-07-02 00:34  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.902.tar.gz">xorg-server-1.12.2.902.tar.gz</a></td><td align="right">2012-07-02 00:34  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.tar.bz2">xorg-server-1.12.2.tar.bz2</a></td><td align="right">2012-05-29 20:11  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.2.tar.gz">xorg-server-1.12.2.tar.gz</a></td><td align="right">2012-05-29 20:11  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.901.tar.bz2">xorg-server-1.12.3.901.tar.bz2</a></td><td align="right">2012-08-03 17:26  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.901.tar.gz">xorg-server-1.12.3.901.tar.gz</a></td><td align="right">2012-08-03 17:26  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.902.tar.bz2">xorg-server-1.12.3.902.tar.bz2</a></td><td align="right">2012-08-19 16:11  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.902.tar.gz">xorg-server-1.12.3.902.tar.gz</a></td><td align="right">2012-08-19 16:11  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.tar.bz2">xorg-server-1.12.3.tar.bz2</a></td><td align="right">2012-07-09 01:21  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.3.tar.gz">xorg-server-1.12.3.tar.gz</a></td><td align="right">2012-07-09 01:21  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.4.tar.bz2">xorg-server-1.12.4.tar.bz2</a></td><td align="right">2012-08-27 05:15  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.4.tar.gz">xorg-server-1.12.4.tar.gz</a></td><td align="right">2012-08-27 05:15  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.901.tar.bz2">xorg-server-1.12.99.901.tar.bz2</a></td><td align="right">2012-07-10 08:35  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.901.tar.gz">xorg-server-1.12.99.901.tar.gz</a></td><td align="right">2012-07-10 08:34  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.902.tar.bz2">xorg-server-1.12.99.902.tar.bz2</a></td><td align="right">2012-07-17 22:50  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.902.tar.gz">xorg-server-1.12.99.902.tar.gz</a></td><td align="right">2012-07-17 22:49  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.903.tar.bz2">xorg-server-1.12.99.903.tar.bz2</a></td><td align="right">2012-07-26 05:50  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.903.tar.gz">xorg-server-1.12.99.903.tar.gz</a></td><td align="right">2012-07-26 05:49  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.904.tar.bz2">xorg-server-1.12.99.904.tar.bz2</a></td><td align="right">2012-08-08 00:57  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.904.tar.gz">xorg-server-1.12.99.904.tar.gz</a></td><td align="right">2012-08-08 00:56  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.905.tar.bz2">xorg-server-1.12.99.905.tar.bz2</a></td><td align="right">2012-08-21 21:53  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.12.99.905.tar.gz">xorg-server-1.12.99.905.tar.gz</a></td><td align="right">2012-08-21 21:52  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.901.tar.bz2">xorg-server-1.13.0.901.tar.bz2</a></td><td align="right">2012-11-23 05:10  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.901.tar.gz">xorg-server-1.13.0.901.tar.gz</a></td><td align="right">2012-11-23 05:09  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.902.tar.bz2">xorg-server-1.13.0.902.tar.bz2</a></td><td align="right">2012-12-07 06:09  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.902.tar.gz">xorg-server-1.13.0.902.tar.gz</a></td><td align="right">2012-12-07 06:08  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.tar.bz2">xorg-server-1.13.0.tar.bz2</a></td><td align="right">2012-09-05 21:48  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.0.tar.gz">xorg-server-1.13.0.tar.gz</a></td><td align="right">2012-09-05 21:47  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.901.tar.bz2">xorg-server-1.13.1.901.tar.bz2</a></td><td align="right">2013-01-04 06:51  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.901.tar.gz">xorg-server-1.13.1.901.tar.gz</a></td><td align="right">2013-01-04 06:50  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.tar.bz2">xorg-server-1.13.1.tar.bz2</a></td><td align="right">2012-12-14 21:47  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.tar.bz2.old">xorg-server-1.13.1.tar.bz2.old</a></td><td align="right">2012-12-14 04:43  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.tar.gz">xorg-server-1.13.1.tar.gz</a></td><td align="right">2012-12-14 21:49  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.1.tar.gz.old">xorg-server-1.13.1.tar.gz.old</a></td><td align="right">2012-12-14 04:42  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.901.tar.bz2">xorg-server-1.13.2.901.tar.bz2</a></td><td align="right">2013-02-16 07:14  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.901.tar.gz">xorg-server-1.13.2.901.tar.gz</a></td><td align="right">2013-02-16 07:14  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.902.tar.bz2">xorg-server-1.13.2.902.tar.bz2</a></td><td align="right">2013-03-01 07:31  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.902.tar.gz">xorg-server-1.13.2.902.tar.gz</a></td><td align="right">2013-03-01 07:31  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.tar.bz2">xorg-server-1.13.2.tar.bz2</a></td><td align="right">2013-01-25 06:01  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.2.tar.gz">xorg-server-1.13.2.tar.gz</a></td><td align="right">2013-01-25 06:00  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.3.tar.bz2">xorg-server-1.13.3.tar.bz2</a></td><td align="right">2013-03-08 06:19  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.3.tar.gz">xorg-server-1.13.3.tar.gz</a></td><td align="right">2013-03-08 06:19  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.4.tar.bz2">xorg-server-1.13.4.tar.bz2</a></td><td align="right">2013-04-17 06:00  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.4.tar.gz">xorg-server-1.13.4.tar.gz</a></td><td align="right">2013-04-17 05:59  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.99.901.tar.bz2">xorg-server-1.13.99.901.tar.bz2</a></td><td align="right">2012-12-19 20:50  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.99.901.tar.gz">xorg-server-1.13.99.901.tar.gz</a></td><td align="right">2012-12-19 20:50  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.99.902.tar.bz2">xorg-server-1.13.99.902.tar.bz2</a></td><td align="right">2013-02-14 05:44  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.13.99.902.tar.gz">xorg-server-1.13.99.902.tar.gz</a></td><td align="right">2013-02-14 05:43  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.0.tar.bz2">xorg-server-1.14.0.tar.bz2</a></td><td align="right">2013-03-06 06:35  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.0.tar.gz">xorg-server-1.14.0.tar.gz</a></td><td align="right">2013-03-06 06:34  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.901.tar.bz2">xorg-server-1.14.1.901.tar.bz2</a></td><td align="right">2013-05-31 06:09  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.901.tar.gz">xorg-server-1.14.1.901.tar.gz</a></td><td align="right">2013-05-31 06:09  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.902.tar.bz2">xorg-server-1.14.1.902.tar.bz2</a></td><td align="right">2013-06-13 22:28  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.902.tar.gz">xorg-server-1.14.1.902.tar.gz</a></td><td align="right">2013-06-13 22:28  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.tar.bz2">xorg-server-1.14.1.tar.bz2</a></td><td align="right">2013-04-17 07:37  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.1.tar.gz">xorg-server-1.14.1.tar.gz</a></td><td align="right">2013-04-17 07:36  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2-rc1.tar.bz2">xorg-server-1.14.2-rc1.tar.bz2</a></td><td align="right">2013-05-31 04:38  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2-rc1.tar.gz">xorg-server-1.14.2-rc1.tar.gz</a></td><td align="right">2013-05-31 04:38  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.901.tar.bz2">xorg-server-1.14.2.901.tar.bz2</a></td><td align="right">2013-07-26 05:47  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.901.tar.bz2.old">xorg-server-1.14.2.901.tar.bz2.old</a></td><td align="right">2013-07-26 04:27  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.901.tar.gz">xorg-server-1.14.2.901.tar.gz</a></td><td align="right">2013-07-26 05:47  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.901.tar.gz.old">xorg-server-1.14.2.901.tar.gz.old</a></td><td align="right">2013-07-26 04:27  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.902.tar.bz2">xorg-server-1.14.2.902.tar.bz2</a></td><td align="right">2013-08-22 23:57  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.902.tar.gz">xorg-server-1.14.2.902.tar.gz</a></td><td align="right">2013-08-22 23:57  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.tar.bz2">xorg-server-1.14.2.tar.bz2</a></td><td align="right">2013-06-25 15:52  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.2.tar.gz">xorg-server-1.14.2.tar.gz</a></td><td align="right">2013-06-25 15:52  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3-rc1.tar.bz2">xorg-server-1.14.3-rc1.tar.bz2</a></td><td align="right">2013-07-26 04:21  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3-rc1.tar.gz">xorg-server-1.14.3-rc1.tar.gz</a></td><td align="right">2013-07-26 04:21  </td><td align="right">7.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3.901.tar.bz2">xorg-server-1.14.3.901.tar.bz2</a></td><td align="right">2013-10-26 19:53  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3.901.tar.gz">xorg-server-1.14.3.901.tar.gz</a></td><td align="right">2013-10-26 19:53  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3.tar.bz2">xorg-server-1.14.3.tar.bz2</a></td><td align="right">2013-09-13 03:19  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.3.tar.gz">xorg-server-1.14.3.tar.gz</a></td><td align="right">2013-09-13 03:19  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.4.901.tar.bz2">xorg-server-1.14.4.901.tar.bz2</a></td><td align="right">2013-11-22 05:13  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.4.901.tar.gz">xorg-server-1.14.4.901.tar.gz</a></td><td align="right">2013-11-22 05:13  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.4.tar.bz2">xorg-server-1.14.4.tar.bz2</a></td><td align="right">2013-11-01 05:31  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.4.tar.gz">xorg-server-1.14.4.tar.gz</a></td><td align="right">2013-11-01 05:31  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.5.901.tar.bz2">xorg-server-1.14.5.901.tar.bz2</a></td><td align="right">2014-03-22 05:21  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.5.901.tar.gz">xorg-server-1.14.5.901.tar.gz</a></td><td align="right">2014-03-22 05:21  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.5.tar.bz2">xorg-server-1.14.5.tar.bz2</a></td><td align="right">2013-12-13 03:53  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.5.tar.gz">xorg-server-1.14.5.tar.gz</a></td><td align="right">2013-12-13 03:53  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.6.tar.bz2">xorg-server-1.14.6.tar.bz2</a></td><td align="right">2014-04-14 02:49  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.6.tar.gz">xorg-server-1.14.6.tar.gz</a></td><td align="right">2014-04-14 02:49  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.7.tar.bz2">xorg-server-1.14.7.tar.bz2</a></td><td align="right">2014-06-06 04:20  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.7.tar.gz">xorg-server-1.14.7.tar.gz</a></td><td align="right">2014-06-06 04:19  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.1.tar.bz2">xorg-server-1.14.99.1.tar.bz2</a></td><td align="right">2013-04-24 17:16  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.1.tar.gz">xorg-server-1.14.99.1.tar.gz</a></td><td align="right">2013-04-24 17:15  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.2.tar.bz2">xorg-server-1.14.99.2.tar.bz2</a></td><td align="right">2013-10-05 00:01  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.2.tar.gz">xorg-server-1.14.99.2.tar.gz</a></td><td align="right">2013-10-05 00:00  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.3.tar.bz2">xorg-server-1.14.99.3.tar.bz2</a></td><td align="right">2013-10-19 00:34  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.3.tar.gz">xorg-server-1.14.99.3.tar.gz</a></td><td align="right">2013-10-19 00:33  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.901.tar.bz2">xorg-server-1.14.99.901.tar.bz2</a></td><td align="right">2013-11-01 08:51  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.901.tar.gz">xorg-server-1.14.99.901.tar.gz</a></td><td align="right">2013-11-01 08:50  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.902.tar.bz2">xorg-server-1.14.99.902.tar.bz2</a></td><td align="right">2013-11-14 01:32  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.902.tar.gz">xorg-server-1.14.99.902.tar.gz</a></td><td align="right">2013-11-14 01:32  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.903.tar.bz2">xorg-server-1.14.99.903.tar.bz2</a></td><td align="right">2013-11-24 06:31  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.903.tar.gz">xorg-server-1.14.99.903.tar.gz</a></td><td align="right">2013-11-24 06:30  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.904.tar.bz2">xorg-server-1.14.99.904.tar.bz2</a></td><td align="right">2013-12-11 15:57  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.904.tar.gz">xorg-server-1.14.99.904.tar.gz</a></td><td align="right">2013-12-11 15:56  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.905.tar.bz2">xorg-server-1.14.99.905.tar.bz2</a></td><td align="right">2013-12-19 22:35  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.14.99.905.tar.gz">xorg-server-1.14.99.905.tar.gz</a></td><td align="right">2013-12-19 22:35  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.0.901.tar.bz2">xorg-server-1.15.0.901.tar.bz2</a></td><td align="right">2014-03-22 06:04  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.0.901.tar.gz">xorg-server-1.15.0.901.tar.gz</a></td><td align="right">2014-03-22 06:04  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.0.tar.bz2">xorg-server-1.15.0.tar.bz2</a></td><td align="right">2013-12-27 18:01  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.0.tar.gz">xorg-server-1.15.0.tar.gz</a></td><td align="right">2013-12-27 18:00  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.1.tar.bz2">xorg-server-1.15.1.tar.bz2</a></td><td align="right">2014-04-14 03:16  </td><td align="right">5.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.1.tar.gz">xorg-server-1.15.1.tar.gz</a></td><td align="right">2014-04-14 03:16  </td><td align="right">7.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.2.tar.bz2">xorg-server-1.15.2.tar.bz2</a></td><td align="right">2014-06-27 01:30  </td><td align="right">5.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.2.tar.bz2.sig">xorg-server-1.15.2.tar.bz2.sig</a></td><td align="right">2014-06-27 01:30  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.2.tar.gz">xorg-server-1.15.2.tar.gz</a></td><td align="right">2014-06-27 01:29  </td><td align="right">7.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.2.tar.gz.sig">xorg-server-1.15.2.tar.gz.sig</a></td><td align="right">2014-06-27 01:30  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.901.tar.bz2">xorg-server-1.15.99.901.tar.bz2</a></td><td align="right">2014-02-24 21:52  </td><td align="right">5.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.901.tar.gz">xorg-server-1.15.99.901.tar.gz</a></td><td align="right">2014-02-24 21:52  </td><td align="right">7.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.902.tar.bz2">xorg-server-1.15.99.902.tar.bz2</a></td><td align="right">2014-04-08 21:32  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.902.tar.gz">xorg-server-1.15.99.902.tar.gz</a></td><td align="right">2014-04-08 21:31  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.903.tar.bz2">xorg-server-1.15.99.903.tar.bz2</a></td><td align="right">2014-06-05 05:41  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.903.tar.gz">xorg-server-1.15.99.903.tar.gz</a></td><td align="right">2014-06-05 05:40  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.904.tar.bz2">xorg-server-1.15.99.904.tar.bz2</a></td><td align="right">2014-07-07 23:35  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.904.tar.bz2.sig">xorg-server-1.15.99.904.tar.bz2.sig</a></td><td align="right">2014-07-07 23:35  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.904.tar.gz">xorg-server-1.15.99.904.tar.gz</a></td><td align="right">2014-07-07 23:35  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.15.99.904.tar.gz.sig">xorg-server-1.15.99.904.tar.gz.sig</a></td><td align="right">2014-07-07 23:35  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.901.tar.bz2">xorg-server-1.16.0.901.tar.bz2</a></td><td align="right">2014-09-15 21:38  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.901.tar.bz2.sig">xorg-server-1.16.0.901.tar.bz2.sig</a></td><td align="right">2014-09-15 21:38  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.901.tar.gz">xorg-server-1.16.0.901.tar.gz</a></td><td align="right">2014-09-15 21:37  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.901.tar.gz.sig">xorg-server-1.16.0.901.tar.gz.sig</a></td><td align="right">2014-09-15 21:38  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.tar.bz2">xorg-server-1.16.0.tar.bz2</a></td><td align="right">2014-07-17 07:09  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.tar.bz2.sig">xorg-server-1.16.0.tar.bz2.sig</a></td><td align="right">2014-07-17 07:09  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.tar.gz">xorg-server-1.16.0.tar.gz</a></td><td align="right">2014-07-17 07:08  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.0.tar.gz.sig">xorg-server-1.16.0.tar.gz.sig</a></td><td align="right">2014-07-17 07:09  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.901.tar.bz2">xorg-server-1.16.1.901.tar.bz2</a></td><td align="right">2014-11-02 10:52  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.901.tar.bz2.sig">xorg-server-1.16.1.901.tar.bz2.sig</a></td><td align="right">2014-11-02 10:52  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.901.tar.gz">xorg-server-1.16.1.901.tar.gz</a></td><td align="right">2014-11-02 10:51  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.901.tar.gz.sig">xorg-server-1.16.1.901.tar.gz.sig</a></td><td align="right">2014-11-02 10:52  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.tar.bz2">xorg-server-1.16.1.tar.bz2</a></td><td align="right">2014-09-21 09:17  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.tar.bz2.sig">xorg-server-1.16.1.tar.bz2.sig</a></td><td align="right">2014-09-21 09:17  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.tar.gz">xorg-server-1.16.1.tar.gz</a></td><td align="right">2014-09-21 09:16  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.1.tar.gz.sig">xorg-server-1.16.1.tar.gz.sig</a></td><td align="right">2014-09-21 09:17  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.901.tar.bz2">xorg-server-1.16.2.901.tar.bz2</a></td><td align="right">2014-12-09 20:12  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.901.tar.bz2.sig">xorg-server-1.16.2.901.tar.bz2.sig</a></td><td align="right">2014-12-09 20:12  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.901.tar.gz">xorg-server-1.16.2.901.tar.gz</a></td><td align="right">2014-12-09 20:11  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.901.tar.gz.sig">xorg-server-1.16.2.901.tar.gz.sig</a></td><td align="right">2014-12-09 20:12  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.tar.bz2">xorg-server-1.16.2.tar.bz2</a></td><td align="right">2014-11-10 15:53  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.tar.bz2.sig">xorg-server-1.16.2.tar.bz2.sig</a></td><td align="right">2014-11-10 15:53  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.tar.gz">xorg-server-1.16.2.tar.gz</a></td><td align="right">2014-11-10 15:53  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.2.tar.gz.sig">xorg-server-1.16.2.tar.gz.sig</a></td><td align="right">2014-11-10 15:53  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.3.tar.bz2">xorg-server-1.16.3.tar.bz2</a></td><td align="right">2014-12-20 12:19  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.3.tar.bz2.sig">xorg-server-1.16.3.tar.bz2.sig</a></td><td align="right">2014-12-20 12:19  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.3.tar.gz">xorg-server-1.16.3.tar.gz</a></td><td align="right">2014-12-20 12:18  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.3.tar.gz.sig">xorg-server-1.16.3.tar.gz.sig</a></td><td align="right">2014-12-20 12:19  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.4.tar.bz2">xorg-server-1.16.4.tar.bz2</a></td><td align="right">2015-02-11 00:15  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.4.tar.bz2.sig">xorg-server-1.16.4.tar.bz2.sig</a></td><td align="right">2015-02-11 00:15  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.4.tar.gz">xorg-server-1.16.4.tar.gz</a></td><td align="right">2015-02-11 00:14  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.4.tar.gz.sig">xorg-server-1.16.4.tar.gz.sig</a></td><td align="right">2015-02-11 00:15  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.901.tar.bz2">xorg-server-1.16.99.901.tar.bz2</a></td><td align="right">2014-10-29 04:37  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.901.tar.bz2.sig">xorg-server-1.16.99.901.tar.bz2.sig</a></td><td align="right">2014-10-29 04:37  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.901.tar.gz">xorg-server-1.16.99.901.tar.gz</a></td><td align="right">2014-10-29 04:37  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.901.tar.gz.sig">xorg-server-1.16.99.901.tar.gz.sig</a></td><td align="right">2014-10-29 04:37  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.902.tar.bz2">xorg-server-1.16.99.902.tar.bz2</a></td><td align="right">2015-01-23 19:03  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.902.tar.bz2.sig">xorg-server-1.16.99.902.tar.bz2.sig</a></td><td align="right">2015-01-23 19:03  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.902.tar.gz">xorg-server-1.16.99.902.tar.gz</a></td><td align="right">2015-01-23 19:03  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.16.99.902.tar.gz.sig">xorg-server-1.16.99.902.tar.gz.sig</a></td><td align="right">2015-01-23 19:03  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.0.tar.bz2">xorg-server-1.17.0.tar.bz2</a></td><td align="right">2015-02-04 17:37  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.0.tar.bz2.sig">xorg-server-1.17.0.tar.bz2.sig</a></td><td align="right">2015-02-04 17:37  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.0.tar.gz">xorg-server-1.17.0.tar.gz</a></td><td align="right">2015-02-04 17:37  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.0.tar.gz.sig">xorg-server-1.17.0.tar.gz.sig</a></td><td align="right">2015-02-04 17:37  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.1.tar.bz2">xorg-server-1.17.1.tar.bz2</a></td><td align="right">2015-02-10 22:53  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.1.tar.bz2.sig">xorg-server-1.17.1.tar.bz2.sig</a></td><td align="right">2015-02-10 22:53  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.1.tar.gz">xorg-server-1.17.1.tar.gz</a></td><td align="right">2015-02-10 22:52  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.1.tar.gz.sig">xorg-server-1.17.1.tar.gz.sig</a></td><td align="right">2015-02-10 22:53  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.2.tar.bz2">xorg-server-1.17.2.tar.bz2</a></td><td align="right">2015-06-16 16:31  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.2.tar.bz2.sig">xorg-server-1.17.2.tar.bz2.sig</a></td><td align="right">2015-06-16 16:31  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.2.tar.gz">xorg-server-1.17.2.tar.gz</a></td><td align="right">2015-06-16 16:30  </td><td align="right">7.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.2.tar.gz.sig">xorg-server-1.17.2.tar.gz.sig</a></td><td align="right">2015-06-16 16:31  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.3.tar.bz2">xorg-server-1.17.3.tar.bz2</a></td><td align="right">2015-10-26 17:09  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.3.tar.bz2.sig">xorg-server-1.17.3.tar.bz2.sig</a></td><td align="right">2015-10-26 17:09  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.3.tar.gz">xorg-server-1.17.3.tar.gz</a></td><td align="right">2015-10-26 17:09  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.3.tar.gz.sig">xorg-server-1.17.3.tar.gz.sig</a></td><td align="right">2015-10-26 17:09  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.4.tar.bz2">xorg-server-1.17.4.tar.bz2</a></td><td align="right">2015-10-28 16:38  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.4.tar.bz2.sig">xorg-server-1.17.4.tar.bz2.sig</a></td><td align="right">2015-10-28 16:38  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.4.tar.gz">xorg-server-1.17.4.tar.gz</a></td><td align="right">2015-10-28 16:38  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.4.tar.gz.sig">xorg-server-1.17.4.tar.gz.sig</a></td><td align="right">2015-10-28 16:38  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.901.tar.bz2">xorg-server-1.17.99.901.tar.bz2</a></td><td align="right">2015-09-02 02:34  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.901.tar.bz2.sig">xorg-server-1.17.99.901.tar.bz2.sig</a></td><td align="right">2015-09-02 02:34  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.901.tar.gz">xorg-server-1.17.99.901.tar.gz</a></td><td align="right">2015-09-02 02:34  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.901.tar.gz.sig">xorg-server-1.17.99.901.tar.gz.sig</a></td><td align="right">2015-09-02 02:34  </td><td align="right">536 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.902.tar.bz2">xorg-server-1.17.99.902.tar.bz2</a></td><td align="right">2015-10-26 18:13  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.902.tar.bz2.sig">xorg-server-1.17.99.902.tar.bz2.sig</a></td><td align="right">2015-10-26 18:13  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.902.tar.gz">xorg-server-1.17.99.902.tar.gz</a></td><td align="right">2015-10-26 18:13  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.17.99.902.tar.gz.sig">xorg-server-1.17.99.902.tar.gz.sig</a></td><td align="right">2015-10-26 18:13  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.0.tar.bz2">xorg-server-1.18.0.tar.bz2</a></td><td align="right">2015-11-09 21:11  </td><td align="right">5.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.0.tar.bz2.sig">xorg-server-1.18.0.tar.bz2.sig</a></td><td align="right">2015-11-09 21:11  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.0.tar.gz">xorg-server-1.18.0.tar.gz</a></td><td align="right">2015-11-09 21:11  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.0.tar.gz.sig">xorg-server-1.18.0.tar.gz.sig</a></td><td align="right">2015-11-09 21:11  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.1.tar.bz2">xorg-server-1.18.1.tar.bz2</a></td><td align="right">2016-02-08 23:41  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.1.tar.bz2.sig">xorg-server-1.18.1.tar.bz2.sig</a></td><td align="right">2016-02-08 23:41  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.1.tar.gz">xorg-server-1.18.1.tar.gz</a></td><td align="right">2016-02-08 23:41  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.1.tar.gz.sig">xorg-server-1.18.1.tar.gz.sig</a></td><td align="right">2016-02-08 23:41  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.2.tar.bz2">xorg-server-1.18.2.tar.bz2</a></td><td align="right">2016-03-11 21:45  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.2.tar.bz2.sig">xorg-server-1.18.2.tar.bz2.sig</a></td><td align="right">2016-03-11 21:45  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.2.tar.gz">xorg-server-1.18.2.tar.gz</a></td><td align="right">2016-03-11 21:45  </td><td align="right">7.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.2.tar.gz.sig">xorg-server-1.18.2.tar.gz.sig</a></td><td align="right">2016-03-11 21:45  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.3.tar.bz2">xorg-server-1.18.3.tar.bz2</a></td><td align="right">2016-04-04 19:48  </td><td align="right">5.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.3.tar.bz2.sig">xorg-server-1.18.3.tar.bz2.sig</a></td><td align="right">2016-04-04 19:48  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.3.tar.gz">xorg-server-1.18.3.tar.gz</a></td><td align="right">2016-04-04 19:48  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.3.tar.gz.sig">xorg-server-1.18.3.tar.gz.sig</a></td><td align="right">2016-04-04 19:48  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.4.tar.bz2">xorg-server-1.18.4.tar.bz2</a></td><td align="right">2016-07-19 17:42  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.4.tar.bz2.sig">xorg-server-1.18.4.tar.bz2.sig</a></td><td align="right">2016-07-19 17:42  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.4.tar.gz">xorg-server-1.18.4.tar.gz</a></td><td align="right">2016-07-19 17:42  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.4.tar.gz.sig">xorg-server-1.18.4.tar.gz.sig</a></td><td align="right">2016-07-19 17:42  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.2.tar.bz2">xorg-server-1.18.99.2.tar.bz2</a></td><td align="right">2016-09-16 20:55  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.2.tar.bz2.sig">xorg-server-1.18.99.2.tar.bz2.sig</a></td><td align="right">2016-09-16 20:55  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.2.tar.gz">xorg-server-1.18.99.2.tar.gz</a></td><td align="right">2016-09-16 20:54  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.2.tar.gz.sig">xorg-server-1.18.99.2.tar.gz.sig</a></td><td align="right">2016-09-16 20:55  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.901.tar.bz2">xorg-server-1.18.99.901.tar.bz2</a></td><td align="right">2016-09-19 16:10  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.901.tar.bz2.sig">xorg-server-1.18.99.901.tar.bz2.sig</a></td><td align="right">2016-09-19 16:10  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.901.tar.gz">xorg-server-1.18.99.901.tar.gz</a></td><td align="right">2016-09-19 16:10  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.901.tar.gz.sig">xorg-server-1.18.99.901.tar.gz.sig</a></td><td align="right">2016-09-19 16:10  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.902.tar.bz2">xorg-server-1.18.99.902.tar.bz2</a></td><td align="right">2016-10-28 16:47  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.902.tar.bz2.sig">xorg-server-1.18.99.902.tar.bz2.sig</a></td><td align="right">2016-10-28 16:47  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.902.tar.gz">xorg-server-1.18.99.902.tar.gz</a></td><td align="right">2016-10-28 16:47  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.18.99.902.tar.gz.sig">xorg-server-1.18.99.902.tar.gz.sig</a></td><td align="right">2016-10-28 16:47  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.0.tar.bz2">xorg-server-1.19.0.tar.bz2</a></td><td align="right">2016-11-15 17:08  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.0.tar.bz2.sig">xorg-server-1.19.0.tar.bz2.sig</a></td><td align="right">2016-11-15 17:08  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.0.tar.gz">xorg-server-1.19.0.tar.gz</a></td><td align="right">2016-11-15 17:07  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.0.tar.gz.sig">xorg-server-1.19.0.tar.gz.sig</a></td><td align="right">2016-11-15 17:08  </td><td align="right">543 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.1.tar.bz2">xorg-server-1.19.1.tar.bz2</a></td><td align="right">2017-01-11 21:25  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.1.tar.bz2.sig">xorg-server-1.19.1.tar.bz2.sig</a></td><td align="right">2017-01-11 21:25  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.1.tar.gz">xorg-server-1.19.1.tar.gz</a></td><td align="right">2017-01-11 21:25  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.1.tar.gz.sig">xorg-server-1.19.1.tar.gz.sig</a></td><td align="right">2017-01-11 21:25  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.2.tar.bz2">xorg-server-1.19.2.tar.bz2</a></td><td align="right">2017-03-02 23:05  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.2.tar.bz2.sig">xorg-server-1.19.2.tar.bz2.sig</a></td><td align="right">2017-03-02 23:05  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.2.tar.gz">xorg-server-1.19.2.tar.gz</a></td><td align="right">2017-03-02 23:05  </td><td align="right">7.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.2.tar.gz.sig">xorg-server-1.19.2.tar.gz.sig</a></td><td align="right">2017-03-02 23:05  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.3.tar.bz2">xorg-server-1.19.3.tar.bz2</a></td><td align="right">2017-03-15 18:12  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.3.tar.bz2.sig">xorg-server-1.19.3.tar.bz2.sig</a></td><td align="right">2017-03-15 18:12  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.3.tar.gz">xorg-server-1.19.3.tar.gz</a></td><td align="right">2017-03-15 18:12  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.3.tar.gz.sig">xorg-server-1.19.3.tar.gz.sig</a></td><td align="right">2017-03-15 18:12  </td><td align="right"> 72 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.4.tar.bz2">xorg-server-1.19.4.tar.bz2</a></td><td align="right">2017-10-04 22:00  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.4.tar.bz2.sig">xorg-server-1.19.4.tar.bz2.sig</a></td><td align="right">2017-10-04 22:00  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.4.tar.gz">xorg-server-1.19.4.tar.gz</a></td><td align="right">2017-10-04 22:00  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.4.tar.gz.sig">xorg-server-1.19.4.tar.gz.sig</a></td><td align="right">2017-10-04 22:00  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.5.tar.bz2">xorg-server-1.19.5.tar.bz2</a></td><td align="right">2017-10-12 17:31  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.5.tar.bz2.sig">xorg-server-1.19.5.tar.bz2.sig</a></td><td align="right">2017-10-12 17:31  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.5.tar.gz">xorg-server-1.19.5.tar.gz</a></td><td align="right">2017-10-12 17:31  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.5.tar.gz.sig">xorg-server-1.19.5.tar.gz.sig</a></td><td align="right">2017-10-12 17:31  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.6.tar.bz2">xorg-server-1.19.6.tar.bz2</a></td><td align="right">2017-12-20 20:39  </td><td align="right">5.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.6.tar.bz2.sig">xorg-server-1.19.6.tar.bz2.sig</a></td><td align="right">2017-12-20 20:39  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.6.tar.gz">xorg-server-1.19.6.tar.gz</a></td><td align="right">2017-12-20 20:39  </td><td align="right">8.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.6.tar.gz.sig">xorg-server-1.19.6.tar.gz.sig</a></td><td align="right">2017-12-20 20:39  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.7.tar.bz2">xorg-server-1.19.7.tar.bz2</a></td><td align="right">2019-03-02 23:03  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.7.tar.bz2.sig">xorg-server-1.19.7.tar.bz2.sig</a></td><td align="right">2019-03-02 23:03  </td><td align="right">287 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.7.tar.gz">xorg-server-1.19.7.tar.gz</a></td><td align="right">2019-03-02 23:02  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.7.tar.gz.sig">xorg-server-1.19.7.tar.gz.sig</a></td><td align="right">2019-03-02 23:03  </td><td align="right">287 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.901.tar.bz2">xorg-server-1.19.99.901.tar.bz2</a></td><td align="right">2018-02-28 18:28  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.901.tar.bz2.sig">xorg-server-1.19.99.901.tar.bz2.sig</a></td><td align="right">2018-02-28 18:28  </td><td align="right"> 95 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.901.tar.gz">xorg-server-1.19.99.901.tar.gz</a></td><td align="right">2018-02-28 18:28  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.901.tar.gz.sig">xorg-server-1.19.99.901.tar.gz.sig</a></td><td align="right">2018-02-28 18:28  </td><td align="right"> 95 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.902.tar.bz2">xorg-server-1.19.99.902.tar.bz2</a></td><td align="right">2018-03-28 20:39  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.902.tar.bz2.sig">xorg-server-1.19.99.902.tar.bz2.sig</a></td><td align="right">2018-03-28 20:39  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.902.tar.gz">xorg-server-1.19.99.902.tar.gz</a></td><td align="right">2018-03-28 20:39  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.902.tar.gz.sig">xorg-server-1.19.99.902.tar.gz.sig</a></td><td align="right">2018-03-28 20:39  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.903.tar.bz2">xorg-server-1.19.99.903.tar.bz2</a></td><td align="right">2018-04-02 19:56  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.903.tar.bz2.sig">xorg-server-1.19.99.903.tar.bz2.sig</a></td><td align="right">2018-04-02 19:56  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.903.tar.gz">xorg-server-1.19.99.903.tar.gz</a></td><td align="right">2018-04-02 19:56  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.903.tar.gz.sig">xorg-server-1.19.99.903.tar.gz.sig</a></td><td align="right">2018-04-02 19:56  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.904.tar.bz2">xorg-server-1.19.99.904.tar.bz2</a></td><td align="right">2018-04-10 19:50  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.904.tar.bz2.sig">xorg-server-1.19.99.904.tar.bz2.sig</a></td><td align="right">2018-04-10 19:50  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.904.tar.gz">xorg-server-1.19.99.904.tar.gz</a></td><td align="right">2018-04-10 19:50  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.904.tar.gz.sig">xorg-server-1.19.99.904.tar.gz.sig</a></td><td align="right">2018-04-10 19:50  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.905.tar.bz2">xorg-server-1.19.99.905.tar.bz2</a></td><td align="right">2018-04-24 21:12  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.905.tar.bz2.sig">xorg-server-1.19.99.905.tar.bz2.sig</a></td><td align="right">2018-04-24 21:12  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.905.tar.gz">xorg-server-1.19.99.905.tar.gz</a></td><td align="right">2018-04-24 21:12  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.19.99.905.tar.gz.sig">xorg-server-1.19.99.905.tar.gz.sig</a></td><td align="right">2018-04-24 21:12  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.0.tar.bz2">xorg-server-1.20.0.tar.bz2</a></td><td align="right">2018-05-10 16:38  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.0.tar.bz2.sig">xorg-server-1.20.0.tar.bz2.sig</a></td><td align="right">2018-05-10 16:38  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.0.tar.gz">xorg-server-1.20.0.tar.gz</a></td><td align="right">2018-05-10 16:38  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.0.tar.gz.sig">xorg-server-1.20.0.tar.gz.sig</a></td><td align="right">2018-05-10 16:38  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.1.tar.bz2">xorg-server-1.20.1.tar.bz2</a></td><td align="right">2018-08-07 16:37  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.1.tar.bz2.sig">xorg-server-1.20.1.tar.bz2.sig</a></td><td align="right">2018-08-07 16:37  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.1.tar.gz">xorg-server-1.20.1.tar.gz</a></td><td align="right">2018-08-07 16:37  </td><td align="right">8.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.1.tar.gz.sig">xorg-server-1.20.1.tar.gz.sig</a></td><td align="right">2018-08-07 16:37  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.2.tar.bz2">xorg-server-1.20.2.tar.bz2</a></td><td align="right">2018-10-15 16:03  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.2.tar.bz2.sig">xorg-server-1.20.2.tar.bz2.sig</a></td><td align="right">2018-10-15 16:03  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.2.tar.gz">xorg-server-1.20.2.tar.gz</a></td><td align="right">2018-10-15 16:03  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.2.tar.gz.sig">xorg-server-1.20.2.tar.gz.sig</a></td><td align="right">2018-10-15 16:03  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.3.tar.bz2">xorg-server-1.20.3.tar.bz2</a></td><td align="right">2018-10-25 14:17  </td><td align="right">5.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.3.tar.bz2.sig">xorg-server-1.20.3.tar.bz2.sig</a></td><td align="right">2018-10-25 14:17  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.3.tar.gz">xorg-server-1.20.3.tar.gz</a></td><td align="right">2018-10-25 14:17  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.3.tar.gz.sig">xorg-server-1.20.3.tar.gz.sig</a></td><td align="right">2018-10-25 14:17  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.4.tar.bz2">xorg-server-1.20.4.tar.bz2</a></td><td align="right">2019-02-26 19:33  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.4.tar.bz2.sig">xorg-server-1.20.4.tar.bz2.sig</a></td><td align="right">2019-02-26 19:33  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.4.tar.gz">xorg-server-1.20.4.tar.gz</a></td><td align="right">2019-02-26 19:33  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.4.tar.gz.sig">xorg-server-1.20.4.tar.gz.sig</a></td><td align="right">2019-02-26 19:33  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.5.tar.bz2">xorg-server-1.20.5.tar.bz2</a></td><td align="right">2019-05-30 18:32  </td><td align="right">5.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.5.tar.bz2.sig">xorg-server-1.20.5.tar.bz2.sig</a></td><td align="right">2019-05-30 18:32  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.5.tar.gz">xorg-server-1.20.5.tar.gz</a></td><td align="right">2019-05-30 18:32  </td><td align="right">8.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.5.tar.gz.sig">xorg-server-1.20.5.tar.gz.sig</a></td><td align="right">2019-05-30 18:32  </td><td align="right">438 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.6.tar.bz2">xorg-server-1.20.6.tar.bz2</a></td><td align="right">2019-11-22 23:50  </td><td align="right">6.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.6.tar.bz2.sig">xorg-server-1.20.6.tar.bz2.sig</a></td><td align="right">2019-11-22 23:50  </td><td align="right">215 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.6.tar.gz">xorg-server-1.20.6.tar.gz</a></td><td align="right">2019-11-22 23:50  </td><td align="right">8.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="xorg-server-1.20.6.tar.gz.sig">xorg-server-1.20.6.tar.gz.sig</a></td><td align="right">2019-11-22 23:50  </td><td align="right">215 </td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+<address>Apache/2.4.38 (Debian) Server at www.x.org Port 443</address>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch-testdata/software/pulseaudio/releases/index.html b/bitbake/lib/bb/tests/fetch-testdata/software/pulseaudio/releases/index.html
new file mode 100644
index 0000000..bf2d23c
--- /dev/null
+++ b/bitbake/lib/bb/tests/fetch-testdata/software/pulseaudio/releases/index.html
@@ -0,0 +1,383 @@ 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+ <head>
+  <title>Index of /software/pulseaudio/releases</title>
+ </head>
+ <body>
+<h1>Index of /software/pulseaudio/releases</h1>
+  <table>
+   <tr><th valign="top"><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
+   <tr><th colspan="5"><hr></th></tr>
+<tr><td valign="top"><img src="/icons/back.gif" alt="[PARENTDIR]"></td><td><a href="/software/pulseaudio/">Parent Directory</a></td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="bad/">bad/</a></td><td align="right">2014-01-26 17:50  </td><td align="right">  - </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.1.tar.gz">polypaudio-0.1.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">387K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.1.tar.gz.md5">polypaudio-0.1.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.1.tar.gz.sha1">polypaudio-0.1.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.2.tar.gz">polypaudio-0.2.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">460K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.2.tar.gz.md5">polypaudio-0.2.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.2.tar.gz.sha1">polypaudio-0.2.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.3.tar.gz">polypaudio-0.3.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">470K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.3.tar.gz.md5">polypaudio-0.3.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.3.tar.gz.sha1">polypaudio-0.3.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.4.tar.gz">polypaudio-0.4.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">486K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.4.tar.gz.md5">polypaudio-0.4.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.4.tar.gz.sha1">polypaudio-0.4.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.1.tar.gz">polypaudio-0.5.1.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">524K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.1.tar.gz.md5">polypaudio-0.5.1.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.1.tar.gz.sha1">polypaudio-0.5.1.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.tar.gz">polypaudio-0.5.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">518K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.tar.gz.md5">polypaudio-0.5.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.5.tar.gz.sha1">polypaudio-0.5.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.6.tar.gz">polypaudio-0.6.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">448K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.6.tar.gz.md5">polypaudio-0.6.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.6.tar.gz.sha1">polypaudio-0.6.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.7.tar.gz">polypaudio-0.7.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">924K</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.7.tar.gz.md5">polypaudio-0.7.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.7.tar.gz.sha1">polypaudio-0.7.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.1.tar.gz">polypaudio-0.8.1.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.1.tar.gz.md5">polypaudio-0.8.1.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.1.tar.gz.sha1">polypaudio-0.8.1.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.tar.gz">polypaudio-0.8.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.tar.gz.md5">polypaudio-0.8.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.8.tar.gz.sha1">polypaudio-0.8.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.0.tar.gz">polypaudio-0.9.0.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.0.tar.gz.md5">polypaudio-0.9.0.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.0.tar.gz.sha1">polypaudio-0.9.0.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.1.tar.gz">polypaudio-0.9.1.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.1.tar.gz.md5">polypaudio-0.9.1.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="polypaudio-0.9.1.tar.gz.sha1">polypaudio-0.9.1.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.2.tar.gz">pulseaudio-0.9.2.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.2.tar.gz.md5">pulseaudio-0.9.2.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.2.tar.gz.sha1">pulseaudio-0.9.2.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.3.tar.gz">pulseaudio-0.9.3.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.3.tar.gz.md5">pulseaudio-0.9.3.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.3.tar.gz.sha1">pulseaudio-0.9.3.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.4.tar.gz">pulseaudio-0.9.4.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.4.tar.gz.md5">pulseaudio-0.9.4.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.4.tar.gz.sha1">pulseaudio-0.9.4.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.5.tar.gz">pulseaudio-0.9.5.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.5.tar.gz.md5">pulseaudio-0.9.5.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.5.tar.gz.sha1">pulseaudio-0.9.5.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.6.tar.gz">pulseaudio-0.9.6.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.6.tar.gz.md5">pulseaudio-0.9.6.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.6.tar.gz.sha1">pulseaudio-0.9.6.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.7.tar.gz">pulseaudio-0.9.7.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.7.tar.gz.md5">pulseaudio-0.9.7.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.7.tar.gz.sha1">pulseaudio-0.9.7.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.8.tar.gz">pulseaudio-0.9.8.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.8.tar.gz.md5">pulseaudio-0.9.8.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.8.tar.gz.sha1">pulseaudio-0.9.8.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.9.tar.gz">pulseaudio-0.9.9.tar.gz</a></td><td align="right">2008-03-28 21:16  </td><td align="right">1.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.9.tar.gz.md5">pulseaudio-0.9.9.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 58 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.9.tar.gz.sha1">pulseaudio-0.9.9.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 66 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.10.tar.gz">pulseaudio-0.9.10.tar.gz</a></td><td align="right">2008-03-30 16:30  </td><td align="right">1.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.10.tar.gz.md5">pulseaudio-0.9.10.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.10.tar.gz.sha1">pulseaudio-0.9.10.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.11.tar.gz">pulseaudio-0.9.11.tar.gz</a></td><td align="right">2008-07-24 12:41  </td><td align="right">1.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.11.tar.gz.md5">pulseaudio-0.9.11.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.11.tar.gz.sha1">pulseaudio-0.9.11.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.12.tar.gz">pulseaudio-0.9.12.tar.gz</a></td><td align="right">2008-09-09 00:17  </td><td align="right">1.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.12.tar.gz.md5">pulseaudio-0.9.12.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.12.tar.gz.sha1">pulseaudio-0.9.12.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.13.tar.gz">pulseaudio-0.9.13.tar.gz</a></td><td align="right">2008-10-06 01:43  </td><td align="right">1.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.13.tar.gz.md5">pulseaudio-0.9.13.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.13.tar.gz.sha1">pulseaudio-0.9.13.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.14.tar.gz">pulseaudio-0.9.14.tar.gz</a></td><td align="right">2009-01-12 23:09  </td><td align="right">1.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.14.tar.gz.md5">pulseaudio-0.9.14.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.14.tar.gz.sha1">pulseaudio-0.9.14.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.15.tar.gz">pulseaudio-0.9.15.tar.gz</a></td><td align="right">2009-04-13 23:24  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.15.tar.gz.md5">pulseaudio-0.9.15.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.15.tar.gz.sha1">pulseaudio-0.9.15.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16-test1.tar.gz">pulseaudio-0.9.16-test1.tar.gz</a></td><td align="right">2009-06-23 17:16  </td><td align="right">1.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16-test1.tar.gz.md5">pulseaudio-0.9.16-test1.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16-test1.tar.gz.sha1">pulseaudio-0.9.16-test1.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 73 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16.tar.gz">pulseaudio-0.9.16.tar.gz</a></td><td align="right">2009-09-10 00:49  </td><td align="right">1.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16.tar.gz.md5">pulseaudio-0.9.16.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.16.tar.gz.sha1">pulseaudio-0.9.16.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.17.tar.gz">pulseaudio-0.9.17.tar.gz</a></td><td align="right">2009-09-11 01:32  </td><td align="right">1.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.17.tar.gz.md5">pulseaudio-0.9.17.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.17.tar.gz.sha1">pulseaudio-0.9.17.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.18.tar.gz">pulseaudio-0.9.18.tar.gz</a></td><td align="right">2009-09-19 00:43  </td><td align="right">1.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.18.tar.gz.md5">pulseaudio-0.9.18.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.18.tar.gz.sha1">pulseaudio-0.9.18.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.19.tar.gz">pulseaudio-0.9.19.tar.gz</a></td><td align="right">2009-09-30 01:30  </td><td align="right">1.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.19.tar.gz.md5">pulseaudio-0.9.19.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.19.tar.gz.sha1">pulseaudio-0.9.19.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.20.tar.gz">pulseaudio-0.9.20.tar.gz</a></td><td align="right">2009-11-11 05:10  </td><td align="right">2.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.20.tar.gz.md5">pulseaudio-0.9.20.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.20.tar.gz.sha1">pulseaudio-0.9.20.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.21.tar.gz">pulseaudio-0.9.21.tar.gz</a></td><td align="right">2009-11-23 04:23  </td><td align="right">2.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.21.tar.gz.md5">pulseaudio-0.9.21.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.21.tar.gz.sha1">pulseaudio-0.9.21.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.22.tar.gz">pulseaudio-0.9.22.tar.gz</a></td><td align="right">2010-11-26 01:12  </td><td align="right">2.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.22.tar.gz.md5">pulseaudio-0.9.22.tar.gz.md5</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.22.tar.gz.sha1">pulseaudio-0.9.22.tar.gz.sha1</a></td><td align="right">2011-05-29 11:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.23.tar.gz">pulseaudio-0.9.23.tar.gz</a></td><td align="right">2011-06-23 21:13  </td><td align="right">2.0M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.23.tar.gz.md5">pulseaudio-0.9.23.tar.gz.md5</a></td><td align="right">2011-06-23 21:13  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.9.23.tar.gz.sha1">pulseaudio-0.9.23.tar.gz.sha1</a></td><td align="right">2011-06-23 21:13  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.1.tar.gz">pulseaudio-0.99.1.tar.gz</a></td><td align="right">2011-08-02 21:59  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.1.tar.gz.md5">pulseaudio-0.99.1.tar.gz.md5</a></td><td align="right">2011-08-02 21:59  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.1.tar.gz.sha1">pulseaudio-0.99.1.tar.gz.sha1</a></td><td align="right">2011-08-02 21:59  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.2.tar.gz">pulseaudio-0.99.2.tar.gz</a></td><td align="right">2011-08-16 10:19  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.2.tar.gz.md5">pulseaudio-0.99.2.tar.gz.md5</a></td><td align="right">2011-08-16 10:19  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.2.tar.gz.sha1">pulseaudio-0.99.2.tar.gz.sha1</a></td><td align="right">2011-08-16 10:19  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.3.tar.gz">pulseaudio-0.99.3.tar.gz</a></td><td align="right">2011-08-29 17:11  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.3.tar.gz.md5">pulseaudio-0.99.3.tar.gz.md5</a></td><td align="right">2011-08-29 17:11  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.3.tar.gz.sha1">pulseaudio-0.99.3.tar.gz.sha1</a></td><td align="right">2011-08-29 17:11  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.4.tar.gz">pulseaudio-0.99.4.tar.gz</a></td><td align="right">2011-09-15 11:04  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.4.tar.gz.md5">pulseaudio-0.99.4.tar.gz.md5</a></td><td align="right">2011-09-15 11:04  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-0.99.4.tar.gz.sha1">pulseaudio-0.99.4.tar.gz.sha1</a></td><td align="right">2011-09-15 11:04  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.gz">pulseaudio-1.0.tar.gz</a></td><td align="right">2011-09-27 08:54  </td><td align="right">2.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.gz.md5">pulseaudio-1.0.tar.gz.md5</a></td><td align="right">2011-09-27 08:54  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.gz.sha1">pulseaudio-1.0.tar.gz.sha1</a></td><td align="right">2011-09-27 08:54  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.xz">pulseaudio-1.0.tar.xz</a></td><td align="right">2011-09-27 08:54  </td><td align="right">1.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.xz.md5">pulseaudio-1.0.tar.xz.md5</a></td><td align="right">2011-09-27 08:54  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.0.tar.xz.sha1">pulseaudio-1.0.tar.xz.sha1</a></td><td align="right">2011-09-27 08:54  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.gz">pulseaudio-1.1.tar.gz</a></td><td align="right">2011-10-20 13:25  </td><td align="right">2.1M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.gz.md5">pulseaudio-1.1.tar.gz.md5</a></td><td align="right">2011-10-20 13:25  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.gz.sha1">pulseaudio-1.1.tar.gz.sha1</a></td><td align="right">2011-10-20 13:25  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.xz">pulseaudio-1.1.tar.xz</a></td><td align="right">2011-10-20 13:25  </td><td align="right">1.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.xz.md5">pulseaudio-1.1.tar.xz.md5</a></td><td align="right">2011-10-20 13:25  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.1.tar.xz.sha1">pulseaudio-1.1.tar.xz.sha1</a></td><td align="right">2011-10-20 13:25  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.gz">pulseaudio-1.99.1.tar.gz</a></td><td align="right">2012-03-15 12:50  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.gz.md5">pulseaudio-1.99.1.tar.gz.md5</a></td><td align="right">2012-03-15 12:50  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.gz.sha1">pulseaudio-1.99.1.tar.gz.sha1</a></td><td align="right">2012-03-15 12:50  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.xz">pulseaudio-1.99.1.tar.xz</a></td><td align="right">2012-03-15 12:50  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.xz.md5">pulseaudio-1.99.1.tar.xz.md5</a></td><td align="right">2012-03-15 12:50  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-1.99.1.tar.xz.sha1">pulseaudio-1.99.1.tar.xz.sha1</a></td><td align="right">2012-03-15 12:50  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.gz">pulseaudio-2.0.tar.gz</a></td><td align="right">2012-05-11 13:48  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.gz.md5">pulseaudio-2.0.tar.gz.md5</a></td><td align="right">2012-05-11 13:48  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.gz.sha1">pulseaudio-2.0.tar.gz.sha1</a></td><td align="right">2012-05-11 13:48  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.xz">pulseaudio-2.0.tar.xz</a></td><td align="right">2012-05-11 13:48  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.xz.md5">pulseaudio-2.0.tar.xz.md5</a></td><td align="right">2012-05-11 13:48  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.0.tar.xz.sha1">pulseaudio-2.0.tar.xz.sha1</a></td><td align="right">2012-05-11 13:48  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.gz">pulseaudio-2.1.tar.gz</a></td><td align="right">2012-07-19 12:09  </td><td align="right">2.2M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.gz.md5">pulseaudio-2.1.tar.gz.md5</a></td><td align="right">2012-07-19 12:09  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.gz.sha1">pulseaudio-2.1.tar.gz.sha1</a></td><td align="right">2012-07-19 12:09  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.xz">pulseaudio-2.1.tar.xz</a></td><td align="right">2012-07-19 12:09  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.xz.md5">pulseaudio-2.1.tar.xz.md5</a></td><td align="right">2012-07-19 12:09  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.1.tar.xz.sha1">pulseaudio-2.1.tar.xz.sha1</a></td><td align="right">2012-07-19 12:09  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.gz">pulseaudio-2.99.1.tar.gz</a></td><td align="right">2012-11-03 11:44  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.gz.md5">pulseaudio-2.99.1.tar.gz.md5</a></td><td align="right">2012-11-03 11:45  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.gz.sha1">pulseaudio-2.99.1.tar.gz.sha1</a></td><td align="right">2012-11-03 11:45  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.xz">pulseaudio-2.99.1.tar.xz</a></td><td align="right">2012-11-03 11:44  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.xz.md5">pulseaudio-2.99.1.tar.xz.md5</a></td><td align="right">2012-11-03 11:46  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.1.tar.xz.sha1">pulseaudio-2.99.1.tar.xz.sha1</a></td><td align="right">2012-11-03 11:46  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.gz">pulseaudio-2.99.2.tar.gz</a></td><td align="right">2012-11-17 08:21  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.gz.md5">pulseaudio-2.99.2.tar.gz.md5</a></td><td align="right">2012-11-17 08:22  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.gz.sha1">pulseaudio-2.99.2.tar.gz.sha1</a></td><td align="right">2012-11-17 08:22  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.xz">pulseaudio-2.99.2.tar.xz</a></td><td align="right">2012-11-17 08:21  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.xz.md5">pulseaudio-2.99.2.tar.xz.md5</a></td><td align="right">2012-11-17 08:22  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.2.tar.xz.sha1">pulseaudio-2.99.2.tar.xz.sha1</a></td><td align="right">2012-11-17 08:22  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.gz">pulseaudio-2.99.3.tar.gz</a></td><td align="right">2012-12-07 04:07  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.gz.md5">pulseaudio-2.99.3.tar.gz.md5</a></td><td align="right">2012-12-07 04:07  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.gz.sha1">pulseaudio-2.99.3.tar.gz.sha1</a></td><td align="right">2012-12-07 04:07  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.xz">pulseaudio-2.99.3.tar.xz</a></td><td align="right">2012-12-07 04:07  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.xz.md5">pulseaudio-2.99.3.tar.xz.md5</a></td><td align="right">2012-12-07 04:07  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-2.99.3.tar.xz.sha1">pulseaudio-2.99.3.tar.xz.sha1</a></td><td align="right">2012-12-07 04:07  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.gz">pulseaudio-3.0.tar.gz</a></td><td align="right">2012-12-18 07:22  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.gz.md5">pulseaudio-3.0.tar.gz.md5</a></td><td align="right">2012-12-18 07:22  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.gz.sha1">pulseaudio-3.0.tar.gz.sha1</a></td><td align="right">2012-12-18 07:22  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.xz">pulseaudio-3.0.tar.xz</a></td><td align="right">2012-12-18 07:22  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.xz.md5">pulseaudio-3.0.tar.xz.md5</a></td><td align="right">2012-12-18 07:22  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.0.tar.xz.sha1">pulseaudio-3.0.tar.xz.sha1</a></td><td align="right">2012-12-18 07:22  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.gz">pulseaudio-3.99.1.tar.gz</a></td><td align="right">2013-04-16 04:10  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.gz.md5">pulseaudio-3.99.1.tar.gz.md5</a></td><td align="right">2013-04-16 04:10  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.gz.sha1">pulseaudio-3.99.1.tar.gz.sha1</a></td><td align="right">2013-04-16 04:10  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.xz">pulseaudio-3.99.1.tar.xz</a></td><td align="right">2013-04-16 04:10  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.xz.md5">pulseaudio-3.99.1.tar.xz.md5</a></td><td align="right">2013-04-16 04:10  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.1.tar.xz.sha1">pulseaudio-3.99.1.tar.xz.sha1</a></td><td align="right">2013-04-16 04:10  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.gz">pulseaudio-3.99.2.tar.gz</a></td><td align="right">2013-05-23 03:26  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.gz.md5">pulseaudio-3.99.2.tar.gz.md5</a></td><td align="right">2013-05-23 03:26  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.gz.sha1">pulseaudio-3.99.2.tar.gz.sha1</a></td><td align="right">2013-05-23 03:26  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.xz">pulseaudio-3.99.2.tar.xz</a></td><td align="right">2013-05-23 03:26  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.xz.md5">pulseaudio-3.99.2.tar.xz.md5</a></td><td align="right">2013-05-23 03:26  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-3.99.2.tar.xz.sha1">pulseaudio-3.99.2.tar.xz.sha1</a></td><td align="right">2013-05-23 03:26  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.gz">pulseaudio-4.0.tar.gz</a></td><td align="right">2013-06-03 18:52  </td><td align="right">2.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.gz.md5">pulseaudio-4.0.tar.gz.md5</a></td><td align="right">2013-06-03 18:52  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.gz.sha1">pulseaudio-4.0.tar.gz.sha1</a></td><td align="right">2013-06-03 18:52  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.xz">pulseaudio-4.0.tar.xz</a></td><td align="right">2013-06-03 18:52  </td><td align="right">1.3M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.xz.md5">pulseaudio-4.0.tar.xz.md5</a></td><td align="right">2013-06-03 18:52  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.0.tar.xz.sha1">pulseaudio-4.0.tar.xz.sha1</a></td><td align="right">2013-06-03 18:52  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.gz">pulseaudio-4.99.2.tar.gz</a></td><td align="right">2014-01-23 19:10  </td><td align="right">2.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.gz.md5">pulseaudio-4.99.2.tar.gz.md5</a></td><td align="right">2014-01-23 19:10  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.gz.sha1">pulseaudio-4.99.2.tar.gz.sha1</a></td><td align="right">2014-01-23 19:10  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.xz">pulseaudio-4.99.2.tar.xz</a></td><td align="right">2014-01-23 19:10  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.xz.md5">pulseaudio-4.99.2.tar.xz.md5</a></td><td align="right">2014-01-23 19:10  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.2.tar.xz.sha1">pulseaudio-4.99.2.tar.xz.sha1</a></td><td align="right">2014-01-23 19:10  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.gz">pulseaudio-4.99.3.tar.gz</a></td><td align="right">2014-01-29 20:16  </td><td align="right">2.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.gz.md5">pulseaudio-4.99.3.tar.gz.md5</a></td><td align="right">2014-01-29 20:16  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.gz.sha1">pulseaudio-4.99.3.tar.gz.sha1</a></td><td align="right">2014-01-29 20:16  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.xz">pulseaudio-4.99.3.tar.xz</a></td><td align="right">2014-01-29 20:16  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.xz.md5">pulseaudio-4.99.3.tar.xz.md5</a></td><td align="right">2014-01-29 20:16  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.3.tar.xz.sha1">pulseaudio-4.99.3.tar.xz.sha1</a></td><td align="right">2014-01-29 20:16  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.gz">pulseaudio-4.99.4.tar.gz</a></td><td align="right">2014-02-15 06:04  </td><td align="right">2.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.gz.md5">pulseaudio-4.99.4.tar.gz.md5</a></td><td align="right">2014-02-15 06:04  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.gz.sha1">pulseaudio-4.99.4.tar.gz.sha1</a></td><td align="right">2014-02-15 06:04  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.xz">pulseaudio-4.99.4.tar.xz</a></td><td align="right">2014-02-15 06:04  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.xz.md5">pulseaudio-4.99.4.tar.xz.md5</a></td><td align="right">2014-02-15 06:04  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-4.99.4.tar.xz.sha1">pulseaudio-4.99.4.tar.xz.sha1</a></td><td align="right">2014-02-15 06:04  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.gz">pulseaudio-5.0.tar.gz</a></td><td align="right">2014-03-03 15:00  </td><td align="right">2.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.gz.md5">pulseaudio-5.0.tar.gz.md5</a></td><td align="right">2014-03-03 15:00  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.gz.sha1">pulseaudio-5.0.tar.gz.sha1</a></td><td align="right">2014-03-03 15:00  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.xz">pulseaudio-5.0.tar.xz</a></td><td align="right">2014-03-03 15:00  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.xz.md5">pulseaudio-5.0.tar.xz.md5</a></td><td align="right">2014-03-03 15:00  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.0.tar.xz.sha1">pulseaudio-5.0.tar.xz.sha1</a></td><td align="right">2014-03-03 15:00  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.gz">pulseaudio-5.99.1.tar.gz</a></td><td align="right">2014-11-21 14:26  </td><td align="right">2.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.gz.md5">pulseaudio-5.99.1.tar.gz.md5</a></td><td align="right">2014-11-21 14:26  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.gz.sha1">pulseaudio-5.99.1.tar.gz.sha1</a></td><td align="right">2014-11-21 14:26  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.xz">pulseaudio-5.99.1.tar.xz</a></td><td align="right">2014-11-21 14:27  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.xz.md5">pulseaudio-5.99.1.tar.xz.md5</a></td><td align="right">2014-11-21 14:27  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.1.tar.xz.sha1">pulseaudio-5.99.1.tar.xz.sha1</a></td><td align="right">2014-11-21 14:27  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.gz">pulseaudio-5.99.2.tar.gz</a></td><td align="right">2014-12-19 13:08  </td><td align="right">2.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.gz.md5">pulseaudio-5.99.2.tar.gz.md5</a></td><td align="right">2014-12-19 13:08  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.gz.sha1">pulseaudio-5.99.2.tar.gz.sha1</a></td><td align="right">2014-12-19 13:08  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.xz">pulseaudio-5.99.2.tar.xz</a></td><td align="right">2014-12-19 13:08  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.xz.md5">pulseaudio-5.99.2.tar.xz.md5</a></td><td align="right">2014-12-19 13:08  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.2.tar.xz.sha1">pulseaudio-5.99.2.tar.xz.sha1</a></td><td align="right">2014-12-19 13:08  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.gz">pulseaudio-5.99.3.tar.gz</a></td><td align="right">2015-01-21 14:45  </td><td align="right">2.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.gz.md5">pulseaudio-5.99.3.tar.gz.md5</a></td><td align="right">2015-01-21 14:45  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.gz.sha1">pulseaudio-5.99.3.tar.gz.sha1</a></td><td align="right">2015-01-21 14:45  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.xz">pulseaudio-5.99.3.tar.xz</a></td><td align="right">2015-01-21 14:45  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.xz.md5">pulseaudio-5.99.3.tar.xz.md5</a></td><td align="right">2015-01-21 14:45  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-5.99.3.tar.xz.sha1">pulseaudio-5.99.3.tar.xz.sha1</a></td><td align="right">2015-01-21 14:45  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.gz">pulseaudio-6.0.tar.gz</a></td><td align="right">2015-02-12 19:02  </td><td align="right">2.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.gz.md5">pulseaudio-6.0.tar.gz.md5</a></td><td align="right">2015-02-12 19:02  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.gz.sha1">pulseaudio-6.0.tar.gz.sha1</a></td><td align="right">2015-02-12 19:02  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.xz">pulseaudio-6.0.tar.xz</a></td><td align="right">2015-02-12 19:02  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.xz.md5">pulseaudio-6.0.tar.xz.md5</a></td><td align="right">2015-02-12 19:02  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.0.tar.xz.sha1">pulseaudio-6.0.tar.xz.sha1</a></td><td align="right">2015-02-12 19:02  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.gz">pulseaudio-6.99.1.tar.gz</a></td><td align="right">2015-08-27 17:56  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.gz.md5">pulseaudio-6.99.1.tar.gz.md5</a></td><td align="right">2015-08-27 17:56  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.gz.sha1">pulseaudio-6.99.1.tar.gz.sha1</a></td><td align="right">2015-08-27 17:56  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.xz">pulseaudio-6.99.1.tar.xz</a></td><td align="right">2015-08-27 17:56  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.xz.md5">pulseaudio-6.99.1.tar.xz.md5</a></td><td align="right">2015-08-27 17:56  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.1.tar.xz.sha1">pulseaudio-6.99.1.tar.xz.sha1</a></td><td align="right">2015-08-27 17:56  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.gz">pulseaudio-6.99.2.tar.gz</a></td><td align="right">2015-09-12 13:56  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.gz.md5">pulseaudio-6.99.2.tar.gz.md5</a></td><td align="right">2015-09-12 13:56  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.gz.sha1">pulseaudio-6.99.2.tar.gz.sha1</a></td><td align="right">2015-09-12 13:56  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.xz">pulseaudio-6.99.2.tar.xz</a></td><td align="right">2015-09-12 13:56  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.xz.md5">pulseaudio-6.99.2.tar.xz.md5</a></td><td align="right">2015-09-12 13:56  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-6.99.2.tar.xz.sha1">pulseaudio-6.99.2.tar.xz.sha1</a></td><td align="right">2015-09-12 13:56  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.gz">pulseaudio-7.0.tar.gz</a></td><td align="right">2015-09-24 03:31  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.gz.md5sum">pulseaudio-7.0.tar.gz.md5sum</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.gz.sha1sum">pulseaudio-7.0.tar.gz.sha1sum</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.xz">pulseaudio-7.0.tar.xz</a></td><td align="right">2015-09-24 03:31  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.xz.md5">pulseaudio-7.0.tar.xz.md5</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.xz.md5sum">pulseaudio-7.0.tar.xz.md5sum</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.xz.sha1">pulseaudio-7.0.tar.xz.sha1</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.0.tar.xz.sha1sum">pulseaudio-7.0.tar.xz.sha1sum</a></td><td align="right">2015-09-24 03:31  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.gz">pulseaudio-7.1.tar.gz</a></td><td align="right">2015-10-30 12:51  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.gz.md5">pulseaudio-7.1.tar.gz.md5</a></td><td align="right">2015-10-30 12:51  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.gz.sha1">pulseaudio-7.1.tar.gz.sha1</a></td><td align="right">2015-10-30 12:51  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.xz">pulseaudio-7.1.tar.xz</a></td><td align="right">2015-10-30 12:51  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.xz.md5">pulseaudio-7.1.tar.xz.md5</a></td><td align="right">2015-10-30 12:51  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.1.tar.xz.sha1">pulseaudio-7.1.tar.xz.sha1</a></td><td align="right">2015-10-30 12:51  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.gz">pulseaudio-7.99.1.tar.gz</a></td><td align="right">2015-12-28 12:38  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.gz.md5">pulseaudio-7.99.1.tar.gz.md5</a></td><td align="right">2015-12-28 12:38  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.gz.sha1">pulseaudio-7.99.1.tar.gz.sha1</a></td><td align="right">2015-12-28 12:38  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.xz">pulseaudio-7.99.1.tar.xz</a></td><td align="right">2015-12-28 12:39  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.xz.md5">pulseaudio-7.99.1.tar.xz.md5</a></td><td align="right">2015-12-28 12:39  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.1.tar.xz.sha1">pulseaudio-7.99.1.tar.xz.sha1</a></td><td align="right">2015-12-28 12:39  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.gz">pulseaudio-7.99.2.tar.gz</a></td><td align="right">2016-01-12 03:28  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.gz.md5">pulseaudio-7.99.2.tar.gz.md5</a></td><td align="right">2016-01-12 03:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.gz.sha1">pulseaudio-7.99.2.tar.gz.sha1</a></td><td align="right">2016-01-12 03:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.xz">pulseaudio-7.99.2.tar.xz</a></td><td align="right">2016-01-12 03:28  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.xz.md5">pulseaudio-7.99.2.tar.xz.md5</a></td><td align="right">2016-01-12 03:28  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-7.99.2.tar.xz.sha1">pulseaudio-7.99.2.tar.xz.sha1</a></td><td align="right">2016-01-12 03:28  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.gz">pulseaudio-8.0.tar.gz</a></td><td align="right">2016-01-22 07:38  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.gz.md5">pulseaudio-8.0.tar.gz.md5</a></td><td align="right">2016-01-22 07:38  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.gz.sha1">pulseaudio-8.0.tar.gz.sha1</a></td><td align="right">2016-01-22 07:38  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.xz">pulseaudio-8.0.tar.xz</a></td><td align="right">2016-01-22 07:38  </td><td align="right">1.4M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.xz.md5">pulseaudio-8.0.tar.xz.md5</a></td><td align="right">2016-01-22 07:38  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.0.tar.xz.sha1">pulseaudio-8.0.tar.xz.sha1</a></td><td align="right">2016-01-22 07:38  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.gz">pulseaudio-8.99.1.tar.gz</a></td><td align="right">2016-05-12 10:58  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.gz.md5">pulseaudio-8.99.1.tar.gz.md5</a></td><td align="right">2016-05-12 10:58  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.gz.sha1">pulseaudio-8.99.1.tar.gz.sha1</a></td><td align="right">2016-05-12 10:58  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.xz">pulseaudio-8.99.1.tar.xz</a></td><td align="right">2016-05-12 10:58  </td><td align="right">1.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.xz.md5">pulseaudio-8.99.1.tar.xz.md5</a></td><td align="right">2016-05-12 10:58  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.1.tar.xz.sha1">pulseaudio-8.99.1.tar.xz.sha1</a></td><td align="right">2016-05-12 10:58  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.gz">pulseaudio-8.99.2.tar.gz</a></td><td align="right">2016-05-29 06:08  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.gz.md5">pulseaudio-8.99.2.tar.gz.md5</a></td><td align="right">2016-05-29 06:08  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.gz.sha1">pulseaudio-8.99.2.tar.gz.sha1</a></td><td align="right">2016-05-29 06:08  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.xz">pulseaudio-8.99.2.tar.xz</a></td><td align="right">2016-05-29 06:08  </td><td align="right">1.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.xz.md5">pulseaudio-8.99.2.tar.xz.md5</a></td><td align="right">2016-05-29 06:08  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-8.99.2.tar.xz.sha1">pulseaudio-8.99.2.tar.xz.sha1</a></td><td align="right">2016-05-29 06:08  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.gz">pulseaudio-9.0.tar.gz</a></td><td align="right">2016-06-22 07:09  </td><td align="right">2.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.gz.md5">pulseaudio-9.0.tar.gz.md5</a></td><td align="right">2016-06-22 07:09  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.gz.sha1">pulseaudio-9.0.tar.gz.sha1</a></td><td align="right">2016-06-22 07:09  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.xz">pulseaudio-9.0.tar.xz</a></td><td align="right">2016-06-22 07:09  </td><td align="right">1.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.xz.md5">pulseaudio-9.0.tar.xz.md5</a></td><td align="right">2016-06-22 07:09  </td><td align="right"> 56 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.0.tar.xz.sha1">pulseaudio-9.0.tar.xz.sha1</a></td><td align="right">2016-06-22 07:09  </td><td align="right"> 64 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.gz">pulseaudio-9.99.1.tar.gz</a></td><td align="right">2017-01-03 16:14  </td><td align="right">2.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.gz.md5">pulseaudio-9.99.1.tar.gz.md5</a></td><td align="right">2017-01-03 16:14  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.gz.sha1">pulseaudio-9.99.1.tar.gz.sha1</a></td><td align="right">2017-01-03 16:14  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.xz">pulseaudio-9.99.1.tar.xz</a></td><td align="right">2017-01-03 16:14  </td><td align="right">1.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.xz.md5">pulseaudio-9.99.1.tar.xz.md5</a></td><td align="right">2017-01-03 16:14  </td><td align="right"> 59 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-9.99.1.tar.xz.sha1">pulseaudio-9.99.1.tar.xz.sha1</a></td><td align="right">2017-01-03 16:14  </td><td align="right"> 67 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.gz">pulseaudio-10.0.tar.gz</a></td><td align="right">2017-01-19 00:12  </td><td align="right">2.7M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.gz.md5">pulseaudio-10.0.tar.gz.md5</a></td><td align="right">2017-01-19 00:12  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.gz.sha1">pulseaudio-10.0.tar.gz.sha1</a></td><td align="right">2017-01-19 00:12  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.xz">pulseaudio-10.0.tar.xz</a></td><td align="right">2017-01-19 00:12  </td><td align="right">1.5M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.xz.md5">pulseaudio-10.0.tar.xz.md5</a></td><td align="right">2017-01-19 00:12  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.0.tar.xz.sha1">pulseaudio-10.0.tar.xz.sha1</a></td><td align="right">2017-01-19 00:12  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.gz">pulseaudio-10.99.1.tar.gz</a></td><td align="right">2017-07-24 23:52  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.gz.md5">pulseaudio-10.99.1.tar.gz.md5</a></td><td align="right">2017-07-24 23:52  </td><td align="right"> 60 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.gz.sha1">pulseaudio-10.99.1.tar.gz.sha1</a></td><td align="right">2017-07-24 23:52  </td><td align="right"> 68 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.xz">pulseaudio-10.99.1.tar.xz</a></td><td align="right">2017-07-24 23:52  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.xz.md5">pulseaudio-10.99.1.tar.xz.md5</a></td><td align="right">2017-07-24 23:52  </td><td align="right"> 60 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-10.99.1.tar.xz.sha1">pulseaudio-10.99.1.tar.xz.sha1</a></td><td align="right">2017-07-24 23:52  </td><td align="right"> 68 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.gz">pulseaudio-11.0.tar.gz</a></td><td align="right">2017-09-05 09:49  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.gz.md5">pulseaudio-11.0.tar.gz.md5</a></td><td align="right">2017-09-05 09:49  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.gz.sha1">pulseaudio-11.0.tar.gz.sha1</a></td><td align="right">2017-09-05 09:49  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.xz">pulseaudio-11.0.tar.xz</a></td><td align="right">2017-09-05 09:49  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.xz.md5">pulseaudio-11.0.tar.xz.md5</a></td><td align="right">2017-09-05 09:49  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.0.tar.xz.sha1">pulseaudio-11.0.tar.xz.sha1</a></td><td align="right">2017-09-05 09:49  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.gz">pulseaudio-11.1.tar.gz</a></td><td align="right">2017-09-18 15:23  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.gz.md5">pulseaudio-11.1.tar.gz.md5</a></td><td align="right">2017-09-18 15:23  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.gz.sha1">pulseaudio-11.1.tar.gz.sha1</a></td><td align="right">2017-09-18 15:23  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.xz">pulseaudio-11.1.tar.xz</a></td><td align="right">2017-09-18 15:23  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.xz.md5">pulseaudio-11.1.tar.xz.md5</a></td><td align="right">2017-09-18 15:23  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.1.tar.xz.sha1">pulseaudio-11.1.tar.xz.sha1</a></td><td align="right">2017-09-18 15:23  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.gz">pulseaudio-11.99.1.tar.gz</a></td><td align="right">2018-05-13 06:57  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.gz.md5">pulseaudio-11.99.1.tar.gz.md5</a></td><td align="right">2018-05-13 06:57  </td><td align="right"> 60 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.gz.sha1">pulseaudio-11.99.1.tar.gz.sha1</a></td><td align="right">2018-05-13 06:57  </td><td align="right"> 68 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.xz">pulseaudio-11.99.1.tar.xz</a></td><td align="right">2018-05-13 06:57  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.xz.md5">pulseaudio-11.99.1.tar.xz.md5</a></td><td align="right">2018-05-13 06:57  </td><td align="right"> 60 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-11.99.1.tar.xz.sha1">pulseaudio-11.99.1.tar.xz.sha1</a></td><td align="right">2018-05-13 06:57  </td><td align="right"> 68 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.gz">pulseaudio-12.0.tar.gz</a></td><td align="right">2018-06-20 20:33  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.gz.md5">pulseaudio-12.0.tar.gz.md5</a></td><td align="right">2018-06-20 20:33  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.gz.sha1">pulseaudio-12.0.tar.gz.sha1</a></td><td align="right">2018-06-20 20:33  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.xz">pulseaudio-12.0.tar.xz</a></td><td align="right">2018-06-20 20:33  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.xz.md5">pulseaudio-12.0.tar.xz.md5</a></td><td align="right">2018-06-20 20:33  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.0.tar.xz.sha1">pulseaudio-12.0.tar.xz.sha1</a></td><td align="right">2018-06-20 20:33  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.gz">pulseaudio-12.1.tar.gz</a></td><td align="right">2018-07-14 16:43  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.gz.md5">pulseaudio-12.1.tar.gz.md5</a></td><td align="right">2018-07-14 16:43  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.gz.sha1">pulseaudio-12.1.tar.gz.sha1</a></td><td align="right">2018-07-14 16:43  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.xz">pulseaudio-12.1.tar.xz</a></td><td align="right">2018-07-14 16:43  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.xz.md5">pulseaudio-12.1.tar.xz.md5</a></td><td align="right">2018-07-14 16:43  </td><td align="right"> 57 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.1.tar.xz.sha1">pulseaudio-12.1.tar.xz.sha1</a></td><td align="right">2018-07-14 16:43  </td><td align="right"> 65 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.2.tar.gz">pulseaudio-12.2.tar.gz</a></td><td align="right">2018-07-16 16:12  </td><td align="right">2.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.2.tar.gz.sha256">pulseaudio-12.2.tar.gz.sha256</a></td><td align="right">2018-07-16 16:13  </td><td align="right"> 89 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.2.tar.xz">pulseaudio-12.2.tar.xz</a></td><td align="right">2018-07-16 16:12  </td><td align="right">1.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.2.tar.xz.sha256">pulseaudio-12.2.tar.xz.sha256</a></td><td align="right">2018-07-16 16:13  </td><td align="right"> 89 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.1.tar.gz">pulseaudio-12.99.1.tar.gz</a></td><td align="right">2019-07-09 03:16  </td><td align="right">3.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.1.tar.gz.sha256">pulseaudio-12.99.1.tar.gz.sha256</a></td><td align="right">2019-07-09 03:16  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.1.tar.xz">pulseaudio-12.99.1.tar.xz</a></td><td align="right">2019-07-09 03:16  </td><td align="right">1.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.1.tar.xz.sha256">pulseaudio-12.99.1.tar.xz.sha256</a></td><td align="right">2019-07-09 03:16  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.2.tar.gz">pulseaudio-12.99.2.tar.gz</a></td><td align="right">2019-08-06 17:47  </td><td align="right">3.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.2.tar.gz.sha256">pulseaudio-12.99.2.tar.gz.sha256</a></td><td align="right">2019-08-06 17:47  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.2.tar.xz">pulseaudio-12.99.2.tar.xz</a></td><td align="right">2019-08-06 17:47  </td><td align="right">1.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.2.tar.xz.sha256">pulseaudio-12.99.2.tar.xz.sha256</a></td><td align="right">2019-08-06 17:47  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.3.tar.gz">pulseaudio-12.99.3.tar.gz</a></td><td align="right">2019-09-01 07:44  </td><td align="right">3.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.3.tar.gz.sha256">pulseaudio-12.99.3.tar.gz.sha256</a></td><td align="right">2019-09-01 07:44  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.3.tar.xz">pulseaudio-12.99.3.tar.xz</a></td><td align="right">2019-09-01 07:44  </td><td align="right">1.9M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-12.99.3.tar.xz.sha256">pulseaudio-12.99.3.tar.xz.sha256</a></td><td align="right">2019-09-01 07:44  </td><td align="right"> 92 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/compressed.gif" alt="[   ]"></td><td><a href="pulseaudio-13.0.tar.gz">pulseaudio-13.0.tar.gz</a></td><td align="right">2019-09-13 13:34  </td><td align="right">3.6M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-13.0.tar.gz.sha256">pulseaudio-13.0.tar.gz.sha256</a></td><td align="right">2019-09-13 13:34  </td><td align="right"> 89 </td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-13.0.tar.xz">pulseaudio-13.0.tar.xz</a></td><td align="right">2019-09-13 13:34  </td><td align="right">1.8M</td><td>&nbsp;</td></tr>
+<tr><td valign="top"><img src="/icons/unknown.gif" alt="[   ]"></td><td><a href="pulseaudio-13.0.tar.xz.sha256">pulseaudio-13.0.tar.xz.sha256</a></td><td align="right">2019-09-13 13:34  </td><td align="right"> 89 </td><td>&nbsp;</td></tr>
+   <tr><th colspan="5"><hr></th></tr>
+</table>
+<address>Apache/2.4.38 (Debian) Server at freedesktop.org Port 443</address>
+</body></html>
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index a0b656b..29c96b2 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -9,12 +9,12 @@ 
 import unittest
 import hashlib
 import tempfile
-import subprocess
 import collections
 import os
 from bb.fetch2 import URI
 from bb.fetch2 import FetchMethod
 import bb
+from bb.tests.support.httpserver import HTTPService
 
 def skipIfNoNetwork():
     if os.environ.get("BB_SKIP_NETTESTS") == "yes":
@@ -1031,7 +1031,7 @@  class SVNTest(FetcherTest):
 
         bb.process.run("svn co %s svnfetch_co" % self.repo_url, cwd=self.tempdir)
         # Github will emulate SVN.  Use this to check if we're downloding...
-        bb.process.run("svn propset svn:externals 'bitbake http://github.com/openembedded/bitbake' .",
+        bb.process.run("svn propset svn:externals 'bitbake svn://vcs.pcre.org/pcre2/code' .",
                        cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
         bb.process.run("svn commit --non-interactive -m 'Add external'",
                        cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
@@ -1152,7 +1152,8 @@  class FetchLatestVersionTest(FetcherTest):
         ("mx-1.0", "git://github.com/clutter-project/mx.git;branch=mx-1.4", "9b1db6b8060bd00b121a692f942404a24ae2960f", "")
             : "1.99.4",
         # version pattern "vX.Y"
-        ("mtd-utils", "git://git.infradead.org/mtd-utils.git", "ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f", "")
+        # mirror of git.infradead.org since network issues interfered with testing
+        ("mtd-utils", "git://git.yoctoproject.org/mtd-utils.git", "ca39eb1d98e736109c64ff9c1aa2a6ecca222d8f", "")
             : "1.5.0",
         # version pattern "pkg_name-X.Y"
         ("presentproto", "git://anongit.freedesktop.org/git/xorg/proto/presentproto", "24f3a56e541b0a9e6c6ee76081f441221a120ef9", "")
@@ -1180,27 +1181,46 @@  class FetchLatestVersionTest(FetcherTest):
     }
 
     test_wget_uris = {
+        #
         # packages with versions inside directory name
-        ("util-linux", "http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "")
+        #
+        # http://kernel.org/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2
+        ("util-linux", "/pub/linux/utils/util-linux/v2.23/util-linux-2.24.2.tar.bz2", "", "")
             : "2.24.2",
-        ("enchant", "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "")
+        # http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz
+        ("enchant", "/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", "", "")
             : "1.6.0",
-        ("cmake", "http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz", "", "")
+        # http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz
+        ("cmake", "/files/v2.8/cmake-2.8.12.1.tar.gz", "", "")
             : "2.8.12.1",
+        #
         # packages with versions only in current directory
-        ("eglic", "http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "")
+        #
+        # http://downloads.yoctoproject.org/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2
+        ("eglic", "/releases/eglibc/eglibc-2.18-svnr23787.tar.bz2", "", "")
             : "2.19",
-        ("gnu-config", "http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "")
+        # http://downloads.yoctoproject.org/releases/gnu-config/gnu-config-20120814.tar.bz2
+        ("gnu-config", "/releases/gnu-config/gnu-config-20120814.tar.bz2", "", "")
             : "20120814",
+        #
         # packages with "99" in the name of possible version
-        ("pulseaudio", "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "")
+        #
+        # http://freedesktop.org/software/pulseaudio/releases/pulseaudio-4.0.tar.xz
+        ("pulseaudio", "/software/pulseaudio/releases/pulseaudio-4.0.tar.xz", "", "")
             : "5.0",
-        ("xserver-xorg", "http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "")
+        # http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.15.1.tar.bz2
+        ("xserver-xorg", "/releases/individual/xserver/xorg-server-1.15.1.tar.bz2", "", "")
             : "1.15.1",
+        #
         # packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
-        ("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
+        #
+        # http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2
+        # https://github.com/apple/cups/releases
+        ("cups", "/software/1.7.2/cups-1.7.2-source.tar.bz2", "/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
             : "2.0.0",
-        ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
+        # http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz
+        # http://ftp.debian.org/debian/pool/main/d/db5.3/
+        ("db", "/berkeley-db/db-5.3.21.tar.gz", "/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
             : "5.3.10",
     }
 
@@ -1217,18 +1237,28 @@  class FetchLatestVersionTest(FetcherTest):
             r = bb.utils.vercmp_string(v, verstring)
             self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
 
-    @skipIfNoNetwork()
     def test_wget_latest_versionstring(self):
-        for k, v in self.test_wget_uris.items():
-            self.d.setVar("PN", k[0])
-            self.d.setVar("UPSTREAM_CHECK_URI", k[2])
-            self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
-            ud = bb.fetch2.FetchData(k[1], self.d)
-            pupver = ud.method.latest_versionstring(ud, self.d)
-            verstring = pupver[0]
-            self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
-            r = bb.utils.vercmp_string(v, verstring)
-            self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
+        testdata = os.path.dirname(os.path.abspath(__file__)) + "/fetch-testdata"
+        server = HTTPService(testdata)
+        server.start()
+        port = server.port
+        try:
+            for k, v in self.test_wget_uris.items():
+                self.d.setVar("PN", k[0])
+                checkuri = ""
+                if k[2]:
+                    checkuri = "http://localhost:%s/" % port + k[2]
+                self.d.setVar("UPSTREAM_CHECK_URI", checkuri)
+                self.d.setVar("UPSTREAM_CHECK_REGEX", k[3])
+                url = "http://localhost:%s/" % port + k[1]
+                ud = bb.fetch2.FetchData(url, self.d)
+                pupver = ud.method.latest_versionstring(ud, self.d)
+                verstring = pupver[0]
+                self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0])
+                r = bb.utils.vercmp_string(v, verstring)
+                self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring))
+        finally:
+            server.stop()
 
 
 class FetchCheckStatusTest(FetcherTest):
@@ -1662,6 +1692,47 @@  class GitShallowTest(FetcherTest):
         # Verify the submodule is also shallow
         self.assertRevCount(1, cwd=os.path.join(self.gitdir, 'gitsubmodule'))
 
+    def test_shallow_submodule_mirrors(self):
+        self.add_empty_file('a')
+        self.add_empty_file('b')
+
+        smdir = os.path.join(self.tempdir, 'gitsubmodule')
+        bb.utils.mkdirhier(smdir)
+        self.git('init', cwd=smdir)
+        # Make this look like it was cloned from a remote...
+        self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir)
+        self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir)
+        self.add_empty_file('asub', cwd=smdir)
+        self.add_empty_file('bsub', cwd=smdir)
+
+        self.git('submodule init', cwd=self.srcdir)
+        self.git('submodule add file://%s' % smdir, cwd=self.srcdir)
+        self.git('submodule update', cwd=self.srcdir)
+        self.git('commit -m submodule -a', cwd=self.srcdir)
+
+        uri = 'gitsm://%s;protocol=file;subdir=${S}' % self.srcdir
+
+        # Fetch once to generate the shallow tarball
+        fetcher, ud = self.fetch(uri)
+
+        # Set up the mirror
+        mirrordir = os.path.join(self.tempdir, 'mirror')
+        os.rename(self.dldir, mirrordir)
+        self.d.setVar('PREMIRRORS', 'gitsm://.*/.* file://%s/\n' % mirrordir)
+
+        # Fetch from the mirror
+        bb.utils.remove(self.dldir, recurse=True)
+        bb.utils.remove(self.gitdir, recurse=True)
+        self.fetch_and_unpack(uri)
+
+        # Verify the main repository is shallow
+        self.assertRevCount(1)
+
+        # Verify the gitsubmodule directory is present
+        assert os.listdir(os.path.join(self.gitdir, 'gitsubmodule'))
+
+        # Verify the submodule is also shallow
+        self.assertRevCount(1, cwd=os.path.join(self.gitdir, 'gitsubmodule'))
 
     if any(os.path.exists(os.path.join(p, 'git-annex')) for p in os.environ.get('PATH').split(':')):
         def test_shallow_annex(self):
@@ -1863,6 +1934,26 @@  class GitShallowTest(FetcherTest):
         with self.assertRaises(bb.fetch2.FetchError):
             self.fetch()
 
+    def test_shallow_fetch_missing_revs(self):
+        self.add_empty_file('a')
+        self.add_empty_file('b')
+        fetcher, ud = self.fetch(self.d.getVar('SRC_URI'))
+        self.git('tag v0.0 master', cwd=self.srcdir)
+        self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
+        self.d.setVar('BB_GIT_SHALLOW_REVS', 'v0.0')
+        self.fetch_shallow()
+
+    def test_shallow_fetch_missing_revs_fails(self):
+        self.add_empty_file('a')
+        self.add_empty_file('b')
+        fetcher, ud = self.fetch(self.d.getVar('SRC_URI'))
+        self.d.setVar('BB_GIT_SHALLOW_DEPTH', '0')
+        self.d.setVar('BB_GIT_SHALLOW_REVS', 'v0.0')
+
+        with self.assertRaises(bb.fetch2.FetchError), self.assertLogs("BitBake.Fetcher", level="ERROR") as cm:
+            self.fetch_shallow()
+        self.assertIn("Unable to find revision v0.0 even from upstream", cm.output[0])
+
     @skipIfNoNetwork()
     def test_bitbake(self):
         self.git('remote add --mirror=fetch origin git://github.com/openembedded/bitbake', cwd=self.srcdir)
@@ -1988,3 +2079,437 @@  class GitLfsTest(FetcherTest):
         ud.method._find_git_lfs = lambda d: False
         shutil.rmtree(self.gitdir, ignore_errors=True)
         fetcher.unpack(self.d.getVar('WORKDIR'))
+
+class NPMTest(FetcherTest):
+    def skipIfNoNpm():
+        import shutil
+        if not shutil.which('npm'):
+            return unittest.skip('npm not installed, tests being skipped')
+        return lambda f: f
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        self.assertTrue(os.path.exists(ud.localpath + '.done'))
+        self.assertTrue(os.path.exists(ud.resolvefile))
+        fetcher.unpack(self.unpackdir)
+        unpackdir = os.path.join(self.unpackdir, 'npm')
+        self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_bad_checksum(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch([url], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        # Modify the tarball
+        bad = b'bad checksum'
+        with open(ud.localpath, 'wb') as f:
+            f.write(bad)
+        # Verify that the tarball is fetched again
+        fetcher.download()
+        badsum = hashlib.sha512(bad).hexdigest()
+        self.assertTrue(os.path.exists(ud.localpath + '_bad-checksum_' + badsum))
+        self.assertTrue(os.path.exists(ud.localpath))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_premirrors(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch([url], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        # Setup the mirror
+        mirrordir = os.path.join(self.tempdir, 'mirror')
+        bb.utils.mkdirhier(mirrordir)
+        os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
+        self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
+        self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
+        # Fetch again
+        self.assertFalse(os.path.exists(ud.localpath))
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_mirrors(self):
+        # Fetch once to get a tarball
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        # Setup the mirror
+        mirrordir = os.path.join(self.tempdir, 'mirror')
+        bb.utils.mkdirhier(mirrordir)
+        os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
+        self.d.setVar('MIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
+        # Update the resolved url to an invalid url
+        with open(ud.resolvefile, 'r') as f:
+            url = f.read()
+        uri = URI(url)
+        uri.path = '/invalid'
+        with open(ud.resolvefile, 'w') as f:
+            f.write(str(uri))
+        # Fetch again
+        self.assertFalse(os.path.exists(ud.localpath))
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_destsuffix_downloadfilename(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0;destsuffix=foo/bar;downloadfilename=foo-bar.tgz'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'foo-bar.tgz')))
+        fetcher.unpack(self.unpackdir)
+        unpackdir = os.path.join(self.unpackdir, 'foo', 'bar')
+        self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
+
+    def test_npm_no_network_no_tarball(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        self.d.setVar('BB_NO_NETWORK', '1')
+        fetcher = bb.fetch.Fetch([url], self.d)
+        with self.assertRaises(bb.fetch2.NetworkAccess):
+            fetcher.download()
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_no_network_with_tarball(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher.download()
+        # Disable network access
+        self.d.setVar('BB_NO_NETWORK', '1')
+        # Fetch again
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        unpackdir = os.path.join(self.unpackdir, 'npm')
+        self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_registry_alternate(self):
+        url = 'npm://registry.freajs.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        unpackdir = os.path.join(self.unpackdir, 'npm')
+        self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_version_latest(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=latest'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        unpackdir = os.path.join(self.unpackdir, 'npm')
+        self.assertTrue(os.path.exists(os.path.join(unpackdir, 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_registry_invalid(self):
+        url = 'npm://registry.invalid.org;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        with self.assertRaises(bb.fetch2.FetchError):
+            fetcher.download()
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_package_invalid(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/invalid;version=1.0.0'
+        fetcher = bb.fetch.Fetch([url], self.d)
+        with self.assertRaises(bb.fetch2.FetchError):
+            fetcher.download()
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_version_invalid(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example;version=invalid'
+        with self.assertRaises(bb.fetch2.ParameterError):
+            fetcher = bb.fetch.Fetch([url], self.d)
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_registry_none(self):
+        url = 'npm://;package=@savoirfairelinux/node-server-example;version=1.0.0'
+        with self.assertRaises(bb.fetch2.MalformedUrl):
+            fetcher = bb.fetch.Fetch([url], self.d)
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_package_none(self):
+        url = 'npm://registry.npmjs.org;version=1.0.0'
+        with self.assertRaises(bb.fetch2.MissingParameterError):
+            fetcher = bb.fetch.Fetch([url], self.d)
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npm_version_none(self):
+        url = 'npm://registry.npmjs.org;package=@savoirfairelinux/node-server-example'
+        with self.assertRaises(bb.fetch2.MissingParameterError):
+            fetcher = bb.fetch.Fetch([url], self.d)
+
+    def create_shrinkwrap_file(self, data):
+        import json
+        datadir = os.path.join(self.tempdir, 'data')
+        swfile = os.path.join(datadir, 'npm-shrinkwrap.json')
+        bb.utils.mkdirhier(datadir)
+        with open(swfile, 'w') as f:
+            json.dump(data, f)
+        # Also configure the S directory
+        self.sdir = os.path.join(self.unpackdir, 'S')
+        self.d.setVar('S', self.sdir)
+        return swfile
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw(self):
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=',
+                    'dependencies': {
+                        'content-type': {
+                            'version': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
+                            'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
+                            'dependencies': {
+                                'cookie': {
+                                    'version': 'git+https://github.com/jshttp/cookie.git#aec1177c7da67e3b3273df96cf476824dbc9ae09',
+                                    'from': 'git+https://github.com/jshttp/cookie.git'
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'git2', 'github.com.jshttp.cookie.git')))
+        fetcher.unpack(self.unpackdir)
+        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'npm-shrinkwrap.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'package.json')))
+        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'node_modules', 'content-type', 'node_modules', 'cookie', 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_dev(self):
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                },
+                'content-type': {
+                    'version': '1.0.4',
+                    'resolved': 'https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz',
+                    'integrity': 'sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==',
+                    'dev': True
+                }
+            }
+        })
+        # Fetch with dev disabled
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
+        self.assertFalse(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
+        # Fetch with dev enabled
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile + ';dev=1'], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')))
+        self.assertTrue(os.path.exists(os.path.join(self.dldir, 'npm2', 'content-type-1.0.4.tgz')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_destsuffix(self):
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile + ';destsuffix=foo/bar'], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'foo', 'bar', 'node_modules', 'array-flatten', 'package.json')))
+
+    def test_npmsw_no_network_no_tarball(self):
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        self.d.setVar('BB_NO_NETWORK', '1')
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        with self.assertRaises(bb.fetch2.NetworkAccess):
+            fetcher.download()
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_no_network_with_tarball(self):
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
+        fetcher.download()
+        # Disable network access
+        self.d.setVar('BB_NO_NETWORK', '1')
+        # Fetch again
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        self.assertTrue(os.path.exists(os.path.join(self.sdir, 'node_modules', 'array-flatten', 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_npm_reusability(self):
+        # Fetch once with npmsw
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        # Disable network access
+        self.d.setVar('BB_NO_NETWORK', '1')
+        # Fetch again with npm
+        fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
+        fetcher.download()
+        fetcher.unpack(self.unpackdir)
+        self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'npm', 'package.json')))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_bad_checksum(self):
+        # Try to fetch with bad checksum
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-gfNEp2hqgLTFKT6P3AsBYMgsBqg='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        with self.assertRaises(bb.fetch2.FetchError):
+            fetcher.download()
+        # Fetch correctly to get a tarball
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        localpath = os.path.join(self.dldir, 'npm2', 'array-flatten-1.1.1.tgz')
+        self.assertTrue(os.path.exists(localpath))
+        # Modify the tarball
+        bad = b'bad checksum'
+        with open(localpath, 'wb') as f:
+            f.write(bad)
+        # Verify that the tarball is fetched again
+        fetcher.download()
+        badsum = hashlib.sha1(bad).hexdigest()
+        self.assertTrue(os.path.exists(localpath + '_bad-checksum_' + badsum))
+        self.assertTrue(os.path.exists(localpath))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_premirrors(self):
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        # Setup the mirror
+        mirrordir = os.path.join(self.tempdir, 'mirror')
+        bb.utils.mkdirhier(mirrordir)
+        os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
+        self.d.setVar('PREMIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
+        self.d.setVar('BB_FETCH_PREMIRRORONLY', '1')
+        # Fetch again
+        self.assertFalse(os.path.exists(ud.localpath))
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+
+    @skipIfNoNpm()
+    @skipIfNoNetwork()
+    def test_npmsw_mirrors(self):
+        # Fetch once to get a tarball
+        fetcher = bb.fetch.Fetch(['npm://registry.npmjs.org;package=array-flatten;version=1.1.1'], self.d)
+        ud = fetcher.ud[fetcher.urls[0]]
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
+        # Setup the mirror
+        mirrordir = os.path.join(self.tempdir, 'mirror')
+        bb.utils.mkdirhier(mirrordir)
+        os.replace(ud.localpath, os.path.join(mirrordir, os.path.basename(ud.localpath)))
+        self.d.setVar('MIRRORS', 'https?$://.*/.* file://%s/\n' % mirrordir)
+        # Fetch again with invalid url
+        self.assertFalse(os.path.exists(ud.localpath))
+        swfile = self.create_shrinkwrap_file({
+            'dependencies': {
+                'array-flatten': {
+                    'version': '1.1.1',
+                    'resolved': 'https://invalid',
+                    'integrity': 'sha1-ml9pkFGx5wczKPKgCJaLZOopVdI='
+                }
+            }
+        })
+        fetcher = bb.fetch.Fetch(['npmsw://' + swfile], self.d)
+        fetcher.download()
+        self.assertTrue(os.path.exists(ud.localpath))
diff --git a/bitbake/lib/bb/tests/runqueue.py b/bitbake/lib/bb/tests/runqueue.py
index 5e64391..4ba12a0 100644
--- a/bitbake/lib/bb/tests/runqueue.py
+++ b/bitbake/lib/bb/tests/runqueue.py
@@ -7,7 +7,6 @@ 
 #
 
 import unittest
-import bb
 import os
 import tempfile
 import subprocess
@@ -255,7 +254,7 @@  class RunQueueTests(unittest.TestCase):
             cmd = ["bitbake", "a1", "b1"]
             tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
             expected = ['a1:populate_sysroot', 'a1:package', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
-                        'a1:package_write_ipk_setscene', 'a1:package_qa_setscene']
+                        'a1:package_write_ipk_setscene', 'a1:package_qa_setscene', 'a1:build']
             self.assertEqual(set(tasks), set(expected))
 
             self.shutdown(tempdir)
diff --git a/bitbake/lib/bb/tests/support/httpserver.py b/bitbake/lib/bb/tests/support/httpserver.py
new file mode 100644
index 0000000..78f7660
--- /dev/null
+++ b/bitbake/lib/bb/tests/support/httpserver.py
@@ -0,0 +1,65 @@ 
+#
+# SPDX-License-Identifier: MIT
+#
+
+import http.server
+import multiprocessing
+import os
+import traceback
+import signal
+import logging
+from socketserver import ThreadingMixIn
+
+class HTTPServer(ThreadingMixIn, http.server.HTTPServer):
+
+    def server_start(self, root_dir, logger):
+        os.chdir(root_dir)
+        self.serve_forever()
+
+class HTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
+
+    def log_message(self, format_str, *args):
+        pass
+
+class HTTPService(object):
+
+    def __init__(self, root_dir, host='', port=0, logger=None):
+        self.root_dir = root_dir
+        self.host = host
+        self.port = port
+        if not logger:
+            logger = logging.getLogger()
+        self.logger = logger
+
+    def start(self):
+        print(self.root_dir)
+        if not os.path.exists(self.root_dir):
+            self.logger.info("Not starting HTTPService for directory %s which doesn't exist" % (self.root_dir))
+            return
+
+        self.server = HTTPServer((self.host, self.port), HTTPRequestHandler)
+        if self.port == 0:
+            self.port = self.server.server_port
+        self.process = multiprocessing.Process(target=self.server.server_start, args=[self.root_dir, self.logger])
+
+        # The signal handler from testimage.bbclass can cause deadlocks here
+        # if the HTTPServer is terminated before it can restore the standard 
+        #signal behaviour
+        orig = signal.getsignal(signal.SIGTERM)
+        signal.signal(signal.SIGTERM, signal.SIG_DFL)
+        self.process.start()
+        signal.signal(signal.SIGTERM, orig)
+
+        if self.logger:
+            self.logger.info("Started HTTPService on %s:%s" % (self.host, self.port))
+
+
+    def stop(self):
+        if hasattr(self, "server"):
+            self.server.server_close()
+        if hasattr(self, "process"):
+            self.process.terminate()
+            self.process.join()
+        if self.logger:
+            self.logger.info("Stopped HTTPService on %s:%s" % (self.host, self.port))
+
diff --git a/bitbake/lib/bb/tests/utils.py b/bitbake/lib/bb/tests/utils.py
index f4adf1d..a7ff33d 100644
--- a/bitbake/lib/bb/tests/utils.py
+++ b/bitbake/lib/bb/tests/utils.py
@@ -103,6 +103,32 @@  class Path(unittest.TestCase):
             result = bb.utils._check_unsafe_delete_path(arg1)
             self.assertEqual(result, correctresult, '_check_unsafe_delete_path("%s") != %s' % (arg1, correctresult))
 
+class Checksum(unittest.TestCase):
+    filler = b"Shiver me timbers square-rigged spike Gold Road galleon bilge water boatswain wherry jack pirate. Mizzenmast rum lad Privateer jack salmagundi hang the jib piracy Pieces of Eight Corsair. Parrel marooned black spot yawl provost quarterdeck cable no prey, no pay spirits lateen sail."
+
+    def test_md5(self):
+        import hashlib
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(self.filler)
+            f.flush()
+            checksum = bb.utils.md5_file(f.name)
+            self.assertEqual(checksum, "bd572cd5de30a785f4efcb6eaf5089e3")
+
+    def test_sha1(self):
+        import hashlib
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(self.filler)
+            f.flush()
+            checksum = bb.utils.sha1_file(f.name)
+            self.assertEqual(checksum, "249eb8fd654732ea836d5e702d7aa567898eca71")
+
+    def test_sha256(self):
+        import hashlib
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(self.filler)
+            f.flush()
+            checksum = bb.utils.sha256_file(f.name)
+            self.assertEqual(checksum, "fcfbae8bf6b721dbb9d2dc6a9334a58f2031a9a9b302999243f99da4d7f12d0f")
 
 class EditMetadataFile(unittest.TestCase):
     _origfile = """
@@ -596,3 +622,47 @@  BBLAYERS += "/home/user/otherpath/layer6"
                                  ['/home/user/otherpath/layer6', '/home/user/path/layer3'], ['/home/user/path/layer1', '/home/user/path/layer4', '/home/user/path/layer7'],
                                  ['/home/user/path/layer3'],
                                  ['/home/user/path/layer7'])
+
+
+class GetReferencedVars(unittest.TestCase):
+    def setUp(self):
+        self.d = bb.data.init()
+
+    def check_referenced(self, expression, expected_layers):
+        vars = bb.utils.get_referenced_vars(expression, self.d)
+
+        # Do the easy check first - is every variable accounted for?
+        expected_vars = set.union(set(), *expected_layers)
+        got_vars = set(vars)
+        self.assertSetEqual(got_vars, expected_vars)
+
+        # Now test the order of the layers
+        start = 0
+        for i, expected_layer in enumerate(expected_layers):
+            got_layer = set(vars[start:len(expected_layer)+start])
+            start += len(expected_layer)
+            self.assertSetEqual(got_layer, expected_layer)
+
+    def test_no_vars(self):
+        self.check_referenced("", [])
+        self.check_referenced(" ", [])
+        self.check_referenced(" no vars here! ", [])
+
+    def test_single_layer(self):
+        self.check_referenced("${VAR}", [{"VAR"}])
+        self.check_referenced("${VAR} ${VAR}", [{"VAR"}])
+
+    def test_two_layer(self):
+        self.d.setVar("VAR", "${B}")
+        self.check_referenced("${VAR}", [{"VAR"}, {"B"}])
+        self.check_referenced("${@d.getVar('VAR')}", [{"VAR"}, {"B"}])
+
+    def test_more_complicated(self):
+        self.d["SRC_URI"] = "${QT_GIT}/${QT_MODULE}.git;name=${QT_MODULE};${QT_MODULE_BRANCH_PARAM};protocol=${QT_GIT_PROTOCOL}"
+        self.d["QT_GIT"] = "git://code.qt.io/${QT_GIT_PROJECT}"
+        self.d["QT_MODULE_BRANCH_PARAM"] = "branch=${QT_MODULE_BRANCH}"
+        self.d["QT_MODULE"] = "${BPN}"
+        self.d["BPN"] = "something to do with ${PN} and ${SPECIAL_PKGSUFFIX}"
+
+        layers = [{"SRC_URI"}, {"QT_GIT", "QT_MODULE", "QT_MODULE_BRANCH_PARAM", "QT_GIT_PROTOCOL"}, {"QT_GIT_PROJECT", "QT_MODULE_BRANCH", "BPN"}, {"PN", "SPECIAL_PKGSUFFIX"}]
+        self.check_referenced("${SRC_URI}", layers)
diff --git a/bitbake/lib/bb/tinfoil.py b/bitbake/lib/bb/tinfoil.py
index 0a1b913..8c9b6b8 100644
--- a/bitbake/lib/bb/tinfoil.py
+++ b/bitbake/lib/bb/tinfoil.py
@@ -13,6 +13,7 @@  import sys
 import atexit
 import re
 from collections import OrderedDict, defaultdict
+from functools import partial
 
 import bb.cache
 import bb.cooker
@@ -21,8 +22,8 @@  import bb.taskdata
 import bb.utils
 import bb.command
 import bb.remotedata
-from bb.cookerdata import CookerConfiguration, ConfigParameters
-from bb.main import setup_bitbake, BitBakeConfigParameters, BBMainException
+from bb.cookerdata import CookerConfiguration
+from bb.main import setup_bitbake, BitBakeConfigParameters
 import bb.fetch2
 
 
@@ -44,66 +45,69 @@  class TinfoilUIException(Exception):
 class TinfoilCommandFailed(Exception):
     """Exception raised when run_command fails"""
 
+class TinfoilDataStoreConnectorVarHistory:
+    def __init__(self, tinfoil, dsindex):
+        self.tinfoil = tinfoil
+        self.dsindex = dsindex
+
+    def remoteCommand(self, cmd, *args, **kwargs):
+        return self.tinfoil.run_command('dataStoreConnectorVarHistCmd', self.dsindex, cmd, args, kwargs)
+
+    def __getattr__(self, name):
+        if not hasattr(bb.data_smart.VariableHistory, name):
+            raise AttributeError("VariableHistory has no such method %s" % name)
+
+        newfunc = partial(self.remoteCommand, name)
+        setattr(self, name, newfunc)
+        return newfunc
+
+class TinfoilDataStoreConnectorIncHistory:
+    def __init__(self, tinfoil, dsindex):
+        self.tinfoil = tinfoil
+        self.dsindex = dsindex
+
+    def remoteCommand(self, cmd, *args, **kwargs):
+        return self.tinfoil.run_command('dataStoreConnectorIncHistCmd', self.dsindex, cmd, args, kwargs)
+
+    def __getattr__(self, name):
+        if not hasattr(bb.data_smart.IncludeHistory, name):
+            raise AttributeError("IncludeHistory has no such method %s" % name)
+
+        newfunc = partial(self.remoteCommand, name)
+        setattr(self, name, newfunc)
+        return newfunc
+
 class TinfoilDataStoreConnector:
-    """Connector object used to enable access to datastore objects via tinfoil"""
+    """
+    Connector object used to enable access to datastore objects via tinfoil
+    Method calls are transmitted to the remote datastore for processing, if a datastore is
+    returned we return a connector object for the new store
+    """
 
     def __init__(self, tinfoil, dsindex):
         self.tinfoil = tinfoil
         self.dsindex = dsindex
-    def getVar(self, name):
-        value = self.tinfoil.run_command('dataStoreConnectorFindVar', self.dsindex, name)
-        overrides = None
-        if isinstance(value, dict):
-            if '_connector_origtype' in value:
-                value['_content'] = self.tinfoil._reconvert_type(value['_content'], value['_connector_origtype'])
-                del value['_connector_origtype']
-            if '_connector_overrides' in value:
-                overrides = value['_connector_overrides']
-                del value['_connector_overrides']
-        return value, overrides
-    def getKeys(self):
-        return set(self.tinfoil.run_command('dataStoreConnectorGetKeys', self.dsindex))
-    def getVarHistory(self, name):
-        return self.tinfoil.run_command('dataStoreConnectorGetVarHistory', self.dsindex, name)
-    def expandPythonRef(self, varname, expr, d):
-        ds = bb.remotedata.RemoteDatastores.transmit_datastore(d)
-        ret = self.tinfoil.run_command('dataStoreConnectorExpandPythonRef', ds, varname, expr)
+        self.varhistory = TinfoilDataStoreConnectorVarHistory(tinfoil, dsindex)
+        self.inchistory = TinfoilDataStoreConnectorIncHistory(tinfoil, dsindex)
+
+    def remoteCommand(self, cmd, *args, **kwargs):
+        ret = self.tinfoil.run_command('dataStoreConnectorCmd', self.dsindex, cmd, args, kwargs)
+        if isinstance(ret, bb.command.DataStoreConnectionHandle):
+            return TinfoilDataStoreConnector(self.tinfoil, ret.dsindex)
         return ret
-    def setVar(self, varname, value):
-        if self.dsindex is None:
-            self.tinfoil.run_command('setVariable', varname, value)
-        else:
-            # Not currently implemented - indicate that setting should
-            # be redirected to local side
-            return True
-    def setVarFlag(self, varname, flagname, value):
-        if self.dsindex is None:
-            self.tinfoil.run_command('dataStoreConnectorSetVarFlag', self.dsindex, varname, flagname, value)
-        else:
-            # Not currently implemented - indicate that setting should
-            # be redirected to local side
-            return True
-    def delVar(self, varname):
-        if self.dsindex is None:
-            self.tinfoil.run_command('dataStoreConnectorDelVar', self.dsindex, varname)
-        else:
-            # Not currently implemented - indicate that setting should
-            # be redirected to local side
-            return True
-    def delVarFlag(self, varname, flagname):
-        if self.dsindex is None:
-            self.tinfoil.run_command('dataStoreConnectorDelVar', self.dsindex, varname, flagname)
-        else:
-            # Not currently implemented - indicate that setting should
-            # be redirected to local side
-            return True
-    def renameVar(self, name, newname):
-        if self.dsindex is None:
-            self.tinfoil.run_command('dataStoreConnectorRenameVar', self.dsindex, name, newname)
-        else:
-            # Not currently implemented - indicate that setting should
-            # be redirected to local side
-            return True
+
+    def __getattr__(self, name):
+        if not hasattr(bb.data._dict_type, name):
+            raise AttributeError("Data store has no such method %s" % name)
+
+        newfunc = partial(self.remoteCommand, name)
+        setattr(self, name, newfunc)
+        return newfunc
+
+    def __iter__(self):
+        keys = self.tinfoil.run_command('dataStoreConnectorCmd', self.dsindex, "keys", [], {})
+        for k in keys:
+            yield k
 
 class TinfoilCookerAdapter:
     """
@@ -127,12 +131,13 @@  class TinfoilCookerAdapter:
 
     class TinfoilRecipeCacheAdapter:
         """ cooker.recipecache adapter """
-        def __init__(self, tinfoil):
+        def __init__(self, tinfoil, mc=''):
             self.tinfoil = tinfoil
+            self.mc = mc
             self._cache = {}
 
         def get_pkg_pn_fn(self):
-            pkg_pn = defaultdict(list, self.tinfoil.run_command('getRecipes') or [])
+            pkg_pn = defaultdict(list, self.tinfoil.run_command('getRecipes', self.mc) or [])
             pkg_fn = {}
             for pn, fnlist in pkg_pn.items():
                 for fn in fnlist:
@@ -151,27 +156,27 @@  class TinfoilCookerAdapter:
                 self.get_pkg_pn_fn()
                 return self._cache[name]
             elif name == 'deps':
-                attrvalue = defaultdict(list, self.tinfoil.run_command('getRecipeDepends') or [])
+                attrvalue = defaultdict(list, self.tinfoil.run_command('getRecipeDepends', self.mc) or [])
             elif name == 'rundeps':
-                attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeDepends') or [])
+                attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeDepends', self.mc) or [])
             elif name == 'runrecs':
-                attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeRecommends') or [])
+                attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeRecommends', self.mc) or [])
             elif name == 'pkg_pepvpr':
-                attrvalue = self.tinfoil.run_command('getRecipeVersions') or {}
+                attrvalue = self.tinfoil.run_command('getRecipeVersions', self.mc) or {}
             elif name == 'inherits':
-                attrvalue = self.tinfoil.run_command('getRecipeInherits') or {}
+                attrvalue = self.tinfoil.run_command('getRecipeInherits', self.mc) or {}
             elif name == 'bbfile_priority':
-                attrvalue = self.tinfoil.run_command('getBbFilePriority') or {}
+                attrvalue = self.tinfoil.run_command('getBbFilePriority', self.mc) or {}
             elif name == 'pkg_dp':
-                attrvalue = self.tinfoil.run_command('getDefaultPreference') or {}
+                attrvalue = self.tinfoil.run_command('getDefaultPreference', self.mc) or {}
             elif name == 'fn_provides':
-                attrvalue = self.tinfoil.run_command('getRecipeProvides') or {}
+                attrvalue = self.tinfoil.run_command('getRecipeProvides', self.mc) or {}
             elif name == 'packages':
-                attrvalue = self.tinfoil.run_command('getRecipePackages') or {}
+                attrvalue = self.tinfoil.run_command('getRecipePackages', self.mc) or {}
             elif name == 'packages_dynamic':
-                attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {}
+                attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic', self.mc) or {}
             elif name == 'rproviders':
-                attrvalue = self.tinfoil.run_command('getRProviders') or {}
+                attrvalue = self.tinfoil.run_command('getRProviders', self.mc) or {}
             else:
                 raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name))
 
@@ -182,8 +187,9 @@  class TinfoilCookerAdapter:
         self.tinfoil = tinfoil
         self.collection = self.TinfoilCookerCollectionAdapter(tinfoil)
         self.recipecaches = {}
-        # FIXME all machines
         self.recipecaches[''] = self.TinfoilRecipeCacheAdapter(tinfoil)
+        for mc in (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split():
+            self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
         self._cache = {}
     def __getattr__(self, name):
         # Grab these only when they are requested since they aren't always used
@@ -410,9 +416,7 @@  class Tinfoil:
                 self.run_actions(config_params)
                 self.recipes_parsed = True
 
-            self.config_data = bb.data.init()
-            connector = TinfoilDataStoreConnector(self, None)
-            self.config_data.setVar('_remote_data', connector)
+            self.config_data = TinfoilDataStoreConnector(self, 0)
             self.cooker = TinfoilCookerAdapter(self)
             self.cooker_data = self.cooker.recipecaches['']
         else:
@@ -501,11 +505,11 @@  class Tinfoil:
         """
         return OrderedDict(self.run_command('getSkippedRecipes'))
 
-    def get_all_providers(self):
-        return defaultdict(list, self.run_command('allProviders'))
+    def get_all_providers(self, mc=''):
+        return defaultdict(list, self.run_command('allProviders', mc))
 
-    def find_providers(self):
-        return self.run_command('findProviders')
+    def find_providers(self, mc=''):
+        return self.run_command('findProviders', mc)
 
     def find_best_provider(self, pn):
         return self.run_command('findBestProvider', pn)
@@ -624,9 +628,6 @@  class Tinfoil:
             appends: True to apply bbappends, False otherwise
             appendlist: optional list of bbappend files to apply, if you
                         want to filter them
-            config_data: custom config datastore to use. NOTE: if you
-                         specify config_data then you cannot use a virtual
-                         specification for fn.
         """
         if self.tracking:
             # Enable history tracking just for the parse operation
@@ -635,8 +636,8 @@  class Tinfoil:
             if appends and appendlist == []:
                 appends = False
             if config_data:
-                dctr = bb.remotedata.RemoteDatastores.transmit_datastore(config_data)
-                dscon = self.run_command('parseRecipeFile', fn, appends, appendlist, dctr)
+                 config_data = bb.data.createCopy(config_data)
+                 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist, config_data.dsindex)
             else:
                 dscon = self.run_command('parseRecipeFile', fn, appends, appendlist)
             if dscon:
@@ -723,21 +724,9 @@  class Tinfoil:
             # Borrowed from knotty, instead somewhat hackily we use the helper
             # as the object to store "shutdown" on
             helper = bb.ui.uihelper.BBUIHelper()
-            # We set up logging optionally in the constructor so now we need to
-            # grab the handlers to pass to TerminalFilter
-            console = None
-            errconsole = None
-            for handler in self.logger.handlers:
-                if isinstance(handler, logging.StreamHandler):
-                    if handler.stream == sys.stdout:
-                        console = handler
-                    elif handler.stream == sys.stderr:
-                        errconsole = handler
-            format_str = "%(levelname)s: %(message)s"
-            format = bb.msg.BBLogFormatter(format_str)
             helper.shutdown = 0
             parseprogress = None
-            termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet)
+            termfilter = bb.ui.knotty.TerminalFilter(helper, helper, self.logger.handlers, quiet=self.quiet)
             try:
                 while True:
                     try:
@@ -859,9 +848,7 @@  class Tinfoil:
             newobj = origtype(obj)
 
         if isinstance(newobj, bb.command.DataStoreConnectionHandle):
-            connector = TinfoilDataStoreConnector(self, newobj.dsindex)
-            newobj = bb.data.init()
-            newobj.setVar('_remote_data', connector)
+            newobj = TinfoilDataStoreConnector(self, newobj.dsindex)
 
         return newobj
 
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 5cbca97..82c62e3 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -935,7 +935,7 @@  class BuildInfoHelper(object):
 
             # only reset the build name if the one on the server is actually
             # a valid value for the build_name field
-            if build_name != None:
+            if build_name is not None:
                 build_info['build_name'] = build_name
                 changed = True
 
@@ -1194,7 +1194,7 @@  class BuildInfoHelper(object):
         evdata = BuildInfoHelper._get_data_from_event(event)
 
         for t in self.internal_state['targets']:
-            if t.is_image == True:
+            if t.is_image:
                 output_files = list(evdata.keys())
                 for output in output_files:
                     if t.target in output and 'rootfs' in output and not output.endswith(".manifest"):
@@ -1236,7 +1236,7 @@  class BuildInfoHelper(object):
                 task_information['outcome'] = Task.OUTCOME_PREBUILT
         else:
             task_information['task_executed'] = True
-            if 'noexec' in vars(event) and event.noexec == True:
+            if 'noexec' in vars(event) and event.noexec:
                 task_information['task_executed'] = False
                 task_information['outcome'] = Task.OUTCOME_EMPTY
                 task_information['script_type'] = Task.CODING_NA
@@ -1776,7 +1776,7 @@  class BuildInfoHelper(object):
         image_file_extensions_unique = {}
         image_fstypes = self.server.runCommand(
             ['getVariable', 'IMAGE_FSTYPES'])[0]
-        if image_fstypes != None:
+        if image_fstypes is not None:
             image_types_str = image_fstypes.strip()
             image_file_extensions = re.sub(r' {2,}', ' ', image_types_str)
             image_file_extensions_unique = set(image_file_extensions.split(' '))
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 35736ad..87e873d 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -12,7 +12,6 @@  from __future__ import division
 
 import os
 import sys
-import xmlrpc.client as xmlrpclib
 import logging
 import progressbar
 import signal
@@ -35,15 +34,15 @@  class BBProgress(progressbar.ProgressBar):
         self.msg = msg
         self.extrapos = extrapos
         if not widgets:
-            widgets = [progressbar.Percentage(), ' ', progressbar.Bar(), ' ',
-            progressbar.ETA()]
-            self.extrapos = 4
+            widgets = [': ', progressbar.Percentage(), ' ', progressbar.Bar(),
+                       ' ', progressbar.ETA()]
+            self.extrapos = 5
 
         if resize_handler:
             self._resize_default = resize_handler
         else:
             self._resize_default = signal.getsignal(signal.SIGWINCH)
-        progressbar.ProgressBar.__init__(self, maxval, [self.msg + ": "] + widgets, fd=sys.stdout)
+        progressbar.ProgressBar.__init__(self, maxval, [self.msg] + widgets, fd=sys.stdout)
 
     def _handle_resize(self, signum=None, frame=None):
         progressbar.ProgressBar._handle_resize(self, signum, frame)
@@ -110,12 +109,11 @@  def pluralise(singular, plural, qty):
 
 
 class InteractConsoleLogFilter(logging.Filter):
-    def __init__(self, tf, format):
+    def __init__(self, tf):
         self.tf = tf
-        self.format = format
 
     def filter(self, record):
-        if record.levelno == self.format.NOTE and (record.msg.startswith("Running") or record.msg.startswith("recipe ")):
+        if record.levelno == bb.msg.BBLogFormatter.NOTE and (record.msg.startswith("Running") or record.msg.startswith("recipe ")):
             return False
         self.tf.clearFooter()
         return True
@@ -151,7 +149,7 @@  class TerminalFilter(object):
                 cr = (25, 80)
         return cr
 
-    def __init__(self, main, helper, console, errconsole, format, quiet):
+    def __init__(self, main, helper, handlers, quiet):
         self.main = main
         self.helper = helper
         self.cuu = None
@@ -181,7 +179,11 @@  class TerminalFilter(object):
             termios.tcsetattr(fd, termios.TCSADRAIN, new)
             curses.setupterm()
             if curses.tigetnum("colors") > 2:
-                format.enable_color()
+                for h in handlers:
+                    try:
+                        h.formatter.enable_color()
+                    except AttributeError:
+                        pass
             self.ed = curses.tigetstr("ed")
             if self.ed:
                 self.cuu = curses.tigetstr("cuu")
@@ -197,10 +199,9 @@  class TerminalFilter(object):
             self.interactive = False
             bb.note("Unable to use interactive mode for this terminal, using fallback")
             return
-        if console:
-            console.addFilter(InteractConsoleLogFilter(self, format))
-        if errconsole:
-            errconsole.addFilter(InteractConsoleLogFilter(self, format))
+
+        for h in handlers:
+            h.addFilter(InteractConsoleLogFilter(self))
 
         self.main_progress = None
 
@@ -255,19 +256,19 @@  class TerminalFilter(object):
                 start_time = activetasks[t].get("starttime", None)
                 if not pbar or pbar.bouncing != (progress < 0):
                     if progress < 0:
-                        pbar = BBProgress("0: %s (pid %s) " % (activetasks[t]["title"], t), 100, widgets=[progressbar.BouncingSlider(), ''], extrapos=2, resize_handler=self.sigwinch_handle)
+                        pbar = BBProgress("0: %s (pid %s)" % (activetasks[t]["title"], activetasks[t]["pid"]), 100, widgets=[' ', progressbar.BouncingSlider(), ''], extrapos=3, resize_handler=self.sigwinch_handle)
                         pbar.bouncing = True
                     else:
-                        pbar = BBProgress("0: %s (pid %s) " % (activetasks[t]["title"], t), 100, widgets=[progressbar.Percentage(), ' ', progressbar.Bar(), ''], extrapos=4, resize_handler=self.sigwinch_handle)
+                        pbar = BBProgress("0: %s (pid %s)" % (activetasks[t]["title"], activetasks[t]["pid"]), 100, widgets=[' ', progressbar.Percentage(), ' ', progressbar.Bar(), ''], extrapos=5, resize_handler=self.sigwinch_handle)
                         pbar.bouncing = False
                     activetasks[t]["progressbar"] = pbar
                 tasks.append((pbar, progress, rate, start_time))
             else:
                 start_time = activetasks[t].get("starttime", None)
                 if start_time:
-                    tasks.append("%s - %s (pid %s)" % (activetasks[t]["title"], self.elapsed(currenttime - start_time), t))
+                    tasks.append("%s - %s (pid %s)" % (activetasks[t]["title"], self.elapsed(currenttime - start_time), activetasks[t]["pid"]))
                 else:
-                    tasks.append("%s (pid %s)" % (activetasks[t]["title"], t))
+                    tasks.append("%s (pid %s)" % (activetasks[t]["title"], activetasks[t]["pid"]))
 
         if self.main.shutdown:
             content = "Waiting for %s running tasks to finish:" % len(activetasks)
@@ -363,7 +364,11 @@  def _log_settings_from_server(server, observe_only):
     if error:
         logger.error("Unable to get the value of BB_CONSOLELOG variable: %s" % error)
         raise BaseException(error)
-    return includelogs, loglines, consolelogfile
+    logconfigfile, error = server.runCommand([cmd, "BB_LOGCONFIG"])
+    if error:
+        logger.error("Unable to get the value of BB_LOGCONFIG variable: %s" % error)
+        raise BaseException(error)
+    return includelogs, loglines, consolelogfile, logconfigfile
 
 _evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
               "bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
@@ -380,7 +385,148 @@  def main(server, eventHandler, params, tf = TerminalFilter):
     if not params.observe_only:
         params.updateToServer(server, os.environ.copy())
 
-    includelogs, loglines, consolelogfile = _log_settings_from_server(server, params.observe_only)
+    includelogs, loglines, consolelogfile, logconfigfile = _log_settings_from_server(server, params.observe_only)
+
+    loglevel, _ = bb.msg.constructLogOptions()
+
+    if params.options.quiet == 0:
+        console_loglevel = loglevel
+    elif params.options.quiet > 2:
+        console_loglevel = bb.msg.BBLogFormatter.ERROR
+    else:
+        console_loglevel = bb.msg.BBLogFormatter.WARNING
+
+    logconfig = {
+        "version": 1,
+        "handlers": {
+            "BitBake.console": {
+                "class": "logging.StreamHandler",
+                "formatter": "BitBake.consoleFormatter",
+                "level": console_loglevel,
+                "stream": "ext://sys.stdout",
+                "filters": ["BitBake.stdoutFilter"],
+                ".": {
+                    "is_console": True,
+                },
+            },
+            "BitBake.errconsole": {
+                "class": "logging.StreamHandler",
+                "formatter": "BitBake.consoleFormatter",
+                "level": loglevel,
+                "stream": "ext://sys.stderr",
+                "filters": ["BitBake.stderrFilter"],
+                ".": {
+                    "is_console": True,
+                },
+            },
+            # This handler can be used if specific loggers should print on
+            # the console at a lower severity than the default. It will
+            # display any messages sent to it that are lower than then
+            # BitBake.console logging level (so as to prevent duplication of
+            # messages). Nothing is attached to this handler by default
+            "BitBake.verbconsole": {
+                "class": "logging.StreamHandler",
+                "formatter": "BitBake.consoleFormatter",
+                "level": 1,
+                "stream": "ext://sys.stdout",
+                "filters": ["BitBake.verbconsoleFilter"],
+                ".": {
+                    "is_console": True,
+                },
+            },
+        },
+        "formatters": {
+            # This format instance will get color output enabled by the
+            # terminal
+            "BitBake.consoleFormatter" : {
+                "()": "bb.msg.BBLogFormatter",
+                "format": "%(levelname)s: %(message)s"
+            },
+            # The file log requires a separate instance so that it doesn't get
+            # color enabled
+            "BitBake.logfileFormatter": {
+                "()": "bb.msg.BBLogFormatter",
+                "format": "%(levelname)s: %(message)s"
+            }
+        },
+        "filters": {
+            "BitBake.stdoutFilter": {
+                "()": "bb.msg.LogFilterLTLevel",
+                "level": "ERROR"
+            },
+            "BitBake.stderrFilter": {
+                "()": "bb.msg.LogFilterGEQLevel",
+                "level": "ERROR"
+            },
+            "BitBake.verbconsoleFilter": {
+                "()": "bb.msg.LogFilterLTLevel",
+                "level": console_loglevel
+            },
+        },
+        "loggers": {
+            "BitBake": {
+                "level": loglevel,
+                "handlers": ["BitBake.console", "BitBake.errconsole"],
+            }
+        },
+        "disable_existing_loggers": False
+    }
+
+    # Enable the console log file if enabled
+    if consolelogfile and not params.options.show_environment and not params.options.show_versions:
+        logconfig = bb.msg.mergeLoggingConfig(logconfig, {
+                "version": 1,
+                "handlers" : {
+                    "BitBake.consolelog": {
+                        "class": "logging.FileHandler",
+                        "formatter": "BitBake.logfileFormatter",
+                        "level": loglevel,
+                        "filename": consolelogfile,
+                    },
+                    # Just like verbconsole, anything sent here will go to the
+                    # log file, unless it would go to BitBake.consolelog
+                    "BitBake.verbconsolelog" : {
+                        "class": "logging.FileHandler",
+                        "formatter": "BitBake.logfileFormatter",
+                        "level": 1,
+                        "filename": consolelogfile,
+                        "filters": ["BitBake.verbconsolelogFilter"],
+                    },
+                },
+                "filters": {
+                    "BitBake.verbconsolelogFilter": {
+                        "()": "bb.msg.LogFilterLTLevel",
+                        "level": loglevel,
+                    },
+                },
+                "loggers": {
+                    "BitBake": {
+                        "handlers": ["BitBake.consolelog"],
+                    },
+
+                    # Other interesting things that we want to keep an eye on
+                    # in the log files in case someone has an issue, but not
+                    # necessarily show to the user on the console
+                    "BitBake.SigGen.HashEquiv": {
+                        "level": "VERBOSE",
+                        "handlers": ["BitBake.verbconsolelog"],
+                    },
+                    "BitBake.RunQueue.HashEquiv": {
+                        "level": "VERBOSE",
+                        "handlers": ["BitBake.verbconsolelog"],
+                    }
+                }
+            })
+
+        bb.utils.mkdirhier(os.path.dirname(consolelogfile))
+        loglink = os.path.join(os.path.dirname(consolelogfile), 'console-latest.log')
+        bb.utils.remove(loglink)
+        try:
+           os.symlink(os.path.basename(consolelogfile), loglink)
+        except OSError:
+           pass
+
+    conf = bb.msg.setLoggingConfig(logconfig, logconfigfile)
 
     if sys.stdin.isatty() and sys.stdout.isatty():
         log_exec_tty = True
@@ -389,23 +535,9 @@  def main(server, eventHandler, params, tf = TerminalFilter):
 
     helper = uihelper.BBUIHelper()
 
-    console = logging.StreamHandler(sys.stdout)
-    errconsole = logging.StreamHandler(sys.stderr)
-    format_str = "%(levelname)s: %(message)s"
-    format = bb.msg.BBLogFormatter(format_str)
-    if params.options.quiet == 0:
-        forcelevel = None
-    elif params.options.quiet > 2:
-        forcelevel = bb.msg.BBLogFormatter.ERROR
-    else:
-        forcelevel = bb.msg.BBLogFormatter.WARNING
-    bb.msg.addDefaultlogFilter(console, bb.msg.BBLogFilterStdOut, forcelevel)
-    bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr)
-    console.setFormatter(format)
-    errconsole.setFormatter(format)
-    if not bb.msg.has_console_handler(logger):
-        logger.addHandler(console)
-        logger.addHandler(errconsole)
+    # Look for the specially designated handlers which need to be passed to the
+    # terminal handler
+    console_handlers = [h for h in conf.config['handlers'].values() if getattr(h, 'is_console', False)]
 
     bb.utils.set_process_name("KnottyUI")
 
@@ -413,24 +545,14 @@  def main(server, eventHandler, params, tf = TerminalFilter):
         server.terminateServer()
         return
 
-    consolelog = None
-    if consolelogfile and not params.options.show_environment and not params.options.show_versions:
-        bb.utils.mkdirhier(os.path.dirname(consolelogfile))
-        conlogformat = bb.msg.BBLogFormatter(format_str)
-        consolelog = logging.FileHandler(consolelogfile)
-        bb.msg.addDefaultlogFilter(consolelog)
-        consolelog.setFormatter(conlogformat)
-        logger.addHandler(consolelog)
-        loglink = os.path.join(os.path.dirname(consolelogfile), 'console-latest.log')
-        bb.utils.remove(loglink)
-        try:
-           os.symlink(os.path.basename(consolelogfile), loglink)
-        except OSError:
-           pass
-
     llevel, debug_domains = bb.msg.constructLogOptions()
     server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
 
+    # The logging_tree module is *extremely* helpful in debugging logging
+    # domains. Uncomment here to dump the logging tree when bitbake starts
+    #import logging_tree
+    #logging_tree.printout()
+
     universe = False
     if not params.observe_only:
         params.updateFromServer(server)
@@ -448,7 +570,7 @@  def main(server, eventHandler, params, tf = TerminalFilter):
         if error:
             logger.error("Command '%s' failed: %s" % (cmdline, error))
             return 1
-        elif ret != True:
+        elif not ret:
             logger.error("Command '%s' failed: returned %s" % (cmdline, ret))
             return 1
 
@@ -465,7 +587,7 @@  def main(server, eventHandler, params, tf = TerminalFilter):
     printinterval = 5000
     lastprint = time.time()
 
-    termfilter = tf(main, helper, console, errconsole, format, params.options.quiet)
+    termfilter = tf(main, helper, console_handlers, params.options.quiet)
     atexit.register(termfilter.finish)
 
     while True:
@@ -477,7 +599,8 @@  def main(server, eventHandler, params, tf = TerminalFilter):
             if event is None:
                 if main.shutdown > 1:
                     break
-                termfilter.updateFooter()
+                if not parseprogress:
+                    termfilter.updateFooter()
                 event = eventHandler.waitEvent(0.25)
                 if event is None:
                     continue
@@ -503,26 +626,26 @@  def main(server, eventHandler, params, tf = TerminalFilter):
             if isinstance(event, logging.LogRecord):
                 lastprint = time.time()
                 printinterval = 5000
-                if event.levelno >= format.ERROR:
+                if event.levelno >= bb.msg.BBLogFormatter.ERROR:
                     errors = errors + 1
                     return_value = 1
-                elif event.levelno == format.WARNING:
+                elif event.levelno == bb.msg.BBLogFormatter.WARNING:
                     warnings = warnings + 1
 
                 if event.taskpid != 0:
                     # For "normal" logging conditions, don't show note logs from tasks
                     # but do show them if the user has changed the default log level to
                     # include verbose/debug messages
-                    if event.levelno <= format.NOTE and (event.levelno < llevel or (event.levelno == format.NOTE and llevel != format.VERBOSE)):
+                    if event.levelno <= bb.msg.BBLogFormatter.NOTE and (event.levelno < llevel or (event.levelno == bb.msg.BBLogFormatter.NOTE and llevel != bb.msg.BBLogFormatter.VERBOSE)):
                         continue
 
                     # Prefix task messages with recipe/task
-                    if event.taskpid in helper.running_tasks and event.levelno != format.PLAIN:
-                        taskinfo = helper.running_tasks[event.taskpid]
+                    if event.taskpid in helper.pidmap and event.levelno != bb.msg.BBLogFormatter.PLAIN:
+                        taskinfo = helper.running_tasks[helper.pidmap[event.taskpid]]
                         event.msg = taskinfo['title'] + ': ' + event.msg
                 if hasattr(event, 'fn'):
                     event.msg = event.fn + ': ' + event.msg
-                logger.handle(event)
+                logging.getLogger(event.name).handle(event)
                 continue
 
             if isinstance(event, bb.build.TaskFailedSilent):
@@ -539,6 +662,7 @@  def main(server, eventHandler, params, tf = TerminalFilter):
                     continue
                 if event.total == 0:
                     continue
+                termfilter.clearFooter()
                 parseprogress = new_progress("Parsing recipes", event.total).start()
                 continue
             if isinstance(event, bb.event.ParseProgress):
@@ -589,6 +713,7 @@  def main(server, eventHandler, params, tf = TerminalFilter):
             if isinstance(event, bb.command.CommandExit):
                 if not return_value:
                     return_value = event.exitcode
+                main.shutdown = 2
                 continue
             if isinstance(event, (bb.command.CommandCompleted, bb.cooker.CookerExit)):
                 main.shutdown = 2
@@ -638,6 +763,7 @@  def main(server, eventHandler, params, tf = TerminalFilter):
             if isinstance(event, bb.event.ProcessStarted):
                 if params.options.quiet > 1:
                     continue
+                termfilter.clearFooter()
                 parseprogress = new_progress(event.processname, event.total)
                 parseprogress.start(False)
                 continue
@@ -745,8 +871,6 @@  def main(server, eventHandler, params, tf = TerminalFilter):
         if e.errno == errno.EPIPE:
             pass
 
-    if consolelog:
-        logger.removeHandler(consolelog)
-        consolelog.close()
+    logging.shutdown()
 
     return return_value
diff --git a/bitbake/lib/bb/ui/ncurses.py b/bitbake/lib/bb/ui/ncurses.py
index c422732..da4fbea 100644
--- a/bitbake/lib/bb/ui/ncurses.py
+++ b/bitbake/lib/bb/ui/ncurses.py
@@ -37,7 +37,7 @@ 
 
 
 import logging
-import os, sys, itertools, time, subprocess
+import os, sys, itertools, time
 
 try:
     import curses
@@ -46,7 +46,6 @@  except ImportError:
 
 import bb
 import xmlrpc.client
-from bb import ui
 from bb.ui import uihelper
 
 parsespin = itertools.cycle( r'|/-\\' )
@@ -239,7 +238,7 @@  class NCursesUI:
             if error:
                 print("Error running command '%s': %s" % (cmdline, error))
                 return
-            elif ret != True:
+            elif not ret:
                 print("Couldn't get default commandlind! %s" % ret)
                 return
         except xmlrpc.client.Fault as x:
diff --git a/bitbake/lib/bb/ui/taskexp.py b/bitbake/lib/bb/ui/taskexp.py
index 50a943c..05e3233 100644
--- a/bitbake/lib/bb/ui/taskexp.py
+++ b/bitbake/lib/bb/ui/taskexp.py
@@ -8,13 +8,18 @@ 
 #
 
 import sys
-import gi
-gi.require_version('Gtk', '3.0')
-from gi.repository import Gtk, Gdk, GObject
-from multiprocessing import Queue
+
+try:
+    import gi
+    gi.require_version('Gtk', '3.0')
+    from gi.repository import Gtk, Gdk, GObject
+except ValueError:
+    sys.exit("FATAL: Gtk version needs to be 3.0")
+except ImportError:
+    sys.exit("FATAL: Gtk ui could not load the required gi python module")
+
 import threading
 from xmlrpc import client
-import time
 import bb
 import bb.event
 
@@ -202,7 +207,7 @@  def main(server, eventHandler, params):
         if error:
             print("Error running command '%s': %s" % (cmdline, error))
             return 1
-        elif ret != True:
+        elif not ret:
             print("Error running command '%s': returned %s" % (cmdline, ret))
             return 1
     except client.Fault as x:
diff --git a/bitbake/lib/bb/ui/teamcity.py b/bitbake/lib/bb/ui/teamcity.py
new file mode 100644
index 0000000..fca46c2
--- /dev/null
+++ b/bitbake/lib/bb/ui/teamcity.py
@@ -0,0 +1,396 @@ 
+#
+# TeamCity UI Implementation
+#
+# Implements a TeamCity frontend for the BitBake utility, via service messages.
+# See https://www.jetbrains.com/help/teamcity/build-script-interaction-with-teamcity.html
+#
+# Based on ncurses.py and knotty.py, variously by Michael Lauer and Richard Purdie
+#
+# Copyright (C) 2006 Michael 'Mickey' Lauer
+# Copyright (C) 2006-2012 Richard Purdie
+# Copyright (C) 2018-2020 Agilent Technologies, Inc.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Author: Chris Laplante <chris.laplante@agilent.com>
+
+from __future__ import division
+
+import datetime
+import logging
+import math
+import os
+import re
+import sys
+import xmlrpc.client
+from collections import deque
+
+import bb
+import bb.build
+import bb.command
+import bb.cooker
+import bb.event
+import bb.exceptions
+import bb.runqueue
+from bb.ui import uihelper
+
+logger = logging.getLogger("BitBake")
+
+
+class TeamCityUI:
+    def __init__(self):
+        self._block_stack = []
+        self._last_progress_state = None
+
+    @classmethod
+    def escape_service_value(cls, value):
+        """
+        Escape a value for inclusion in a service message. TeamCity uses the vertical pipe character for escaping.
+        See: https://confluence.jetbrains.com/display/TCD10/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-Escapedvalues
+        """
+        return re.sub(r"(['|\[\]])", r"|\1", value).replace("\n", "|n").replace("\r", "|r")
+
+    @classmethod
+    def emit_service_message(cls, message_type, **kwargs):
+        print(cls.format_service_message(message_type, **kwargs), flush=True)
+
+    @classmethod
+    def format_service_message(cls, message_type, **kwargs):
+        payload = " ".join(["{0}='{1}'".format(k, cls.escape_service_value(v)) for k, v in kwargs.items()])
+        return "##teamcity[{0} {1}]".format(message_type, payload)
+
+    @classmethod
+    def emit_simple_service_message(cls, message_type, message):
+        print(cls.format_simple_service_message(message_type, message), flush=True)
+
+    @classmethod
+    def format_simple_service_message(cls, message_type, message):
+        return "##teamcity[{0} '{1}']".format(message_type, cls.escape_service_value(message))
+
+    @classmethod
+    def format_build_message(cls, text, status):
+        return cls.format_service_message("message", text=text, status=status)
+
+    def block_start(self, name):
+        self._block_stack.append(name)
+        self.emit_service_message("blockOpened", name=name)
+
+    def block_end(self):
+        if self._block_stack:
+            name = self._block_stack.pop()
+            self.emit_service_message("blockClosed", name=name)
+
+    def progress(self, message, percent, extra=None):
+        now = datetime.datetime.now()
+        percent = "{0: >3.0f}".format(percent)
+
+        report = False
+        if not self._last_progress_state \
+                or (self._last_progress_state[0] == message
+                    and self._last_progress_state[1] != percent
+                    and (now - self._last_progress_state[2]).microseconds >= 5000) \
+                or self._last_progress_state[0] != message:
+            report = True
+            self._last_progress_state = (message, percent, now)
+
+        if report or percent in [0, 100]:
+            self.emit_simple_service_message("progressMessage", "{0}: {1}%{2}".format(message, percent, extra or ""))
+
+
+class TeamcityLogFormatter(logging.Formatter):
+    def format(self, record):
+        details = ""
+        if hasattr(record, 'bb_exc_formatted'):
+            details = ''.join(record.bb_exc_formatted)
+        elif hasattr(record, 'bb_exc_info'):
+            etype, value, tb = record.bb_exc_info
+            formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
+            details = ''.join(formatted)
+
+        if record.levelno in [bb.msg.BBLogFormatter.ERROR, bb.msg.BBLogFormatter.CRITICAL]:
+            # ERROR gets a separate errorDetails field
+            msg = TeamCityUI.format_service_message("message", text=record.getMessage(), status="ERROR",
+                                                    errorDetails=details)
+        else:
+            payload = record.getMessage()
+            if details:
+                payload += "\n" + details
+            if record.levelno == bb.msg.BBLogFormatter.PLAIN:
+                msg = payload
+            elif record.levelno == bb.msg.BBLogFormatter.WARNING:
+                msg = TeamCityUI.format_service_message("message", text=payload, status="WARNING")
+            else:
+                msg = TeamCityUI.format_service_message("message", text=payload, status="NORMAL")
+
+        return msg
+
+
+_evt_list = ["bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
+             "bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
+             "bb.event.ParseProgress", "bb.event.ParseCompleted", "bb.event.CacheLoadStarted",
+             "bb.event.CacheLoadProgress", "bb.event.CacheLoadCompleted", "bb.command.CommandFailed",
+             "bb.command.CommandExit", "bb.command.CommandCompleted", "bb.cooker.CookerExit",
+             "bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted",
+             "bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed",
+             "bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent",
+             "bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"]
+
+
+def _log_settings_from_server(server):
+    # Get values of variables which control our output
+    includelogs, error = server.runCommand(["getVariable", "BBINCLUDELOGS"])
+    if error:
+        logger.error("Unable to get the value of BBINCLUDELOGS variable: %s" % error)
+        raise BaseException(error)
+    loglines, error = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
+    if error:
+        logger.error("Unable to get the value of BBINCLUDELOGS_LINES variable: %s" % error)
+        raise BaseException(error)
+    return includelogs, loglines
+
+
+def main(server, eventHandler, params):
+    params.updateToServer(server, os.environ.copy())
+
+    includelogs, loglines = _log_settings_from_server(server)
+
+    ui = TeamCityUI()
+
+    helper = uihelper.BBUIHelper()
+
+    console = logging.StreamHandler(sys.stdout)
+    errconsole = logging.StreamHandler(sys.stderr)
+    format = TeamcityLogFormatter()
+    if params.options.quiet == 0:
+        forcelevel = None
+    elif params.options.quiet > 2:
+        forcelevel = bb.msg.BBLogFormatter.ERROR
+    else:
+        forcelevel = bb.msg.BBLogFormatter.WARNING
+    console.setFormatter(format)
+    errconsole.setFormatter(format)
+    if not bb.msg.has_console_handler(logger):
+        logger.addHandler(console)
+        logger.addHandler(errconsole)
+
+    if params.options.remote_server and params.options.kill_server:
+        server.terminateServer()
+        return
+
+    if params.observe_only:
+        logger.error("Observe-only mode not supported in this UI")
+        return 1
+
+    llevel, debug_domains = bb.msg.constructLogOptions()
+    server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
+
+    try:
+        params.updateFromServer(server)
+        cmdline = params.parseActions()
+        if not cmdline:
+            logger.error("No task given")
+            return 1
+        if 'msg' in cmdline and cmdline['msg']:
+            logger.error(cmdline['msg'])
+            return 1
+        cmdline = cmdline['action']
+        ret, error = server.runCommand(cmdline)
+        if error:
+            logger.error("{0}: {1}".format(cmdline, error))
+            return 1
+        elif not ret:
+            logger.error("Couldn't get default commandline: {0}".format(re))
+            return 1
+    except xmlrpc.client.Fault as x:
+        logger.error("XMLRPC Fault getting commandline: {0}".format(x))
+        return 1
+
+    active_process_total = None
+    is_tasks_running = False
+
+    while True:
+        try:
+            event = eventHandler.waitEvent(0.25)
+            if not event:
+                continue
+
+            helper.eventHandler(event)
+
+            if isinstance(event, bb.build.TaskBase):
+                logger.info(event._message)
+            if isinstance(event, logging.LogRecord):
+                # Don't report sstate failures as errors, since Yocto will just run the tasks for real
+                if event.msg == "No suitable staging package found" or (event.msg.startswith(
+                        "Fetcher failure: Unable to find file") and "downloadfilename" in event.msg and "sstate" in event.msg):
+                    event.levelno = bb.msg.BBLogFormatter.WARNING
+                if event.taskpid != 0:
+                    # For "normal" logging conditions, don't show note logs from tasks
+                    # but do show them if the user has changed the default log level to
+                    # include verbose/debug messages
+                    if event.levelno <= bb.msg.BBLogFormatter.NOTE and (event.levelno < llevel or (
+                            event.levelno == bb.msg.BBLogFormatter.NOTE and llevel != bb.msg.BBLogFormatter.VERBOSE)):
+                        continue
+
+                    # Prefix task messages with recipe/task
+                    if event.taskpid in helper.running_tasks and event.levelno != bb.msg.BBLogFormatter.PLAIN:
+                        taskinfo = helper.running_tasks[event.taskpid]
+                        event.msg = taskinfo['title'] + ': ' + event.msg
+                if hasattr(event, 'fn'):
+                    event.msg = event.fn + ': ' + event.msg
+                logger.handle(event)
+            if isinstance(event, bb.build.TaskFailedSilent):
+                logger.warning("Logfile for failed setscene task is %s" % event.logfile)
+                continue
+            if isinstance(event, bb.build.TaskFailed):
+                rt = "{0}-{1}:{2}".format(event.pn, event.pv.replace("AUTOINC", "0"), event.task)
+
+                logfile = event.logfile
+                if not logfile or not os.path.exists(logfile):
+                    TeamCityUI.emit_service_message("buildProblem", description="{0}\nUnknown failure (no log file available)".format(rt))
+                    if not event.task.endswith("_setscene"):
+                        server.runCommand(["stateForceShutdown"])
+                    continue
+
+                details = deque(maxlen=loglines)
+                error_lines = []
+                if includelogs and not event.errprinted:
+                    with open(logfile, "r") as f:
+                        while True:
+                            line = f.readline()
+                            if not line:
+                                break
+                            line = line.rstrip()
+                            details.append(' | %s' % line)
+                            # TODO: a less stupid check for errors
+                            if (event.task == "do_compile") and ("error:" in line):
+                                error_lines.append(line)
+
+                if error_lines:
+                    TeamCityUI.emit_service_message("compilationStarted", compiler=rt)
+                    for line in error_lines:
+                        TeamCityUI.emit_service_message("message", text=line, status="ERROR")
+                    TeamCityUI.emit_service_message("compilationFinished", compiler=rt)
+                else:
+                    TeamCityUI.emit_service_message("buildProblem", description=rt)
+
+                err = "Logfile of failure stored in: %s" % logfile
+                if details:
+                    ui.block_start("{0} task log".format(rt))
+                    # TeamCity seems to choke on service messages longer than about 63800 characters, so if error
+                    # details is longer than, say, 60000, batch it up into several messages.
+                    first_message = True
+                    while details:
+                        detail_len = 0
+                        batch = deque()
+                        while details and detail_len < 60000:
+                            # TODO: This code doesn't bother to handle lines that themselves are extremely long.
+                            line = details.popleft()
+                            batch.append(line)
+                            detail_len += len(line)
+
+                        if first_message:
+                            batch.appendleft("Log data follows:")
+                            first_message = False
+                            TeamCityUI.emit_service_message("message", text=err, status="ERROR",
+                                                            errorDetails="\n".join(batch))
+                        else:
+                            TeamCityUI.emit_service_message("message", text="[continued]", status="ERROR",
+                                                            errorDetails="\n".join(batch))
+                    ui.block_end()
+                else:
+                    TeamCityUI.emit_service_message("message", text=err, status="ERROR", errorDetails="")
+
+                if not event.task.endswith("_setscene"):
+                    server.runCommand(["stateForceShutdown"])
+
+            if isinstance(event, bb.event.ProcessStarted):
+                if event.processname in ["Initialising tasks", "Checking sstate mirror object availability"]:
+                    active_process_total = event.total
+                    ui.block_start(event.processname)
+            if isinstance(event, bb.event.ProcessFinished):
+                if event.processname in ["Initialising tasks", "Checking sstate mirror object availability"]:
+                    ui.progress(event.processname, 100)
+                    ui.block_end()
+            if isinstance(event, bb.event.ProcessProgress):
+                if event.processname in ["Initialising tasks",
+                                         "Checking sstate mirror object availability"] and active_process_total != 0:
+                    ui.progress(event.processname, event.progress * 100 / active_process_total)
+            if isinstance(event, bb.event.CacheLoadStarted):
+                ui.block_start("Loading cache")
+            if isinstance(event, bb.event.CacheLoadProgress):
+                if event.total != 0:
+                    ui.progress("Loading cache", math.floor(event.current * 100 / event.total))
+            if isinstance(event, bb.event.CacheLoadCompleted):
+                ui.progress("Loading cache", 100)
+                ui.block_end()
+            if isinstance(event, bb.event.ParseStarted):
+                ui.block_start("Parsing recipes and checking upstream revisions")
+            if isinstance(event, bb.event.ParseProgress):
+                if event.total != 0:
+                    ui.progress("Parsing recipes", math.floor(event.current * 100 / event.total))
+            if isinstance(event, bb.event.ParseCompleted):
+                ui.progress("Parsing recipes", 100)
+                ui.block_end()
+            if isinstance(event, bb.command.CommandCompleted):
+                return
+            if isinstance(event, bb.command.CommandFailed):
+                logger.error(str(event))
+                return 1
+            if isinstance(event, bb.event.MultipleProviders):
+                logger.warning(str(event))
+                continue
+            if isinstance(event, bb.event.NoProvider):
+                logger.error(str(event))
+                continue
+            if isinstance(event, bb.command.CommandExit):
+                return
+            if isinstance(event, bb.cooker.CookerExit):
+                return
+            if isinstance(event, bb.runqueue.sceneQueueTaskStarted):
+                if not is_tasks_running:
+                    is_tasks_running = True
+                    ui.block_start("Running tasks")
+                if event.stats.total != 0:
+                    ui.progress("Running setscene tasks", (
+                            event.stats.completed + event.stats.active + event.stats.failed + 1) * 100 / event.stats.total)
+            if isinstance(event, bb.runqueue.runQueueTaskStarted):
+                if not is_tasks_running:
+                    is_tasks_running = True
+                    ui.block_start("Running tasks")
+                if event.stats.total != 0:
+                    pseudo_total = event.stats.total - event.stats.skipped
+                    pseudo_complete = event.stats.completed + event.stats.active - event.stats.skipped + event.stats.failed + 1
+                    # TODO: sometimes this gives over 100%
+                    ui.progress("Running runqueue tasks", (pseudo_complete) * 100 / pseudo_total,
+                            " ({0}/{1})".format(pseudo_complete, pseudo_total))
+            if isinstance(event, bb.runqueue.sceneQueueTaskFailed):
+                logger.warning(str(event))
+                continue
+            if isinstance(event, bb.runqueue.runQueueTaskFailed):
+                logger.error(str(event))
+                return 1
+            if isinstance(event, bb.event.LogExecTTY):
+                pass
+        except EnvironmentError as ioerror:
+            # ignore interrupted io
+            if ioerror.args[0] == 4:
+                pass
+        except Exception as ex:
+            logger.error(str(ex))
+
+        # except KeyboardInterrupt:
+        #     if shutdown == 2:
+        #         mw.appendText("Third Keyboard Interrupt, exit.\n")
+        #         exitflag = True
+        #     if shutdown == 1:
+        #         mw.appendText("Second Keyboard Interrupt, stopping...\n")
+        #         _, error = server.runCommand(["stateForceShutdown"])
+        #         if error:
+        #             print("Unable to cleanly stop: %s" % error)
+        #     if shutdown == 0:
+        #         mw.appendText("Keyboard Interrupt, closing down...\n")
+        #         _, error = server.runCommand(["stateShutdown"])
+        #         if error:
+        #             print("Unable to cleanly shutdown: %s" % error)
+        #     shutdown = shutdown + 1
+        #     pass
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index 51892c9..9260f5d 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -176,7 +176,7 @@  def main(server, eventHandler, params):
         if error:
             logger.error("Command '%s' failed: %s" % (cmdline, error))
             return 1
-        elif ret != True:
+        elif not ret:
             logger.error("Command '%s' failed: returned %s" % (cmdline, ret))
             return 1
 
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index fedb050..13d0d4a 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -46,7 +46,7 @@  class BBUIEventQueue:
                 self.EventHandle = ret
                 error = ""
 
-            if self.EventHandle != None:
+            if self.EventHandle is not None:
                 break
 
             errmsg = "Could not register UI event handler. Error: %s, host %s, "\
diff --git a/bitbake/lib/bb/ui/uihelper.py b/bitbake/lib/bb/ui/uihelper.py
index c8dd7df..48d808a 100644
--- a/bitbake/lib/bb/ui/uihelper.py
+++ b/bitbake/lib/bb/ui/uihelper.py
@@ -15,39 +15,48 @@  class BBUIHelper:
         # Running PIDs preserves the order tasks were executed in
         self.running_pids = []
         self.failed_tasks = []
+        self.pidmap = {}
         self.tasknumber_current = 0
         self.tasknumber_total = 0
 
     def eventHandler(self, event):
+        # PIDs are a bad idea as they can be reused before we process all UI events.
+        # We maintain a 'fuzzy' match for TaskProgress since there is no other way to match
+        def removetid(pid, tid):
+            self.running_pids.remove(tid)
+            del self.running_tasks[tid]
+            if self.pidmap[pid] == tid:
+                del self.pidmap[pid]
+            self.needUpdate = True
+
         if isinstance(event, bb.build.TaskStarted):
+            tid = event._fn + ":" + event._task
             if event._mc != "default":
-                self.running_tasks[event.pid] = { 'title' : "mc:%s:%s %s" % (event._mc, event._package, event._task), 'starttime' : time.time() }
+                self.running_tasks[tid] = { 'title' : "mc:%s:%s %s" % (event._mc, event._package, event._task), 'starttime' : time.time(), 'pid' : event.pid }
             else:
-                self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time() }
-            self.running_pids.append(event.pid)
+                self.running_tasks[tid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time(), 'pid' : event.pid }
+            self.running_pids.append(tid)
+            self.pidmap[event.pid] = tid
             self.needUpdate = True
         elif isinstance(event, bb.build.TaskSucceeded):
-            del self.running_tasks[event.pid]
-            self.running_pids.remove(event.pid)
-            self.needUpdate = True
+            tid = event._fn + ":" + event._task
+            removetid(event.pid, tid)
         elif isinstance(event, bb.build.TaskFailedSilent):
-            del self.running_tasks[event.pid]
-            self.running_pids.remove(event.pid)
+            tid = event._fn + ":" + event._task
+            removetid(event.pid, tid)
             # Don't add to the failed tasks list since this is e.g. a setscene task failure
-            self.needUpdate = True
         elif isinstance(event, bb.build.TaskFailed):
-            del self.running_tasks[event.pid]
-            self.running_pids.remove(event.pid)
+            tid = event._fn + ":" + event._task
+            removetid(event.pid, tid)
             self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
-            self.needUpdate = True
         elif isinstance(event, bb.runqueue.runQueueTaskStarted):
             self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
             self.tasknumber_total = event.stats.total
             self.needUpdate = True
         elif isinstance(event, bb.build.TaskProgress):
-            if event.pid > 0:
-                self.running_tasks[event.pid]['progress'] = event.progress
-                self.running_tasks[event.pid]['rate'] = event.rate
+            if event.pid > 0 and event.pid in self.pidmap:
+                self.running_tasks[self.pidmap[event.pid]]['progress'] = event.progress
+                self.running_tasks[self.pidmap[event.pid]]['rate'] = event.rate
                 self.needUpdate = True
         else:
             return False
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index d035949..5f5767c 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -24,7 +24,6 @@  import fnmatch
 import traceback
 import errno
 import signal
-import ast
 import collections
 import copy
 from subprocess import getstatusoutput
@@ -428,10 +427,11 @@  def fileslocked(files):
         for lockfile in files:
             locks.append(bb.utils.lockfile(lockfile))
 
-    yield
-
-    for lock in locks:
-        bb.utils.unlockfile(lock)
+    try:
+        yield
+    finally:
+        for lock in locks:
+            bb.utils.unlockfile(lock)
 
 @contextmanager
 def timeout(seconds):
@@ -520,22 +520,26 @@  def unlockfile(lf):
     fcntl.flock(lf.fileno(), fcntl.LOCK_UN)
     lf.close()
 
-def md5_file(filename):
-    """
-    Return the hex string representation of the MD5 checksum of filename.
-    """
-    import hashlib, mmap
+def _hasher(method, filename):
+    import mmap
 
     with open(filename, "rb") as f:
-        m = hashlib.md5()
         try:
             with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as mm:
                 for chunk in iter(lambda: mm.read(8192), b''):
-                    m.update(chunk)
+                    method.update(chunk)
         except ValueError:
             # You can't mmap() an empty file so silence this exception
             pass
-    return m.hexdigest()
+    return method.hexdigest()
+
+
+def md5_file(filename):
+    """
+    Return the hex string representation of the MD5 checksum of filename.
+    """
+    import hashlib
+    return _hasher(hashlib.md5(), filename)
 
 def sha256_file(filename):
     """
@@ -543,24 +547,28 @@  def sha256_file(filename):
     filename.
     """
     import hashlib
-
-    s = hashlib.sha256()
-    with open(filename, "rb") as f:
-        for line in f:
-            s.update(line)
-    return s.hexdigest()
+    return _hasher(hashlib.sha256(), filename)
 
 def sha1_file(filename):
     """
     Return the hex string representation of the SHA1 checksum of the filename
     """
     import hashlib
+    return _hasher(hashlib.sha1(), filename)
 
-    s = hashlib.sha1()
-    with open(filename, "rb") as f:
-        for line in f:
-            s.update(line)
-    return s.hexdigest()
+def sha384_file(filename):
+    """
+    Return the hex string representation of the SHA384 checksum of the filename
+    """
+    import hashlib
+    return _hasher(hashlib.sha384(), filename)
+
+def sha512_file(filename):
+    """
+    Return the hex string representation of the SHA512 checksum of the filename
+    """
+    import hashlib
+    return _hasher(hashlib.sha512(), filename)
 
 def preserved_envvars_exported():
     """Variables which are taken from the environment and placed in and exported
@@ -856,7 +864,7 @@  def copyfile(src, dest, newmtime = None, sstat = None):
             if destexists and not stat.S_ISDIR(dstat[stat.ST_MODE]):
                 os.unlink(dest)
             os.symlink(target, dest)
-            #os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
+            os.lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
             return os.lstat(dest)
         except Exception as e:
             logger.warning("copyfile: failed to create symlink %s to %s (%s)" % (dest, target, e))
@@ -1031,6 +1039,43 @@  def filter(variable, checkvalues, d):
         checkvalues = set(checkvalues)
     return ' '.join(sorted(checkvalues & val))
 
+
+def get_referenced_vars(start_expr, d):
+    """
+    :return: names of vars referenced in start_expr (recursively), in quasi-BFS order (variables within the same level
+    are ordered arbitrarily)
+    """
+
+    seen = set()
+    ret = []
+
+    # The first entry in the queue is the unexpanded start expression
+    queue = collections.deque([start_expr])
+    # Subsequent entries will be variable names, so we need to track whether or not entry requires getVar
+    is_first = True
+
+    empty_data = bb.data.init()
+    while queue:
+        entry = queue.popleft()
+        if is_first:
+            # Entry is the start expression - no expansion needed
+            is_first = False
+            expression = entry
+        else:
+            # This is a variable name - need to get the value
+            expression = d.getVar(entry, False)
+            ret.append(entry)
+
+        # expandWithRefs is how we actually get the referenced variables in the expression. We call it using an empty
+        # data store because we only want the variables directly used in the expression. It returns a set, which is what
+        # dooms us to only ever be "quasi-BFS" rather than full BFS.
+        new_vars = empty_data.expandWithRefs(expression, None).references - set(seen)
+
+        queue.extend(new_vars)
+        seen.update(new_vars)
+    return ret
+
+
 def cpu_count():
     return multiprocessing.cpu_count()
 
@@ -1566,3 +1611,29 @@  class LogCatcher(logging.Handler):
         self.messages.append(bb.build.logformatter.format(record))
     def contains(self, message):
         return (message in self.messages)
+
+def is_semver(version):
+    """
+        Is the version string following the semver semantic?
+
+        https://semver.org/spec/v2.0.0.html
+    """
+    regex = re.compile(
+    r"""
+    ^
+    (0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)
+    (?:-(
+        (?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)
+        (?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*
+    ))?
+    (?:\+(
+        [0-9a-zA-Z-]+
+        (?:\.[0-9a-zA-Z-]+)*
+    ))?
+    $
+    """, re.VERBOSE)
+
+    if regex.match(version) is None:
+        return False
+
+    return True
diff --git a/bitbake/lib/bblayers/common.py b/bitbake/lib/bblayers/common.py
index c5657d3..6c76ef3 100644
--- a/bitbake/lib/bblayers/common.py
+++ b/bitbake/lib/bblayers/common.py
@@ -17,7 +17,7 @@  class LayerPlugin():
     def tinfoil_init(self, tinfoil):
         self.tinfoil = tinfoil
         self.bblayers = (self.tinfoil.config_data.getVar('BBLAYERS') or "").split()
-        layerconfs = self.tinfoil.config_data.varhistory.get_variable_items_files('BBFILE_COLLECTIONS', self.tinfoil.config_data)
+        layerconfs = self.tinfoil.config_data.varhistory.get_variable_items_files('BBFILE_COLLECTIONS')
         self.bbfile_collections = {layer: os.path.dirname(os.path.dirname(path)) for layer, path in layerconfs.items()}
 
     @staticmethod
diff --git a/bitbake/lib/bblayers/layerindex.py b/bitbake/lib/bblayers/layerindex.py
index 57cd902..95b67a6 100644
--- a/bitbake/lib/bblayers/layerindex.py
+++ b/bitbake/lib/bblayers/layerindex.py
@@ -24,7 +24,7 @@  class LayerIndexPlugin(ActionPlugin):
     This class inherits ActionPlugin to get do_add_layer.
     """
 
-    def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer):
+    def get_fetch_layer(self, fetchdir, url, subdir, fetch_layer, branch, shallow=False):
         layername = self.get_layer_name(url)
         if os.path.splitext(layername)[1] == '.git':
             layername = os.path.splitext(layername)[0]
@@ -32,9 +32,15 @@  class LayerIndexPlugin(ActionPlugin):
         layerdir = os.path.join(repodir, subdir)
         if not os.path.exists(repodir):
             if fetch_layer:
-                result = subprocess.call(['git', 'clone', url, repodir])
+                cmd = ['git', 'clone']
+                if shallow:
+                    cmd.extend(['--depth', '1'])
+                if branch:
+                    cmd.extend(['-b' , branch])
+                cmd.extend([url, repodir])
+                result = subprocess.call(cmd)
                 if result:
-                    logger.error("Failed to download %s" % url)
+                    logger.error("Failed to download %s (%s)" % (url, branch))
                     return None, None, None
                 else:
                     return subdir, layername, layerdir
@@ -171,7 +177,9 @@  class LayerIndexPlugin(ActionPlugin):
                 subdir, name, layerdir = self.get_fetch_layer(fetchdir,
                                                       layerBranch.layer.vcs_url,
                                                       layerBranch.vcs_subdir,
-                                                      not args.show_only)
+                                                      not args.show_only,
+                                                      layerBranch.actual_branch,
+                                                      args.shallow)
                 if not name:
                     # Error already shown
                     return 1
@@ -204,6 +212,7 @@  class LayerIndexPlugin(ActionPlugin):
         parser_layerindex_fetch = self.add_command(sp, 'layerindex-fetch', self.do_layerindex_fetch, parserecipes=False)
         parser_layerindex_fetch.add_argument('-n', '--show-only', help='show dependencies and do nothing else', action='store_true')
         parser_layerindex_fetch.add_argument('-b', '--branch', help='branch name to fetch')
+        parser_layerindex_fetch.add_argument('-s', '--shallow', help='do only shallow clones (--depth=1)', action='store_true')
         parser_layerindex_fetch.add_argument('-i', '--ignore', help='assume the specified layers do not need to be fetched/added (separate multiple layers with commas, no spaces)', metavar='LAYER')
         parser_layerindex_fetch.add_argument('layername', nargs='+', help='layer to fetch')
 
diff --git a/bitbake/lib/bblayers/query.py b/bitbake/lib/bblayers/query.py
index 7db49c8..e2cc310 100644
--- a/bitbake/lib/bblayers/query.py
+++ b/bitbake/lib/bblayers/query.py
@@ -46,7 +46,7 @@  layer, with the preferred version first. Note that skipped recipes that
 are overlayed will also be listed, with a " (skipped)" suffix.
 """
 
-        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None)
+        items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None, args.mc)
 
         # Check for overlayed .bbclass files
         classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@  skipped recipes will also be listed, with a " (skipped)" suffix.
             title = 'Matching recipes:'
         else:
             title = 'Available recipes:'
-        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.recipes_only, args.multiple, args.layer, args.bare, inheritlist)
+        self.list_recipes(title, args.pnspec, False, False, args.filenames, args.recipes_only, args.multiple, args.layer, args.bare, inheritlist, args.mc)
 
-    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_recipes_only, show_multi_provider_only, selected_layer, bare, inherits):
+    def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_recipes_only, show_multi_provider_only, selected_layer, bare, inherits, mc):
         if inherits:
             bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
             for classname in inherits:
@@ -123,14 +123,18 @@  skipped recipes will also be listed, with a " (skipped)" suffix.
                     logger.error('No class named %s found in BBPATH', classfile)
                     sys.exit(1)
 
-        pkg_pn = self.tinfoil.cooker.recipecaches[''].pkg_pn
-        (latest_versions, preferred_versions) = self.tinfoil.find_providers()
-        allproviders = self.tinfoil.get_all_providers()
+        pkg_pn = self.tinfoil.cooker.recipecaches[mc].pkg_pn
+        (latest_versions, preferred_versions) = self.tinfoil.find_providers(mc)
+        allproviders = self.tinfoil.get_all_providers(mc)
 
         # Ensure we list skipped recipes
         # We are largely guessing about PN, PV and the preferred version here,
         # but we have no choice since skipped recipes are not fully parsed
         skiplist = list(self.tinfoil.cooker.skiplist.keys())
+        mcspec = 'mc:%s:' % mc
+        if mc:
+            skiplist = [s[len(mcspec):] for s in skiplist if s.startswith(mcspec)]
+
         for fn in skiplist:
             recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
             p = recipe_parts[0]
@@ -187,7 +191,7 @@  skipped recipes will also be listed, with a " (skipped)" suffix.
                 # We only display once per recipe, we should prefer non extended versions of the
                 # recipe if present (so e.g. in OpenEmbedded, openssl rather than nativesdk-openssl
                 # which would otherwise sort first).
-                if realfn[1] and realfn[0] in self.tinfoil.cooker.recipecaches[''].pkg_fn:
+                if realfn[1] and realfn[0] in self.tinfoil.cooker.recipecaches[mc].pkg_fn:
                     continue
 
                 if inherits:
@@ -496,6 +500,7 @@  NOTE: .bbappend files can impact the dependencies.
         parser_show_overlayed = self.add_command(sp, 'show-overlayed', self.do_show_overlayed)
         parser_show_overlayed.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
         parser_show_overlayed.add_argument('-s', '--same-version', help='only list overlayed recipes where the version is the same', action='store_true')
+        parser_show_overlayed.add_argument('--mc', help='use specified multiconfig', default='')
 
         parser_show_recipes = self.add_command(sp, 'show-recipes', self.do_show_recipes)
         parser_show_recipes.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
@@ -504,6 +509,7 @@  NOTE: .bbappend files can impact the dependencies.
         parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
         parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the selected layer', default='')
         parser_show_recipes.add_argument('-b', '--bare', help='output just names without the "(skipped)" marker', action='store_true')
+        parser_show_recipes.add_argument('--mc', help='use specified multiconfig', default='')
         parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
 
         parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
diff --git a/bitbake/lib/bs4/__init__.py b/bitbake/lib/bs4/__init__.py
index f6fdfd5..e35725b 100644
--- a/bitbake/lib/bs4/__init__.py
+++ b/bitbake/lib/bs4/__init__.py
@@ -427,7 +427,7 @@  class BeautifulSoup(Tag):
         if self.is_xml:
             # Print the XML declaration
             encoding_part = ''
-            if eventual_encoding != None:
+            if eventual_encoding is not None:
                 encoding_part = ' encoding="%s"' % eventual_encoding
             prefix = '<?xml version="1.0"%s?>\n' % encoding_part
         else:
diff --git a/bitbake/lib/bs4/builder/_html5lib.py b/bitbake/lib/bs4/builder/_html5lib.py
index 2b7a70a..9e9216e 100644
--- a/bitbake/lib/bs4/builder/_html5lib.py
+++ b/bitbake/lib/bs4/builder/_html5lib.py
@@ -2,7 +2,6 @@  __all__ = [
     'HTML5TreeBuilder',
     ]
 
-from pdb import set_trace
 import warnings
 from bs4.builder import (
     PERMISSIVE,
@@ -322,7 +321,7 @@  class Element(treebuildersbase.Node):
         return self.element.contents
 
     def getNameTuple(self):
-        if self.namespace == None:
+        if self.namespace is None:
             return namespaces["html"], self.name
         else:
             return self.namespace, self.name
diff --git a/bitbake/lib/bs4/dammit.py b/bitbake/lib/bs4/dammit.py
index 805aa90..7ad9e0d 100644
--- a/bitbake/lib/bs4/dammit.py
+++ b/bitbake/lib/bs4/dammit.py
@@ -8,12 +8,10 @@  XML or HTML to reflect a new encoding; that's the tree builder's job.
 """
 __license__ = "MIT"
 
-from pdb import set_trace
 import codecs
 from html.entities import codepoint2name
 import re
 import logging
-import string
 
 # Import a library to autodetect character encodings.
 chardet_type = None
@@ -38,12 +36,6 @@  except ImportError:
         def chardet_dammit(s):
             return None
 
-# Available from http://cjkpython.i18n.org/.
-try:
-    import iconv_codec
-except ImportError:
-    pass
-
 xml_encoding_re = re.compile(
     r'^<\?.*encoding=[\'"](.*?)[\'"].*\?>'.encode(), re.I)
 html_meta_re = re.compile(
diff --git a/bitbake/lib/bs4/element.py b/bitbake/lib/bs4/element.py
index 3775a60..68be42d 100644
--- a/bitbake/lib/bs4/element.py
+++ b/bitbake/lib/bs4/element.py
@@ -1,6 +1,5 @@ 
 __license__ = "MIT"
 
-from pdb import set_trace
 import collections.abc
 import re
 import sys
diff --git a/bitbake/lib/bs4/testing.py b/bitbake/lib/bs4/testing.py
index 3a2f260..953bca8 100644
--- a/bitbake/lib/bs4/testing.py
+++ b/bitbake/lib/bs4/testing.py
@@ -4,7 +4,6 @@  __license__ = "MIT"
 
 import pickle
 import copy
-import functools
 import unittest
 from unittest import TestCase
 from bs4 import BeautifulSoup
diff --git a/bitbake/lib/bs4/tests/test_docs.py b/bitbake/lib/bs4/tests/test_docs.py
index 5b9f677..d1d76a3 100644
--- a/bitbake/lib/bs4/tests/test_docs.py
+++ b/bitbake/lib/bs4/tests/test_docs.py
@@ -7,19 +7,15 @@  __all__ = [
     'additional_tests',
     ]
 
-import atexit
 import doctest
-import os
 #from pkg_resources import (
 #    resource_filename, resource_exists, resource_listdir, cleanup_resources)
-import unittest
 
 DOCTEST_FLAGS = (
     doctest.ELLIPSIS |
     doctest.NORMALIZE_WHITESPACE |
     doctest.REPORT_NDIFF)
 
-
 # def additional_tests():
 #     "Run the doc tests (README.txt and docs/*, if any exist)"
 #     doctest_files = [
diff --git a/bitbake/lib/bs4/tests/test_htmlparser.py b/bitbake/lib/bs4/tests/test_htmlparser.py
index b45e35f..30a25e6 100644
--- a/bitbake/lib/bs4/tests/test_htmlparser.py
+++ b/bitbake/lib/bs4/tests/test_htmlparser.py
@@ -1,7 +1,6 @@ 
 """Tests to ensure that the html.parser tree builder generates good
 trees."""
 
-from pdb import set_trace
 import pickle
 from bs4.testing import SoupTest, HTMLTreeBuilderSmokeTest
 from bs4.builder import HTMLParserTreeBuilder
diff --git a/bitbake/lib/bs4/tests/test_lxml.py b/bitbake/lib/bs4/tests/test_lxml.py
index 6c2a1d7..6b6cdd0 100644
--- a/bitbake/lib/bs4/tests/test_lxml.py
+++ b/bitbake/lib/bs4/tests/test_lxml.py
@@ -1,6 +1,5 @@ 
 """Tests to ensure that the lxml tree builder generates good trees."""
 
-import re
 import warnings
 
 try:
@@ -14,13 +13,8 @@  except ImportError as e:
 if LXML_PRESENT:
     from bs4.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML
 
-from bs4 import (
-    BeautifulSoup,
-    BeautifulStoneSoup,
-    )
-from bs4.element import Comment, Doctype, SoupStrainer
+from bs4 import BeautifulStoneSoup
 from bs4.testing import skipIf
-from bs4.tests import test_htmlparser
 from bs4.testing import (
     HTMLTreeBuilderSmokeTest,
     XMLTreeBuilderSmokeTest,
diff --git a/bitbake/lib/bs4/tests/test_soup.py b/bitbake/lib/bs4/tests/test_soup.py
index f87949e..6ad3cb3 100644
--- a/bitbake/lib/bs4/tests/test_soup.py
+++ b/bitbake/lib/bs4/tests/test_soup.py
@@ -1,16 +1,12 @@ 
 # -*- coding: utf-8 -*-
 """Tests of Beautiful Soup as a whole."""
 
-from pdb import set_trace
 import logging
 import unittest
 import sys
 import tempfile
 
-from bs4 import (
-    BeautifulSoup,
-    BeautifulStoneSoup,
-)
+from bs4 import BeautifulSoup
 from bs4.element import (
     CharsetMetaAttributeValue,
     ContentMetaAttributeValue,
diff --git a/bitbake/lib/bs4/tests/test_tree.py b/bitbake/lib/bs4/tests/test_tree.py
index 6d3e67f..8e5c664 100644
--- a/bitbake/lib/bs4/tests/test_tree.py
+++ b/bitbake/lib/bs4/tests/test_tree.py
@@ -9,16 +9,12 @@  same markup, but all Beautiful Soup trees can be traversed with the
 methods tested here.
 """
 
-from pdb import set_trace
 import copy
 import pickle
 import re
 import warnings
 from bs4 import BeautifulSoup
-from bs4.builder import (
-    builder_registry,
-    HTMLParserTreeBuilder,
-)
+from bs4.builder import builder_registry
 from bs4.element import (
     PY3K,
     CData,
@@ -29,10 +25,7 @@  from bs4.element import (
     SoupStrainer,
     Tag,
 )
-from bs4.testing import (
-    SoupTest,
-    skipIf,
-)
+from bs4.testing import SoupTest
 
 XML_BUILDER_PRESENT = (builder_registry.lookup("xml") is not None)
 LXML_PRESENT = (builder_registry.lookup("lxml") is not None)
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py
index c331862..f95e8f4 100644
--- a/bitbake/lib/hashserv/__init__.py
+++ b/bitbake/lib/hashserv/__init__.py
@@ -6,12 +6,20 @@ 
 from contextlib import closing
 import re
 import sqlite3
+import itertools
+import json
 
 UNIX_PREFIX = "unix://"
 
 ADDR_TYPE_UNIX = 0
 ADDR_TYPE_TCP = 1
 
+# The Python async server defaults to a 64K receive buffer, so we hardcode our
+# maximum chunk size. It would be better if the client and server reported to
+# each other what the maximum chunk sizes were, but that will slow down the
+# connection setup with a round trip delay so I'd rather not do that unless it
+# is necessary
+DEFAULT_MAX_CHUNK = 32 * 1024
 
 def setup_database(database, sync=True):
     db = sqlite3.connect(database)
@@ -66,6 +74,20 @@  def parse_address(addr):
         return (ADDR_TYPE_TCP, (host, int(port)))
 
 
+def chunkify(msg, max_chunk):
+    if len(msg) < max_chunk - 1:
+        yield ''.join((msg, "\n"))
+    else:
+        yield ''.join((json.dumps({
+                'chunk-stream': None
+            }), "\n"))
+
+        args = [iter(msg)] * (max_chunk - 1)
+        for m in map(''.join, itertools.zip_longest(*args, fillvalue='')):
+            yield ''.join(itertools.chain(m, "\n"))
+        yield "\n"
+
+
 def create_server(addr, dbname, *, sync=True):
     from . import server
     db = setup_database(dbname, sync=sync)
diff --git a/bitbake/lib/hashserv/client.py b/bitbake/lib/hashserv/client.py
index f659566..a29af83 100644
--- a/bitbake/lib/hashserv/client.py
+++ b/bitbake/lib/hashserv/client.py
@@ -3,11 +3,11 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from contextlib import closing
 import json
 import logging
 import socket
 import os
+from . import chunkify, DEFAULT_MAX_CHUNK
 
 
 logger = logging.getLogger('hashserv.client')
@@ -26,6 +26,7 @@  class Client(object):
         self.reader = None
         self.writer = None
         self.mode = self.MODE_NORMAL
+        self.max_chunk = DEFAULT_MAX_CHUNK
 
     def connect_tcp(self, address, port):
         def connect_sock():
@@ -59,7 +60,7 @@  class Client(object):
             self.reader = self._socket.makefile('r', encoding='utf-8')
             self.writer = self._socket.makefile('w', encoding='utf-8')
 
-            self.writer.write('OEHASHEQUIV 1.0\n\n')
+            self.writer.write('OEHASHEQUIV 1.1\n\n')
             self.writer.flush()
 
             # Restore mode if the socket is being re-created
@@ -92,18 +93,35 @@  class Client(object):
                 count += 1
 
     def send_message(self, msg):
+        def get_line():
+            line = self.reader.readline()
+            if not line:
+                raise HashConnectionError('Connection closed')
+
+            if not line.endswith('\n'):
+                raise HashConnectionError('Bad message %r' % message)
+
+            return line
+
         def proc():
-            self.writer.write('%s\n' % json.dumps(msg))
+            for c in chunkify(json.dumps(msg), self.max_chunk):
+                self.writer.write(c)
             self.writer.flush()
 
-            l = self.reader.readline()
-            if not l:
-                raise HashConnectionError('Connection closed')
+            l = get_line()
 
-            if not l.endswith('\n'):
-                raise HashConnectionError('Bad message %r' % message)
+            m = json.loads(l)
+            if 'chunk-stream' in m:
+                lines = []
+                while True:
+                    l = get_line().rstrip('\n')
+                    if not l:
+                        break
+                    lines.append(l)
 
-            return json.loads(l)
+                m = json.loads(''.join(lines))
+
+            return m
 
         return self._send_wrapper(proc)
 
@@ -148,6 +166,22 @@  class Client(object):
         m['unihash'] = unihash
         return self.send_message({'report': m})
 
+    def report_unihash_equiv(self, taskhash, method, unihash, extra={}):
+        self._set_mode(self.MODE_NORMAL)
+        m = extra.copy()
+        m['taskhash'] = taskhash
+        m['method'] = method
+        m['unihash'] = unihash
+        return self.send_message({'report-equiv': m})
+
+    def get_taskhash(self, method, taskhash, all_properties=False):
+        self._set_mode(self.MODE_NORMAL)
+        return self.send_message({'get': {
+            'taskhash': taskhash,
+            'method': method,
+            'all': all_properties
+        }})
+
     def get_stats(self):
         self._set_mode(self.MODE_NORMAL)
         return self.send_message({'get-stats': None})
diff --git a/bitbake/lib/hashserv/server.py b/bitbake/lib/hashserv/server.py
index 0aff776..8105071 100644
--- a/bitbake/lib/hashserv/server.py
+++ b/bitbake/lib/hashserv/server.py
@@ -13,6 +13,7 @@  import os
 import signal
 import socket
 import time
+from . import chunkify, DEFAULT_MAX_CHUNK
 
 logger = logging.getLogger('hashserv.server')
 
@@ -107,12 +108,29 @@  class Stats(object):
         return {k: getattr(self, k) for k in ('num', 'total_time', 'max_time', 'average', 'stdev')}
 
 
+class ClientError(Exception):
+    pass
+
 class ServerClient(object):
+    FAST_QUERY = 'SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
+    ALL_QUERY =  'SELECT *                         FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
+
     def __init__(self, reader, writer, db, request_stats):
         self.reader = reader
         self.writer = writer
         self.db = db
         self.request_stats = request_stats
+        self.max_chunk = DEFAULT_MAX_CHUNK
+
+        self.handlers = {
+            'get': self.handle_get,
+            'report': self.handle_report,
+            'report-equiv': self.handle_equivreport,
+            'get-stream': self.handle_get_stream,
+            'get-stats': self.handle_get_stats,
+            'reset-stats': self.handle_reset_stats,
+            'chunk-stream': self.handle_chunk,
+        }
 
     async def process_requests(self):
         try:
@@ -125,7 +143,11 @@  class ServerClient(object):
                 return
 
             (proto_name, proto_version) = protocol.decode('utf-8').rstrip().split()
-            if proto_name != 'OEHASHEQUIV' or proto_version != '1.0':
+            if proto_name != 'OEHASHEQUIV':
+                return
+
+            proto_version = tuple(int(v) for v in proto_version.split('.'))
+            if proto_version < (1, 0) or proto_version > (1, 1):
                 return
 
             # Read headers. Currently, no headers are implemented, so look for
@@ -140,39 +162,34 @@  class ServerClient(object):
                     break
 
             # Handle messages
-            handlers = {
-                'get': self.handle_get,
-                'report': self.handle_report,
-                'get-stream': self.handle_get_stream,
-                'get-stats': self.handle_get_stats,
-                'reset-stats': self.handle_reset_stats,
-            }
-
             while True:
                 d = await self.read_message()
                 if d is None:
                     break
-
-                for k in handlers.keys():
-                    if k in d:
-                        logger.debug('Handling %s' % k)
-                        if 'stream' in k:
-                            await handlers[k](d[k])
-                        else:
-                            with self.request_stats.start_sample() as self.request_sample, \
-                                    self.request_sample.measure():
-                                await handlers[k](d[k])
-                        break
-                else:
-                    logger.warning("Unrecognized command %r" % d)
-                    break
-
+                await self.dispatch_message(d)
                 await self.writer.drain()
+        except ClientError as e:
+            logger.error(str(e))
         finally:
             self.writer.close()
 
+    async def dispatch_message(self, msg):
+        for k in self.handlers.keys():
+            if k in msg:
+                logger.debug('Handling %s' % k)
+                if 'stream' in k:
+                    await self.handlers[k](msg[k])
+                else:
+                    with self.request_stats.start_sample() as self.request_sample, \
+                            self.request_sample.measure():
+                        await self.handlers[k](msg[k])
+                return
+
+        raise ClientError("Unrecognized command %r" % msg)
+
     def write_message(self, msg):
-        self.writer.write(('%s\n' % json.dumps(msg)).encode('utf-8'))
+        for c in chunkify(json.dumps(msg), self.max_chunk):
+            self.writer.write(c.encode('utf-8'))
 
     async def read_message(self):
         l = await self.reader.readline()
@@ -190,14 +207,38 @@  class ServerClient(object):
             logger.error('Bad message from client: %r' % message)
             raise e
 
+    async def handle_chunk(self, request):
+        lines = []
+        try:
+            while True:
+                l = await self.reader.readline()
+                l = l.rstrip(b"\n").decode("utf-8")
+                if not l:
+                    break
+                lines.append(l)
+
+            msg = json.loads(''.join(lines))
+        except (json.JSONDecodeError, UnicodeDecodeError) as e:
+            logger.error('Bad message from client: %r' % message)
+            raise e
+
+        if 'chunk-stream' in msg:
+            raise ClientError("Nested chunks are not allowed")
+
+        await self.dispatch_message(msg)
+
     async def handle_get(self, request):
         method = request['method']
         taskhash = request['taskhash']
 
-        row = self.query_equivalent(method, taskhash)
+        if request.get('all', False):
+            row = self.query_equivalent(method, taskhash, self.ALL_QUERY)
+        else:
+            row = self.query_equivalent(method, taskhash, self.FAST_QUERY)
+
         if row is not None:
             logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
-            d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+            d = {k: row[k] for k in row.keys()}
 
             self.write_message(d)
         else:
@@ -227,7 +268,7 @@  class ServerClient(object):
 
                 (method, taskhash) = l.split()
                 #logger.debug('Looking up %s %s' % (method, taskhash))
-                row = self.query_equivalent(method, taskhash)
+                row = self.query_equivalent(method, taskhash, self.FAST_QUERY)
                 if row is not None:
                     msg = ('%s\n' % row['unihash']).encode('utf-8')
                     #logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
@@ -303,6 +344,41 @@  class ServerClient(object):
 
         self.write_message(d)
 
+    async def handle_equivreport(self, data):
+        with closing(self.db.cursor()) as cursor:
+            insert_data = {
+                'method': data['method'],
+                'outhash': "",
+                'taskhash': data['taskhash'],
+                'unihash': data['unihash'],
+                'created': datetime.now()
+            }
+
+            for k in ('owner', 'PN', 'PV', 'PR', 'task', 'outhash_siginfo'):
+                if k in data:
+                    insert_data[k] = data[k]
+
+            cursor.execute('''INSERT OR IGNORE INTO tasks_v2 (%s) VALUES (%s)''' % (
+                ', '.join(sorted(insert_data.keys())),
+                ', '.join(':' + k for k in sorted(insert_data.keys()))),
+                insert_data)
+
+            self.db.commit()
+
+            # Fetch the unihash that will be reported for the taskhash. If the
+            # unihash matches, it means this row was inserted (or the mapping
+            # was already valid)
+            row = self.query_equivalent(data['method'], data['taskhash'], self.FAST_QUERY)
+
+            if row['unihash'] == data['unihash']:
+                logger.info('Adding taskhash equivalence for %s with unihash %s',
+                                data['taskhash'], row['unihash'])
+
+            d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+
+        self.write_message(d)
+
+
     async def handle_get_stats(self, request):
         d = {
             'requests': self.request_stats.todict(),
@@ -318,12 +394,11 @@  class ServerClient(object):
         self.request_stats.reset()
         self.write_message(d)
 
-    def query_equivalent(self, method, taskhash):
+    def query_equivalent(self, method, taskhash, query):
         # This is part of the inner loop and must be as fast as possible
         try:
             cursor = self.db.cursor()
-            cursor.execute('SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1',
-                           {'method': method, 'taskhash': taskhash})
+            cursor.execute(query, {'method': method, 'taskhash': taskhash})
             return cursor.fetchone()
         except:
             cursor.close()
diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py
index a5472a9..6e86295 100644
--- a/bitbake/lib/hashserv/tests.py
+++ b/bitbake/lib/hashserv/tests.py
@@ -99,6 +99,29 @@  class TestHashEquivalenceServer(object):
         result = self.client.get_unihash(self.METHOD, taskhash)
         self.assertEqual(result, unihash)
 
+    def test_huge_message(self):
+        # Simple test that hashes can be created
+        taskhash = 'c665584ee6817aa99edfc77a44dd853828279370'
+        outhash = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44'
+        unihash = '90e9bc1d1f094c51824adca7f8ea79a048d68824'
+
+        result = self.client.get_unihash(self.METHOD, taskhash)
+        self.assertIsNone(result, msg='Found unexpected task, %r' % result)
+
+        siginfo = "0" * (self.client.max_chunk * 4)
+
+        result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash, {
+            'outhash_siginfo': siginfo
+        })
+        self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
+
+        result = self.client.get_taskhash(self.METHOD, taskhash, True)
+        self.assertEqual(result['taskhash'], taskhash)
+        self.assertEqual(result['unihash'], unihash)
+        self.assertEqual(result['method'], self.METHOD)
+        self.assertEqual(result['outhash'], outhash)
+        self.assertEqual(result['outhash_siginfo'], siginfo)
+
     def test_stress(self):
         def query_server(failures):
             client = Client(self.server.address)
diff --git a/bitbake/lib/layerindexlib/cooker.py b/bitbake/lib/layerindexlib/cooker.py
index 604a961..65b23d0 100644
--- a/bitbake/lib/layerindexlib/cooker.py
+++ b/bitbake/lib/layerindexlib/cooker.py
@@ -4,9 +4,8 @@ 
 #
 
 import logging
-import json
 
-from collections import OrderedDict, defaultdict
+from collections import defaultdict
 
 from urllib.parse import unquote, urlparse
 
@@ -94,7 +93,7 @@  class CookerPlugin(layerindexlib.plugin.IndexPlugin):
             return index
 
         collections = d.getVar('BBFILE_COLLECTIONS')
-        layerconfs = d.varhistory.get_variable_items_files('BBFILE_COLLECTIONS', d)
+        layerconfs = d.varhistory.get_variable_items_files('BBFILE_COLLECTIONS')
         bbfile_collections = {layer: os.path.dirname(os.path.dirname(path)) for layer, path in layerconfs.items()}
 
         (_, bb_branch, _, _) = self._get_bitbake_info()
diff --git a/bitbake/lib/layerindexlib/plugin.py b/bitbake/lib/layerindexlib/plugin.py
index 7015a1a..cadda36 100644
--- a/bitbake/lib/layerindexlib/plugin.py
+++ b/bitbake/lib/layerindexlib/plugin.py
@@ -7,10 +7,7 @@ 
 #   Plugin base class
 #   Utility Functions for working on layerindex data
 
-import argparse
 import logging
-import os
-import bb.msg
 
 logger = logging.getLogger('BitBake.layerindexlib.plugin')
 
diff --git a/bitbake/lib/layerindexlib/tests/cooker.py b/bitbake/lib/layerindexlib/tests/cooker.py
index 1fa102e..1d0685e 100644
--- a/bitbake/lib/layerindexlib/tests/cooker.py
+++ b/bitbake/lib/layerindexlib/tests/cooker.py
@@ -3,15 +3,12 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import unittest
-import tempfile
 import os
 import bb
 
 import layerindexlib
 from layerindexlib.tests.common import LayersTest
 
-import logging
 
 class LayerIndexCookerTest(LayersTest):
 
diff --git a/bitbake/lib/layerindexlib/tests/layerindexobj.py b/bitbake/lib/layerindexlib/tests/layerindexobj.py
index 0c5ec88..de1e474 100644
--- a/bitbake/lib/layerindexlib/tests/layerindexobj.py
+++ b/bitbake/lib/layerindexlib/tests/layerindexobj.py
@@ -3,14 +3,8 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import unittest
-import tempfile
-import os
-import bb
-
 from layerindexlib.tests.common import LayersTest
 
-import logging
 
 class LayerIndexObjectsTest(LayersTest):
     def setUp(self):
diff --git a/bitbake/lib/layerindexlib/tests/restapi.py b/bitbake/lib/layerindexlib/tests/restapi.py
index 6d8dc00..e5ccafe 100644
--- a/bitbake/lib/layerindexlib/tests/restapi.py
+++ b/bitbake/lib/layerindexlib/tests/restapi.py
@@ -4,14 +4,11 @@ 
 #
 
 import unittest
-import tempfile
 import os
-import bb
 
 import layerindexlib
 from layerindexlib.tests.common import LayersTest
 
-import logging
 
 def skipIfNoNetwork():
     if os.environ.get("BB_SKIP_NETTESTS") == "yes":
diff --git a/bitbake/lib/ply/yacc.py b/bitbake/lib/ply/yacc.py
index d50886e..561784f 100644
--- a/bitbake/lib/ply/yacc.py
+++ b/bitbake/lib/ply/yacc.py
@@ -488,7 +488,7 @@  class LRParser:
                     # --! DEBUG
                     return result
 
-            if t == None:
+            if t is None:
 
                 # --! DEBUG
                 debug.error('Error  : %s',
@@ -766,7 +766,7 @@  class LRParser:
                     n = symstack[-1]
                     return getattr(n,"value",None)
 
-            if t == None:
+            if t is None:
 
                 # We have some kind of parsing error here.  To handle
                 # this, we are going to push the current token onto
@@ -1021,7 +1021,7 @@  class LRParser:
                     n = symstack[-1]
                     return getattr(n,"value",None)
 
-            if t == None:
+            if t is None:
 
                 # We have some kind of parsing error here.  To handle
                 # this, we are going to push the current token onto
diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py
index 117d8c0..cb2a246 100644
--- a/bitbake/lib/prserv/db.py
+++ b/bitbake/lib/prserv/db.py
@@ -71,7 +71,7 @@  class PRTable(object):
         data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                            (version, pkgarch, checksum))
         row=data.fetchone()
-        if row != None:
+        if row is not None:
             return row[0]
         else:
             #no value found, try to insert
@@ -87,7 +87,7 @@  class PRTable(object):
             data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                                (version, pkgarch, checksum))
             row=data.fetchone()
-            if row != None:
+            if row is not None:
                 return row[0]
             else:
                 raise prserv.NotFoundError
@@ -99,7 +99,7 @@  class PRTable(object):
                             % (self.table, self.table),
                             (version, pkgarch, checksum, version, pkgarch))
         row=data.fetchone()
-        if row != None:
+        if row is not None:
             return row[0]
         else:
             #no value found, try to insert
@@ -116,7 +116,7 @@  class PRTable(object):
             data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                                (version, pkgarch, checksum))
             row=data.fetchone()
-            if row != None:
+            if row is not None:
                 return row[0]
             else:
                 raise prserv.NotFoundError
@@ -132,7 +132,7 @@  class PRTable(object):
         data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                            (version, pkgarch, checksum))
         row = data.fetchone()
-        if row != None:
+        if row is not None:
             val=row[0]
         else:
             #no value found, try to insert
@@ -147,7 +147,7 @@  class PRTable(object):
             data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
                            (version, pkgarch, checksum))
             row = data.fetchone()
-            if row != None:
+            if row is not None:
                 val = row[0]
         return val
 
@@ -170,7 +170,7 @@  class PRTable(object):
         data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table,
                             (version,pkgarch,checksum,value))
         row=data.fetchone()
-        if row != None:
+        if row is not None:
             return row[0]
         else:
             return None
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index be3acec..25dcf8a 100644
--- a/bitbake/lib/prserv/serv.py
+++ b/bitbake/lib/prserv/serv.py
@@ -243,6 +243,7 @@  class PRServer(SimpleXMLRPCServer):
         try:
             pid = os.fork()
             if pid > 0:
+                self.socket.close() # avoid ResourceWarning in parent
                 return pid
         except OSError as e:
             raise Exception("%s [%d]" % (e.strerror, e.errno))
@@ -291,10 +292,9 @@  class PRServer(SimpleXMLRPCServer):
         logger.addHandler(streamhandler)
 
         # write pidfile
-        pid = str(os.getpid()) 
-        pf = open(self.pidfile, 'w')
-        pf.write("%s\n" % pid)
-        pf.close()
+        pid = str(os.getpid())
+        with open(self.pidfile, 'w') as pf:
+            pf.write("%s\n" % pid)
 
         self.work_forever()
         self.delpid()
@@ -352,9 +352,8 @@  def start_daemon(dbfile, host, port, logfile):
     ip = socket.gethostbyname(host)
     pidfile = PIDPREFIX % (ip, port)
     try:
-        pf = open(pidfile,'r')
-        pid = int(pf.readline().strip())
-        pf.close()
+        with open(pidfile) as pf:
+            pid = int(pf.readline().strip())
     except IOError:
         pid = None
 
@@ -379,9 +378,8 @@  def stop_daemon(host, port):
     ip = socket.gethostbyname(host)
     pidfile = PIDPREFIX % (ip, port)
     try:
-        pf = open(pidfile,'r')
-        pid = int(pf.readline().strip())
-        pf.close()
+        with open(pidfile) as pf:
+            pid = int(pf.readline().strip())
     except IOError:
         pid = None
 
@@ -449,29 +447,35 @@  class PRServiceConfigError(Exception):
 def auto_start(d):
     global singleton
 
-    # Shutdown any existing PR Server
-    auto_shutdown()
-
     host_params = list(filter(None, (d.getVar('PRSERV_HOST') or '').split(':')))
     if not host_params:
+        # Shutdown any existing PR Server
+        auto_shutdown()
         return None
 
     if len(host_params) != 2:
+        # Shutdown any existing PR Server
+        auto_shutdown()
         logger.critical('\n'.join(['PRSERV_HOST: incorrect format',
                 'Usage: PRSERV_HOST = "<hostname>:<port>"']))
         raise PRServiceConfigError
 
-    if is_local_special(host_params[0], int(host_params[1])) and not singleton:
+    if is_local_special(host_params[0], int(host_params[1])):
         import bb.utils
         cachedir = (d.getVar("PERSISTENT_DIR") or d.getVar("CACHE"))
         if not cachedir:
             logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
             raise PRServiceConfigError
-        bb.utils.mkdirhier(cachedir)
         dbfile = os.path.join(cachedir, "prserv.sqlite3")
         logfile = os.path.join(cachedir, "prserv.log")
-        singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), ("localhost",0))
-        singleton.start()
+        if singleton:
+            if singleton.dbfile != dbfile:
+               # Shutdown any existing PR Server as doesn't match config
+               auto_shutdown()
+        if not singleton:
+            bb.utils.mkdirhier(cachedir)
+            singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), ("localhost",0))
+            singleton.start()
     if singleton:
         host, port = singleton.getinfo()
     else:
diff --git a/bitbake/lib/pyinotify.py b/bitbake/lib/pyinotify.py
index 1528a22..6ae40a2 100644
--- a/bitbake/lib/pyinotify.py
+++ b/bitbake/lib/pyinotify.py
@@ -1274,7 +1274,7 @@  class Notifier:
             basename = os.path.basename(sys.argv[0]) or 'pyinotify'
             pid_file = os.path.join(dirname, basename + '.pid')
 
-        if pid_file != False and os.path.lexists(pid_file):
+        if pid_file and os.path.lexists(pid_file):
             err = 'Cannot daemonize: pid file %s already exists.' % pid_file
             raise NotifierError(err)
 
@@ -1308,7 +1308,7 @@  class Notifier:
         fork_daemon()
 
         # Write pid
-        if pid_file != False:
+        if pid_file:
             flags = os.O_WRONLY|os.O_CREAT|os.O_NOFOLLOW|os.O_EXCL
             fd_pid = os.open(pid_file, flags, 0o0600)
             os.write(fd_pid,  bytes(str(os.getpid()) + '\n',
diff --git a/bitbake/lib/toaster/bldcollector/urls.py b/bitbake/lib/toaster/bldcollector/urls.py
index 8eb1e34..efd67a8 100644
--- a/bitbake/lib/toaster/bldcollector/urls.py
+++ b/bitbake/lib/toaster/bldcollector/urls.py
@@ -6,7 +6,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import include, url
+from django.conf.urls import url
 
 import bldcollector.views
 
diff --git a/bitbake/lib/toaster/bldcollector/views.py b/bitbake/lib/toaster/bldcollector/views.py
index c708b41..04cd8b3 100644
--- a/bitbake/lib/toaster/bldcollector/views.py
+++ b/bitbake/lib/toaster/bldcollector/views.py
@@ -6,16 +6,8 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.views.decorators.cache import cache_control
-from django.core.urlresolvers import reverse
-from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
+from django.urls import reverse
 from django.http import HttpResponseBadRequest, HttpResponse
-from django.utils import timezone
-from django.utils.html import escape
-from datetime import timedelta
-from django.utils import formats
-from toastergui.templatetags.projecttags import json as jsonfilter
-import json
 import os
 import tempfile
 import subprocess
diff --git a/bitbake/lib/toaster/bldcontrol/admin.py b/bitbake/lib/toaster/bldcontrol/admin.py
index e85c30e..1754bc1 100644
--- a/bitbake/lib/toaster/bldcontrol/admin.py
+++ b/bitbake/lib/toaster/bldcontrol/admin.py
@@ -3,7 +3,6 @@ 
 #
 
 from django.contrib import admin
-from django.contrib.admin.filters import RelatedFieldListFilter
 from .models import BuildEnvironment
 
 class BuildEnvironmentAdmin(admin.ModelAdmin):
diff --git a/bitbake/lib/toaster/bldcontrol/bbcontroller.py b/bitbake/lib/toaster/bldcontrol/bbcontroller.py
index 301df18..71c288d 100644
--- a/bitbake/lib/toaster/bldcontrol/bbcontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/bbcontroller.py
@@ -8,10 +8,8 @@ 
 
 import os
 import sys
-import re
-from django.db import transaction
 from django.db.models import Q
-from bldcontrol.models import BuildEnvironment, BRLayer, BRVariable, BRTarget, BRBitbake
+from bldcontrol.models import BuildEnvironment, BRLayer, BRBitbake
 
 # load Bitbake components
 path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
diff --git a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
index 39ea736..75674cc 100644
--- a/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
+++ b/bitbake/lib/toaster/bldcontrol/localhostbecontroller.py
@@ -7,27 +7,24 @@ 
 #
 
 import os
-import sys
 import re
 import shutil
 import time
-from django.db import transaction
-from django.db.models import Q
-from bldcontrol.models import BuildEnvironment, BuildRequest, BRLayer, BRVariable, BRTarget, BRBitbake, Build
-from orm.models import CustomImageRecipe, Layer, Layer_Version, Project, ProjectLayer, ToasterSetting
+from bldcontrol.models import BuildEnvironment, BuildRequest, Build
+from orm.models import CustomImageRecipe, Layer, Layer_Version, Project, ToasterSetting
 from orm.models import signal_runbuilds
 import subprocess
 
 from toastermain import settings
 
-from bldcontrol.bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException, BitbakeController
+from bldcontrol.bbcontroller import BuildEnvironmentController, ShellCmdException, BuildSetupException
 
 import logging
 logger = logging.getLogger("toaster")
 
 install_dir = os.environ.get('TOASTER_DIR')
 
-from pprint import pprint, pformat
+from pprint import pformat
 
 class LocalhostBEController(BuildEnvironmentController):
     """ Implementation of the BuildEnvironmentController for the localhost;
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
index fe2c4dc..20f9dce 100644
--- a/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
+++ b/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py
@@ -2,11 +2,9 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.management.base import BaseCommand, CommandError
-from django.db import transaction
+from django.core.management.base import BaseCommand
 
 from django.core.management import call_command
-from bldcontrol.bbcontroller import getBuildEnvironmentController, ShellCmdException
 from bldcontrol.models import BuildRequest, BuildEnvironment, BRError
 from orm.models import ToasterSetting, Build, Layer
 
@@ -80,7 +78,7 @@  class Command(BaseCommand):
                         template_conf = os.environ.get("TEMPLATECONF", "")
                         custom_xml_only = os.environ.get("CUSTOM_XML_ONLY")
 
-                        if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0 or (not custom_xml_only == None):
+                        if ToasterSetting.objects.filter(name='CUSTOM_XML_ONLY').count() > 0 or custom_xml_only is not None:
                             # only use the custom settings
                             pass
                         elif "poky" in template_conf:
diff --git a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 50ec409..19f659e 100644
--- a/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -168,17 +168,17 @@  class Command(BaseCommand):
         try:
             self.cleanup()
         except Exception as e:
-            logger.warn("runbuilds: cleanup exception %s" % str(e))
+            logger.warning("runbuilds: cleanup exception %s" % str(e))
 
         try:
             self.archive()
         except Exception as e:
-            logger.warn("runbuilds: archive exception %s" % str(e))
+            logger.warning("runbuilds: archive exception %s" % str(e))
 
         try:
             self.schedule()
         except Exception as e:
-            logger.warn("runbuilds: schedule exception %s" % str(e))
+            logger.warning("runbuilds: schedule exception %s" % str(e))
 
     def handle(self, **options):
         pidfile_path = os.path.join(os.environ.get("BUILDDIR", "."),
diff --git a/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py b/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
index 67db378..7ee19f4 100644
--- a/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
+++ b/bitbake/lib/toaster/bldcontrol/migrations/0001_initial.py
@@ -37,7 +37,7 @@  class Migration(migrations.Migration):
                 ('giturl', models.CharField(max_length=254)),
                 ('commit', models.CharField(max_length=254)),
                 ('dirpath', models.CharField(max_length=254)),
-                ('layer_version', models.ForeignKey(to='orm.Layer_Version', null=True)),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -80,34 +80,34 @@  class Migration(migrations.Migration):
                 ('state', models.IntegerField(default=0, choices=[(0, b'created'), (1, b'queued'), (2, b'in progress'), (3, b'completed'), (4, b'failed'), (5, b'deleted'), (6, b'archive')])),
                 ('created', models.DateTimeField(auto_now_add=True)),
                 ('updated', models.DateTimeField(auto_now=True)),
-                ('build', models.OneToOneField(null=True, to='orm.Build')),
-                ('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('build', models.OneToOneField(null=True, to='orm.Build', on_delete=models.CASCADE)),
+                ('environment', models.ForeignKey(to='bldcontrol.BuildEnvironment', null=True, on_delete=models.CASCADE)),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.AddField(
             model_name='brvariable',
             name='req',
-            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+            field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='brtarget',
             name='req',
-            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+            field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='brlayer',
             name='req',
-            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+            field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='brerror',
             name='req',
-            field=models.ForeignKey(to='bldcontrol.BuildRequest'),
+            field=models.ForeignKey(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='brbitbake',
             name='req',
-            field=models.OneToOneField(to='bldcontrol.BuildRequest'),
+            field=models.OneToOneField(to='bldcontrol.BuildRequest', on_delete=models.CASCADE),
         ),
     ]
diff --git a/bitbake/lib/toaster/bldcontrol/models.py b/bitbake/lib/toaster/bldcontrol/models.py
index bcffcf5..c2f302d 100644
--- a/bitbake/lib/toaster/bldcontrol/models.py
+++ b/bitbake/lib/toaster/bldcontrol/models.py
@@ -4,9 +4,8 @@ 
 
 from __future__ import unicode_literals
 from django.db import models
-from django.core.validators import MaxValueValidator, MinValueValidator
 from django.utils.encoding import force_text
-from orm.models import Project, ProjectLayer, ProjectVariable, ProjectTarget, Build, Layer_Version
+from orm.models import Project, Build, Layer_Version
 
 import logging
 logger = logging.getLogger("toaster")
@@ -86,9 +85,9 @@  class BuildRequest(models.Model):
 
     search_allowed_fields = ("brtarget__target", "build__project__name")
 
-    project     = models.ForeignKey(Project)
-    build       = models.OneToOneField(Build, null = True)     # TODO: toasterui should set this when Build is created
-    environment = models.ForeignKey(BuildEnvironment, null = True)
+    project     = models.ForeignKey(Project, on_delete=models.CASCADE)
+    build       = models.OneToOneField(Build, on_delete=models.CASCADE, null = True)     # TODO: toasterui should set this when Build is created
+    environment = models.ForeignKey(BuildEnvironment, on_delete=models.CASCADE, null = True)
     state       = models.IntegerField(choices = REQUEST_STATE, default = REQ_CREATED)
     created     = models.DateTimeField(auto_now_add = True)
     updated     = models.DateTimeField(auto_now = True)
@@ -132,32 +131,32 @@  class BuildRequest(models.Model):
 
 
 class BRLayer(models.Model):
-    req = models.ForeignKey(BuildRequest)
+    req = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
     name = models.CharField(max_length=100)
     giturl = models.CharField(max_length=254, null=True)
     local_source_dir = models.CharField(max_length=254, null=True)
     commit = models.CharField(max_length=254, null=True)
     dirpath = models.CharField(max_length=254, null=True)
-    layer_version = models.ForeignKey(Layer_Version, null=True)
+    layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
 
 class BRBitbake(models.Model):
-    req         = models.OneToOneField(BuildRequest)    # only one bitbake for a request
+    req         = models.OneToOneField(BuildRequest, on_delete=models.CASCADE)    # only one bitbake for a request
     giturl      = models.CharField(max_length =254)
     commit      = models.CharField(max_length = 254)
     dirpath     = models.CharField(max_length = 254)
 
 class BRVariable(models.Model):
-    req         = models.ForeignKey(BuildRequest)
+    req         = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
     name        = models.CharField(max_length=100)
     value       = models.TextField(blank = True)
 
 class BRTarget(models.Model):
-    req         = models.ForeignKey(BuildRequest)
+    req         = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
     target      = models.CharField(max_length=100)
     task        = models.CharField(max_length=100, null=True)
 
 class BRError(models.Model):
-    req         = models.ForeignKey(BuildRequest)
+    req         = models.ForeignKey(BuildRequest, on_delete=models.CASCADE)
     errtype     = models.CharField(max_length=100)
     errmsg      = models.TextField()
     traceback   = models.TextField()
diff --git a/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index a723f5a..fd93f4d 100644
--- a/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -8,9 +8,9 @@ 
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">warrior</field>
+    <field type="CharField" name="name">dunfell</field>
     <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
-    <field type="CharField" name="branch">1.42</field>
+    <field type="CharField" name="branch">1.46</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
     <field type="CharField" name="name">HEAD</field>
@@ -30,11 +30,11 @@ 
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">warrior</field>
-    <field type="CharField" name="description">Openembedded Warrior</field>
+    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="description">Openembedded Dunfell</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">warrior</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=warrior\"&gt;OpenEmbedded Warrior&lt;/a&gt; branch.</field>
+    <field type="CharField" name="branch_name">dunfell</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=dunfell\"&gt;OpenEmbedded Dunfell&lt;/a&gt; branch.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
diff --git a/bitbake/lib/toaster/orm/fixtures/poky.xml b/bitbake/lib/toaster/orm/fixtures/poky.xml
index 7992383..902bc88 100644
--- a/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -8,9 +8,9 @@ 
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">warrior</field>
+    <field type="CharField" name="name">dunfell</field>
     <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">bitbake</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
@@ -35,11 +35,11 @@ 
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">warrior</field>
-    <field type="CharField" name="description">Yocto Project 2.7 "Warrior"</field>
+    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="description">Yocto Project 3.1 "Dunfell"</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">warrior</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=warrior"&gt;Yocto Project Warrior branch&lt;/a&gt;.</field>
+    <field type="CharField" name="branch_name">dunfell</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell"&gt;Yocto Project Dunfell branch&lt;/a&gt;.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
@@ -130,7 +130,7 @@ 
     <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta</field>
   </object>
   <object model="orm.layer_version" pk="2">
@@ -168,7 +168,7 @@ 
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
   <object model="orm.layer_version" pk="6">
@@ -206,7 +206,7 @@ 
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">warrior</field>
+    <field type="CharField" name="branch">dunfell</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
   <object model="orm.layer_version" pk="10">
diff --git a/bitbake/lib/toaster/orm/management/commands/lsupdates.py b/bitbake/lib/toaster/orm/management/commands/lsupdates.py
index 5b5abbb..a4dbcaa 100644
--- a/bitbake/lib/toaster/orm/management/commands/lsupdates.py
+++ b/bitbake/lib/toaster/orm/management/commands/lsupdates.py
@@ -8,7 +8,7 @@ 
 
 from django.core.management.base import BaseCommand
 
-from orm.models import LayerSource, Layer, Release, Layer_Version
+from orm.models import Layer, Release, Layer_Version
 from orm.models import LayerVersionDependency, Machine, Recipe
 from orm.models import Distro
 from orm.models import ToasterSetting
diff --git a/bitbake/lib/toaster/orm/migrations/0001_initial.py b/bitbake/lib/toaster/orm/migrations/0001_initial.py
index 760462f..a8ac23b 100644
--- a/bitbake/lib/toaster/orm/migrations/0001_initial.py
+++ b/bitbake/lib/toaster/orm/migrations/0001_initial.py
@@ -54,7 +54,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -64,7 +64,7 @@  class Migration(migrations.Migration):
                 ('area', models.IntegerField(choices=[(0, b'variable')])),
                 ('key', models.CharField(max_length=100)),
                 ('text', models.TextField()),
-                ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build')),
+                ('build', models.ForeignKey(related_name='helptext_build', to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -94,8 +94,8 @@  class Migration(migrations.Migration):
                 ('dirpath', models.CharField(default=None, max_length=255, null=True)),
                 ('priority', models.IntegerField(default=0)),
                 ('local_path', models.FilePathField(default=b'/', max_length=1024)),
-                ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True)),
-                ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer')),
+                ('build', models.ForeignKey(related_name='layer_version_build', default=None, to='orm.Build', null=True, on_delete=models.CASCADE)),
+                ('layer', models.ForeignKey(related_name='layer_version_layer', to='orm.Layer', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -112,9 +112,9 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('up_id', models.IntegerField(default=None, null=True)),
-                ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version')),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version')),
+                ('depends_on', models.ForeignKey(related_name='dependees', to='orm.Layer_Version', on_delete=models.CASCADE)),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(related_name='dependencies', to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -125,7 +125,7 @@  class Migration(migrations.Migration):
                 ('message', models.TextField(null=True, blank=True)),
                 ('pathname', models.FilePathField(max_length=255, blank=True)),
                 ('lineno', models.IntegerField(null=True)),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -136,8 +136,8 @@  class Migration(migrations.Migration):
                 ('up_date', models.DateTimeField(default=None, null=True)),
                 ('name', models.CharField(max_length=255)),
                 ('description', models.CharField(max_length=255)),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(to='orm.Layer_Version')),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -154,7 +154,7 @@  class Migration(migrations.Migration):
                 ('installed_size', models.IntegerField(default=0)),
                 ('section', models.CharField(max_length=80, blank=True)),
                 ('license', models.CharField(max_length=80, blank=True)),
-                ('build', models.ForeignKey(to='orm.Build', null=True)),
+                ('build', models.ForeignKey(to='orm.Build', null=True, on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -162,8 +162,8 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'depends'), (3, b'recommends'), (2, b'recommends'), (4, b'suggests'), (5, b'provides'), (6, b'replaces'), (7, b'conflicts')])),
-                ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package')),
-                ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package')),
+                ('depends_on', models.ForeignKey(related_name='package_dependencies_target', to='orm.Package', on_delete=models.CASCADE)),
+                ('package', models.ForeignKey(related_name='package_dependencies_source', to='orm.Package', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -172,7 +172,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('path', models.FilePathField(max_length=255, blank=True)),
                 ('size', models.IntegerField()),
-                ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package')),
+                ('package', models.ForeignKey(related_name='buildfilelist_package', to='orm.Package', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -185,7 +185,7 @@  class Migration(migrations.Migration):
                 ('updated', models.DateTimeField(auto_now=True)),
                 ('user_id', models.IntegerField(null=True)),
                 ('is_default', models.BooleanField(default=False)),
-                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True)),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', null=True, on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -193,8 +193,8 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('optional', models.BooleanField(default=True)),
-                ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('layercommit', models.ForeignKey(to='orm.Layer_Version', null=True, on_delete=models.CASCADE)),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -203,7 +203,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('target', models.CharField(max_length=100)),
                 ('task', models.CharField(max_length=100, null=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -212,7 +212,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('name', models.CharField(max_length=100)),
                 ('value', models.TextField(blank=True)),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -232,8 +232,8 @@  class Migration(migrations.Migration):
                 ('file_path', models.FilePathField(max_length=255)),
                 ('pathflags', models.CharField(max_length=200, blank=True)),
                 ('is_image', models.BooleanField(default=False)),
-                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True)),
-                ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version')),
+                ('layer_source', models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE)),
+                ('layer_version', models.ForeignKey(related_name='recipe_layer_version', to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -241,8 +241,8 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('dep_type', models.IntegerField(choices=[(0, b'depends'), (1, b'rdepends')])),
-                ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe')),
-                ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe')),
+                ('depends_on', models.ForeignKey(related_name='r_dependencies_depends', to='orm.Recipe', on_delete=models.CASCADE)),
+                ('recipe', models.ForeignKey(related_name='r_dependencies_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -253,7 +253,7 @@  class Migration(migrations.Migration):
                 ('description', models.CharField(max_length=255)),
                 ('branch_name', models.CharField(default=b'', max_length=50)),
                 ('helptext', models.TextField(null=True)),
-                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion')),
+                ('bitbake_version', models.ForeignKey(to='orm.BitbakeVersion', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -261,7 +261,7 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('layer_name', models.CharField(default=b'', max_length=100)),
-                ('release', models.ForeignKey(to='orm.Release')),
+                ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -269,8 +269,8 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('priority', models.IntegerField(default=0)),
-                ('layer_source', models.ForeignKey(to='orm.LayerSource')),
-                ('release', models.ForeignKey(to='orm.Release')),
+                ('layer_source', models.ForeignKey(to='orm.LayerSource', on_delete=models.CASCADE)),
+                ('release', models.ForeignKey(to='orm.Release', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -282,7 +282,7 @@  class Migration(migrations.Migration):
                 ('is_image', models.BooleanField(default=False)),
                 ('image_size', models.IntegerField(default=0)),
                 ('license_manifest_path', models.CharField(max_length=500, null=True)),
-                ('build', models.ForeignKey(to='orm.Build')),
+                ('build', models.ForeignKey(to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -295,9 +295,9 @@  class Migration(migrations.Migration):
                 ('permission', models.CharField(max_length=16)),
                 ('owner', models.CharField(max_length=128)),
                 ('group', models.CharField(max_length=128)),
-                ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True)),
-                ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True)),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('directory', models.ForeignKey(related_name='directory_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
+                ('sym_target', models.ForeignKey(related_name='symlink_set', to='orm.Target_File', null=True, on_delete=models.CASCADE)),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -306,15 +306,15 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('file_name', models.FilePathField(max_length=254)),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
             name='Target_Installed_Package',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package')),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('package', models.ForeignKey(related_name='buildtargetlist_package', to='orm.Package', on_delete=models.CASCADE)),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -337,8 +337,8 @@  class Migration(migrations.Migration):
                 ('sstate_result', models.IntegerField(default=0, choices=[(0, b'Not Applicable'), (1, b'File not in cache'), (2, b'Failed'), (3, b'Succeeded')])),
                 ('message', models.CharField(max_length=240)),
                 ('logfile', models.FilePathField(max_length=255, blank=True)),
-                ('build', models.ForeignKey(related_name='task_build', to='orm.Build')),
-                ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe')),
+                ('build', models.ForeignKey(related_name='task_build', to='orm.Build', on_delete=models.CASCADE)),
+                ('recipe', models.ForeignKey(related_name='tasks', to='orm.Recipe', on_delete=models.CASCADE)),
             ],
             options={
                 'ordering': ('order', 'recipe'),
@@ -348,8 +348,8 @@  class Migration(migrations.Migration):
             name='Task_Dependency',
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task')),
-                ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task')),
+                ('depends_on', models.ForeignKey(related_name='task_dependencies_depends', to='orm.Task', on_delete=models.CASCADE)),
+                ('task', models.ForeignKey(related_name='task_dependencies_task', to='orm.Task', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -370,7 +370,7 @@  class Migration(migrations.Migration):
                 ('changed', models.BooleanField(default=False)),
                 ('human_readable_name', models.CharField(max_length=200)),
                 ('description', models.TextField(blank=True)),
-                ('build', models.ForeignKey(related_name='variable_build', to='orm.Build')),
+                ('build', models.ForeignKey(related_name='variable_build', to='orm.Build', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -381,28 +381,28 @@  class Migration(migrations.Migration):
                 ('file_name', models.FilePathField(max_length=255)),
                 ('line_number', models.IntegerField(null=True)),
                 ('operation', models.CharField(max_length=64)),
-                ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable')),
+                ('variable', models.ForeignKey(related_name='vhistory', to='orm.Variable', on_delete=models.CASCADE)),
             ],
         ),
         migrations.AddField(
             model_name='project',
             name='release',
-            field=models.ForeignKey(to='orm.Release', null=True),
+            field=models.ForeignKey(to='orm.Release', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='package_dependency',
             name='target',
-            field=models.ForeignKey(to='orm.Target', null=True),
+            field=models.ForeignKey(to='orm.Target', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='package',
             name='recipe',
-            field=models.ForeignKey(to='orm.Recipe', null=True),
+            field=models.ForeignKey(to='orm.Recipe', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='logmessage',
             name='task',
-            field=models.ForeignKey(blank=True, to='orm.Task', null=True),
+            field=models.ForeignKey(blank=True, to='orm.Task', null=True, on_delete=models.CASCADE),
         ),
         migrations.AlterUniqueTogether(
             name='layersource',
@@ -411,32 +411,32 @@  class Migration(migrations.Migration):
         migrations.AddField(
             model_name='layer_version',
             name='layer_source',
-            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer_version',
             name='project',
-            field=models.ForeignKey(default=None, to='orm.Project', null=True),
+            field=models.ForeignKey(default=None, to='orm.Project', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer_version',
             name='up_branch',
-            field=models.ForeignKey(default=None, to='orm.Branch', null=True),
+            field=models.ForeignKey(default=None, to='orm.Branch', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='layer',
             name='layer_source',
-            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=None, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='build',
             name='project',
-            field=models.ForeignKey(to='orm.Project'),
+            field=models.ForeignKey(to='orm.Project', on_delete=models.CASCADE),
         ),
         migrations.AddField(
             model_name='branch',
             name='layer_source',
-            field=models.ForeignKey(default=True, to='orm.LayerSource', null=True),
+            field=models.ForeignKey(default=True, to='orm.LayerSource', null=True, on_delete=models.CASCADE),
         ),
         migrations.CreateModel(
             name='ImportedLayerSource',
diff --git a/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py b/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
index 9cec82e..09c2bff 100644
--- a/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
+++ b/bitbake/lib/toaster/orm/migrations/0002_customimagerecipe.py
@@ -14,10 +14,10 @@  class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CustomImageRecipe',
             fields=[
-                ('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe')),
+                ('recipe_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Recipe', on_delete=models.CASCADE)),
                 ('last_updated', models.DateTimeField(default=None, null=True)),
-                ('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe')),
-                ('project', models.ForeignKey(to='orm.Project')),
+                ('base_recipe', models.ForeignKey(related_name='based_on_recipe', to='orm.Recipe', on_delete=models.CASCADE)),
+                ('project', models.ForeignKey(to='orm.Project', on_delete=models.CASCADE)),
             ],
             bases=('orm.recipe',),
         ),
diff --git a/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py b/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
index b027f66..8cb81d7 100644
--- a/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
+++ b/bitbake/lib/toaster/orm/migrations/0003_customimagepackage.py
@@ -14,7 +14,7 @@  class Migration(migrations.Migration):
         migrations.CreateModel(
             name='CustomImagePackage',
             fields=[
-                ('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package')),
+                ('package_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='orm.Package', on_delete=models.CASCADE)),
                 ('recipe_appends', models.ManyToManyField(related_name='appends_set', to='orm.CustomImageRecipe')),
                 ('recipe_excludes', models.ManyToManyField(related_name='excludes_set', to='orm.CustomImageRecipe')),
                 ('recipe_includes', models.ManyToManyField(related_name='includes_set', to='orm.CustomImageRecipe')),
diff --git a/bitbake/lib/toaster/orm/migrations/0004_provides.py b/bitbake/lib/toaster/orm/migrations/0004_provides.py
index dfde2d1..8449604 100644
--- a/bitbake/lib/toaster/orm/migrations/0004_provides.py
+++ b/bitbake/lib/toaster/orm/migrations/0004_provides.py
@@ -16,12 +16,12 @@  class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                 ('name', models.CharField(max_length=100)),
-                ('recipe', models.ForeignKey(to='orm.Recipe')),
+                ('recipe', models.ForeignKey(to='orm.Recipe', on_delete=models.CASCADE)),
             ],
         ),
         migrations.AddField(
             model_name='recipe_dependency',
             name='via',
-            field=models.ForeignKey(null=True, default=None, to='orm.Provides'),
+            field=models.ForeignKey(null=True, default=None, to='orm.Provides', on_delete=models.CASCADE),
         ),
     ]
diff --git a/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py b/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
index 3367582..41a547a 100644
--- a/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
+++ b/bitbake/lib/toaster/orm/migrations/0008_refactor_artifact_models.py
@@ -17,7 +17,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.CreateModel(
@@ -26,7 +26,7 @@  class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
                 ('file_name', models.FilePathField()),
                 ('file_size', models.IntegerField()),
-                ('target', models.ForeignKey(to='orm.Target')),
+                ('target', models.ForeignKey(to='orm.Target', on_delete=models.CASCADE)),
             ],
         ),
         migrations.RemoveField(
diff --git a/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py b/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
index 7550696..3f3a2e1 100644
--- a/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
+++ b/bitbake/lib/toaster/orm/migrations/0011_delete_layersource.py
@@ -1,7 +1,7 @@ 
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
-from django.db import migrations, models
+from django.db import migrations
 
 
 class Migration(migrations.Migration):
diff --git a/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py b/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
index 0e6bb83..4b96bf0 100644
--- a/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
+++ b/bitbake/lib/toaster/orm/migrations/0012_use_release_instead_of_up_branch.py
@@ -46,7 +46,7 @@  class Migration(migrations.Migration):
         migrations.AddField(
             model_name='layer_version',
             name='release',
-            field=models.ForeignKey(to='orm.Release', default=None, null=True),
+            field=models.ForeignKey(to='orm.Release', default=None, null=True, on_delete=models.CASCADE),
         ),
         migrations.RunPython(branch_to_release,
                              reverse_code=migrations.RunPython.noop),
diff --git a/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py b/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
index d3c5901..731c0de 100644
--- a/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
+++ b/bitbake/lib/toaster/orm/migrations/0017_distro_clone.py
@@ -18,7 +18,7 @@  class Migration(migrations.Migration):
                 ('up_date', models.DateTimeField(default=None, null=True)),
                 ('name', models.CharField(max_length=255)),
                 ('description', models.CharField(max_length=255)),
-                ('layer_version', models.ForeignKey(to='orm.Layer_Version')),
+                ('layer_version', models.ForeignKey(to='orm.Layer_Version', on_delete=models.CASCADE)),
             ],
         ),
     ]
diff --git a/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py b/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py
new file mode 100644
index 0000000..666aef1
--- /dev/null
+++ b/bitbake/lib/toaster/orm/migrations/0019_django_2_2.py
@@ -0,0 +1,23 @@ 
+# Generated by Django 2.2.7 on 2019-11-19 03:38
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('orm', '0018_project_specific'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='distro',
+            name='up_id',
+        ),
+        migrations.AlterField(
+            model_name='build',
+            name='recipes_parsed',
+            field=models.IntegerField(default=1),
+        ),
+    ]
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index bb6b5de..7f7e922 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -13,7 +13,7 @@  from django.db.models import F, Q, Sum, Count
 from django.utils import timezone
 from django.utils.encoding import force_bytes
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 from django.core import validators
 from django.conf import settings
@@ -178,8 +178,8 @@  class Project(models.Model):
                              'release__branch_name']
     name = models.CharField(max_length=100)
     short_description = models.CharField(max_length=50, blank=True)
-    bitbake_version = models.ForeignKey('BitbakeVersion', null=True)
-    release = models.ForeignKey("Release", null=True)
+    bitbake_version = models.ForeignKey('BitbakeVersion', on_delete=models.CASCADE, null=True)
+    release = models.ForeignKey("Release", on_delete=models.CASCADE, null=True)
     created = models.DateTimeField(auto_now_add=True)
     updated = models.DateTimeField(auto_now=True)
     # This is a horrible hack; since Toaster has no "User" model available when
@@ -469,7 +469,7 @@  class Build(models.Model):
 
     search_allowed_fields = ['machine', 'cooker_log_path', "target__target", "target__target_image_file__file_name"]
 
-    project = models.ForeignKey(Project)            # must have a project
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)            # must have a project
     machine = models.CharField(max_length=100)
     distro = models.CharField(max_length=100)
     distro_version = models.CharField(max_length=100)
@@ -777,13 +777,13 @@  class Build(models.Model):
         return "%d %s %s" % (self.id, self.project, ",".join([t.target for t in self.target_set.all()]))
 
 class ProjectTarget(models.Model):
-    project = models.ForeignKey(Project)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     target = models.CharField(max_length=100)
     task = models.CharField(max_length=100, null=True)
 
 class Target(models.Model):
     search_allowed_fields = ['target', 'file_name']
-    build = models.ForeignKey(Build)
+    build = models.ForeignKey(Build, on_delete=models.CASCADE)
     target = models.CharField(max_length=100)
     task = models.CharField(max_length=100, null=True)
     is_image = models.BooleanField(default = False)
@@ -944,7 +944,7 @@  class Target(models.Model):
 
 # kernel artifacts for a target: bzImage and modules*
 class TargetKernelFile(models.Model):
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField()
     file_size = models.IntegerField()
 
@@ -954,7 +954,7 @@  class TargetKernelFile(models.Model):
 
 # SDK artifacts for a target: sh and manifest files
 class TargetSDKFile(models.Model):
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField()
     file_size = models.IntegerField()
 
@@ -973,7 +973,7 @@  class Target_Image_File(models.Model):
         'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma'
     }
 
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     file_name = models.FilePathField(max_length=254)
     file_size = models.IntegerField()
 
@@ -1007,15 +1007,15 @@  class Target_File(models.Model):
         ( ITYPE_BLOCK ,'block'),
         )
 
-    target = models.ForeignKey(Target)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
     path = models.FilePathField()
     size = models.IntegerField()
     inodetype = models.IntegerField(choices = ITYPES)
     permission = models.CharField(max_length=16)
     owner = models.CharField(max_length=128)
     group = models.CharField(max_length=128)
-    directory = models.ForeignKey('Target_File', related_name="directory_set", null=True)
-    sym_target = models.ForeignKey('Target_File', related_name="symlink_set", null=True)
+    directory = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="directory_set", null=True)
+    sym_target = models.ForeignKey('Target_File', on_delete=models.CASCADE, related_name="symlink_set", null=True)
 
 
 class Task(models.Model):
@@ -1102,13 +1102,13 @@  class Task(models.Model):
     def get_description(self):
         return self._helptext
 
-    build = models.ForeignKey(Build, related_name='task_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='task_build')
     order = models.IntegerField(null=True)
     task_executed = models.BooleanField(default=False) # True means Executed, False means Not/Executed
     outcome = models.IntegerField(choices=TASK_OUTCOME, default=OUTCOME_NA)
     sstate_checksum = models.CharField(max_length=100, blank=True)
     path_to_sstate_obj = models.FilePathField(max_length=500, blank=True)
-    recipe = models.ForeignKey('Recipe', related_name='tasks')
+    recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, related_name='tasks')
     task_name = models.CharField(max_length=100)
     source_url = models.FilePathField(max_length=255, blank=True)
     work_directory = models.FilePathField(max_length=255, blank=True)
@@ -1147,13 +1147,13 @@  class Task(models.Model):
 
 
 class Task_Dependency(models.Model):
-    task = models.ForeignKey(Task, related_name='task_dependencies_task')
-    depends_on = models.ForeignKey(Task, related_name='task_dependencies_depends')
+    task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_task')
+    depends_on = models.ForeignKey(Task, on_delete=models.CASCADE, related_name='task_dependencies_depends')
 
 class Package(models.Model):
     search_allowed_fields = ['name', 'version', 'revision', 'recipe__name', 'recipe__version', 'recipe__license', 'recipe__layer_version__layer__name', 'recipe__layer_version__branch', 'recipe__layer_version__commit', 'recipe__layer_version__local_path', 'installed_name']
-    build = models.ForeignKey('Build', null=True)
-    recipe = models.ForeignKey('Recipe', null=True)
+    build = models.ForeignKey('Build', on_delete=models.CASCADE, null=True)
+    recipe = models.ForeignKey('Recipe', on_delete=models.CASCADE, null=True)
     name = models.CharField(max_length=100)
     installed_name = models.CharField(max_length=100, default='')
     version = models.CharField(max_length=100, blank=True)
@@ -1289,19 +1289,19 @@  class Package_Dependency(models.Model):
         TYPE_RCONFLICTS :   ("conflicts", "%s conflicts with %s, which will not be installed if this package is not first removed"),
     }
 
-    package = models.ForeignKey(Package, related_name='package_dependencies_source')
-    depends_on = models.ForeignKey(Package, related_name='package_dependencies_target')   # soft dependency
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_source')
+    depends_on = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='package_dependencies_target')   # soft dependency
     dep_type = models.IntegerField(choices=DEPENDS_TYPE)
-    target = models.ForeignKey(Target, null=True)
+    target = models.ForeignKey(Target, on_delete=models.CASCADE, null=True)
     objects = Package_DependencyManager()
 
 class Target_Installed_Package(models.Model):
-    target = models.ForeignKey(Target)
-    package = models.ForeignKey(Package, related_name='buildtargetlist_package')
+    target = models.ForeignKey(Target, on_delete=models.CASCADE)
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildtargetlist_package')
 
 
 class Package_File(models.Model):
-    package = models.ForeignKey(Package, related_name='buildfilelist_package')
+    package = models.ForeignKey(Package, on_delete=models.CASCADE, related_name='buildfilelist_package')
     path = models.FilePathField(max_length=255, blank=True)
     size = models.IntegerField()
 
@@ -1318,7 +1318,7 @@  class Recipe(models.Model):
 
     name = models.CharField(max_length=100, blank=True)
     version = models.CharField(max_length=100, blank=True)
-    layer_version = models.ForeignKey('Layer_Version',
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE,
                                       related_name='recipe_layer_version')
     summary = models.TextField(blank=True)
     description = models.TextField(blank=True)
@@ -1356,7 +1356,7 @@  class Recipe_DependencyManager(models.Manager):
 
 class Provides(models.Model):
     name = models.CharField(max_length=100)
-    recipe = models.ForeignKey(Recipe)
+    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
 
 class Recipe_Dependency(models.Model):
     TYPE_DEPENDS = 0
@@ -1366,9 +1366,9 @@  class Recipe_Dependency(models.Model):
         (TYPE_DEPENDS, "depends"),
         (TYPE_RDEPENDS, "rdepends"),
     )
-    recipe = models.ForeignKey(Recipe, related_name='r_dependencies_recipe')
-    depends_on = models.ForeignKey(Recipe, related_name='r_dependencies_depends')
-    via = models.ForeignKey(Provides, null=True, default=None)
+    recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_recipe')
+    depends_on = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='r_dependencies_depends')
+    via = models.ForeignKey(Provides, on_delete=models.CASCADE, null=True, default=None)
     dep_type = models.IntegerField(choices=DEPENDS_TYPE)
     objects = Recipe_DependencyManager()
 
@@ -1377,7 +1377,7 @@  class Machine(models.Model):
     search_allowed_fields = ["name", "description", "layer_version__layer__name"]
     up_date = models.DateTimeField(null = True, default = None)
 
-    layer_version = models.ForeignKey('Layer_Version')
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
     name = models.CharField(max_length=255)
     description = models.CharField(max_length=255)
 
@@ -1408,7 +1408,7 @@  class Release(models.Model):
     """ A release is a project template, used to pre-populate Project settings with a configuration set """
     name = models.CharField(max_length=32, unique = True)
     description = models.CharField(max_length=255)
-    bitbake_version = models.ForeignKey(BitbakeVersion)
+    bitbake_version = models.ForeignKey(BitbakeVersion, on_delete=models.CASCADE)
     branch_name = models.CharField(max_length=50, default = "")
     helptext = models.TextField(null=True)
 
@@ -1419,7 +1419,7 @@  class Release(models.Model):
         return self.name
 
 class ReleaseDefaultLayer(models.Model):
-    release = models.ForeignKey(Release)
+    release = models.ForeignKey(Release, on_delete=models.CASCADE)
     layer_name = models.CharField(max_length=100, default="")
 
 
@@ -1474,10 +1474,10 @@  class Layer_Version(models.Model):
                              "layer__description", "layer__vcs_url",
                              "dirpath", "release__name", "commit", "branch"]
 
-    build = models.ForeignKey(Build, related_name='layer_version_build',
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='layer_version_build',
                               default=None, null=True)
 
-    layer = models.ForeignKey(Layer, related_name='layer_version_layer')
+    layer = models.ForeignKey(Layer, on_delete=models.CASCADE, related_name='layer_version_layer')
 
     layer_source = models.IntegerField(choices=LayerSource.SOURCE_TYPE,
                                        default=0)
@@ -1485,7 +1485,7 @@  class Layer_Version(models.Model):
     up_date = models.DateTimeField(null=True, default=timezone.now)
 
     # To which metadata release does this layer version belong to
-    release = models.ForeignKey(Release, null=True, default=None)
+    release = models.ForeignKey(Release, on_delete=models.CASCADE, null=True, default=None)
 
     branch = models.CharField(max_length=80)
     commit = models.CharField(max_length=100)
@@ -1499,7 +1499,7 @@  class Layer_Version(models.Model):
     local_path = models.FilePathField(max_length=1024, default="/")
 
     # Set if this layer is restricted to a particular project
-    project = models.ForeignKey('Project', null=True, default=None)
+    project = models.ForeignKey('Project', on_delete=models.CASCADE, null=True, default=None)
 
     # code lifted, with adaptations, from the layerindex-web application
     # https://git.yoctoproject.org/cgit/cgit.cgi/layerindex-web/
@@ -1608,14 +1608,14 @@  class Layer_Version(models.Model):
 
 class LayerVersionDependency(models.Model):
 
-    layer_version = models.ForeignKey(Layer_Version,
+    layer_version = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
                                       related_name="dependencies")
-    depends_on = models.ForeignKey(Layer_Version,
+    depends_on = models.ForeignKey(Layer_Version, on_delete=models.CASCADE,
                                    related_name="dependees")
 
 class ProjectLayer(models.Model):
-    project = models.ForeignKey(Project)
-    layercommit = models.ForeignKey(Layer_Version, null=True)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
+    layercommit = models.ForeignKey(Layer_Version, on_delete=models.CASCADE, null=True)
     optional = models.BooleanField(default = True)
 
     def __unicode__(self):
@@ -1630,8 +1630,8 @@  class CustomImageRecipe(Recipe):
     LAYER_NAME = "toaster-custom-images"
 
     search_allowed_fields = ['name']
-    base_recipe = models.ForeignKey(Recipe, related_name='based_on_recipe')
-    project = models.ForeignKey(Project)
+    base_recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, related_name='based_on_recipe')
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     last_updated = models.DateTimeField(null=True, default=None)
 
     def get_last_successful_built_target(self):
@@ -1647,14 +1647,14 @@  class CustomImageRecipe(Recipe):
         """
         # Check if we're aldready up-to-date or not
         target = self.get_last_successful_built_target()
-        if target == None:
+        if target is None:
             # So we've never actually built this Custom recipe but what about
             # the recipe it's based on?
             target = \
                 Target.objects.filter(Q(build__outcome=Build.SUCCEEDED) &
                                       Q(build__project=self.project) &
                                       Q(target=self.base_recipe.name)).last()
-            if target == None:
+            if target is None:
                 return
 
         if target.build.completed_on == self.last_updated:
@@ -1784,14 +1784,14 @@  class CustomImageRecipe(Recipe):
         return recipe_contents
 
 class ProjectVariable(models.Model):
-    project = models.ForeignKey(Project)
+    project = models.ForeignKey(Project, on_delete=models.CASCADE)
     name = models.CharField(max_length=100)
     value = models.TextField(blank = True)
 
 class Variable(models.Model):
     search_allowed_fields = ['variable_name', 'variable_value',
                              'vhistory__file_name', "description"]
-    build = models.ForeignKey(Build, related_name='variable_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='variable_build')
     variable_name = models.CharField(max_length=100)
     variable_value = models.TextField(blank=True)
     changed = models.BooleanField(default=False)
@@ -1799,7 +1799,7 @@  class Variable(models.Model):
     description = models.TextField(blank=True)
 
 class VariableHistory(models.Model):
-    variable = models.ForeignKey(Variable, related_name='vhistory')
+    variable = models.ForeignKey(Variable, on_delete=models.CASCADE, related_name='vhistory')
     value   = models.TextField(blank=True)
     file_name = models.FilePathField(max_length=255)
     line_number = models.IntegerField(null=True)
@@ -1809,7 +1809,7 @@  class HelpText(models.Model):
     VARIABLE = 0
     HELPTEXT_AREA = ((VARIABLE, 'variable'), )
 
-    build = models.ForeignKey(Build, related_name='helptext_build')
+    build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='helptext_build')
     area = models.IntegerField(choices=HELPTEXT_AREA)
     key = models.CharField(max_length=100)
     text = models.TextField()
@@ -1829,8 +1829,8 @@  class LogMessage(models.Model):
         (EXCEPTION, "toaster exception")
     )
 
-    build = models.ForeignKey(Build)
-    task  = models.ForeignKey(Task, blank = True, null=True)
+    build = models.ForeignKey(Build, on_delete=models.CASCADE)
+    task  = models.ForeignKey(Task, on_delete=models.CASCADE, blank = True, null=True)
     level = models.IntegerField(choices=LOG_LEVEL, default=INFO)
     message = models.TextField(blank=True, null=True)
     pathname = models.FilePathField(max_length=255, blank=True)
@@ -1859,7 +1859,7 @@  class Distro(models.Model):
     search_allowed_fields = ["name", "description", "layer_version__layer__name"]
     up_date = models.DateTimeField(null = True, default = None)
 
-    layer_version = models.ForeignKey('Layer_Version')
+    layer_version = models.ForeignKey('Layer_Version', on_delete=models.CASCADE)
     name = models.CharField(max_length=255)
     description = models.CharField(max_length=255)
 
diff --git a/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py b/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
index 6c94684..644d45f 100644
--- a/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
+++ b/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
@@ -19,7 +19,6 @@  import os
 import time
 import unittest
 
-from django.contrib.staticfiles.testing import StaticLiveServerTestCase
 from selenium import webdriver
 from selenium.webdriver.support.ui import WebDriverWait
 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
diff --git a/bitbake/lib/toaster/tests/browser/test_all_builds_page.py b/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
index fba627b..8423d3d 100644
--- a/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
@@ -9,7 +9,7 @@ 
 
 import re
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 
diff --git a/bitbake/lib/toaster/tests/browser/test_all_projects_page.py b/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
index afd2d35..15b0340 100644
--- a/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
@@ -9,7 +9,7 @@ 
 
 import re
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 
diff --git a/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py b/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
index d972aff..efcd89b 100644
--- a/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 
 from tests.browser.selenium_helpers import SeleniumTestCase
diff --git a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
index e2623e8..c6226d6 100644
--- a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
+++ b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 
 from tests.browser.selenium_helpers import SeleniumTestCase
diff --git a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
index c542d45..9d85ba9 100644
--- a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
+++ b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version
diff --git a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
index 22acb47..7fdf75d 100644
--- a/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
+++ b/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 from orm.models import Project, Build, Recipe, Task, Layer, Layer_Version
diff --git a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
index e8b4295..e6163bb 100644
--- a/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
+++ b/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
@@ -11,7 +11,7 @@ 
 Run the js unit tests
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 import logging
 
diff --git a/bitbake/lib/toaster/tests/browser/test_landing_page.py b/bitbake/lib/toaster/tests/browser/test_landing_page.py
index 0790198..8bb64b9 100644
--- a/bitbake/lib/toaster/tests/browser/test_landing_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_landing_page.py
@@ -7,7 +7,7 @@ 
 # Copyright (C) 2013-2016 Intel Corporation
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 
diff --git a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
index f81e696..71bdd2a 100644
--- a/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
@@ -7,7 +7,7 @@ 
 # Copyright (C) 2013-2016 Intel Corporation
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 
 from orm.models import Layer, Layer_Version, Project, LayerSource, Release
diff --git a/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py b/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
index 15d25dc..7844aaa 100644
--- a/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
+++ b/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
@@ -7,7 +7,7 @@ 
 # Copyright (C) 2013-2016 Intel Corporation
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 from tests.browser.selenium_helpers_base import Wait
diff --git a/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py b/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
index 0aa3b7a..9906ae4 100644
--- a/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 
 from orm.models import BitbakeVersion, Release, Project, ProjectLayer, Layer
diff --git a/bitbake/lib/toaster/tests/browser/test_new_project_page.py b/bitbake/lib/toaster/tests/browser/test_new_project_page.py
index 8e56bb0..e20a1f6 100644
--- a/bitbake/lib/toaster/tests/browser/test_new_project_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_new_project_page.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 from selenium.webdriver.support.ui import Select
 from selenium.common.exceptions import InvalidElementStateException
diff --git a/bitbake/lib/toaster/tests/browser/test_project_builds_page.py b/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
index 47fb10b..51717e7 100644
--- a/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
@@ -9,7 +9,7 @@ 
 
 import re
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 
diff --git a/bitbake/lib/toaster/tests/browser/test_project_config_page.py b/bitbake/lib/toaster/tests/browser/test_project_config_page.py
index 2816eb9..944bcb2 100644
--- a/bitbake/lib/toaster/tests/browser/test_project_config_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_project_config_page.py
@@ -7,10 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import re
-
-from django.core.urlresolvers import reverse
-from django.utils import timezone
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 
 from orm.models import BitbakeVersion, Release, Project, ProjectVariable
@@ -216,4 +213,5 @@  class TestProjectConfigsPage(SeleniumTestCase):
 
         hidden_element = self.driver.find_element_by_id('hintError-sstate_dir')
         self.assertEqual(hidden_element.is_displayed(), False,
-            'sstate directory path valid but treated as invalid')
\ No newline at end of file
+            'sstate directory path valid but treated as invalid')
+
diff --git a/bitbake/lib/toaster/tests/browser/test_project_page.py b/bitbake/lib/toaster/tests/browser/test_project_page.py
index 8b5e1b6..546293f 100644
--- a/bitbake/lib/toaster/tests/browser/test_project_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_project_page.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 
diff --git a/bitbake/lib/toaster/tests/browser/test_sample.py b/bitbake/lib/toaster/tests/browser/test_sample.py
index f4ad670..b0067c2 100644
--- a/bitbake/lib/toaster/tests/browser/test_sample.py
+++ b/bitbake/lib/toaster/tests/browser/test_sample.py
@@ -16,7 +16,7 @@  New test files should follow this structure, should be named "test_*.py",
 and should be in the same directory as this sample.
 """
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from tests.browser.selenium_helpers import SeleniumTestCase
 
 class TestSample(SeleniumTestCase):
diff --git a/bitbake/lib/toaster/tests/browser/test_task_page.py b/bitbake/lib/toaster/tests/browser/test_task_page.py
index 26f3dca..011b585 100644
--- a/bitbake/lib/toaster/tests/browser/test_task_page.py
+++ b/bitbake/lib/toaster/tests/browser/test_task_page.py
@@ -7,7 +7,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 from orm.models import Project, Build, Layer, Layer_Version, Recipe, Target
diff --git a/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py b/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
index ef78cbb..e82d5ec 100644
--- a/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
+++ b/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
@@ -9,7 +9,7 @@ 
 
 from datetime import datetime
 
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.utils import timezone
 from tests.browser.selenium_helpers import SeleniumTestCase
 from orm.models import BitbakeVersion, Release, Project, Build
diff --git a/bitbake/lib/toaster/tests/functional/test_functional_basic.py b/bitbake/lib/toaster/tests/functional/test_functional_basic.py
index 56c84fb..5683e38 100644
--- a/bitbake/lib/toaster/tests/functional/test_functional_basic.py
+++ b/bitbake/lib/toaster/tests/functional/test_functional_basic.py
@@ -7,7 +7,6 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-import time
 import re
 from tests.functional.functional_helpers import SeleniumFunctionalTestCase
 from orm.models import Project
diff --git a/bitbake/lib/toaster/tests/views/test_views.py b/bitbake/lib/toaster/tests/views/test_views.py
index 68d9e9d..735d596 100644
--- a/bitbake/lib/toaster/tests/views/test_views.py
+++ b/bitbake/lib/toaster/tests/views/test_views.py
@@ -11,7 +11,7 @@ 
 
 from django.test import TestCase
 from django.test.client import RequestFactory
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q
 
 from orm.models import Project, Package
diff --git a/bitbake/lib/toaster/toastergui/api.py b/bitbake/lib/toaster/toastergui/api.py
index 8b49b3e..b4cdc33 100644
--- a/bitbake/lib/toaster/toastergui/api.py
+++ b/bitbake/lib/toaster/toastergui/api.py
@@ -13,7 +13,6 @@  import logging
 import json
 import subprocess
 from collections import Counter
-from shutil import copyfile
 
 from orm.models import Project, ProjectTarget, Build, Layer_Version
 from orm.models import LayerVersionDependency, LayerSource, ProjectLayer
@@ -25,12 +24,10 @@  from bldcontrol import bbcontroller
 
 from django.http import HttpResponse, JsonResponse
 from django.views.generic import View
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.db.models import Q, F
 from django.db import Error
 from toastergui.templatetags.projecttags import filtered_filesizeformat
-from django.utils import timezone
-import pytz
 
 # development/debugging support
 verbose = 2
diff --git a/bitbake/lib/toaster/toastergui/tables.py b/bitbake/lib/toaster/toastergui/tables.py
index b3ea222..528dd32 100644
--- a/bitbake/lib/toaster/toastergui/tables.py
+++ b/bitbake/lib/toaster/toastergui/tables.py
@@ -7,15 +7,10 @@ 
 #
 
 from toastergui.widgets import ToasterTable
-from orm.models import Recipe, ProjectLayer, Layer_Version, Machine, Project
+from orm.models import Recipe, ProjectLayer, Layer_Version, Project
 from orm.models import CustomImageRecipe, Package, Target, Build, LogMessage, Task
 from orm.models import CustomImagePackage, Package_DependencyManager
-from orm.models import Distro
-from django.db.models import Q, Max, Sum, Count, When, Case, Value, IntegerField
-from django.conf.urls import url
-from django.core.urlresolvers import reverse, resolve
-from django.http import HttpResponse
-from django.views.generic import TemplateView
+from django.db.models import Q, Sum, Count, When, Case, Value, IntegerField
 
 from toastergui.tablefilter import TableFilter
 from toastergui.tablefilter import TableFilterActionToggle
diff --git a/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py b/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py
index 048d533..e242234 100644
--- a/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py
+++ b/bitbake/lib/toaster/toastergui/templatetags/objects_to_dictionaries_filter.py
@@ -3,7 +3,6 @@ 
 #
 
 from django import template
-import json
 
 register = template.Library()
 
diff --git a/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py b/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py
index 71e0925..7b6f15b 100644
--- a/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py
+++ b/bitbake/lib/toaster/toastergui/templatetags/project_url_tag.py
@@ -3,7 +3,7 @@ 
 #
 
 from django import template
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 register = template.Library()
 
diff --git a/bitbake/lib/toaster/toastergui/templatetags/projecttags.py b/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
index 1dbab3b..c432f59 100644
--- a/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
+++ b/bitbake/lib/toaster/toastergui/templatetags/projecttags.py
@@ -6,7 +6,7 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from datetime import datetime, timedelta
+from datetime import timedelta
 from os.path import relpath
 import re
 from django import template
@@ -44,7 +44,7 @@  def json(value, default = None):
     # it manually here
     return mark_safe(JsonLib.dumps(value, indent=2, default = default, ensure_ascii=False).replace('</', '<\\/'))
 
-@register.assignment_tag
+@register.simple_tag
 def query(qs, **kwargs):
     """ template tag which allows queryset filtering. Usage:
           {% query books author=author as mybooks %}
@@ -83,7 +83,7 @@  def divide(value, arg):
 def multiply(value, arg):
     return int(value) * int(arg)
 
-@register.assignment_tag
+@register.simple_tag
 def datecompute(delta, start = timezone.now()):
     return start + timedelta(delta)
 
@@ -212,7 +212,7 @@  def filtered_installedsize(size, installed_size):
     """If package.installed_size not null and not empty return it,
        else return package.size
     """
-    return size if (installed_size == 0) or (installed_size == "") or (installed_size == None) else installed_size
+    return size if (installed_size == 0) or (installed_size == "") or (installed_size is None) else installed_size
 
 @register.filter
 def filtered_packageversion(version, revision):
@@ -228,7 +228,7 @@  def filter_sizeovertotal(package_object, total_size):
         formatted nicely.
     """
     size = package_object.installed_size
-    if size == None or size == '':
+    if size is None or size == '':
         size = package_object.size
 
     return '{:.1%}'.format(float(size)/float(total_size))
diff --git a/bitbake/lib/toaster/toastergui/typeaheads.py b/bitbake/lib/toaster/toastergui/typeaheads.py
index fd750ff..a1e6fe9 100644
--- a/bitbake/lib/toaster/toastergui/typeaheads.py
+++ b/bitbake/lib/toaster/toastergui/typeaheads.py
@@ -10,7 +10,7 @@  import subprocess
 
 from toastergui.widgets import ToasterTypeAhead
 from orm.models import Project
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.core.cache import cache
 
 
diff --git a/bitbake/lib/toaster/toastergui/urls.py b/bitbake/lib/toaster/toastergui/urls.py
index 673d9ae..d2df4e6 100644
--- a/bitbake/lib/toaster/toastergui/urls.py
+++ b/bitbake/lib/toaster/toastergui/urls.py
@@ -6,10 +6,9 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import include, url
-from django.views.generic import RedirectView, TemplateView
+from django.conf.urls import url
+from django.views.generic import RedirectView
 
-from django.http import HttpResponseBadRequest
 from toastergui import tables
 from toastergui import buildtables
 from toastergui import typeaheads
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index d7acaff..9a5e48e 100644
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -19,8 +19,8 @@  from orm.models import Target_Installed_Package, Target_File
 from orm.models import TargetKernelFile, TargetSDKFile, Target_Image_File
 from orm.models import BitbakeVersion, CustomImageRecipe
 
-from django.core.urlresolvers import reverse, resolve
-from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
+from django.urls import reverse, resolve
+from django.core.exceptions import ObjectDoesNotExist
 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
 from django.http import HttpResponseNotFound, JsonResponse
 from django.utils import timezone
@@ -51,7 +51,7 @@  class MimeTypeFinder(object):
     def get_mimetype(self, path):
         guess = mimetypes.guess_type(path, self._strict)
         guessed_type = guess[0]
-        if guessed_type == None:
+        if guessed_type is None:
             guessed_type = 'application/octet-stream'
         return guessed_type
 
@@ -126,7 +126,7 @@  def _lv_to_dict(prj, x = None):
     return {"id": x.pk,
             "name": x.layer.name,
             "tooltip": "%s | %s" % (x.layer.vcs_url,x.get_vcs_reference()),
-            "detail": "(%s" % x.layer.vcs_url + (")" if x.release == None else " | "+x.get_vcs_reference()+")"),
+            "detail": "(%s" % x.layer.vcs_url + (")" if x.release is None else " | "+x.get_vcs_reference()+")"),
             "giturl": x.layer.vcs_url,
             "layerdetailurl" : reverse('layerdetails', args=(prj.id,x.pk)),
             "revision" : x.get_vcs_reference(),
@@ -352,7 +352,7 @@  def _get_parameters_values(request, default_count, default_order):
 # set cookies for parameters. this is usefull in case parameters are set
 # manually from the GET values of the link
 def _set_parameters_values(pagesize, orderby, request):
-    from django.core.urlresolvers import resolve
+    from django.urls import resolve
     current_url = resolve(request.path_info).url_name
     request.session['%s_count' % current_url] = pagesize
     request.session['%s_orderby' % current_url] =orderby
@@ -664,7 +664,6 @@  def recipe_packages(request, build_id, recipe_id):
     _set_parameters_values(pagesize, orderby, request)
     return response
 
-from django.core.serializers.json import DjangoJSONEncoder
 from django.http import HttpResponse
 def xhr_dirinfo(request, build_id, target_id):
     top = request.GET.get('start', '/')
@@ -719,7 +718,7 @@  def _get_dir_entries(build_id, target_id, start):
                 resolved_id = o.sym_target_id
                 resolved_path = o.path
                 if target_packages.count():
-                    while resolved_id != "" and resolved_id != None:
+                    while resolved_id != "" and resolved_id is not None:
                         tf = Target_File.objects.get(pk=resolved_id)
                         resolved_path = tf.path
                         resolved_id = tf.sym_target_id
@@ -731,10 +730,10 @@  def _get_dir_entries(build_id, target_id, start):
                         entry['package_id'] = str(p.id)
                         entry['package'] = p.name
                 # don't use resolved path from above, show immediate link-to
-                if o.sym_target_id != "" and o.sym_target_id != None:
+                if o.sym_target_id != "" and o.sym_target_id is not None:
                     entry['link_to'] = Target_File.objects.get(pk=o.sym_target_id).path
             entry['size'] = filtered_filesizeformat(o.size)
-            if entry['link_to'] != None:
+            if entry['link_to'] is not None:
                 entry['permission'] = node_str[o.inodetype] + o.permission
             else:
                 entry['permission'] = node_str[o.inodetype] + o.permission
@@ -756,7 +755,7 @@  def dirinfo(request, build_id, target_id, file_path=None):
     objects = _get_dir_entries(build_id, target_id, '/')
     packages_sum = Package.objects.filter(id__in=Target_Installed_Package.objects.filter(target_id=target_id).values('package_id')).aggregate(Sum('installed_size'))
     dir_list = None
-    if file_path != None:
+    if file_path is not None:
         """
         Link from the included package detail file list page and is
         requesting opening the dir info to a specific file path.
@@ -1030,15 +1029,15 @@  def _get_package_dependency_count(package, target_id, is_installed):
 
 def _get_package_alias(package):
     alias = package.installed_name
-    if alias != None and alias != '' and alias != package.name:
+    if alias is not None and alias != '' and alias != package.name:
         return alias
     else:
         return ''
 
 def _get_fullpackagespec(package):
     r = package.name
-    version_good = package.version != None and  package.version != ''
-    revision_good = package.revision != None and package.revision != ''
+    version_good = package.version is not None and  package.version != ''
+    revision_good = package.revision is not None and package.revision != ''
     if version_good or revision_good:
         r += '_'
         if version_good:
@@ -1192,7 +1191,7 @@  def package_included_reverse_dependencies(request, build_id, target_id, package_
         return _redirect_parameters( 'package_included_reverse_dependencies', request.GET, mandatory_parameters, build_id = build_id, target_id = target_id, package_id = package_id)
     (filter_string, search_term, ordering_string) = _search_tuple(request, Package_File)
 
-    queryset = Package_Dependency.objects.select_related('depends_on__name', 'depends_on__size').filter(depends_on=package_id, target_id=target_id, dep_type=Package_Dependency.TYPE_TRDEPENDS)
+    queryset = Package_Dependency.objects.select_related('depends_on').filter(depends_on=package_id, target_id=target_id, dep_type=Package_Dependency.TYPE_TRDEPENDS)
     objects = _get_queryset(Package_Dependency, queryset, filter_string, search_term, ordering_string, 'package__name')
 
     package = Package.objects.get(pk=package_id)
@@ -1340,7 +1339,7 @@  def json_build(request,build_id):
 
 import toastermain.settings
 
-from orm.models import Project, ProjectLayer, ProjectTarget, ProjectVariable
+from orm.models import Project, ProjectLayer, ProjectVariable
 from bldcontrol.models import  BuildEnvironment
 
 # we have a set of functions if we're in managed mode, or
@@ -1349,10 +1348,8 @@  from bldcontrol.models import  BuildEnvironment
 if True:
     from django.contrib.auth.models import User
     from django.contrib.auth import authenticate, login
-    from django.contrib.auth.decorators import login_required
 
-    from orm.models import LayerSource, ToasterSetting, Release, Machine, LayerVersionDependency
-    from bldcontrol.models import BuildRequest
+    from orm.models import LayerSource, ToasterSetting, Release
 
     import traceback
 
@@ -1367,8 +1364,8 @@  if True:
 
         template = "newproject.html"
         context = {
-            'email': request.user.email if request.user.is_authenticated() else '',
-            'username': request.user.username if request.user.is_authenticated() else '',
+            'email': request.user.email if request.user.is_authenticated else '',
+            'username': request.user.username if request.user.is_authenticated else '',
             'releases': Release.objects.order_by("description"),
         }
 
@@ -1394,7 +1391,7 @@  if True:
                     # set alert for missing fields
                     raise BadParameterException("Fields missing: %s" % ", ".join(missing))
 
-                if not request.user.is_authenticated():
+                if not request.user.is_authenticated:
                     user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass')
                     if user is None:
                         user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass")
@@ -1441,8 +1438,8 @@  if True:
         project = Project.objects.get(pk=pid)
         template = "newproject_specific.html"
         context = {
-            'email': request.user.email if request.user.is_authenticated() else '',
-            'username': request.user.username if request.user.is_authenticated() else '',
+            'email': request.user.email if request.user.is_authenticated else '',
+            'username': request.user.username if request.user.is_authenticated else '',
             'releases': Release.objects.order_by("description"),
             'projectname': project.name,
             'project_pk': project.pk,
@@ -1472,7 +1469,7 @@  if True:
                     # set alert for missing fields
                     raise BadParameterException("Fields missing: %s" % ", ".join(missing))
 
-                if not request.user.is_authenticated():
+                if not request.user.is_authenticated:
                     user = authenticate(username = request.POST.get('username', '_anonuser'), password = 'nopass')
                     if user is None:
                         user = User.objects.create_user(username = request.POST.get('username', '_anonuser'), email = request.POST.get('email', ''), password = "nopass")
diff --git a/bitbake/lib/toaster/toastergui/widgets.py b/bitbake/lib/toaster/toastergui/widgets.py
index 645f458..ceff529 100644
--- a/bitbake/lib/toaster/toastergui/widgets.py
+++ b/bitbake/lib/toaster/toastergui/widgets.py
@@ -22,7 +22,7 @@  from django.utils import timezone
 from toastergui.templatetags.projecttags import sectohms, get_tasks
 from toastergui.templatetags.projecttags import json as template_json
 from django.http import JsonResponse
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 
 import types
 import json
diff --git a/bitbake/lib/toaster/toastermain/management/commands/builddelete.py b/bitbake/lib/toaster/toastermain/management/commands/builddelete.py
index c2d773a..93919de 100644
--- a/bitbake/lib/toaster/toastermain/management/commands/builddelete.py
+++ b/bitbake/lib/toaster/toastermain/management/commands/builddelete.py
@@ -2,12 +2,10 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.management.base import BaseCommand, CommandError
+from django.core.management.base import BaseCommand
 from django.core.exceptions import ObjectDoesNotExist
 from orm.models import Build
 from django.db import OperationalError
-import os
-
 
 
 class Command(BaseCommand):
diff --git a/bitbake/lib/toaster/toastermain/management/commands/buildimport.py b/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
index 408ad44..59da6ff 100644
--- a/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
+++ b/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
@@ -31,12 +31,10 @@ 
 
 # ../bitbake/lib/toaster/manage.py buildimport --name=test --path=`pwd` --callback="" --command=import
 
-from django.core.management.base import BaseCommand, CommandError
-from django.core.exceptions import ObjectDoesNotExist
-from orm.models import ProjectManager, Project, Release, ProjectVariable
+from django.core.management.base import BaseCommand
+from orm.models import Project, Release, ProjectVariable
 from orm.models import Layer, Layer_Version, LayerSource, ProjectLayer
 from toastergui.api import scan_layer_content
-from django.db import OperationalError
 
 import os
 import re
@@ -116,6 +114,15 @@  class Command(BaseCommand):
             help='command (configure,reconfigure,import)',
             )
 
+    def get_var(self, varname):
+        value = self.vars.get(varname, '')
+        if value:
+            varrefs = re.findall('\${([^}]*)}', value)
+            for ref in varrefs:
+                if ref in self.vars:
+                    value = value.replace('${%s}' % ref, self.vars[ref])
+        return value
+
     # Extract the bb variables from a conf file
     def scan_conf(self,fn):
         vars = self.vars
@@ -243,7 +250,7 @@  class Command(BaseCommand):
     # Apply table of all layer versions
     def extract_bblayers(self):
         # set up the constants
-        bblayer_str = self.vars['BBLAYERS']
+        bblayer_str = self.get_var('BBLAYERS')
         TOASTER_DIR = os.environ.get('TOASTER_DIR')
         INSTALL_CLONE_PREFIX = os.path.dirname(TOASTER_DIR) + "/"
         TOASTER_CLONE_PREFIX = TOASTER_DIR + "/_toaster_clones/"
@@ -423,6 +430,7 @@  class Command(BaseCommand):
 
     # Scan the project's conf files (if any)
     def scan_conf_variables(self,project_path):
+        self.vars['TOPDIR'] = project_path
         # scan the project's settings, add any new layers or variables
         if os.path.isfile("%s/conf/local.conf" % project_path):
             self.scan_conf("%s/conf/local.conf" % project_path)
@@ -468,7 +476,6 @@  class Command(BaseCommand):
                     release_name = 'None' if not pl.layercommit.release else pl.layercommit.release.name
                     print(" AFTER :ProjectLayer=%s,%s,%s,%s" % (pl.layercommit.layer.name,release_name,pl.layercommit.branch,pl.layercommit.commit))
 
-
     def handle(self, *args, **options):
         project_name = options['name']
         project_path = options['path']
@@ -507,7 +514,7 @@  class Command(BaseCommand):
         default_release = Release.objects.get(id=1)
 
         # SANITY: if 'reconfig' but project does not exist (deleted externally), switch to 'import'
-        if ("reconfigure" == options['command']) and (None == project):
+        if ("reconfigure" == options['command']) and project is None:
             options['command'] = 'import'
 
         # 'Configure':
@@ -553,6 +560,7 @@  class Command(BaseCommand):
             # preset the mode and default image recipe
             project.set_variable(Project.PROJECT_SPECIFIC_ISNEW,Project.PROJECT_SPECIFIC_NEW)
             project.set_variable(Project.PROJECT_SPECIFIC_DEFAULTIMAGE,"core-image-minimal")
+
             # Assert any extended/custom actions or variables for new non-Toaster projects
             if not len(self.toaster_vars):
                 pass
diff --git a/bitbake/lib/toaster/toastermain/management/commands/buildslist.py b/bitbake/lib/toaster/toastermain/management/commands/buildslist.py
index 1ed2022..3ad5289 100644
--- a/bitbake/lib/toaster/toastermain/management/commands/buildslist.py
+++ b/bitbake/lib/toaster/toastermain/management/commands/buildslist.py
@@ -2,9 +2,8 @@ 
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.core.management.base import BaseCommand, CommandError
+from django.core.management.base import BaseCommand
 from orm.models import Build
-import os
 
 
 
diff --git a/bitbake/lib/toaster/toastermain/settings.py b/bitbake/lib/toaster/toastermain/settings.py
index 74501fa..a4b370c 100644
--- a/bitbake/lib/toaster/toastermain/settings.py
+++ b/bitbake/lib/toaster/toastermain/settings.py
@@ -189,15 +189,16 @@  TEMPLATES = [
     },
 ]
 
-MIDDLEWARE_CLASSES = (
+MIDDLEWARE = [
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
-    # Uncomment the next line for simple clickjacking protection:
-    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
-)
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+]
 
 CACHES = {
     #        'default': {
@@ -248,7 +249,7 @@  FRESH_ENABLED = False
 if os.environ.get('TOASTER_DEVEL', None) is not None:
     try:
         import fresh
-        MIDDLEWARE_CLASSES = ("fresh.middleware.FreshMiddleware",) + MIDDLEWARE_CLASSES
+        MIDDLEWARE = ["fresh.middleware.FreshMiddleware",] + MIDDLEWARE
         INSTALLED_APPS = INSTALLED_APPS + ('fresh',)
         FRESH_ENABLED = True
     except:
@@ -258,8 +259,8 @@  DEBUG_PANEL_ENABLED = False
 if os.environ.get('TOASTER_DEVEL', None) is not None:
     try:
         import debug_toolbar, debug_panel
-        MIDDLEWARE_CLASSES = ('debug_panel.middleware.DebugPanelMiddleware',) + MIDDLEWARE_CLASSES
-        #MIDDLEWARE_CLASSES = MIDDLEWARE_CLASSES + ('debug_toolbar.middleware.DebugToolbarMiddleware',)
+        MIDDLEWARE = ['debug_panel.middleware.DebugPanelMiddleware',] + MIDDLEWARE
+        #MIDDLEWARE = MIDDLEWARE + ['debug_toolbar.middleware.DebugToolbarMiddleware',]
         INSTALLED_APPS = INSTALLED_APPS + ('debug_toolbar','debug_panel',)
         DEBUG_PANEL_ENABLED = True
 
@@ -352,5 +353,3 @@  def activate_synchronous_off(sender, connection, **kwargs):
 connection_created.connect(activate_synchronous_off)
 #
 
-
-
diff --git a/bitbake/lib/toaster/toastermain/urls.py b/bitbake/lib/toaster/toastermain/urls.py
index ac77bc3..5fb520b 100644
--- a/bitbake/lib/toaster/toastermain/urls.py
+++ b/bitbake/lib/toaster/toastermain/urls.py
@@ -51,7 +51,7 @@  if toastermain.settings.DEBUG_PANEL_ENABLED:
 
 urlpatterns = [
     # Uncomment the next line to enable the admin:
-    url(r'^admin/', include(admin.site.urls)),
+    url(r'^admin/', admin.site.urls),
 ] + urlpatterns
 
 # Automatically discover urls.py in various apps, beside our own
@@ -69,7 +69,7 @@  for t in os.walk(os.path.dirname(currentdir)):
         # make sure we don't have this module name in
         conflict = False
         for p in urlpatterns:
-            if p.regex.pattern == '^' + modulename + '/':
+            if p.pattern.regex.pattern == '^' + modulename + '/':
                 conflict = True
         if not conflict:
             urlpatterns.insert(0, url(r'^' + modulename + '/', include ( modulename + '.urls')))
diff --git a/bitbake/toaster-requirements.txt b/bitbake/toaster-requirements.txt
index a682b08..735b614 100644
--- a/bitbake/toaster-requirements.txt
+++ b/bitbake/toaster-requirements.txt
@@ -1,3 +1,3 @@ 
-Django>1.8,<1.12
+Django>2.2,<2.3
 beautifulsoup4>=4.4.0
 pytz