diff --git a/tools/droiddoc/templates-sdk/sdkpage.cs b/tools/droiddoc/templates-sdk/sdkpage.cs
index 22fed40..bf96a5f 100644
--- a/tools/droiddoc/templates-sdk/sdkpage.cs
+++ b/tools/droiddoc/templates-sdk/sdkpage.cs
@@ -256,168 +256,7 @@
 <?cs call:tag_list(root.descr) ?>
 
 
-<section id="downloads" class="dac-section dac-small">
-<div class="wrap">
-
-<h2 class="norule">Start using Android Studio today</h2>
-
-<p>Android Studio includes all the tools you need to build apps for Android.</p>
-
-<div style="float:left;margin-right:40px;width:auto;">
-<p>
-  <a class="landing-button green download-bundle-button"
-    data-modal-toggle="studio_tos">Download Android Studio<br>
-  <span class="small"></span></a>
-</p>
-</div>
-
-<div style="float:left;width:auto;margin-bottom:40px">
-<ul class="nolist" style="text-transform: uppercase;margin:8px 0">
-<li>Version: <?cs var:studio.version ?></li>
-<li>Release date: <?cs var:studio.release.date ?></li>
-</ul>
-</div>
-
-
-
-<h4 style="clear:left;margin-top:40px">Select a different platform</h4>
-
-  <table class="download">
-    <tr>
-      <th>Platform</th>
-      <th>Android Studio package</th>
-      <th>Size</th>
-      <th>SHA-1 checksum</th>
-  </tr>
-  <tr>
-    <td rowspan="3">Windows</td>
-    <td>
-  <a onclick="return onDownload(this,false,true)" id="win-bundle" data-modal-toggle="studio_tos"
-    href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_exe_download ?>"
-    ><?cs var:studio.win_bundle_exe_download ?></a><br>
-    Includes Android SDK <b>(recommended)</b>
-    </td>
-    <td id="win-bundle-size"><?cs call:size_in_mb(studio.win_bundle_exe_bytes) ?> MB
-      <br>(<?cs var:studio.win_bundle_exe_bytes ?> bytes)</td>
-    <td><?cs var:studio.win_bundle_exe_checksum ?></td>
-  </tr>
-  <tr>
-    <!-- blank TD from Windows rowspan -->
-    <td>
-  <a onclick="return onDownload(this,false,true)" id="win-bundle-notools" data-modal-toggle="studio_tos"
-    href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.win_notools_exe_download ?>"
-    ><?cs var:studio.win_notools_exe_download ?></a><br>
-    No Android SDK
-    </td>
-    <td><?cs call:size_in_mb(studio.win_notools_exe_bytes) ?> MB
-      <br>(<?cs var:studio.win_notools_exe_bytes ?> bytes)</td>
-    <td><?cs var:studio.win_notools_exe_checksum ?></td>
-  </tr>
-  <tr>
-    <!-- blank TD from Windows rowspan -->
-    <td>
-  <a onclick="return onDownload(this,false,true)" id="win-bundle-zip" data-modal-toggle="studio_tos"
-    href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.win_bundle_download ?>"
-    ><?cs var:studio.win_bundle_download ?></a><br>
-    No Android SDK, no installer
-    </td>
-    <td><?cs call:size_in_mb(studio.win_bundle_bytes) ?> MB
-      <br>(<?cs var:studio.win_bundle_bytes ?> bytes)</td>
-    <td><?cs var:studio.win_bundle_checksum ?></td>
-  </tr>
-  <tr>
-    <td><nobr>Mac OS X</nobr></td>
-    <td>
-  <a onclick="return onDownload(this,false,true)" id="mac-bundle" data-modal-toggle="studio_tos"
-    href="https://dl.google.com/dl/android/studio/install/<?cs var:studio.version ?>/<?cs var:studio.mac_bundle_download ?>"
-    ><?cs var:studio.mac_bundle_download ?></a>
-    </td>
-    <td id="mac-bundle-size"><?cs call:size_in_mb(studio.mac_bundle_bytes) ?> MB
-      <br>(<?cs var:studio.mac_bundle_bytes ?> bytes)</td>
-    <td><?cs var:studio.mac_bundle_checksum ?></td>
-  </tr>
-  <tr>
-    <td>Linux</td>
-    <td>
-  <a onclick="return onDownload(this,false,true)" id="linux-bundle" data-modal-toggle="studio_tos"
-    href="https://dl.google.com/dl/android/studio/ide-zips/<?cs var:studio.version ?>/<?cs var:studio.linux_bundle_download ?>"
-    ><?cs var:studio.linux_bundle_download ?></a>
-    </td>
-    <td id="linux-bundle-size"><?cs call:size_in_mb(studio.linux_bundle_bytes) ?> MB
-      <br>(<?cs var:studio.linux_bundle_bytes ?> bytes)</td>
-    <td><?cs var:studio.linux_bundle_checksum ?></td>
-  </tr>
-  </table>
-
-
-
-<h4 class="norule" style="margin-top:40px">Get just the command line tools</h4>
-
-<p>If you do not need Android Studio, you can download the basic Android
-command line tools below.</p>
-
-  <table class="download">
-    <tr>
-      <th>Platform</th>
-      <th>SDK tools package</th>
-      <th>Size</th>
-      <th>SHA-1 checksum</th>
-  </tr>
-  <tr>
-    <td rowspan="2">Windows</td>
-    <td>
-  <a onclick="return onDownload(this)" id="win-tools" data-modal-toggle="studio_tos"
-    href="//dl.google.com/android/<?cs
-var:sdk.win_installer
-?>"><?cs var:sdk.win_installer ?></a><br>
-    </td>
-    <td><?cs call:size_in_mb(sdk.win_installer_bytes) ?> MB
-      <br>(<?cs var:sdk.win_installer_bytes ?> bytes)</td>
-    <td><?cs var:sdk.win_installer_checksum ?></td>
-  </tr>
-  <tr>
-    <!-- blank TD from Windows rowspan -->
-    <td>
-  <a onclick="return onDownload(this)" id="win-tools2" data-modal-toggle="studio_tos"
-    href="//dl.google.com/android/<?cs var:sdk.win_download
-?>"><?cs var:sdk.win_download ?></a><br>
-    No installer
-    </td>
-    <td><?cs call:size_in_mb(sdk.win_bytes) ?> MB
-      <br>(<?cs var:sdk.win_bytes ?> bytes)</td>
-    <td><?cs var:sdk.win_checksum ?></td>
-  </tr>
-  <tr>
-    <td><nobr>Mac OS X</nobr></td>
-    <td>
-  <a onclick="return onDownload(this)" id="mac-tools" data-modal-toggle="studio_tos"
-    href="//dl.google.com/android/<?cs
-var:sdk.mac_download
-?>"><?cs var:sdk.mac_download ?></a>
-    </td>
-    <td><?cs call:size_in_mb(sdk.mac_bytes) ?> MB
-      <br>(<?cs var:sdk.mac_bytes ?> bytes)</td>
-    <td><?cs var:sdk.mac_checksum ?></td>
-  </tr>
-  <tr>
-    <td>Linux</td>
-    <td>
-  <a onclick="return onDownload(this)" id="linux-tools" data-modal-toggle="studio_tos"
-    href="//dl.google.com/android/<?cs
-var:sdk.linux_download
-?>"><?cs var:sdk.linux_download ?></a>
-    </td>
-    <td><?cs call:size_in_mb(sdk.linux_bytes) ?> MB
-      <br>(<?cs var:sdk.linux_bytes ?> bytes)</td>
-    <td><?cs var:sdk.linux_checksum ?></td>
-  </tr>
-  </table>
-  <p>
-Also see the <a href="<?cs var:toroot ?>tools/sdk/tools-notes.html">SDK
-tools release notes</a>.</p>
-
-  </div><!-- end wrap -->
-  </section>
+<?cs #######  TODO: Remove this whole file from processing. ######## ?>
 
 
 <?cs ########  The Android Studio version of the download script ######### ?>
