You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2013/03/04 20:32:52 UTC

[27/91] [abbrv] never ever check in node modules. baaad.

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/19cf42ee/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.html
----------------------------------------------------------------------
diff --git a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.html b/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.html
deleted file mode 100644
index 8f5223f..0000000
--- a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.html
+++ /dev/null
@@ -1,1026 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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"
-lang="en" xml:lang="en">
-<head>
-<title>UglifyJS -- a JavaScript parser/compressor/beautifier</title>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
-<meta name="generator" content="Org-mode"/>
-<meta name="generated" content="2011-08-29 19:17:55 EEST"/>
-<meta name="author" content="Mihai Bazon"/>
-<meta name="description" content="a JavaScript parser/compressor/beautifier in JavaScript"/>
-<meta name="keywords" content="javascript, js, parser, compiler, compressor, mangle, minify, minifier"/>
-<style type="text/css">
- <!--/*--><![CDATA[/*><!--*/
-  html { font-family: Times, serif; font-size: 12pt; }
-  .title  { text-align: center; }
-  .todo   { color: red; }
-  .done   { color: green; }
-  .tag    { background-color: #add8e6; font-weight:normal }
-  .target { }
-  .timestamp { color: #bebebe; }
-  .timestamp-kwd { color: #5f9ea0; }
-  p.verse { margin-left: 3% }
-  pre {
-	border: 1pt solid #AEBDCC;
-	background-color: #F3F5F7;
-	padding: 5pt;
-	font-family: courier, monospace;
-        font-size: 90%;
-        overflow:auto;
-  }
-  table { border-collapse: collapse; }
-  td, th { vertical-align: top; }
-  dt { font-weight: bold; }
-  div.figure { padding: 0.5em; }
-  div.figure p { text-align: center; }
-  textarea { overflow-x: auto; }
-  .linenr { font-size:smaller }
-  .code-highlighted {background-color:#ffff00;}
-  .org-info-js_info-navigation { border-style:none; }
-  #org-info-js_console-label { font-size:10px; font-weight:bold;
-                               white-space:nowrap; }
-  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
-                                 font-weight:bold; }
-  /*]]>*/-->
-</style>
-<link rel="stylesheet" type="text/css" href="docstyle.css" />
-<script type="text/javascript">
-<!--/*--><![CDATA[/*><!--*/
- function CodeHighlightOn(elem, id)
- {
-   var target = document.getElementById(id);
-   if(null != target) {
-     elem.cacheClassElem = elem.className;
-     elem.cacheClassTarget = target.className;
-     target.className = "code-highlighted";
-     elem.className   = "code-highlighted";
-   }
- }
- function CodeHighlightOff(elem, id)
- {
-   var target = document.getElementById(id);
-   if(elem.cacheClassElem)
-     elem.className = elem.cacheClassElem;
-   if(elem.cacheClassTarget)
-     target.className = elem.cacheClassTarget;
- }
-/*]]>*///-->
-</script>
-
-</head>
-<body>
-<div id="content">
-
-<h1 class="title">UglifyJS &ndash; a JavaScript parser/compressor/beautifier</h1>
-
-
-<div id="table-of-contents">
-<h2>Table of Contents</h2>
-<div id="text-table-of-contents">
-<ul>
-<li><a href="#sec-1">1 UglifyJS &mdash; a JavaScript parser/compressor/beautifier </a>
-<ul>
-<li><a href="#sec-1_1">1.1 Unsafe transformations </a>
-<ul>
-<li><a href="#sec-1_1_1">1.1.1 Calls involving the global Array constructor </a></li>
-<li><a href="#sec-1_1_2">1.1.2 <code>obj.toString()</code> ==&gt; <code>obj+“”</code> </a></li>
-</ul>
-</li>
-<li><a href="#sec-1_2">1.2 Install (NPM) </a></li>
-<li><a href="#sec-1_3">1.3 Install latest code from GitHub </a></li>
-<li><a href="#sec-1_4">1.4 Usage </a>
-<ul>
-<li><a href="#sec-1_4_1">1.4.1 API </a></li>
-<li><a href="#sec-1_4_2">1.4.2 Beautifier shortcoming &ndash; no more comments </a></li>
-<li><a href="#sec-1_4_3">1.4.3 Use as a code pre-processor </a></li>
-</ul>
-</li>
-<li><a href="#sec-1_5">1.5 Compression &ndash; how good is it? </a></li>
-<li><a href="#sec-1_6">1.6 Bugs? </a></li>
-<li><a href="#sec-1_7">1.7 Links </a></li>
-<li><a href="#sec-1_8">1.8 License </a></li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-
-<div id="outline-container-1" class="outline-2">
-<h2 id="sec-1"><span class="section-number-2">1</span> UglifyJS &mdash; a JavaScript parser/compressor/beautifier </h2>
-<div class="outline-text-2" id="text-1">
-
-
-<p>
-This package implements a general-purpose JavaScript
-parser/compressor/beautifier toolkit.  It is developed on <a href="http://nodejs.org/">NodeJS</a>, but it
-should work on any JavaScript platform supporting the CommonJS module system
-(and if your platform of choice doesn't support CommonJS, you can easily
-implement it, or discard the <code>exports.*</code> lines from UglifyJS sources).
-</p>
-<p>
-The tokenizer/parser generates an abstract syntax tree from JS code.  You
-can then traverse the AST to learn more about the code, or do various
-manipulations on it.  This part is implemented in <a href="../lib/parse-js.js">parse-js.js</a> and it's a
-port to JavaScript of the excellent <a href="http://marijn.haverbeke.nl/parse-js/">parse-js</a> Common Lisp library from <a href="http://marijn.haverbeke.nl/">Marijn Haverbeke</a>.
-</p>
-<p>
-( See <a href="http://github.com/mishoo/cl-uglify-js">cl-uglify-js</a> if you're looking for the Common Lisp version of
-UglifyJS. )
-</p>
-<p>
-The second part of this package, implemented in <a href="../lib/process.js">process.js</a>, inspects and
-manipulates the AST generated by the parser to provide the following:
-</p>
-<ul>
-<li>
-ability to re-generate JavaScript code from the AST.  Optionally
-indented&mdash;you can use this if you want to “beautify” a program that has
-been compressed, so that you can inspect the source.  But you can also run
-our code generator to print out an AST without any whitespace, so you
-achieve compression as well.
-
-</li>
-<li>
-shorten variable names (usually to single characters).  Our mangler will
-analyze the code and generate proper variable names, depending on scope
-and usage, and is smart enough to deal with globals defined elsewhere, or
-with <code>eval()</code> calls or <code>with{}</code> statements.  In short, if <code>eval()</code> or
-<code>with{}</code> are used in some scope, then all variables in that scope and any
-variables in the parent scopes will remain unmangled, and any references
-to such variables remain unmangled as well.
-
-</li>
-<li>
-various small optimizations that may lead to faster code but certainly
-lead to smaller code.  Where possible, we do the following:
-
-<ul>
-<li>
-foo["bar"]  ==&gt;  foo.bar
-
-</li>
-<li>
-remove block brackets <code>{}</code>
-
-</li>
-<li>
-join consecutive var declarations:
-var a = 10; var b = 20; ==&gt; var a=10,b=20;
-
-</li>
-<li>
-resolve simple constant expressions: 1 +2 * 3 ==&gt; 7.  We only do the
-replacement if the result occupies less bytes; for example 1/3 would
-translate to 0.333333333333, so in this case we don't replace it.
-
-</li>
-<li>
-consecutive statements in blocks are merged into a sequence; in many
-cases, this leaves blocks with a single statement, so then we can remove
-the block brackets.
-
-</li>
-<li>
-various optimizations for IF statements:
-
-<ul>
-<li>
-if (foo) bar(); else baz(); ==&gt; foo?bar():baz();
-</li>
-<li>
-if (!foo) bar(); else baz(); ==&gt; foo?baz():bar();
-</li>
-<li>
-if (foo) bar(); ==&gt; foo&amp;&amp;bar();
-</li>
-<li>
-if (!foo) bar(); ==&gt; foo||bar();
-</li>
-<li>
-if (foo) return bar(); else return baz(); ==&gt; return foo?bar():baz();
-</li>
-<li>
-if (foo) return bar(); else something(); ==&gt; {if(foo)return bar();something()}
-
-</li>
-</ul>
-</li>
-<li>
-remove some unreachable code and warn about it (code that follows a
-<code>return</code>, <code>throw</code>, <code>break</code> or <code>continue</code> statement, except
-function/variable declarations).
-
-</li>
-<li>
-act a limited version of a pre-processor (c.f. the pre-processor of
-C/C++) to allow you to safely replace selected global symbols with
-specified values.  When combined with the optimisations above this can
-make UglifyJS operate slightly more like a compilation process, in
-that when certain symbols are replaced by constant values, entire code
-blocks may be optimised away as unreachable.
-</li>
-</ul>
-</li>
-</ul>
-
-
-
-</div>
-
-<div id="outline-container-1_1" class="outline-3">
-<h3 id="sec-1_1"><span class="section-number-3">1.1</span> <span class="target">Unsafe transformations</span>  </h3>
-<div class="outline-text-3" id="text-1_1">
-
-
-<p>
-The following transformations can in theory break code, although they're
-probably safe in most practical cases.  To enable them you need to pass the
-<code>--unsafe</code> flag.
-</p>
-
-</div>
-
-<div id="outline-container-1_1_1" class="outline-4">
-<h4 id="sec-1_1_1"><span class="section-number-4">1.1.1</span> Calls involving the global Array constructor </h4>
-<div class="outline-text-4" id="text-1_1_1">
-
-
-<p>
-The following transformations occur:
-</p>
-
-
-
-<pre class="src src-js"><span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3, 4)  =&gt; [1,2,3,4]
-Array(a, b, c)         =&gt; [a,b,c]
-<span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(5)           =&gt; Array(5)
-<span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(a)           =&gt; Array(a)
-</pre>
-
-
-
-<p>
-These are all safe if the Array name isn't redefined.  JavaScript does allow
-one to globally redefine Array (and pretty much everything, in fact) but I
-personally don't see why would anyone do that.
-</p>
-<p>
-UglifyJS does handle the case where Array is redefined locally, or even
-globally but with a <code>function</code> or <code>var</code> declaration.  Therefore, in the
-following cases UglifyJS <b>doesn't touch</b> calls or instantiations of Array:
-</p>
-
-
-
-<pre class="src src-js"><span style="color: #b22222;">// </span><span style="color: #b22222;">case 1.  globally declared variable
-</span>  <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">Array</span>;
-  <span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3);
-  Array(a, b);
-
-  <span style="color: #b22222;">// </span><span style="color: #b22222;">or (can be declared later)
-</span>  <span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3);
-  <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">Array</span>;
-
-  <span style="color: #b22222;">// </span><span style="color: #b22222;">or (can be a function)
-</span>  <span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3);
-  <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">Array</span>() { ... }
-
-<span style="color: #b22222;">// </span><span style="color: #b22222;">case 2.  declared in a function
-</span>  (<span style="color: #a020f0;">function</span>(){
-    a = <span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3);
-    b = Array(5, 6);
-    <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">Array</span>;
-  })();
-
-  <span style="color: #b22222;">// </span><span style="color: #b22222;">or
-</span>  (<span style="color: #a020f0;">function</span>(<span style="color: #b8860b;">Array</span>){
-    <span style="color: #a020f0;">return</span> Array(5, 6, 7);
-  })();
-
-  <span style="color: #b22222;">// </span><span style="color: #b22222;">or
-</span>  (<span style="color: #a020f0;">function</span>(){
-    <span style="color: #a020f0;">return</span> <span style="color: #a020f0;">new</span> <span style="color: #228b22;">Array</span>(1, 2, 3, 4);
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">Array</span>() { ... }
-  })();
-
-  <span style="color: #b22222;">// </span><span style="color: #b22222;">etc.
-</span></pre>
-
-
-
-</div>
-
-</div>
-
-<div id="outline-container-1_1_2" class="outline-4">
-<h4 id="sec-1_1_2"><span class="section-number-4">1.1.2</span> <code>obj.toString()</code> ==&gt; <code>obj+“”</code> </h4>
-<div class="outline-text-4" id="text-1_1_2">
-
-
-</div>
-</div>
-
-</div>
-
-<div id="outline-container-1_2" class="outline-3">
-<h3 id="sec-1_2"><span class="section-number-3">1.2</span> Install (NPM) </h3>
-<div class="outline-text-3" id="text-1_2">
-
-
-<p>
-UglifyJS is now available through NPM &mdash; <code>npm install uglify-js</code> should do
-the job.
-</p>
-</div>
-
-</div>
-
-<div id="outline-container-1_3" class="outline-3">
-<h3 id="sec-1_3"><span class="section-number-3">1.3</span> Install latest code from GitHub </h3>
-<div class="outline-text-3" id="text-1_3">
-
-
-
-
-
-<pre class="src src-sh"><span style="color: #b22222;">## </span><span style="color: #b22222;">clone the repository
-</span>mkdir -p /where/you/wanna/put/it
-<span style="color: #da70d6;">cd</span> /where/you/wanna/put/it
-git clone git://github.com/mishoo/UglifyJS.git
-
-<span style="color: #b22222;">## </span><span style="color: #b22222;">make the module available to Node
-</span>mkdir -p ~/.node_libraries/
-<span style="color: #da70d6;">cd</span> ~/.node_libraries/
-ln -s /where/you/wanna/put/it/UglifyJS/uglify-js.js
-
-<span style="color: #b22222;">## </span><span style="color: #b22222;">and if you want the CLI script too:
-</span>mkdir -p ~/bin
-<span style="color: #da70d6;">cd</span> ~/bin
-ln -s /where/you/wanna/put/it/UglifyJS/bin/uglifyjs
-  <span style="color: #b22222;"># </span><span style="color: #b22222;">(then add ~/bin to your $PATH if it's not there already)
-</span></pre>
-
-
-
-</div>
-
-</div>
-
-<div id="outline-container-1_4" class="outline-3">
-<h3 id="sec-1_4"><span class="section-number-3">1.4</span> Usage </h3>
-<div class="outline-text-3" id="text-1_4">
-
-
-<p>
-There is a command-line tool that exposes the functionality of this library
-for your shell-scripting needs:
-</p>
-
-
-
-<pre class="src src-sh">uglifyjs [ options... ] [ filename ]
-</pre>
-
-
-
-<p>
-<code>filename</code> should be the last argument and should name the file from which
-to read the JavaScript code.  If you don't specify it, it will read code
-from STDIN.
-</p>
-<p>
-Supported options:
-</p>
-<ul>
-<li>
-<code>-b</code> or <code>--beautify</code> &mdash; output indented code; when passed, additional
-options control the beautifier:
-
-<ul>
-<li>
-<code>-i N</code> or <code>--indent N</code> &mdash; indentation level (number of spaces)
-
-</li>
-<li>
-<code>-q</code> or <code>--quote-keys</code> &mdash; quote keys in literal objects (by default,
-only keys that cannot be identifier names will be quotes).
-
-</li>
-</ul>
-</li>
-<li>
-<code>--ascii</code> &mdash; pass this argument to encode non-ASCII characters as
-<code>\uXXXX</code> sequences.  By default UglifyJS won't bother to do it and will
-output Unicode characters instead.  (the output is always encoded in UTF8,
-but if you pass this option you'll only get ASCII).
-
-</li>
-<li>
-<code>-nm</code> or <code>--no-mangle</code> &mdash; don't mangle variable names
-
-</li>
-<li>
-<code>-ns</code> or <code>--no-squeeze</code> &mdash; don't call <code>ast_squeeze()</code> (which does various
-optimizations that result in smaller, less readable code).
-
-</li>
-<li>
-<code>-mt</code> or <code>--mangle-toplevel</code> &mdash; mangle names in the toplevel scope too
-(by default we don't do this).
-
-</li>
-<li>
-<code>--no-seqs</code> &mdash; when <code>ast_squeeze()</code> is called (thus, unless you pass
-<code>--no-squeeze</code>) it will reduce consecutive statements in blocks into a
-sequence.  For example, "a = 10; b = 20; foo();" will be written as
-"a=10,b=20,foo();".  In various occasions, this allows us to discard the
-block brackets (since the block becomes a single statement).  This is ON
-by default because it seems safe and saves a few hundred bytes on some
-libs that I tested it on, but pass <code>--no-seqs</code> to disable it.
-
-</li>
-<li>
-<code>--no-dead-code</code> &mdash; by default, UglifyJS will remove code that is
-obviously unreachable (code that follows a <code>return</code>, <code>throw</code>, <code>break</code> or
-<code>continue</code> statement and is not a function/variable declaration).  Pass
-this option to disable this optimization.
-
-</li>
-<li>
-<code>-nc</code> or <code>--no-copyright</code> &mdash; by default, <code>uglifyjs</code> will keep the initial
-comment tokens in the generated code (assumed to be copyright information
-etc.).  If you pass this it will discard it.
-
-</li>
-<li>
-<code>-o filename</code> or <code>--output filename</code> &mdash; put the result in <code>filename</code>.  If
-this isn't given, the result goes to standard output (or see next one).
-
-</li>
-<li>
-<code>--overwrite</code> &mdash; if the code is read from a file (not from STDIN) and you
-pass <code>--overwrite</code> then the output will be written in the same file.
-
-</li>
-<li>
-<code>--ast</code> &mdash; pass this if you want to get the Abstract Syntax Tree instead
-of JavaScript as output.  Useful for debugging or learning more about the
-internals.
-
-</li>
-<li>
-<code>-v</code> or <code>--verbose</code> &mdash; output some notes on STDERR (for now just how long
-each operation takes).
-
-</li>
-<li>
-<code>-d SYMBOL[=VALUE]</code> or <code>--define SYMBOL[=VALUE]</code> &mdash; will replace
-all instances of the specified symbol where used as an identifier
-(except where symbol has properly declared by a var declaration or
-use as function parameter or similar) with the specified value. This
-argument may be specified multiple times to define multiple
-symbols - if no value is specified the symbol will be replaced with
-the value <code>true</code>, or you can specify a numeric value (such as
-<code>1024</code>), a quoted string value (such as ="object"= or
-='https://github.com'<code>), or the name of another symbol or keyword   (such as =null</code> or <code>document</code>).  
-This allows you, for example, to assign meaningful names to key
-constant values but discard the symbolic names in the uglified
-version for brevity/efficiency, or when used wth care, allows
-UglifyJS to operate as a form of <b>conditional compilation</b>
-whereby defining appropriate values may, by dint of the constant
-folding and dead code removal features above, remove entire
-superfluous code blocks (e.g. completely remove instrumentation or
-trace code for production use).
-Where string values are being defined, the handling of quotes are
-likely to be subject to the specifics of your command shell
-environment, so you may need to experiment with quoting styles
-depending on your platform, or you may find the option
-<code>--define-from-module</code> more suitable for use.
-
-</li>
-<li>
-<code>-define-from-module SOMEMODULE</code> &mdash; will load the named module (as
-per the NodeJS <code>require()</code> function) and iterate all the exported
-properties of the module defining them as symbol names to be defined
-(as if by the <code>--define</code> option) per the name of each property
-(i.e. without the module name prefix) and given the value of the
-property. This is a much easier way to handle and document groups of
-symbols to be defined rather than a large number of <code>--define</code>
-options.
-
-</li>
-<li>
-<code>--unsafe</code> &mdash; enable other additional optimizations that are known to be
-unsafe in some contrived situations, but could still be generally useful.
-For now only these:
-
-<ul>
-<li>
-foo.toString()  ==&gt;  foo+""
-</li>
-<li>
-new Array(x,&hellip;)  ==&gt; [x,&hellip;]
-</li>
-<li>
-new Array(x) ==&gt; Array(x)
-
-</li>
-</ul>
-</li>
-<li>
-<code>--max-line-len</code> (default 32K characters) &mdash; add a newline after around
-32K characters.  I've seen both FF and Chrome croak when all the code was
-on a single line of around 670K.  Pass &ndash;max-line-len 0 to disable this
-safety feature.
-
-</li>
-<li>
-<code>--reserved-names</code> &mdash; some libraries rely on certain names to be used, as
-pointed out in issue #92 and #81, so this option allow you to exclude such
-names from the mangler.  For example, to keep names <code>require</code> and <code>$super</code>
-intact you'd specify &ndash;reserved-names "require,$super".
-
-</li>
-<li>
-<code>--inline-script</code> &ndash; when you want to include the output literally in an
-HTML <code>&lt;script&gt;</code> tag you can use this option to prevent <code>&lt;/script</code> from
-showing up in the output.
-
-</li>
-<li>
-<code>--lift-vars</code> &ndash; when you pass this, UglifyJS will apply the following
-transformations (see the notes in API, <code>ast_lift_variables</code>):
-
-<ul>
-<li>
-put all <code>var</code> declarations at the start of the scope
-</li>
-<li>
-make sure a variable is declared only once
-</li>
-<li>
-discard unused function arguments
-</li>
-<li>
-discard unused inner (named) functions
-</li>
-<li>
-finally, try to merge assignments into that one <code>var</code> declaration, if
-possible.
-</li>
-</ul>
-</li>
-</ul>
-
-
-
-</div>
-
-<div id="outline-container-1_4_1" class="outline-4">
-<h4 id="sec-1_4_1"><span class="section-number-4">1.4.1</span> API </h4>
-<div class="outline-text-4" id="text-1_4_1">
-
-
-<p>
-To use the library from JavaScript, you'd do the following (example for
-NodeJS):
-</p>
-
-
-
-<pre class="src src-js"><span style="color: #a020f0;">var</span> <span style="color: #b8860b;">jsp</span> = require(<span style="color: #bc8f8f;">"uglify-js"</span>).parser;
-<span style="color: #a020f0;">var</span> <span style="color: #b8860b;">pro</span> = require(<span style="color: #bc8f8f;">"uglify-js"</span>).uglify;
-
-<span style="color: #a020f0;">var</span> <span style="color: #b8860b;">orig_code</span> = <span style="color: #bc8f8f;">"... JS code here"</span>;
-<span style="color: #a020f0;">var</span> <span style="color: #b8860b;">ast</span> = jsp.parse(orig_code); <span style="color: #b22222;">// </span><span style="color: #b22222;">parse code and get the initial AST
-</span>ast = pro.ast_mangle(ast); <span style="color: #b22222;">// </span><span style="color: #b22222;">get a new AST with mangled names
-</span>ast = pro.ast_squeeze(ast); <span style="color: #b22222;">// </span><span style="color: #b22222;">get an AST with compression optimizations
-</span><span style="color: #a020f0;">var</span> <span style="color: #b8860b;">final_code</span> = pro.gen_code(ast); <span style="color: #b22222;">// </span><span style="color: #b22222;">compressed code here
-</span></pre>
-
-
-
-<p>
-The above performs the full compression that is possible right now.  As you
-can see, there are a sequence of steps which you can apply.  For example if
-you want compressed output but for some reason you don't want to mangle
-variable names, you would simply skip the line that calls
-<code>pro.ast_mangle(ast)</code>.
-</p>
-<p>
-Some of these functions take optional arguments.  Here's a description:
-</p>
-<ul>
-<li>
-<code>jsp.parse(code, strict_semicolons)</code> &ndash; parses JS code and returns an AST.
-<code>strict_semicolons</code> is optional and defaults to <code>false</code>.  If you pass
-<code>true</code> then the parser will throw an error when it expects a semicolon and
-it doesn't find it.  For most JS code you don't want that, but it's useful
-if you want to strictly sanitize your code.
-
-</li>
-<li>
-<code>pro.ast_lift_variables(ast)</code> &ndash; merge and move <code>var</code> declarations to the
-scop of the scope; discard unused function arguments or variables; discard
-unused (named) inner functions.  It also tries to merge assignments
-following the <code>var</code> declaration into it.
-
-<p>
-If your code is very hand-optimized concerning <code>var</code> declarations, this
-lifting variable declarations might actually increase size.  For me it
-helps out.  On jQuery it adds 865 bytes (243 after gzip).  YMMV.  Also
-note that (since it's not enabled by default) this operation isn't yet
-heavily tested (please report if you find issues!).
-</p>
-<p>
-Note that although it might increase the image size (on jQuery it gains
-865 bytes, 243 after gzip) it's technically more correct: in certain
-situations, dead code removal might drop variable declarations, which
-would not happen if the variables are lifted in advance.
-</p>
-<p>
-Here's an example of what it does:
-</p>
-</li>
-</ul>
-
-
-
-
-<pre class="src src-js"><span style="color: #a020f0;">function</span> <span style="color: #0000ff;">f</span>(<span style="color: #b8860b;">a</span>, <span style="color: #b8860b;">b</span>, <span style="color: #b8860b;">c</span>, <span style="color: #b8860b;">d</span>, <span style="color: #b8860b;">e</span>) {
-    <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">q</span>;
-    <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">w</span>;
-    w = 10;
-    q = 20;
-    <span style="color: #a020f0;">for</span> (<span style="color: #a020f0;">var</span> <span style="color: #b8860b;">i</span> = 1; i &lt; 10; ++i) {
-        <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">boo</span> = foo(a);
-    }
-    <span style="color: #a020f0;">for</span> (<span style="color: #a020f0;">var</span> <span style="color: #b8860b;">i</span> = 0; i &lt; 1; ++i) {
-        <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">boo</span> = bar(c);
-    }
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">foo</span>(){ ... }
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">bar</span>(){ ... }
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">baz</span>(){ ... }
-}
-
-<span style="color: #b22222;">// </span><span style="color: #b22222;">transforms into ==&gt;
-</span>
-<span style="color: #a020f0;">function</span> <span style="color: #0000ff;">f</span>(<span style="color: #b8860b;">a</span>, <span style="color: #b8860b;">b</span>, <span style="color: #b8860b;">c</span>) {
-    <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">i</span>, <span style="color: #b8860b;">boo</span>, <span style="color: #b8860b;">w</span> = 10, <span style="color: #b8860b;">q</span> = 20;
-    <span style="color: #a020f0;">for</span> (i = 1; i &lt; 10; ++i) {
-        boo = foo(a);
-    }
-    <span style="color: #a020f0;">for</span> (i = 0; i &lt; 1; ++i) {
-        boo = bar(c);
-    }
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">foo</span>() { ... }
-    <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">bar</span>() { ... }
-}
-</pre>
-
-
-
-<ul>
-<li>
-<code>pro.ast_mangle(ast, options)</code> &ndash; generates a new AST containing mangled
-(compressed) variable and function names.  It supports the following
-options:
-
-<ul>
-<li>
-<code>toplevel</code> &ndash; mangle toplevel names (by default we don't touch them).
-</li>
-<li>
-<code>except</code> &ndash; an array of names to exclude from compression.
-</li>
-<li>
-<code>defines</code> &ndash; an object with properties named after symbols to
-replace (see the <code>--define</code> option for the script) and the values
-representing the AST replacement value.
-
-</li>
-</ul>
-</li>
-<li>
-<code>pro.ast_squeeze(ast, options)</code> &ndash; employs further optimizations designed
-to reduce the size of the code that <code>gen_code</code> would generate from the
-AST.  Returns a new AST.  <code>options</code> can be a hash; the supported options
-are:
-
-<ul>
-<li>
-<code>make_seqs</code> (default true) which will cause consecutive statements in a
-block to be merged using the "sequence" (comma) operator
-
-</li>
-<li>
-<code>dead_code</code> (default true) which will remove unreachable code.
-
-</li>
-</ul>
-</li>
-<li>
-<code>pro.gen_code(ast, options)</code> &ndash; generates JS code from the AST.  By
-default it's minified, but using the <code>options</code> argument you can get nicely
-formatted output.  <code>options</code> is, well, optional :-) and if you pass it it
-must be an object and supports the following properties (below you can see
-the default values):
-
-<ul>
-<li>
-<code>beautify: false</code> &ndash; pass <code>true</code> if you want indented output
-</li>
-<li>
-<code>indent_start: 0</code> (only applies when <code>beautify</code> is <code>true</code>) &ndash; initial
-indentation in spaces
-</li>
-<li>
-<code>indent_level: 4</code> (only applies when <code>beautify</code> is <code>true</code>) --
-indentation level, in spaces (pass an even number)
-</li>
-<li>
-<code>quote_keys: false</code> &ndash; if you pass <code>true</code> it will quote all keys in
-literal objects
-</li>
-<li>
-<code>space_colon: false</code> (only applies when <code>beautify</code> is <code>true</code>) &ndash; wether
-to put a space before the colon in object literals
-</li>
-<li>
-<code>ascii_only: false</code> &ndash; pass <code>true</code> if you want to encode non-ASCII
-characters as <code>\uXXXX</code>.
-</li>
-<li>
-<code>inline_script: false</code> &ndash; pass <code>true</code> to escape occurrences of
-<code>&lt;/script</code> in strings
-</li>
-</ul>
-</li>
-</ul>
-
-
-</div>
-
-</div>
-
-<div id="outline-container-1_4_2" class="outline-4">
-<h4 id="sec-1_4_2"><span class="section-number-4">1.4.2</span> Beautifier shortcoming &ndash; no more comments </h4>
-<div class="outline-text-4" id="text-1_4_2">
-
-
-<p>
-The beautifier can be used as a general purpose indentation tool.  It's
-useful when you want to make a minified file readable.  One limitation,
-though, is that it discards all comments, so you don't really want to use it
-to reformat your code, unless you don't have, or don't care about, comments.
-</p>
-<p>
-In fact it's not the beautifier who discards comments &mdash; they are dumped at
-the parsing stage, when we build the initial AST.  Comments don't really
-make sense in the AST, and while we could add nodes for them, it would be
-inconvenient because we'd have to add special rules to ignore them at all
-the processing stages.
-</p>
-</div>
-
-</div>
-
-<div id="outline-container-1_4_3" class="outline-4">
-<h4 id="sec-1_4_3"><span class="section-number-4">1.4.3</span> Use as a code pre-processor </h4>
-<div class="outline-text-4" id="text-1_4_3">
-
-
-<p>
-The <code>--define</code> option can be used, particularly when combined with the
-constant folding logic, as a form of pre-processor to enable or remove
-particular constructions, such as might be used for instrumenting
-development code, or to produce variations aimed at a specific
-platform.
-</p>
-<p>
-The code below illustrates the way this can be done, and how the
-symbol replacement is performed.
-</p>
-
-
-
-<pre class="src src-js">CLAUSE1: <span style="color: #a020f0;">if</span> (<span style="color: #a020f0;">typeof</span> DEVMODE === <span style="color: #bc8f8f;">'undefined'</span>) {
-    DEVMODE = <span style="color: #5f9ea0;">true</span>;
-}
-
-<span style="color: #0000ff;">CLAUSE2</span>: <span style="color: #a020f0;">function</span> init() {
-    <span style="color: #a020f0;">if</span> (DEVMODE) {
-        console.log(<span style="color: #bc8f8f;">"init() called"</span>);
-    }
-    ....
-    DEVMODE &amp;amp;&amp;amp; console.log(<span style="color: #bc8f8f;">"init() complete"</span>);
-}
-
-<span style="color: #0000ff;">CLAUSE3</span>: <span style="color: #a020f0;">function</span> reportDeviceStatus(<span style="color: #b8860b;">device</span>) {
-    <span style="color: #a020f0;">var</span> <span style="color: #b8860b;">DEVMODE</span> = device.mode, <span style="color: #b8860b;">DEVNAME</span> = device.name;
-    <span style="color: #a020f0;">if</span> (DEVMODE === <span style="color: #bc8f8f;">'open'</span>) {
-        ....
-    }
-}
-</pre>
-
-
-
-<p>
-When the above code is normally executed, the undeclared global
-variable <code>DEVMODE</code> will be assigned the value <b>true</b> (see <code>CLAUSE1</code>)
-and so the <code>init()</code> function (<code>CLAUSE2</code>) will write messages to the
-console log when executed, but in <code>CLAUSE3</code> a locally declared
-variable will mask access to the <code>DEVMODE</code> global symbol.
-</p>
-<p>
-If the above code is processed by UglifyJS with an argument of
-<code>--define DEVMODE=false</code> then UglifyJS will replace <code>DEVMODE</code> with the
-boolean constant value <b>false</b> within <code>CLAUSE1</code> and <code>CLAUSE2</code>, but it
-will leave <code>CLAUSE3</code> as it stands because there <code>DEVMODE</code> resolves to
-a validly declared variable.
-</p>
-<p>
-And more so, the constant-folding features of UglifyJS will recognise
-that the <code>if</code> condition of <code>CLAUSE1</code> is thus always false, and so will
-remove the test and body of <code>CLAUSE1</code> altogether (including the
-otherwise slightly problematical statement <code>false = true;</code> which it
-will have formed by replacing <code>DEVMODE</code> in the body).  Similarly,
-within <code>CLAUSE2</code> both calls to <code>console.log()</code> will be removed
-altogether.
-</p>
-<p>
-In this way you can mimic, to a limited degree, the functionality of
-the C/C++ pre-processor to enable or completely remove blocks
-depending on how certain symbols are defined - perhaps using UglifyJS
-to generate different versions of source aimed at different
-environments
-</p>
-<p>
-It is recommmended (but not made mandatory) that symbols designed for
-this purpose are given names consisting of <code>UPPER_CASE_LETTERS</code> to
-distinguish them from other (normal) symbols and avoid the sort of
-clash that <code>CLAUSE3</code> above illustrates.
-</p>
-</div>
-</div>
-
-</div>
-
-<div id="outline-container-1_5" class="outline-3">
-<h3 id="sec-1_5"><span class="section-number-3">1.5</span> Compression &ndash; how good is it? </h3>
-<div class="outline-text-3" id="text-1_5">
-
-
-<p>
-Here are updated statistics.  (I also updated my Google Closure and YUI
-installations).
-</p>
-<p>
-We're still a lot better than YUI in terms of compression, though slightly
-slower.  We're still a lot faster than Closure, and compression after gzip
-is comparable.
-</p>
-<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
-<caption></caption>
-<colgroup><col align="left" /><col align="left" /><col align="right" /><col align="left" /><col align="right" /><col align="left" /><col align="right" />
-</colgroup>
-<thead>
-<tr><th scope="col">File</th><th scope="col">UglifyJS</th><th scope="col">UglifyJS+gzip</th><th scope="col">Closure</th><th scope="col">Closure+gzip</th><th scope="col">YUI</th><th scope="col">YUI+gzip</th></tr>
-</thead>
-<tbody>
-<tr><td>jquery-1.6.2.js</td><td>91001 (0:01.59)</td><td>31896</td><td>90678 (0:07.40)</td><td>31979</td><td>101527 (0:01.82)</td><td>34646</td></tr>
-<tr><td>paper.js</td><td>142023 (0:01.65)</td><td>43334</td><td>134301 (0:07.42)</td><td>42495</td><td>173383 (0:01.58)</td><td>48785</td></tr>
-<tr><td>prototype.js</td><td>88544 (0:01.09)</td><td>26680</td><td>86955 (0:06.97)</td><td>26326</td><td>92130 (0:00.79)</td><td>28624</td></tr>
-<tr><td>thelib-full.js (DynarchLIB)</td><td>251939 (0:02.55)</td><td>72535</td><td>249911 (0:09.05)</td><td>72696</td><td>258869 (0:01.94)</td><td>76584</td></tr>
-</tbody>
-</table>
-
-
-</div>
-
-</div>
-
-<div id="outline-container-1_6" class="outline-3">
-<h3 id="sec-1_6"><span class="section-number-3">1.6</span> Bugs? </h3>
-<div class="outline-text-3" id="text-1_6">
-
-
-<p>
-Unfortunately, for the time being there is no automated test suite.  But I
-ran the compressor manually on non-trivial code, and then I tested that the
-generated code works as expected.  A few hundred times.
-</p>
-<p>
-DynarchLIB was started in times when there was no good JS minifier.
-Therefore I was quite religious about trying to write short code manually,
-and as such DL contains a lot of syntactic hacks<sup><a class="footref" name="fnr.1" href="#fn.1">1</a></sup> such as “foo == bar ?  a
-= 10 : b = 20”, though the more readable version would clearly be to use
-“if/else”.
-</p>
-<p>
-Since the parser/compressor runs fine on DL and jQuery, I'm quite confident
-that it's solid enough for production use.  If you can identify any bugs,
-I'd love to hear about them (<a href="http://groups.google.com/group/uglifyjs">use the Google Group</a> or email me directly).
-</p>
-</div>
-
-</div>
-
-<div id="outline-container-1_7" class="outline-3">
-<h3 id="sec-1_7"><span class="section-number-3">1.7</span> Links </h3>
-<div class="outline-text-3" id="text-1_7">
-
-
-<ul>
-<li>
-Twitter: <a href="http://twitter.com/UglifyJS">@UglifyJS</a>
-</li>
-<li>
-Project at GitHub: <a href="http://github.com/mishoo/UglifyJS">http://github.com/mishoo/UglifyJS</a>
-</li>
-<li>
-Google Group: <a href="http://groups.google.com/group/uglifyjs">http://groups.google.com/group/uglifyjs</a>
-</li>
-<li>
-Common Lisp JS parser: <a href="http://marijn.haverbeke.nl/parse-js/">http://marijn.haverbeke.nl/parse-js/</a>
-</li>
-<li>
-JS-to-Lisp compiler: <a href="http://github.com/marijnh/js">http://github.com/marijnh/js</a>
-</li>
-<li>
-Common Lisp JS uglifier: <a href="http://github.com/mishoo/cl-uglify-js">http://github.com/mishoo/cl-uglify-js</a>
-</li>
-</ul>
-
-
-</div>
-
-</div>
-
-<div id="outline-container-1_8" class="outline-3">
-<h3 id="sec-1_8"><span class="section-number-3">1.8</span> License </h3>
-<div class="outline-text-3" id="text-1_8">
-
-
-<p>
-UglifyJS is released under the BSD license:
-</p>
-
-
-
-<pre class="example">Copyright 2010 (c) Mihai Bazon &lt;mihai.bazon@gmail.com&gt;
-Based on parse-js (http://marijn.haverbeke.nl/parse-js/).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-    * Redistributions of source code must retain the above
-      copyright notice, this list of conditions and the following
-      disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials
-      provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
-THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-</pre>
-
-
-
-
-</div>
-</div>
-</div>
-<div id="footnotes">
-<h2 class="footnotes">Footnotes: </h2>
-<div id="text-footnotes">
-<p class="footnote"><sup><a class="footnum" name="fn.1" href="#fnr.1">1</a></sup> I even reported a few bugs and suggested some fixes in the original
-<a href="http://marijn.haverbeke.nl/parse-js/">parse-js</a> library, and Marijn pushed fixes literally in minutes.
-</p>
-</div>
-</div>
-<div id="postamble">
-<p class="author"> Author: Mihai Bazon
-</p>
-<p class="date"> Date: 2011-08-29 19:17:55 EEST</p>
-<p class="creator">HTML generated by org-mode 7.01trans in emacs 23</p>
-</div>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/19cf42ee/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.org
----------------------------------------------------------------------
diff --git a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.org b/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.org
deleted file mode 100644
index 50c9c27..0000000
--- a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/README.org
+++ /dev/null
@@ -1,571 +0,0 @@
-#+TITLE: UglifyJS -- a JavaScript parser/compressor/beautifier
-#+KEYWORDS: javascript, js, parser, compiler, compressor, mangle, minify, minifier
-#+DESCRIPTION: a JavaScript parser/compressor/beautifier in JavaScript
-#+STYLE: <link rel="stylesheet" type="text/css" href="docstyle.css" />
-#+AUTHOR: Mihai Bazon
-#+EMAIL: mihai.bazon@gmail.com
-
-* UglifyJS --- a JavaScript parser/compressor/beautifier
-
-This package implements a general-purpose JavaScript
-parser/compressor/beautifier toolkit.  It is developed on [[http://nodejs.org/][NodeJS]], but it
-should work on any JavaScript platform supporting the CommonJS module system
-(and if your platform of choice doesn't support CommonJS, you can easily
-implement it, or discard the =exports.*= lines from UglifyJS sources).
-
-The tokenizer/parser generates an abstract syntax tree from JS code.  You
-can then traverse the AST to learn more about the code, or do various
-manipulations on it.  This part is implemented in [[../lib/parse-js.js][parse-js.js]] and it's a
-port to JavaScript of the excellent [[http://marijn.haverbeke.nl/parse-js/][parse-js]] Common Lisp library from [[http://marijn.haverbeke.nl/][Marijn
-Haverbeke]].
-
-( See [[http://github.com/mishoo/cl-uglify-js][cl-uglify-js]] if you're looking for the Common Lisp version of
-UglifyJS. )
-
-The second part of this package, implemented in [[../lib/process.js][process.js]], inspects and
-manipulates the AST generated by the parser to provide the following:
-
-- ability to re-generate JavaScript code from the AST.  Optionally
-  indented---you can use this if you want to “beautify” a program that has
-  been compressed, so that you can inspect the source.  But you can also run
-  our code generator to print out an AST without any whitespace, so you
-  achieve compression as well.
-
-- shorten variable names (usually to single characters).  Our mangler will
-  analyze the code and generate proper variable names, depending on scope
-  and usage, and is smart enough to deal with globals defined elsewhere, or
-  with =eval()= calls or =with{}= statements.  In short, if =eval()= or
-  =with{}= are used in some scope, then all variables in that scope and any
-  variables in the parent scopes will remain unmangled, and any references
-  to such variables remain unmangled as well.
-
-- various small optimizations that may lead to faster code but certainly
-  lead to smaller code.  Where possible, we do the following:
-
-  - foo["bar"]  ==>  foo.bar
-
-  - remove block brackets ={}=
-
-  - join consecutive var declarations:
-    var a = 10; var b = 20; ==> var a=10,b=20;
-
-  - resolve simple constant expressions: 1 +2 * 3 ==> 7.  We only do the
-    replacement if the result occupies less bytes; for example 1/3 would
-    translate to 0.333333333333, so in this case we don't replace it.
-
-  - consecutive statements in blocks are merged into a sequence; in many
-    cases, this leaves blocks with a single statement, so then we can remove
-    the block brackets.
-
-  - various optimizations for IF statements:
-
-    - if (foo) bar(); else baz(); ==> foo?bar():baz();
-    - if (!foo) bar(); else baz(); ==> foo?baz():bar();
-    - if (foo) bar(); ==> foo&&bar();
-    - if (!foo) bar(); ==> foo||bar();
-    - if (foo) return bar(); else return baz(); ==> return foo?bar():baz();
-    - if (foo) return bar(); else something(); ==> {if(foo)return bar();something()}
-
-  - remove some unreachable code and warn about it (code that follows a
-    =return=, =throw=, =break= or =continue= statement, except
-    function/variable declarations).
-
-  - act a limited version of a pre-processor (c.f. the pre-processor of
-    C/C++) to allow you to safely replace selected global symbols with
-    specified values.  When combined with the optimisations above this can
-    make UglifyJS operate slightly more like a compilation process, in
-    that when certain symbols are replaced by constant values, entire code
-    blocks may be optimised away as unreachable.
-
-** <<Unsafe transformations>>
-
-The following transformations can in theory break code, although they're
-probably safe in most practical cases.  To enable them you need to pass the
-=--unsafe= flag.
-
-*** Calls involving the global Array constructor
-
-The following transformations occur:
-
-#+BEGIN_SRC js
-new Array(1, 2, 3, 4)  => [1,2,3,4]
-Array(a, b, c)         => [a,b,c]
-new Array(5)           => Array(5)
-new Array(a)           => Array(a)
-#+END_SRC
-
-These are all safe if the Array name isn't redefined.  JavaScript does allow
-one to globally redefine Array (and pretty much everything, in fact) but I
-personally don't see why would anyone do that.
-
-UglifyJS does handle the case where Array is redefined locally, or even
-globally but with a =function= or =var= declaration.  Therefore, in the
-following cases UglifyJS *doesn't touch* calls or instantiations of Array:
-
-#+BEGIN_SRC js
-// case 1.  globally declared variable
-  var Array;
-  new Array(1, 2, 3);
-  Array(a, b);
-
-  // or (can be declared later)
-  new Array(1, 2, 3);
-  var Array;
-
-  // or (can be a function)
-  new Array(1, 2, 3);
-  function Array() { ... }
-
-// case 2.  declared in a function
-  (function(){
-    a = new Array(1, 2, 3);
-    b = Array(5, 6);
-    var Array;
-  })();
-
-  // or
-  (function(Array){
-    return Array(5, 6, 7);
-  })();
-
-  // or
-  (function(){
-    return new Array(1, 2, 3, 4);
-    function Array() { ... }
-  })();
-
-  // etc.
-#+END_SRC
-
-*** =obj.toString()= ==> =obj+“”=
-
-** Install (NPM)
-
-UglifyJS is now available through NPM --- =npm install uglify-js= should do
-the job.
-
-** Install latest code from GitHub
-
-#+BEGIN_SRC sh
-## clone the repository
-mkdir -p /where/you/wanna/put/it
-cd /where/you/wanna/put/it
-git clone git://github.com/mishoo/UglifyJS.git
-
-## make the module available to Node
-mkdir -p ~/.node_libraries/
-cd ~/.node_libraries/
-ln -s /where/you/wanna/put/it/UglifyJS/uglify-js.js
-
-## and if you want the CLI script too:
-mkdir -p ~/bin
-cd ~/bin
-ln -s /where/you/wanna/put/it/UglifyJS/bin/uglifyjs
-  # (then add ~/bin to your $PATH if it's not there already)
-#+END_SRC
-
-** Usage
-
-There is a command-line tool that exposes the functionality of this library
-for your shell-scripting needs:
-
-#+BEGIN_SRC sh
-uglifyjs [ options... ] [ filename ]
-#+END_SRC
-
-=filename= should be the last argument and should name the file from which
-to read the JavaScript code.  If you don't specify it, it will read code
-from STDIN.
-
-Supported options:
-
-- =-b= or =--beautify= --- output indented code; when passed, additional
-  options control the beautifier:
-
-  - =-i N= or =--indent N= --- indentation level (number of spaces)
-
-  - =-q= or =--quote-keys= --- quote keys in literal objects (by default,
-    only keys that cannot be identifier names will be quotes).
-
-- =--ascii= --- pass this argument to encode non-ASCII characters as
-  =\uXXXX= sequences.  By default UglifyJS won't bother to do it and will
-  output Unicode characters instead.  (the output is always encoded in UTF8,
-  but if you pass this option you'll only get ASCII).
-
-- =-nm= or =--no-mangle= --- don't mangle variable names
-
-- =-ns= or =--no-squeeze= --- don't call =ast_squeeze()= (which does various
-  optimizations that result in smaller, less readable code).
-
-- =-mt= or =--mangle-toplevel= --- mangle names in the toplevel scope too
-  (by default we don't do this).
-
-- =--no-seqs= --- when =ast_squeeze()= is called (thus, unless you pass
-  =--no-squeeze=) it will reduce consecutive statements in blocks into a
-  sequence.  For example, "a = 10; b = 20; foo();" will be written as
-  "a=10,b=20,foo();".  In various occasions, this allows us to discard the
-  block brackets (since the block becomes a single statement).  This is ON
-  by default because it seems safe and saves a few hundred bytes on some
-  libs that I tested it on, but pass =--no-seqs= to disable it.
-
-- =--no-dead-code= --- by default, UglifyJS will remove code that is
-  obviously unreachable (code that follows a =return=, =throw=, =break= or
-  =continue= statement and is not a function/variable declaration).  Pass
-  this option to disable this optimization.
-
-- =-nc= or =--no-copyright= --- by default, =uglifyjs= will keep the initial
-  comment tokens in the generated code (assumed to be copyright information
-  etc.).  If you pass this it will discard it.
-
-- =-o filename= or =--output filename= --- put the result in =filename=.  If
-  this isn't given, the result goes to standard output (or see next one).
-
-- =--overwrite= --- if the code is read from a file (not from STDIN) and you
-  pass =--overwrite= then the output will be written in the same file.
-
-- =--ast= --- pass this if you want to get the Abstract Syntax Tree instead
-  of JavaScript as output.  Useful for debugging or learning more about the
-  internals.
-
-- =-v= or =--verbose= --- output some notes on STDERR (for now just how long
-  each operation takes).
-
-- =-d SYMBOL[=VALUE]= or =--define SYMBOL[=VALUE]= --- will replace
-  all instances of the specified symbol where used as an identifier
-  (except where symbol has properly declared by a var declaration or
-  use as function parameter or similar) with the specified value. This
-  argument may be specified multiple times to define multiple
-  symbols - if no value is specified the symbol will be replaced with
-  the value =true=, or you can specify a numeric value (such as
-  =1024=), a quoted string value (such as ="object"= or
-  ='https://github.com'=), or the name of another symbol or keyword
-  (such as =null= or =document=).  
-  This allows you, for example, to assign meaningful names to key
-  constant values but discard the symbolic names in the uglified
-  version for brevity/efficiency, or when used wth care, allows
-  UglifyJS to operate as a form of *conditional compilation*
-  whereby defining appropriate values may, by dint of the constant
-  folding and dead code removal features above, remove entire
-  superfluous code blocks (e.g. completely remove instrumentation or
-  trace code for production use).
-  Where string values are being defined, the handling of quotes are
-  likely to be subject to the specifics of your command shell
-  environment, so you may need to experiment with quoting styles
-  depending on your platform, or you may find the option
-  =--define-from-module= more suitable for use.
-
-- =-define-from-module SOMEMODULE= --- will load the named module (as
-  per the NodeJS =require()= function) and iterate all the exported
-  properties of the module defining them as symbol names to be defined
-  (as if by the =--define= option) per the name of each property
-  (i.e. without the module name prefix) and given the value of the
-  property. This is a much easier way to handle and document groups of
-  symbols to be defined rather than a large number of =--define=
-  options.
-
-- =--unsafe= --- enable other additional optimizations that are known to be
-  unsafe in some contrived situations, but could still be generally useful.
-  For now only these:
-
-  - foo.toString()  ==>  foo+""
-  - new Array(x,...)  ==> [x,...]
-  - new Array(x) ==> Array(x)
-
-- =--max-line-len= (default 32K characters) --- add a newline after around
-  32K characters.  I've seen both FF and Chrome croak when all the code was
-  on a single line of around 670K.  Pass --max-line-len 0 to disable this
-  safety feature.
-
-- =--reserved-names= --- some libraries rely on certain names to be used, as
-  pointed out in issue #92 and #81, so this option allow you to exclude such
-  names from the mangler.  For example, to keep names =require= and =$super=
-  intact you'd specify --reserved-names "require,$super".
-
-- =--inline-script= -- when you want to include the output literally in an
-  HTML =<script>= tag you can use this option to prevent =</script= from
-  showing up in the output.
-
-- =--lift-vars= -- when you pass this, UglifyJS will apply the following
-  transformations (see the notes in API, =ast_lift_variables=):
-
-  - put all =var= declarations at the start of the scope
-  - make sure a variable is declared only once
-  - discard unused function arguments
-  - discard unused inner (named) functions
-  - finally, try to merge assignments into that one =var= declaration, if
-    possible.
-
-*** API
-
-To use the library from JavaScript, you'd do the following (example for
-NodeJS):
-
-#+BEGIN_SRC js
-var jsp = require("uglify-js").parser;
-var pro = require("uglify-js").uglify;
-
-var orig_code = "... JS code here";
-var ast = jsp.parse(orig_code); // parse code and get the initial AST
-ast = pro.ast_mangle(ast); // get a new AST with mangled names
-ast = pro.ast_squeeze(ast); // get an AST with compression optimizations
-var final_code = pro.gen_code(ast); // compressed code here
-#+END_SRC
-
-The above performs the full compression that is possible right now.  As you
-can see, there are a sequence of steps which you can apply.  For example if
-you want compressed output but for some reason you don't want to mangle
-variable names, you would simply skip the line that calls
-=pro.ast_mangle(ast)=.
-
-Some of these functions take optional arguments.  Here's a description:
-
-- =jsp.parse(code, strict_semicolons)= -- parses JS code and returns an AST.
-  =strict_semicolons= is optional and defaults to =false=.  If you pass
-  =true= then the parser will throw an error when it expects a semicolon and
-  it doesn't find it.  For most JS code you don't want that, but it's useful
-  if you want to strictly sanitize your code.
-
-- =pro.ast_lift_variables(ast)= -- merge and move =var= declarations to the
-  scop of the scope; discard unused function arguments or variables; discard
-  unused (named) inner functions.  It also tries to merge assignments
-  following the =var= declaration into it.
-
-  If your code is very hand-optimized concerning =var= declarations, this
-  lifting variable declarations might actually increase size.  For me it
-  helps out.  On jQuery it adds 865 bytes (243 after gzip).  YMMV.  Also
-  note that (since it's not enabled by default) this operation isn't yet
-  heavily tested (please report if you find issues!).
-
-  Note that although it might increase the image size (on jQuery it gains
-  865 bytes, 243 after gzip) it's technically more correct: in certain
-  situations, dead code removal might drop variable declarations, which
-  would not happen if the variables are lifted in advance.
-
-  Here's an example of what it does:
-
-#+BEGIN_SRC js
-function f(a, b, c, d, e) {
-    var q;
-    var w;
-    w = 10;
-    q = 20;
-    for (var i = 1; i < 10; ++i) {
-        var boo = foo(a);
-    }
-    for (var i = 0; i < 1; ++i) {
-        var boo = bar(c);
-    }
-    function foo(){ ... }
-    function bar(){ ... }
-    function baz(){ ... }
-}
-
-// transforms into ==>
-
-function f(a, b, c) {
-    var i, boo, w = 10, q = 20;
-    for (i = 1; i < 10; ++i) {
-        boo = foo(a);
-    }
-    for (i = 0; i < 1; ++i) {
-        boo = bar(c);
-    }
-    function foo() { ... }
-    function bar() { ... }
-}
-#+END_SRC
-
-- =pro.ast_mangle(ast, options)= -- generates a new AST containing mangled
-  (compressed) variable and function names.  It supports the following
-  options:
-
-  - =toplevel= -- mangle toplevel names (by default we don't touch them).
-  - =except= -- an array of names to exclude from compression.
-  - =defines= -- an object with properties named after symbols to
-    replace (see the =--define= option for the script) and the values
-    representing the AST replacement value.
-
-- =pro.ast_squeeze(ast, options)= -- employs further optimizations designed
-  to reduce the size of the code that =gen_code= would generate from the
-  AST.  Returns a new AST.  =options= can be a hash; the supported options
-  are:
-
-  - =make_seqs= (default true) which will cause consecutive statements in a
-    block to be merged using the "sequence" (comma) operator
-
-  - =dead_code= (default true) which will remove unreachable code.
-
-- =pro.gen_code(ast, options)= -- generates JS code from the AST.  By
-  default it's minified, but using the =options= argument you can get nicely
-  formatted output.  =options= is, well, optional :-) and if you pass it it
-  must be an object and supports the following properties (below you can see
-  the default values):
-
-  - =beautify: false= -- pass =true= if you want indented output
-  - =indent_start: 0= (only applies when =beautify= is =true=) -- initial
-    indentation in spaces
-  - =indent_level: 4= (only applies when =beautify= is =true=) --
-    indentation level, in spaces (pass an even number)
-  - =quote_keys: false= -- if you pass =true= it will quote all keys in
-    literal objects
-  - =space_colon: false= (only applies when =beautify= is =true=) -- wether
-    to put a space before the colon in object literals
-  - =ascii_only: false= -- pass =true= if you want to encode non-ASCII
-    characters as =\uXXXX=.
-  - =inline_script: false= -- pass =true= to escape occurrences of
-    =</script= in strings
-
-*** Beautifier shortcoming -- no more comments
-
-The beautifier can be used as a general purpose indentation tool.  It's
-useful when you want to make a minified file readable.  One limitation,
-though, is that it discards all comments, so you don't really want to use it
-to reformat your code, unless you don't have, or don't care about, comments.
-
-In fact it's not the beautifier who discards comments --- they are dumped at
-the parsing stage, when we build the initial AST.  Comments don't really
-make sense in the AST, and while we could add nodes for them, it would be
-inconvenient because we'd have to add special rules to ignore them at all
-the processing stages.
-
-*** Use as a code pre-processor
-
-The =--define= option can be used, particularly when combined with the
-constant folding logic, as a form of pre-processor to enable or remove
-particular constructions, such as might be used for instrumenting
-development code, or to produce variations aimed at a specific
-platform.
-
-The code below illustrates the way this can be done, and how the
-symbol replacement is performed.
-
-#+BEGIN_SRC js
-CLAUSE1: if (typeof DEVMODE === 'undefined') {
-    DEVMODE = true;
-}
-
-CLAUSE2: function init() {
-    if (DEVMODE) {
-        console.log("init() called");
-    }
-    ....
-    DEVMODE &amp;&amp; console.log("init() complete");
-}
-
-CLAUSE3: function reportDeviceStatus(device) {
-    var DEVMODE = device.mode, DEVNAME = device.name;
-    if (DEVMODE === 'open') {
-        ....
-    }
-}
-#+END_SRC
-
-When the above code is normally executed, the undeclared global
-variable =DEVMODE= will be assigned the value *true* (see =CLAUSE1=)
-and so the =init()= function (=CLAUSE2=) will write messages to the
-console log when executed, but in =CLAUSE3= a locally declared
-variable will mask access to the =DEVMODE= global symbol.
-
-If the above code is processed by UglifyJS with an argument of
-=--define DEVMODE=false= then UglifyJS will replace =DEVMODE= with the
-boolean constant value *false* within =CLAUSE1= and =CLAUSE2=, but it
-will leave =CLAUSE3= as it stands because there =DEVMODE= resolves to
-a validly declared variable.
-
-And more so, the constant-folding features of UglifyJS will recognise
-that the =if= condition of =CLAUSE1= is thus always false, and so will
-remove the test and body of =CLAUSE1= altogether (including the
-otherwise slightly problematical statement =false = true;= which it
-will have formed by replacing =DEVMODE= in the body).  Similarly,
-within =CLAUSE2= both calls to =console.log()= will be removed
-altogether.
-
-In this way you can mimic, to a limited degree, the functionality of
-the C/C++ pre-processor to enable or completely remove blocks
-depending on how certain symbols are defined - perhaps using UglifyJS
-to generate different versions of source aimed at different
-environments
-
-It is recommmended (but not made mandatory) that symbols designed for
-this purpose are given names consisting of =UPPER_CASE_LETTERS= to
-distinguish them from other (normal) symbols and avoid the sort of
-clash that =CLAUSE3= above illustrates.
-
-** Compression -- how good is it?
-
-Here are updated statistics.  (I also updated my Google Closure and YUI
-installations).
-
-We're still a lot better than YUI in terms of compression, though slightly
-slower.  We're still a lot faster than Closure, and compression after gzip
-is comparable.
-
-| File                        | UglifyJS         | UglifyJS+gzip | Closure          | Closure+gzip | YUI              | YUI+gzip |
-|-----------------------------+------------------+---------------+------------------+--------------+------------------+----------|
-| jquery-1.6.2.js             | 91001 (0:01.59)  |         31896 | 90678 (0:07.40)  |        31979 | 101527 (0:01.82) |    34646 |
-| paper.js                    | 142023 (0:01.65) |         43334 | 134301 (0:07.42) |        42495 | 173383 (0:01.58) |    48785 |
-| prototype.js                | 88544 (0:01.09)  |         26680 | 86955 (0:06.97)  |        26326 | 92130 (0:00.79)  |    28624 |
-| thelib-full.js (DynarchLIB) | 251939 (0:02.55) |         72535 | 249911 (0:09.05) |        72696 | 258869 (0:01.94) |    76584 |
-
-** Bugs?
-
-Unfortunately, for the time being there is no automated test suite.  But I
-ran the compressor manually on non-trivial code, and then I tested that the
-generated code works as expected.  A few hundred times.
-
-DynarchLIB was started in times when there was no good JS minifier.
-Therefore I was quite religious about trying to write short code manually,
-and as such DL contains a lot of syntactic hacks[1] such as “foo == bar ?  a
-= 10 : b = 20”, though the more readable version would clearly be to use
-“if/else”.
-
-Since the parser/compressor runs fine on DL and jQuery, I'm quite confident
-that it's solid enough for production use.  If you can identify any bugs,
-I'd love to hear about them ([[http://groups.google.com/group/uglifyjs][use the Google Group]] or email me directly).
-
-[1] I even reported a few bugs and suggested some fixes in the original
-    [[http://marijn.haverbeke.nl/parse-js/][parse-js]] library, and Marijn pushed fixes literally in minutes.
-
-** Links
-
-- Twitter: [[http://twitter.com/UglifyJS][@UglifyJS]]
-- Project at GitHub: [[http://github.com/mishoo/UglifyJS][http://github.com/mishoo/UglifyJS]]
-- Google Group: [[http://groups.google.com/group/uglifyjs][http://groups.google.com/group/uglifyjs]]
-- Common Lisp JS parser: [[http://marijn.haverbeke.nl/parse-js/][http://marijn.haverbeke.nl/parse-js/]]
-- JS-to-Lisp compiler: [[http://github.com/marijnh/js][http://github.com/marijnh/js]]
-- Common Lisp JS uglifier: [[http://github.com/mishoo/cl-uglify-js][http://github.com/mishoo/cl-uglify-js]]
-
-** License
-
-UglifyJS is released under the BSD license:
-
-#+BEGIN_EXAMPLE
-Copyright 2010 (c) Mihai Bazon <mi...@gmail.com>
-Based on parse-js (http://marijn.haverbeke.nl/parse-js/).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-    * Redistributions of source code must retain the above
-      copyright notice, this list of conditions and the following
-      disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials
-      provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
-THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-#+END_EXAMPLE

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/19cf42ee/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/bin/uglifyjs
----------------------------------------------------------------------
diff --git a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/bin/uglifyjs b/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/bin/uglifyjs
deleted file mode 100755
index 407c9db..0000000
--- a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/bin/uglifyjs
+++ /dev/null
@@ -1,317 +0,0 @@
-#! /usr/bin/env node
-// -*- js -*-
-
-global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util");
-var fs = require("fs");
-var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js
-    jsp = uglify.parser,
-    pro = uglify.uglify;
-
-var options = {
-        ast: false,
-        mangle: true,
-        mangle_toplevel: false,
-        squeeze: true,
-        make_seqs: true,
-        dead_code: true,
-        verbose: false,
-        show_copyright: true,
-        out_same_file: false,
-        max_line_length: 32 * 1024,
-        unsafe: false,
-        reserved_names: null,
-        defines: { },
-        lift_vars: false,
-        codegen_options: {
-                ascii_only: false,
-                beautify: false,
-                indent_level: 4,
-                indent_start: 0,
-                quote_keys: false,
-                space_colon: false,
-                inline_script: false
-        },
-        make: false,
-        output: true            // stdout
-};
-
-var args = jsp.slice(process.argv, 2);
-var filename;
-
-out: while (args.length > 0) {
-        var v = args.shift();
-        switch (v) {
-            case "-b":
-            case "--beautify":
-                options.codegen_options.beautify = true;
-                break;
-            case "-i":
-            case "--indent":
-                options.codegen_options.indent_level = args.shift();
-                break;
-            case "-q":
-            case "--quote-keys":
-                options.codegen_options.quote_keys = true;
-                break;
-            case "-mt":
-            case "--mangle-toplevel":
-                options.mangle_toplevel = true;
-                break;
-            case "--no-mangle":
-            case "-nm":
-                options.mangle = false;
-                break;
-            case "--no-squeeze":
-            case "-ns":
-                options.squeeze = false;
-                break;
-            case "--no-seqs":
-                options.make_seqs = false;
-                break;
-            case "--no-dead-code":
-                options.dead_code = false;
-                break;
-            case "--no-copyright":
-            case "-nc":
-                options.show_copyright = false;
-                break;
-            case "-o":
-            case "--output":
-                options.output = args.shift();
-                break;
-            case "--overwrite":
-                options.out_same_file = true;
-                break;
-            case "-v":
-            case "--verbose":
-                options.verbose = true;
-                break;
-            case "--ast":
-                options.ast = true;
-                break;
-            case "--unsafe":
-                options.unsafe = true;
-                break;
-            case "--max-line-len":
-                options.max_line_length = parseInt(args.shift(), 10);
-                break;
-            case "--reserved-names":
-                options.reserved_names = args.shift().split(",");
-                break;
-            case "--lift-vars":
-                options.lift_vars = true;
-                break;
-            case "-d":
-            case "--define":
-                 var defarg = args.shift();
-                 try {
-                     var defsym = function(sym) {
-                             // KEYWORDS_ATOM doesn't include NaN or Infinity - should we check
-                             // for them too ?? We don't check reserved words and the like as the
-                             // define values are only substituted AFTER parsing
-                             if (jsp.KEYWORDS_ATOM.hasOwnProperty(sym)) {
-                                 throw "Don't define values for inbuilt constant '"+sym+"'";
-                             }
-                             return sym;
-                         },
-                         defval = function(v) {
-                             if (v.match(/^"(.*)"$/) || v.match(/^'(.*)'$/)) {
-                                 return [ "string", RegExp.$1 ];
-                             }
-                             else if (!isNaN(parseFloat(v))) {
-                                 return [ "num", parseFloat(v) ];
-                             }
-                             else if (v.match(/^[a-z\$_][a-z\$_0-9]*$/i)) {
-                                 return [ "name", v ];
-                             }
-                             else if (!v.match(/"/)) {
-                                 return [ "string", v ];
-                             }
-                             else if (!v.match(/'/)) {
-                                 return [ "string", v ];
-                             }
-                             throw "Can't understand the specified value: "+v;
-                         };
-                     if (defarg.match(/^([a-z_\$][a-z_\$0-9]*)(=(.*))?$/i)) {
-                         var sym = defsym(RegExp.$1),
-                             val = RegExp.$2 ? defval(RegExp.$2.substr(1)) : [ 'name', 'true' ];
-                         options.defines[sym] = val;
-                     }
-                     else {
-                         throw "The --define option expects SYMBOL[=value]";
-                     }
-                 } catch(ex) {
-                     sys.print("ERROR: In option --define "+defarg+"\n"+ex+"\n");
-                     process.exit(1);
-                 }
-                 break;
-            case "--define-from-module":
-                var defmodarg = args.shift(),
-                    defmodule = require(defmodarg),
-                    sym,
-                    val;
-                for (sym in defmodule) {
-                    if (defmodule.hasOwnProperty(sym)) {
-                        options.defines[sym] = function(val) {
-                            if (typeof val == "string")
-                                return [ "string", val ];
-                            if (typeof val == "number")
-                                return [ "num", val ];
-                            if (val === true)
-                                return [ 'name', 'true' ];
-                            if (val === false)
-                                return [ 'name', 'false' ];
-                            if (val === null)
-                                return [ 'name', 'null' ];
-                            if (val === undefined)
-                                return [ 'name', 'undefined' ];
-                            sys.print("ERROR: In option --define-from-module "+defmodarg+"\n");
-                            sys.print("ERROR: Unknown object type for: "+sym+"="+val+"\n");
-                            process.exit(1);
-                            return null;
-                        }(defmodule[sym]);
-                    }
-                }
-                break;
-            case "--ascii":
-                options.codegen_options.ascii_only = true;
-                break;
-            case "--make":
-                options.make = true;
-                break;
-            case "--inline-script":
-                options.codegen_options.inline_script = true;
-                break;
-            default:
-                filename = v;
-                break out;
-        }
-}
-
-if (options.verbose) {
-        pro.set_logger(function(msg){
-                sys.debug(msg);
-        });
-}
-
-jsp.set_logger(function(msg){
-        sys.debug(msg);
-});
-
-if (options.make) {
-        options.out_same_file = false; // doesn't make sense in this case
-        var makefile = JSON.parse(fs.readFileSync(filename || "Makefile.uglify.js").toString());
-        output(makefile.files.map(function(file){
-                var code = fs.readFileSync(file.name);
-                if (file.module) {
-                        code = "!function(exports, global){global = this;\n" + code + "\n;this." + file.module + " = exports;}({})";
-                }
-                else if (file.hide) {
-                        code = "(function(){" + code + "}());";
-                }
-                return squeeze_it(code);
-        }).join("\n"));
-}
-else if (filename) {
-        fs.readFile(filename, "utf8", function(err, text){
-                if (err) throw err;
-                output(squeeze_it(text));
-        });
-}
-else {
-        var stdin = process.openStdin();
-        stdin.setEncoding("utf8");
-        var text = "";
-        stdin.on("data", function(chunk){
-                text += chunk;
-        });
-        stdin.on("end", function() {
-                output(squeeze_it(text));
-        });
-}
-
-function output(text) {
-        var out;
-        if (options.out_same_file && filename)
-                options.output = filename;
-        if (options.output === true) {
-                out = process.stdout;
-        } else {
-                out = fs.createWriteStream(options.output, {
-                        flags: "w",
-                        encoding: "utf8",
-                        mode: 0644
-                });
-        }
-        out.write(text + ";");
-        if (options.output !== true) {
-                out.end();
-        }
-};
-
-// --------- main ends here.
-
-function show_copyright(comments) {
-        var ret = "";
-        for (var i = 0; i < comments.length; ++i) {
-                var c = comments[i];
-                if (c.type == "comment1") {
-                        ret += "//" + c.value + "\n";
-                } else {
-                        ret += "/*" + c.value + "*/";
-                }
-        }
-        return ret;
-};
-
-function squeeze_it(code) {
-        var result = "";
-        if (options.show_copyright) {
-                var tok = jsp.tokenizer(code), c;
-                c = tok();
-                result += show_copyright(c.comments_before);
-        }
-        try {
-                var ast = time_it("parse", function(){ return jsp.parse(code); });
-                if (options.lift_vars) {
-                        ast = time_it("lift", function(){ return pro.ast_lift_variables(ast); });
-                }
-                if (options.mangle) ast = time_it("mangle", function(){
-                        return pro.ast_mangle(ast, {
-                                toplevel: options.mangle_toplevel,
-                                defines: options.defines,
-                                except: options.reserved_names
-                        });
-                });
-                if (options.squeeze) ast = time_it("squeeze", function(){
-                        ast = pro.ast_squeeze(ast, {
-                                make_seqs  : options.make_seqs,
-                                dead_code  : options.dead_code,
-                                keep_comps : !options.unsafe
-                        });
-                        if (options.unsafe)
-                                ast = pro.ast_squeeze_more(ast);
-                        return ast;
-                });
-                if (options.ast)
-                        return sys.inspect(ast, null, null);
-                result += time_it("generate", function(){ return pro.gen_code(ast, options.codegen_options) });
-                if (!options.codegen_options.beautify && options.max_line_length) {
-                        result = time_it("split", function(){ return pro.split_lines(result, options.max_line_length) });
-                }
-                return result;
-        } catch(ex) {
-                sys.debug(ex.stack);
-                sys.debug(sys.inspect(ex));
-                sys.debug(JSON.stringify(ex));
-                process.exit(1);
-        }
-};
-
-function time_it(name, cont) {
-        if (!options.verbose)
-                return cont();
-        var t1 = new Date().getTime();
-        try { return cont(); }
-        finally { sys.debug("// " + name + ": " + ((new Date().getTime() - t1) / 1000).toFixed(3) + " sec."); }
-};

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/19cf42ee/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/docstyle.css
----------------------------------------------------------------------
diff --git a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/docstyle.css b/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/docstyle.css
deleted file mode 100644
index 412481f..0000000
--- a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/docstyle.css
+++ /dev/null
@@ -1,75 +0,0 @@
-html { font-family: "Lucida Grande","Trebuchet MS",sans-serif; font-size: 12pt; }
-body { max-width: 60em; }
-.title  { text-align: center; }
-.todo   { color: red; }
-.done   { color: green; }
-.tag    { background-color:lightblue; font-weight:normal }
-.target { }
-.timestamp { color: grey }
-.timestamp-kwd { color: CadetBlue }
-p.verse { margin-left: 3% }
-pre {
-  border: 1pt solid #AEBDCC;
-  background-color: #F3F5F7;
-  padding: 5pt;
-  font-family: monospace;
-  font-size: 90%;
-  overflow:auto;
-}
-pre.src {
-  background-color: #eee; color: #112; border: 1px solid #000;
-}
-table { border-collapse: collapse; }
-td, th { vertical-align: top; }
-dt { font-weight: bold; }
-div.figure { padding: 0.5em; }
-div.figure p { text-align: center; }
-.linenr { font-size:smaller }
-.code-highlighted {background-color:#ffff00;}
-.org-info-js_info-navigation { border-style:none; }
-#org-info-js_console-label { font-size:10px; font-weight:bold;
-  white-space:nowrap; }
-.org-info-js_search-highlight {background-color:#ffff00; color:#000000;
-  font-weight:bold; }
-
-sup {
-  vertical-align: baseline;
-  position: relative;
-  top: -0.5em;
-  font-size: 80%;
-}
-
-sup a:link, sup a:visited {
-  text-decoration: none;
-  color: #c00;
-}
-
-sup a:before { content: "["; color: #999; }
-sup a:after { content: "]"; color: #999; }
-
-h1.title { border-bottom: 4px solid #000; padding-bottom: 5px; margin-bottom: 2em; }
-
-#postamble {
-  color: #777;
-  font-size: 90%;
-  padding-top: 1em; padding-bottom: 1em; border-top: 1px solid #999;
-  margin-top: 2em;
-  padding-left: 2em;
-  padding-right: 2em;
-  text-align: right;
-}
-
-#postamble p { margin: 0; }
-
-#footnotes { border-top: 1px solid #000; }
-
-h1 { font-size: 200% }
-h2 { font-size: 175% }
-h3 { font-size: 150% }
-h4 { font-size: 125% }
-
-h1, h2, h3, h4 { font-family: "Bookman",Georgia,"Times New Roman",serif; font-weight: normal; }
-
-@media print {
-  html { font-size: 11pt; }
-}

http://git-wip-us.apache.org/repos/asf/cordova-plugman/blob/19cf42ee/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/lib/object-ast.js
----------------------------------------------------------------------
diff --git a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/lib/object-ast.js b/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/lib/object-ast.js
deleted file mode 100644
index afdb69f..0000000
--- a/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/node_modules/uglify-js/lib/object-ast.js
+++ /dev/null
@@ -1,75 +0,0 @@
-var jsp = require("./parse-js"),
-    pro = require("./process");
-
-var BY_TYPE = {};
-
-function HOP(obj, prop) {
-        return Object.prototype.hasOwnProperty.call(obj, prop);
-};
-
-function AST_Node(parent) {
-        this.parent = parent;
-};
-
-AST_Node.prototype.init = function(){};
-
-function DEFINE_NODE_CLASS(type, props, methods) {
-        var base = methods && methods.BASE || AST_Node;
-        if (!base) base = AST_Node;
-        function D(parent, data) {
-                base.apply(this, arguments);
-                if (props) props.forEach(function(name, i){
-                        this["_" + name] = data[i];
-                });
-                this.init();
-        };
-        var P = D.prototype = new AST_Node;
-        P.node_type = function(){ return type };
-        if (props) props.forEach(function(name){
-                var propname = "_" + name;
-                P["set_" + name] = function(val) {
-                        this[propname] = val;
-                        return this;
-                };
-                P["get_" + name] = function() {
-                        return this[propname];
-                };
-        });
-        if (type != null) BY_TYPE[type] = D;
-        if (methods) for (var i in methods) if (HOP(methods, i)) {
-                P[i] = methods[i];
-        }
-        return D;
-};
-
-var AST_String_Node = DEFINE_NODE_CLASS("string", ["value"]);
-var AST_Number_Node = DEFINE_NODE_CLASS("num", ["value"]);
-var AST_Name_Node = DEFINE_NODE_CLASS("name", ["value"]);
-
-var AST_Statlist_Node = DEFINE_NODE_CLASS(null, ["body"]);
-var AST_Root_Node = DEFINE_NODE_CLASS("toplevel", null, { BASE: AST_Statlist_Node });
-var AST_Block_Node = DEFINE_NODE_CLASS("block", null, { BASE: AST_Statlist_Node });
-var AST_Splice_Node = DEFINE_NODE_CLASS("splice", null, { BASE: AST_Statlist_Node });
-
-var AST_Var_Node = DEFINE_NODE_CLASS("var", ["definitions"]);
-var AST_Const_Node = DEFINE_NODE_CLASS("const", ["definitions"]);
-
-var AST_Try_Node = DEFINE_NODE_CLASS("try", ["body", "catch", "finally"]);
-var AST_Throw_Node = DEFINE_NODE_CLASS("throw", ["exception"]);
-
-var AST_New_Node = DEFINE_NODE_CLASS("new", ["constructor", "arguments"]);
-
-var AST_Switch_Node = DEFINE_NODE_CLASS("switch", ["expression", "branches"]);
-var AST_Switch_Branch_Node = DEFINE_NODE_CLASS(null, ["expression", "body"]);
-
-var AST_Break_Node = DEFINE_NODE_CLASS("break", ["label"]);
-var AST_Continue_Node = DEFINE_NODE_CLASS("continue", ["label"]);
-var AST_Assign_Node = DEFINE_NODE_CLASS("assign", ["operator", "lvalue", "rvalue"]);
-var AST_Dot_Node = DEFINE_NODE_CLASS("dot", ["expression", "name"]);
-var AST_Call_Node = DEFINE_NODE_CLASS("call", ["function", "arguments"]);
-
-var AST_Lambda_Node = DEFINE_NODE_CLASS(null, ["name", "arguments", "body"])
-var AST_Function_Node = DEFINE_NODE_CLASS("function", null, AST_Lambda_Node);
-var AST_Defun_Node = DEFINE_NODE_CLASS("defun", null, AST_Lambda_Node);
-
-var AST_If_Node = DEFINE_NODE_CLASS("if", ["condition", "then", "else"]);