Index: trunk/packages/sipb-xen-www/code/templates/Makefile
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/Makefile	(revision 1001)
+++ 	(revision )
@@ -1,13 +1,0 @@
-TEMPLATES=$(wildcard *.tmpl)
-OUTPUTS=$(TEMPLATES:.tmpl=.py)
-
-all: ${OUTPUTS}
-
-%.py: %.tmpl
-	cheetah compile $<
-
-#${OUTPUTS}:${TEMPLATES}
-#	cheetah compile $^
-
-clean:
-	@rm -f ${OUTPUTS} *.pyo *.pyc *.py.bak
Index: trunk/packages/sipb-xen-www/code/templates/__init__.py
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/__init__.py	(revision 1001)
+++ 	(revision )
@@ -1,9 +1,0 @@
-__all__ = 'info command error error_raw help invalid list unauth vnc'.split()
-for _name in __all__:
-    try:
-        _module = __import__(_name, globals(), {}, [_name])
-        globals()[_name] = getattr(_module, _name)
-    except ImportError, e:
-        import sys
-        print >> sys.stderr, 'Importing template "%s" raised error: %s' % (_name, e)
-        
Index: trunk/packages/sipb-xen-www/code/templates/command.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/command.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,16 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-$command $machine.name
-#end def
-
-
-#def body
-<p>$command ${machine.name} was successful.</p>
-#if $command == "Delete VM" or True
-<p><a href="list">Return</a></p>
-#else
-<p><a href="info?machine_id=${machine.machine_id}">Return</a></p>
-#end if
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/create.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/create.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,15 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-Created!
-#end def
-
-#def body
-#if $machine
-<p>Congratulations!  You have a new machine named ${machine.name}.</p>
-#else
-<p>Odd... no error, but no machine.</p>
-#end if
-<p><a href="list">Return</a></p>
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/error.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/error.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,20 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-ERROR!
-#end def
-
-#def body
-<p>Uh-oh!  We experienced an error.  Sorry about that.  We've gotten
-mail about it.</p>
-
-<p>Feel free to poke us at <tt>xvm@mit.edu</tt> if this bug is
-consistently biting you and we don't seem to be fixing it.</p>
-
-<p>In case you're curious, the gory details are below.</p>
-
-<pre>
-$details
-</pre>
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/error_raw.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/error_raw.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Error on operation $op for user $user: $errorMessage
-
-Fields:
-#for $f in $fields:
-$f=$fields[$f].value
-#end for
-
-Error output:
-$stderr#slurp
----- end error output
-
-$traceback
Index: trunk/packages/sipb-xen-www/code/templates/functions.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/functions.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#filter WebSafe
-#def databaseList($lst, $default, $onchange, $name, $id, $valueattr, $descattr)
-<select name="$name" id="$id"#slurp
-#if $onchange is not None
-onchange="$onchange"#slurp
-#end if
->
-  <option #slurp
-#if $default then '' else 'selected'
- value="">None</option>
-  #for $item in $lst
-  <option #slurp
-#if $default == getattr(item, valueattr) then 'selected' else ''
- value="${getattr(item, valueattr)}">
-    ${getattr(item, descattr)}
-  </option>
-  #end for
-</select>
-#end def
-
-#def cdromList($default="", $onchange=None)
-#filter None
-$databaseList(sorted($database.CDROM.query(), key=lambda x: x.description),
-              default, onchange, 'cdrom', 'cdromlist', 'cdrom_id', 'description')
-#end filter
-#end def
-
-#def autoList($default="", $onchange=None)
-#filter None
-$databaseList(sorted($database.Autoinstall.query(), key=lambda x: x.description),
-              default, onchange, 'autoinstall', 'autoinstalllist', 'autoinstall_id', 'description')
-#end filter
-#end def
-
-#def vmTypeList($default=None)
-#for $vmtype in (('linux-hvm', 'HVM'), ('linux', 'ParaVM'), )
-<label>
-   <input #slurp
-#if $default == $vmtype[0] then 'checked' else ''
- type="radio" name="vmtype" value="${vmtype[0]}">${vmtype[1]}</input>
-</label>
-#end for
-#end def
-
-#def addError(txt)
-#if $varExists('txt')
-#set global $error_text = $error_text + '----\n' + $txt
-#else
-#set global $error_text = $txt
-#end if
-#end def
-
-#def errorRow($value, $err)
-#if $err and $err.err_field == $value
-<tr>
-<td class="error" colspan="2">${str($err)}</td>
-</tr>
-#end if
-#end def
-#filter None
-$full_body
-#end filter
-#end filter
Index: trunk/packages/sipb-xen-www/code/templates/help.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/help.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,39 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#attr pageclass = 'help'
-
-#def title
-#if len($subjects) == 1
-Help on $subjects[0]
-#else
-Help
-#end if
-#end def
-
-
-#def body
-#if not $simple
-<p>Topics: 
-#for $key in sorted($mapping)
-<a href="help?subject=$key">$key</a>
-#end for
-</p>
-<p>
-See also <a href="trac/wiki/tips">tips and HOWTOs on the wiki</a>.
-</p>
-#end if
-#for $subject in $subjects
-#if $subject in $mapping 
-<h2>$subject</h2>
-#filter None
-<p>$mapping[$subject]</p>
-#end filter
-#else
-<p>Unknown subject '$subject'.</p>
-#end if
-#end for
-#if $simple
-<a href="javascript:window.close();">Close</a>
-#end if
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/info.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/info.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,145 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-Info on $machine.name
-#end def
-
-#def infoTable()
-<h2>Info</h2>
-<table>
-  #for $key, $value in $fields
-  <tr><td>$key:</td><td>$value</td></tr>
-  #end for
-</table>
-#end def
-
-#def commands()
-<form action="command" method="POST">
-  <input type="hidden" name="back" value="info"/>
-  <input type="hidden" name="machine_id" value="$machine.machine_id"/>
-  <table>
-    
-    <tr><td colspan=3>
-	#if $on
-	#if $has_vnc
-	<strong><a href="vnc?machine_id=$machine.machine_id">Get Console</a></strong>
-	#else
-	VNC console not enabled; still booting?
-	#end if
-	#else
-
-	#end if
-    </td></tr>
-      <tr>
-	#if $on
-	<td><button type="submit" class="button" name="action" value="Power off">Power off (hard)</button></td>
-	<td><button type="submit" class="button" name="action" value="Shutdown">Shut down</button></td>
-	<td><input type="submit" class="button" name="action" value="Reboot"/></td>
-	#else
-	<td><input type="submit" class="button" name="action" value="Power on"/></td>
-	#end if
-      <td>Boot CD:</td>
-      <td>#slurp
-#filter None
-$cdromList()#slurp
-#end filter
-</td>
-  </tr>
-    <tr>
-      <td><input type="submit" class="button" name="action" value="Delete VM" onclick="return confirm('Are you sure that you want to delete this VM?');"/></td>
-    </tr>
-  </table>
-</form>
-#end def
-
-#def modifyForm()
-#if $err
-<p class="error">We had a problem with your request:</p>
-#else if $varExists('new_machine')
-<p>Successfully modified.</p>
-#end if
-#if $on
-(To edit ram, disk size, or machine name, turn off the machine first.)
-#end if
-<form action="modify" method="POST">
-  <input type="hidden" name="machine_id" value="$defaults.machine_id"/>
-  <table>
-    <tr><td>Description:</td><td colspan="2"><textarea name="description" rows="4" cols="60">$defaults.description</textarea></td></tr>
-    <tr><td>Owner#slurp
-#filter None
-$helppopup("Owner")#slurp
-#end filter
-:</td><td><input type="text" name="owner", value="$defaults.owner"/></td></tr>
-#filter None
-$errorRow('owner', $err)
-#end filter
-    <tr><td>Administrator#slurp
-#filter None
-$helppopup("Administrator")#slurp
-#end filter
-:</td><td><input type="text" name="admin", value="$defaults.administrator"/></td></tr>
-#filter None
-$errorRow('administrator', $err)
-#end filter
-    <tr><td>Contact email:</td><td><input type="text" name="contact" value="$defaults.contact"/></td></tr>
-#filter None
-$errorRow('contact', $err)
-#end filter
-#if not $on
-    <tr><td>Machine Name:</td><td><input type="text" name="name" value="$defaults.name"/>.${config.dns.domains[0]}</td></tr>
-#filter None
-$errorRow('name', $err)
-#end filter
-    <tr>
-      <td>HVM/ParaVM#slurp
-#filter None
-$helppopup('HVM/ParaVM')#slurp
-#end filter
-</td>
-      <td>#slurp
-#filter None
-$vmTypeList($defaults.type)#slurp
-#end filter
-</td>
-    </tr>
-    <tr><td>Ram:</td><td><input type="text" size=3 name="memory" value="$defaults.memory"/>MiB (max $max_mem)</td></tr>
-#filter None
-$errorRow('memory', $err)
-#end filter
-    <tr><td>Disk:</td><td><input type="text" size=3 name="disksize" value="$defaults.disk"/>GiB (max $max_disk)</td><td>WARNING: Modifying disk size may corrupt your data.</td></tr>
-#filter None
-$errorRow('disk', $err)
-#end filter
-#else
-#filter None
-$errorRow('name', $err)
-$errorRow('memory', $err)
-$errorRow('disk', $err)
-#end filter
-#end if
-    <tr><td><input type="submit" class="button" name="action" value="Change"/></td></tr>
-  </table>
-</form>
-#end def
-
-#def body
-<div id="info">
-#filter None
-  $infoTable()
-#end filter
-</div>
-
-<h2>Commands</h2>
-<div id="commands">
-#filter None
-  $commands()
-#end filter
-</div>
-<h2>Settings</h2>
-<div id="modify">
-#filter None
-  $modifyForm()
-#end filter
-</div>
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/invalid.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/invalid.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,18 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-Invalid Input
-#end def
-
-#def body
-<p>Your input was bad:</p>
-<table>
-<tr><td>operation</td><td>Field</td><td>value</td><td>reason</td></tr>
-<tr><td>$op</td><td>$err_field</td><td>$err_value</td><td>$errorMessage</td></tr>
-#if $stderr
-<p>Printed to standard error:</p>
-<pre>$stderr</pre>
-#end if
-</table>
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/list.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/list.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,207 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-#import datetime
-
-
-#def title
-VM List
-#end def
-
-#def createForm()
-#if $cant_add_vm
-<p>$cant_add_vm</p>
-#else
-<h2>Create a new VM</h2>
-#if $err
-<p class="error">We had a problem with your request:</p>
-#else if $varExists('new_machine')
-<p>Congratulations! You successfully created a new VM called $new_machine.</p>
-#end if
-    <form action="create" method="POST">
-    <input type="hidden" name="back" value="list"/>
-      <table>
-#filter None
-      $errorRow('create', $err)
-#end filter
-	<tr>
-	  <td>Name</td>
-	  <td><input type="text" name="name" value="$defaults.name"/>.${config.dns.domains[0]}</td>
-	</tr>
-#filter None
-$errorRow('name', $err)
-#end filter
-	<tr>
-	  <td>Description</td>
-	  <td><textarea name="description" rows="4" cols="60">$defaults.description</textarea></td>
-	</tr>
-#filter None
-$errorRow('description', $err)
-#end filter
-	<tr>
-	  <td>Memory</td>
-	  <td><input type="text" name="memory" value="$defaults.memory" size=3/> MiB ($max_memory max)</td>
-	</tr>
-#filter None
-$errorRow('memory', $err)
-#end filter
-	<tr>
-	  <td>Disk</td>
-	  <td><input type="text" name="disksize" value="$defaults.disk" size=3/> GiB (${"%0.1f" % ($max_disk-0.05)} max)</td>
-	</tr>
-#filter None
-$errorRow('disk', $err)
-#end filter
-        <tr>
-          <td>HVM/ParaVM#slurp
-#filter None
-$helppopup('HVM/ParaVM')#slurp
-#end filter
-</td>
-          <td>
-#filter None
-$vmTypeList($defaults.type)
-#end filter
-</td>
-        </tr>
-#filter None
-$errorRow('vmtype', $err)
-#end filter
-#filter None
-$errorRow('autoinstall', $err)
-#end filter
-	<tr>
-	  <td>Autoinstall#slurp
-#filter None
-$helppopup('Autoinstall')#slurp
-#end filter
-</td>
-	  <td><input type="radio" name="cd_or_auto" id="cd_or_auto_auto">
-#filter None
-$autoList($defaults.cdrom, "document.getElementById('cd_or_auto_auto').checked = true;document.getElementById('cdromlist').value = ''")
-	      (experimental; 1-2 minutes, and you have a machine with empty root password.)
-#end filter
-	  </input>
-	</tr>
-	<tr>
-	  <td>Boot CD</td>
-	  <td><input type="radio" name="cd_or_auto" id="cd_or_auto_cd" checked>
-#filter None
-$cdromList($defaults.cdrom, "document.getElementById('cd_or_auto_cd').checked = true;document.getElementById('autoinstalllist').value = ''")
-#end filter
-</td>
-	  </input>
-	</tr>
-$errorRow('cdrom', $err)
-$errorRow('cdrom', $err)
-	<tr>
-	  <td>Owner</td>
-	  <td><input type="text" name="owner" value="$defaults.owner"/></td>
-	</tr>
-#filter None
-	$errorRow('owner', $err)
-#end filter
-      </table>
-      <input type="submit" class="button" value="Create it!"/><br />
-      Windows notes: #slurp
-#filter None
-$helppopup('Windows')#slurp
-#end filter
-    </form>
-#end if
-#end def
-
-#def machineRow($machine)
-      <tr> 
-	<td rowspan="2">
-	  <form action="command" method="post">
-	    <input type="hidden" name="back" value="list"/>
-	    <input type="hidden" name="machine_id"
-		   value="$machine.machine_id"/>
-<input type="submit" class="power #slurp
-#if $machine.uptime then 'on' else 'off'
-" name="action" value="#slurp
-#if $machine.uptime then 'Power off' else 'Power on'
-"/>
-	  </form>
-	</td>
-	<td><a href="info?machine_id=$machine.machine_id">$machine.name</a></td>
-	<td>${machine.memory}M</td>
-	<td>$machine.owner</td>
-	<td>$machine.administrator</td>
-#if $machine.nics
-#set $nic = $machine.nics[0]
-	<td>$nic.ip</td>
-#else
-	<td></td>
-#end if
-<td>#slurp
-#if $machine.uptime
-${datetime.timedelta(seconds=int(machine.uptime))}#slurp
-#end if
-</td>
-	<td>#slurp
-#if $has_vnc[$machine] == True
-<a href="vnc?machine_id=$machine.machine_id">Console</a>#slurp
-#else if $has_vnc[$machine] != 'Off'
-#filter None
-$has_vnc[$machine]
-#end filter
-#end if
-</td>
-      </tr>
-      <tr>
-        <td colspan="7" style="padding-left: 1em; color: #666">$machine.description</td>
-      </tr>
-#end def
-
-#def machineList($machines)
-    <table cellspacing="0" cellpadding="2">
-      <tr>
-	<th></th>
-	<th>Name</th>
-	<th>Memory</th>
-	<th>Owner#slurp
-#filter None
-$helppopup('Owner')#slurp
-#end filter
-</th>
-        <th>Administrator#slurp
-#filter None
-$helppopup('Administrator')#slurp
-#end filter
-</th>
-	<th>IP</th>
-	<th>Uptime</th>
-	<th>VNC</th>
-      </tr>
-      #for $machine in $machines:
-    #filter None
-	$machineRow($machine)
-    #end filter
-      #end for
-    </table>
-    <script type="text/javascript" src="/static/stripe.js"></script>
-    <script type="text/javascript">
-        document.observe("dom:loaded", function() {
-            stripe(\$('machinelist').getElementsByTagName('table')[0],
-                   'stripedrow');
-        });
-    </script>
-#end def
-
-
-#def body
-<p style="font-size: 125%;">SIPB Virtual Servers is an <strong>alpha service</strong>.  <a href="/static/about.html">What does this mean?</a></p>
-#if not $machines
-<p>You don't currently control any VMs.</p>   
-#end if
-    <p><a href="list">refresh</a></p>
-    <div id="machinelist">
-    #filter None
-    $machineList($machines)
-    #end filter
-    </div>
-#filter None
-$createForm()
-#end filter
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/skeleton.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/skeleton.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,80 +1,0 @@
-#from functions import functions
-#extends functions
-
-#def full_body
-<!DOCTYPE html
-PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head><title>$title &mdash; SIPB Virtual Servers</title>
-  <link href="static/favicon.ico" type="image/x-icon" rel="shortcut icon">
-  <link rel="stylesheet" href="static/style.css" type="text/css" />
-  <link rel="stylesheet" href="static/layout.css" type="text/css" media="screen" />
-  <script type="text/javascript" src="static/prototype.js"></script>
-  <script type="text/javascript">
-var helpWin = null;
-function closeWin(){
-	if (helpWin != null){
-		if(!helpWin.closed)
-			helpWin.close();
-	}
-}
-
-function helppopup(name){
-   closeWin()
-   helpWin = window.open("help?simple=true&subject="+encodeURIComponent(name), "Help",
-"status, height = 300, width = 400");
-   if (window.focus){helpWin.focus();}
-   return false;
-}
-</script>
-</head>
-<body id="body"
-#if hasattr($self, 'pageclass'):
-  class="$pageclass"
-#end if
-  >
-
-#if False
-<div>
-<p>We are in the process of modifying the service.  Things likely will not work.</p>
-</div>
-#end if
-
-<div id="err">
-#if $varExists('error_text')
-<p>STDERR:</p><pre>$error_text</pre>
-#end if
-</div>
-
-#if not $varExists('simple') or not $simple
-<p class="loggedin">Welcome, <span class="name">$user</span>.</p>
-
-<ul class="navigation">
-<li><a href="list">List</a></li>
-#if $varExists('machine')
-<li><a href="info?machine_id=$machine.machine_id">Info</a></li>
-<li><a href="vnc?machine_id=$machine.machine_id">Console</a></li>
-#end if
-<li><a href="help">Help</a></li>
-</ul>
-#end if
-<div id="result" class="result">
-#if $varExists('result')
-$result
-#end if
-</div>
-
-#if not $varExists('simple') or not $simple
-<h1>$title &mdash; SIPB Virtual Servers</h1>
-#end if
-#filter None
-$body
-#end filter
-#if not $varExists('simple') or not $simple
-<hr />
-Questions? Contact <a href="mailto:xvm@mit.edu">xvm@mit.edu</a>.
-#end if
-</body>
-</html>
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/unauth.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/unauth.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,51 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-
-#def title
-Intro
-#end def
-
-#def body
-<h1>XVM &mdash; Virtual Servers for MIT </h1>
-
-<p><strong>xvm.mit.edu</strong> is a virtualization service for the MIT
-community.  We offer <strong>virtual machines</strong>&mdash;your own
-complete system on which you can start from our <strong>two-minute
-Debian install</strong> or install the <strong>operating system of your
-choice</strong>.  The service is <strong>free</strong> to any Athena
-account holder.</p>
-
-<p>MIT users:</p>
-<blockquote><big><a
-href="https://xvm.mit.edu/"><strong><font color="green">&rarr;</font> Log in to XVM now</strong>
-</a></big></blockquote>
-<p>You'll need an <a href="http://ca.mit.edu/">MIT personal
-certificate</a>.</p>
-
-<h2>XVM features:</h2>
-<ul>
-<li>Online management of virtual machines</li>
-<li>A wide selection of bootable CD-ROM images and installers</li>
-<li>A two-minute Debian (Etch) image cloner</li>
-<li>Secure VNC console access via a Java applet</li>
-<li>Secure serial console access over SSH</li>
-<li>Ownership and access control through Athena lockers and groups</li>
-</ul>
-
-<p>The XVM code base is a <strong>free software</strong> project under
-development, licensed under GPLv2+. If you're interested in using it,
-we'd be happy to help you set it up in your environment. Our Subversion
-repository is</p> <blockquote><a
-href="https://xvm.mit.edu:1111/">https://xvm.mit.edu:1111/</a></blockquote>
-
-<p>xvm.mit.edu is provided by <a href="http://sipb.mit.edu/">SIPB</a>,
-the student computing group at MIT, with generous funding from <a
-href="http://web.mit.edu/ist/">IS&amp;T</a>.  Like all SIPB projects, we
-are independently run by our own team of volunteers, and we welcome new
-contributors.</p>
-
-<p>Questions and feedback welcome at <a
-href="mailto:xvm@mit.edu">xvm@mit.edu</a>.</p>
-
-#end def
Index: trunk/packages/sipb-xen-www/code/templates/vnc.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/vnc.tmpl	(revision 1001)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#from skeleton import skeleton
-#extends skeleton
-
-#def title
-Console to $machine.name
-#end def
-
-#def body
-<style type='text/css'>body { max-width: none }</style>
-#if not $on
-<p> Your machine appears to be off.</p>
-#else if not $has_vnc
-<p> Your machine appears to not be accepting VNC connections. Perhaps you have a ParaVM machine?</p>
-#end if
-<p>See <a href="help?subject=Console" target="_blank">tips</a> about framebuffer and other issues.</p>
-<APPLET CODE="VncViewer.class" ARCHIVE="https://$hostname:446/static/VncViewer.jar"
-        WIDTH="100%" HEIGHT="1000">
-<PARAM NAME="PASSWORD" VALUE="moocow">
-<PARAM NAME="PORT" VALUE="$port">
-<PARAM NAME="HOST" VALUE="$hostname">
-<PARAM NAME="VMNAME" VALUE="$machine.name">
-<PARAM NAME="AUTHTOKEN" VALUE="$authtoken">
-<PARAM NAME="SocketFactory" VALUE="VNCProxyConnectSocketFactory">
-</APPLET>
-#end def
