You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2016/01/21 01:59:43 UTC

[27/37] android commit: Updated RELEASENOTES and Version for release 5.1.0

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/lib/build.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/lib/build.js b/node_modules/cordova-common/node_modules/plist/lib/build.js
index 9437ed6..e2b9454 100644
--- a/node_modules/cordova-common/node_modules/plist/lib/build.js
+++ b/node_modules/cordova-common/node_modules/plist/lib/build.js
@@ -92,7 +92,9 @@ function walk_obj(next, next_child) {
   var tag_type, i, prop;
   var name = type(next);
 
-  if (Array.isArray(next)) {
+  if ('Undefined' == name) {
+    return;
+  } else if (Array.isArray(next)) {
     next_child = next_child.ele('array');
     for (i = 0; i < next.length; i++) {
       walk_obj(next[i], next_child);
@@ -128,7 +130,7 @@ function walk_obj(next, next_child) {
   } else if ('ArrayBuffer' == name) {
     next_child.ele('data').raw(base64.fromByteArray(next));
 
-  } else if (next.buffer && 'ArrayBuffer' == type(next.buffer)) {
+  } else if (next && next.buffer && 'ArrayBuffer' == type(next.buffer)) {
     // a typed array
     next_child.ele('data').raw(base64.fromByteArray(new Uint8Array(next.buffer), next_child));
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js
index 887f706..46001d2 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/lib/b64.js
@@ -7,18 +7,21 @@ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
     ? Uint8Array
     : Array
 
-	var ZERO   = '0'.charCodeAt(0)
 	var PLUS   = '+'.charCodeAt(0)
 	var SLASH  = '/'.charCodeAt(0)
 	var NUMBER = '0'.charCodeAt(0)
 	var LOWER  = 'a'.charCodeAt(0)
 	var UPPER  = 'A'.charCodeAt(0)
+	var PLUS_URL_SAFE = '-'.charCodeAt(0)
+	var SLASH_URL_SAFE = '_'.charCodeAt(0)
 
 	function decode (elt) {
 		var code = elt.charCodeAt(0)
-		if (code === PLUS)
+		if (code === PLUS ||
+		    code === PLUS_URL_SAFE)
 			return 62 // '+'
-		if (code === SLASH)
+		if (code === SLASH ||
+		    code === SLASH_URL_SAFE)
 			return 63 // '/'
 		if (code < NUMBER)
 			return -1 //no match
@@ -116,6 +119,6 @@ var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
 		return output
 	}
 
-	module.exports.toByteArray = b64ToByteArray
-	module.exports.fromByteArray = uint8ToBase64
-}())
+	exports.toByteArray = b64ToByteArray
+	exports.fromByteArray = uint8ToBase64
+}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json
index 5bbd9e8..82e0dca 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/package.json
@@ -5,7 +5,7 @@
   },
   "name": "base64-js",
   "description": "Base64 encoding/decoding in pure JS",
-  "version": "0.0.6",
+  "version": "0.0.8",
   "repository": {
     "type": "git",
     "url": "git://github.com/beatgammit/base64-js.git"
@@ -34,14 +34,35 @@
   "devDependencies": {
     "tape": "~2.3.2"
   },
-  "readme": "base64-js\n=========\n\n`base64-js` does basic base64 encoding/decoding in pure JS.\n\n[![build status](https://secure.travis-ci.org/beatgammit/base64-js.png)](http://travis-ci.org/beatgammit/base64-js)\n\n[![testling badge](https://ci.testling.com/beatgammit/base64-js.png)](https://ci.testling.com/beatgammit/base64-js)\n\nMany browsers already have base64 encoding/decoding functionality, but it is for text data, not all-purpose binary data.\n\nSometimes encoding/decoding binary data in the browser is useful, and that is what this module does.\n\n## install\n\nWith [npm](https://npmjs.org) do:\n\n`npm install base64-js`\n\n## methods\n\n`var base64 = require('base64-js')`\n\n`base64` has two exposed functions, `toByteArray` and `fromByteArray`, which both take a single argument.\n\n* `toByteArray` - Takes a base64 string and returns a byte array\n* `fromByteArray` - Takes a byte array and returns a base64 string\n\n## license\n\nMIT",
-  "readmeFilename": "README.md",
+  "gitHead": "b4a8a5fa9b0caeddb5ad94dd1108253d8f2a315f",
   "bugs": {
     "url": "https://github.com/beatgammit/base64-js/issues"
   },
-  "homepage": "https://github.com/beatgammit/base64-js#readme",
-  "_id": "base64-js@0.0.6",
-  "_shasum": "7b859f79f0bbbd55867ba67a7fab397e24a20947",
-  "_resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.6.tgz",
-  "_from": "base64-js@0.0.6"
+  "homepage": "https://github.com/beatgammit/base64-js",
+  "_id": "base64-js@0.0.8",
+  "_shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
+  "_from": "base64-js@0.0.8",
+  "_npmVersion": "2.1.16",
+  "_nodeVersion": "0.10.35",
+  "_npmUser": {
+    "name": "feross",
+    "email": "feross@feross.org"
+  },
+  "maintainers": [
+    {
+      "name": "beatgammit",
+      "email": "t.jameson.little@gmail.com"
+    },
+    {
+      "name": "feross",
+      "email": "feross@feross.org"
+    }
+  ],
+  "dist": {
+    "shasum": "1101e9544f4a76b1bc3b26d452ca96d7a35e7978",
+    "tarball": "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz"
+  },
+  "directories": {},
+  "_resolved": "http://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
+  "readme": "ERROR: No README data found!"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js
index 48fbba7..60b09c0 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/base64-js/test/convert.js
@@ -10,8 +10,7 @@ var test = require('tape'),
 		'sup',
 		'sup?',
 		'sup?!'
-	],
-	res;
+	];
 
 test('convert to base64 and back', function (t) {
   t.plan(checks.length);
@@ -49,4 +48,4 @@ function map (arr, callback) {
 		}
 	}
 	return res;
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md
index 149b6d3..acc8675 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/History.md
@@ -1,4 +1,15 @@
 
+1.0.2 / 2015-10-07
+==================
+
+  * use try/catch when checking `localStorage` (#3, @kumavis)
+
+1.0.1 / 2014-11-25
+==================
+
+  * browser: use `console.warn()` for deprecation calls
+  * browser: more jsdocs
+
 1.0.0 / 2014-04-30
 ==================
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js
index 9112c54..549ae2f 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/browser.js
@@ -8,7 +8,14 @@ module.exports = deprecate;
 /**
  * Mark that a method should not be used.
  * Returns a modified function which warns once by default.
- * If --no-deprecation is set, then it is a no-op.
+ *
+ * If `localStorage.noDeprecation = true` is set, then it is a no-op.
+ *
+ * If `localStorage.throwDeprecation = true` is set, then deprecated functions
+ * will throw an Error when invoked.
+ *
+ * If `localStorage.traceDeprecation = true` is set, then deprecated functions
+ * will invoke `console.trace()` instead of `console.error()`.
  *
  * @param {Function} fn - the function to deprecate
  * @param {String} msg - the string to print to the console when `fn` is invoked
@@ -29,7 +36,7 @@ function deprecate (fn, msg) {
       } else if (config('traceDeprecation')) {
         console.trace(msg);
       } else {
-        console.error(msg);
+        console.warn(msg);
       }
       warned = true;
     }
@@ -48,7 +55,12 @@ function deprecate (fn, msg) {
  */
 
 function config (name) {
-  if (!global.localStorage) return false;
+  // accessing global.localStorage can trigger a DOMException in sandboxed iframes
+  try {
+    if (!global.localStorage) return false;
+  } catch (_) {
+    return false;
+  }
   var val = global.localStorage[name];
   if (null == val) return false;
   return String(val).toLowerCase() === 'true';

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json
index 7add5bf..b73c41e 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/util-deprecate/package.json
@@ -1,6 +1,6 @@
 {
   "name": "util-deprecate",
-  "version": "1.0.0",
+  "version": "1.0.2",
   "description": "The Node.js `util.deprecate()` function with browser support",
   "main": "node.js",
   "browser": "browser.js",
@@ -28,13 +28,12 @@
     "url": "https://github.com/TooTallNate/util-deprecate/issues"
   },
   "homepage": "https://github.com/TooTallNate/util-deprecate",
-  "_id": "util-deprecate@1.0.0",
-  "dist": {
-    "shasum": "3007af012c140eae26de05576ec22785cac3abf2",
-    "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz"
-  },
-  "_from": "util-deprecate@1.0.0",
-  "_npmVersion": "1.4.3",
+  "gitHead": "475fb6857cd23fafff20c1be846c1350abf8e6d4",
+  "_id": "util-deprecate@1.0.2",
+  "_shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
+  "_from": "util-deprecate@1.0.2",
+  "_npmVersion": "2.14.4",
+  "_nodeVersion": "4.1.2",
   "_npmUser": {
     "name": "tootallnate",
     "email": "nathan@tootallnate.net"
@@ -45,8 +44,11 @@
       "email": "nathan@tootallnate.net"
     }
   ],
+  "dist": {
+    "shasum": "450d4dc9fa70de732762fbd2d4a28981419a0ccf",
+    "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+  },
   "directories": {},
-  "_shasum": "3007af012c140eae26de05576ec22785cac3abf2",
-  "_resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.0.tgz",
+  "_resolved": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
   "readme": "ERROR: No README data found!"
 }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore
index 3ca4980..b6ad1f6 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/.npmignore
@@ -2,3 +2,4 @@
 src
 test
 perf
+coverage

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md
index 4883757..13a5b12 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/README.md
@@ -1,11 +1,16 @@
 # xmlbuilder-js
 
-An XML builder for [node.js](http://nodejs.org/) similar to 
-[java-xmlbuilder](http://code.google.com/p/java-xmlbuilder/).
+An XML builder for [node.js](https://nodejs.org/) similar to 
+[java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder).
 
-[![NPM version](https://badge.fury.io/js/xmlbuilder.png)](http://badge.fury.io/js/xmlbuilder)
-[![Build Status](https://secure.travis-ci.org/oozcitak/xmlbuilder-js.png)](http://travis-ci.org/oozcitak/xmlbuilder-js)
-[![Dependency Status](https://david-dm.org/oozcitak/xmlbuilder-js.png)](https://david-dm.org/oozcitak/xmlbuilder-js)
+[![License](http://img.shields.io/npm/l/xmlbuilder.svg?style=flat-square)](http://opensource.org/licenses/MIT)
+[![NPM Version](http://img.shields.io/npm/v/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)
+[![NPM Downloads](https://img.shields.io/npm/dm/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)
+
+[![Build Status](http://img.shields.io/travis/oozcitak/xmlbuilder-js.svg?style=flat-square)](http://travis-ci.org/oozcitak/xmlbuilder-js)
+[![Dependency Status](http://img.shields.io/david/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)
+[![Dev Dependency Status](http://img.shields.io/david/dev/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)
+[![Code Coverage](https://img.shields.io/coveralls/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://coveralls.io/github/oozcitak/xmlbuilder-js)
 
 ### Installation:
 
@@ -18,7 +23,7 @@ npm install xmlbuilder
 ``` js
 var builder = require('xmlbuilder');
 var xml = builder.create('root')
-  .ele('xmlbuilder', {'for': 'node-js'})
+  .ele('xmlbuilder')
     .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')
   .end({ pretty: true});
     
@@ -30,7 +35,7 @@ will result in:
 ``` xml
 <?xml version="1.0"?>
 <root>
-  <xmlbuilder for="node-js">
+  <xmlbuilder>
     <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
   </xmlbuilder>
 </root>
@@ -42,10 +47,9 @@ It is also possible to convert objects into nodes:
 builder.create({
   root: {
     xmlbuilder: {
-      '@for': 'node-js', // attributes start with @
       repo: {
-        '@type': 'git',
-        '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // #text denotes element text
+        '@type': 'git', // attributes start with @
+        '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js
index a83ffec..247c9d1 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLAttribute.js
@@ -1,24 +1,24 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLAttribute, _;
+  var XMLAttribute, create;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   module.exports = XMLAttribute = (function() {
     function XMLAttribute(parent, name, value) {
       this.stringify = parent.stringify;
       if (name == null) {
-        throw new Error("Missing attribute name");
+        throw new Error("Missing attribute name of element " + parent.name);
       }
       if (value == null) {
-        throw new Error("Missing attribute value");
+        throw new Error("Missing attribute value for attribute " + name + " of element " + parent.name);
       }
       this.name = this.stringify.attName(name);
       this.value = this.stringify.attValue(value);
     }
 
     XMLAttribute.prototype.clone = function() {
-      return _.create(XMLAttribute.prototype, this);
+      return create(XMLAttribute.prototype, this);
     };
 
     XMLAttribute.prototype.toString = function(options, level) {

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js
index 063d6db..4282833 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLBuilder.js
@@ -1,8 +1,6 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier, _;
-
-  _ = require('lodash-node');
+  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier;
 
   XMLStringifier = require('./XMLStringifier');
 
@@ -41,14 +39,15 @@
     };
 
     XMLBuilder.prototype.end = function(options) {
-      return toString(options);
+      return this.toString(options);
     };
 
     XMLBuilder.prototype.toString = function(options) {
-      var indent, newline, pretty, r;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       r = '';
       if (this.xmldec != null) {
         r += this.xmldec.toString(options);

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js
index c729a3f..00002f1 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLCData.js
@@ -1,15 +1,15 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLCData, XMLNode, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLCData, XMLNode, create,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   XMLNode = require('./XMLNode');
 
-  module.exports = XMLCData = (function(_super) {
-    __extends(XMLCData, _super);
+  module.exports = XMLCData = (function(superClass) {
+    extend(XMLCData, superClass);
 
     function XMLCData(parent, text) {
       XMLCData.__super__.constructor.call(this, parent);
@@ -20,16 +20,17 @@
     }
 
     XMLCData.prototype.clone = function() {
-      return _.create(XMLCData.prototype, this);
+      return create(XMLCData.prototype, this);
     };
 
     XMLCData.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js
index d89cc8f..ca23e95 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLComment.js
@@ -1,15 +1,15 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLComment, XMLNode, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLComment, XMLNode, create,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   XMLNode = require('./XMLNode');
 
-  module.exports = XMLComment = (function(_super) {
-    __extends(XMLComment, _super);
+  module.exports = XMLComment = (function(superClass) {
+    extend(XMLComment, superClass);
 
     function XMLComment(parent, text) {
       XMLComment.__super__.constructor.call(this, parent);
@@ -20,16 +20,17 @@
     }
 
     XMLComment.prototype.clone = function() {
-      return _.create(XMLComment.prototype, this);
+      return create(XMLComment.prototype, this);
     };
 
     XMLComment.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
index 37e2fa7..62e6d8a 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
@@ -1,8 +1,8 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDTDAttList, _;
+  var XMLDTDAttList, create;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   module.exports = XMLDTDAttList = (function() {
     function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {
@@ -35,17 +35,14 @@
       this.defaultValueType = defaultValueType;
     }
 
-    XMLDTDAttList.prototype.clone = function() {
-      return _.create(XMLDTDAttList.prototype, this);
-    };
-
     XMLDTDAttList.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
index 548eed4..2d155e2 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
@@ -1,8 +1,8 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDTDElement, _;
+  var XMLDTDElement, create;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   module.exports = XMLDTDElement = (function() {
     function XMLDTDElement(parent, name, value) {
@@ -13,24 +13,21 @@
       if (!value) {
         value = '(#PCDATA)';
       }
-      if (_.isArray(value)) {
+      if (Array.isArray(value)) {
         value = '(' + value.join(',') + ')';
       }
       this.name = this.stringify.eleName(name);
       this.value = this.stringify.dtdElementValue(value);
     }
 
-    XMLDTDElement.prototype.clone = function() {
-      return _.create(XMLDTDElement.prototype, this);
-    };
-
     XMLDTDElement.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
index 205c948..3201d19 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
@@ -1,8 +1,10 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDTDEntity, _;
+  var XMLDTDEntity, create, isObject;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
+
+  isObject = require('lodash/lang/isObject');
 
   module.exports = XMLDTDEntity = (function() {
     function XMLDTDEntity(parent, pe, name, value) {
@@ -15,7 +17,7 @@
       }
       this.pe = !!pe;
       this.name = this.stringify.eleName(name);
-      if (!_.isObject(value)) {
+      if (!isObject(value)) {
         this.value = this.stringify.dtdEntityValue(value);
       } else {
         if (!value.pubID && !value.sysID) {
@@ -39,17 +41,14 @@
       }
     }
 
-    XMLDTDEntity.prototype.clone = function() {
-      return _.create(XMLDTDEntity.prototype, this);
-    };
-
     XMLDTDEntity.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
index 94b0cb6..cfbccf4 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
@@ -1,8 +1,8 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDTDNotation, _;
+  var XMLDTDNotation, create;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   module.exports = XMLDTDNotation = (function() {
     function XMLDTDNotation(parent, name, value) {
@@ -22,17 +22,14 @@
       }
     }
 
-    XMLDTDNotation.prototype.clone = function() {
-      return _.create(XMLDTDNotation.prototype, this);
-    };
-
     XMLDTDNotation.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
index a8ea575..b2d8435 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
@@ -1,28 +1,28 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDeclaration, XMLNode, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLDeclaration, XMLNode, create, isObject,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
+
+  isObject = require('lodash/lang/isObject');
 
   XMLNode = require('./XMLNode');
 
-  module.exports = XMLDeclaration = (function(_super) {
-    __extends(XMLDeclaration, _super);
+  module.exports = XMLDeclaration = (function(superClass) {
+    extend(XMLDeclaration, superClass);
 
     function XMLDeclaration(parent, version, encoding, standalone) {
-      var _ref;
+      var ref;
       XMLDeclaration.__super__.constructor.call(this, parent);
-      if (_.isObject(version)) {
-        _ref = version, version = _ref.version, encoding = _ref.encoding, standalone = _ref.standalone;
+      if (isObject(version)) {
+        ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;
       }
       if (!version) {
         version = '1.0';
       }
-      if (version != null) {
-        this.version = this.stringify.xmlVersion(version);
-      }
+      this.version = this.stringify.xmlVersion(version);
       if (encoding != null) {
         this.encoding = this.stringify.xmlEncoding(encoding);
       }
@@ -31,25 +31,20 @@
       }
     }
 
-    XMLDeclaration.prototype.clone = function() {
-      return _.create(XMLDeclaration.prototype, this);
-    };
-
     XMLDeclaration.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;
       }
       r += '<?xml';
-      if (this.version != null) {
-        r += ' version="' + this.version + '"';
-      }
+      r += ' version="' + this.version + '"';
       if (this.encoding != null) {
         r += ' encoding="' + this.encoding + '"';
       }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js
index d360353..eec6f36 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLDocType.js
@@ -1,20 +1,36 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLDocType, _;
+  var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLProcessingInstruction, create, isObject;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
+
+  isObject = require('lodash/lang/isObject');
+
+  XMLCData = require('./XMLCData');
+
+  XMLComment = require('./XMLComment');
+
+  XMLDTDAttList = require('./XMLDTDAttList');
+
+  XMLDTDEntity = require('./XMLDTDEntity');
+
+  XMLDTDElement = require('./XMLDTDElement');
+
+  XMLDTDNotation = require('./XMLDTDNotation');
+
+  XMLProcessingInstruction = require('./XMLProcessingInstruction');
 
   module.exports = XMLDocType = (function() {
     function XMLDocType(parent, pubID, sysID) {
-      var _ref, _ref1;
+      var ref, ref1;
       this.documentObject = parent;
       this.stringify = this.documentObject.stringify;
       this.children = [];
-      if (_.isObject(pubID)) {
-        _ref = pubID, pubID = _ref.pubID, sysID = _ref.sysID;
+      if (isObject(pubID)) {
+        ref = pubID, pubID = ref.pubID, sysID = ref.sysID;
       }
       if (sysID == null) {
-        _ref1 = [pubID, sysID], sysID = _ref1[0], pubID = _ref1[1];
+        ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1];
       }
       if (pubID != null) {
         this.pubID = this.stringify.dtdPubID(pubID);
@@ -24,69 +40,57 @@
       }
     }
 
-    XMLDocType.prototype.clone = function() {
-      return _.create(XMLDocType.prototype, this);
-    };
-
     XMLDocType.prototype.element = function(name, value) {
-      var XMLDTDElement, child;
-      XMLDTDElement = require('./XMLDTDElement');
+      var child;
       child = new XMLDTDElement(this, name, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {
-      var XMLDTDAttList, child;
-      XMLDTDAttList = require('./XMLDTDAttList');
+      var child;
       child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.entity = function(name, value) {
-      var XMLDTDEntity, child;
-      XMLDTDEntity = require('./XMLDTDEntity');
+      var child;
       child = new XMLDTDEntity(this, false, name, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.pEntity = function(name, value) {
-      var XMLDTDEntity, child;
-      XMLDTDEntity = require('./XMLDTDEntity');
+      var child;
       child = new XMLDTDEntity(this, true, name, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.notation = function(name, value) {
-      var XMLDTDNotation, child;
-      XMLDTDNotation = require('./XMLDTDNotation');
+      var child;
       child = new XMLDTDNotation(this, name, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
+      var child;
       child = new XMLCData(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
+      var child;
       child = new XMLComment(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLDocType.prototype.instruction = function(target, value) {
-      var XMLProcessingInstruction, child;
-      XMLProcessingInstruction = require('./XMLProcessingInstruction');
+      var child;
       child = new XMLProcessingInstruction(this, target, value);
       this.children.push(child);
       return this;
@@ -101,12 +105,13 @@
     };
 
     XMLDocType.prototype.toString = function(options, level) {
-      var child, indent, newline, pretty, r, space, _i, _len, _ref;
+      var child, i, indent, len, newline, offset, pretty, r, ref, ref1, ref2, ref3, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;
@@ -122,9 +127,9 @@
         if (pretty) {
           r += newline;
         }
-        _ref = this.children;
-        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-          child = _ref[_i];
+        ref3 = this.children;
+        for (i = 0, len = ref3.length; i < len; i++) {
+          child = ref3[i];
           r += child.toString(options, level + 1);
         }
         r += ']';

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js
index 28a5c81..d5814c8 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLElement.js
@@ -1,10 +1,16 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLAttribute, XMLElement, XMLNode, XMLProcessingInstruction, create, every, isFunction, isObject,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
+
+  isObject = require('lodash/lang/isObject');
+
+  isFunction = require('lodash/lang/isFunction');
+
+  every = require('lodash/collection/every');
 
   XMLNode = require('./XMLNode');
 
@@ -12,8 +18,8 @@
 
   XMLProcessingInstruction = require('./XMLProcessingInstruction');
 
-  module.exports = XMLElement = (function(_super) {
-    __extends(XMLElement, _super);
+  module.exports = XMLElement = (function(superClass) {
+    extend(XMLElement, superClass);
 
     function XMLElement(parent, name, attributes) {
       XMLElement.__super__.constructor.call(this, parent);
@@ -30,19 +36,22 @@
     }
 
     XMLElement.prototype.clone = function() {
-      var att, attName, clonedSelf, pi, _i, _len, _ref, _ref1;
-      clonedSelf = _.create(XMLElement.prototype, this);
+      var att, attName, clonedSelf, i, len, pi, ref, ref1;
+      clonedSelf = create(XMLElement.prototype, this);
+      if (clonedSelf.isRoot) {
+        clonedSelf.documentObject = null;
+      }
       clonedSelf.attributes = {};
-      _ref = this.attributes;
-      for (attName in _ref) {
-        if (!__hasProp.call(_ref, attName)) continue;
-        att = _ref[attName];
+      ref = this.attributes;
+      for (attName in ref) {
+        if (!hasProp.call(ref, attName)) continue;
+        att = ref[attName];
         clonedSelf.attributes[attName] = att.clone();
       }
       clonedSelf.instructions = [];
-      _ref1 = this.instructions;
-      for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
-        pi = _ref1[_i];
+      ref1 = this.instructions;
+      for (i = 0, len = ref1.length; i < len; i++) {
+        pi = ref1[i];
         clonedSelf.instructions.push(pi.clone());
       }
       clonedSelf.children = [];
@@ -57,14 +66,17 @@
 
     XMLElement.prototype.attribute = function(name, value) {
       var attName, attValue;
-      if (_.isObject(name)) {
+      if (name != null) {
+        name = name.valueOf();
+      }
+      if (isObject(name)) {
         for (attName in name) {
-          if (!__hasProp.call(name, attName)) continue;
+          if (!hasProp.call(name, attName)) continue;
           attValue = name[attName];
           this.attribute(attName, attValue);
         }
       } else {
-        if (_.isFunction(value)) {
+        if (isFunction(value)) {
           value = value.apply();
         }
         if (!this.options.skipNullAttributes || (value != null)) {
@@ -75,13 +87,14 @@
     };
 
     XMLElement.prototype.removeAttribute = function(name) {
-      var attName, _i, _len;
+      var attName, i, len;
       if (name == null) {
         throw new Error("Missing attribute name");
       }
-      if (_.isArray(name)) {
-        for (_i = 0, _len = name.length; _i < _len; _i++) {
-          attName = name[_i];
+      name = name.valueOf();
+      if (Array.isArray(name)) {
+        for (i = 0, len = name.length; i < len; i++) {
+          attName = name[i];
           delete this.attributes[attName];
         }
       } else {
@@ -91,20 +104,26 @@
     };
 
     XMLElement.prototype.instruction = function(target, value) {
-      var insTarget, insValue, instruction, _i, _len;
-      if (_.isArray(target)) {
-        for (_i = 0, _len = target.length; _i < _len; _i++) {
-          insTarget = target[_i];
+      var i, insTarget, insValue, instruction, len;
+      if (target != null) {
+        target = target.valueOf();
+      }
+      if (value != null) {
+        value = value.valueOf();
+      }
+      if (Array.isArray(target)) {
+        for (i = 0, len = target.length; i < len; i++) {
+          insTarget = target[i];
           this.instruction(insTarget);
         }
-      } else if (_.isObject(target)) {
+      } else if (isObject(target)) {
         for (insTarget in target) {
-          if (!__hasProp.call(target, insTarget)) continue;
+          if (!hasProp.call(target, insTarget)) continue;
           insValue = target[insTarget];
           this.instruction(insTarget, insValue);
         }
       } else {
-        if (_.isFunction(value)) {
+        if (isFunction(value)) {
           value = value.apply();
         }
         instruction = new XMLProcessingInstruction(this, target, value);
@@ -114,29 +133,32 @@
     };
 
     XMLElement.prototype.toString = function(options, level) {
-      var att, child, indent, instruction, name, newline, pretty, r, space, _i, _j, _len, _len1, _ref, _ref1, _ref2;
+      var att, child, i, indent, instruction, j, len, len1, name, newline, offset, pretty, r, ref, ref1, ref2, ref3, ref4, ref5, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
-      _ref = this.instructions;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        instruction = _ref[_i];
-        r += instruction.toString(options, level + 1);
+      ref3 = this.instructions;
+      for (i = 0, len = ref3.length; i < len; i++) {
+        instruction = ref3[i];
+        r += instruction.toString(options, level);
       }
       if (pretty) {
         r += space;
       }
       r += '<' + this.name;
-      _ref1 = this.attributes;
-      for (name in _ref1) {
-        if (!__hasProp.call(_ref1, name)) continue;
-        att = _ref1[name];
+      ref4 = this.attributes;
+      for (name in ref4) {
+        if (!hasProp.call(ref4, name)) continue;
+        att = ref4[name];
         r += att.toString(options);
       }
-      if (this.children.length === 0) {
+      if (this.children.length === 0 || every(this.children, function(e) {
+        return e.value === '';
+      })) {
         r += '/>';
         if (pretty) {
           r += newline;
@@ -151,9 +173,9 @@
         if (pretty) {
           r += newline;
         }
-        _ref2 = this.children;
-        for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
-          child = _ref2[_j];
+        ref5 = this.children;
+        for (j = 0, len1 = ref5.length; j < len1; j++) {
+          child = ref5[j];
           r += child.toString(options, level + 1);
         }
         if (pretty) {

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js
index 1551647..592545a 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLNode.js
@@ -1,58 +1,88 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLNode, _,
-    __hasProp = {}.hasOwnProperty;
+  var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLRaw, XMLText, isEmpty, isFunction, isObject,
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  isObject = require('lodash/lang/isObject');
+
+  isFunction = require('lodash/lang/isFunction');
+
+  isEmpty = require('lodash/lang/isEmpty');
+
+  XMLElement = null;
+
+  XMLCData = null;
+
+  XMLComment = null;
+
+  XMLDeclaration = null;
+
+  XMLDocType = null;
+
+  XMLRaw = null;
+
+  XMLText = null;
 
   module.exports = XMLNode = (function() {
     function XMLNode(parent) {
       this.parent = parent;
       this.options = this.parent.options;
       this.stringify = this.parent.stringify;
+      if (XMLElement === null) {
+        XMLElement = require('./XMLElement');
+        XMLCData = require('./XMLCData');
+        XMLComment = require('./XMLComment');
+        XMLDeclaration = require('./XMLDeclaration');
+        XMLDocType = require('./XMLDocType');
+        XMLRaw = require('./XMLRaw');
+        XMLText = require('./XMLText');
+      }
     }
 
-    XMLNode.prototype.clone = function() {
-      throw new Error("Cannot clone generic XMLNode");
-    };
-
     XMLNode.prototype.element = function(name, attributes, text) {
-      var item, key, lastChild, val, _i, _len, _ref;
+      var childNode, item, j, k, key, lastChild, len, len1, ref, val;
       lastChild = null;
       if (attributes == null) {
         attributes = {};
       }
-      if (!_.isObject(attributes)) {
-        _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
+      attributes = attributes.valueOf();
+      if (!isObject(attributes)) {
+        ref = [attributes, text], text = ref[0], attributes = ref[1];
+      }
+      if (name != null) {
+        name = name.valueOf();
       }
-      if (_.isArray(name)) {
-        for (_i = 0, _len = name.length; _i < _len; _i++) {
-          item = name[_i];
+      if (Array.isArray(name)) {
+        for (j = 0, len = name.length; j < len; j++) {
+          item = name[j];
           lastChild = this.element(item);
         }
-      } else if (_.isFunction(name)) {
+      } else if (isFunction(name)) {
         lastChild = this.element(name.apply());
-      } else if (_.isObject(name)) {
+      } else if (isObject(name)) {
         for (key in name) {
-          if (!__hasProp.call(name, key)) continue;
+          if (!hasProp.call(name, key)) continue;
           val = name[key];
-          if (!(val != null)) {
-            continue;
-          }
-          if (_.isFunction(val)) {
+          if (isFunction(val)) {
             val = val.apply();
           }
+          if ((isObject(val)) && (isEmpty(val))) {
+            val = null;
+          }
           if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {
             lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);
           } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && key.indexOf(this.stringify.convertPIKey) === 0) {
             lastChild = this.instruction(key.substr(this.stringify.convertPIKey.length), val);
-          } else if (_.isObject(val)) {
-            if (!this.options.ignoreDecorators && this.stringify.convertListKey && key.indexOf(this.stringify.convertListKey) === 0 && _.isArray(val)) {
-              lastChild = this.element(val);
-            } else {
-              lastChild = this.element(key);
-              lastChild.element(val);
+          } else if (Array.isArray(val)) {
+            for (k = 0, len1 = val.length; k < len1; k++) {
+              item = val[k];
+              childNode = {};
+              childNode[key] = item;
+              lastChild = this.element(childNode);
             }
+          } else if (isObject(val)) {
+            lastChild = this.element(key);
+            lastChild.element(val);
           } else {
             lastChild = this.element(key, val);
           }
@@ -101,24 +131,27 @@
     };
 
     XMLNode.prototype.remove = function() {
-      var i, _ref;
+      var i, ref;
       if (this.isRoot) {
         throw new Error("Cannot remove the root element");
       }
       i = this.parent.children.indexOf(this);
-      [].splice.apply(this.parent.children, [i, i - i + 1].concat(_ref = [])), _ref;
+      [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref = [])), ref;
       return this.parent;
     };
 
     XMLNode.prototype.node = function(name, attributes, text) {
-      var XMLElement, child, _ref;
+      var child, ref;
+      if (name != null) {
+        name = name.valueOf();
+      }
       if (attributes == null) {
         attributes = {};
       }
-      if (!_.isObject(attributes)) {
-        _ref = [attributes, text], text = _ref[0], attributes = _ref[1];
+      attributes = attributes.valueOf();
+      if (!isObject(attributes)) {
+        ref = [attributes, text], text = ref[0], attributes = ref[1];
       }
-      XMLElement = require('./XMLElement');
       child = new XMLElement(this, name, attributes);
       if (text != null) {
         child.text(text);
@@ -128,50 +161,44 @@
     };
 
     XMLNode.prototype.text = function(value) {
-      var XMLText, child;
-      XMLText = require('./XMLText');
+      var child;
       child = new XMLText(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLNode.prototype.cdata = function(value) {
-      var XMLCData, child;
-      XMLCData = require('./XMLCData');
+      var child;
       child = new XMLCData(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLNode.prototype.comment = function(value) {
-      var XMLComment, child;
-      XMLComment = require('./XMLComment');
+      var child;
       child = new XMLComment(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLNode.prototype.raw = function(value) {
-      var XMLRaw, child;
-      XMLRaw = require('./XMLRaw');
+      var child;
       child = new XMLRaw(this, value);
       this.children.push(child);
       return this;
     };
 
     XMLNode.prototype.declaration = function(version, encoding, standalone) {
-      var XMLDeclaration, doc, xmldec;
+      var doc, xmldec;
       doc = this.document();
-      XMLDeclaration = require('./XMLDeclaration');
       xmldec = new XMLDeclaration(doc, version, encoding, standalone);
       doc.xmldec = xmldec;
       return doc.root();
     };
 
     XMLNode.prototype.doctype = function(pubID, sysID) {
-      var XMLDocType, doc, doctype;
+      var doc, doctype;
       doc = this.document();
-      XMLDocType = require('./XMLDocType');
       doctype = new XMLDocType(doc, pubID, sysID);
       doc.doctype = doctype;
       return doctype;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
index bf85ed3..f5d8c6c 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
@@ -1,8 +1,8 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLProcessingInstruction, _;
+  var XMLProcessingInstruction, create;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   module.exports = XMLProcessingInstruction = (function() {
     function XMLProcessingInstruction(parent, target, value) {
@@ -17,16 +17,17 @@
     }
 
     XMLProcessingInstruction.prototype.clone = function() {
-      return _.create(XMLProcessingInstruction.prototype, this);
+      return create(XMLProcessingInstruction.prototype, this);
     };
 
     XMLProcessingInstruction.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js
index 9761c42..499d0e2 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLRaw.js
@@ -1,15 +1,15 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLNode, XMLRaw, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLNode, XMLRaw, create,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   XMLNode = require('./XMLNode');
 
-  module.exports = XMLRaw = (function(_super) {
-    __extends(XMLRaw, _super);
+  module.exports = XMLRaw = (function(superClass) {
+    extend(XMLRaw, superClass);
 
     function XMLRaw(parent, text) {
       XMLRaw.__super__.constructor.call(this, parent);
@@ -20,16 +20,17 @@
     }
 
     XMLRaw.prototype.clone = function() {
-      return _.create(XMLRaw.prototype, this);
+      return create(XMLRaw.prototype, this);
     };
 
     XMLRaw.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js
index 460b626..f0ab1fc 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLStringifier.js
@@ -1,18 +1,18 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
   var XMLStringifier,
-    __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
-    __hasProp = {}.hasOwnProperty;
+    bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
+    hasProp = {}.hasOwnProperty;
 
   module.exports = XMLStringifier = (function() {
     function XMLStringifier(options) {
-      this.assertLegalChar = __bind(this.assertLegalChar, this);
-      var key, value, _ref;
+      this.assertLegalChar = bind(this.assertLegalChar, this);
+      var key, ref, value;
       this.allowSurrogateChars = options != null ? options.allowSurrogateChars : void 0;
-      _ref = (options != null ? options.stringify : void 0) || {};
-      for (key in _ref) {
-        if (!__hasProp.call(_ref, key)) continue;
-        value = _ref[key];
+      ref = (options != null ? options.stringify : void 0) || {};
+      for (key in ref) {
+        if (!hasProp.call(ref, key)) continue;
+        value = ref[key];
         this[key] = value;
       }
     }
@@ -24,7 +24,7 @@
 
     XMLStringifier.prototype.eleText = function(val) {
       val = '' + val || '';
-      return this.assertLegalChar(this.escape(val));
+      return this.assertLegalChar(this.elEscape(val));
     };
 
     XMLStringifier.prototype.cdata = function(val) {
@@ -40,7 +40,7 @@
       if (val.match(/--/)) {
         throw new Error("Comment text cannot contain double-hypen: " + val);
       }
-      return this.assertLegalChar(this.escape(val));
+      return this.assertLegalChar(val);
     };
 
     XMLStringifier.prototype.raw = function(val) {
@@ -53,7 +53,7 @@
 
     XMLStringifier.prototype.attValue = function(val) {
       val = '' + val || '';
-      return this.escape(val);
+      return this.attEscape(val);
     };
 
     XMLStringifier.prototype.insTarget = function(val) {
@@ -78,8 +78,8 @@
 
     XMLStringifier.prototype.xmlEncoding = function(val) {
       val = '' + val || '';
-      if (!val.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)) {
-        throw new Error("Invalid encoding: " + options.val);
+      if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-]|-)*$/)) {
+        throw new Error("Invalid encoding: " + val);
       }
       return val;
     };
@@ -136,8 +136,6 @@
 
     XMLStringifier.prototype.convertRawKey = '#raw';
 
-    XMLStringifier.prototype.convertListKey = '#list';
-
     XMLStringifier.prototype.assertLegalChar = function(str) {
       var chars, chr;
       if (this.allowSurrogateChars) {
@@ -152,8 +150,12 @@
       return str;
     };
 
-    XMLStringifier.prototype.escape = function(str) {
-      return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&apos;').replace(/"/g, '&quot;');
+    XMLStringifier.prototype.elEscape = function(str) {
+      return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\r/g, '&#xD;');
+    };
+
+    XMLStringifier.prototype.attEscape = function(str) {
+      return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
     };
 
     return XMLStringifier;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js
index 9afe447..15973b1 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/XMLText.js
@@ -1,18 +1,17 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLNode, XMLText, _,
-    __hasProp = {}.hasOwnProperty,
-    __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
+  var XMLNode, XMLText, create,
+    extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
+    hasProp = {}.hasOwnProperty;
 
-  _ = require('lodash-node');
+  create = require('lodash/object/create');
 
   XMLNode = require('./XMLNode');
 
-  module.exports = XMLText = (function(_super) {
-    __extends(XMLText, _super);
+  module.exports = XMLText = (function(superClass) {
+    extend(XMLText, superClass);
 
     function XMLText(parent, text) {
-      this.parent = parent;
       XMLText.__super__.constructor.call(this, parent);
       if (text == null) {
         throw new Error("Missing element text");
@@ -21,16 +20,17 @@
     }
 
     XMLText.prototype.clone = function() {
-      return _.create(XMLText.prototype, this);
+      return create(XMLText.prototype, this);
     };
 
     XMLText.prototype.toString = function(options, level) {
-      var indent, newline, pretty, r, space;
+      var indent, newline, offset, pretty, r, ref, ref1, ref2, space;
       pretty = (options != null ? options.pretty : void 0) || false;
-      indent = (options != null ? options.indent : void 0) || '  ';
-      newline = (options != null ? options.newline : void 0) || '\n';
+      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
+      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
+      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
       level || (level = 0);
-      space = new Array(level + 1).join(indent);
+      space = new Array(level + offset + 1).join(indent);
       r = '';
       if (pretty) {
         r += space;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js
index cd9ac48..d345101 100644
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js
+++ b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/lib/index.js
@@ -1,13 +1,13 @@
-// Generated by CoffeeScript 1.6.3
+// Generated by CoffeeScript 1.9.1
 (function() {
-  var XMLBuilder, _;
+  var XMLBuilder, assign;
 
-  _ = require('lodash-node');
+  assign = require('lodash/object/assign');
 
   XMLBuilder = require('./XMLBuilder');
 
   module.exports.create = function(name, xmldec, doctype, options) {
-    options = _.extend({}, xmldec, doctype, options);
+    options = assign({}, xmldec, doctype, options);
     return new XMLBuilder(name, options).root();
   };
 

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/LICENSE.txt
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/LICENSE.txt b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/LICENSE.txt
deleted file mode 100644
index 49869bb..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/LICENSE.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
-Based on Underscore.js 1.5.2, copyright 2009-2013 Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/README.md
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/README.md b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/README.md
deleted file mode 100644
index 3bc410e..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/README.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# lodash-node v2.4.1
-
-A collection of [Lo-Dash](http://lodash.com/) methods as [Node.js](http://nodejs.org/) modules generated by [lodash-cli](https://npmjs.org/package/lodash-cli).
-
-## Installation & usage
-
-Using [`npm`](http://npmjs.org/):
-
-```bash
-npm i --save lodash-node
-
-{sudo} npm i -g lodash-node
-npm ln lodash-node
-```
-
-In Node.js:
-
-```js
-var _ = require('lodash-node');
-
-// or as Underscore
-var _ = require('lodash-node/underscore');
-
-// or by method category
-var collections = require('lodash-node/modern/collections');
-
-// or individual methods
-var isEqual = require('lodash-node/modern/objects/isEqual');
-var findWhere = require('lodash-node/underscore/collections/findWhere');
-```
-
-## Author
-
-| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") |
-|---|
-| [John-David Dalton](http://allyoucanleet.com/) |
-
-## Contributors
-
-| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](https://twitter.com/blainebublitz "Follow @BlaineBublitz on Twitter") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge "Follow @kitcambridge on Twitter") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") |
-|---|---|---|
-| [Blaine Bublitz](http://www.iceddev.com/) | [Kit Cambridge](http://kitcambridge.be/) | [Mathias Bynens](http://mathiasbynens.be/) |
-
-[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lodash/lodash-node/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays.js
deleted file mode 100644
index 86f6dcf..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize exports="node" -o ./compat/`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-
-module.exports = {
-  'compact': require('./arrays/compact'),
-  'difference': require('./arrays/difference'),
-  'drop': require('./arrays/rest'),
-  'findIndex': require('./arrays/findIndex'),
-  'findLastIndex': require('./arrays/findLastIndex'),
-  'first': require('./arrays/first'),
-  'flatten': require('./arrays/flatten'),
-  'head': require('./arrays/first'),
-  'indexOf': require('./arrays/indexOf'),
-  'initial': require('./arrays/initial'),
-  'intersection': require('./arrays/intersection'),
-  'last': require('./arrays/last'),
-  'lastIndexOf': require('./arrays/lastIndexOf'),
-  'object': require('./arrays/zipObject'),
-  'pull': require('./arrays/pull'),
-  'range': require('./arrays/range'),
-  'remove': require('./arrays/remove'),
-  'rest': require('./arrays/rest'),
-  'sortedIndex': require('./arrays/sortedIndex'),
-  'tail': require('./arrays/rest'),
-  'take': require('./arrays/first'),
-  'union': require('./arrays/union'),
-  'uniq': require('./arrays/uniq'),
-  'unique': require('./arrays/uniq'),
-  'unzip': require('./arrays/zip'),
-  'without': require('./arrays/without'),
-  'xor': require('./arrays/xor'),
-  'zip': require('./arrays/zip'),
-  'zipObject': require('./arrays/zipObject')
-};

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/compact.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/compact.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/compact.js
deleted file mode 100644
index f52dc22..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/compact.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize exports="node" -o ./compat/`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-
-/**
- * Creates an array with all falsey values removed. The values `false`, `null`,
- * `0`, `""`, `undefined`, and `NaN` are all falsey.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to compact.
- * @returns {Array} Returns a new array of filtered values.
- * @example
- *
- * _.compact([0, 1, false, 2, '', 3]);
- * // => [1, 2, 3]
- */
-function compact(array) {
-  var index = -1,
-      length = array ? array.length : 0,
-      result = [];
-
-  while (++index < length) {
-    var value = array[index];
-    if (value) {
-      result.push(value);
-    }
-  }
-  return result;
-}
-
-module.exports = compact;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/difference.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/difference.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/difference.js
deleted file mode 100644
index f646752..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/difference.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize exports="node" -o ./compat/`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-var baseDifference = require('../internals/baseDifference'),
-    baseFlatten = require('../internals/baseFlatten');
-
-/**
- * Creates an array excluding all values of the provided arrays using strict
- * equality for comparisons, i.e. `===`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to process.
- * @param {...Array} [values] The arrays of values to exclude.
- * @returns {Array} Returns a new array of filtered values.
- * @example
- *
- * _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
- * // => [1, 3, 4]
- */
-function difference(array) {
-  return baseDifference(array, baseFlatten(arguments, true, true, 1));
-}
-
-module.exports = difference;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findIndex.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findIndex.js
deleted file mode 100644
index cabf7c0..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findIndex.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize exports="node" -o ./compat/`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-var createCallback = require('../functions/createCallback');
-
-/**
- * This method is like `_.find` except that it returns the index of the first
- * element that passes the callback check, instead of the element itself.
- *
- * If a property name is provided for `callback` the created "_.pluck" style
- * callback will return the property value of the given element.
- *
- * If an object is provided for `callback` the created "_.where" style callback
- * will return `true` for elements that have the properties of the given object,
- * else `false`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to search.
- * @param {Function|Object|string} [callback=identity] The function called
- *  per iteration. If a property name or object is provided it will be used
- *  to create a "_.pluck" or "_.where" style callback, respectively.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36, 'blocked': false },
- *   { 'name': 'fred',    'age': 40, 'blocked': true },
- *   { 'name': 'pebbles', 'age': 1,  'blocked': false }
- * ];
- *
- * _.findIndex(characters, function(chr) {
- *   return chr.age < 20;
- * });
- * // => 2
- *
- * // using "_.where" callback shorthand
- * _.findIndex(characters, { 'age': 36 });
- * // => 0
- *
- * // using "_.pluck" callback shorthand
- * _.findIndex(characters, 'blocked');
- * // => 1
- */
-function findIndex(array, callback, thisArg) {
-  var index = -1,
-      length = array ? array.length : 0;
-
-  callback = createCallback(callback, thisArg, 3);
-  while (++index < length) {
-    if (callback(array[index], index, array)) {
-      return index;
-    }
-  }
-  return -1;
-}
-
-module.exports = findIndex;

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/603f994f/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findLastIndex.js
----------------------------------------------------------------------
diff --git a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findLastIndex.js b/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findLastIndex.js
deleted file mode 100644
index 2a74e31..0000000
--- a/node_modules/cordova-common/node_modules/plist/node_modules/xmlbuilder/node_modules/lodash-node/compat/arrays/findLastIndex.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * Lo-Dash 2.4.1 (Custom Build) <http://lodash.com/>
- * Build: `lodash modularize exports="node" -o ./compat/`
- * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <http://lodash.com/license>
- */
-var createCallback = require('../functions/createCallback');
-
-/**
- * This method is like `_.findIndex` except that it iterates over elements
- * of a `collection` from right to left.
- *
- * If a property name is provided for `callback` the created "_.pluck" style
- * callback will return the property value of the given element.
- *
- * If an object is provided for `callback` the created "_.where" style callback
- * will return `true` for elements that have the properties of the given object,
- * else `false`.
- *
- * @static
- * @memberOf _
- * @category Arrays
- * @param {Array} array The array to search.
- * @param {Function|Object|string} [callback=identity] The function called
- *  per iteration. If a property name or object is provided it will be used
- *  to create a "_.pluck" or "_.where" style callback, respectively.
- * @param {*} [thisArg] The `this` binding of `callback`.
- * @returns {number} Returns the index of the found element, else `-1`.
- * @example
- *
- * var characters = [
- *   { 'name': 'barney',  'age': 36, 'blocked': true },
- *   { 'name': 'fred',    'age': 40, 'blocked': false },
- *   { 'name': 'pebbles', 'age': 1,  'blocked': true }
- * ];
- *
- * _.findLastIndex(characters, function(chr) {
- *   return chr.age > 30;
- * });
- * // => 1
- *
- * // using "_.where" callback shorthand
- * _.findLastIndex(characters, { 'age': 36 });
- * // => 0
- *
- * // using "_.pluck" callback shorthand
- * _.findLastIndex(characters, 'blocked');
- * // => 2
- */
-function findLastIndex(array, callback, thisArg) {
-  var length = array ? array.length : 0;
-  callback = createCallback(callback, thisArg, 3);
-  while (length--) {
-    if (callback(array[length], length, array)) {
-      return length;
-    }
-  }
-  return -1;
-}
-
-module.exports = findLastIndex;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org