<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.

-->
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><link href='audit.css' rel='stylesheet' type='text/css'/><title>Audited On 2008-10-27</title></head><body>
<p>Audit ran on <span class='created'>2008-10-27</span></p><div class='diff'><h1>From <a href='rat-scan-data-2008-10-06.html' class='start-date'>2008-10-06</a> Till <a href='rat-scan-data-2008-10-27.html' class='end-date'>2008-10-27</a></h1><h2>Added Resources</h2><ul class='added'><li class='dir'>/www/archive.apache.org/dist/incubator/buildr/1.3.3-incubating<ul><li class='resource'>buildr-1.3.3-incubating.gem</li><li class='resource'>buildr-1.3.3-incubating.tgz</li><li class='resource'>buildr-1.3.3-incubating.zip</li><li class='resource'>buildr-1.3.3-java-incubating.gem</li></ul></li><li class='dir'>/www/archive.apache.org/dist/incubator/empire-db/apache-empire-db-2.0.4-incubating<ul><li class='resource'>apache-empire-db-2.0.4-incubating.ratReport.txt</li><li class='resource'>apache-empire-db-2.0.4-incubating.tar.gz</li><li class='resource'>apache-empire-db-2.0.4-incubating.zip</li></ul></li><li class='dir'>/www/www.apache.org/dist/incubator/empire-db/apache-empire-struts2-ext-1.0.4-incubating<ul><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.ratReport.txt</li><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.zip</li><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.tar.gz</li></ul></li><li class='dir'>/www/www.apache.org/dist/incubator/buildr/1.3.3-incubating<ul><li class='resource'>buildr-1.3.3-incubating.gem</li><li class='resource'>buildr-1.3.3-incubating.tgz</li><li class='resource'>buildr-1.3.3-incubating.zip</li><li class='resource'>buildr-1.3.3-java-incubating.gem</li></ul></li><li class='dir'>/www/archive.apache.org/dist/incubator/empire-db/apache-empire-struts2-ext-1.0.4-incubating<ul><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.ratReport.txt</li><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.tar.gz</li><li class='resource'>apache-empire-struts2-ext-1.0.4-incubating.zip</li></ul></li><li class='dir'>/www/www.apache.org/dist/incubator/empire-db/apache-empire-db-2.0.4-incubating<ul><li class='resource'>apache-empire-db-2.0.4-incubating.ratReport.txt</li><li class='resource'>apache-empire-db-2.0.4-incubating.zip</li><li class='resource'>apache-empire-db-2.0.4-incubating.tar.gz</li></ul></li></ul><h2>Modified Resources</h2><h2>Removed Resources</h2></div></body></html>
