diff --git a/index.html b/index.html
index 4ea5492..4a6b465 100644
--- a/index.html
+++ b/index.html
@@ -2,9 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc on Mon May 11 14:26:39 PDT 2015 -->
-<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
-<title>jndn-management 0.10.0 API</title>
+<!-- Generated by javadoc (1.8.0_60-ea) on Fri Sep 04 15:17:00 PDT 2015 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>jndn-management 1.0.0 API</title>
 <script type="text/javascript">
     targetPage = "" + window.location.search;
     if (targetPage != "" && targetPage != "undefined")
@@ -12,6 +12,12 @@
     if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
         targetPage = "undefined";
     function validURL(url) {
+        try {
+            url = decodeURIComponent(url);
+        }
+        catch (error) {
+            return false;
+        }
         var pos = url.indexOf(".html");
         if (pos == -1 || pos != url.length - 5)
             return false;
@@ -23,7 +29,8 @@
             if ('a' <= ch && ch <= 'z' ||
                     'A' <= ch && ch <= 'Z' ||
                     ch == '$' ||
-                    ch == '_') {
+                    ch == '_' ||
+                    ch.charCodeAt(0) > 127) {
                 allowNumber = true;
                 allowSep = true;
             } else if ('0' <= ch && ch <= '9'
